Merge branch 'master' of https://gitee.com/three-make-money/temu-plugin
This commit is contained in:
@@ -13,6 +13,7 @@
|
||||
"crypto-js": "^4.0.0",
|
||||
"dayjs": "^1.11.9",
|
||||
"element-ui": "^2.15.13",
|
||||
"query-string": "^9.0.0",
|
||||
"spark-md5": "^3.0.2",
|
||||
"v-viewer": "^1.6.4",
|
||||
"vue": "^2.6.14",
|
||||
|
||||
162
src/api/aliExpress.js
Normal file
162
src/api/aliExpress.js
Normal file
@@ -0,0 +1,162 @@
|
||||
/**
|
||||
*
|
||||
* @param token 从cookie中获取,判断从[_m_h5_c,_m_h5_tk]中取值,优先判断第一个
|
||||
* @param appKey 取值window.mtopConfig
|
||||
* @param formData formData中的data
|
||||
* @param t 时间戳
|
||||
* @returns {*}
|
||||
*/
|
||||
|
||||
export const getSign = (token, appKey, formData, t = (new Date()).getTime()) => {
|
||||
token = token?.split("_")[0]
|
||||
console.log("获取sign的参数:", token, appKey, formData, t)
|
||||
return {
|
||||
t, sign: function (e) {
|
||||
function t(e, t) {
|
||||
return e << t | e >>> 32 - t
|
||||
}
|
||||
|
||||
function n(e, t) {
|
||||
var n, i, r, o, a;
|
||||
return r = 2147483648 & e,
|
||||
o = 2147483648 & t,
|
||||
a = (1073741823 & e) + (1073741823 & t),
|
||||
(n = 1073741824 & e) & (i = 1073741824 & t) ? 2147483648 ^ a ^ r ^ o : n | i ? 1073741824 & a ? 3221225472 ^ a ^ r ^ o : 1073741824 ^ a ^ r ^ o : a ^ r ^ o
|
||||
}
|
||||
|
||||
function i(e, i, r, o, a, s, l) {
|
||||
return e = n(e, n(n(function (e, t, n) {
|
||||
return e & t | ~e & n
|
||||
}(i, r, o), a), l)),
|
||||
n(t(e, s), i)
|
||||
}
|
||||
|
||||
function r(e, i, r, o, a, s, l) {
|
||||
return e = n(e, n(n(function (e, t, n) {
|
||||
return e & n | t & ~n
|
||||
}(i, r, o), a), l)),
|
||||
n(t(e, s), i)
|
||||
}
|
||||
|
||||
function o(e, i, r, o, a, s, l) {
|
||||
return e = n(e, n(n(function (e, t, n) {
|
||||
return e ^ t ^ n
|
||||
}(i, r, o), a), l)),
|
||||
n(t(e, s), i)
|
||||
}
|
||||
|
||||
function a(e, i, r, o, a, s, l) {
|
||||
return e = n(e, n(n(function (e, t, n) {
|
||||
return t ^ (e | ~n)
|
||||
}(i, r, o), a), l)),
|
||||
n(t(e, s), i)
|
||||
}
|
||||
|
||||
function s(e) {
|
||||
var t, n = "", i = "";
|
||||
for (t = 0; 3 >= t; t++)
|
||||
n += (i = "0" + (e >>> 8 * t & 255).toString(16)).substr(i.length - 2, 2);
|
||||
return n
|
||||
}
|
||||
|
||||
var l, u, c, d, p, f, h, g, m, v;
|
||||
for (v = function (e) {
|
||||
for (var t, n = e.length, i = n + 8, r = 16 * ((i - i % 64) / 64 + 1), o = new Array(r - 1), a = 0, s = 0; n > s;)
|
||||
a = s % 4 * 8,
|
||||
o[t = (s - s % 4) / 4] = o[t] | e.charCodeAt(s) << a,
|
||||
s++;
|
||||
return a = s % 4 * 8,
|
||||
o[t = (s - s % 4) / 4] = o[t] | 128 << a,
|
||||
o[r - 2] = n << 3,
|
||||
o[r - 1] = n >>> 29,
|
||||
o
|
||||
}(e = function (e) {
|
||||
e = e.replace(/\r\n/g, "\n");
|
||||
for (var t = "", n = 0; n < e.length; n++) {
|
||||
var i = e.charCodeAt(n);
|
||||
128 > i ? t += String.fromCharCode(i) : i > 127 && 2048 > i ? (t += String.fromCharCode(i >> 6 | 192),
|
||||
t += String.fromCharCode(63 & i | 128)) : (t += String.fromCharCode(i >> 12 | 224),
|
||||
t += String.fromCharCode(i >> 6 & 63 | 128),
|
||||
t += String.fromCharCode(63 & i | 128))
|
||||
}
|
||||
return t
|
||||
}(e)),
|
||||
f = 1732584193,
|
||||
h = 4023233417,
|
||||
g = 2562383102,
|
||||
m = 271733878,
|
||||
l = 0; l < v.length; l += 16)
|
||||
u = f,
|
||||
c = h,
|
||||
d = g,
|
||||
p = m,
|
||||
f = i(f, h, g, m, v[l], 7, 3614090360),
|
||||
m = i(m, f, h, g, v[l + 1], 12, 3905402710),
|
||||
g = i(g, m, f, h, v[l + 2], 17, 606105819),
|
||||
h = i(h, g, m, f, v[l + 3], 22, 3250441966),
|
||||
f = i(f, h, g, m, v[l + 4], 7, 4118548399),
|
||||
m = i(m, f, h, g, v[l + 5], 12, 1200080426),
|
||||
g = i(g, m, f, h, v[l + 6], 17, 2821735955),
|
||||
h = i(h, g, m, f, v[l + 7], 22, 4249261313),
|
||||
f = i(f, h, g, m, v[l + 8], 7, 1770035416),
|
||||
m = i(m, f, h, g, v[l + 9], 12, 2336552879),
|
||||
g = i(g, m, f, h, v[l + 10], 17, 4294925233),
|
||||
h = i(h, g, m, f, v[l + 11], 22, 2304563134),
|
||||
f = i(f, h, g, m, v[l + 12], 7, 1804603682),
|
||||
m = i(m, f, h, g, v[l + 13], 12, 4254626195),
|
||||
g = i(g, m, f, h, v[l + 14], 17, 2792965006),
|
||||
f = r(f, h = i(h, g, m, f, v[l + 15], 22, 1236535329), g, m, v[l + 1], 5, 4129170786),
|
||||
m = r(m, f, h, g, v[l + 6], 9, 3225465664),
|
||||
g = r(g, m, f, h, v[l + 11], 14, 643717713),
|
||||
h = r(h, g, m, f, v[l], 20, 3921069994),
|
||||
f = r(f, h, g, m, v[l + 5], 5, 3593408605),
|
||||
m = r(m, f, h, g, v[l + 10], 9, 38016083),
|
||||
g = r(g, m, f, h, v[l + 15], 14, 3634488961),
|
||||
h = r(h, g, m, f, v[l + 4], 20, 3889429448),
|
||||
f = r(f, h, g, m, v[l + 9], 5, 568446438),
|
||||
m = r(m, f, h, g, v[l + 14], 9, 3275163606),
|
||||
g = r(g, m, f, h, v[l + 3], 14, 4107603335),
|
||||
h = r(h, g, m, f, v[l + 8], 20, 1163531501),
|
||||
f = r(f, h, g, m, v[l + 13], 5, 2850285829),
|
||||
m = r(m, f, h, g, v[l + 2], 9, 4243563512),
|
||||
g = r(g, m, f, h, v[l + 7], 14, 1735328473),
|
||||
f = o(f, h = r(h, g, m, f, v[l + 12], 20, 2368359562), g, m, v[l + 5], 4, 4294588738),
|
||||
m = o(m, f, h, g, v[l + 8], 11, 2272392833),
|
||||
g = o(g, m, f, h, v[l + 11], 16, 1839030562),
|
||||
h = o(h, g, m, f, v[l + 14], 23, 4259657740),
|
||||
f = o(f, h, g, m, v[l + 1], 4, 2763975236),
|
||||
m = o(m, f, h, g, v[l + 4], 11, 1272893353),
|
||||
g = o(g, m, f, h, v[l + 7], 16, 4139469664),
|
||||
h = o(h, g, m, f, v[l + 10], 23, 3200236656),
|
||||
f = o(f, h, g, m, v[l + 13], 4, 681279174),
|
||||
m = o(m, f, h, g, v[l], 11, 3936430074),
|
||||
g = o(g, m, f, h, v[l + 3], 16, 3572445317),
|
||||
h = o(h, g, m, f, v[l + 6], 23, 76029189),
|
||||
f = o(f, h, g, m, v[l + 9], 4, 3654602809),
|
||||
m = o(m, f, h, g, v[l + 12], 11, 3873151461),
|
||||
g = o(g, m, f, h, v[l + 15], 16, 530742520),
|
||||
f = a(f, h = o(h, g, m, f, v[l + 2], 23, 3299628645), g, m, v[l], 6, 4096336452),
|
||||
m = a(m, f, h, g, v[l + 7], 10, 1126891415),
|
||||
g = a(g, m, f, h, v[l + 14], 15, 2878612391),
|
||||
h = a(h, g, m, f, v[l + 5], 21, 4237533241),
|
||||
f = a(f, h, g, m, v[l + 12], 6, 1700485571),
|
||||
m = a(m, f, h, g, v[l + 3], 10, 2399980690),
|
||||
g = a(g, m, f, h, v[l + 10], 15, 4293915773),
|
||||
h = a(h, g, m, f, v[l + 1], 21, 2240044497),
|
||||
f = a(f, h, g, m, v[l + 8], 6, 1873313359),
|
||||
m = a(m, f, h, g, v[l + 15], 10, 4264355552),
|
||||
g = a(g, m, f, h, v[l + 6], 15, 2734768916),
|
||||
h = a(h, g, m, f, v[l + 13], 21, 1309151649),
|
||||
f = a(f, h, g, m, v[l + 4], 6, 4149444226),
|
||||
m = a(m, f, h, g, v[l + 11], 10, 3174756917),
|
||||
g = a(g, m, f, h, v[l + 2], 15, 718787259),
|
||||
h = a(h, g, m, f, v[l + 9], 21, 3951481745),
|
||||
f = n(f, u),
|
||||
h = n(h, c),
|
||||
g = n(g, d),
|
||||
m = n(m, p);
|
||||
return (s(f) + s(h) + s(g) + s(m)).toLowerCase()
|
||||
}(token + "&" + t + "&" + appKey + "&" + formData)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,24 +6,24 @@ import {genAnti} from "@/api/genAnti";
|
||||
* @param message 消息
|
||||
*/
|
||||
export async function sendChromeAPIMessage(message) {
|
||||
message.type = 'api'
|
||||
if (!message.url.startsWith('http')) {
|
||||
message.url = "https://seller.kuajingmaihuo.com/" + message.url;
|
||||
message.type = 'api'
|
||||
if (!message.url.startsWith('http')) {
|
||||
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) {
|
||||
// 如果参数中没有携带MallId,则从state中获取
|
||||
if (!message.mallId) {
|
||||
message.mallId = store.state.mallId;
|
||||
}
|
||||
}
|
||||
if (message.anti) {
|
||||
message.anti = await genAnti.a()
|
||||
}
|
||||
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 消息
|
||||
*/
|
||||
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()
|
||||
message.data.anti_content = message.anti
|
||||
}
|
||||
return new Promise((resolve) => {
|
||||
// @ts-ignore
|
||||
chrome.runtime.sendMessage(message, resolve)
|
||||
})
|
||||
message.type = 'temuApi'
|
||||
message.url = "https://www.temu.com/" + message.url;
|
||||
message.anti = message.anti || false
|
||||
if (message.anti) {
|
||||
message.anti = await genAnti.a()
|
||||
message.data.anti_content = message.anti
|
||||
}
|
||||
return new Promise((resolve) => {
|
||||
// @ts-ignore
|
||||
chrome.runtime.sendMessage(message, resolve)
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -49,10 +49,10 @@ export async function sendTemuAPIMessage(message) {
|
||||
* @param message 消息
|
||||
*/
|
||||
export async function sendChromeWebReqMessage(message) {
|
||||
return new Promise((resolve) => {
|
||||
// @ts-ignore
|
||||
chrome.runtime.sendMessage(message, resolve)
|
||||
})
|
||||
return new Promise((resolve) => {
|
||||
// @ts-ignore
|
||||
chrome.runtime.sendMessage(message, resolve)
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -60,12 +60,12 @@ export async function sendChromeWebReqMessage(message) {
|
||||
* @param message 消息
|
||||
*/
|
||||
export async function sendSheinAPIMessage(message) {
|
||||
message.type = 'sheinApi'
|
||||
message.url = "https://www.shein.com/" + message.url;
|
||||
return new Promise((resolve) => {
|
||||
// @ts-ignore
|
||||
chrome.runtime.sendMessage(message, resolve)
|
||||
})
|
||||
message.type = 'sheinApi'
|
||||
message.url = "https://www.shein.com/" + message.url;
|
||||
return new Promise((resolve) => {
|
||||
// @ts-ignore
|
||||
chrome.runtime.sendMessage(message, resolve)
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -73,9 +73,22 @@ export async function sendSheinAPIMessage(message) {
|
||||
* @param message 消息
|
||||
*/
|
||||
export function sendChromeNotification(message) {
|
||||
message.type = 'notify'
|
||||
return new Promise((resolve) => {
|
||||
// @ts-ignore
|
||||
chrome.runtime.sendMessage(message, resolve)
|
||||
})
|
||||
}
|
||||
message.type = 'notify'
|
||||
return new Promise((resolve) => {
|
||||
// @ts-ignore
|
||||
chrome.runtime.sendMessage(message, resolve)
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 向Chrome发送消息
|
||||
* @param message 消息
|
||||
*/
|
||||
export function sendAliexpressAPIMessage(message) {
|
||||
message.type = 'aliexpress'
|
||||
const {mtopConfig = {appKey: "12574478"}} = window
|
||||
message.appKey = message.appKey || mtopConfig.appKey
|
||||
return new Promise((resolve) => {
|
||||
chrome.runtime.sendMessage(message, resolve)
|
||||
})
|
||||
}
|
||||
|
||||
2874
src/api/cnPdd.js
2874
src/api/cnPdd.js
File diff suppressed because it is too large
Load Diff
@@ -2,6 +2,9 @@
|
||||
利用chrome的fetch来避免跨域
|
||||
**/
|
||||
|
||||
import {getSign} from "@/api/aliExpress";
|
||||
import qs from "query-string"
|
||||
|
||||
/**
|
||||
* 根据图片URL获取Blob对象
|
||||
* @param imageUrl
|
||||
@@ -23,6 +26,21 @@ 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) => {
|
||||
if (request.type == 'api') {
|
||||
let headers = {}, data;
|
||||
@@ -107,12 +125,18 @@ chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
|
||||
});
|
||||
}).then(sendResponse);
|
||||
} else if (request.type == 'aliexpress') {
|
||||
new Promise((resolve) => {
|
||||
new Promise(async (resolve) => {
|
||||
let headers = {};
|
||||
headers['Content-Type'] = 'text/html';
|
||||
headers.cookie = getAliexpressCookie();
|
||||
Promise.resolve().then(() => fetch(request.url, {
|
||||
'headers': headers, 'method': 'GET', 'referrerPolicy': 'no-referrer', 'credentials': 'include', 'mode': 'cors'
|
||||
const cookie = await getAliexpressCookie(request.url);
|
||||
const {_m_h5_c, _m_h5_tk} = cookie2Obj(cookie)
|
||||
const {query: {data, appKey}} = qs.parseUrl(request.url)
|
||||
const {formData = data} = request
|
||||
const {sign, t} = getSign(_m_h5_c || _m_h5_tk, appKey, formData)
|
||||
const url = qs.stringifyUrl({url: request.url, query: {sign, t}})
|
||||
headers.cookie = await getAliexpressCookie(url);
|
||||
Promise.resolve().then(() => fetch(url, {
|
||||
'headers': headers, 'method': 'POST', 'referrerPolicy': 'no-referrer', 'credentials': 'include', 'mode': 'cors'
|
||||
})).then((res) => {
|
||||
// 创建了一个数据读取器
|
||||
const reader = res.body.getReader();
|
||||
@@ -224,15 +248,16 @@ function getSheinCookie() {
|
||||
}
|
||||
|
||||
|
||||
function getAliexpressCookie() {
|
||||
const url = new URL("https://www.aliexpress.com/");
|
||||
function getAliexpressCookie(link = "https://csp.aliexpress.com/") {
|
||||
let cStr = '';
|
||||
chrome.cookies.getAll({domain: url.host}, (cookie) => {
|
||||
cookie.map((c) => {
|
||||
cStr += c.name + '=' + c.value + ';';
|
||||
return new Promise((resolve, reject) => {
|
||||
chrome.cookies.getAll({url: link}, (cookie) => {
|
||||
cookie.map((c) => {
|
||||
cStr += c.name + '=' + c.value + ';';
|
||||
});
|
||||
resolve(cStr);
|
||||
});
|
||||
});
|
||||
return cStr;
|
||||
})
|
||||
}
|
||||
|
||||
function formatParams(data) {
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<div class="admin">
|
||||
<div class="admin-top">
|
||||
<div class="logo">
|
||||
<img src="../assets/images/logo.png" />
|
||||
<img src="../assets/images/logo.png"/>
|
||||
<span>v{{ version }}</span>
|
||||
</div>
|
||||
<div class="admin-right">
|
||||
@@ -22,7 +22,7 @@
|
||||
<el-dropdown @command="handleClick">
|
||||
<div class="userinfo">
|
||||
<span>{{ $store.state.userInfo.name + "(" + $store.state.userInfo.phone + ")" }}</span>
|
||||
<img src="../assets/images/bottom.png" />
|
||||
<img src="../assets/images/bottom.png"/>
|
||||
</div>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<!-- <el-dropdown-item command="phone">修改手机</el-dropdown-item> -->
|
||||
@@ -37,13 +37,13 @@
|
||||
<div class="admin-main">
|
||||
<el-scrollbar class="left">
|
||||
<el-menu
|
||||
:default-active="activePath"
|
||||
:collapse-transition="true"
|
||||
unique-opened
|
||||
background-color="#545c64"
|
||||
router
|
||||
text-color="#fff"
|
||||
:collapse="isCollapse">
|
||||
:default-active="activePath"
|
||||
:collapse-transition="true"
|
||||
unique-opened
|
||||
background-color="#545c64"
|
||||
router
|
||||
text-color="#fff"
|
||||
:collapse="isCollapse">
|
||||
<el-menu-item index="/welcome">
|
||||
<i class="el-icon-monitor"></i>
|
||||
<span slot="title">工作台</span>
|
||||
@@ -152,11 +152,11 @@
|
||||
</div>
|
||||
</div>
|
||||
<el-dialog
|
||||
title="激活充值"
|
||||
:visible="$store.state.activeDlgShow"
|
||||
:close-on-click-modal="false"
|
||||
width="1200"
|
||||
:before-close="handleClose">
|
||||
title="激活充值"
|
||||
:visible="$store.state.activeDlgShow"
|
||||
:close-on-click-modal="false"
|
||||
width="1200"
|
||||
:before-close="handleClose">
|
||||
<ai-payment/>
|
||||
</el-dialog>
|
||||
|
||||
@@ -169,327 +169,340 @@
|
||||
<script>
|
||||
import {mapMutations, mapState} from 'vuex'
|
||||
import AiPayment from "@/components/AiPayment.vue";
|
||||
import {sendAliexpressAPIMessage} from "@/api/chromeApi";
|
||||
|
||||
export default {
|
||||
components: {AiPayment},
|
||||
data () {
|
||||
return {
|
||||
isCollapse: false,
|
||||
activePath: '/home',
|
||||
form: {
|
||||
mallId: this.$store.state.mallId,
|
||||
mallName: this.$store.state.mallName,
|
||||
code: ''
|
||||
},
|
||||
version: '',
|
||||
vipType: ["体验会员","月会员","半年会员","年会员","多店通用年会员"]
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
freeLogo: () => require("../assets/free.png"),
|
||||
getStateInfo() {
|
||||
if (this.$store.state.userInfo.flag == 0) {
|
||||
return '未激活';
|
||||
} else if (this.$store.state.userInfo.flag == 1) {
|
||||
if (this.$store.state.userInfo.type != 4) {
|
||||
return `(${this.$store.state.userInfo.mallName})` + this.vipType[this.$store.state.userInfo.type] + '(' + this.$store.state.userInfo.expireTime.substring(0,10) + ')';
|
||||
} else {
|
||||
return this.vipType[this.$store.state.userInfo.type] + '(' + this.$store.state.userInfo.expireTime.substring(0,10) + ')'
|
||||
}
|
||||
|
||||
} else {
|
||||
return '已过期';
|
||||
}
|
||||
export default {
|
||||
components: {AiPayment},
|
||||
data() {
|
||||
return {
|
||||
isCollapse: false,
|
||||
activePath: '/home',
|
||||
form: {
|
||||
mallId: this.$store.state.mallId,
|
||||
mallName: this.$store.state.mallName,
|
||||
code: ''
|
||||
},
|
||||
|
||||
...mapState(['mallName', 'mallList'])
|
||||
},
|
||||
|
||||
watch: {
|
||||
$route (v) {
|
||||
this.activePath = v.fullPath
|
||||
}
|
||||
},
|
||||
|
||||
created () {
|
||||
const devVersion = require('../manifest.development.json').version
|
||||
const prodVersion = require('../manifest.production.json').version
|
||||
this.version = process.env.NODE_ENV === 'production' ? prodVersion : devVersion
|
||||
this.activePath = this.$route.fullPath
|
||||
},
|
||||
|
||||
methods: {
|
||||
...mapMutations(['setActiveDlgShow']),
|
||||
handleClick (e) {
|
||||
if (e === 'logout') {
|
||||
this.$store.dispatch('SignOut', false)
|
||||
} else if (e === 'pwd') {
|
||||
this.$router.push('changePwd')
|
||||
} else if (e === 'message') {
|
||||
this.$router.push('message')
|
||||
} else if (e === 'coin') {
|
||||
this.$router.push('coinFlow')
|
||||
}
|
||||
},
|
||||
handleClose() {
|
||||
this.form.mallId = "";
|
||||
this.form.mallName = "";
|
||||
this.form.code = "";
|
||||
this.setActiveDlgShow(false)
|
||||
},
|
||||
toActive() {
|
||||
this.setActiveDlgShow(true)
|
||||
},
|
||||
getMessage(type) {
|
||||
return `你使用的是“${this.vipType[type]}”兑换券,确定兑换?`;
|
||||
},
|
||||
active() {
|
||||
this.$refs.form.validate((valid) => {
|
||||
if (valid) {
|
||||
this.$http.post(`/api/coupon/getDetail`, null, {
|
||||
params: {
|
||||
code: this.form.code
|
||||
}
|
||||
}).then(res => {
|
||||
if (res.code == 0) {
|
||||
let msg = this.getMessage(res.data.type);
|
||||
this.$confirm(msg, '温馨提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'info'
|
||||
}).then(() => {
|
||||
this.$http.post(`/api/order/upgradeByCode`, null, {
|
||||
params: {
|
||||
...this.form
|
||||
}
|
||||
}).then(res => {
|
||||
if (res.code == 0) {
|
||||
this.$message.success('激活成功')
|
||||
this.$store.dispatch('getUserInfo')
|
||||
this.setActiveDlgShow(false)
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
})
|
||||
},
|
||||
sign () {
|
||||
this.$http.post(`/api/malluser/sign`).then(res => {
|
||||
if (res.code == 0) {
|
||||
this.$message.success('签到成功')
|
||||
this.$store.dispatch('getUserInfo')
|
||||
}
|
||||
})
|
||||
},
|
||||
gotoKefu() {
|
||||
window.open('https://work.weixin.qq.com/kfid/kfcaa4208f661131eba', '_blank')
|
||||
}
|
||||
version: '',
|
||||
vipType: ["体验会员", "月会员", "半年会员", "年会员", "多店通用年会员"]
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
freeLogo: () => require("../assets/free.png"),
|
||||
getStateInfo() {
|
||||
if (this.$store.state.userInfo.flag == 0) {
|
||||
return '未激活';
|
||||
} else if (this.$store.state.userInfo.flag == 1) {
|
||||
if (this.$store.state.userInfo.type != 4) {
|
||||
return `(${this.$store.state.userInfo.mallName})` + this.vipType[this.$store.state.userInfo.type] + '(' + this.$store.state.userInfo.expireTime.substring(0, 10) + ')';
|
||||
} else {
|
||||
return this.vipType[this.$store.state.userInfo.type] + '(' + this.$store.state.userInfo.expireTime.substring(0, 10) + ')'
|
||||
}
|
||||
|
||||
} else {
|
||||
return '已过期';
|
||||
}
|
||||
},
|
||||
|
||||
...mapState(['mallName', 'mallList'])
|
||||
},
|
||||
|
||||
watch: {
|
||||
$route(v) {
|
||||
this.activePath = v.fullPath
|
||||
}
|
||||
},
|
||||
|
||||
created() {
|
||||
const devVersion = require('../manifest.development.json').version
|
||||
const prodVersion = require('../manifest.production.json').version
|
||||
this.version = process.env.NODE_ENV === 'production' ? prodVersion : devVersion
|
||||
this.activePath = this.$route.fullPath
|
||||
},
|
||||
|
||||
methods: {
|
||||
...mapMutations(['setActiveDlgShow']),
|
||||
handleClick(e) {
|
||||
if (e === 'logout') {
|
||||
this.$store.dispatch('SignOut', false)
|
||||
} else if (e === 'pwd') {
|
||||
this.$router.push('changePwd')
|
||||
} else if (e === 'message') {
|
||||
this.$router.push('message')
|
||||
} else if (e === 'coin') {
|
||||
this.$router.push('coinFlow')
|
||||
}
|
||||
},
|
||||
handleClose() {
|
||||
this.form.mallId = "";
|
||||
this.form.mallName = "";
|
||||
this.form.code = "";
|
||||
this.setActiveDlgShow(false)
|
||||
},
|
||||
toActive() {
|
||||
this.setActiveDlgShow(true)
|
||||
},
|
||||
getMessage(type) {
|
||||
return `你使用的是“${this.vipType[type]}”兑换券,确定兑换?`;
|
||||
},
|
||||
active() {
|
||||
this.$refs.form.validate((valid) => {
|
||||
if (valid) {
|
||||
this.$http.post(`/api/coupon/getDetail`, null, {
|
||||
params: {
|
||||
code: this.form.code
|
||||
}
|
||||
}).then(res => {
|
||||
if (res.code == 0) {
|
||||
let msg = this.getMessage(res.data.type);
|
||||
this.$confirm(msg, '温馨提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'info'
|
||||
}).then(() => {
|
||||
this.$http.post(`/api/order/upgradeByCode`, null, {
|
||||
params: {
|
||||
...this.form
|
||||
}
|
||||
}).then(res => {
|
||||
if (res.code == 0) {
|
||||
this.$message.success('激活成功')
|
||||
this.$store.dispatch('getUserInfo')
|
||||
this.setActiveDlgShow(false)
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
})
|
||||
},
|
||||
sign() {
|
||||
this.$http.post(`/api/malluser/sign`).then(res => {
|
||||
if (res.code == 0) {
|
||||
this.$message.success('签到成功')
|
||||
this.$store.dispatch('getUserInfo')
|
||||
}
|
||||
})
|
||||
},
|
||||
gotoKefu() {
|
||||
window.open('https://work.weixin.qq.com/kfid/kfcaa4208f661131eba', '_blank')
|
||||
},
|
||||
getAliexpressGoodsList() {
|
||||
sendAliexpressAPIMessage({
|
||||
type: "aliexpress",
|
||||
url: "https://seller-acs.aliexpress.com/h5/mtop.global.merchant.self.product.manager.render.list/1.0/?jsv=2.7.2&appKey=30267743&t=1713978403051&sign=ba2bda69b4a2695c7279d4bc05f51741&v=1.0&timeout=15000&H5Request=true&url=mtop.global.merchant.self.product.manager.render.list&__channel-id__=701301&api=mtop.global.merchant.self.product.manager.render.list&type=originaljson&dataType=json&valueType=original&x-i18n-regionID=AE&data=%7B%22channelId%22%3A%22701301%22%2C%22jsonBody%22%3A%22%7B%5C%22tab%5C%22%3A%5C%22online_product%5C%22%2C%5C%22sort%5C%22%3A%7B%7D%2C%5C%22filter%5C%22%3A%7B%5C%22queryCategory%5C%22%3Anull%2C%5C%22lowerPrice%5C%22%3Anull%2C%5C%22upperPrice%5C%22%3Anull%2C%5C%22status%5C%22%3A%5C%220%5C%22%2C%5C%22productId%5C%22%3Anull%7D%2C%5C%22pagination%5C%22%3A%7B%5C%22pageSize%5C%22%3A10%2C%5C%22current%5C%22%3A3%7D%7D%22%2C%22from%22%3A%22SELF%22%2C%22bizParam%22%3A%22%7B%5C%22version%5C%22%3A%5C%22simple%5C%22%7D%22%7D",
|
||||
}).then(res => {
|
||||
console.log(res)
|
||||
})
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
this.getAliexpressGoodsList()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.admin {
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
.admin {
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
overflow: hidden;
|
||||
background: #f4f4f4;
|
||||
|
||||
.fade-transform-leave-active,
|
||||
.fade-transform-enter-active {
|
||||
transition: all .4s;
|
||||
}
|
||||
|
||||
.fade-transform-enter {
|
||||
opacity: 0;
|
||||
transform: translateX(-20px);
|
||||
}
|
||||
|
||||
.fade-transform-leave-to {
|
||||
opacity: 0;
|
||||
transform: translateX(20px);
|
||||
}
|
||||
|
||||
.admin-main {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: calc(100% - 64px);
|
||||
overflow: hidden;
|
||||
background: #f4f4f4;
|
||||
border-top: 1px solid rgba(0, 0, 0, 0.15);
|
||||
|
||||
.fade-transform-leave-active,
|
||||
.fade-transform-enter-active {
|
||||
transition: all .4s;
|
||||
.container {
|
||||
flex: 1;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
|
||||
.container-app {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow-y: auto;
|
||||
}
|
||||
}
|
||||
|
||||
.fade-transform-enter {
|
||||
opacity: 0;
|
||||
transform: translateX(-20px);
|
||||
.left {
|
||||
width: 246px;
|
||||
height: 100%;
|
||||
background: #545c64;
|
||||
|
||||
img {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
margin-right: 10px;
|
||||
opacity: 0.8;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.admin-top {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
height: 64px;
|
||||
padding: 0 24px 0 36px;
|
||||
// box-shadow: 0px 1px 0px 0px rgba(128, 128, 128, 0.1);
|
||||
background: #fff;
|
||||
|
||||
.logo {
|
||||
display: flex;
|
||||
align-items: baseline;
|
||||
|
||||
span {
|
||||
position: relative;
|
||||
bottom: 12px;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
img {
|
||||
width: 60px;
|
||||
margin-right: 12px;
|
||||
}
|
||||
|
||||
h1 {
|
||||
line-height: 25px;
|
||||
color: #1F2635;
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-top: 1px;
|
||||
line-height: 17px;
|
||||
font-size: 12px;
|
||||
font-weight: 400;
|
||||
color: #A5A9BC;
|
||||
}
|
||||
}
|
||||
|
||||
.fade-transform-leave-to {
|
||||
opacity: 0;
|
||||
transform: translateX(20px);
|
||||
}
|
||||
|
||||
.admin-main {
|
||||
.admin-middle {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: calc(100% - 64px);
|
||||
overflow: hidden;
|
||||
border-top: 1px solid rgba(0,0,0,0.15);
|
||||
height: 64px;
|
||||
|
||||
.container {
|
||||
flex: 1;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
span {
|
||||
position: relative;
|
||||
margin-right: 60px;
|
||||
height: 64px;
|
||||
line-height: 64px;
|
||||
font-size: 16px;
|
||||
color: #1F2635;
|
||||
cursor: pointer;
|
||||
transition: all ease 0.5s;
|
||||
|
||||
.container-app {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow-y: auto;
|
||||
&.active::after {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
bottom: 9px;
|
||||
z-index: 1;
|
||||
width: 52px;
|
||||
height: 4px;
|
||||
background: #00A971;
|
||||
transform: translateX(-50%);
|
||||
content: ' ';
|
||||
}
|
||||
|
||||
&.active, &:hover {
|
||||
color: #1FBAD6;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.admin-right {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 100%;
|
||||
|
||||
.left {
|
||||
width: 246px;
|
||||
height: 100%;
|
||||
background: #545c64;
|
||||
|
||||
img {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
margin-right: 10px;
|
||||
opacity: 0.8;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.admin-top {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
height: 64px;
|
||||
padding: 0 24px 0 36px;
|
||||
// box-shadow: 0px 1px 0px 0px rgba(128, 128, 128, 0.1);
|
||||
background: #fff;
|
||||
|
||||
.logo {
|
||||
display: flex;
|
||||
align-items: baseline;
|
||||
|
||||
span {
|
||||
position: relative;
|
||||
bottom: 12px;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
img {
|
||||
width: 60px;
|
||||
margin-right: 12px;
|
||||
}
|
||||
|
||||
h1 {
|
||||
line-height: 25px;
|
||||
color: #1F2635;
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-top: 1px;
|
||||
line-height: 17px;
|
||||
font-size: 12px;
|
||||
font-weight: 400;
|
||||
color: #A5A9BC;
|
||||
}
|
||||
}
|
||||
|
||||
.admin-middle {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 64px;
|
||||
cursor: pointer;
|
||||
transition: all ease 0.3s;
|
||||
|
||||
span {
|
||||
position: relative;
|
||||
margin-right: 60px;
|
||||
height: 64px;
|
||||
line-height: 64px;
|
||||
font-size: 16px;
|
||||
color: #1F2635;
|
||||
cursor: pointer;
|
||||
transition: all ease 0.5s;
|
||||
|
||||
&.active::after {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
bottom: 9px;
|
||||
z-index: 1;
|
||||
width: 52px;
|
||||
height: 4px;
|
||||
background: #00A971;
|
||||
transform: translateX(-50%);
|
||||
content: ' ';
|
||||
}
|
||||
|
||||
&.active, &:hover {
|
||||
color: #1FBAD6;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
&:hover {
|
||||
opacity: 0.5;
|
||||
}
|
||||
}
|
||||
|
||||
.admin-right {
|
||||
.userinfo {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 100%;
|
||||
height: 56px;
|
||||
margin-left: 20px;
|
||||
cursor: pointer;
|
||||
transition: all ease 0.3s;
|
||||
|
||||
.left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
cursor: pointer;
|
||||
transition: all ease 0.3s;
|
||||
|
||||
&:hover {
|
||||
opacity: 0.5;
|
||||
}
|
||||
&:hover {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.userinfo {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 56px;
|
||||
margin-left: 20px;
|
||||
cursor: pointer;
|
||||
transition: all ease 0.3s;
|
||||
.avatar {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.avatar {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
span {
|
||||
margin-right: 8px;
|
||||
color: #1F2635;
|
||||
font-size: 14px;
|
||||
}
|
||||
span {
|
||||
margin-right: 8px;
|
||||
color: #1F2635;
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#kefu {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
bottom: 40px;
|
||||
z-index: 999;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
}
|
||||
#kefu .topBtn {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
background-color: #fff;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
border-radius: 50%;
|
||||
cursor: pointer;
|
||||
background-position: center center;
|
||||
background-repeat: no-repeat;
|
||||
background-size: 40px 40px;
|
||||
-webkit-animation: wobble 250ms infinite;
|
||||
animation: wobble 250ms infinite;
|
||||
background-image: url('data:image/svg+xml;%20charset=utf8,%3Csvg%20t%3D%221575450105478%22%20class%3D%22icon%22%20viewBox%3D%220%200%201220%201024%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20p-id%3D%222883%22%20width%3D%2248%22%20height%3D%2248%22%3E%3Cpath%20d%3D%22M609.524%20103.522c-222.89%200-403.712%20178.472-403.712%20398.78%200%20220.31%20180.823%20398.782%20403.712%20398.782%20222.889%200%20403.712-178.473%20403.712-398.781%200-220.309-180.823-398.781-403.712-398.781v48.762c196.1%200%20354.95%20156.785%20354.95%20350.019s-158.85%20350.019-354.95%20350.019-354.95-156.785-354.95-350.02c0-193.233%20158.85-350.018%20354.95-350.018v-48.762z%22%20fill%3D%22%231296db%22%20p-id%3D%222884%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M786.578%20916.34c166.45-69.217%20278.408-231.055%20278.408-414.035%200-248.026-203.847-449.219-455.457-449.219-251.619%200-455.457%20201.188-455.457%20449.22%200%2055.397%2010.152%20109.367%2029.718%20159.975%204.855%2012.56-1.39%2026.677-13.949%2031.533-12.56%204.855-26.677-1.39-31.532-13.949a490.396%20490.396%200%200%201-3.042-8.078c-1.85%200.077-3.711%200.116-5.581%200.116C58.06%20671.903%200%20614.597%200%20543.903c0-65.005%2049.09-118.69%20112.68-126.91C153.65%20182.56%20360.56%204.324%20609.528%204.324c248.962%200%20455.877%20178.24%20496.85%20412.67%2063.583%208.225%20112.669%2061.907%20112.669%20126.909%200%2070.694-58.06%20128-129.686%20128-1.89%200-3.771-0.04-5.642-0.119-47.536%20129.702-148.34%20235.841-279.493%20290.027-1.161%2033.464-29.012%2060.24-63.2%2060.24-34.925%200-63.237-27.944-63.237-62.416%200-34.471%2028.312-62.415%2063.237-62.415%2017.892%200%2034.048%207.333%2045.551%2019.12z%22%20fill%3D%22%231296db%22%20p-id%3D%222885%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M609.528%20611.405c-58.933%200-112.056-10.644-158.472-28.342-16.123-6.147-30.211-12.702-42.138-19.208-6.926-3.777-11.447-6.59-13.437-7.972-19.24-13.373-44.428%205.446-37.059%2027.688%2035.296%20106.527%20136.054%20179.913%20251.106%20179.913%20115.05%200%20215.796-73.384%20251.092-179.913%207.37-22.243-17.82-41.062-37.06-27.687-1.99%201.383-6.51%204.195-13.434%207.972-11.926%206.505-26.012%2013.06-42.133%2019.207-46.413%2017.698-99.533%2028.342-158.465%2028.342z%22%20fill%3D%22%231296db%22%20p-id%3D%222886%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E');
|
||||
}
|
||||
#kefu {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
bottom: 40px;
|
||||
z-index: 999;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
}
|
||||
|
||||
#kefu .topBtn {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
background-color: #fff;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
border-radius: 50%;
|
||||
cursor: pointer;
|
||||
background-position: center center;
|
||||
background-repeat: no-repeat;
|
||||
background-size: 40px 40px;
|
||||
-webkit-animation: wobble 250ms infinite;
|
||||
animation: wobble 250ms infinite;
|
||||
background-image: url('data:image/svg+xml;%20charset=utf8,%3Csvg%20t%3D%221575450105478%22%20class%3D%22icon%22%20viewBox%3D%220%200%201220%201024%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20p-id%3D%222883%22%20width%3D%2248%22%20height%3D%2248%22%3E%3Cpath%20d%3D%22M609.524%20103.522c-222.89%200-403.712%20178.472-403.712%20398.78%200%20220.31%20180.823%20398.782%20403.712%20398.782%20222.889%200%20403.712-178.473%20403.712-398.781%200-220.309-180.823-398.781-403.712-398.781v48.762c196.1%200%20354.95%20156.785%20354.95%20350.019s-158.85%20350.019-354.95%20350.019-354.95-156.785-354.95-350.02c0-193.233%20158.85-350.018%20354.95-350.018v-48.762z%22%20fill%3D%22%231296db%22%20p-id%3D%222884%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M786.578%20916.34c166.45-69.217%20278.408-231.055%20278.408-414.035%200-248.026-203.847-449.219-455.457-449.219-251.619%200-455.457%20201.188-455.457%20449.22%200%2055.397%2010.152%20109.367%2029.718%20159.975%204.855%2012.56-1.39%2026.677-13.949%2031.533-12.56%204.855-26.677-1.39-31.532-13.949a490.396%20490.396%200%200%201-3.042-8.078c-1.85%200.077-3.711%200.116-5.581%200.116C58.06%20671.903%200%20614.597%200%20543.903c0-65.005%2049.09-118.69%20112.68-126.91C153.65%20182.56%20360.56%204.324%20609.528%204.324c248.962%200%20455.877%20178.24%20496.85%20412.67%2063.583%208.225%20112.669%2061.907%20112.669%20126.909%200%2070.694-58.06%20128-129.686%20128-1.89%200-3.771-0.04-5.642-0.119-47.536%20129.702-148.34%20235.841-279.493%20290.027-1.161%2033.464-29.012%2060.24-63.2%2060.24-34.925%200-63.237-27.944-63.237-62.416%200-34.471%2028.312-62.415%2063.237-62.415%2017.892%200%2034.048%207.333%2045.551%2019.12z%22%20fill%3D%22%231296db%22%20p-id%3D%222885%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M609.528%20611.405c-58.933%200-112.056-10.644-158.472-28.342-16.123-6.147-30.211-12.702-42.138-19.208-6.926-3.777-11.447-6.59-13.437-7.972-19.24-13.373-44.428%205.446-37.059%2027.688%2035.296%20106.527%20136.054%20179.913%20251.106%20179.913%20115.05%200%20215.796-73.384%20251.092-179.913%207.37-22.243-17.82-41.062-37.06-27.687-1.99%201.383-6.51%204.195-13.434%207.972-11.926%206.505-26.012%2013.06-42.133%2019.207-46.413%2017.698-99.533%2028.342-158.465%2028.342z%22%20fill%3D%22%231296db%22%20p-id%3D%222886%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E');
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -69,8 +69,7 @@
|
||||
|
||||
<script>
|
||||
import AiCopyFromAliExpress from "@/components/AiCopyFromAliExpress.vue";
|
||||
import {sendChromeAPIMessage} from '@/api/chromeApi'
|
||||
import {getImageMd5} from "@/utils/image.js"
|
||||
import {sendAliexpressAPIMessage} from '@/api/chromeApi'
|
||||
|
||||
export default {
|
||||
name: 'NiubiCopy',
|
||||
@@ -138,7 +137,7 @@ export default {
|
||||
upload_sign: res4.result.signature
|
||||
}
|
||||
}))*/
|
||||
|
||||
|
||||
this.$http.post('/api/copyProduct/myPage', null, {
|
||||
params: {
|
||||
...this.search
|
||||
@@ -159,7 +158,7 @@ export default {
|
||||
this.copyFromDlgShow = false
|
||||
this.getList()
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user