epmet pc工作端
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

/*
* @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;
}