中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

微信小程序網絡封裝(簡單高效)

發布時間:2020-10-02 20:33:38 來源:腳本之家 閱讀:152 作者:Denluoyia 欄目:web開發

廢話引言

小程序雖然出世很久了,但一直沒怎么接觸到小程序開發。吉他興趣班老師想弄一個小程序發布課程信息和打卡功能,作為IT一員就自愿加入了這個小程序開發小組中。雖然小程序面向的是前端工程師,但作為移動端程序猿感覺甚是友好,加上有點前端基礎就更是覺得入手很easy啦。

微信小程序的網絡請求很便捷,直接調用就可以了。但最好還是根據需求,處理一些參數回調信息,進行二次封裝,為整個小程序應用直接提供調方法接口豈不是更好?

利用網絡請求的一貫思維,分三個回調:onStart:開始請求, onSuccess:請求成功回調, onFailed:請求失敗回調, 意思就是字面意思~

netUtil.js 網絡請求工具封裝

在utils目錄下創建一個netUtil.js文件

/**
 * 供外部post請求調用
 */
function post(url, params, onStart, onSuccess, onFailed) {
 request(url, params, "POST", onStart, onSuccess, onFailed);
}

/**
 * 供外部get請求調用
 */
function get(url, params, onStart, onSuccess, onFailed) {
 request(url, params, "GET", onStart, onSuccess, onFailed);
}

/**
 * function: 封裝網絡請求
 * @url URL地址
 * @params 請求參數
 * @method 請求方式:GET/POST
 * @onStart 開始請求,初始加載loading等處理
 * @onSuccess 成功回調
 * @onFailed 失敗回調
 */
function request(url, params, method, onStart, onSuccess, onFailed) {
 onStart(); //request start
 wx.request({
 url: url,
 data: dealParams(params),
 method: method,
 header: { 'content-type': 'application/json' },
 success: function (res) {
  if (res.data) {
  /** start 根據需求 接口的返回狀態碼進行處理 */
  if (res.data.error_code == 0) {
   onSuccess(res.data); //request success
  } else {
   onFailed(res.data.msg); //request failed
  }
  /** end 處理結束*/
  }
 },

 fail: function (error) {
  onFailed(""); //failure for other reasons
 }
 })
}

/**
 * function: 根據需求處理請求參數:添加固定參數配置等
 * @params 請求參數
 */
function dealParams(params) {
 return params;
}

module.exports = {
 postRequest: post,
 getRequest: get,
}

小案例使用說明:笑話大全接口

簡要描述:用戶注冊接口
請求URL:http://v.juhe.cn/joke/content/list.php

請求方式:GET

參數:

參數名 必選 類型 說明
sort string 降序“des”,升序“asc”
page int 頁數,默認1
pageSize string 默認每頁加載20條數據
time string 時間戳10位
key string appkey

返回示例

{
 "error_code": 0,
 "reason": "Success",
 "result": {
  "data": [
   {
    "content": "某先生是地方上的要人。一天,他像往常一樣在書房里例覽當日報紙,突然對妻子大聲喊道:喂,安娜,你看到今天早報上的流言蜚語了嗎?真可笑!他們說,你收拾行裝出走了。你聽見了嗎?安娜、你在哪兒?安娜?啊!",
    "hashId": "90B182FC7F74865B40B1E5807CFEBF41",
    "unixtime": 1418745227,
    "updatetime": "2014-12-16 23:53:47"
   },
   {
    "content": "有一天我看著報紙,小聲嘟囔著一篇文章的題目鳥兒也有外語,丈夫聽了對了一句:鳥兒當然也有‘外遇'。原來丈夫聽錯了,我笑得前仰后合。",
    "hashId": "206F5C52FD2ED94772CBC66C8AC61F2A",
    "unixtime": 1418745227,
    "updatetime": "2014-12-16 23:53:47"
   }
  ]
 }
}

小程序頁面js文件中引入netUtil

var netUtil = require("../../utils/network.js"); //require引入
Page({
 data: {
 jokeList: {}
 },

 onLoad: function (options) {
 var url = "http://v.juhe.cn/joke/content/list.php";
 var params = {
  sort: "",
  page: 1,
  pagesize: 5,
  time: "1418816972",
  key: "746dfdb4cd8445d30a8f915fd2b5f76b",
 }

 netUtil.getRequest(url, params, this.onStart, this.onSuccess, this.onFailed); //調用get方法情就是戶數
 },

 onStart: function () { //onStart回調
 wx.showLoading({
  title: '正在加載',
 })
 },
 onSuccess: function (res) { //onSuccess回調
 wx.hideLoading();
 this.setData({
  jokeList: res.result.data //請求結果數據
 })
 },
 onFailed: function (msg) { //onFailed回調
 wx.hideLoading();
 if (msg) {
  wx.showToast({
  title: msg,
  })
 }
 },
})

在wxml文件中綁定請求的笑話大全列表:jokeList

<view>
 <block wx:for="{{jokeList}}" wx:for-item="item" wx:key="idx">
 <view class='joke_container'>
  <text>{{item.content}}</text>
 </view>
 </block>
</view>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

湟源县| 碌曲县| 高唐县| 林西县| 新昌县| 玉环县| 东乌珠穆沁旗| 黑龙江省| 府谷县| 松滋市| 姚安县| 伊川县| 会理县| 塔城市| 根河市| 平湖市| 彭山县| 余庆县| 青川县| 盐池县| 兰州市| 普格县| 汝州市| 上高县| 康平县| 龙胜| 淳化县| 文水县| 左权县| 马公市| 富川| 常宁市| 栾城县| 赫章县| 马边| 东至县| 石棉县| 南昌市| 昭通市| 克什克腾旗| 越西县|