mirror of
https://gitee.com/AiShiYuShiJiePingXing/bigscreen.git
synced 2026-01-21 05:40:35 +08:00
89 lines
2.0 KiB
JavaScript
89 lines
2.0 KiB
JavaScript
(function(root) {
|
|
const APPKEY = 27182819;
|
|
const APPSECRET = "5920d4f5d0c04b23a1059d58a9410461"; //app密码, 有可能更改,所以设为全局
|
|
/**
|
|
* 创建api签名和时间戳
|
|
*
|
|
* @param {Number} appKey app key
|
|
* @param {String} appSecret app密码
|
|
* @param {Number} apiId api ID 每个请求的id不一样
|
|
* @param {Object} body body值固定
|
|
* @param {Object} head 默认值空对象
|
|
* @param {Object} query 默认值空对象
|
|
*/
|
|
let __body = { ds: 1 };
|
|
function createSig({
|
|
appKey = APPKEY,
|
|
appSecret = APPSECRET,
|
|
apiId,
|
|
body = __body,
|
|
head = {},
|
|
query = {}
|
|
}) {
|
|
let time = new Date().getTime();
|
|
const baseArr = [
|
|
["X-Auth-ActionId", apiId],
|
|
["X-Auth-Key", appKey],
|
|
["X-Auth-Timestamp", time]
|
|
];
|
|
let params = [
|
|
...baseArr,
|
|
...Object.entries(body),
|
|
...Object.entries(head),
|
|
...Object.entries(query)
|
|
]
|
|
.sort()
|
|
.map(([key, value]) => {
|
|
return `${key}=${value}`;
|
|
})
|
|
.concat(appSecret)
|
|
.join("&");
|
|
params = CryptoJS.MD5(params);
|
|
return {
|
|
sig: params,
|
|
time
|
|
};
|
|
}
|
|
/**
|
|
* 封装ajax请求
|
|
*
|
|
* @param {String} type 请求类型 默认都是post
|
|
* @param {String} url 请求url 必须
|
|
* @param {Object} data 请求参数 默认都是一样的
|
|
* @param {Function} callback 请求成功回调 必须
|
|
* @param {Number} apiId 请求id 必须
|
|
*/
|
|
function http({
|
|
type = "POST",
|
|
url,
|
|
data = JSON.stringify({
|
|
inFields: {
|
|
ds: "1"
|
|
}
|
|
}),
|
|
callback,
|
|
apiId
|
|
}) {
|
|
//生成签名和时间戳
|
|
let sig = createSig({
|
|
apiId
|
|
});
|
|
$.ajax({
|
|
type,
|
|
url,
|
|
data,
|
|
contentType: "application/json;charset=utf-8",
|
|
beforeSend: function(xhr) {
|
|
xhr.setRequestHeader("X-Auth-Key", APPKEY);
|
|
xhr.setRequestHeader("X-Auth-ActionId", apiId);
|
|
xhr.setRequestHeader("X-Auth-Signature", sig.sig);
|
|
xhr.setRequestHeader("X-Auth-Timestamp", sig.time);
|
|
},
|
|
dataType: "json",
|
|
success: callback,
|
|
error: function() {}
|
|
});
|
|
}
|
|
root.__http = typeof window ? http : f => f;
|
|
}(window));
|