- 修改登录路由为 `/pb/api/wechat/login`,新增局部 try/catch 以保留业务状态码并返回统一结构 `{ code, msg, data }`。
- 更新所有相关 API 路由前缀为 `/pb`,包括系统、平台、字典、附件和文档接口。
- 新增文档接口支持多个附件 ID,更新 OpenAPI 文档以反映这些变化。
- 在数据库模式中添加对字典名称的唯一索引,确保全局唯一性。
- 更新文档字段,设置 `document_title` 和 `document_type` 为必填项,并在验证过程中检查字段的必填属性。
4.0 KiB
4.0 KiB
PocketBase 文档相关表结构
本方案新增 3 张 PocketBase base collection,统一采用业务 id 字段进行关联,不直接依赖 PocketBase 自动生成的 id 作为业务主键。
补充约定:
document_image、document_video只保存关联的attachments_id,不直接存文件;当存在多个附件时,统一使用|分隔,例如:ATT-001|ATT-002|ATT-003。document_keywords、document_product_categories、document_application_scenarios、document_hotel_type统一使用竖线分隔字符串,例如:分类A|分类B|分类C。document_owner的业务含义为“上传者openid”。attachments_link是 PocketBasefile字段,保存附件本体;访问链接由 PocketBase 根据记录和文件名生成。- 文档字段中,面向用户填写的字段里只有
document_title、document_type设为必填,其余字段均允许为空。
1. tbl_attachments 附件表
类型: Base Collection
| 字段名 | 类型 | 备注 |
|---|---|---|
| attachments_id | text | 附件业务 id,唯一标识符 |
| attachments_link | file | 附件本体,单文件,不限制文件类型,单文件上限 100MB |
| attachments_filename | text | 原始文件名 |
| attachments_filetype | text | 文件类型/MIME |
| attachments_size | number | 附件大小 |
| attachments_owner | text | 上传者业务 id |
| attachments_md5 | text | 附件 MD5 码 |
| attachments_ocr | text | OCR 识别结果 |
| attachments_status | text | 附件状态 |
| attachments_remark | text | 备注 |
索引规划:
attachments_id唯一索引attachments_owner普通索引attachments_status普通索引
2. tbl_document 文档表
类型: Base Collection
| 字段名 | 类型 | 备注 |
|---|---|---|
| document_id | text | 文档业务 id,唯一标识符 |
| document_effect_date | date | 文档生效日期 |
| document_expiry_date | date | 文档到期日期 |
| document_type | text | 文档类型,必填 |
| document_title | text | 文档标题,必填 |
| document_subtitle | text | 文档副标题 |
| document_summary | text | 文档摘要 |
| document_content | text | 正文内容,保存 Markdown 原文 |
| document_image | text | 关联多个 attachments_id,使用 ` |
| document_video | text | 关联多个 attachments_id,使用 ` |
| document_owner | text | 上传者openid |
| document_relation_model | text | 关联机型/模型标识 |
| document_keywords | text | 关键词,竖线分隔 |
| document_share_count | number | 分享次数 |
| document_download_count | number | 下载次数 |
| document_favorite_count | number | 收藏次数 |
| 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_remark | text | 备注 |
索引规划:
document_id唯一索引document_owner普通索引document_type普通索引document_status普通索引document_embedding_status普通索引document_effect_date普通索引document_expiry_date普通索引
3. tbl_document_operation_history 文档操作历史表
类型: Base Collection
| 字段名 | 类型 | 备注 |
|---|---|---|
| doh_id | text | 文档操作历史业务 id,唯一标识符 |
| doh_document_id | text | 关联 document_id |
| doh_operation_type | text | 操作类型 |
| doh_user_id | text | 操作人业务 id |
| doh_current_count | number | 本次操作对应次数 |
| doh_remark | text | 备注 |
索引规划:
doh_id唯一索引doh_document_id普通索引doh_user_id普通索引doh_operation_type普通索引