任一页面中使用unicloud-db前端组件,并在
data() {
return {
collectionList: [
db.collection('table-a').field('name,user_id,field_x').getTemp(),
db.collection('uni-id-users').field('_id,nickname').getTemp()
],
// ...
}
}
- 发布:2022-10-09 16:22
- 更新:2022-10-10 13:48
- 阅读:414
【报Bug】unicloud-db前端组件若要查询uni-id-users数据表数据,若用户未登录,则会强制用户登录,并后台报错TOKEN_INVALID_ANONYMOUS_USER(已解决)
产品分类: uniCloud/腾讯云
示例代码:
操作步骤:
每次加载该页面
每次加载该页面
预期结果:
页面中显示出uni-id-users表的信息。
页面中显示出uni-id-users表的信息。
实际结果:
“微信开发者工具”报错,小程序强制用户登录。
“微信开发者工具”报错,小程序强制用户登录。
bug描述:
更新:现在又没问题了,Bug消失。
估计是我之前修改了uni-id-pages v1.0.14中uni_modules/uni-id-pages/pages/userinfo/userinfo.vue的代码(它不使用store),而我后来按照uni-id-pages v1.0.24中uni_modules/uni-id-pages/pages/userinfo/userinfo.vue的代码(使用store)进行了调整,就没问题了。
谢谢。
使用了uni-id-pages V2 模板项目的微信小程序,unicloud-db前端组件在查询uni-id-users数据表时,若用户未使用微信账户(或为匿名用户)登录小程序,则在“微信开发者工具”中报错:TOKEN_INVALID_ANONYMOUS_USER 未能获取当前用户信息:当前用户为匿名身份。
小程序会显示微信登录页面,要求用户登录。
业务需求是,在用户前期访问小程序时,即使该用户未登录小程序,也应让其访问一些基本信息,比如“最近活动”之类的。可如果“最新活动”条目涉及显示发布者的姓名等信息,而该信息存储在uni-id-users的nickname中,会联表查询uni-id-users。此时,unicloud-db前端组件将在“微信开发者工具”console中报错,并强制用户登录。
2 个回复
DCloud_uniCloud_WYQ
这两个表的权限怎么配置的
c***@gmail.com (作者)
table-a表,使用了精简的opendb-news-comments的schema,权限为:
"permission": {
"read": true,
"create": "auth.uid != null",
"update": "doc.user_id == auth.uid",
"delete": "doc.user_id == auth.uid"
}
uni-id-users表,用的是uni-id-pages V1.0.24自带的权限:
"permission": {
"read": true,
"create": "'CREATE_UNI_ID_USERS' in auth.permission",
"update": "doc._id == auth.uid || 'UPDATE_UNI_ID_USERS' in auth.permission",
"delete": "'DELETE_UNI_ID_USERS' in auth.permission"
}
谢谢。