方案:

  1. 后端人员直接在阿里云后台去查哪些接口异常
  2. 前端做一个服务器报错页,这样产品在小程序后台能看到这个页面的PV,UV

需要解决的问题都有哪些?

  1. 首先我们要有网络请求失败的全局控制权(要不然就需要在每个页面处理失败的情况)
  2. 需要定义好网络失败后是如何跳转到重载页(R)的(用wx.redirectTo,wx.reLaunch还是其他)
  3. 点击错误页的“重新加载”,如何返回或跳转到出错页(E)(用wx.redirectTo,wx.reLaunch还是其他)
  4. 跳转到出错页后,如何重新加载数据(把所有请求都放在Page.onShow()里面?)
  5. 那如果从出错页的上个界面(P)传到出错页(E)options,那重载页(R)又将如何处理?
  6. 点击重新加载跟返回,我们希望效果效果一样,又该如何操作?

 util.js // 获取当前路径 function currentPagePath() { let pageData = getCurrentPages() if (pageData.length >= 1) { let len = pageData.length - 1 let data = pageData[len] return data.route } else { return '' } } // 获取上个界面的实例 function previousPageClass() { let pageData = getCurrentPages() if (pageData.length >= 2) { let len = pageData.length - 2 let preClass = pageData[len] return preClass } else { return '' } } module.exports = { currentPagePath, previousPageClass }

 // pages/serverError/serverError.js import { previousPageClass } from '../../utils/util.js' let isClickReload = false Page({ onLoad: function (options) { isClickReload = false }, onUnload: function () { if(!isClickReload) { this.callbackParams() } }, / * 点击事件 */ clickReload: function (e) { isClickReload = true wx.navigateBack() this.callbackParams() }, // 点击返回,参数回传 callbackParams: function () { let preOptions = previousPageClass().options previousPageClass().onLoad(preOptions) } })

Demo代码附上,欢迎参考。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对本网站的支持。

您可能感兴趣的文章:

  • 微信小程序下拉加载和上拉刷新两种实现方法详解
  • 微信小程序JS加载esmap地图的实例详解
  • 小程序如何使用分包加载的实现方法
  • 微信小程序 require机制详解及实例代码
  • 微信小程序如何获知用户运行小程序的场景教程
  • 微信小程序 在Chrome浏览器上运行以及WebStorm的使用
  • 微信小程序加载机制及运行机制图解