代码提交
This commit is contained in:
201
api/api.js
201
api/api.js
@ -21,98 +21,94 @@ const fly = new Fly()
|
||||
fly.config.baseURL = VUE_APP_API_URL
|
||||
|
||||
fly.interceptors.response.use(
|
||||
response => {
|
||||
// console.log(response)
|
||||
// 定时刷新access-token
|
||||
return response
|
||||
},
|
||||
error => {
|
||||
if (error.toString() == 'Error: Network Error') {
|
||||
handleLoginFailure()
|
||||
return Promise.reject({ msg: '未登录', toLogin: true })
|
||||
response => {
|
||||
// 定时刷新access-token
|
||||
return response
|
||||
},
|
||||
error => {
|
||||
if (error.toString() == 'Error: Network Error') {
|
||||
handleLoginFailure()
|
||||
return Promise.reject({msg: '未登录', toLogin: true})
|
||||
}
|
||||
if (error.status == 401) {
|
||||
handleLoginFailure()
|
||||
return Promise.reject({msg: '未登录', toLogin: true})
|
||||
}
|
||||
if (error.response.data.status == 5109) {
|
||||
uni.showToast({
|
||||
title: error.response.data.msg,
|
||||
icon: 'none',
|
||||
duration: 2000,
|
||||
})
|
||||
}
|
||||
return Promise.reject(error)
|
||||
}
|
||||
if (error.status == 401) {
|
||||
handleLoginFailure()
|
||||
return Promise.reject({ msg: '未登录', toLogin: true })
|
||||
}
|
||||
if (error.response.data.status == 5109) {
|
||||
uni.showToast({
|
||||
title: error.response.data.msg,
|
||||
icon: 'none',
|
||||
duration: 2000,
|
||||
})
|
||||
}
|
||||
return Promise.reject(error)
|
||||
}
|
||||
)
|
||||
|
||||
const defaultOpt = { login: true }
|
||||
const defaultOpt = {login: true}
|
||||
|
||||
function baseRequest(options) {
|
||||
const token = cookie.get('accessToken')
|
||||
const token = cookie.get('accessToken')
|
||||
|
||||
options.headers = {
|
||||
...options.headers,
|
||||
}
|
||||
options.headers = {
|
||||
...options.headers,
|
||||
}
|
||||
|
||||
// if (options.login === true) {
|
||||
options.headers = {
|
||||
...options.headers,
|
||||
Authorization: 'Bearer ' + token.accessToken,
|
||||
}
|
||||
// }
|
||||
// if (options.login === true) {
|
||||
options.headers = {
|
||||
...options.headers,
|
||||
Authorization: 'Bearer ' + token.accessToken,
|
||||
}
|
||||
// }
|
||||
|
||||
// 结构请求需要的参数
|
||||
const { url, params, data, login, ...option } = options
|
||||
// 结构请求需要的参数
|
||||
const {url, params, data, login, ...option} = options
|
||||
|
||||
// 发起请求
|
||||
return fly
|
||||
.request(url, params || data, {
|
||||
...option,
|
||||
})
|
||||
.then(res => {
|
||||
console.log('--> % baseRequest % res:\n', res)
|
||||
const data = res.data || {}
|
||||
|
||||
if (res.status !== 200) {
|
||||
return Promise.reject({ msg: '请求失败', res, data })
|
||||
}
|
||||
|
||||
console.log('gxs --> % baseRequest % data.code:\n', data.code)
|
||||
if (data.code == 401) {
|
||||
uni.hideLoading()
|
||||
handleLoginFailure()
|
||||
uni.showToast({
|
||||
title: data.msg,
|
||||
icon: 'none',
|
||||
duration: 2000,
|
||||
// 发起请求
|
||||
return fly
|
||||
.request(url, params || data, {
|
||||
...option,
|
||||
})
|
||||
return Promise.reject({ msg: data.msg, res, data })
|
||||
}
|
||||
.then(res => {
|
||||
const data = res.data || {}
|
||||
|
||||
if (data.code != 0) {
|
||||
uni.showToast({
|
||||
title: data.msg,
|
||||
icon: 'none',
|
||||
duration: 2000,
|
||||
if (res.status !== 200) {
|
||||
return Promise.reject({msg: '请求失败', res, data})
|
||||
}
|
||||
|
||||
if (data.code == 401) {
|
||||
uni.hideLoading()
|
||||
handleLoginFailure()
|
||||
uni.showToast({
|
||||
title: data.msg,
|
||||
icon: 'none',
|
||||
duration: 2000,
|
||||
})
|
||||
return Promise.reject({msg: data.msg, res, data})
|
||||
}
|
||||
|
||||
if (data.code != 0) {
|
||||
uni.showToast({
|
||||
title: data.msg,
|
||||
icon: 'none',
|
||||
duration: 2000,
|
||||
})
|
||||
return Promise.reject({data, res})
|
||||
}
|
||||
|
||||
return Promise.resolve(data.data, res)
|
||||
|
||||
// if ([401, 403].indexOf(data.status) !== -1) {
|
||||
// handleLoginFailure()
|
||||
// return Promise.reject({ msg: res.data.msg, res, data, toLogin: true })
|
||||
// } else if (data.status === 200) {
|
||||
// return Promise.resolve(data, res)
|
||||
// } else if (data.status == 5101) {
|
||||
// return Promise.reject({ msg: res.data.msg, res, data })
|
||||
// } else {
|
||||
// return Promise.reject({ msg: res.data.msg, res, data })
|
||||
// }
|
||||
})
|
||||
return Promise.reject({ data, res })
|
||||
}
|
||||
|
||||
console.log('gxs --> % baseRequest resolve % data:\n', data.data)
|
||||
return Promise.resolve(data.data, res)
|
||||
|
||||
// if ([401, 403].indexOf(data.status) !== -1) {
|
||||
// handleLoginFailure()
|
||||
// return Promise.reject({ msg: res.data.msg, res, data, toLogin: true })
|
||||
// } else if (data.status === 200) {
|
||||
// return Promise.resolve(data, res)
|
||||
// } else if (data.status == 5101) {
|
||||
// return Promise.reject({ msg: res.data.msg, res, data })
|
||||
// } else {
|
||||
// return Promise.reject({ msg: res.data.msg, res, data })
|
||||
// }
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
@ -121,31 +117,30 @@ function baseRequest(options) {
|
||||
*
|
||||
*/
|
||||
const request = ['post', 'put', 'patch'].reduce((request, method) => {
|
||||
/**
|
||||
*
|
||||
* @param url string 接口地址
|
||||
* @param data object get参数
|
||||
* @param options object axios 配置项
|
||||
* @returns {AxiosPromise}
|
||||
*/
|
||||
request[method] = (url, data = {}, options = {}) => {
|
||||
console.log(url, data)
|
||||
return baseRequest(Object.assign({ url, data, method }, defaultOpt, options))
|
||||
}
|
||||
return request
|
||||
}, {})
|
||||
/**
|
||||
*
|
||||
* @param url string 接口地址
|
||||
* @param data object get参数
|
||||
* @param options object axios 配置项
|
||||
* @returns {AxiosPromise}
|
||||
*/
|
||||
request[method] = (url, data = {}, options = {}) => {
|
||||
return baseRequest(Object.assign({url, data, method}, defaultOpt, options))
|
||||
}
|
||||
return request
|
||||
}, {})
|
||||
|
||||
;['get', 'delete', 'head'].forEach(method => {
|
||||
/**
|
||||
*
|
||||
* @param url string 接口地址
|
||||
* @param params object get参数
|
||||
* @param options object axios 配置项
|
||||
* @returns {AxiosPromise}
|
||||
*/
|
||||
request[method] = (url, params = {}, options = {}) => {
|
||||
return baseRequest(Object.assign({ url, params, method }, defaultOpt, options))
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @param url string 接口地址
|
||||
* @param params object get参数
|
||||
* @param options object axios 配置项
|
||||
* @returns {AxiosPromise}
|
||||
*/
|
||||
request[method] = (url, params = {}, options = {}) => {
|
||||
return baseRequest(Object.assign({url, params, method}, defaultOpt, options))
|
||||
}
|
||||
})
|
||||
|
||||
export default request
|
||||
|
Reference in New Issue
Block a user