文档
微信小程序没有提供路由拦截系统,我们可以自己通过应用首页作为入口,拦截所有页面
大致思路如下:
登录拦截
用户进入首页后,判断是否登录,或者执行其他全局判断的逻辑,比如:获取用户信息getUserInfo
等待请求逻辑结束之后,判断该进入哪个页面
分享拦截
1、页面
如果需要采用全局拦截判断,每个页面
的分享需要单独定义,将分享的地址统一改为/pages/index/index
,这样所有入口都统一到该页面。
params = {"name": "Tom", "age": 12} => params_id = 1
2、参数
微信小程序的分享链接可以带参数,不过有长度限制(生成二维码参数,最大32个可见字符),那可以将分享的参数转换为短参数,真实的参数可以存在数据库,等页面到达/pages/index/index
时,通过接口获取真实参数
params = {"name": "Tom", "age": 12} => params_id = 1
可以统一分享页面和参数,例如:
/pages/index/index?page=home&id=1 // 对应的真实参数是 page = /pages/home/home params = {"name": "Tom", "age": 12} // 转换成完整路径 /pages/home/home?name=Tom&age=12