feat: 添加微信端 API 文档和字典表初始化脚本

- 新增 openapi-wx.yaml 文件,定义微信端接口文档,包括用户统计、token 刷新、微信登录和用户资料更新等接口。
- 新增 pocketbase.dictionary.js 脚本,用于初始化和校验字典表结构,确保与预期一致。
This commit is contained in:
2026-03-27 19:26:25 +08:00
parent c43aae783f
commit eaf282ea24
17 changed files with 2880 additions and 128 deletions

View File

@@ -5,7 +5,9 @@
补充约定:
- `document_image``document_video` 只保存关联的 `attachments_id`,不直接存文件;当存在多个附件时,统一使用 `|` 分隔,例如:`ATT-001|ATT-002|ATT-003`
- `document_type` 使用多选字符串持久化,但格式特殊:`system_dict_id@dict_word_enum|system_dict_id@dict_word_enum`;前端显示时用枚举值描述,存库时保留该组合值。
- `document_keywords``document_product_categories``document_application_scenarios``document_hotel_type` 统一使用竖线分隔字符串,例如:`分类A|分类B|分类C`
- `document_status` 仅允许 `有效``过期` 两种值,并由系统根据生效日期与到期日期自动计算;当两者都为空时默认 `有效`
- `document_owner` 的业务含义为“上传者openid”。
- `attachments_link` 是 PocketBase `file` 字段,保存附件本体;访问链接由 PocketBase 根据记录和文件名生成。
- 文档字段中,面向用户填写的字段里只有 `document_title``document_type` 设为必填,其余字段均允许为空。
@@ -19,7 +21,7 @@
| 字段名 | 类型 | 备注 |
| :--- | :--- | :--- |
| attachments_id | text | 附件业务 id唯一标识符 |
| attachments_link | file | 附件本体,单文件,不限制文件类型,单文件上限 100MB |
| attachments_link | file | 附件本体,单文件,不限制文件类型,数据库字段上限已放宽到约 4GB |
| attachments_filename | text | 原始文件名 |
| attachments_filetype | text | 文件类型/MIME |
| attachments_size | number | 附件大小 |
@@ -46,7 +48,7 @@
| document_id | text | 文档业务 id唯一标识符 |
| document_effect_date | date | 文档生效日期 |
| document_expiry_date | date | 文档到期日期 |
| document_type | text | 文档类型,必填 |
| document_type | text | 文档类型,必填;多选时按 `system_dict_id@dict_word_enum|...` 保存 |
| document_title | text | 文档标题,必填 |
| document_subtitle | text | 文档副标题 |
| document_summary | text | 文档摘要 |
@@ -55,18 +57,18 @@
| document_video | text | 关联多个 `attachments_id`,使用 `|` 分隔 |
| document_owner | text | 上传者openid |
| document_relation_model | text | 关联机型/模型标识 |
| document_keywords | text | 关键词,竖线分隔 |
| document_keywords | text | 关键词,多选后用 `|` 分隔保存 |
| document_share_count | number | 分享次数 |
| document_download_count | number | 下载次数 |
| document_favorite_count | number | 收藏次数 |
| document_status | text | 文档状态 |
| document_status | text | 文档状态,仅允许 `有效``过期`,由系统依据生效日期和到期日期自动更新 |
| document_embedding_status | text | 文档嵌入状态 |
| document_embedding_error | text | 文档错误原因 |
| document_embedding_lasttime | date | 最后更新日期 |
| document_vector_version | text | 向量版本号或模型名称 |
| document_product_categories | text | 适用产品类别,竖线分隔 |
| document_application_scenarios | text | 适用场景,竖线分隔 |
| document_hotel_type | text | 适用酒店类型,竖线分隔 |
| document_product_categories | text | 产品关联文档,多选后从 `文档-产品关联文档` 字典保存为 `|` 分隔字符串 |
| document_application_scenarios | text | 筛选依据,多选后从 `文档-筛选依据` 字典保存为 `|` 分隔字符串 |
| document_hotel_type | text | 适用场景,多选后从 `文档-适用场景` 字典保存为 `|` 分隔字符串 |
| document_remark | text | 备注 |
**索引规划:**