您好,登錄后才能下訂單哦!
這篇“微信小程序中wx.request封裝的方法”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“微信小程序中wx.request封裝的方法”文章吧。
業務相關 js
// 獲取剩余金額 --- GET 請求無參數 getBalance: function () { api.getBalance().then(data => { let balance = data.data balance.balance = balance.balance.toFixed(2) this.setData({ balance: { ...balance } }) }) }, // 獲取昨日消費數據 --- 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 }) }) }
從上面的代碼是業務部分代碼,不知道你是否喜歡這種方式呢,接下來就看看 封裝方式 和 業務對應的配置 js
使用 Promise 封裝 wx.request
我們大部分網站都是用 cookie 來維護登錄狀態的,但是小程序是無法用 cookie 來維護登錄狀態的,那么我們先獲取請求頭的 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 }
封裝的代碼很簡單,接下來就是配置代碼了
業務對應的配置 js
// 用 import 或者 require 引入模塊 import util from '../../../util/util.js' var Promise = require('../../../plugin/promise.js') // 請注意 Promise 要手動引入,內測版是自動引入的 // 獲取個人信息 const API_USERINFO = "https://www.***/get" // 獲取剩余金額 const API_BALANCE = 'https://www.***/get' // 獲取昨日消費數據 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) }) } // 獲取昨日消費數據 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封裝的方法”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。