40 lines
1.4 KiB
Markdown
40 lines
1.4 KiB
Markdown
# vip_email_link 集合说明
|
||
|
||
「已有账号登录」按邮箱查库需要 `vip_email_link` 映射表。请在 PocketBase 管理后台创建。
|
||
|
||
**若出现 404**:检查集合名称是否为 `vip_email_link`(小写+下划线),且必须添加 `anonymous_user_id` 字段。
|
||
|
||
## 集合名称
|
||
|
||
`vip_email_link`(必须与此完全一致)
|
||
|
||
## 字段(全部必建)
|
||
|
||
| 字段名 | 类型 | 说明 |
|
||
|--------|------|------|
|
||
| email | Text | 邮箱,建议唯一 |
|
||
| user_id | Text | 关联的 PB 用户 ID |
|
||
| anonymous_user_id | Text | **必建** 匿名 user_id(如 user1773315608560),用于已有账号登录查关联 |
|
||
|
||
## 创建方式
|
||
|
||
1. 打开 PocketBase 管理后台
|
||
2. Collections → New collection
|
||
3. 名称:`vip_email_link`(精确匹配)
|
||
4. 添加字段:`email` (Text)、`user_id` (Text)、`anonymous_user_id` (Text)
|
||
5. 可选:为 `email` 设置 unique 约束
|
||
6. API Rules:Admin 需能访问,或留空使用默认
|
||
|
||
## 数据来源
|
||
|
||
- **支付成功页**:用户输入邮箱后调用 `POST /api/auth/store-email-link` 写入 `email -> 匿名 user_id`
|
||
- **关联邮箱**:`POST /api/auth/link-email` 成功后写入 `email -> PB user_id`(覆盖)
|
||
|
||
## 查询流程
|
||
|
||
`POST /api/vip/check-by-email` 会:
|
||
|
||
1. 验证邮箱密码(PB 登录)
|
||
2. 按 PB id 查 site_vip、payments
|
||
3. 若未找到,按 email 查 vip_email_link 得 user_id,再查 site_vip、payments
|