话不多数直接上代码!
在app.js文件中加入,一般新建的项目都有globalData只需要在里面添加你的信息就行了
globalData: {
Ip:'',
Header:{ //request 请求头
'content-type': 'application/x-www-form-urlencoded;charset=utf-8', // 默认值
'Authorization': ''
},
}
新建一个js文件在里面加上如下代码
const app=getApp()
export default (url, data={}, method='GET') => {
return new Promise((resolve, reject) => {
// 1. new Promise初始化promise实例的状态为pending
wx.request({
url: app.globalData.Ip + url,
data,
method,
header:app.globalData.Header,
success: (res) => {
resolve(res.data); // resolve修改promise的状态为成功状态resolved
},
fail: (err) => {
console.log('请求失败: ', err);
reject(err); // reject修改promise的状态为失败状态 rejected
}
})
})
}
下面是如何使用,首先在顶部做引用,添加自己需要访问的url地址,注意要和前面在globalData里面定义的ip做拼接使用
import request from ''
const url=''
下面就是具体的方法调用request请求
async getInfo(){
let info = await request(url,{});
consolo.log(info)
},
async update(){
let res = await request(url,{json:{id:1,name:'张三'}},'POST');
consolo.log(res)
},
到这里一个简单的request请求的封装以及调用就做好了,下面是升级版,在公司里做的朋友都知道,一般公司里面给的接口都需要在请求头里面加token才能访问,像注册登录之类的借口才会放到白名单里面,下面是升级之后的代码
const app=getApp()
export default (url, data={}, method='GET') => {
return new Promise((resolve, reject) => {
let userInfo=wx.getStorageSync('userInfo')
if(userInfo.data){
app.globalData.Header.Authorization = userInfo.data.token;
}
// 1. new Promise初始化promise实例的状态为pending
wx.request({
url: app.globalData.Ip + url,
data,
method,
header:app.globalData.Header,
success: (res) => {
if(data.is_login){// 登录请求
// 将用户信息存入至本地
wx.setStorageSync('userInfo', res.data)
}
resolve(res.data); // resolve修改promise的状态为成功状态resolved
},
fail: (err) => {
console.log('请求失败: ', err);
reject(err); // reject修改promise的状态为失败状态 rejected
}
})
})
}
下面是如何登录的,一般的话登录都需要appid,code,wx.login可以获取到code,appid可以放在globalData里面
import request from ''
const url=''
//登录调用request
//登录
doLogin(){
let that = this
wx.login({
success (res) {
that.setData({
code:res.code
})
that.login(that,res.code)
}
})
},
async login(that,code){
let res = await request(url, {appid:that.data.appid,code:code,is_login:true});
if(res.code==200&&res.data){
wx.reLaunch({
url: '../home/home',
})
}else{
console.log(res)
wx.showToast({
title: '请退出,重新登录!',
icon:'error'
})
}
}
大致的就这麽多了,如果有帮助到您,请给个关注,加个收藏,这将是我创作的最大力量,谢谢!