如何多个小程序共享一个云开发环境和数据库
发表时间:2023-10-29 19:47:47
文章来源:炫佑科技
浏览次数:195
菏泽炫佑科技 菏泽炫佑小程序开发 菏泽炫佑app制作 炫佑科技
如何多个小程序共享一个云开发环境和数据库
其实官方文档说的很详细,但是有一个细节官方没有提及,所以很多同学在制作多个小程序共享一个云开发环境时遇到了各种问题。
例如如何多个小程序共享一个云开发环境和数据库,像下面这样的问题
我明明感觉应该按照官方要求配置的都已经配置好了,但是为什么还是错误呢? 因此,我将在这里再次引导您完成完整的配置,并重点介绍其中的一些注意事项。
1. 准备条件1-1,必须是同一科目
首先看官方文档:
可以共享云开发资源,但它们必须来自同一主题。 什么是同一主题? 也就是说,两个小程序都必须是你自己的或者你公司的。
如果不是同一主体,会报如下错误
1-2、*新基础库、*新版本开发工具
这里记得调整到*新的基础库,并尽量使用*新的开发工具。
这里官方需要开发工具
2. 启用环境共享
这里我以两个小程序共享一个数据库为例。
小程序A
小程序B
这里的大家都记得我们是小程序A,与小程序B共享数据库。
2-1、启用环境共享
要激活,请使用1.03版本的开发工具。 或以上,进入云控制台,进入“设置-扩展能力-环境共享”,点击激活,激活环境共享能力。
2-2. 激活后授权其他小程序。
激活环境共享后,顶部选项卡将显示环境共享功能。 进入“环境共享”页面,点击“添加共享”即可授权同一主体下的其他小程序/公众号使用当前小程序下的云开发资源。
此处填写您要分享的小程序的appid。 这里我们取小程序B的appid。
授权,选择共享云环境,默认选择所有环境操作权限,可以根据实际使用场景自定义授权。这里建议保持默认
比如我分享的小程序B(编程小石头)
2-3. 使用共享云开发环境
完成以上操作后,我们就可以在小程序B的云开发后台中看到共享的云开发环境微信小程序开发工具是,切换我们的云开发环境即可查看和使用共享资源。
可以看到小程序B(编程小石头)可以查看小程序A的数据库。
3. 请求共享数据库
接下来我们要在小程序B中调用小程序A的数据库,官方提示是在小程序A中创建如下云函数再调用,但是在测试过程中我发现不需要创建。
所以我们先不创建一个云函数,看看能否检索到数据。
3-1. 初始化云开发环境
我们的小程序B想要使用小程序A的云开发环境,这里需要注意的是,初始化应该像下面注释中写的那样,使用小程序A的appid和云开发环境id。
3-2、调用资源侧数据
初始化后,无法正常调用云开发数据库,会报错。
所以我们要改变这里的用法。如下
这个时候还是会报错,因为我们忽略了官方的一个要求:“跨账户调用必须等待init完成”,所以我们必须给init添加一个await语法,如下。 请记住将await 与async 结合使用。
可以看到我们成功请求了小程序A的数据,直接获取的时候记得修改数据库权限。
4、共享环境中调用云函数 4-1、资源端调用云函数
我们尝试在小程序小程序B(编程小石头)中调用小程序A中的云函数。
比如小程序A中有一个云功能
可以看到我们可以成功调用小程序A中的云函数