Skip to content

工程化细节

Vite 构建配置

由于 UMD 不支持多入口,通过环境变量 BUILD_TARGET 区分两次构建:

bash
# ESM 构建(含类型声明)
vite build

# UMD 构建
BUILD_TARGET=umd vite build

# 一次性构建两种格式
pnpm build   # = vite build && BUILD_TARGET=umd vite build
构建目标入口产物说明
ESMsrc/index.tsdist/index.es.js + dist/index.d.ts开启 terser 压缩,drop_console
UMDsrc/umd.tsdist/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 方法路径状态
Authpassport-client 内部处理已有
Cloudsave(新建)POST/ai/v5/artimind/generator已有
Cloudsave(更新)PUT/ai/v5/artimind/generator已有
CloudrestoreGET/ai/v5/artimind/generator/:id已有
ClouddeleteDELETE/ai/v5/artimind/generator/:id已有
HistorygetListPOST/ai/v5/artimind/generator/type已有
HistorygetDetailGET/ai/v5/artimind/generator/:id已有(复用 Cloud)
HistorydeleteDELETE/ai/v5/artimind/generator/:id已有(复用 Cloud)
CreditsgetBalanceGET/ai/v1/credit/getBalance已有
CreditsconsumePOST/sdk/v1/credits/consume待后端新增
BillinggetUsageGET/ai/v5/artimind/free_trial/count?module=generator_{appKey}已有
BillingconsumePOST/ai/v5/artimind/free_trial已有
Export纯前端操作 + OSS 上传已有

MIT Licensed