争怎路由网/应用软件/内容

微信开发时断网重新加载的处理方法

应用软件2024-02-23 阅读
微信小程序,简称小程序,英文名Mini Program,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用。小程序是一种不用下载就能使用的应用,也是一项门槛非常高的创新,经过将近两年的发展,已经构造了新的小程序开发环境和开发者生态。

分析

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

效果

点击‘重新加载’重新加载页面

实现

由于做项目时,页面渲染离不开接口请求,所以我封装了一下wx.request来判断是否断网,及断网后记录本次请求

    /**
     * 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() }

应用

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

断网时,执行this.reloadFn就回重新上一次请求,isNet及判断是否断网

【相关推荐】

1. 微信小程序完整源码

2. 微信小程序demo:阳淘

以上就是微信开发时断网重新加载的解决方法的详细内容,更多请关注php中文网其它相关文章!

  • 微信

  • 小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。



    ……

    标签:微信开发时断网重新加载的处理办法
    相关阅读