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.
100 lines
2.5 KiB
100 lines
2.5 KiB
/*
|
|
* @Author: mk 2403457699@qq.com
|
|
* @Date: 2023-07-17 09:46:32
|
|
* @LastEditors: mk 2403457699@qq.com
|
|
* @LastEditTime: 2023-08-10 17:49:44
|
|
* @Description: 更改提示信息,修改前是统一提示网络错误
|
|
*
|
|
*
|
|
*/
|
|
/**
|
|
* 解析epmet后台返回结果,并且执行传入的逻辑
|
|
* @param success_processor 正常返回执行的函数,代表要对data做何种操作。第一个参数是
|
|
* @param fail_processor 异常返回执行的函数,代表要对data做何种操作
|
|
* @param result 后台返回的结果json对象
|
|
*/
|
|
|
|
|
|
export function EpmetResultResolver(env) {
|
|
|
|
this._env = env;
|
|
this.success_processor = null;
|
|
|
|
// 成功回调
|
|
this.success = (success_processor) => {
|
|
this.success_processor = success_processor;
|
|
return this;
|
|
}
|
|
|
|
// 失败回调
|
|
this.fail = (fail_processor) => {
|
|
this.fail_processor = fail_processor;
|
|
return this;
|
|
}
|
|
|
|
// 执行解析逻辑
|
|
this.parse = (result) => {
|
|
const { data, code, msg } = result
|
|
|
|
// 失败
|
|
if (code !== 0) {
|
|
// 表明后台返回错误
|
|
|
|
// 首先调用失败兜底函数
|
|
if (this.fail_processor) {
|
|
this.fail_processor();
|
|
}
|
|
|
|
const errorMessages = {
|
|
10007: '当前帐号已在别处登录',
|
|
10006: '登陆超时,请重新登录',
|
|
10005: 'token为空,请重新登录'
|
|
};
|
|
|
|
const errorCode = response.data.code;
|
|
|
|
if (errorMessages.hasOwnProperty(errorCode)) {
|
|
this._env.$message.error(errorMessages[errorCode]);
|
|
} else {
|
|
this._env.$message.error(msg);
|
|
}
|
|
|
|
// // 弹出消息
|
|
// if (code < 8000) {
|
|
// this._env.$message.error('服务器开小差了...')
|
|
// } else {
|
|
// }
|
|
|
|
return;
|
|
}
|
|
|
|
// 成功
|
|
if (this.success_processor) {
|
|
// 后台没有返回错误,正常执行
|
|
this.success_processor(data)
|
|
}
|
|
}
|
|
|
|
// processEpmetResult
|
|
// 处理result的函数
|
|
// this.processEpmetResult = (success_processor, fail_processor, result) => {
|
|
// const { data, code, msg } = result
|
|
// if (code !== 0) {
|
|
// // 表明后台返回错误
|
|
// fail_processor();
|
|
// if (code < 8000) {
|
|
// this.$message.error('服务器开小差了...')
|
|
// } else {
|
|
// this.$message.error(msg)
|
|
// }
|
|
// return
|
|
// }
|
|
//
|
|
// if (success_processor) {
|
|
// // 后台没有返回错误,正常执行
|
|
// success_processor(data)
|
|
// }
|
|
// }
|
|
|
|
return this;
|
|
}
|
|
|