随笔 - 2649  文章 - 2452  评论 - 0  阅读 - 74060

Donut多端应用-快速开始

Donut多端应用-快速开始

使用云开发

使用云开发时,需要在 cloud.init 时显式指定云开发环境所在的微信 AppID:

wx.cloud.init({
  appid: 'wx1234567890', // 创建云开发环境的 AppID(小程序、公众号),不是多端应用 AppID
  envid: 'env-id-example', // 云开发环境名称
})

多端登录模式

采用以下登录方式,登录成功后,可以无缝使用云开发,和在微信小程序内使用无异。

1. 唤起微信小程序登录
2. 移动应用微信登录
  • 如果使用的是移动应用微信登录,需要在「微信开发者工具-云开发-更多-环境共享-添加共享」给移动应用 APPID 共享环境
3. 其他方式登录
  • 如果使用其他方式登录,如手机号登录,需要在登录后去绑定微信,绑定成功后只用该方式登录也可以使用云开发

注:环境共享时,需要填写的移动应用 APPID为如下所示

img

未登录模式

默认情况下,在多端框架内是无法正常使用云开发的,包括云函数、数据库等。这是因为多端环境中缺失微信登录态信息的(即 cloud.getWXContext 内无 OPENID)。

为此,我们提供了云开发的未登录模式,开发者可以进行以下配置,在多端环境中以未登录态模式使用云开发。

1. 开启环境级别开关

为了允许未登录模式用户访问云环境资源,需要在「微信开发者工具-云开发-设置-权限设置-未登录用户访问云资源权限设置」打开相应云环境的开关。

img

2. 配置云函数安全规则

调用云函数时,由于未登录模式的限制,还需要配置云函数的安全规则。参考安全规则如下(云函数 function1 支持未登录模式调用):

{
  // * 为通配符,表示对所有函数适用
  "*": {
    // invoke 表示调用权限控制
    // auth 包含鉴权信息,如果是未登录模式,则 auth == null
    "invoke": "auth != null"
  },
  // 函数名,该规则优先级会高于通配符
  "function1": {
    // 表示允许所有来源调用,包括未登录用户
    "invoke": true
  }
}
3. 配置数据库安全规则

访问数据库时,由于未登录模式的限制,还需要配置数据库安全规则。参考安全规则如下(所有用户可读,仅登录后创建者可写):

{
  "read": true,
  "write": "auth != null && doc._openid == auth.openid"
}
4. uploadFile 、cloudId 和其他接口

未登录模式下,不支持 wx.cloud.uploadFile 以及 cloudId 等需要登录态的接口。如有上传文件需求,建议使用“多端登录模式”,或者通过腾讯云对象存储等形式直接上传到存储桶中。cloudId 访问云存储建议改以 https url 形式访问。

posted on   AtlasLapetos  阅读(21)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示