You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
104 lines
2.3 KiB
104 lines
2.3 KiB
import request from "@/utils/request";
|
|
import md5 from "md5";
|
|
function sortParams(params) {
|
|
return Object.keys(params)
|
|
.filter((k) => params[k] !== "") // 过滤空参数
|
|
.sort() // 排序
|
|
.reduce((obj, key) => {
|
|
obj[key] = params[key];
|
|
return obj;
|
|
}, {});
|
|
}
|
|
function sort_ASCII(obj) {
|
|
var arr = new Array();
|
|
var num = 0;
|
|
for (let i in obj) {
|
|
arr[num] = i;
|
|
num++;
|
|
}
|
|
var sortArr = arr.sort();
|
|
var sortObj = {};
|
|
for (let i in sortArr) {
|
|
sortObj[sortArr[i]] = obj[sortArr[i]];
|
|
}
|
|
return sortObj;
|
|
}
|
|
/**
|
|
* 排序参数并生成签名
|
|
*/
|
|
function generateSign(params = {}) {
|
|
// 随机字符串
|
|
const nonce_str = Math.random().toString(36).substr(2);
|
|
|
|
// 排序参数并转 URL 键值对
|
|
const strTemp = sortParams(Object.assign(params, { nonce_str }));
|
|
|
|
console.log(strTemp);
|
|
let arr = sort_ASCII(strTemp);
|
|
let str = "";
|
|
for (let key in arr) {
|
|
if (arr[key] || arr[key] === 0) {
|
|
str = str + key + "=" + arr[key] + "&";
|
|
}
|
|
}
|
|
console.log(str + "appKey=1f26fe1a6a36daf7651d6437bb6a5fa6");
|
|
// 生成 MD5 签名
|
|
let sign = md5(str + "appKey=1f26fe1a6a36daf7651d6437bb6a5fa6").toUpperCase();
|
|
// const sign = md5(
|
|
// `${strTemp}&appKey=1f26fe1a6a36daf7651d6437bb6a5fa6`
|
|
// ).toUpperCase();
|
|
return {
|
|
...params,
|
|
nonce_str,
|
|
sign,
|
|
};
|
|
}
|
|
// 获取店铺满减
|
|
export function getStoreDecrement(data) {
|
|
return request({
|
|
url: "/getStoreDecrement",
|
|
method: "post",
|
|
data: generateSign(data),
|
|
});
|
|
}
|
|
// 获取店铺优惠券
|
|
export function getStoreCoupon(data) {
|
|
return request({
|
|
url: "/getStoreCoupon",
|
|
method: "post",
|
|
data: generateSign(data),
|
|
});
|
|
}
|
|
// 保存店铺优惠券
|
|
export function saveStoreCoupon(data) {
|
|
return request({
|
|
url: "/saveStoreCoupon",
|
|
method: "post",
|
|
data: generateSign(data),
|
|
});
|
|
}
|
|
// 删除店铺优惠券
|
|
export function delStoreCoupon(data) {
|
|
return request({
|
|
url: "/delStoreCoupon",
|
|
method: "post",
|
|
data: generateSign(data),
|
|
});
|
|
}
|
|
// 保存店铺满减
|
|
export function saveStoreDecrement(data) {
|
|
return request({
|
|
url: "/saveStoreDecrement",
|
|
method: "post",
|
|
data: generateSign(data),
|
|
});
|
|
}
|
|
// 删除店铺满减
|
|
export function delStoreDecrement(data) {
|
|
return request({
|
|
url: "/delStoreDecrement",
|
|
method: "post",
|
|
data: generateSign(data),
|
|
});
|
|
}
|