跳到主要内容

云开发集成

CloudBase CMS 已经引入了 @cloudbase/js-sdk,在微应用中,可以通过 window.cloudbase 直接使用 @cloudbase/js-sdk 的能力,具体的用法请参考 JS SDK 的使用文档。

登录#

CMS 使用了用户名密码登录,默认情况下,用户通过 CMS 打开微应用时,为已经登录状态,可以直接通过 JS SDK 调用云函数。

调用云函数#

在微应用中访问同环境中的云函数 sayHello,仅支持访问 CMS 安装环境的云函数

// 调用云函数window.cloudbase.callFunction({  name: "sayHello",  data: {    msg: "hello"  }});

云函数中的鉴权#

可以参考下面的代码对调用云函数的请求进行鉴权

const cloudbase = require("@cloudbase/node-sdk");
async function checkAuth() {  // 获取用户信息  // 在云函数中获取用户身份信息  const app = cloudbase.init();  const { TCB_UUID } = cloudbase.getCloudbaseContext();  let { userInfo } = await app.auth().getEndUserInfo(TCB_UUID);
  // 未登录用户  if (!userInfo?.username && !userInfo?.openId) {    throw new Error("未登录用户");  }
  // 校验用户是否为 CMS 的用户  // 腾讯云 CMS 用户数据集合为 tcb-ext-cms-users  // 微信 CMS 用户数据集合为 wx-ext-cms-users  const {    data: [userRecord]  } = await app    .database()    .collection("tcb-ext-cms-users")    .where({      username: userInfo.username    })    .get();
  // 用户信息不存在  if (!userRecord) {    throw new Error("用户不存在,请确认登录信息!");  }
  // 校验通过  return true;}