|
@@ -16,40 +16,67 @@ type paramsType = {
|
|
|
const errorHandle = (statusCode: number, code: number, message: string, url: string) => {
|
|
|
console.log(code, 'code');
|
|
|
|
|
|
- if (statusCode !== 200) {
|
|
|
+ if (code === errorCode) {
|
|
|
+ // 请求很不错
|
|
|
+ } else if (code === 403) {
|
|
|
+
|
|
|
+ }
|
|
|
+ else if (statusCode !== 200) {
|
|
|
Tip.toast('啊哦, 您的网络出了一点小问题')
|
|
|
- } else if (code === 500) {
|
|
|
+ throw new Error(`${url} ---> 接口请求失败`)
|
|
|
+ } else if (code !== errorCode) {
|
|
|
Tip.toast(message)
|
|
|
- } else if (code !== errorCode) {
|
|
|
- Tip.toast('网络开了小差,刷新一下试试')
|
|
|
- throw new Error(`${url}接口请求失败`)
|
|
|
+ throw new Error(`${url} ---> 接口请求失败`)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// 请求
|
|
|
-export const request = async (params: paramsType) => {
|
|
|
+export const request = async (params: paramsType): Promise<any> => {
|
|
|
const {baseUrl, url, method, data, header, timeout, responseType} = params
|
|
|
- const result = await Taro.request({
|
|
|
- url: baseUrl + url,
|
|
|
- method: method || 'GET',
|
|
|
- data,
|
|
|
- header: {
|
|
|
- 'Content-Type': 'application/json',
|
|
|
- ...header
|
|
|
- },
|
|
|
- timeout,
|
|
|
- responseType
|
|
|
- });
|
|
|
-
|
|
|
- // eslint-disable-next-line no-shadow
|
|
|
- const { statusCode } = result
|
|
|
- const { message, data: Data } = result.data
|
|
|
- console.log(Data);
|
|
|
-
|
|
|
- errorHandle (statusCode, result.data[errorKey], message, baseUrl + url)
|
|
|
+ return new Promise( async resolve => {
|
|
|
+ const result = await Taro.request({
|
|
|
+ url: baseUrl + url,
|
|
|
+ method: method || 'GET',
|
|
|
+ data,
|
|
|
+ header: {
|
|
|
+ 'Content-Type': 'application/json',
|
|
|
+ token: Taro.getStorageSync('token'),
|
|
|
+ ...header
|
|
|
+ },
|
|
|
+ timeout,
|
|
|
+ responseType
|
|
|
+ });
|
|
|
+
|
|
|
+ // eslint-disable-next-line no-shadow
|
|
|
+ const { statusCode } = result
|
|
|
+ const { message, data: Data } = result.data
|
|
|
+ console.log(Data);
|
|
|
+
|
|
|
+ errorHandle (statusCode, result.data[errorKey], message, baseUrl + url)
|
|
|
|
|
|
- return Data
|
|
|
-
|
|
|
+ if (result.data.status === 403) {
|
|
|
+ // token失效, 刷新token, 并重发请求
|
|
|
+ console.log('????');
|
|
|
+ Tip.loading()
|
|
|
+ // Taro.login({
|
|
|
+ // success: res => {
|
|
|
+ // console.log(res);
|
|
|
+ // const { code: Code } = res
|
|
|
+ // reloadlogin(Code).then ( async _ => {
|
|
|
+ // Taro.setStorageSync('token', _.id)
|
|
|
+
|
|
|
+ // })
|
|
|
+ // }
|
|
|
+ // })
|
|
|
+
|
|
|
+ // resolve(await request(params))
|
|
|
+ Tip.loaded()
|
|
|
+
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ resolve(Data)
|
|
|
+ }).catch( e => e)
|
|
|
}
|
|
|
|
|
|
|