温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2022-04-20 14:27:42 来源:亿速云 阅读:264 作者:iii 栏目:大数据

这篇“微信小程序中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封装的方法”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI