在封装调用接口方法的时候最好是在项目内重新创建一个目录存放你的统一调用方法的目录 我是取名为【common】
request.js
// 请求接口
const commoneUrl = "http://xxxxxxxxxx";
//get请求封装
function getRequest(url,data){
var promise = new Promise((resolve,reject) => {
var postData = data;
uni.request({
url:commoneUrl + url,
data:postData,
method:"GET",
dataType:'json',
header:{
'content-type': 'application/json'
},
success:function(res){
if(res.statusCode === 200)
{
resolve(res.data);
}else{
resolve(res.data)
}
},
error:function(e)
{
reject('网络出错');
}
});
});
return promise;
}
(其实这里你不用var 可以直接return 只是我在写的时候为了方便自己看的习惯)
//post请求封装
function postRequest(url,data){
var promise = new Promise((resolve,reject) => {
var postData = data;
uni.request({
url:commoneUrl + url,
data:postData,
method:'POST',
header:{
'content-type': 'application/x-www-form-urlencoded'
},
success:function(res)
{
if(res.statusCode === 200 && res.data.resultCode == 0)
{
resolve(res.data);
}else{
resolve(res.data)
}
},
error:function(e)
{
reject('网络出错');
}
})
});
return promise;
}
如果开发项目中在登录的时候需要进行token验证,可以在header那里加入一段代码
header:
{
'content-type':'application/json',
'Authorization':'Bearer '+ postHeader
},
postHeader就是后台传给你的token把它值存在这里
anyway,最后把你写的这些方法导出
module.exports = {
postRequest,
postHeaderRequest,
getRequest
}
http.js
//引用request.js
var request = require('./request.js')
//调用方法 👇 我把url放在单独的js 这样方面后续管理
var getToken = function(e){
return request.getRequest('http://xxxxxxx',e);
}
e参数就是你要传的data数据
最后,导出方法
module.exports = {
apiRequest
}
差点忘记写如何在页面调用 =0=
import http from '../../common/http.js'
//获取token
http.getToken('').then(res=>{
this.token = res.accessToken;
//储存token
uni.setStorageSync('token',this.token);
})
如果有帮到你记得给我点个赞哦~