| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- const request = (options) => {
- const header = options.header||{};
- const loginInfo = uni.getStorageSync("loginInfo");
- if (loginInfo) {
- header.accessToken = loginInfo.accessToken;
- }
- return new Promise(function(resolve, reject) {
- uni.request({
- url: process.env.BASE_URL + options.url,
- method: options.method || 'GET',
- header: header,
- data: options.data || {},
- async success(res) {
- if (res.data.code == 200) {
- return resolve(res.data.data)
- } else if (res.data.code == 400) {
- uni.navigateTo({
- url: '/pages/login/login'
- });
- } else if (res.data.code == 401) {
- console.log("token失效,尝试重新获取")
- if (!loginInfo) {
- uni.navigateTo({
- url: '/pages/login/login'
- });
- }
- // 发送请求, 进行刷新token操作, 获取新的token
- const data = await request({
- method: 'PUT',
- url: '/refreshToken',
- header: {
- refreshToken: loginInfo.refreshToken
- }
- })
- // 换取token失败,跳转至登录界面
- if(data.code != 200){
- uni.navigateTo({
- url: '/pages/login/login'
- });
- }
- // 保存token
- uni.setStorageSync("loginInfo", data);
- // 重新发送刚才的请求
- return request(options)
- } else {
- uni.showToast({
- icon: "none",
- title: res.data.message,
- duration: 1500
- })
- return reject(res.data.data)
- }
- },
- fail(error) {
- uni.showToast({
- title: "网络似乎有点不给力,请稍后重试",
- duration: 1500
- })
- return reject(error)
- }
- });
- });
- }
- export default request;
|