ah_jjzhgd_webscreen/api/commonRequest.js

175 lines
5.4 KiB
JavaScript
Raw Normal View History

2024-04-23 18:23:20 +08:00
let aqEnnable = true // 参数加密开关
2024-04-16 16:40:54 +08:00
//后端路径
2024-09-13 14:52:05 +08:00
// const commonUrl = "http://27.50.49.56:18080/zhgd/";
// const URL_IP="http://27.50.49.56:21624/zhgd-web"
2024-08-22 17:00:16 +08:00
//前端
2024-09-13 14:52:05 +08:00
const URL_IP="http://127.0.0.1:63343/ah_jjzhgd_webscreen"
const commonUrl = "http://127.0.0.1:18080/zhgd/";
2024-06-11 11:16:54 +08:00
// //前端路径
2024-08-22 17:00:16 +08:00
let isc_login="http://iscssotest.ah.sgcc.com.cn/isc_sso/login?service=";
2024-03-25 20:21:14 +08:00
/* 登录相关 */
const login_url = commonUrl + "auth/login"; // 登录url
const login_out = commonUrl + "auth/logout"; // 登出url
2024-03-26 19:52:42 +08:00
const page_jump = commonUrl + "auth/pageJump"; // 登出url
2024-09-13 14:52:05 +08:00
let sm4=new SM4Util();
2024-08-22 17:00:16 +08:00
2024-04-16 16:40:54 +08:00
const login_sg_page = URL_IP+"/sg_login.html" // 施工大屏登录页面
const login_sc_page = URL_IP+"/sc_login.html" // 省侧大屏登录页面
const login_sg_index = URL_IP+"/pages/home/navigation.html" // 施工大屏首页
const login_sc_index = URL_IP+"/pages/web/index.html" // 省侧大屏首页
2024-03-25 20:21:14 +08:00
2024-09-13 14:52:05 +08:00
//success成功之前拦截器 在这里 自定义异常拦截
$.ajaxSetup({
beforeSend: function(xhr, options) {
var originalSuccess = options.success
options.success = function(data, textStatus, jqXhr) {
console.log(data)
console.log(1)
//参数自动解密
data = modifyResponseData(data);
originalSuccess.apply(this, arguments)
}
}
})
// 响应成功后的拦截器
$(document).ajaxSuccess(function (event, xhr, settings, data) {
console.log(2)
data = modifyResponseData(data);
let modifiedResponseData=data;
settings.data = modifiedResponseData;
return data;
});
// 请求失败后的拦截器
$(document).ajaxError(function (event, xhr, settings, error) {
error(event, xhr, settings, error);
});
// 修改响应数据的函数
function modifyResponseData(responseData) {
console.log(responseData)
// 在这里对响应数据进行修改
if(responseData.decrypt){
responseData=sm4.decryptDefault_CBC(responseData.data);
}else{
responseData=responseData.data;
}
if(typeof(responseData)=='object'){
return responseData;
}
if(typeof(responseData)=='string'){
responseData=removePadding(responseData)
var responseData = JSON.parse(responseData);
var modifiedData = responseData;
return modifiedData;
}
return responseData;
}
function removePadding(decrypted) {
const lastByte = decrypted.charCodeAt(decrypted.length - 1);
if (lastByte <= 16) {
for (let i = decrypted.length - lastByte; i < decrypted.length; i++) {
if (decrypted.charCodeAt(i) !== lastByte) {
return decrypted; // 如果填充不正确,返回原始字符串
}
}
return decrypted.slice(0, -lastByte);
}
return decrypted;
}
2024-03-29 15:25:34 +08:00
/* POST 请求 */
2024-04-09 18:05:53 +08:00
function ajaxRequest(url, type, data, async, beforeFn, successFn, errorFn, contentType, isAes) {
2024-03-25 20:20:02 +08:00
$.ajax({
url: url,
type: type,
headers: {
2024-04-01 09:12:20 +08:00
"authorization": sessionStorage.getItem("zhgd_token"),
"decrypt": isAes ? '' : 'decrypt'
2024-03-25 20:20:02 +08:00
},
data: data,
async: async,
beforeSend: beforeFn,
contentType: contentType || "application/x-www-form-urlencoded; charset=utf-8",
2024-09-13 14:52:05 +08:00
success: function (event, xhr, settings, data){
event=modifyResponseData(event);
successFn(event, xhr, settings, data);
},
error:function (event, xhr, settings, error) {
errorFn(event, xhr, settings, error)
}
2024-03-25 20:20:02 +08:00
});
2024-09-13 14:52:05 +08:00
2024-03-26 19:52:42 +08:00
}
/* 施工大屏跳转 ajax请求封装 */
function ajaxRequest2(url, type, token, successFn, errorFn) {
$.ajax({
url: url,
type: type,
headers: {
2024-04-09 18:05:53 +08:00
"authorization": token,
"decrypt": 'decrypt'
2024-03-26 19:52:42 +08:00
},
2024-09-13 14:52:05 +08:00
success: function (event, xhr, settings, data){
event=modifyResponseData(event);
successFn(event, xhr, settings, data);
},
error:function (event, xhr, settings, error) {
errorFn(event, xhr, settings, error)
}
2024-03-26 19:52:42 +08:00
});
2024-03-29 15:25:34 +08:00
}
/* GET请求 */
2024-04-01 09:12:20 +08:00
function ajaxRequestGet(url, type, async, beforeFn, successFn, errorFn, isAes) {
2024-03-29 15:25:34 +08:00
$.ajax({
url: url,
type: type,
headers: {
2024-04-01 09:12:20 +08:00
"authorization": sessionStorage.getItem("zhgd_token"),
"decrypt": isAes ? '' : 'decrypt'
2024-03-29 15:25:34 +08:00
},
2024-04-09 18:05:53 +08:00
async: async,
beforeSend: beforeFn,
2024-09-13 14:52:05 +08:00
success: function (event, xhr, settings, data){
event=modifyResponseData(event);
successFn(event, xhr, settings, data);
},
error:function (event, xhr, settings, error) {
errorFn(event, xhr, settings, error)
}
2024-04-09 18:05:53 +08:00
});
}
/* GET请求 */
function ajaxRequestGetExport(url, type, async, beforeFn, successFn, errorFn, isAes) {
$.ajax({
url: url,
type: type,
headers: {
"authorization": sessionStorage.getItem("zhgd_token"),
"decrypt": isAes ? '' : 'decrypt'
},
xhrFields: {
responseType: 'blob' // 告诉 xhr 我们期望返回的数据类型是 blob
},
2024-04-01 19:49:28 +08:00
async: async,
beforeSend: beforeFn,
2024-09-13 14:52:05 +08:00
success: function (event, xhr, settings, data){
event=modifyResponseData(event);
successFn(event, xhr, settings, data);
},
error:function (event, xhr, settings, error) {
errorFn(event, xhr, settings, error)
}
2024-04-01 19:49:28 +08:00
});
2024-03-25 20:20:02 +08:00
}