网络请求
1.第一步:新建promisic文件
// utils/promisic.js
export default (func) => {
return function (params = {}) {
return new Promise((resolve, reject) => {
const args = Object.assign(params, {
success: res => resolve(res),
fail: err => reject(err),
complete() {
}
});
func(args)
})
}
}
2.第二步:新建request.js文件
// utils/request.js
import promisic from "./promisic";
const baseUrl = 'https://aaa-cc.shshsh.cn/';
const request =async(url,data,method,openid = true) =>{
const options = {
url:baseUrl + url,
header:{
'content-type' : 'application/x-www-form-urlencoded',
'openid':opneid?await Request.getOpenId() : null
},
method,
dataType:'json',
responseType:'text',
data
};
return promisic(wx.request)(options)
.then((res)=>{
const {statusCode,data} = res;
if(statusCode === 200){
return data
}
if(statusCode ===401){
wx.reLaunch({
// 账号异常
url: '/pages/errorPage/index',
})
}
wx.showToast({
title: data,
icon:'none',
duration:2000
})
throw new Error(data)
})
};
/**
* 网络请求工具类
*/
export default class Request{
static async get(url,data = {}){
return await request(url,data,'GET')
}
static async post(url,data = {},openid){
return await request(url,data,'POST')
}
static async getOpenId(){
// 全局挂载标量
const app = getApp();
// 获取code
const res = await promisic(wx.login)();
// 获取openid
app.globalData.openid = await request(url,{
code:res.code
},'GET',false)
return app.globalData.openid
}
}
留档,以后需要时可以直接修改使用,希望也同样适合你哦~