统一标准
- 状态码
- header
区分处理
一起传入
| { |
| "headers": { |
| "token": "", |
| "plant1-token": "", |
| "plant2-token": "" |
| } |
| } |
| |
分平台处理
!!!warning key 需为平台api公共部分
| const headersObj = { |
| default: {}, |
| plant1: {}, |
| key:{} |
| }; |
| |
| |
| const service = axios.create({ |
| headers: { |
| |
| 'Content-Type': 'application/json;charset=utf-8', |
| }, |
| }); |
| |
| |
| service.interceptors.request.use( |
| (config) => { |
| startLoading(); |
| for (let [key, val] of Object.entries(headersObj)) { |
| if (config.url.includes(key)) { |
| Object.assign(config.headers, val); |
| break; |
| } |
| } |
| return config; |
| }, |
| (error) => { |
| Message.error({ message: '请求超时!' }); |
| Promise.reject(error) |
| } |
| ); |
状态码
统一判断
注意避免冲突,同一状态码不能在不同平台属于不同状态
| const statusCode = { |
| success: [1, 1000], |
| error: [0, 1001], |
| timeout: [2, 1002], |
| }; |
| |
| |
| service.interceptors.response.use( |
| (response) => { |
| const res = response.data; |
| if (response.status === 200) { |
| if (statusCode.success.includes(res.code)) { |
| return res; |
| } |
| if (statusCode.error.includes(res.code)) { |
| Message({ |
| type: 'error', |
| duration: 1000, |
| message: res.result.message ? res.result.message : '接口请求异常', |
| }); |
| return res; |
| } else { |
| return res; |
| } |
| } |
| }, |
| async (err) => { |
| message.error(err.message); |
| return Promise.reject(err); |
| } |
| ); |
| |
分平台判断
- 不需要避免冲突
- !!!warning key 需为平台api公共部分
| const statusCode = { |
| default: { |
| success: 1, |
| error: 0, |
| timeout: 2, |
| }, |
| plant1: { |
| success: 1000, |
| error: 1001, |
| timeout: 0, |
| }, |
| }; |
| |
| |
| service.interceptors.response.use( |
| (response) => { |
| const res = response.data; |
| if (response.status === 200) { |
| let plantstatusCode = Object.entries(statusCode).find( |
| ([key, val]) => response.config.url.includes(key) |
| )[1]; |
| if (plantstatusCode.success == res.code) { |
| return res; |
| } |
| if (plantstatusCode.error == res.code) { |
| Message({ |
| type: 'error', |
| duration: 1000, |
| message: res.result.message ? res.result.message : '接口请求异常', |
| }); |
| return res; |
| } else { |
| return res; |
| } |
| } |
| }, |
| async (err) => { |
| message.error(err.message); |
| return Promise.reject(err); |
| } |
| ); |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步