docs: 添加数据库表结构说明 DATABASE_SCHEMA.md
This commit is contained in:
parent
049f01059f
commit
503196d2ae
371
DATABASE_SCHEMA.md
Normal file
371
DATABASE_SCHEMA.md
Normal file
@ -0,0 +1,371 @@
|
|||||||
|
# 数据库表结构说明
|
||||||
|
|
||||||
|
本文档描述项目使用的 PostgreSQL 数据库表及字段,便于配置数据库、排查问题或二次开发。
|
||||||
|
表名与代码中 `lib/db/schema.ts` 一致,迁移文件位于 `lib/db/migrations/`。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. User(用户表)
|
||||||
|
|
||||||
|
| 字段名 | 类型 | 必填 | 默认 | 说明 |
|
||||||
|
|--------|------|------|------|------|
|
||||||
|
| id | uuid | 是 | defaultRandom() | 主键 |
|
||||||
|
| email | varchar(64) | 是 | - | 邮箱 |
|
||||||
|
| password | varchar(64) | 否 | - | 密码(可为空,如钉钉登录) |
|
||||||
|
| name | varchar(100) | 否 | - | 用户姓名(显示用) |
|
||||||
|
| department | varchar(256) | 否 | - | 部门 |
|
||||||
|
| dingtalkUserId | varchar(128) | 否 | - | 钉钉用户ID |
|
||||||
|
| role | varchar | 是 | 'regular' | 角色:guest / regular / admin |
|
||||||
|
| isActive | boolean | 是 | true | 是否启用 |
|
||||||
|
| monthlyImageLimit | integer | 否 | - | 每月出图限额,NULL/0 表示无限制 |
|
||||||
|
| createdAt | timestamp | 是 | now() | 创建时间 |
|
||||||
|
| updatedAt | timestamp | 是 | now() | 更新时间 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. Chat(会话表)
|
||||||
|
|
||||||
|
| 字段名 | 类型 | 必填 | 默认 | 说明 |
|
||||||
|
|--------|------|------|------|------|
|
||||||
|
| id | uuid | 是 | defaultRandom() | 主键 |
|
||||||
|
| createdAt | timestamp | 是 | - | 创建时间 |
|
||||||
|
| title | text | 是 | - | 会话标题 |
|
||||||
|
| userId | uuid | 是 | - | 用户ID,外键 → User.id |
|
||||||
|
| visibility | varchar | 是 | 'private' | 可见性:public / private |
|
||||||
|
| lastContext | jsonb | 否 | - | 上次使用上下文(AppUsage) |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. Message(消息表,新)— 表名:Message_v2
|
||||||
|
|
||||||
|
| 字段名 | 类型 | 必填 | 默认 | 说明 |
|
||||||
|
|--------|------|------|------|------|
|
||||||
|
| id | uuid | 是 | defaultRandom() | 主键 |
|
||||||
|
| chatId | uuid | 是 | - | 会话ID,外键 → Chat.id |
|
||||||
|
| role | varchar | 是 | - | 角色(user/assistant 等) |
|
||||||
|
| parts | json | 是 | - | 消息内容片段 |
|
||||||
|
| attachments | json | 是 | - | 附件 |
|
||||||
|
| createdAt | timestamp | 是 | - | 创建时间 |
|
||||||
|
| video_storage_status | varchar(20) | 否 | 'temporary' | 视频存储状态 |
|
||||||
|
| temporary_video_url | text | 否 | - | 临时视频URL |
|
||||||
|
| permanent_video_url | text | 否 | - | 永久视频URL |
|
||||||
|
| archived_at | timestamp | 否 | - | 归档时间 |
|
||||||
|
| video_metadata | jsonb | 否 | - | 视频元数据 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. Message(旧版,已弃用)— 表名:Message
|
||||||
|
|
||||||
|
保留兼容,新逻辑请用 Message_v2。
|
||||||
|
|
||||||
|
| 字段名 | 类型 | 必填 | 默认 | 说明 |
|
||||||
|
|--------|------|------|------|------|
|
||||||
|
| id | uuid | 是 | defaultRandom() | 主键 |
|
||||||
|
| chatId | uuid | 是 | - | 会话ID |
|
||||||
|
| role | varchar | 是 | - | 角色 |
|
||||||
|
| content | json | 是 | - | 内容 |
|
||||||
|
| createdAt | timestamp | 是 | - | 创建时间 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. Vote_v2(投票表,新)
|
||||||
|
|
||||||
|
| 字段名 | 类型 | 必填 | 默认 | 说明 |
|
||||||
|
|--------|------|------|------|------|
|
||||||
|
| chatId | uuid | 是 | - | 会话ID,外键 → Chat.id |
|
||||||
|
| messageId | uuid | 是 | - | 消息ID,外键 → Message_v2.id |
|
||||||
|
| isUpvoted | boolean | 是 | - | 是否点赞 |
|
||||||
|
| (主键) | - | - | - | (chatId, messageId) 联合主键 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 6. Vote(旧版,已弃用)— 表名:Vote
|
||||||
|
|
||||||
|
| 字段名 | 类型 | 必填 | 默认 | 说明 |
|
||||||
|
|--------|------|------|------|------|
|
||||||
|
| chatId | uuid | 是 | - | 会话ID |
|
||||||
|
| messageId | uuid | 是 | - | 消息ID(旧 Message 表) |
|
||||||
|
| isUpvoted | boolean | 是 | - | 是否点赞 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 7. Document(文档表)
|
||||||
|
|
||||||
|
| 字段名 | 类型 | 必填 | 默认 | 说明 |
|
||||||
|
|--------|------|------|------|------|
|
||||||
|
| id | uuid | 是 | defaultRandom() | 主键之一 |
|
||||||
|
| createdAt | timestamp | 是 | - | 主键之一 |
|
||||||
|
| title | text | 是 | - | 标题 |
|
||||||
|
| content | text | 否 | - | 内容 |
|
||||||
|
| text | varchar | 是 | 'text' | 类型:text / code / image / sheet |
|
||||||
|
| userId | uuid | 是 | - | 用户ID,外键 → User.id |
|
||||||
|
|
||||||
|
主键:(id, createdAt)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 8. Suggestion(建议表)
|
||||||
|
|
||||||
|
| 字段名 | 类型 | 必填 | 默认 | 说明 |
|
||||||
|
|--------|------|------|------|------|
|
||||||
|
| id | uuid | 是 | defaultRandom() | 主键 |
|
||||||
|
| documentId | uuid | 是 | - | 文档ID |
|
||||||
|
| documentCreatedAt | timestamp | 是 | - | 文档创建时间 |
|
||||||
|
| originalText | text | 是 | - | 原文 |
|
||||||
|
| suggestedText | text | 是 | - | 建议文本 |
|
||||||
|
| description | text | 否 | - | 描述 |
|
||||||
|
| isResolved | boolean | 是 | false | 是否已解决 |
|
||||||
|
| userId | uuid | 是 | - | 用户ID,外键 → User.id |
|
||||||
|
| createdAt | timestamp | 是 | - | 创建时间 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 9. Stream(流表)
|
||||||
|
|
||||||
|
| 字段名 | 类型 | 必填 | 默认 | 说明 |
|
||||||
|
|--------|------|------|------|------|
|
||||||
|
| id | uuid | 是 | defaultRandom() | 主键 |
|
||||||
|
| chatId | uuid | 是 | - | 会话ID,外键 → Chat.id |
|
||||||
|
| createdAt | timestamp | 是 | - | 创建时间 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 10. SystemSettings(系统设置表)
|
||||||
|
|
||||||
|
| 字段名 | 类型 | 必填 | 默认 | 说明 |
|
||||||
|
|--------|------|------|------|------|
|
||||||
|
| id | uuid | 是 | defaultRandom() | 主键 |
|
||||||
|
| key | varchar(128) | 是 | - | 配置键,唯一 |
|
||||||
|
| value | jsonb | 是 | - | 配置值 |
|
||||||
|
| updatedAt | timestamp | 是 | now() | 更新时间 |
|
||||||
|
| updatedBy | uuid | 否 | - | 更新人,外键 → User.id |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 11. ToolConfig(工具配置表)
|
||||||
|
|
||||||
|
| 字段名 | 类型 | 必填 | 默认 | 说明 |
|
||||||
|
|--------|------|------|------|------|
|
||||||
|
| id | uuid | 是 | defaultRandom() | 主键 |
|
||||||
|
| toolName | varchar(128) | 是 | - | 工具名称,唯一 |
|
||||||
|
| isEnabled | boolean | 是 | true | 是否启用 |
|
||||||
|
| description | text | 否 | - | 描述 |
|
||||||
|
| config | jsonb | 否 | - | 配置 |
|
||||||
|
| updatedAt | timestamp | 是 | now() | 更新时间 |
|
||||||
|
| updatedBy | uuid | 否 | - | 更新人,外键 → User.id |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 12. AiProvider(AI 提供商表)
|
||||||
|
|
||||||
|
| 字段名 | 类型 | 必填 | 默认 | 说明 |
|
||||||
|
|--------|------|------|------|------|
|
||||||
|
| id | uuid | 是 | defaultRandom() | 主键 |
|
||||||
|
| name | varchar(128) | 是 | - | 提供商名称 |
|
||||||
|
| type | varchar | 是 | 'custom' | 类型:alibaba / openai / custom / local / gemini / huanke-gemini / qianwen-video / volcano-vision / volcano-video / alibaba-image |
|
||||||
|
| baseUrl | text | 是 | - | API 基础 URL |
|
||||||
|
| apiKey | text | 是 | - | API Key |
|
||||||
|
| isEnabled | boolean | 是 | true | 是否启用 |
|
||||||
|
| createdAt | timestamp | 是 | now() | 创建时间 |
|
||||||
|
| updatedAt | timestamp | 是 | now() | 更新时间 |
|
||||||
|
| updatedBy | uuid | 否 | - | 更新人,外键 → User.id |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 13. AiModel(AI 模型表)
|
||||||
|
|
||||||
|
| 字段名 | 类型 | 必填 | 默认 | 说明 |
|
||||||
|
|--------|------|------|------|------|
|
||||||
|
| id | uuid | 是 | defaultRandom() | 主键 |
|
||||||
|
| providerId | uuid | 是 | - | 提供商ID,外键 → AiProvider.id |
|
||||||
|
| modelId | varchar(128) | 是 | - | 模型ID(如 qwen-turbo) |
|
||||||
|
| displayName | varchar(128) | 是 | - | 显示名称 |
|
||||||
|
| description | text | 否 | - | 描述 |
|
||||||
|
| supportsVision | boolean | 是 | false | 是否支持视觉 |
|
||||||
|
| supportsImageGen | boolean | 是 | false | 是否支持生图 |
|
||||||
|
| isEnabled | boolean | 是 | true | 是否启用 |
|
||||||
|
| isDefault | boolean | 是 | false | 是否默认模型 |
|
||||||
|
| sortOrder | integer | 是 | 0 | 排序 |
|
||||||
|
| capabilities | jsonb | 否 | - | 能力配置(如视频) |
|
||||||
|
| defaultParams | jsonb | 否 | - | 默认参数 |
|
||||||
|
| is_sub_model | boolean | 是 | false | 是否子模型(不单独展示) |
|
||||||
|
| parent_model_id | uuid | 否 | - | 父模型ID |
|
||||||
|
| fallbackModelId1 | varchar(128) | 否 | - | 备用模型ID 1 |
|
||||||
|
| fallbackModelId2 | varchar(128) | 否 | - | 备用模型ID 2 |
|
||||||
|
| imageGenConfig | jsonb | 否 | - | 生图配置 |
|
||||||
|
| createdAt | timestamp | 是 | now() | 创建时间 |
|
||||||
|
| updatedAt | timestamp | 是 | now() | 更新时间 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 14. StorageConfig(存储配置表)
|
||||||
|
|
||||||
|
| 字段名 | 类型 | 必填 | 默认 | 说明 |
|
||||||
|
|--------|------|------|------|------|
|
||||||
|
| id | uuid | 是 | defaultRandom() | 主键 |
|
||||||
|
| name | varchar(128) | 是 | - | 配置名称 |
|
||||||
|
| type | varchar | 是 | 's3' | 类型:s3 / local |
|
||||||
|
| endpoint | text | 否 | - | S3 端点 |
|
||||||
|
| region | varchar(64) | 否 | - | 区域 |
|
||||||
|
| bucket | varchar(128) | 否 | - | 存储桶 |
|
||||||
|
| accessKeyId | text | 否 | - | Access Key ID |
|
||||||
|
| secretAccessKey | text | 否 | - | Secret Access Key |
|
||||||
|
| publicUrl | text | 否 | - | 公开访问 URL 前缀 |
|
||||||
|
| isDefault | boolean | 是 | false | 是否默认存储 |
|
||||||
|
| isEnabled | boolean | 是 | true | 是否启用 |
|
||||||
|
| createdAt | timestamp | 是 | now() | 创建时间 |
|
||||||
|
| updatedAt | timestamp | 是 | now() | 更新时间 |
|
||||||
|
| updatedBy | uuid | 否 | - | 更新人,外键 → User.id |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 15. SiteSettings(网站设置表)
|
||||||
|
|
||||||
|
| 字段名 | 类型 | 必填 | 默认 | 说明 |
|
||||||
|
|--------|------|------|------|------|
|
||||||
|
| id | uuid | 是 | defaultRandom() | 主键 |
|
||||||
|
| siteName | varchar(128) | 是 | 'AI Chatbot' | 站点名称 |
|
||||||
|
| siteLogo | text | 否 | - | 站点 LOGO(日间) |
|
||||||
|
| siteLogoDark | text | 否 | - | 站点 LOGO(夜间) |
|
||||||
|
| favicon | text | 否 | - | favicon |
|
||||||
|
| showAutoModel | boolean | 是 | true | 是否显示「自动」模型 |
|
||||||
|
| defaultTheme | varchar(16) | 是 | 'system' | 默认主题:system / light / dark |
|
||||||
|
| usageTimeEnabled | boolean | 是 | false | 是否启用使用时间限制 |
|
||||||
|
| usageTimeStart | varchar(5) | 否 | '08:00' | 开始时间 HH:mm |
|
||||||
|
| usageTimeEnd | varchar(5) | 否 | '20:00' | 结束时间 HH:mm |
|
||||||
|
| usageTimeMessage | text | 否 | - | 超时提示文案 |
|
||||||
|
| bannerEnabled | boolean | 是 | true | 是否显示广告横幅 |
|
||||||
|
| bannerText | text | 否 | - | 横幅文案 |
|
||||||
|
| bannerLink | text | 否 | - | 横幅链接 |
|
||||||
|
| toolbox1Name | varchar(64) | 否 | '工具箱' | 工具箱1名称 |
|
||||||
|
| toolbox1Enabled | boolean | 是 | true | 工具箱1是否显示 |
|
||||||
|
| toolbox2Name | varchar(64) | 否 | '工具箱2' | 工具箱2名称 |
|
||||||
|
| toolbox2Enabled | boolean | 是 | false | 工具箱2是否显示 |
|
||||||
|
| tutorialVideoUrl | text | 否 | - | 教程视频链接 |
|
||||||
|
| tutorialEnabled | boolean | 是 | false | 是否显示教程 |
|
||||||
|
| rankingEnabled | boolean | 是 | true | 是否显示精选榜 |
|
||||||
|
| canvasEnabled | boolean | 是 | true | 是否启用无限画布 |
|
||||||
|
| canvasDefaultModelId | varchar(128) | 否 | - | 画布默认模型ID |
|
||||||
|
| canvasAutoModeDefaultModelId | varchar(128) | 否 | - | 画布智能自动模式默认模型ID |
|
||||||
|
| updatedAt | timestamp | 是 | now() | 更新时间 |
|
||||||
|
| updatedBy | uuid | 否 | - | 更新人,外键 → User.id |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 16. NavLinks(导航链接表)
|
||||||
|
|
||||||
|
| 字段名 | 类型 | 必填 | 默认 | 说明 |
|
||||||
|
|--------|------|------|------|------|
|
||||||
|
| id | uuid | 是 | defaultRandom() | 主键 |
|
||||||
|
| name | varchar(64) | 是 | - | 名称 |
|
||||||
|
| url | text | 是 | - | 链接 |
|
||||||
|
| order | integer | 是 | 0 | 排序 |
|
||||||
|
| isEnabled | boolean | 是 | true | 是否启用 |
|
||||||
|
| toolboxGroup | integer | 是 | 1 | 工具箱分组:1 或 2 |
|
||||||
|
| createdAt | timestamp | 是 | now() | 创建时间 |
|
||||||
|
| updatedAt | timestamp | 是 | now() | 更新时间 |
|
||||||
|
| createdBy | uuid | 否 | - | 创建人,外键 → User.id |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 17. TutorialVideos(教程视频表)
|
||||||
|
|
||||||
|
| 字段名 | 类型 | 必填 | 默认 | 说明 |
|
||||||
|
|--------|------|------|------|------|
|
||||||
|
| id | uuid | 是 | defaultRandom() | 主键 |
|
||||||
|
| title | varchar(128) | 是 | - | 标题 |
|
||||||
|
| videoUrl | text | 是 | - | 视频链接 |
|
||||||
|
| coverUrl | text | 否 | - | 封面图链接 |
|
||||||
|
| description | text | 否 | - | 描述 |
|
||||||
|
| order | integer | 是 | 0 | 排序 |
|
||||||
|
| isEnabled | boolean | 是 | true | 是否启用 |
|
||||||
|
| createdAt | timestamp | 是 | now() | 创建时间 |
|
||||||
|
| updatedAt | timestamp | 是 | now() | 更新时间 |
|
||||||
|
| createdBy | uuid | 否 | - | 创建人,外键 → User.id |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 18. AuthSettings(认证配置表)
|
||||||
|
|
||||||
|
| 字段名 | 类型 | 必填 | 默认 | 说明 |
|
||||||
|
|--------|------|------|------|------|
|
||||||
|
| id | uuid | 是 | defaultRandom() | 主键 |
|
||||||
|
| dingTalkAppKey | text | 否 | - | 钉钉 AppKey |
|
||||||
|
| dingTalkAppSecret | text | 否 | - | 钉钉 AppSecret |
|
||||||
|
| dingTalkOrganizations | jsonb | 否 | - | 多组织钉钉配置 [{ name, appKey, appSecret }] |
|
||||||
|
| isDingTalkEnabled | boolean | 是 | false | 是否启用钉钉登录 |
|
||||||
|
| isRegistrationEnabled | boolean | 是 | true | 是否开放注册 |
|
||||||
|
| updatedAt | timestamp | 是 | now() | 更新时间 |
|
||||||
|
| updatedBy | uuid | 否 | - | 更新人,外键 → User.id |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 19. LoginToken(临时登录令牌表)
|
||||||
|
|
||||||
|
| 字段名 | 类型 | 必填 | 默认 | 说明 |
|
||||||
|
|--------|------|------|------|------|
|
||||||
|
| id | uuid | 是 | defaultRandom() | 主键 |
|
||||||
|
| token | text | 是 | - | 令牌,唯一 |
|
||||||
|
| email | varchar(64) | 是 | - | 邮箱 |
|
||||||
|
| expiresAt | timestamp | 是 | - | 过期时间 |
|
||||||
|
| createdAt | timestamp | 是 | now() | 创建时间 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 20. GeneratedImage(生成图片记录表)
|
||||||
|
|
||||||
|
| 字段名 | 类型 | 必填 | 默认 | 说明 |
|
||||||
|
|--------|------|------|------|------|
|
||||||
|
| id | uuid | 是 | defaultRandom() | 主键 |
|
||||||
|
| userId | uuid | 是 | - | 用户ID,外键 → User.id |
|
||||||
|
| chatId | uuid | 否 | - | 会话ID,外键 → Chat.id |
|
||||||
|
| messageId | uuid | 否 | - | 消息ID |
|
||||||
|
| thumbnailUrl | text | 是 | - | 缩略图 URL |
|
||||||
|
| originalUrl | text | 是 | - | 原图 URL |
|
||||||
|
| imageSize | varchar(10) | 否 | '2K' | 图片尺寸 |
|
||||||
|
| prompt | text | 否 | - | 提示词 |
|
||||||
|
| modelId | varchar(128) | 否 | - | 模型ID |
|
||||||
|
| isFeatured | boolean | 是 | false | 是否精选 |
|
||||||
|
| featuredAt | timestamp | 否 | - | 精选时间 |
|
||||||
|
| featuredBy | uuid | 否 | - | 精选操作人,外键 → User.id |
|
||||||
|
| createdAt | timestamp | 是 | now() | 创建时间 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 21. CanvasProject(画布项目表)
|
||||||
|
|
||||||
|
| 字段名 | 类型 | 必填 | 默认 | 说明 |
|
||||||
|
|--------|------|------|------|------|
|
||||||
|
| id | uuid | 是 | defaultRandom() | 主键 |
|
||||||
|
| userId | uuid | 是 | - | 用户ID,外键 → User.id |
|
||||||
|
| title | varchar(256) | 是 | '未命名画布' | 标题 |
|
||||||
|
| description | text | 否 | - | 描述 |
|
||||||
|
| thumbnail | text | 否 | - | 缩略图 URL |
|
||||||
|
| canvasData | jsonb | 否 | - | 画布数据 { nodes, edges, viewport } |
|
||||||
|
| createdAt | timestamp | 是 | now() | 创建时间 |
|
||||||
|
| updatedAt | timestamp | 是 | now() | 更新时间 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 22. CanvasNode(画布节点表)
|
||||||
|
|
||||||
|
| 字段名 | 类型 | 必填 | 默认 | 说明 |
|
||||||
|
|--------|------|------|------|------|
|
||||||
|
| id | uuid | 是 | defaultRandom() | 主键 |
|
||||||
|
| projectId | uuid | 是 | - | 画布项目ID,外键 → CanvasProject.id |
|
||||||
|
| type | varchar(32) | 是 | - | 类型:message / image / video / text / scene-fusion |
|
||||||
|
| position | jsonb | 否 | - | 位置 { x, y } |
|
||||||
|
| size | jsonb | 否 | - | 尺寸 { width, height } |
|
||||||
|
| data | jsonb | 否 | - | 节点数据 |
|
||||||
|
| connections | jsonb | 否 | [] | 连接列表 |
|
||||||
|
| parentId | uuid | 否 | - | 父节点ID |
|
||||||
|
| createdAt | timestamp | 是 | now() | 创建时间 |
|
||||||
|
| updatedAt | timestamp | 是 | now() | 更新时间 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 使用说明
|
||||||
|
|
||||||
|
- **建表**:项目使用 Drizzle 迁移,首次部署请执行 `pnpm run db:migrate` 或项目内定义的迁移命令,表会按 `lib/db/migrations/` 中的 SQL 自动创建/更新。
|
||||||
|
- **连接**:数据库连接由环境变量配置(如 `POSTGRES_URL`),请勿将包含密码的 `.env` 提交到仓库。
|
||||||
|
- **系统配置**:部分功能依赖 `SystemSettings` 表中的 key(如 `scene_fusion_config`、站点相关 key),具体 key 名见代码中 `getSystemSetting` 的用法。
|
||||||
Loading…
x
Reference in New Issue
Block a user