feat: 增强 PocketBase hooks 认证功能

- 更新微信登录、平台注册/登录、资料更新、token 刷新、认证落库等功能,统一使用 openid 作为全平台身份锚点。
- 新增平台用户注册和登录接口,支持手机号和密码认证。
- 实现系统级 token 刷新接口,支持通过微信 code 重新签发 token。
- 新增用户总数查询接口,返回 tbl_auth_users 表中的用户总数。
- 更新 OpenAPI 文档,反映新的接口和数据结构。
- 修改数据库结构,调整字段名称和索引。
- 新增页面示例,展示基本的 HTML 页面结构。
This commit is contained in:
2026-03-25 20:03:46 +08:00
parent 02d5686c7b
commit 6490fc427f
20 changed files with 971 additions and 90 deletions

View File

@@ -38,13 +38,12 @@ const collections = [
name: 'tbl_auth_users',
type: 'auth',
fields: [
{ name: 'user_id', type: 'text' },
{ name: 'users_convers_id', type: 'text' },
{ name: 'openid', type: 'text', required: true },
{ name: 'user_name', type: 'text' },
{ name: 'org_id', type: 'number' },
{ name: 'rank_level', type: 'number' },
{ name: 'status', type: 'number' },
{ name: 'user_auth_type', type: 'number' },
{ name: 'users_rank_level', type: 'number' },
{ name: 'users_status', type: 'number' },
{ name: 'users_auth_type', type: 'number' },
{ name: 'users_id', type: 'text' },
{ name: 'users_name', type: 'text' },
@@ -64,14 +63,13 @@ const collections = [
{ name: 'usergroups_id', type: 'text' }
],
indexes: [
'CREATE UNIQUE INDEX idx_tbl_auth_users_user_id ON tbl_auth_users (user_id)',
'CREATE UNIQUE INDEX idx_tbl_auth_users_users_convers_id ON tbl_auth_users (users_convers_id)',
'CREATE UNIQUE INDEX idx_tbl_auth_users_openid ON tbl_auth_users (openid)',
'CREATE INDEX idx_tbl_auth_users_org_id ON tbl_auth_users (org_id)',
'CREATE INDEX idx_tbl_auth_users_rank_level ON tbl_auth_users (rank_level)',
'CREATE INDEX idx_tbl_auth_users_status ON tbl_auth_users (status)',
'CREATE INDEX idx_tbl_auth_users_user_auth_type ON tbl_auth_users (user_auth_type)',
'CREATE INDEX idx_tbl_auth_users_users_rank_level ON tbl_auth_users (users_rank_level)',
'CREATE INDEX idx_tbl_auth_users_users_status ON tbl_auth_users (users_status)',
'CREATE INDEX idx_tbl_auth_users_users_auth_type ON tbl_auth_users (users_auth_type)',
'CREATE UNIQUE INDEX idx_tbl_auth_users_users_id ON tbl_auth_users (users_id)',
// Allow unbound users with empty phone while still speeding up phone lookups.
'CREATE INDEX idx_tbl_auth_users_users_phone ON tbl_auth_users (users_phone)',
'CREATE INDEX idx_tbl_auth_users_company_id ON tbl_auth_users (company_id)',
@@ -133,16 +131,16 @@ const collections = [
type: 'base',
fields: [
{ name: 'override_id', type: 'text', required: true },
{ name: 'user_id', type: 'text', required: true },
{ name: 'users_convers_id', type: 'text', required: true },
{ name: 'res_id', type: 'text', required: true },
{ name: 'access_level', type: 'number', required: true },
{ name: 'priority', type: 'number' }
],
indexes: [
'CREATE UNIQUE INDEX idx_tbl_auth_user_overrides_override_id ON tbl_auth_user_overrides (override_id)',
'CREATE INDEX idx_tbl_auth_user_overrides_user_id ON tbl_auth_user_overrides (user_id)',
'CREATE INDEX idx_tbl_auth_user_overrides_users_convers_id ON tbl_auth_user_overrides (users_convers_id)',
'CREATE INDEX idx_tbl_auth_user_overrides_res_id ON tbl_auth_user_overrides (res_id)',
'CREATE UNIQUE INDEX idx_tbl_auth_user_overrides_unique_map ON tbl_auth_user_overrides (user_id, res_id)'
'CREATE UNIQUE INDEX idx_tbl_auth_user_overrides_unique_map ON tbl_auth_user_overrides (users_convers_id, res_id)'
]
},
{