我们在做小程序开发时,有时候需要多个小程序公用一个数据库,比如我们做一个外卖小程序,要配套一个骑手小程序,这个时候就要两个小程序公用一个云开发环境,公用一个数据库了。所以今天来教下大家如何多个小程序共享一个云开发环境和数据库。

其实官方给的文档很详细了,但是一个细节官方没有讲到,所以就会导致好多同学做多个小程序共享一个云开发环境时,遇到各种各样的问题。
比如下面这样的问题

明明感觉自己按照官方要求,该配置的都配置了啊,但是为啥就是出错呢。所以我这里再带大家完整的配置一遍,把里面的一些注意事项也给大家好强调下。

一,准备条件

1-1,必须同一个主体

首先看官方文档:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/resource-sharing/

要共享云开发资源可以 ,但是必须是同一个主体。什么是同一个主体呢,就是两个小程序必须都是你自己的,或者是你公司的。
如果不是同一个主体,会报如下错误

1-2,最新的基础库,最新版开发工具

这里记得调到最新的基础库,开发者工具也尽量用最新的

开发者工具这里官方是有要求的

二,开通环境共享

我这里以两个小程序共享一个数据库为例

小程序A

小程序B

大家这里记得我们是小程序A 共享数据库给小程序B

2-1,开通环境共享

开通,使用 1.03.2009140 或以上版本的开发者工具,进入云控制台,到 “设置 - 拓展能力 - 环境共享” 点击开通即开通环境共享能力

2-2,开通后授权给别的小程序


环境共享开通后将在顶部tab显示环境共享功能,进入 “环境共享” 的页面,点击“添加共享”,即可授权同主体下其他小程序/公众号使用当前小程序下的云开发资源

这里填写你要共享小程序的appid,我们这里取小程序B的appid

授权,选择共享的云环境,默认选中所有环境操作权限,可根据实际使用场景自定义授权。这里建议保持默认即可

比如我这里分享给小程序B(编程小石头)

2-3,使用共享的云开发环境

我们上面操作好以后,就可以在小程序B的云开发后台看到共享的云开发环境了。将我们的云开发环境切换下就可以查看和使用共享的资源了。

可以看到小程序B(编程小石头)可以查看小程序A的数据库了

三,请求共享的数据库

我们接下来就在小程序B里调用小程序A的数据库了。官方提示的是调用之前要在小程序A里创建一个如下的云函数,但是我在测试的时候发现不用创建也可以的。

所以我们就先不创建cloudbase_auth 云函数,来看看能不能调取到数据。

3-1,初始化云开发环境

我们小程序B想使用小程序A的云开发环境,这里要注意,初始化的时候要如下面注释里写的一样,用小程序A的appid和云开发环境id

3-2,调用资源方数据

初始化以后不能想正常调用云开发数据库那样了,会报错

所以我们这里要改变下使用方法。如下

这时候还会报错,是因为我们忽略了官方的一个要求:“ 跨账号调用,必须等待 init 完成”,所以我们必须给init加一个await语法,如下,记得await要结合着async一起使用。

可以看到我们成功的请求到了小程序A的数据。直接get的时候记得改下数据库权限奥。

代码贴出来给大家,记得改成自己的配置

