1、小程序中的各類封裝json
1.網絡請求小程序
utils/request.js: 核心的API請求接口類封裝
POST請求方式: function requestPostApi(url, params, sourceObj, successFun, failFun, completeFun) { requestApi(url, params, 'POST', sourceObj, successFun, failFun, completeFun) } GET請求方式: function requestGetApi(url, params, sourceObj, successFun, failFun, completeFun) { requestApi(url, params, 'GET', sourceObj, successFun, failFun, completeFun) } POST和GET方式都可使用 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 }
參數:api
url:接口路徑 contentType:請求頭設置 params:請求的參數 sourceObj:指定來源對象 successFun:接口調用成功返回的回調函數 failFun: 接口調用失敗的回調函數 completeFun:接口調用結束的回調函數(調用成功亦或失敗都會執行該函數)
使用(本身項目中的使用方式,粘貼給你們): 在app.js中引入request.js //app.js const request = require('./utils/request.js') //注意 App({ request: request, //注意 onLaunch: function() { if (!wx.cloud) { console.error('請使用 2.2.3 或以上的基礎庫以使用雲能力') } else { wx.cloud.init({ //此處使用了小程序雲開發 //獲取調用api者的信息 traceUser: true, //環境ID env: '***' }) } })
index.js(此處摘取本身項目中使用到的部分) //引入 var app = getApp(); // 天氣獲取 getWeather() { let url = 'https://free-api.heweather.com/s6/weather'; let params = { //參數 location: app.globalData.defaultCity, key: app.globalData.config.weatherKey } //調用Get函數獲取天氣信息 app.request.requestGetApi(url, params, this, this.weatherSucFun, this.weatherFailFun); }, /* 接口調用成功返回的回調函數*/ weatherSucFun(res) {// // console.log(res); app.globalData.weatherData = res.HeWeather6[0]; this.setData({ weatherData: app.globalData.weatherData.now, //今每天氣狀況數組 dress: res.HeWeather6[0].lifestyle[1], //生活指數 today: res.HeWeather6[0].update.loc //當前時間 }); }, /*天氣接口調用失敗的回調函數*/ weatherFailFun(res) { console.log('weatherFailFun', res) },
二、用戶提示數組
//模態框提示封裝(utils) function showModal(titles, content) { wx.showModal({ title: titles, content: content, success: function (res) { if (res.confirm) { console.log('用戶點擊肯定') } else if (res.cancel) { console.log('用戶點擊取消') } } }) } //showToast function showToast(titles, icon) { wx.showToast({ title: titles, icon: icon, duration: 1500 }) setTimeout(function () { wx.hideLoading() }, 2000) } //引入 var utils = require('../utils/util.js'); //調用 utils.showToast('標題', '圖標'); utils.showModal('標題', '內容');
好啦,今天就到這裏了,但願你們有更好的的方法可留言亦或加微信微信
掃描下方二維碼便可添加好友加羣交流哦網絡