52 lines
1.3 KiB
JavaScript
52 lines
1.3 KiB
JavaScript
class Request {
|
|
|
|
constructor(baseURL = 'https://api.huashengtec.com') {
|
|
//constructor(baseURL = 'http://127.0.0.1:9010') {
|
|
this.baseURL = baseURL
|
|
}
|
|
|
|
request(options) {
|
|
return new Promise((resolve, reject) => {
|
|
const { url, method = 'GET', data = {}, header = {}, ...rest } = options
|
|
|
|
const app = getApp()
|
|
const token = app?.globalData?.user?.security?.token || ''
|
|
|
|
data.appId = 'wxapp-escort'
|
|
|
|
wx.request({
|
|
url: url.startsWith('http') ? url : `${this.baseURL}${url}`,
|
|
method,
|
|
data,
|
|
header: {
|
|
'Content-Type': 'application/json',
|
|
...(token ? { 'token': token } : {}),
|
|
...header
|
|
},
|
|
...rest,
|
|
success: (res) => {
|
|
if (res.statusCode >= 200 && res.statusCode < 300) {
|
|
resolve(res.data)
|
|
} else {
|
|
reject(new Error(`HTTP ${res.statusCode}`))
|
|
}
|
|
},
|
|
fail: (err) => {
|
|
reject(err)
|
|
}
|
|
})
|
|
})
|
|
}
|
|
|
|
get(url, params = {}, options = {}) {
|
|
return this.request({ url, method: 'GET', data: params, ...options })
|
|
}
|
|
|
|
post(url, data = {}, options = {}) {
|
|
return this.request({ url, method: 'POST', data, ...options })
|
|
}
|
|
}
|
|
|
|
const request = new Request()
|
|
|
|
module.exports = request |