一个程序离不开接口,而要怎么集中管理好程序的接口呢
程序能不能进行二次维护、升级,接口够不够灵活就占很大的部分
一个程序的接口乱放,我相信你不会想再看到这样的程序(看的头痛啊)
第一步封装请求(request.js)
import Interceptor from "./core/interceptor";
import Request from "./index";
import indexConfig from "@/config/index.config"
export const globalInterceptor = {
request: new Interceptor(),
response: new Interceptor()
};
export const config = {
baseURL: indexConfig.baseUrl,
header: {
'token': uni.getStorageSync('Token_YunLiJian_Mp'),
contentType: "application/x-www-form-urlencoded"
// 'Content-Type': 'application/json'
}
};
globalInterceptor.request.use(
config => {
config.header = {
'token': uni.getStorageSync('Token_YunLiJian_Mp')
}
return config;
},
err => {
console.error("请求失败前拦截", err);
return false;
}
);
globalInterceptor.response.use(
(res, config) => {
if (res.data.code == 1001 || res.data.code == 1002 || res.data.code == 1003) {
uni.setStorageSync('Token_YunLiJian_Mp', '') // 以防数据错误,清除token
uni.setStorageSync('UserInFo_YunLiJian_Mp', '') //清空用户数据
uni.showModal({
title: '系统提示',
content: '登录已过期,请重新登录',
success: function(res) {
if (res.confirm) {
uni.switchTab({
url: `/pages/Home/Home`
})
} else if (res.cancel) {
uni.switchTab({
url: `/pages/Mimne/Mimne`
})
}
}
});
return null
}
return res;
},
(err, config) => {
console.error("请求后失败拦截");
console.error("错误提示: ", err);
console.error("错误信息: ", config);
return Promise.reject(err);
}
);
第二步接口集中管理
user.js
第三步导入使用
- 导入
- 使用