欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

小程序记录

程序员文章站 2022-08-05 21:47:31
1,封装请求方法 1.方法封装(新建文件夹utils,工具文件,在文件夹下创建http.js文件,用于对方法封装)http.js: 2,调用 ......

1,封装请求方法

1.方法封装(新建文件夹utils,工具文件,在文件夹下创建http.js文件,用于对方法封装)
http.js:

var app = getapp();
//项目url相同部分,减轻代码量,同时方便项目迁移
var host = 'https://xxx.com/';

/**
 * post请求,
 * url:接口
 * postdata:参数,json类型
 * dosuccess:成功的回调函数
 * dofail:失败的回调函数
 */
function request(url, postdata, dosuccess, dofail) {
  wx.request({
    //项目的真正接口,通过字符串拼接方式实现
    url: host + url,
    header: {
      "content-type": "application/json;charset=utf-8"
    },
    data: postdata,
    method: 'post',
    success: function (res) {
      //参数值为res.data,直接将返回的数据传入
      dosuccess(res.data);
    },
    fail: function () {
      dofail();
    },
  })
}

//get请求,不需传参,直接url调用,
function getdata(url, dosuccess, dofail) {
  wx.request({
    url: host + url,
    header: {
      "content-type": "application/json;charset=utf-8"
    },
    method: 'get',
    success: function (res) {
      dosuccess(res.data);
    },
    fail: function () {
      dofail();
    },
  })
}
module.exports.postdata = request;
module.exports.getdata = getdata;

2,调用

//引入代码
var http = require("../../../utils/http.js")
//page({..
//调用方法
http.getdata('api/v1/common/basic/query/setting.htm', (data) => {
      var that = this;
      console.log(data)
      // that.setdata({
      //   picturelist: data.rows
      // })
      //我后面测试了一下,直接this.setdata也可以,但是因为我在没有使用封装方法的时候
      //this.setdata报过错,不能直接用this,所以我在赋值的时候一般都会加上var that = this;
      //这句话算是一个不是习惯的习惯
    }, (data)=>{
      console.log(data)
    });