mobileclient/packkey/demo/api2_0.js

260 lines
6.8 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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;
}
}