Files
ClassContent/历届学生/韩想/uniappStudy/common/http/index.js
2024-09-27 02:06:13 +08:00

87 lines
1.7 KiB
JavaScript

import Utils from "../utils"
class Http {
/**
* params
* {
* url: '',
* data: {},
* header: {
* content-type: ''
* },
* success: function()
* }
* @param params
* @constructor
*/
Get (params) {
this.setBaseUrl()
uni.showLoading({
title: '加载中..'
});
return new Promise((resolve,reject)=>{
uni.request({
url: `${this.BaseUrl}${params.url}`,
data: params.data,
method: 'GET',
header: Object.assign({ token: localStorage.getItem("token") },params.header),
success: (res) => {
uni.hideLoading();
resolve(this.CheckResponse(res.data))
},
fail: (error) => {
reject(error)
}
});
})
}
Post (params) {
this.setBaseUrl()
uni.showLoading({
title: '加载中..'
});
return new Promise((resolve,reject)=>{
uni.request({
url: `${this.BaseUrl}${params.url}`,
data: params.data,
method: 'POST',
header: Object.assign({ token: localStorage.getItem("token") },params.header),
success: (res) => {
uni.hideLoading();
resolve(this.CheckResponse(res.data))
},
fail: (error) => {
reject(error)
}
});
})
}
/**
* 设置请求基地址
*/
setBaseUrl () {
this.BaseUrl = Utils.checkUrl();
}
/**
* 数据响应的状态码判断
* @constructor
*/
CheckResponse(data) {
switch (data.status) {
case 200:
return data.result
break;
default :
throw new Error(`[${data.status}] ${data.message}`)
break;
}
}
}
export default new Http();