Solution à la déconnexion et au rechargement pendant le développement de WeChat

Y2J
Libérer: 2017-05-05 11:16:03
original
6021 Les gens l'ont consulté

Analyse

微信小程序目前没有提供刷新API,所以要自己去记录当前操作,点击刷新重新执行一遍
Copier après la connexion

Effet

Solution à la déconnexion et au rechargement pendant le développement de WeChat

Cliquez sur 'Recharger' pour recharger la page

Implémentation

Puisque lorsque l'on travaille sur un projet, le rendu des pages ne peut pas être séparé de la requête interface, j'ai donc encapsulé wx.request pour déterminer si le réseau est déconnecté, et enregistrement après la déconnexion du réseau Lorsque cette requête

    /**
     * obj  request请求参数
     * cb   requrst请求成功回掉
     * page 当前page实例
    **/

    function wxRequest (obj, cb, page, type) {
        var isOne = true
        var cachFn = function () {
            wx.request({
                  url: obj.url,
                  data: obj.data || {},
                  method: obj.method || 'GET',
                  success: function (res) {
                    cb.call(page, res)
                    if (!page.data.isNet) {
                        page.setData({
                            isNet: true
                        })
                    }
                  },
                  // fail执行时当断网处理
                  fail: function () {
                      // 防止fail 有时会执行两次,影响渲染
                      if (!isOne) {
                          return
                      }
                    page.setData({
                        isNet: false,
                        isRequested: false
                    })
                    // 记录本次请求,加载时,执行page实例的reloadFn即可
                      page.reloadFn = wxRequest(obj, cb, page, 1)
                      isOne = false
                  }
            })
        }
    
        if (type) {
            page.isRequested = true
        }
    
        return type ? cachFn : cachFn()
    }
Copier après la connexion

application

 let data = {
      url: '',
      data: {},
      method: ''
    }
    wxTools.wxRequest(data, (res) => {
        // 数据渲染
        this.setData({})
    }, this)
Copier après la connexion

est déconnectée, exécutez this.reloadFn pour revenir à la dernière requête, isNet et déterminer si le réseau est déconnecté

【Recommandations associées】

1. Code source complet du mini-programme WeChat

2 Démo du mini-programme WeChat : Yangtao

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal