工程化细节
Vite 构建配置
由于 UMD 不支持多入口,通过环境变量 BUILD_TARGET 区分两次构建:
bash
# ESM 构建(含类型声明)
vite build
# UMD 构建
BUILD_TARGET=umd vite build
# 一次性构建两种格式
pnpm build # = vite build && BUILD_TARGET=umd vite build| 构建目标 | 入口 | 产物 | 说明 |
|---|---|---|---|
| ESM | src/index.ts | dist/index.es.js + dist/index.d.ts | 开启 terser 压缩,drop_console |
| UMD | src/umd.ts | dist/index.umd.js | 未压缩(便于调试),挂载 window.GeneratorSDK |
开发命令
bash
cd SDK
pnpm install # 安装依赖
pnpm build # 构建 ESM + UMD
pnpm build:esm # 仅构建 ESM
pnpm build:umd # 仅构建 UMD
pnpm dev # ESM watch 模式
pnpm dev:umd # UMD watch 模式
pnpm type-check # TypeScript 类型检查后端 API 对照表
SDK 直接复用现有后端接口,除积分扣除接口外无需新增。
统一请求格式
http
POST /ai/v5/artimind/generator
uToken: {uToken}
lang: en
Content-Type: application/json
{ ... }统一响应格式
json
{ "code": 0, "msg": "success", "data": { ... } }接口列表
| SDK 模块 | 方法 | HTTP 方法 | 路径 | 状态 |
|---|---|---|---|---|
| Auth | — | — | passport-client 内部处理 | 已有 |
| Cloud | save(新建) | POST | /ai/v5/artimind/generator | 已有 |
| Cloud | save(更新) | PUT | /ai/v5/artimind/generator | 已有 |
| Cloud | restore | GET | /ai/v5/artimind/generator/:id | 已有 |
| Cloud | delete | DELETE | /ai/v5/artimind/generator/:id | 已有 |
| History | getList | POST | /ai/v5/artimind/generator/type | 已有 |
| History | getDetail | GET | /ai/v5/artimind/generator/:id | 已有(复用 Cloud) |
| History | delete | DELETE | /ai/v5/artimind/generator/:id | 已有(复用 Cloud) |
| Credits | getBalance | GET | /ai/v1/credit/getBalance | 已有 |
| Credits | consume | POST | /sdk/v1/credits/consume | 待后端新增 |
| Billing | getUsage | GET | /ai/v5/artimind/free_trial/count?module=generator_{appKey} | 已有 |
| Billing | consume | POST | /ai/v5/artimind/free_trial | 已有 |
| Export | — | — | 纯前端操作 + OSS 上传 | 已有 |