微信小程序 封装接口

1.util-util.js

//封装接口
let baseURL = 'http://127.0.0.1:3000/';   //接口路径
let request = function (url, options = {}) {
  let myUrl = `${baseURL}${url}`;
  // 处理method,data,params=> 查询字符串
  // 如果有请求头
  // 合并对象data
  // 如果params 添加查询字符串参数
  //接口的参数
  if (options.params) {
    let urlQueryString = qs.stringify(options.params, {   //使用到qs ,先下载,后引入
      addQueryPrefix: true,
      allowDots: true, 
    });
    myUrl += urlQueryString;
  }

  return new Promise((resolve, reject) => {
    wx.showLoading({
      title: '玩命加载中...',
    });
    wx.request({
      method: 'get',
      url: myUrl,
      success: resolve,
      fail: reject,
      complete: wx.hideLoading,
      ...options  //直接展开
    });
  });
}

  2.引入qs

const  qs= require('../static/js/qs.js');

3.将这个接口暴露出去

module.exports = {
  formatTime: formatTime,
  request:request
}

 4.在app.js引进工具对象,便于其他页面使用

const { request, formatTime }=require('./utils/util.js');
//向外提供属性
  globalData: {
    userInfo: null,
    formatTime,
     request
  }

5.先 在请求的页面引入,使用 async  await

引入

//解构赋值
const  { request } =getApp().globalData;

使用 async  await

 let swipe = await request('slides', {
      method: 'get',
      params: {
        a: 1, b: 2
      },
    });

猜你喜欢

转载自www.cnblogs.com/guangzhou11/p/10056994.html