Files
zhaopin-admin/README.md
T

2.5 KiB
Raw Blame History

zhaopin-admin — 招聘数据简单后台

只读展示生产库(recruitment-live.db)的轻量后台,无复杂角色体系。

权限模型

  • 首个注册账号 = 超管(系统无账号时注册开放,创建后注册永久关闭)
  • 超管可创建/停用/重置 HR 账号
  • 超管和 HR 都能看数据、导出 CSV;账号管理仅超管可见
  • 登录态:HttpOnly 签名 Cookie,12 小时;密码 scrypt 加盐存储

功能

  • 看板:累计/今日新增/打招呼数/各级别分布/近7天趋势(含打招呼)
  • 候选人列表:级别、打招呼、账号、日期区间、关键词(姓名/学校/门槛备注)筛选 + 分页
  • 详情:完整简历全文、评分明细、门槛命中原因
  • 导出:当前筛选结果 CSV(上限1万行)
  • 账号管理(超管):创建 HR、停用/启用、重置密码

部署(服务器 /www/projects/hs_zhaopin)

git pull
docker compose up -d --build
# 访问 http://192.168.100.133:8300  首次打开即注册超管
  • 数据源:宿主机 /opt/hermes/data/recruitment-live.db 只读挂载,后台不会写生产库
  • 自身状态(账号库 users.db、会话密钥)持久化在 ./data/
  • 端口 8300 仅内网;公网访问需另配 OpenResty 反代(勿直接路由器转发)

更新

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* 账号管理 超管

访问入口(2026-08-27 起)

  • 公网入口:http://219.157.255.213:28080/(运营商封80/443,可用端口范围10000-50000;OpenResty已监听28080,路由器转发规则:外部28080→192.168.100.133:28080;IP为动态,重拨会变)
  • 域名入口:http://zhaopin.admin(同反代;客户端需 hosts 或局域网 DNS 指向 192.168.100.133)
  • 直连入口:http://192.168.100.133:8300(内网)
  • 反代配置:宿主机 /opt/1panel/www/sites/zhaopin.admin/proxy/root.conf(改后 docker exec 1Panel-openresty-Seym nginx -s reload)