前言
最近在把微信小程序迁移至字节跳动小程序,由于服务端使用了腾讯云 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/js-sdk';
import { adapter } from '@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)
}
})
大佬们!字节小程序的4个合法域名怎么填写?我这边报错 - “url is not in white list"。
如果勾选不校验合法域名是可以跑通的,所以问题应该就是出在合法域名这里了吧?
写完楼主的代码之后,还需要去字节小程序里设置request合法域名:tcb-api.tencentcloudapi.com
这个域名应该是通用的,大家设置好了之后就不会报错了。
现在还能用吗?我目前报域错误
光导个包就错了
Cannot use import statement outside a module
审核时,字节那无法读取内容
tcb-api.tencentcloudapi.com
报错,不知道怎么弄,大佬可以出个详细点个教程吗,或者出个实例
字节居然还有小程序。。。
头条/抖音 都是字节跳动小程序。