操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    wx.request({
      url: 'test', 
      data: {
      },
      header: {
        'content-type': 'application/json' 
      },
      success (res) {
        console.log(res.data)
      }
    })

    這里 url 即請求的 api 接口地址 ,data 即傳遞的參數 , 設置請求類型 , 調用成功返回 res ,而api接口返回的數據存放在 res.data 中 。

    data 說明:

    最終發送給服務器的數據是 類型,如果傳入的 data 不是 類型,會被轉換成 。

    的 -type 類型有兩種 :

    /x-www-form- 和 /json

    對于 POST 方法且 ['-type'] 為 /json 的數據,會對數據進行 JSON 序列化 , 以 json 形式傳遞到后臺 api ,后臺 api 接收數據是接收的是 json 數據 。

    對于 POST 方法且 ['-type'] 為 /x-www-form- 的數據,是以表單形式傳遞到后臺 api ,后臺 api 接收數據將接收具體的請求 form 表單參數 。

    小程序使用 wx.() 獲取報修列表數據

    獲取報修列表數據的代碼如下:

    getrepairList:function(e){
        let that = this
        wx.request({
          url: app.serverUrl + 'api/v1/repair/list/' + that.data.page + "/" + that.data.pageSize,
    

    微信小程序調用接口_微信小程序 調用 頁面方法_微信小程序調用電子海圖

    data: { openid: app.globalData.openid }, header: { 'content-type': 'application/json' // 默認值 }, success: function (res) { console.log(res.data) if (that.data.page == 1) { that.setData({ repairList: [], }) } var repairList = that.data.repairList for (var i = 0; i < res.data.list.length; i++) { repairList.push(res.data.list[i]) } that.setData({ repairList: repairList }); if (res.data.list.length >=that.data.pageSize) { that.data.page++; that.setData({

    微信小程序 調用 頁面方法_微信小程序調用電子海圖_微信小程序調用接口

    hasNextPage: true, loadMoreText: "加載中..." }) } else { that.setData({ hasNextPage: false, loadMoreText: "我是有底線的" }) } wx.stopPullDownRefresh() //停止下拉刷新 } }) },

    詳細解釋:

    1、 wx.() 傳遞參數為 , 的 '-type': '/json' ,調用成功則后臺 api 返回的是分頁的 json 格式數據 。

    2、wx.() 調用接口成功后 , 方法中使用了分頁顯示的邏輯 ,若當前頁數 page=1 則,首先清空 數組,然后將請求到的數組數據 push 到 ,若當前頁數 page 大于 1 ,則在 直接追加數據 。

    3、加載更多處理:判斷 api 返回的數組長度是否大于每頁請求數,這里我們的 =10 ,即 res.data.list. >=that.data. ,認為是存在下一頁 ,當前 page+1 ,同時設置頁面最底部顯示“加載中”字樣,若 res.data.list. < that.data. , 認為是到達了最后一頁 ,頁面最底部顯示“我是有底線的” ,同時 : false, 用戶上滑動頁面將不再請求 api 數據 。

    if (res.data.list.length >=that.data.pageSize) {
              that.data.page++;
              that.setData({
                hasNextPage: true,
                loadMoreText: "加載中..."
              })
    

    微信小程序調用接口_微信小程序 調用 頁面方法_微信小程序調用電子海圖

    } else { that.setData({ hasNextPage: false, loadMoreText: "我是有底線的" }) } wx.stopPullDownRefresh() //停止下拉刷新

    下來刷新、加載更多的代碼如下:

    /**
       * 頁面相關事件處理函數--監聽用戶下拉動作
       */
      onPullDownRefresh: function () {
        this.setData({
          page: 1
        })
        this.getrepairList()
      },
      /**
       * 頁面上拉觸底事件的處理函數
       */
      onReachBottom: function () {
        if (this.data.hasNextPage == true) {
    

    微信小程序 調用 頁面方法_微信小程序調用接口_微信小程序調用電子海圖

    this.getrepairList() } },

    微信小程序中,下拉刷新、加載更多的操作實現起來很簡單 ,但是必須掌握, 在 和 ios 開發中,很多同學學習下拉刷新、加載更多都無從下手 ,使用的第三方代碼庫也是參差不齊 。

    這一點我認為小程序開發為大家節省了很多時間 。

    后臺 api 接口如何接收參數?如何返回 json ?

    路由的使用我們之前已經講過,這里不再講解 ,不理解的同學前往歷史文章中查看 。

    獲取小程序提交的參數,這里使用 .args.get() 方法獲取,若小程序發送的form表單參數,則使用 .form.get() 方法獲取 ,注意理解這兩種接收參數的形式 ,在與其人合作開發的時候 ,按照要求使用 。

    openid = request.args.get("openid")

    是 自帶的分頁查詢微信小程序調用電子海圖,使用十分方便 ,但這里有個重要的參數是微信小程序調用電子海圖,若不設置這個參數會出現調用接口返回 404 的情況,下面先看一下 api 接口詳細的實現代碼 :

    @api.route("/v1/repair/list//", methods=['GET', 'POST'])
    def repairList(page, per_page):
        openid = request.args.get("openid")
        dataw = RepairServiceSheet.query.filter(RepairServiceSheet.openid == openid).order_by(
            RepairServiceSheet.id.desc()).paginate(page, per_page=per_page, error_out=False)
        jsonData = []
        for pet in dataw.items:
            repairDate = ''
            if pet.repairDate is not None:
                repairDate = pet.repairDate.strftime('%Y-%m-%d %Z %H:%M:%S')
            o = {'openid': pet.openid, 'id': pet.id, "address": pet.address, "description": pet.description,
                 "applicantName": pet.applicantName, "remarks": pet.remarks, "mobile": pet.mobile, "type": pet.type,
                 "imageUrl": pet.imageUrl, "radioUrl": pet.radioUrl, "repairDate": repairDate}
    

    微信小程序 調用 頁面方法_微信小程序調用電子海圖_微信小程序調用接口

    jsonData.append(o) p = {'page': dataw.page, "list": jsonData} return jsonify(p)

    當分頁查詢報修記錄,所查詢頁數據為空,接口會返回 404 ,這樣對于前段來說是不友好的,小程序代碼會報錯,截圖如下:

    如何解決這個問題呢?只需要在 加上 =False 即可

    原始代碼

    dataw = RepairServiceSheet.query.filter(RepairServiceSheet.openid == openid).order_by(
            RepairServiceSheet.id.desc()).paginate(page, per_page=per_page)

    修改后的代碼

    dataw = RepairServiceSheet.query.filter(RepairServiceSheet.openid == openid).order_by(
            RepairServiceSheet.id.desc()).paginate(page, per_page=per_page, error_out=False)

    詳細解釋: 在 的分頁查詢中 , 函數有一下四個參數

    page=None,  表示頁數
    per_page=None,  表示每頁顯示的記錄條數
    error_out=True,  默認為True ,若不傳error_out則為True ,在下面情況下返回404 
        找不到任何項目,并且page不是1
        page小于1,或者per_page為負數
        page或per_page不是整數
        page大于總頁數
    max_per_page=None ,表示每頁顯示的最大記錄條數

    通過以上的講解,我們知道為了解決接口 404 錯誤的問題 ,為函數添加了第三個參數并設置為False。

    總結:

    本文我們以微信小程序請求報修數據列表api接口為例,講解了小程序如何發起請求、如何對數據進行分頁處理,flask后臺如何編寫api,如何接收參數,如何處理404錯誤的問題 。通過學習,你應該能夠獨立編寫一個這樣一個流程功能 ,包括小程序端和后臺api接口。

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有