## 当前的js要放在跟page同级目录
**
const baseUrl = "公共URL"
let ajaxTImes = 0
export const get=(params)=>{
let token = wx.getStorageSync('Authori-zation')
ajaxTImes++
wx.showLoading({
title: '拼命加载中',
mask:true
})
return new Promise((resolve,reject)=>{
wx.request({
...params,
url:baseUrl+params.url,
header: {
"Content-Type": "application/json;charset=UTF-8",
'Authori-zation':token
},
method:"GET",
success:(res)=>{
if(res.data.status == 200){
resolve(res)
}else if(res.data.status == 410000 ){
wx.login({
success(res) {
let code = res.code
wx.getUserInfo({
success(res) {
wx.request({
url: '后端给的接口地址',
method: 'POST',
data: {
"code": code,
"login_type":"routine" ,
"encryptedData": res.encryptedData,
"iv": res.iv
},
header: {
"Content-Type": "application/json;charset=UTF-8",
},
success(res) {
if (res.data.status==200) {
wx.setStorage({
key: "Authori-zation",
data: res.data.data.token,
})
}
}
})
}
})
}
})
}else{
wx.showToast({
title: res.data.msg,
icon:"none",
duration:1500
})
}
},
fail:(err)=>{
reject(err);
},
complete:()=>{
ajaxTImes--
if(ajaxTImes==0){
wx.hideLoading()
}
}
});
})
}
export const post=(params)=>{
let token=wx.getStorageSync('Authori-zation')
ajaxTImes++
wx.showLoading({
title: '拼命加载中',
mask:true
})
return new Promise((resolve,reject)=>{
wx.request({
...params,
url:baseUrl+params.url,
header: {
"Content-Type": "application/json;charset=UTF-8",
'Authori-zation':token
},
method:"POST",
success:(res)=>{
if(res.data.status == 200){
resolve(res)
}else if(res.data.status == 410000 ){
wx.login({
success(res) {
let code = res.code
wx.getUserInfo({
success(res) {
wx.request({
url: '后端给的接口地址',
method: 'POST',
data: {
"code": code,
"login_type":"routine" ,
"encryptedData": res.encryptedData,
"iv": res.iv
},
header: {
"Content-Type": "application/json;charset=UTF-8",
},
success(res) {
if (res.data.status==200) {
wx.setStorage({
key: "Authori-zation",
data: res.data.data.token,
})
}
}
})
}
})
}
})
}else{
wx.showToast({
title: res.data.msg,
icon:"none",
duration:1500
})
}
},
fail:(err)=>{
reject(err);
},
complete:()=>{
ajaxTImes--
if(ajaxTImes==0){
wx.hideLoading()
}
}
});
})
}
使用方式
**在需要使用的页面引入即可**
import {post,get} from "../../request/request.js";
async 方法名() {
let _that = this
try {
const res = await get(或者post)({
url: 'url',
})
console.log(res)
if (res.data.status == 200) {
console.log(res.data)
}else{
wx.showToast({
title: res.data.msg,
icon:'none',
duration:3000
})
}
} catch (error) {
if (error.errMsg == "request:fail ") {
wx.showToast({
title: "无网络链接",
icon: 'none',
duration: 1000
})
}
}
},
function request(objData) {
const app = getApp()
app.globalData.token = wx.getStorageSync('token')
const {
url,
data = {},
method = "GET"
} = objData;
return new Promise(function (resolve, reject) {
wx.request({
url: app.globalData.host + url,
data: data,
method: method,
header: {
"content-type": "application/json",
'Accept': "application/json, text/plain, */*",
"XX-Device-Type": "LB_STAFF_WX_MINI",
"X-Access-Token": app.globalData.token,
},
success: function (res) {
if (res.data.success !== undefined && !res.data.success) {
if (res.data.code === 202 || res.data.code === 4001002) {
app.toastError(res.data.message);
setTimeout(() => {
app.globalData.unLogin = false;
wx.reLaunch({
url: "/pages/index/index",
});
}, 1000);
reject(res.data)
} else if (res.data.code === 40020401) {
reject(res.data)
} else {
console.log("请求失败了", res.data.message, url, data);
app.toastError(res.data.message);
reject(res.data)
}
} else {
resolve(res.data);
}
},
fail: function (err) {
app.toastError("无法连接网络");
reject(err);
},
complete: function (res) {
},
});
});
}
module.exports = {
request,
};