first commit
This commit is contained in:
91
l-im-app-imooc-master/l-im-app-imooc/common/lib/request.js
Normal file
91
l-im-app-imooc-master/l-im-app-imooc/common/lib/request.js
Normal file
@@ -0,0 +1,91 @@
|
||||
import $C from './config.js';
|
||||
import $store from '@/store/index.js';
|
||||
export default {
|
||||
// 全局配置
|
||||
common: {
|
||||
baseUrl: $C.baseUrl + $C.version,
|
||||
header: {
|
||||
'Content-Type': 'application/json;charset=UTF-8',
|
||||
},
|
||||
data: {},
|
||||
method: 'GET',
|
||||
dataType: 'json',
|
||||
token: true,
|
||||
},
|
||||
|
||||
// get请求
|
||||
get(url, data = {}, options = {}) {
|
||||
options.url = url
|
||||
options.data = data
|
||||
options.method = 'GET'
|
||||
return this.request(options)
|
||||
},
|
||||
// post请求
|
||||
post(url, data = {}, options = {}) {
|
||||
options.url = url
|
||||
options.data = data
|
||||
options.method = 'POST'
|
||||
return this.request(options)
|
||||
},
|
||||
// delete请求
|
||||
del(url, data = {}, options = {}) {
|
||||
options.url = url
|
||||
options.data = data
|
||||
options.method = 'DELETE'
|
||||
return this.request(options)
|
||||
},
|
||||
|
||||
// 请求 返回promise
|
||||
request(options = {}) {
|
||||
// 组织参数
|
||||
options.url = this.common.baseUrl + options.url
|
||||
options.header = options.header || this.common.header
|
||||
options.data = options.data || this.common.data
|
||||
options.method = options.method || this.common.method
|
||||
options.dataType = options.dataType || this.common.dataType
|
||||
options.token = options.token === false ? false : this.common.token
|
||||
|
||||
// 请求
|
||||
return new Promise((res, rej) => {
|
||||
// 请求中...
|
||||
uni.request({
|
||||
...options,
|
||||
success: (result) => {
|
||||
// 返回原始数据
|
||||
if (options.native) {
|
||||
return res(result)
|
||||
}
|
||||
// 服务端失败
|
||||
if (result.statusCode !== 200) {
|
||||
if (options.toast !== false) {
|
||||
uni.showToast({
|
||||
title: result.data.data || '服务器失败',
|
||||
icon: 'none'
|
||||
});
|
||||
}
|
||||
// token不合法,直接退出登录
|
||||
if (result.data.code === 401) {
|
||||
return uni.reLaunch({
|
||||
url: '/pages/common/login/login',
|
||||
})
|
||||
}
|
||||
return rej(result.data)
|
||||
}
|
||||
// 成功
|
||||
let data = result.data
|
||||
|
||||
res(data)
|
||||
},
|
||||
fail: (error) => {
|
||||
uni.showToast({
|
||||
title: '请求失败',
|
||||
icon: 'none'
|
||||
});
|
||||
return rej(error)
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user