v1.0 招聘数据后台: 首账号超管+HR账号+登录, 看板/候选人筛选/详情/CSV导出/账号管理, 只读live库, Docker部署
This commit is contained in:
@@ -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* | 账号管理 | 超管 |
|
||||
Reference in New Issue
Block a user