c***@gmail.com
c***@gmail.com
  • 发布:2022-10-09 16:22
  • 更新:2022-10-10 13:48
  • 阅读:414

【报Bug】unicloud-db前端组件若要查询uni-id-users数据表数据,若用户未登录,则会强制用户登录,并后台报错TOKEN_INVALID_ANONYMOUS_USER(已解决)

分类:uniCloud

产品分类: uniCloud/腾讯云

示例代码:

任一页面中使用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()
],
// ...
}
}

操作步骤:

每次加载该页面

预期结果:

页面中显示出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中报错,并强制用户登录。

2022-10-09 16:22 负责人:无 分享
已邀请:
DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

这两个表的权限怎么配置的

c***@gmail.com

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"
}

谢谢。

要回复问题请先登录注册