diff --git a/src/api/chromeApi.js b/src/api/chromeApi.js index e1bd711..348cede 100644 --- a/src/api/chromeApi.js +++ b/src/api/chromeApi.js @@ -5,18 +5,27 @@ import store from '@/store' * @param message 消息 */ export function sendChromeAPIMessage(message) { - message.type = 'api' - message.url = "https://kuajing.pinduoduo.com/" + message.url; - if (message.needMallId) { - // 如果参数中没有携带MallId,则从state中获取 - if (!message.mallId) { - message.mallId = store.state.mallId; - } + message.type = 'api' + message.url = "https://kuajing.pinduoduo.com/" + message.url; + message.anti = false + if (message.needMallId) { + // 如果参数中没有携带MallId,则从state中获取 + if (!message.mallId) { + message.mallId = store.state.mallId; } - return new Promise((resolve) => { - // @ts-ignore - chrome.runtime.sendMessage(message, resolve) - }) + } + + return new Promise((resolve) => { + // @ts-ignore + chrome.runtime.sendMessage(message, resolve) + }) +} + +export const getAntiContent = message => { + message.type = "genAnti" + return new Promise((resolve) => { + chrome.runtime.sendMessage(message, resolve) + }) } /** @@ -24,9 +33,9 @@ export function sendChromeAPIMessage(message) { * @param message 消息 */ export function sendChromeNotification(message) { - message.type = 'notify' - return new Promise((resolve) => { - // @ts-ignore - chrome.runtime.sendMessage(message, resolve) - }) -} \ No newline at end of file + message.type = 'notify' + return new Promise((resolve) => { + // @ts-ignore + chrome.runtime.sendMessage(message, resolve) + }) +} diff --git a/src/entry/genAnti.js b/src/api/genAnti.js similarity index 99% rename from src/entry/genAnti.js rename to src/api/genAnti.js index b27ddad..dd9f322 100644 --- a/src/entry/genAnti.js +++ b/src/api/genAnti.js @@ -413,7 +413,3 @@ const genAnti = function () { }() return S() } - -Promise.resolve(genAnti()).then(r => { - // console.log(r.toString()) -}) diff --git a/src/entry/background.js b/src/entry/background.js index 6f2c01d..7d8d487 100644 --- a/src/entry/background.js +++ b/src/entry/background.js @@ -1,21 +1,20 @@ /** 利用chrome的fetch来避免跨域 **/ -import {genAnti} from "@/entry/genAnti"; +import {getAntiContent} from "@/api/chromeApi"; chrome.runtime.onMessage.addListener((request, sender, sendResponse) => { if (request.type == 'api') { - new Promise((resolve, reject) => { + new Promise((resolve) => { let headers = {}; - if (request.needMallId) { headers.Mallid = request.mallId; } + if (request.anti) { + headers["Anti-Content"] = getAntiContent() + } headers['Content-Type'] = 'application/json'; headers.cookie = getCookie(); - // Promise.resolve(genAnti()).then(r => { - // headers["Anti-Content"] = r - // }) Promise.resolve().then(() => fetch(request.url, { 'headers': headers, 'method': 'POST', @@ -26,11 +25,7 @@ chrome.runtime.onMessage.addListener((request, sender, sendResponse) => { })).then((res) => { resolve(res.json()); }); - }).then((res) => { - sendResponse(res); - }); - } else if (request.type == 'init') { - fetch(request.url,{headers:{cookie: getCookie()}}).then(res => sendResponse(res.text())); + }).then(sendResponse); } else if (request.type == 'notify') { chrome.notifications.create( "" + Math.random(), { diff --git a/src/entry/content.js b/src/entry/content.js index 8b67f2b..3996903 100644 --- a/src/entry/content.js +++ b/src/entry/content.js @@ -1 +1,10 @@ -console.log('hello world content todo something~') \ No newline at end of file +console.log('hello world content todo something~') +if (window["webpackJsonp"] && location.href.indexOf("kuajing.pinduoduo.com") > -1) { + chrome.runtime.onMessage.addListener((request, sender, sendResponse) => { + if (request.type == 'genAnti') { + // window["webpackJsonp"] + sendResponse("kubbo") + } + }) +} + diff --git a/src/entry/popup.js b/src/entry/popup.js index d0a35d5..52e8ab9 100644 --- a/src/entry/popup.js +++ b/src/entry/popup.js @@ -6,7 +6,7 @@ import ElementUI from 'element-ui' import '../assets/css/element-variables.scss' import instance from '../api' import utils from '../utils' -import install from '../utils/install' +import '../utils/install' import dayjs from 'dayjs' Vue.use(ElementUI) diff --git a/src/manifest.development.json b/src/manifest.development.json index 06f1987..21f9432 100644 --- a/src/manifest.development.json +++ b/src/manifest.development.json @@ -18,7 +18,10 @@ ], "permissions": [ "cookies", - "notifications" + "notifications", + "tabs", + "scripting", + "activeTab" ], "content_scripts": [ { diff --git a/src/view/popup.vue b/src/view/popup.vue index 9e0018f..ad05268 100644 --- a/src/view/popup.vue +++ b/src/view/popup.vue @@ -20,7 +20,6 @@ export default { this.$router.push('/login') } else { this.$store.dispatch('getUserInfo'); - this.getMainEntry() sendChromeAPIMessage({url: 'bg/quiet/api/mms/userInfo', needMallId: false, data: {}}).then((res) => { if (res.errorCode == 1000000) { if (res.result.companyList[0].malInfoList.length == 1) { @@ -48,11 +47,7 @@ export default { } }, - methods: { - async getMainEntry() { - chrome.runtime.sendMessage({type: "init", url: this.$base + "main-entry"}) - } - } + methods: {} }