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.
74 lines
1.5 KiB
74 lines
1.5 KiB
import {TOKEN_FIELD} from '@/config/config.js' |
|
// import {refreshToken} from "../../../api"; |
|
const service = (params,showToast = true,type='default') => { |
|
return new Promise((resolve, reject) => { |
|
let token=uni.getStorageSync(TOKEN_FIELD) |
|
|
|
// let token = uni.getStorageSync('token') |
|
// let now = Math.round(new Date() / 1000); |
|
// if(now > token.token_exp){ |
|
// refreshToken(); |
|
// } |
|
uni.request({ |
|
url: params.url, |
|
data: params.data, |
|
method: params.method, |
|
dataType: "json", |
|
header: { |
|
"content-type": "application/json;charset=utf-8", |
|
"Authorization":"Bearer "+ token.token |
|
} |
|
}).then(res => { |
|
if (res.statusCode === 200) { |
|
let data = res.data; |
|
switch (data.code) { |
|
case 200: |
|
resolve(data); |
|
break; |
|
case 202: |
|
if(showToast){ |
|
uni.hideLoading() |
|
uni.$m.error(data.msg).then(() => { |
|
reject(data); |
|
}); |
|
}else{ |
|
reject(data); |
|
} |
|
|
|
break; |
|
case 203: |
|
resolve(data); |
|
break; |
|
case 1001: |
|
uni.setStorageSync('token',data.data) |
|
if(type === 'default'){ |
|
console.log('default') |
|
resolve(service(params)) |
|
}else{ |
|
console.log('refresh') |
|
resolve(); |
|
} |
|
break; |
|
case 1002: |
|
if(showToast){ |
|
uni.hideLoading() |
|
uni.$m.error(data.msg); |
|
} |
|
reject(data); |
|
break; |
|
default: |
|
reject(data); |
|
break; |
|
} |
|
|
|
} else { |
|
uni.$m.error('连接服务器失败') |
|
} |
|
}) |
|
|
|
}) |
|
|
|
|
|
|
|
} |
|
export default service;
|
|
|