# 平台后台数据库表结构 (PocketBase) 本方案采用纯业务 ID 关联模式。PocketBase 底层的 `id` 字段由系统自动维护,业务逻辑中完全使用自定义的 `_id` 字段进行读写和关联。 --- ### 1. tbl_system_dict (系统词典) **类型:** Base Collection **读写权限:** 所有人可读;仅 `ManagePlatform`/管理员可写 | 字段名 | 类型 | 备注 | | :--- | :--- | :--- | | system_dict_id | text | 自定义词id | | dict_name | text | 词典名称 | | dict_word_enum | text | 词典枚举 | | dict_word_description | text | 词典描述 | | dict_word_is_enabled | bool | 是否有效 | | dict_word_sort_order | number | 显示顺序 | | dict_word_parent_id | text | 实现父级字段 (存储其他 dict 的 system_dict_id) | | dict_word_remark | text | 备注 | **索引规划 (Indexes):** * `CREATE UNIQUE INDEX` 针对 `system_dict_id` (确保业务主键唯一) * `CREATE UNIQUE INDEX` 针对 `dict_name` (确保词典名称全局唯一,并支持按名称唯一索引查询) * `CREATE INDEX` 针对 `dict_word_parent_id` (加速父子级联查询) --- ### 2. tbl_company (公司) **类型:** Base Collection | 字段名 | 类型 | 备注 | | :--- | :--- | :--- | | company_id | text | 公司业务id,由数据库自动生成,默认形如 `WX-COMPANY-时间串` | | company_name | text | 公司名称 | | company_type | text | 公司类型 | | company_entity | text | 公司法人 | | company_usci | text | 统一社会信用代码 | | company_nationality | text | 国家 | | company_nationality_code | text | 国家编码 | | company_province | text | 省份 | | company_province_code | text | 省份编码 | | company_city | text | 城市 | | company_city_code | text | 城市编码 | | company_district | text | 区/县 | | company_district_code | text | 区/县编码 | | company_postalcode | text | 邮编 | | company_add | text | 地址 | | company_status | text | 公司状态 | | company_level | text | 公司等级 | | company_owner_openid | text | 公司所有者 openid | | company_remark | text | 备注 | **索引规划 (Indexes):** * `CREATE UNIQUE INDEX` 针对 `company_id` (确保业务主键唯一) * `CREATE INDEX` 针对 `company_usci` (加速信用代码检索) * `CREATE UNIQUE INDEX` 针对 `company_owner_openid` (限制同一公司所有者仅能绑定一个公司) --- ### 3. tbl_user_groups (用户组) **类型:** Base Collection | 字段名 | 类型 | 备注 | | :--- | :--- | :--- | | usergroups_id | text | 自定义用户组id | | usergroups_name | text | 用户组名 | | usergroups_level | number | 权限等级 | | usergroups_remark | text | 备注 | **索引规划 (Indexes):** * `CREATE UNIQUE INDEX` 针对 `usergroups_id` (确保业务主键唯一) --- ### 4. tbl_users (用户) **类型:** Base Collection (采用纯业务记录,不使用系统 Auth,以便完美适配图示字段) | 字段名 | 类型 | 备注 | | :--- | :--- | :--- | | users_id | text | 自定义用户id | | users_name | text | 用户名 | | users_idtype | text | 证件类别 | | users_id_number | text | 证件号 | | users_phone | text | 用户电话号码 | | users_wx_openid | text | 微信号 | | users_level | text | 用户等级 | | users_type | text | 用户类型 | | users_tag | text | 用户标签 | | users_status | text | 用户状态 | | company_id | text | 公司id (存储 tbl_company.company_id) | | users_parent_id | text | 用户父级id (存储 tbl_users.users_id) | | users_promo_code | text | 用户推广码 | | users_id_pic_a | text | 用户证件照片(正),保存 tbl_attachments.attachments_id | | users_id_pic_b | text | 用户证件照片(反),保存 tbl_attachments.attachments_id | | users_title_picture | text | 用户资质照片,保存 tbl_attachments.attachments_id | | users_picture | text | 用户头像,保存 tbl_attachments.attachments_id | | usergroups_id | text | 用户组id (存储 tbl_user_groups.usergroups_id) | **索引规划 (Indexes):** * `CREATE UNIQUE INDEX` 针对 `users_id` (确保业务主键唯一) * `CREATE UNIQUE INDEX` 针对 `users_phone` (确保手机号唯一,加速登录查询) * `CREATE UNIQUE INDEX` 针对 `users_wx_openid` (确保微信开放ID唯一) * `CREATE INDEX` 针对 `company_id`, `usergroups_id`, `users_parent_id` (加速这三个高频业务外键的匹配查询)