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.
|
|
|
import config from '@/config/request'
|
|
|
|
let HTTP_COUNT = 0 // loading次数
|
|
|
|
|
|
|
|
const request = options => {
|
|
|
|
HTTP_COUNT++
|
|
|
|
if (config.showLoading) {
|
|
|
|
// 请求数据时的loading
|
|
|
|
uni.showToast({
|
|
|
|
title: '加载中',
|
|
|
|
duration: 200,
|
|
|
|
icon: 'loading'
|
|
|
|
})
|
|
|
|
}
|
|
|
|
const header = Object.assign({}, config.headers, {
|
|
|
|
token: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1c2VyIiwiaWF0IjoxNjUzMDEyOTQ1LCJleHAiOjE2NTMwNTYxNDUsImFjY291bnRJZCI6IjEifQ.wlon-ETOzb3GvveRnetICH5Joa4u7XzaywGcDEbfqtU'
|
|
|
|
})
|
|
|
|
return new Promise((resolve, reject)=>{
|
|
|
|
uni.request({
|
|
|
|
header,
|
|
|
|
url: config.baseURL + options.url,
|
|
|
|
method: options.method || 'GET', // 请求类型,默认为GET
|
|
|
|
data: options.data || {}, // 请求参数,默认空对象
|
|
|
|
success: ({ data }) => {
|
|
|
|
// 状态判断,根据后台定义并提示
|
|
|
|
if (data.status === 200) {
|
|
|
|
resolve(data)
|
|
|
|
} else {
|
|
|
|
uni.showToast({
|
|
|
|
title: data.message,
|
|
|
|
icon: 'none'
|
|
|
|
})
|
|
|
|
reject(data)
|
|
|
|
}
|
|
|
|
},
|
|
|
|
fail: err => {
|
|
|
|
uni.showToast({
|
|
|
|
title: '请求失败!',
|
|
|
|
icon: 'fail'
|
|
|
|
})
|
|
|
|
reject(err)
|
|
|
|
},
|
|
|
|
complete: () => {
|
|
|
|
if (config.showLoading) {
|
|
|
|
HTTP_COUNT--
|
|
|
|
HTTP_COUNT || uni.hideLoading()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
const get = (url, data, options = {}) => {
|
|
|
|
options.method = 'GET'
|
|
|
|
options.data = data
|
|
|
|
options.url = url
|
|
|
|
return request(options)
|
|
|
|
}
|
|
|
|
|
|
|
|
const post = (url, data, options = {}) => {
|
|
|
|
options.method = 'POST'
|
|
|
|
options.data = data
|
|
|
|
options.url = url
|
|
|
|
return request(options)
|
|
|
|
}
|
|
|
|
|
|
|
|
export default {
|
|
|
|
request,
|
|
|
|
get,
|
|
|
|
post
|
|
|
|
}
|