- 1、本文档共2页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微信⼩程序--路由拦截器
背景
由于最近公司要求开发⼩程序,⼀直很感兴趣,也是趁着这次机会,边⽂档边开发,遇到⼀些好玩的东西,留此作为笔记
介绍
诸如 vue-router 的 beforeEach 那样的路由拦截器,但是拦截是肯定需要的,所以⾃⼰写了⼀个
代码
直接上代码
拦截器
const appGlobalData = getApp().globalData;
/**
* routerFillter --全局路由拦截器
* @function
* @param{Object} pageObj 当前页⾯的page对象
* @param{Boolean} flag 是否开启权限判断
*/
exports.routerFillter = function (pageObj, flag = false) {
if (flag) {
let _onShow = pageObj.onShow
pageObj.onShow = function () {
let that = this
// 这⼀步是⾃⼰定义获取登录状态的,只是个判断权限的
appGlobalData.getSignPrms.then((res) = {
// 改回this指针
res.status _onShow.call(that)
}, (err) = {
// ⽤户未登录,重定向个⼈页
wx.switchTab({
url: /pages/manage/manage
})
})
}
}
return Page(pageObj)
}
使⽤
// ⼩程序 .js⽂件
// 官⽅写法
Page({
data: {
}
})
// 将Page替换
import { routerFillter } from ../../utils/routerFillter.js;
routerFillter({
// 内部⼀样
}, true)
其实原理很简单,就是在微信⼩程序注册页⾯接受⼀个初始化对象前拦截做些处理,我这⾥判断⽆权限时,更改原pageObj的 onShow⽣命周期函数,
改为重定向去登陆页,操作完再return 出微信⼩程序注册页⾯所需的Page({pageObj})就⾏,原理很简单,思路证实可⾏
存在问题
问题是有的,就是因为我更改的是onShow⽣命周期,⽽⼩程序在触发onShow时,页⾯已经展⽰了,导致页⾯会先闪现⼀次页⾯,才会重定向到登陆
页,
也想过更改onLoad⽣命周期,但是也是有问题的,因为有些页⾯如果设置了缓存,会导致onLoad只触发⼀次,也就是说,只能拦截⼀次(很尴尬)
所以这篇⽂章即是分享⼀种⽅法,也是寻求⼀种解决⽅案
您可能关注的文档
- 脚手架搭设方案及参数6963.pdf
- 六年级英语下册Unit3Lesson17(5)教案冀教版.pdf
- 东北师范-现代教育技术22秋学期在线作业2-[学习资料]-答案1.pdf
- SpringBoot配置统一格式Result返回值(一).pdf
- 感恩节的习俗英文感恩节的由来和习俗(中英文版).pdf
- 七年级春季入学测试题(答案版).pdf
- 三个显示器(三屏拼接屏一个画面)如何连接以及设置.pdf
- 幼儿园中班心理健康保持好心情教案带教学反思.pdf
- 幼儿园科学教育活动的目标.pdf
- 七年级数学学科期末质量检测总结.pdf
- GB/T 32151.38-2024温室气体排放核算与报告要求 第38 部分:水泥制品生产企业.pdf
- 中国国家标准 GB/T 32151.38-2024温室气体排放核算与报告要求 第38 部分:水泥制品生产企业.pdf
- 《GB/T 22069-2024燃气发动机驱动空调(热泵)机组》.pdf
- GB/T 22069-2024燃气发动机驱动空调(热泵)机组.pdf
- 中国国家标准 GB/T 22069-2024燃气发动机驱动空调(热泵)机组.pdf
- 中国国家标准 GB/T 11064.1-2024碳酸锂、单水氢氧化锂、氯化锂化学分析方法 第1部分: 碳酸锂含量的测定 滴定法.pdf
- GB/T 11064.1-2024碳酸锂、单水氢氧化锂、氯化锂化学分析方法 第1部分: 碳酸锂含量的测定 滴定法.pdf
- 《GB/T 11064.1-2024碳酸锂、单水氢氧化锂、氯化锂化学分析方法 第1部分: 碳酸锂含量的测定 滴定法》.pdf
- GB/T 1148-2024内燃机 铝活塞.pdf
- 中国国家标准 GB/T 1148-2024内燃机 铝活塞.pdf
文档评论(0)