From ce9bb7b15b9c8ebb5b585974a83842a7c9290cca Mon Sep 17 00:00:00 2001 From: liushiwei <499672082@qq.com> Date: Thu, 12 Oct 2023 13:16:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/chromeApi.js | 17 + src/entry/background.js | 19 + src/router/index.js | 21 +- src/view/Home.vue | 2 + src/view/selection/KeywordTrack.vue | 340 ++++++++++++++++++ src/view/{product => selection}/NiubiCopy.vue | 0 src/view/selection/StoreTrack.vue | 236 ++++++++++++ src/view/selection/storetrack/Index.vue | 57 +++ .../storetrack/components/Detail.vue | 86 +++++ .../selection/storetrack/components/List.vue | 264 ++++++++++++++ 10 files changed, 1037 insertions(+), 5 deletions(-) create mode 100644 src/view/selection/KeywordTrack.vue rename src/view/{product => selection}/NiubiCopy.vue (100%) create mode 100644 src/view/selection/StoreTrack.vue create mode 100644 src/view/selection/storetrack/Index.vue create mode 100644 src/view/selection/storetrack/components/Detail.vue create mode 100644 src/view/selection/storetrack/components/List.vue diff --git a/src/api/chromeApi.js b/src/api/chromeApi.js index 0e1611f..a625c18 100644 --- a/src/api/chromeApi.js +++ b/src/api/chromeApi.js @@ -24,6 +24,23 @@ export async function sendChromeAPIMessage(message) { }) } +/** + * 向Chrome发送消息 + * @param message 消息 + */ +export async function sendTemuAPIMessage(message) { + message.type = 'temuApi' + message.url = "https://www.temu.com/" + message.url; + message.anti = message.anti || false + if (message.anti) { + message.anti = await genAnti.a() + } + return new Promise((resolve) => { + // @ts-ignore + chrome.runtime.sendMessage(message, resolve) + }) +} + /** * 向Chrome发送消息 * @param message 消息 diff --git a/src/entry/background.js b/src/entry/background.js index 99a2946..516d21c 100644 --- a/src/entry/background.js +++ b/src/entry/background.js @@ -24,6 +24,25 @@ chrome.runtime.onMessage.addListener((request, sender, sendResponse) => { resolve(res.json()); }); }).then(sendResponse); + } else if (request.type == 'temuApi') { + new Promise((resolve) => { + let headers = {}; + if (request.anti) { + headers["Anti-Content"] = request.anti + } + headers['Content-Type'] = 'application/json'; + headers.cookie = getTemuCookie(); + Promise.resolve().then(() => fetch(request.url, { + 'headers': headers, + 'method': 'POST', + 'referrerPolicy': 'no-referrer', + 'credentials': 'include', + 'body': JSON.stringify(request.data), + 'mode': 'cors' + })).then((res) => { + resolve(res.json()); + }); + }).then(sendResponse); } else if (request.type == 'temu') { new Promise((resolve) => { let headers = {}; diff --git a/src/router/index.js b/src/router/index.js index 030e335..9b6d477 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,17 +56,28 @@ const router = new VueRouter({ name: 'copyProduct', component: () => import('../view/product/CopyProduct.vue') }, - { - path: 'niubiCopy', - name: 'niubiCopy', - component: () => import('../view/product/NiubiCopy.vue') - }, { path: 'reducePrice', name: 'reducePrice', component: () => import('../view/product/ReducePrice.vue') }, + { + path: 'niubiCopy', + name: 'niubiCopy', + component: () => import('../view/selection/NiubiCopy.vue') + }, + { + path: 'storeTrack', + name: 'storeTrack', + component: () => import('../view/selection/storetrack/Index.vue') + }, + { + path: 'keywordTrack', + name: 'keywordTrack', + component: () => import('../view/selection/KeywordTrack.vue') + }, + { path: 'message', name: 'message', diff --git a/src/view/Home.vue b/src/view/Home.vue index bad5f81..66d20a2 100644 --- a/src/view/Home.vue +++ b/src/view/Home.vue @@ -72,6 +72,8 @@ 选品采集 智能复制 + 店铺跟踪 + 关键字跟踪 diff --git a/src/view/selection/KeywordTrack.vue b/src/view/selection/KeywordTrack.vue new file mode 100644 index 0000000..93b7ebf --- /dev/null +++ b/src/view/selection/KeywordTrack.vue @@ -0,0 +1,340 @@ + + + + + diff --git a/src/view/product/NiubiCopy.vue b/src/view/selection/NiubiCopy.vue similarity index 100% rename from src/view/product/NiubiCopy.vue rename to src/view/selection/NiubiCopy.vue diff --git a/src/view/selection/StoreTrack.vue b/src/view/selection/StoreTrack.vue new file mode 100644 index 0000000..97014d3 --- /dev/null +++ b/src/view/selection/StoreTrack.vue @@ -0,0 +1,236 @@ + + + + + diff --git a/src/view/selection/storetrack/Index.vue b/src/view/selection/storetrack/Index.vue new file mode 100644 index 0000000..ba93a2c --- /dev/null +++ b/src/view/selection/storetrack/Index.vue @@ -0,0 +1,57 @@ + + + + + + diff --git a/src/view/selection/storetrack/components/Detail.vue b/src/view/selection/storetrack/components/Detail.vue new file mode 100644 index 0000000..da94301 --- /dev/null +++ b/src/view/selection/storetrack/components/Detail.vue @@ -0,0 +1,86 @@ + + + + + diff --git a/src/view/selection/storetrack/components/List.vue b/src/view/selection/storetrack/components/List.vue new file mode 100644 index 0000000..3b3cedb --- /dev/null +++ b/src/view/selection/storetrack/components/List.vue @@ -0,0 +1,264 @@ + + + + +