Page({async onLoad() {// 声明新的 cloud 实例var c1 = new wx.cloud.Cloud({// 资源方 小程序A的 AppIDresourceAppid: 'wx7c54942dfc87f4d8',// 资源方 小程序A的 的云开发环境IDresourceEnv: 'test-ec396a',})// 跨账号调用,必须等待 init 完成// init 过程中,资源方小程序对应环境下的 cloudbase_auth 函数会被调用,并需返回协议字段(见下)来确认允许访问、并可自定义安全规则await c1.init()// wx.cloud.database().collection('xiaoshitou').get()c1.database().collection('xiaoshitou').get().then(res => {console.log('共享环境请求数据成功', res)})}
})

四,调用共享环境的云函数

4-1,调用资源方里的云函数

我们这里在小程序B(编程小石头)里调用小程序A里的云函数试试。
如小程序A里有一个xiaoshitou的云函数

可以看到我们可以成功的调用小程序A里的xiaoshitou云函数

是不是很简单。今天就给大家讲到这里了,欢迎关注,后面会分享更多小程序开发的知识给大家。

微信小程序环境共享,多个小程序共享一个云开发数据库相关推荐

  1. 使用云开发数据库构建更生动的小程序

    长连接服务被广泛应用在消息提醒.即时通讯.推送.直播弹幕.游戏等场景.本篇文章将介绍云开发数据库的长连接服务 - 实时数据推送,使用它来构建更生动的小程序. 什么是实时数据推送 通过云开发数据库的实时 ...

  2. 微信小程序云开发 mysql_微信小程序云开发数据库

    如在云开发数据库的基础介绍中所说,云开发提供了一个 JSON 数据库,本章将介绍以下内容: 上手:用控制台创建我的第一个集合,插入我的第一条数据 数据类型:了解数据库提供的数据类型 权限控制:控制集合 ...

  3. uniapp实现微信小程序云开发数据库访问,并解决云开发数据库获取不到数据问题

    uniapp实现微信小程序云开发数据库访问,并解决云开发数据库获取不到数据问题 使用工具是HBuilder X 1.配置好AppID(小程序ID) 在HBuilder X工具的manifest.js文 ...

  4. 微信小程序+云开发+数据库使用

    微信小程序+云开发+数据库使用 参考地址:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/database/read.ht ...

  5. 微信小程序:二开版优化新紫色UI云开发新款壁纸小程序源码

    这是一款由旧版https://airymz.com/3387.html进行优化二开的一个新版本 本壁纸表情包头像小程序采用(dcloud云开发)所以无需服务器与域名 无需服务器.无需域名.云开发直接上 ...

  6. 微信小程序--云开发数据库操作之where()

    where() 定义:指定查询条件,返回带新查询条件的新的集合引用 我的理解:where(),其中括号中指的是查询条件,最终返回符合该条件的数据记录 官方示例用法 const _ = db.comma ...

  7. 微信小程序图片无法存入云开发数据库,求解决

    微信小程序图片无法存入云开发数据库,求解决 上传图片的js代码片段 上传图片的js代码片段 上传图片的js代码片段,觉得自己代码的没错,也能打印出来上传的图片地址,但是发现并没有存进数据库,求大神指点 ...

  8. mysql批量导入json_微信小程序云开发---数据库批量导入json文件

    马上大学毕业了,于是最近做了一个关于班级信息的微信小程序,主要记录一些班级活动的照片.同学的通讯录...... 主要使用了微信小程序的云开发平台,因为班级同学的信息,班长都会有Excel表格统计的信息 ...

  9. 【微信小程序】如何获取微信小程序云开发数据库的数据并渲染到页面?

    前言 上一篇博客我把微信小程序云开发数据库操作(增删改查)的实现方法都已经分享出来啦,可以戳链接进去阅读哦 [微信小程序]小程序云开发实现数据库增删改查(小白速度Get起来!!一步步教你如何实现) 基 ...

最新文章

  1. 物体抓取位姿估計算法綜述_基于深度学习的物体抓取位置估计
  2. Easy Slider: 功能强大简单易用的jQuery滑动门插件
  3. 多个project[项目]共享session
  4. JS判断当前的浏览器类型
  5. Presto入门介绍
  6. Bootstrap下拉菜单标题
  7. 摘录一些介绍Linux DKMS的博客文章
  8. 阿里云张献涛:2021 弹性计算发生了哪些变化
  9. elastic-job和xxl-job实践对比
  10. word保存为高分辨率图片(word2016)
  11. linux线程互踩,IOS 多线程漫漫谈(Process and Thread)
  12. 繁体字生僻字数据库报错处理
  13. Science 李伟/周琪团队联合开发染色体编辑新技术,创建全新核型小鼠,哺乳动物染色体尺度基因组重塑元年...
  14. 1.7 F1方程式冠军
  15. 利用systemstate dump trace文件寻找dg terminated原因
  16. ubuntu设置文件夹共享
  17. 免费PDF转JPG的开源软件
  18. 关于java实体类和mysql数据库json格式的对应问题,使用mybatis-plus
  19. 一些恶搞小程序,整蛊必备
  20. 苹果关闭自动更新_IOS更新很烦?仅需一招永远关闭

热门文章

  1. MT6739芯片处理器,MT6739套片开发资料汇集下载
  2. c语言新建一个单向链表菜鸟,【图片】菜鸟的进击——玩转C语言链表【c程序设计吧】_百度贴吧...
  3. 史上最全因果推断合集-14(因果分析在贝壳的探索实践)
  4. android shapes、elector资源文件
  5. Linux基础命令之SS
  6. 908.最小差值 I
  7. 支付宝 Firefox 安全控件使用 FAQ
  8. Android 修改浏览器默认主页及书签
  9. 微型计算机原理与接口技术 (周荷琴 冯焕清) 第六版 课后习题答案 第八章(部分答案)
  10. [翻译] EF Core 概述