【笔记】字节跳动小程序如何接入腾讯云CloudBase?
前言
最近在把微信小程序迁移至字节跳动小程序,由于服务端使用了腾讯云 CloudBase,网上搜索了一遍,文章千篇一律,都是复制腾讯云官方1年以前的适配器文档,在经过和腾讯云官方技术人员沟通后终于成功解决问题。
安装
npm i @cloudbase/js-sdk -S
npm i @maoyan/cloudbase-adapter-tt_mp -S
使用
由于字节跳动小程序没有提供getAccountInfoSync()接口,无法通过接口获取appId 所以需要将appId设置到字节跳动小程序app对象上。
App({
onLaunch(options) {
this.appId = appId
}
})
腾讯云 CloudBase 安全配置
由于字节跳动小程序使用云开发不享受微信生态下的免鉴权,要在终端应用(如APP、小程序等)中使用云开发的身份验证服务,需要将授权的应用加入白名单,并在SDK使用时传入分配的凭证信息。
腾讯云 CloudBase 登陆授权
为了增加安全性,建议开启匿名登陆。启动匿名登录后,用户将不需要登录即可访问应用。如果有更严格的安全要求,可以自行开启其它身份验证方式。
完整代码
import tcb from '[@cloudbase](/user/cloudbase)/js-sdk';
import { adapter } from '[@maoyan](/user/maoyan)/cloudbase-adapter-tt_mp';
let app;
App({
onLaunch(options) {
// appId必须设置
this.appId = "字节跳动小程序的appid";
tcb.useAdapters(adapter);
// 腾讯云共享环境初始化
app = tcb.init({
env: '云环境id',
appSign: '应用标识', // 需要设置成字节跳动小程序的appid
appSecret: {
appAccessKeyId: '版本',
appAccessKey: '凭证'
}
})
// 匿名登陆
const auth = app.auth()
const loginState = auth.anonymousAuthProvider().signIn()
let data = await app.callFunction({
name: "云函数名",
data: "参数"
});
console.log(data)
}
})