微信小程序 之 请求函数封装
生活随笔
收集整理的這篇文章主要介紹了
微信小程序 之 请求函数封装
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
封裝的request的代碼
/*** @desc API請求接口類封裝*/ /*** POST請求API* @param {String} url 接口地址* @param {Object} params 請求的參數(shù)* @param {Object} sourceObj 來源對象* @param {Function} successFun 接口調(diào)用成功返回的回調(diào)函數(shù)* @param {Function} failFun 接口調(diào)用失敗的回調(diào)函數(shù)* @param {Function} completeFun 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)*/ function requestPostApi(url, params, sourceObj, successFun, failFun, completeFun) {requestApi(url, params, 'POST', sourceObj, successFun, failFun, completeFun) } /*** GET請求API* @param {String} url 接口地址* @param {Object} params 請求的參數(shù)* @param {Object} sourceObj 來源對象* @param {Function} successFun 接口調(diào)用成功返回的回調(diào)函數(shù)* @param {Function} failFun 接口調(diào)用失敗的回調(diào)函數(shù)* @param {Function} completeFun 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)*/ function requestGetApi(url, params, sourceObj, successFun, failFun, completeFun) {requestApi(url, params, 'GET', sourceObj, successFun, failFun, completeFun) } /*** 請求API* @param {String} url 接口地址* @param {Object} params 請求的參數(shù)* @param {String} method 請求類型* @param {Object} sourceObj 來源對象* @param {Function} successFun 接口調(diào)用成功返回的回調(diào)函數(shù)* @param {Function} failFun 接口調(diào)用失敗的回調(diào)函數(shù)* @param {Function} completeFun 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)*/ function requestApi(url, params, method, sourceObj, successFun, failFun, completeFun) {if (method == 'POST') {var contentType = 'application/x-www-form-urlencoded'} else {var contentType = 'application/json'}wx.request({url: url,method: method,data: params,header: {'Content-Type': contentType},success: function (res) {typeof successFun == 'function' && successFun(res.data, sourceObj)},fail: function (res) {typeof failFun == 'function' && failFun(res.data, sourceObj)},complete: function (res) {typeof completeFun == 'function' && completeFun(res.data, sourceObj)}}) } module.exports = { requestPostApi,requestGetApi }使用第一步
在app.js中引入封裝的文件const request = require(‘./utils/request.js’) ,然后定義接口域名apiUrl: ‘https://www.geekxz.com‘,
/*** @desc 簡單API請求示例*/ const request = require('./utils/request.js') App({request: request,getUserInfo:function(cb){var that = thisif(this.globalData.userInfo){typeof cb == "function" && cb(this.globalData.userInfo)}else{//調(diào)用登錄接口wx.login({success: function () {wx.getUserInfo({success: function (res) {that.globalData.userInfo = res.userInfotypeof cb == "function" && cb(that.globalData.userInfo)}})}})}},/*** 定義的接口域名*/apiUrl: 'https://www.geekxz.com',globalData:{userInfo:null} })調(diào)用封裝好的方法
var app = getApp() Page({/*** 存儲頁面數(shù)據(jù)*/data: {expressData : {},},/*** 接口調(diào)用成功處理*/successFun: function(res, selfObj) {selfObj.setData({expressData : res,})},/*** 接口調(diào)用失敗處理*/failFun: function(res, selfObj) {console.log('failFun', res)},/*** 頁面加載時初始化數(shù)據(jù)*/onLoad: function() {var url = app.apiUrl+'/query'var params = {type : 'zhongtong',postid : '424621263550',}//@todo 網(wǎng)絡(luò)請求API數(shù)據(jù)app.request.requestGetApi(url, params, this, this.successFun, this.failFun)} }).
總結(jié)
以上是生活随笔為你收集整理的微信小程序 之 请求函数封装的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据查询基础
- 下一篇: LeetCode 23. Merge k