微信小程序请求封装

request.js

 1 /**
 2  * @author lr
 3  */ 
4

5
// 登录请求头 6 var header = { 7 "content-type": "application/json;charset=utf-8", // 请求数据类型根据需求自行更改 8 os: "android/ios", 9 version: "1.0.0", 10 }; 11 // url请求前缀(这里是开发配置,线上环境和上线测试应使用域名) 12 const BaseUrl = "http:192.168.0.110:8000" 13 /** 14 * function: 根据需求处理请求参数:添加固定参数配置等 15 * @params 请求参数 16 */ 17 function dealParams(params) { 18 console.log("请求参数:", params); 19 return params; 20 } 21 22 /** 23 * 供外部get请求调用 24 */ 25 function get(url, params, onSuccess, onFailed, useToken) { 26 // console.log("请求方式:", "GET"); 27 request(url, params, "GET", onSuccess, onFailed, useToken); 28 } 29 30 /** 31 * 供外部post请求调用 32 */ 33 function post(url, params, onSuccess, onFailed, useToken) { 34 // console.log("请求方式:", "POST"); 35 request(url, params, "POST", onSuccess, onFailed, useToken); 36 } 37 38 /** 39 * function: 封装网络请求 40 * @url URL地址 41 * @params 请求参数 42 * @method 请求方式:GET/POST 43 * @onSuccess 成功回调 44 * @onFailed 失败回调 45 * @useToken 是否使用token(不使用token调用时填入任意参数即可 如1) 46 */ 47 48 function request(url, params, method, onSuccess, onFailed, useToken) { 49 // 判断是否携带token,token在用户登录后保存在app.js定义的对象中可根据自己保存策略获取。 50 useToken == null || useToken == "undefined" ? 51 (header["Authorization"] = "Bearer " + getApp().globalData.token) : 52 delete header.Authorization; //wx.getStorageSync("token") 53 wx.showLoading({ 54 title: "正在加载中...", 55 }); 56 // console.log("请求头:", header); 57 wx.request({ 58 url: BaseUrl + url, 59 data: dealParams(params), 60 method: method, 61 header: header, 62 success: function (res) { 63 wx.hideLoading(); 64 console.log("响应:", res.data); 65 if (res.data) { 66 /** start 根据需求 接口的返回状态码进行处理 */ 67 if (res.statusCode == 200) { 68 onSuccess(res.data); //request success 69 } else { 70 onFailed(res.data.message); //request failed 71 } 72 /** end 处理结束*/ 73 } 74 }, 75 fail: function (error) { 76 // onFailed(""); //failure for other reasons 77 console.log(error); 78 }, 79 }); 80 } 81 82 // 1.通过module.exports方式提供给外部调用 83 module.exports = { 84 postRequest: post, 85 getRequest: get 86 };

引用:import http from '../../utils/request.js'

调用:

// 带token
http.getRequest('/reserve/personal/getOneList', {resId:options.resId},
      (res)=>{
        if (res.code == '200') {
          that.setData({ tableData: res.rows[0]})
        }
      },
     (res)=>{ }
    )
// 不带token
http.getRequest('/reserve/personal/getOneList', {resId:options.resId},
      (res)=>{
        if (res.code == '200') {
          that.setData({ tableData: res.rows[0]})
        }
      },
     (res)=>{ },1
    )
原文地址:https://www.cnblogs.com/yanyunpiaomaio/p/13291804.html