You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
apply-assistant-v3/utils/ajax.js

236 lines
6.3 KiB
JavaScript

// let ajaxUrl = "http://192.168.3.83:8001";
let ajaxUrl = "https://daotian.matripe.com.cn";
let requestTask;
let data = {
ajaxUrl: ajaxUrl,
startAbort($bool = 0) {
if ($bool == 1) {
requestTask.abort();
}
},
Get($url = '', $parmas = {}, callback = () => {}, failback = () => {}) {
let that = this,
params = {};
let promise = new Promise((resolve, reject) => {
params = $parmas;
resolve();
});
promise.then(() => {
that.postData($url, params, callback, failback, 'GET');
}).catch();
},
Post($url = '', $parmas = {}, callback = () => {}, failback = () => {}) {
let that = this,
params = {};
let promise = new Promise((resolve, reject) => {
params = $parmas;
resolve();
});
promise.then(() => {
that.postData($url, params, callback, failback, 'POST');
}).catch();
},
Put($url = '', $parmas = {}, callback = () => {}, failback = () => {}) {
let that = this,
params = {};
let promise = new Promise((resolve, reject) => {
params = $parmas;
resolve();
});
promise.then(() => {
that.postData($url, params, callback, failback, 'PUT');
}).catch();
},
setPublicParams() {
let that = this,
params = {};
let uuid_new = "";
// #ifdef APP-PLUS
if (uni.getSystemInfoSync().osName == "android") {
uuid_new = "from_android_applyAssistantUniapp"
} else {
uuid_new = "from_ios_applyAssistantUniapp"
}
// #endif
params = {
'requestComeFrom': 'assistant_miniapp',
// #ifdef APP-PLUS
'g-open-env': 'APP-PLUS',
appId: uuid_new,
// 请求来源标识 1.小程序 2.app 3.网页
appClassify: 2,
appName: encodeURIComponent('报名助手')
// #endif
// #ifdef H5
'g-open-env': 'H5',
appId: '',
appClassify: 3,
appName: encodeURIComponent('报名助手')
// #endif
// #ifdef MP-WEIXIN
'g-open-env': 'MP-MINI',
appId: uni.getAccountInfoSync().miniProgram.appId,
appClassify: 1,
appName: encodeURIComponent('报名助手')
// #endif
// #ifdef MP-TOUTIAO
'g-open-env': 'MP-TOUTIAO',
appId: tt.getEnvInfoSync().microapp.appId,
subAppId: uni.getStorageSync('subAppId'),
appClassify: 1,
appName: encodeURIComponent('报名助手')
// #endif
// #ifdef MP-KUAISHOU
'g-open-env': 'MP-KUAISHOU',
appId: "",
appClassify: 1,
appName: encodeURIComponent('报名助手')
// #endif
}
return params
},
// 发送请求
postData($url = '', $parmas = {}, callback = () => {}, failback = () => {}, $method) {
let that = this,
$header = {};
if (uni.getStorageSync("apply-token")) {
$header.Authorization = 'Bearer ' + uni.getStorageSync("apply-token");
}
if (uni.getStorageSync("apply-agencyId")) {
// console.log('uni.getStorageSync("apply-agencyId")', uni.getStorageSync("apply-agencyId"));
$header.Agencyid = uni.getStorageSync("apply-agencyId");
}
if ($parmas == '') {
$parmas = {};
}
if ($parmas.formdata || $method == "POST" || $method == "PUT") {
$header['content-type'] = 'application/x-www-form-urlencoded; charset=UTF-8';
}
for (const k in $parmas) {
if ($parmas[k] == undefined || $parmas[k] == 'undefined') {
$parmas[k] = ''
}
}
console.log("公共参数,+++++", Object.assign($parmas, that.setPublicParams()));
uni.getNetworkType({
success: function(res) {
// console.log(res);
if (res.networkType != 'none') {
requestTask = uni.request({
url: ajaxUrl + $url,
data: Object.assign($parmas, that.setPublicParams()),
header: Object.assign($header, that.setPublicParams()),
method: $method,
success: (res) => {
// console.log('测试报错123123123123123123',res);
// console.log('测试报错123123123123123123$url',$url);
let resData = res.data;
if (resData.status == 200) { // 正常
callback(resData.data, resData.msg);
} else if (resData.status == 9999) { // 登录过期或者身份变动等需要登录的场景
uni.showToast({
title: resData.msg,
icon: "none"
});
failback(resData);
setTimeout(() => {
uni.reLaunch({
url: '/root/person/loginIndex?path=/' + that.getPathCopy().path + '&level=' +
that.getPathCopy().level
});
}, 1500);
} else if (resData.status == 500 || resData.status == 502) { // 某种原因导致接口提示该状态码
// if (resData.msg == '系统异常,请稍后') {
// uni.reLaunch({
// url: '/root/other/error'
// });
// } else {
uni.showToast({
title: resData.msg,
// title:'系统异常,请稍后',
icon: "none"
});
failback(resData.msg);
// }
} else if (resData.status == 2002) {
uni.showToast({
title: '已切换团队,需要重新登录',
icon: "none"
});
setTimeout(() => {
uni.reLaunch({
url: '/root/person/loginIndex?path=/pages/home/index&level=' + that
.getPathCopy().level
});
}, 1500);
} else { // 其他异常
if ($url == '/yishoudan/user/apply/order/V2/details') {
} else {
uni.showToast({
title: resData.msg,
icon: "none"
});
}
failback(resData.msg);
}
},
fail(error) {
uni.showToast({
// title: error.errMsg,
title: '系统异常,请稍后',
icon: "none"
})
failback(error);
}
});
} else {
uni.showToast({
title: '网络异常,请检查网络',
icon: "none"
})
}
},
});
},
// 头像上传
uploadFile($file, callback = () => {}) {
let that = this;
uni.uploadFile({
url: ajaxUrl + '/user/changeUserImgsrc',
filePath: $file,
name: 'uploadFile',
header: Object.assign({
Authorization: 'Bearer ' + uni.getStorageSync("apply-token")
}, that.setPublicParams()),
formData: that.setPublicParams(),
success: (uploadFileRes) => {
callback(JSON.parse(uploadFileRes.data).data.url);
}
});
},
/* 获取当前path
*/
getPathCopy() {
const pages = getCurrentPages();
if (pages.length > 0) {
let _path = pages[pages.length - 1].route;
return {
path: _path,
level: _path.slice(0, 4)
}
} else {
return {
path: '',
level: ''
};
}
},
};
export default data;