1. 31 Aug, 2026 5 commits
    • 李文光's avatar
    • 李文光's avatar
      61e871cb
    • 李文光's avatar
      feat: 多用户登录与按用户隔离工作区 · d588921d
      李文光 authored
      - 激活 User 表(username/role/password_hash/is_active/last_login_at),13 张业务表加 owner_id,AppStateMeta 改 String 主键(工作区键)
      - 认证中间件支持 Bearer 令牌 + Basic 兼容;ADMIN_PASSWORD 为登录总开关,未设置保持开放模式(local 工作区)
      - 密码 PBKDF2-SHA256 哈希、HMAC 签名令牌(SESSION_SECRET),零新依赖
      - 新增 /api/auth/* 路由:登录/登出/me/改密/用户 CRUD(admin 专属,含最后管理员保护)
      - 状态读写/采集落库按 owner 隔离,admin 可 ?owner= 切换工作区
      - 前端:登录页、用户管理页、user store、路由守卫、AppShell 用户菜单/工作区切换器,localStorage 按工作区分键
      - 旧库启动自动补 owner_id 回填 local 并重建 users/app_state_meta,历史数据不丢
      - 新增 create_user.py CLI(create/list/reset/disable/enable)
      - 测试 25 passed(新增 test_auth.py 14 用例),文档同步更新
      d588921d
    • 李文光's avatar
      docs: 补充项目文档并清理失效启动脚本 · cca6d880
      李文光 authored
      - 新增 AGENTS.md(AI 编码助手规范)、docs/project_handoff.md(交接文档)
      - 启动统一走 backend/scripts/start_server.py,支持 --with-frontend 构建同步前端;
        删除 backend/package.json 及失效脚本 sync_frontend_static.py / legacy-server.mjs
      - 学校/专业/技能词典抽为共享数据 shared/resume-dictionaries.json,
        后端 resume_parser_core.py 与前端 constants.js 均引用同一份
      - 更新各 README、.gitignore(忽略 .codegraph/);测试断言改为 Vue 前端资源
      cca6d880
    • 李文光's avatar
      Initial commit · 2e37711d
      李文光 authored
      2e37711d