260 lines
6.6 KiB
JavaScript
260 lines
6.6 KiB
JavaScript
let baseurl = 'http://192.168.6.75';
|
||
let pathname = window.location.host;
|
||
|
||
function global_dev_fun(hots) {
|
||
if (hots.includes('test')) {
|
||
baseurl = 'http://192.168.6.75';
|
||
return;
|
||
}
|
||
|
||
if (hots.includes('pre')) {
|
||
baseurl = 'http://pre.marketapi.1688sup.com';
|
||
return;
|
||
}
|
||
|
||
if (
|
||
hots.includes('1688sup') ||
|
||
hots.includes('83323') ||
|
||
hots.includes('86885') ||
|
||
hots.includes('22233')
|
||
) {
|
||
baseurl = 'https://marketapi.1688sup.com';
|
||
return;
|
||
}
|
||
}
|
||
|
||
global_dev_fun(pathname);
|
||
|
||
//统一请求
|
||
axios.interceptors.request.use((config) => {
|
||
// config.headers.Version = 'v1.3.0';
|
||
return config;
|
||
});
|
||
|
||
const req = {
|
||
//get请求
|
||
axiosGet(url, params) {
|
||
const obj = { method: 'get', url: baseurl + url, params };
|
||
var result = axios(obj)
|
||
.then(function (res) {
|
||
return res.data;
|
||
})
|
||
.catch(function (error) {
|
||
return;
|
||
});
|
||
return result;
|
||
},
|
||
|
||
//获取key列表
|
||
axiosPostgetKey(url, data) {
|
||
let result = axios({
|
||
method: 'post',
|
||
url: baseurl + url,
|
||
data: data,
|
||
header: {
|
||
'Content-type': 'application/x-www-form-urlencoded'
|
||
}
|
||
})
|
||
.then((res) => {
|
||
return res;
|
||
})
|
||
.catch((error) => {
|
||
alert('服务器错误');
|
||
return 'exception=' + error;
|
||
});
|
||
return result;
|
||
},
|
||
//post请求
|
||
axiosPost(url, data) {
|
||
let result = axios({
|
||
method: 'post',
|
||
url: baseurl + url,
|
||
data: data,
|
||
header: {
|
||
'Content-type': 'application/x-www-form-urlencoded'
|
||
}
|
||
})
|
||
.then((res) => {
|
||
return res.data;
|
||
})
|
||
.catch((error) => {
|
||
// return "exception=" + error
|
||
});
|
||
return result;
|
||
},
|
||
//put请求
|
||
axiosPut(url, data) {
|
||
let result = axios({
|
||
method: 'put',
|
||
url: baseurl + url,
|
||
data: data,
|
||
header: {
|
||
'Content-type': 'application/x-www-form-urlencoded'
|
||
}
|
||
})
|
||
.then((res) => {
|
||
return res.data;
|
||
})
|
||
.catch((error) => {
|
||
alert('服务器错误');
|
||
return 'exception=' + error;
|
||
});
|
||
return result;
|
||
}
|
||
};
|
||
|
||
//图形验证码
|
||
function captchaimg() {
|
||
let parmas = {};
|
||
let customsessionid = '';
|
||
const xhr = new XMLHttpRequest();
|
||
xhr.open('GET', baseurl + '/auth/login/verify');
|
||
// xhr.setRequestHeader('Version', 'v1.1.0');
|
||
xhr.responseType = 'arraybuffer';
|
||
xhr.onreadystatechange = function (response) {
|
||
response.header = {
|
||
Accept: 'application/json',
|
||
'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8'
|
||
};
|
||
var img = document.getElementById('captcha_img');
|
||
var byteArray = new Uint8Array(response.target.response);
|
||
var binary = '';
|
||
for (var i = 0; i < byteArray.byteLength; i++) {
|
||
binary += String.fromCharCode(byteArray[i]);
|
||
}
|
||
let str = 'data:image/png;base64,' + window.btoa(binary);
|
||
img.src = str;
|
||
customsessionid = xhr.getResponseHeader('Unique-Str');
|
||
sessionStorage.setItem('unique_str', customsessionid);
|
||
};
|
||
xhr.send();
|
||
}
|
||
|
||
/*公共方法提取 */
|
||
//!商品的各种异常状态。1是可以兑换,不作提示
|
||
//!type:1 兑换码 2:立减金 3:红包
|
||
const product_status = (status, row) => {
|
||
let obj = {
|
||
2: '还没开始哟,兑换时间为' + row.begin_time + '至' + row.end_time, //未开始
|
||
3: '当前商品兑换已结束', //作废key批次
|
||
4: '亲,仅可兑换一次哦!', //仅兑换一次
|
||
5: '当前商品兑换次数达到上限', //累计次数达到上限
|
||
6: '暂无库存,看看其他商品吧~', //无库存
|
||
7: '当前商品不可兑换', //其他商品处于兑换中
|
||
8: '当前商品正在兑换中', //已兑换次数
|
||
9: '当前商品兑换次数达到上限', //2023-04-07 全部兑换
|
||
10: '该商品暂无法兑换', //商品暂停
|
||
11: '兑换已过期,兑换时间为' + row.begin_time + '至' + row.end_time, //正常过期
|
||
15: '超过每月领取次数',
|
||
22: '您有未支付的订单'
|
||
};
|
||
if (row.type == 2) {
|
||
obj['20'] =
|
||
'该立减金商品不在生效时间范围内,生效时间为' +
|
||
row.entity.time_limit.effect_time.start_time +
|
||
'至' +
|
||
row.entity.time_limit.effect_time.end_time; //不在生效时间范围内
|
||
obj['21'] =
|
||
'该立减金商品不在领取时间段内,领取时间段为' +
|
||
row.entity.time_limit.receive_time.start_time +
|
||
'至' +
|
||
row.entity.time_limit.receive_time.end_time; //不在领取时间范围内
|
||
}
|
||
|
||
if (row.type == 3) {
|
||
obj['20'] =
|
||
'该红包商品不在生效时间范围内,生效时间为' +
|
||
row.entity.begin_time +
|
||
'至' +
|
||
row.entity.end_time; //不在生效时间范围内
|
||
obj['21'] = '该红包商品不在领取时间段内';
|
||
}
|
||
return obj[status];
|
||
};
|
||
|
||
/* 周天排序 */
|
||
function sortWeeks(weeks) {
|
||
const staticWeeks = [
|
||
{ id: 1, name: '周一' },
|
||
{ id: 2, name: '周二' },
|
||
{ id: 3, name: '周三' },
|
||
{ id: 4, name: '周四' },
|
||
{ id: 5, name: '周五' },
|
||
{ id: 6, name: '周六' },
|
||
{ id: 7, name: '周日' }
|
||
];
|
||
|
||
var _weeks = weeks
|
||
.map((item) =>
|
||
staticWeeks.filter((item1) => item1.name === item || item1.id == item)
|
||
)
|
||
.flat(Infinity)
|
||
.sort((a, b) => a.id - b.id);
|
||
|
||
//将weeks清空并将排序好的值赋给weeks
|
||
const weeksData = [];
|
||
if (isContinuityNum(_weeks.map((item) => item.id)) && _weeks.length > 1) {
|
||
weeksData.push(`${_weeks[0].name} 至 ${_weeks.slice(-1)[0].name}`);
|
||
} else {
|
||
for (var i = 0; i < _weeks.length; i++) {
|
||
weeksData.push(_weeks[i].name);
|
||
}
|
||
}
|
||
|
||
return weeksData;
|
||
}
|
||
|
||
//判断一串数字是否是连续的
|
||
function isContinuityNum(num) {
|
||
let array = [];
|
||
if (num instanceof Array) {
|
||
array = [...num];
|
||
} else {
|
||
array = Array.from(num.toString()); //转换为数组
|
||
}
|
||
|
||
var i = array[0];
|
||
var isContinuation = true;
|
||
for (var e in array) {
|
||
if (array[e] != i) {
|
||
isContinuation = false;
|
||
break;
|
||
}
|
||
i++;
|
||
}
|
||
return isContinuation;
|
||
}
|
||
|
||
//判断是不是微信
|
||
function isWx() {
|
||
var ua = window.navigator.userAgent.toLowerCase();
|
||
if (ua.match(/MicroMessenger/i) == 'micromessenger') {
|
||
return true;
|
||
}
|
||
return false;
|
||
}
|
||
|
||
//判断是不是钉钉
|
||
function isAli() {
|
||
var ua = window.navigator.userAgent.toLowerCase();
|
||
if (ua.match(/dingtalk/i) == 'dingtalk') {
|
||
return true;
|
||
}
|
||
return false;
|
||
}
|
||
|
||
//判断是不是微信小程序环境打开
|
||
function isWxminiprogram() {
|
||
const ua = navigator.userAgent.toLowerCase();
|
||
const isWeixin = ua.indexOf('micromessenger') != -1;
|
||
if (isWeixin) {
|
||
if (window.__wxjs_environment == 'miniprogram') {
|
||
return true;
|
||
} else {
|
||
return false;
|
||
}
|
||
} else {
|
||
return false;
|
||
}
|
||
}
|