小程序发送请求封装(request)

1、新建service文件用于请求
2、在service里面新建config.js文件

//把请求方法的相同的部分拿出来,主要为了全局引用只用配置一次
const baseURL = "http://123.207.32.32:8000";

export{
  baseURL
}

3、在service下新建network.js用于封装小程序的wx.request()方法

import {
  baseURL
} from "./config.js"
export default function request(options){
  return new Promise((resolve, reject) => {
    wx.request({
    //这里使用到config.js的全局url地址
      url: baseURL + options.url,
      method: options.method || 'get',
      data: options.data || null,
      success: resolve,
      fail: reject
    })
 })
}

4、分别新建xxx.js文件用于不同地方的请求,这里是分类里面的相关请求

import request from "./network.js"

//具体要请求什么数据
export function getCategoryList() {
//这里调用network.js里面封装的请求方法
  return request({
    url: "/category"
  })
}

export function getSubcategory(maitKey) {
  return request({
    url: '/subcategory',
    data: {
      maitKey
    }
  })
}

export function getCategoryDetail(miniWallkey,type) {
  return request({
    url: '/subcategory/detail',
    data: {
      miniWallkey,
      type
    }
  })
}

5、具体发送请求的地方引入相关变量,然后使用方法即可

//用到什么请求就从对应的请问配置文件中拿出什么方法来使用
import {
  getCategoryList,
  getSubcategory,
  getCategoryDetail

} from '../../service/category.js'


Page({

//请求分类信息
  _getCategory(){
  //这个方法就是category.js里面的方法,在这里就不用写地址那些了,直接调用就可以得到返回的结果
    getCategoryList().then(res =>{
      console.log(res);
      var list = res.data.data.category.list;
      
      this.setData({
        categoryList:list
      });

      const index = this.data.clickindex;
      console.log(this.data.categoryList)
      this._getCategoryDetail(index);
    });
  },

})
发布了66 篇原创文章 · 获赞 12 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/zlk4524718/article/details/95769775