方法一
request.js
const app = getApp();
const baseURL = app.globalData.baseURL
// 不携带token
function httpRequest(url,method,data){
return new Promise(function (resolve, reject) {
let header = {
'content-type': 'application/json'
};
wx.request({
url: baseURL + url,
method: method,
data: data,
header: header,
success(res) {
//请求成功
//判断状态码---errCode状态根据后端定义来判断
if (res.data.status == 200) {
resolve(res.data);
} else {
//其他异常
reject(res.msg);
}
},
fail(err) {
//请求失败
reject(err)
}
})
})
}
// 携带token
function httpTokenRequest(url,method,data) {
return new Promise(function (resolve, reject) {
let header = {
'content-type': 'application/x-www-form-urlencoded',
"token": app.globalData.token
};
wx.request({
url: baseURL + url,
method: method,
data: data,
header: header,
success(res) {
//请求成功
//判断状态码---errCode状态根据后端定义来判断
if (res.data.status == 200) {
resolve(res.data);
} else {
//其他异常
reject(res.msg);
}
},
fail(err) {
//请求失败
reject(err)
}
})
})
}
module.exports = {
httpRequest,
httpTokenRequest
};
api.js
const request = require('./request.js');
const API = {
//登录
login: (data) => request.httpTokenRequest("login", "get", data),
}
module.exports = API;
方法二 (推荐使用)
request.js
const baseURL = 'https://app.lfywkeji.com'
function request(url, method, params) {
return new Promise((resolve, reject) => {
uni.request({
url: baseURL + url,
method: method,
timeout: 10000,
header: {
"Accept": "application/json",
"content-type": "application/json; charset=UTF-8",
"Authorization": uni.getStorageSync('token') ? uni.getStorageSync('token') : ''
},
data: params ? params : '',
}).then(res => {
if(res[1].data.code == 200){
resolve(res[1])
}else if(res[1].data.code == 401){
uni.removeStorageSync('token')
uni.removeStorageSync('myInfo')
}else if(res[1].data.code == 1502){
uni.removeStorageSync('token')
uni.removeStorageSync('myInfo')
uni.showModal({
title: '提示',
showCancel: false,
content: '登录已过期,请重新登录',
success: (res) => {
if(res.confirm){
uni.reLaunch({
url: '/pages/login/index'
})
}
}
})
}else{
uni.showToast({
icon:"none",
title: res[1].data.message,
duration: 2000
})
}
}).catch(err => {
reject(err[1])
})
})
}
function get(url, params) {
return request(url, 'GET', params)
}
function post(url, params) {
return request(url, 'POST', params)
}
export {
get,
post
}
api.js
const request = require('./request.js');
// 登录
export const authLogin = (params) => request.get('/rest/authLogin', params);