小程序请求封装
小程序本身自己带有网络请求的方法(wx.request),相关使用方法可以在微信开1.放文档查看。关于小程序的请求方法的封装也有很多,以下只是我的写法,仅供参考。
1. config.js文件
module.exports = {
// 请求域名 格式: https://您的域名
HTTP_REQUEST_URL:'http://xx/test/',
// 以下配置非开发者,无需修改
// 请求头
HEADER:{
'content-type': 'application/json'
},
TOKENNAME: 'Authori-zation',
}
2.app.js文件
import { HTTP_REQUEST_URL} from 'config.js';
globalData: {
url:HTTP_REQUEST_URL,
token: '',
},
3.request.js文件
// 引入请求头等内容
import { HEADER , TOKENNAME} from './../config.js';
export default function request(api,method,data){
let Url = getApp().globalData.url, header = HEADER;
if (getApp().globalData.token) header[TOKENNAME] = 'Bearer ' + getApp().globalData.token;
return new Promise((reslove, reject)=>{
wx.showLoading({
title: '加载中...',
})
wx.request({
url:Url + api,
method:method || 'GET',
data:data || {},
header:header,
success:(res)=>{
reslove(res.data, res);
},
fail: (msg) => {
reject('请求失败');
},
complete:(com) =>{
wx.hideLoading();
}
})
})
}
['options', 'get', 'post', 'put', 'head', 'delete', 'trace', 'connect'].forEach((method) => {
request[method] = (api, data) => request(api, method, data)
});
4.api.js请求方法文件
import request from "../utils/require.js";
// 测试接口
export function intheaters(data) {
return request.get('api/test', data);
}
最后使用方法为:
intheaters().then( res => {
console.log(res, "====> ")
})
这样,就可以了。