未来之窗昭和仙君ajaxs安全请求功能说明书
0.00
★21次@
A:赛忞初雪
未来之窗昭和仙君ajaxs安全请求功能说明书
未来之窗ajaxs安全请求($cq.ajaxs)是在基础 AJAX 请求之上封装的加密传输层。该函数在发送请求前,自动将请求数据通过 KAS 加解密算法进行加密,再交由底层 $cq.ajax 发出。服务端收到后需使用相同密钥与算法解密还原。适用于接口参数防篡改、敏感数据传输、临时令牌下发等场景,可有效防止请求体被明文嗅探或中途篡改。
$cq.ajaxs(options);
该函数接收一个配置对象,从中提取加密参数与请求配置,自动对 data 字段加密后调用底层 $cq.ajax 发送请求,返回 XMLHttpRequest 对象。
| 参数 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| options.url | string | 是 | — | 请求目标地址。 |
| options.data | 任意类型 | 否 | — | 待加密发送的请求数据。对象或数组会先经 JSON.stringify 序列化;null 转为 "null",undefined 转为 "undefined";其余类型强制转为字符串后再加密。 |
| options.safekey | string | 是 | — | 加密密钥,不能为空。为空时函数会在控制台输出错误并返回错误提示字符串,不会发起请求。服务端必须使用相同密钥解密。 |
| options.expiry | number | 否 | 3600 | 加密数据的有效期,单位为秒。服务端解密时会校验时效,过期数据将被拒绝。设为 0 表示永不过期。 |
| options.type | string | 否 | "POST" | 请求方法,如 "GET"、"POST" 等。 |
| options.success | function | 否 | — | 请求成功回调,参数为 (responseData, status, xhr)。 |
| options.error | function | 否 | — | 请求失败回调,接收错误详情对象。 |
| options.dataType | string | 否 | "normal" | 响应数据解析方式。"JSON" 时尝试 JSON.parse 响应体;"normal" 时返回原始文本。 |
| options.headers | object | 否 | — | 自定义请求头键值对。 |
| options.async | boolean | 否 | true | 是否异步请求,透传至底层 $cq.ajax。 |
| options.complete | function | 否 | — | 请求完成回调(无论成功失败),参数为 xhr。 |
$cq.ajax 创建的 XMLHttpRequest 对象,可用于中断请求(abort)、读取状态等操作。"Password can't be empty, please complete the param safekey ,you can add expiry to limit date ",并在控制台输出 error。
$cq.ajaxs({
url: "/api/user/login",
type: "POST",
safekey: "fairy_alliance_2026",
expiry: 1800, // 30分钟内有效
data: {
username: "zhaoxianjun",
password: "********"
},
dataType: "JSON",
success: function(res) {
console.log("登录结果:", res);
},
error: function(err) {
console.error("请求失败:", err);
}
});
$cq.ajaxs({
url: "/api/message/send",
type: "POST",
safekey: "my_secret_key",
expiry: 3600,
data: "这是一段需要加密传输的明文消息",
headers: {
"X-Request-From": "cyberwin"
},
success: function(res) {
console.log(res);
}
});
// expiry 设为 0,密文永久有效(仍受签名校验保护)
$cq.ajaxs({
url: "/api/config/pull",
safekey: "permanent_key",
expiry: 0,
data: { module: "system" },
success: function(res) {
console.log(res);
}
});
var result = $cq.ajaxs({
url: "/api/test",
data: "hello"
// 未传 safekey
});
console.log(result);
// 输出:Password can't be empty, please complete the param safekey ,you can add expiry to limit date
// 控制台同时输出 error,请求不会发出
safekey 为必填项,为空时函数直接返回错误字符串并终止,不会发起任何网络请求。safekey 与算法逻辑解密,否则无法还原原文。data 会先经 JSON.stringify 序列化再加密;若存在循环引用导致序列化失败,会降级为强制字符串拼接。硬件app