微信小程序:全局路由登录拦截和分享参数过长的问题

文档

微信小程序没有提供路由拦截系统,我们可以自己通过应用首页作为入口,拦截所有页面

大致思路如下:
在这里插入图片描述

登录拦截

用户进入首页后,判断是否登录,或者执行其他全局判断的逻辑,比如:获取用户信息getUserInfo 等待请求逻辑结束之后,判断该进入哪个页面

分享拦截

1、页面

如果需要采用全局拦截判断,每个页面 的分享需要单独定义,将分享的地址统一改为/pages/index/index ,这样所有入口都统一到该页面。

page: /pages/home/home
=> 
page: /pages/index/index

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

猜你喜欢

转载自blog.csdn.net/mouday/article/details/127406155