Explicación detallada de la solicitud de paquete del subprograma de WeChat wx.request

Inserte la descripción de la imagen aquí
Para solicitudes encapsuladas generales, puede crear archivos en server.js en la carpeta utils

// 数据请求 wx.request
// const url='https://cnodejs.org/api/v1'
var sendRrquest = function(url, method, data, header) {
    
    
  var status = true;

  var promise = new Promise(function(resolve, reject) {
    
    
      wx.getNetworkType({
    
    
          success: function(res) {
    
    
              // 返回网络类型2g,3g,4g,wifi, none, unknown
              var networkType = res.networkType
              if (networkType == "none") {
    
    
                  wx.hideLoading();
                  //没有网络连接
                  wx.showModal({
    
    
                      title: '提示',
                      content: '网络连接失败,请检查您的网络设置',
                      showCancel: false,
                      success: function(res) {
    
    
                          if (res.confirm) {
    
    
                              //返回res.confirm为true时,表示用户点击确定按钮
                              console.log('表示用户点击确定按钮')

                          }
                      }
                  })
                  status = false;
              } else if (networkType == "unknown") {
    
    
                  wx.hideLoading();
                  //未知的网络类型
                  wx.showModal({
    
    
                      title: '提示',
                      content: '未知的网络类型,请检查您的网络设置',
                      showCancel: false,
                      success: function(res) {
    
    
                          if (res.confirm) {
    
    
                              //返回res.confirm为true时,表示用户点击确定按钮
                              console.log('表示用户点击确定按钮')
                          }
                      }
                  })
                  status = false;
              } else {
    
    
                  wx.request({
    
    
                      url: url,
                      data: data,
                      method: method,
                      header: header,
                      success: resolve,
                      fail: reject
                  })

              }
          }
      })
      return status
  });
  return promise;
};


// header 头部
function reqHeader() {
    
    
  var header = {
    
    
      'X-Xbyjshop-Token': wx.getStorageSync('token'),
      'content-type': 'application/json/x-www-form-urlencoded; charset=utf-8',
      'cookie': wx.getStorageSync("sessionid"),
  }
  return header
}



// 把方法暴露接口出来供别的页面使用[前面为名字,后面为方法]
module.exports = {
    
    
  reqHeader: reqHeader,
  sendRrquest: sendRrquest,
}

Luego llámelo cuando sea necesario. Aquí está la interfaz proporcionada por cnodejs

var util = require('../../utils/server'),
header = util.reqHeader();  
Page({
    
    

        /**
         * 页面的初始数据
         */
        data: {
    
    

        },

        /**
         * 生命周期函数--监听页面加载
         */
        onLoad: function (options) {
    
    
                util.sendRrquest('https://cnodejs.org/api/v1/topics', 'GET','data', header)
                        .then(function (response) {
    
    
                                console.log(response)

                        }, function (error) {
    
    
                                console.log(error);
                        })
        },

        /**
         * 生命周期函数--监听页面初次渲染完成
         */
        onReady: function () {
    
    

        },

        /**
         * 生命周期函数--监听页面显示
         */
        onShow: function () {
    
    

        },

        /**
         * 生命周期函数--监听页面隐藏
         */
        onHide: function () {
    
    

        },

        /**
         * 生命周期函数--监听页面卸载
         */
        onUnload: function () {
    
    

        },

        /**
         * 页面相关事件处理函数--监听用户下拉动作
         */
        onPullDownRefresh: function () {
    
    

        },

        /**
         * 页面上拉触底事件的处理函数
         */
        onReachBottom: function () {
    
    

        },

        /**
         * 用户点击右上角分享
         */
        onShareAppMessage: function () {
    
    

        }
})

https://www.jianshu.com/p/2e80c96ce712 Consulte
PS, cuando haga una llamada más tarde, puede obtener y publicar

Este es el paquete de uniapp

Inserte la descripción de la imagen aquí

https://blog.csdn.net/qq_42894622/article/details/90070533
Esta es una referencia para varios formatos de parámetros especificados por Content-Type

form-data、x-www-form-urlencoded、application/json、json

Parámetros del encabezado de la solicitud

'X-Xbyjshop-Token': wx.getStorageSync('token'),//带token
  'content-type': 'application/json/x-www-form-urlencoded; charset=utf-8',//带指定参数的格式
'cookie': wx.getStorageSync("sessionid"),//带cookie参数

Método de paso

get post
get es un método de empalme directo, y
Inserte la descripción de la imagen aquí
los parámetros se empalman juntos de manera empalmada

la publicación se define en los datos
Inserte la descripción de la imagen aquí
directamente definir los parámetros en los datos para llamar

Supongo que te gusta

Origin blog.csdn.net/m0_53912016/article/details/114997250
Recomendado
Clasificación