接入到chromeApi当中
This commit is contained in:
@@ -6,7 +6,7 @@
|
|||||||
* @param formData formData中的data
|
* @param formData formData中的data
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export const getSign = (token, appKey, t, formData) => {
|
export const getSign = (token, appKey = "12574478", t, formData) => {
|
||||||
|
|
||||||
return function (e) {
|
return function (e) {
|
||||||
function t(e, t) {
|
function t(e, t) {
|
||||||
|
|||||||
@@ -6,24 +6,24 @@ import {genAnti} from "@/api/genAnti";
|
|||||||
* @param message 消息
|
* @param message 消息
|
||||||
*/
|
*/
|
||||||
export async function sendChromeAPIMessage(message) {
|
export async function sendChromeAPIMessage(message) {
|
||||||
message.type = 'api'
|
message.type = 'api'
|
||||||
if (!message.url.startsWith('http')) {
|
if (!message.url.startsWith('http')) {
|
||||||
message.url = "https://seller.kuajingmaihuo.com/" + message.url;
|
message.url = "https://seller.kuajingmaihuo.com/" + message.url;
|
||||||
|
}
|
||||||
|
message.anti = message.anti || false
|
||||||
|
if (message.needMallId) {
|
||||||
|
// 如果参数中没有携带MallId,则从state中获取
|
||||||
|
if (!message.mallId) {
|
||||||
|
message.mallId = store.state.mallId;
|
||||||
}
|
}
|
||||||
message.anti = message.anti || false
|
}
|
||||||
if (message.needMallId) {
|
if (message.anti) {
|
||||||
// 如果参数中没有携带MallId,则从state中获取
|
message.anti = await genAnti.a()
|
||||||
if (!message.mallId) {
|
}
|
||||||
message.mallId = store.state.mallId;
|
return new Promise((resolve) => {
|
||||||
}
|
// @ts-ignore
|
||||||
}
|
chrome.runtime.sendMessage(message, resolve)
|
||||||
if (message.anti) {
|
})
|
||||||
message.anti = await genAnti.a()
|
|
||||||
}
|
|
||||||
return new Promise((resolve) => {
|
|
||||||
// @ts-ignore
|
|
||||||
chrome.runtime.sendMessage(message, resolve)
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -31,17 +31,17 @@ export async function sendChromeAPIMessage(message) {
|
|||||||
* @param message 消息
|
* @param message 消息
|
||||||
*/
|
*/
|
||||||
export async function sendTemuAPIMessage(message) {
|
export async function sendTemuAPIMessage(message) {
|
||||||
message.type = 'temuApi'
|
message.type = 'temuApi'
|
||||||
message.url = "https://www.temu.com/" + message.url;
|
message.url = "https://www.temu.com/" + message.url;
|
||||||
message.anti = message.anti || false
|
message.anti = message.anti || false
|
||||||
if (message.anti) {
|
if (message.anti) {
|
||||||
message.anti = await genAnti.a()
|
message.anti = await genAnti.a()
|
||||||
message.data.anti_content = message.anti
|
message.data.anti_content = message.anti
|
||||||
}
|
}
|
||||||
return new Promise((resolve) => {
|
return new Promise((resolve) => {
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
chrome.runtime.sendMessage(message, resolve)
|
chrome.runtime.sendMessage(message, resolve)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -49,10 +49,10 @@ export async function sendTemuAPIMessage(message) {
|
|||||||
* @param message 消息
|
* @param message 消息
|
||||||
*/
|
*/
|
||||||
export async function sendChromeWebReqMessage(message) {
|
export async function sendChromeWebReqMessage(message) {
|
||||||
return new Promise((resolve) => {
|
return new Promise((resolve) => {
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
chrome.runtime.sendMessage(message, resolve)
|
chrome.runtime.sendMessage(message, resolve)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -60,12 +60,12 @@ export async function sendChromeWebReqMessage(message) {
|
|||||||
* @param message 消息
|
* @param message 消息
|
||||||
*/
|
*/
|
||||||
export async function sendSheinAPIMessage(message) {
|
export async function sendSheinAPIMessage(message) {
|
||||||
message.type = 'sheinApi'
|
message.type = 'sheinApi'
|
||||||
message.url = "https://www.shein.com/" + message.url;
|
message.url = "https://www.shein.com/" + message.url;
|
||||||
return new Promise((resolve) => {
|
return new Promise((resolve) => {
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
chrome.runtime.sendMessage(message, resolve)
|
chrome.runtime.sendMessage(message, resolve)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -73,9 +73,20 @@ export async function sendSheinAPIMessage(message) {
|
|||||||
* @param message 消息
|
* @param message 消息
|
||||||
*/
|
*/
|
||||||
export function sendChromeNotification(message) {
|
export function sendChromeNotification(message) {
|
||||||
message.type = 'notify'
|
message.type = 'notify'
|
||||||
return new Promise((resolve) => {
|
return new Promise((resolve) => {
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
chrome.runtime.sendMessage(message, resolve)
|
chrome.runtime.sendMessage(message, resolve)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 向Chrome发送消息
|
||||||
|
* @param message 消息
|
||||||
|
*/
|
||||||
|
export function sendAliexpressAPIMessage(message) {
|
||||||
|
message.type = 'aliexpress'
|
||||||
|
return new Promise((resolve) => {
|
||||||
|
chrome.runtime.sendMessage(message, resolve)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|||||||
@@ -2,6 +2,8 @@
|
|||||||
利用chrome的fetch来避免跨域
|
利用chrome的fetch来避免跨域
|
||||||
**/
|
**/
|
||||||
|
|
||||||
|
import {getSign} from "@/api/aliExpress";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据图片URL获取Blob对象
|
* 根据图片URL获取Blob对象
|
||||||
* @param imageUrl
|
* @param imageUrl
|
||||||
@@ -23,6 +25,23 @@ function getImageBlob(imageUrl) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 将cookie字符串转换为对象
|
||||||
|
* @param cookieString
|
||||||
|
* @returns {{}}
|
||||||
|
*/
|
||||||
|
function cookie2Obj(cookieString) {
|
||||||
|
const cookieArray = cookieString.split('; ');
|
||||||
|
const cookieObj = {};
|
||||||
|
|
||||||
|
for (let i = 0; i < cookieArray.length; i++) {
|
||||||
|
const [key, value] = cookieArray[i].split('=');
|
||||||
|
cookieObj[key] = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
return cookieObj;
|
||||||
|
}
|
||||||
|
|
||||||
chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
|
chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
|
||||||
if (request.type == 'api') {
|
if (request.type == 'api') {
|
||||||
let headers = {}, data;
|
let headers = {}, data;
|
||||||
@@ -111,8 +130,15 @@ chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
|
|||||||
let headers = {};
|
let headers = {};
|
||||||
headers['Content-Type'] = 'text/html';
|
headers['Content-Type'] = 'text/html';
|
||||||
headers.cookie = getAliexpressCookie();
|
headers.cookie = getAliexpressCookie();
|
||||||
Promise.resolve().then(() => fetch(request.url, {
|
const {_m_h5_c, _m_h5_tk} = cookie2Obj(headers.cookie)
|
||||||
'headers': headers, 'method': 'GET', 'referrerPolicy': 'no-referrer', 'credentials': 'include', 'mode': 'cors'
|
const {appKey, t, formData} = request
|
||||||
|
const sign = getSign(_m_h5_c || _m_h5_tk, appKey, t, formData)
|
||||||
|
const url = new URL(request.url)
|
||||||
|
let params = new URLSearchParams(url.search);
|
||||||
|
params.append('sign', sign)
|
||||||
|
url.search = params.toString()
|
||||||
|
Promise.resolve().then(() => fetch(url.toString(), {
|
||||||
|
'headers': headers, 'method': 'POST', 'referrerPolicy': 'no-referrer', 'credentials': 'include', 'mode': 'cors'
|
||||||
})).then((res) => {
|
})).then((res) => {
|
||||||
// 创建了一个数据读取器
|
// 创建了一个数据读取器
|
||||||
const reader = res.body.getReader();
|
const reader = res.body.getReader();
|
||||||
|
|||||||
Reference in New Issue
Block a user