# pb_tbl_auth_users

> 来源：线上 PocketBase collection 回读、`script/pocketbase.newpb.js`
> 类型：`auth`
> 读写规则：公开允许新增与修改；列表 / 详情 / 删除仍仅管理员 / 管理角色允许

## 表用途

作为项目统一身份源，承载微信用户与管理平台用户，并负责向 PocketBase 原生鉴权体系签发可被 SDK 识别的 token。

## 字段清单

| 字段名 | 类型 | 必填 | 说明 |
| :--- | :--- | :---: | :--- |
| `id` | `text` | 是 | PocketBase 记录主键 |
| `users_convers_id` | `text` | 否 | 会话侧用户 ID |
| `openid` | `text` | 是 | 全局身份锚点 |
| `org_id` | `number` | 否 | 组织 / 部门标识 |
| `users_rank_level` | `number` | 否 | 用户星级数值 |
| `users_status` | `text` | 否 | 用户状态 |
| `users_auth_type` | `number` | 否 | 账户类型 |
| `users_id` | `text` | 否 | 用户业务 ID |
| `users_name` | `text` | 否 | 用户姓名 / 昵称 |
| `users_idtype` | `text` | 否 | 身份来源类型或证件类型 |
| `users_id_number` | `text` | 否 | 证件号 |
| `users_phone` | `text` | 否 | 手机号 |
| `users_level` | `text` | 否 | 用户等级枚举值，保存“数据-会员等级”字典 enum |
| `users_type` | `text` | 否 | 用户类型 |
| `company_id` | `text` | 否 | 所属公司业务 ID |
| `users_parent_id` | `text` | 否 | 上级用户业务 ID |
| `users_promo_code` | `text` | 否 | 推广码 |
| `users_picture` | `text` | 否 | 头像附件 ID |
| `usergroups_id` | `text` | 否 | 用户组 / 角色 ID |
| `password` | `password` | 是 | PocketBase 认证密码 |
| `tokenKey` | `text` | 是 | PocketBase token 签发关键字段 |
| `email` | `email` | 是 | PocketBase 认证邮箱 |
| `emailVisibility` | `bool` | 否 | 邮箱是否公开 |
| `verified` | `bool` | 否 | 邮箱是否验证 |
| `users_title_picture` | `text` | 否 | 资质附件 ID |
| `users_id_pic_a` | `text` | 否 | 证件照正面附件 ID |
| `users_id_pic_b` | `text` | 否 | 证件照反面附件 ID |
| `users_tag` | `text` | 否 | 用户标签 |
| `is_delete` | `number` | 否 | 软删除标记，`0` 表示未删除，`1` 表示已删除，默认 `0` |

## 索引

| 索引名 | 类型 | 说明 |
| :--- | :--- | :--- |
| `idx_tbl_auth_users_users_convers_id` | `UNIQUE INDEX` | 保证 `users_convers_id` 唯一 |
| `idx_tbl_auth_users_openid` | `UNIQUE INDEX` | 保证 `openid` 唯一 |
| `idx_tbl_auth_users_org_id` | `INDEX` | 加速按组织查询 |
| `idx_tbl_auth_users_users_rank_level` | `INDEX` | 加速按等级查询 |
| `idx_tbl_auth_users_users_status` | `INDEX` | 加速按状态查询 |
| `idx_tbl_auth_users_users_auth_type` | `INDEX` | 加速按账户类型查询 |
| `idx_tbl_auth_users_users_phone` | `INDEX` | 加速按手机号查询 |
| `idx_tbl_auth_users_company_id` | `INDEX` | 加速按公司查询 |
| `idx_tbl_auth_users_usergroups_id` | `INDEX` | 加速按用户组查询 |
| `idx_tbl_auth_users_users_parent_id` | `INDEX` | 加速按上级查询 |
| `idx_tokenKey_pbc_421601843` | `UNIQUE INDEX` | PocketBase auth 系统索引 |
| `idx_email_pbc_421601843` | `UNIQUE INDEX` | PocketBase auth 系统索引，保证邮箱唯一 |

## 补充约定

- 本表为 `auth` collection，除上述字段外还受 PocketBase 原生鉴权机制约束。
- 图片类字段统一只保存 `tbl_attachments.attachments_id`。
- `is_delete` 用于软删除控制，业务侧删除时应优先将其置为 `1`，而不是直接物理删除记录。
- 集合默认查询规则已内置 `is_delete = 0`，管理侧常规列表/详情默认隐藏已软删除用户。
- 登录接口返回的 token 来源于本表 auth record 的原生签发能力，可直接给 PocketBase SDK 使用。
- 新用户注册时，`users_level` 默认保持为空；已有用户后续登录 / 更新流程也不会自动改写该字段。
- PocketBase 系统字段 `created`、`updated` 仍然存在，只是不在 collection 字段清单里单独声明。
