微信小程序api获取数据的请求进行封装

微信小程序关于如何对api获取数据的请求进行封装

为了方便数据请求的管理,老师今天给我们讲解了rich-text的相关知识点,按照自己的理解进行总结
//env.js主要配置的是公共的baseUrl
module.exports={
  //开发环境
  dev:{
    baseUrl:'http://127.0.0.1:8080'
  },
  //生产环境
  prod:{
    baseUrl:'https://api.it120.cc'
  },
  //测试环境
  test:{
    baseUrl:'https://api.1909A.com'
  }
}
//request.js文件再次更加细化封装了wx.request
const { baseUrl } = require('./env.js').prod
const vipUrl = "sbq"
module.exports = {
  // request是一个函数,封装了request,其中的参数不填的话就会有默认值
  request:function(url,method="GET",data={},isSubDomain=true){
    //把正确的请求地址拼接起来
    let fullurl = `${baseUrl}/${isSubDomain?vipUrl:""}/${url}`
    //Promise 对象用于表示一个异步操作的最终完成 (或失败), 及其结果值.
    return new Promise((resolve,reject)=>{
        wx.request({
          url: fullurl,
          method,
          data,
          header:{
            //此处的头部信息要注意接口文档
            "content-type":"pplication/x-www-form-urlencoded"
          },
          //成功回调
          success(res){
            if(res.statusCode === 200 && res.data.code===0){
              //返回的数据
              resolve(res.data.data)
            }else{
              console.log("接口有问题")
            }
          },
          //失败回调
          fail(){
            console.log("接口问题")
          }
        })
    })
  }
}
//api.js执行了一个回调函数,调用了request.js的request方法,request方法呢中有一个promise对象成功后返回了获取的数据,因为return返回了promise函数,又因为promise函数=获取的数据,所以request返回给api.js了后取得数据
const {request} = require('./request.js')
module.exports={
  // 商品列表接口
  goodsItem:()=>{
    return request("shop/goods/list","GET","",true)
  }
}
//xxx.js文件调用了api中的方法,上边说到api中的方法返回的是request中的数据,所以api中的方法就有了获取的数据,js中调用了方法就获取到了数据
const { goodsItem }=require('../../http/api.js')

.........

     goodsItem().then(res=>{
          this.setData({
           goodItem:res
         })
     })

总的流程呢就是

页面中获取数据的方法执行————>执行js中的方法————>js引入并执行api.js中的方法————>api.js中的方法返回了request.js中的request方法————>request.js中的request方法return了一个promise对象————>promise对象中执行wx.request方法获取数据并返回给request————>所以request.js中的request方法就有了数据————>所以api.js中的方法就有了数据————>js文件调用就有了获取的数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值