微信小程序中wx.request封裝的方法

這篇“微信小程序中wx.request封裝的方法”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內(nèi)容,內(nèi)容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“微信小程序中wx.request封裝的方法”文章吧。

創(chuàng)新互聯(lián)是一家專業(yè)提供察哈爾右翼后企業(yè)網(wǎng)站建設,專注與網(wǎng)站設計、網(wǎng)站制作H5網(wǎng)站設計、小程序制作等業(yè)務。10年已為察哈爾右翼后眾多企業(yè)、政府機構等服務。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設計公司優(yōu)惠進行中。

業(yè)務相關 js

// 獲取剩余金額 --- GET 請求無參數(shù)
  getBalance: function () {
    api.getBalance().then(data => {
      let balance = data.data
      balance.balance = balance.balance.toFixed(2)
      this.setData({
        balance: { ...balance }
      })
    })
  },
  // 獲取昨日消費數(shù)據(jù) --- POST 請求,使用 application/x-www-form-urlencoded 傳參
  getLastCost: function () {
    let yestoday = util.transDate('', -1)
    let data = {
      subAccountIdx: 0,
      startDay: yestoday,
      endDay: yestoday,
      type: 0,
      business: 0,
      export: false
    }
    api.getLastCost(data, 'application/x-www-form-urlencoded', 'POST').then(data => {
      let lastCost = data.data.record.totalConsumeMoney
      lastCost = lastCost.toFixed(2)
      this.setData({
        lastCost: lastCost
      })
    })
  }

從上面的代碼是業(yè)務部分代碼,不知道你是否喜歡這種方式呢,接下來就看看 封裝方式 和 業(yè)務對應的配置 js

使用 Promise 封裝 wx.request

我們大部分網(wǎng)站都是用 cookie 來維護登錄狀態(tài)的,但是小程序是無法用 cookie 來維護登錄狀態(tài)的,那么我們先獲取請求頭的 cookie, 然后將 cookie 保存在全局變量當中(相信獲取 cookie 肯定沒問題吧, 這部分就不展示了)

// wx.request 封裝
var app = getApp() 
function wxRequest(url, config, resolve, reject) {
  let { 
    data = {},
    contentType = 'application/json',
    method = 'GET',
    ...other
  } = {...config}
  wx.request({
    url: url,
    data: {...data},
    method: method,
    header: {
      'content-type': contentType,
      'Cookie': app.globalData.cookie  // 全局變量中獲取 cookie
    },
    success: (data) => resolve(data),
    fail: (err) => reject(err)
  })
}
module.exports = {
  wxRequest: wxRequest
}

封裝的代碼很簡單,接下來就是配置代碼了

業(yè)務對應的配置 js

// 用 import 或者 require 引入模塊 
import util from '../../../util/util.js'
var Promise = require('../../../plugin/promise.js')    // 請注意 Promise 要手動引入,內(nèi)測版是自動引入的
// 獲取個人信息
const API_USERINFO = "https://www.***/get"
// 獲取剩余金額
const API_BALANCE = 'https://www.***/get'
// 獲取昨日消費數(shù)據(jù)
const API_LASTCOST = 'https://www.***/get'
// 獲取個人信息事件  
function getUserInfo(data, contentType) {
  var promise = new Promise((resolve, reject) => {
    util.wxRequest(API_USERINFO, { data, contentType }, resolve, reject)
  })
  // return promise
  return promise.then(res => {
    return res.data
  }).catch(err => {
    console.log(err) 
  })
}
// 獲取剩余金額事件
function getBalance(data, contentType) {
  var promise = new Promise((resolve, reject) => {
    util.wxRequest(API_BALANCE, { data, contentType }, resolve, reject)
  })
  // return promise
  return promise.then(res => {
    return res.data
  }).catch(err => {
    console.log(err)
  })
}
// 獲取昨日消費數(shù)據(jù)
function getLastCost(data, contentType, method) {
  var promise = new Promise((resolve, reject) => {
    util.wxRequest(API_LASTCOST, { data, contentType, method }, resolve, reject)
  })
  // return promise
  return promise.then(res => {
    return res.data
  }).catch(err => {
    console.log(err)
  })
}
module.exports = {
  getUserInfo: getUserInfo,
  getBalance: getBalance,
  getLastCost: getLastCost
}

以上就是關于“微信小程序中wx.request封裝的方法”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對大家有幫助,若想了解更多相關的知識內(nèi)容,請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

新聞名稱:微信小程序中wx.request封裝的方法
網(wǎng)站路徑:http://muchs.cn/article10/ghssgo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、虛擬主機、品牌網(wǎng)站設計、網(wǎng)站維護、移動網(wǎng)站建設

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務器托管