这是一个用于测试腾讯云开发 (CloudBase) JS SDK 在 Node.js 环境中功能的项目。
本项目验证了 CloudBase JS SDK 配合 Node.js 适配器在本地环境中的以下功能:
- ✅ 身份验证: 匿名登录
- ✅ 数据库操作: 文档增删查改
- ✅ 云存储: 文件上传、下载、删除
- ✅ 云函数调用: 远程函数调用
{
"@cloudbase/adapter-node": "^1.0.2",
"@cloudbase/js-sdk": "^2.19.2"
}- CloudBase 环境:
cloudbase-test-v1-8e8tzqa7290d87 - Node.js 版本: 18.12.0+
- 运行平台: macOS/Linux/Windows
- 匿名登录
- 获取用户信息
- 验证登录状态
- 连接到
test_collection集合 - 插入测试数据
- 查询数据(条件查询、排序、分页)
- 删除测试数据
- 上传本地文件到云存储
- 获取文件下载链接
- 删除云端文件
- 上传进度监控
- 调用远程云函数
- 传递参数
- 获取返回结果
# 安装依赖
npm install
# 运行测试
node index.jsnode-test/
├── index.js # 主测试文件
├── package.json # 项目配置
├── package-lock.json # 依赖锁定
├── .gitignore # Git 忽略文件
├── README.md # 项目说明
└── node_modules/ # 依赖包目录
const cloudbase = require("@cloudbase/js-sdk");
const adapter = require("@cloudbase/adapter-node");
cloudbase.useAdapters(adapter);
const app = cloudbase.init({
env: "cloudbase-test-v1-8e8tzqa7290d87",
});const auth = app.auth();
await auth.signInAnonymously();
const user = await auth.getLoginState();const db = app.database();
const testCollection = db.collection('test_collection');
// 插入数据
const insertResult = await testCollection.add({...});
// 查询数据
const queryResult = await testCollection.where({...}).get();// 上传文件
const uploadResult = await app.uploadFile({
cloudPath: fileName,
filePath: fileBuffer
});
// 获取下载链接
const downloadUrlResult = await app.getTempFileURL({
fileList: [uploadResult.fileID]
});const funcResult = await app.callFunction({
name: 'hello',
data: {...}
});- 文件路径: 请确保测试图片文件
/Users/nenneyu/Pictures/fig1.jpg存在 - 网络连接: 需要稳定的网络连接访问腾讯云服务
- 环境权限: 确保 CloudBase 环境配置正确
- 清理机制: 测试完成后会自动清理生成的测试数据
A: 这通常是 HTTP 请求体被重复使用导致的,已在代码中修复。
A: 请检查:
- 文件路径是否正确
- 文件是否存在
- 网络连接是否正常
A: 请确保 CloudBase 环境的数据库安全规则允许匿名用户操作。
成功运行后,会显示类似以下的结果:
{
"success": true,
"message": "CloudBase JS SDK 在 Node.js 环境中运行正常",
"results": {
"auth": "✅ 身份验证正常",
"database": "✅ 数据库操作正常",
"storage": "✅ 云存储操作正常",
"functions": "✅ 云函数调用正常"
}
}