如果微信小程序需要用户注册,并且需要对注册用户的权限进行控制,那么就需要用到权限控制。
一、用户权限控制实现方法
1.1 第一种是“路由拦截器”,类似“vue-router",可以参考这篇文章
1.2 第二种在page页面上增加访问控制,在onLoad阶段显示需要注册的页面。
为使所有page统一调用,可以封装一个统一的页面进行调度。通常可以有2种封装方法,一是模板方式,可以参考这篇文章;二是组件方式,本文讨论组件封装实现方法。
二、组件封装用户权限控制
2.1 设计组件
业务逻辑:
1、读取用户注册输入信息; 2、通过云数据库(或者业务数据库)校验数据合法性
3、记录数据到全局变量或者缓存中;4、开放接口给外部调用

2.2 页面调用组件分析
业务逻辑:1、page页面注册组件,并对组件的接口方法进行调用;2、在onLoad阶段读取全局变量,通过全局变量与其他page进行共享
2.3 页面调用组件实现
1、json引入组件

2、wxml插入组件,注册接口

3、js设置控制开关,并对接口方法进行完善


三、实现效果
3.1 校验失败
校验失败时,遮罩层组件不关闭,同时storage中无数据

3.2 校验成功
校验成功后,关闭遮罩层,同时stroage保存相关信息

网友评论