0530-3433334

网站建设 APP开发 小程序

知识

分享你我感悟

您当前位置>首页 >> 知识 >> 小程序

小程序环境共享版本要求:开发者工具>=1.03

发表时间:2023-09-27 13:31:43

文章来源:炫佑科技

浏览次数:169

菏泽炫佑科技 菏泽炫佑小程序开发 菏泽炫佑app制作 炫佑科技

小程序环境共享版本要求:开发者工具>=1.03

小程序环境共享

版本要求:开发工具 >= 1.03。 (稳定版下载)

云开发支持跨账号环境(资源)共享,即一个小程序的云开发资源可以授权给同一实体下的其他小程序/公众号共享,具有以下好处:

优点与特点

资源复用

云开发资源可以与其他账户共享,无需复制或迁移数据即可创建新的小程序。

能力复用

开发云功能可以授权其他账号原生调用,类似于HTTP服务,实现能力复用。

网络支持

在Web中,您可以使用公众号登录状态访问微信云开发资源和能力,也可以在Web中以非登录方式访问。

细粒度授权

授权粒度很好。 例如,您只能授权云函数调用权限,不能修改权限。

单级授权

单级授权确保安全。 例如,A有B的授权,B有C的授权,但A没有C的授权,此时A可以调整B,但不能直接调整C。

小程序间跨账户资源共享操作步骤

1、使用1.03版本的开发工具激活。 或以上,进入云控制台,进入“设置-扩展能力-环境共享”,点击激活,激活环境共享能力。

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

3.授权,选择共享云环境,默认选择所有环境操作权限,可以根据实际使用场景自定义授权。 授权只能对当前小程序自身环境进行授权。 如果A有B授权的环境,A不能再将B授权的环境授权给C;

4、共享环境的小程序使用上海微信小程序开发公司,请使用1.03版本的开发工具。 或以上,进入云控制台,点击“环境共享”,进入“环境共享”页面,查看共享小程序的状态; 如果您需要在云端控制平台查看授权环境的资源,可以进入“设置-环境名称”将环境切换到授权环境。 同时,如果操作获得授权,则可以对授权环境进行操作。

云功能

在使用共享环境之前,需要确保资源方具有云功能来验证调用者的身份并建立相关权限。

在调用cloud.init()的过程中小程序环境共享版本要求:开发者工具>=1.03,会首先执行该函数。 如果该函数不存在,则会提示找不到对应的函数。 请务必参考示例在资源端添加该功能。

资源端小程序云函数被调用的简单示例:

const cloud = require('wx-server-sdk')
cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
})
// 云函数入口函数
exports.main = async (event, context) => {
  const wxContext = cloud.getWXContext()
  console.log(event)
  console.log(wxContext)
  // 跨账号调用时,由此拿到来源方小程序/公众号 AppID
  console.log(wxContext.FROM_APPID)
  // 跨账号调用时,由此拿到来源方小程序/公众号的用户 OpenID
  console.log(wxContext.FROM_OPENID)
  // 跨账号调用、且满足 unionid 获取条件时,由此拿到同主体下的用户 UnionID
  console.log(wxContext.FROM_UNIONID)
  return {
    errCode: 0,
    errMsg: '',
    auth: JSON.stringify({
      // 自定义安全规则
      // 在前端访问资源方数据库、云函数等资源时,资源方可以通过
      // 安全规则的 `auth.custom` 字段获取此对象的内容做校验,
      // 像这个示例就是资源方可以在安全规则中通过 `auth.custom.x` 获取
      x: 1,
    }),
  }
}

云功能交互协议说明

云函数返回的对象结构协议:

属性类型 默认值 必填 描述

是的

自定义错误码,0表示授权通过,非0表示授权拒绝,会透传回调用者

自定义错误消息,非零时透明返回给调用者

授权

安全规则对象,必须序列化为字符串

代码使用

小程序代码使用示例(需要小程序公共库2.13.0以上版本):

// 声明新的 cloud 实例
var c1 = new wx.cloud.Cloud({
  // 资源方 AppID
  resourceAppid: 'wxe0e2656d74f0bff3',
  // 资源方环境 ID
  resourceEnv: 'test-f96b31',
})
// 跨账号调用,必须等待 init 完成
// init 过程中,资源方小程序对应环境下的 cloudbase_auth 函数会被调用,并需返回协议字段(见下)来确认允许访问、并可自定义安全规则
await c1.init()
// 完成后正常使用资源方的已授权的云资源
await c1.callFunction({
  name: '函数名',
  data: {},
})

在云函数中使用和在小程序中使用没有太大区别(wx--sdk版本需要大于等于2.3.0):

const cloud = require('wx-server-sdk')
exports.main = async (event) => {
  // 声明新的 cloud 实例
  var c1 = new cloud.Cloud({
    // 资源方 AppID
    resourceAppid: 'wxe0e2656d74f0bff3',
    // 资源方环境 ID
    resourceEnv: 'test-f96b31',
  })
  // 跨账号调用,必须等待 init 完成
  // init 过程中,资源方小程序对应环境下的 cloudbase_auth 函数会被调用,并需返回协议字段(见下)来确认允许访问、并可自定义安全规则
  await c1.init()
  // 完成后正常使用资源方的已授权的云资源
  return c1.callFunction({
    name: '函数名',
    data: {},
  })
}

环境共享给未开启云开发小程序

1、未开启云开发的小程序无法进入云开发控制台。 如果环境被同一实体的其他小程序共享,则默认允许未开启云开发的小程序进入云开发控制台,并默认开启“环境共享”。 ”功能;进入控制台后,默认显示授权共享环境**个小小程序的云开发环境。

2、未启用云开发的小程序共享后,如需启用云开发,可通过“设置-切换环境-创建环境”路径启用云开发并创建环境;

3、未启用云开发的小程序共享并释放所有小程序的共享关系后,环境共享功能将被注销,云开发控制台入口消失;

炫佑科技专注互联网开发小程序开发-app开发-软件开发-网站制作等

相关案例查看更多