v1.0 招聘数据后台: 首账号超管+HR账号+登录, 看板/候选人筛选/详情/CSV导出/账号管理, 只读live库, Docker部署

This commit is contained in:
mzl92
2026-08-27 12:07:06 +08:00
commit e796729e57
8 changed files with 1775 additions and 0 deletions
+49
View File
@@ -0,0 +1,49 @@
# zhaopin-admin — 招聘数据简单后台
只读展示生产库(`recruitment-live.db`)的轻量后台,无复杂角色体系。
## 权限模型
- **首个注册账号 = 超管**(系统无账号时注册开放,创建后注册永久关闭)
- 超管可创建/停用/重置 HR 账号
- 超管和 HR 都能看数据、导出 CSV;账号管理仅超管可见
- 登录态:HttpOnly 签名 Cookie,12 小时;密码 scrypt 加盐存储
## 功能
- 看板:累计/今日新增/打招呼数/各级别分布/近7天趋势(含打招呼)
- 候选人列表:级别、打招呼、账号、日期区间、关键词(姓名/学校/门槛备注)筛选 + 分页
- 详情:完整简历全文、评分明细、门槛命中原因
- 导出:当前筛选结果 CSV(上限1万行)
- 账号管理(超管):创建 HR、停用/启用、重置密码
## 部署(服务器 /www/projects/hs_zhaopin)
```bash
git pull
docker compose up -d --build
# 访问 http://192.168.100.133:8300 首次打开即注册超管
```
- 数据源:宿主机 `/opt/hermes/data/recruitment-live.db` **只读**挂载,后台不会写生产库
- 自身状态(账号库 users.db、会话密钥)持久化在 `./data/`
- 端口 8300 仅内网;公网访问需另配 OpenResty 反代(勿直接路由器转发)
## 更新
```bash
cd /www/projects/hs_zhaopin && git pull && docker compose up -d --build
```
## API 概览
| 接口 | 说明 | 权限 |
|------|------|------|
| GET /api/bootstrap | 是否需要初始化超管 | 公开 |
| POST /api/register | 注册(仅无账号时) | 公开 |
| POST /api/login / logout / GET /api/me | 登录会话 | 公开/登录 |
| GET /api/stats | 看板统计 | 登录 |
| GET /api/candidates[?level&greeted&account&date_from&date_to&q&page&size] | 候选人列表 | 登录 |
| GET /api/candidates/:id | 候选人详情(含简历全文) | 登录 |
| GET /api/export.csv | 按当前筛选导出 | 登录 |
| GET/POST /api/users* | 账号管理 | 超管 |