bmob-database-javascriptlisted
Install: claude install-skill bmob/agent-skills
# Bmob Database — JavaScript / 跨端 SDK
[hydrogen-js-sdk](https://github.com/bmob/hydrogen-js-sdk) 是 **同一个 SDK 文件 `Bmob-<version>.min.js`** 支持以下所有宿主环境,无平台分支代码:
- 浏览器 / 任何 Web 前端(React、Vue 2、Vue 3、Next.js、Nuxt、Vite、Astro、SvelteKit、Solid 等)
- Node.js 服务端(必须源码引入)
- 微信小程序 / 支付宝 / 字节跳动 / QQ / 百度 小程序
- 快应用
- Cocos Creator JS
- Electron / Tauri
- 任意混合 App(WebView 内嵌 H5)
> **本 skill 只覆盖新版 hydrogen-js-sdk**(`Bmob.Query('X')` Promise 风格,3.0+)。基于 Backbone.js 的旧 `bmob-min.js`(`Bmob.Object.extend("X")` callback 风格)**不要用,也不要回退**。
## 核心原则
**1. 初始化支持两种方式**(hydrogen-js-sdk **3.0+** 均兼容;按场景二选一,**不要混用**):
**方式 A — Secret Key + API 安全码**(**推荐**:浏览器 / 小程序 / 公开客户端,SDK 内部走加密授权):
```js
Bmob.initialize("你的Secret Key", "你的API 安全码");
```
- **Secret Key**:控制台 → 应用 → 设置 → 应用密钥 → **Secret Key**。
- **API 安全码**:控制台 → 应用 → 应用功能设置 → 安全验证 → **API 安全码** 自行设置。
**方式 B — Application ID + REST API Key**(3.0 起正式兼容;适合已有 1.x/2.x 项目迁移、或与服务端 REST 共用同一套 Key):
```js
Bmob.initialize("你的Application ID", "你的REST API Key");
```
- **Application ID** / **REST API Key**:控制台 → 应用 → 设置 → 应用密钥 同一页。
- REST API 请求域名一般为 `https://api.codenow.cn`(见 [`bmob-database-restful`](../bmob-database-restful/SKILL.md))。
> 2.x 时代方式 B 功能受限;**3.0+ 两种初始化等价可用**。公开 bundle 仍优先方式 A(REST API Key 可被抓包)。
**2. 不要 commit 真实密钥进 git;CDN / dist 不要写死 SDK 版本号。** 密钥用环境变量(Vite `import.meta.env.VITE_BMOB_*`、Next.js `process.env.NEXT_PUBLIC_BMOB_*`、小程序构建期注入等)。dist 文件名为 `Bmob-<version>.min.js`,有打包工具时用 `npm install hydrogen-js-sdk`;纯 CDN 浏览器场景用 jsDelivr API 动