Skip to content

yulinlin2020/node-adapter-test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CloudBase Node.js SDK 测试项目

这是一个用于测试腾讯云开发 (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

📋 功能测试

1. 身份验证测试

  • 匿名登录
  • 获取用户信息
  • 验证登录状态

2. 数据库功能测试

  • 连接到 test_collection 集合
  • 插入测试数据
  • 查询数据(条件查询、排序、分页)
  • 删除测试数据

3. 云存储功能测试

  • 上传本地文件到云存储
  • 获取文件下载链接
  • 删除云端文件
  • 上传进度监控

4. 云函数调用测试

  • 调用远程云函数
  • 传递参数
  • 获取返回结果

🚦 运行方式

# 安装依赖
npm install

# 运行测试
node index.js

📁 项目结构

node-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: {...}
});

⚠️ 注意事项

  1. 文件路径: 请确保测试图片文件 /Users/nenneyu/Pictures/fig1.jpg 存在
  2. 网络连接: 需要稳定的网络连接访问腾讯云服务
  3. 环境权限: 确保 CloudBase 环境配置正确
  4. 清理机制: 测试完成后会自动清理生成的测试数据

🐛 常见问题

Q: 出现 "body used already" 错误

A: 这通常是 HTTP 请求体被重复使用导致的,已在代码中修复。

Q: 文件上传失败

A: 请检查:

  • 文件路径是否正确
  • 文件是否存在
  • 网络连接是否正常

Q: 数据库权限错误

A: 请确保 CloudBase 环境的数据库安全规则允许匿名用户操作。

📊 测试结果

成功运行后,会显示类似以下的结果:

{
  "success": true,
  "message": "CloudBase JS SDK 在 Node.js 环境中运行正常",
  "results": {
    "auth": "✅ 身份验证正常",
    "database": "✅ 数据库操作正常",
    "storage": "✅ 云存储操作正常",
    "functions": "✅ 云函数调用正常"
  }
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published