//auth 用户
//auth.role
//auth.permission
//doc 记录
//云端调用
// uni-id登录注册接口可接收needPermission参数,若needPermission配置为true时,后续会在checkToken接口返回用户权限列表(permission)
const {
code,
uid,
role,
permission,
userInfo,
token,
tokenExpired
} = await uniID.checkToken();
if (!code) {
return {
token,
tokenExpired
}
}
// 简单的权限校验示例
function hasPermission(token, permission) {
const checkTokenRes = await uniID.checkToken(token)
return checkTokenRes.permission.includes(permission)
}
//本地调用
const {
uid,
role,
permission
} = await uniCloud.getCurrentUserInfo();
"auth.uid != null", //必须登录
"doc.article_status == 0", //记录article_status == 0
"doc.user_id == auth.uid", //必须是作者
'admin' in auth.role "//必须是admin角色
'USER_EDIT' in auth.permission " //必须有`USER_EDIT`权限
"foreignKey": "uni-id-users._id", //主表中字段设置对应的外键
"defaultValue": { //默认值,可以修改
"$env": "uid"
},
"forceDefaultValue": { //强制默认值
"$env": "uid",
// "$env": "now",
// "$env": "clientIP"
},
"bsonType": "timestamp", //时间戳
"pattern": "^\\+?[0-9-]{3,20}$", //格式校验
"trim": "both", //删除两边空格
uni-app学习笔记之用户角色权限判断
最新推荐文章于 2024-07-03 16:51:02 发布