微信小程序封装请求

根目录新建一个文件夹

里面新建三个文件分别为:request.js,api.js,fetch.js

image.png

1.request.js文件下的代码

function request(params) {
  // 封装网络请求的代码
  return new Promise(function (resolve, reject) {
    wx.request({
      url: params.url,
      data: params.data || {},
      header: params.header || {},
      method: params.method || 'GET',
      dataType: 'json',
      success: function(res) {
        resolve(res.data)
      },
      fail: function(err) {
        wx.showToast({
          title: err || '请求错误!',
        })
        reject(err)
      }
    })
  }) 
}
// nodejs common
module.exports = {
  requestApi: request
}

2.api文件下的代码

// 开发的服务器
var baseUrl = 'http://kumanxuan1.f3322.net:8001'//你需要请求路径的接口
// 测试的服务器
// var baseUrl = 'http://192.168.113.116:8637'
// 正式环境
// var baseUrl = 'http://www.mysite.com'

var homeApi = baseUrl + '/topic/list'//接口地址+按需请求的接口地址
var loginApi = baseUrl + '/auth/loginByWeb'

// 导出
module.exports = {
  homeApi: homeApi,
  loginApi: loginApi
}

3.fetch.js下的代码

// 引入api.js文件
var api = require('./api.js')
// / 引入request.js文件
var request = require('./requst.js')

// get请求
function getHome(params) {
  return request.requestApi({
    url: api.homeApi
  })
}

// post请求
function LoginFn(params) {
  return request.requestApi({
    url: api.loginApi,
    data: params,
    header: {
      'content-type': 'application/x-www-form-urlencoded'
    },
    method: 'POST'
  })
}

// 导出
module.exports = {
  getHome: getHome,
  LoginFn: LoginFn
}

4.请求页面导入fetch文件就可

const fetch = require('../../request/fetch')

5.请求页面中直接调用-get请求

 // 发起get请求
  sendGetFn(){
    // 查文档
    fetch.getHome({
      page: 1,
      size: 10
    }).then(res=>{
      console.log(res)
    })
  },

5.请求页面中直接调用-post请求

 // Post请求
  sendPostFn(){
    fetch.LoginFn({
      username: "wx",
      pwd: "wx"
    }).then(res=>{
      console.log(res)
    })
  }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。