1. 05 Aug, 2026 4 commits
    • chore: 忽略上传目录与本地测试数据脚本 · 4f0f2db7
      uploads/ 是后端写入的资产图片目录,此前没有被任何规则挡住,
      执行 git add . 会把设备图片一并提交进仓库。
      
      同时忽略 db-seed/ 与 *.seed.sql:本地造数脚本各人环境不同,
      放在仓库外,需要时自行执行。
      
      Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
      DaiJiezhang authored
    • feat: 列表页固定一屏高度,数据在表格内滚动 · 29eba1a3
      五个列表页不再随数据量把页面撑长,改为锁定在一屏内、表头固定、行区域内部滚动、分页始终可见:
      手机号资产、企微资料、公司档案、设备资产、账号与权限。
      
      实现要点:
      - app-shell 锁定视口高度,滚动分给侧栏与内容区各自承担
      - 列表页根节点用 min-height:100% 的 flex 纵向布局,表格面板吃掉剩余空间
      - 表格外层新增 grid-wrap 容器并绝对定位 el-table,否则 el-table 会用自身内容高度
        反向撑开父级导致 flex 收缩失效;同时必须显式写 height:100%,
        盖掉 Element Plus 自带的 .el-table{height:fit-content}
      - grid-wrap 设 min-height:220px 兜底,窗口过矮时改由内容区整页滚动,避免表格被压成一两行
      - 断点 640px 以下整体回退为整页滚动,小屏可视行数太少反而不好用
      
      顺带修复设备资产列表始终报「数据库字段未同步」:
      AssetDeviceEntity 的 imageAttachment1/2 被 MyBatis-Plus 推导成 image_attachment1,
      与表中的 image_attachment_1 对不上导致 SELECT 抛 BadSqlGrammarException,
      补 @TableField 显式指定列名。
      
      验证:1280x918 与 420px 矮窗口下逐页实测表头固定、内部滚动、分页可见与兜底生效;
      设备页以 30 条真实数据验证滚动,并实测图片上传、列表读回与页面渲染全链路;
      前端 27 项 e2e 全部通过。
      
      Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
      DaiJiezhang authored
    • feat: 公司档案工作台与登录安全加固 · 2857e4ea
      本提交是 codex 已完成、此前一直留在工作区未提交的改动,本次原样归档:
      
      - 公司档案:后端 Controller / Service / 4 个 DTO,前端 company-profile 模块与路由注册,配套单测与 e2e
      - 登录安全:新增 LoginAttemptGuard / InMemoryLoginAttemptGuard / LoginThrottledException 失败限流,AuthService 与异常处理相应调整
      - 企微资产:注册主体选择、弹窗滚动复位,相关 Service 与测试更新
      - 账号权限:SystemUserAdmin 相关调整与登录锁定解除入口
      - openspec 变更记录 4 份,.gitignore 补充两条本地产物忽略
      
      未经改动地提交,作者本人未复核;如需拆分或回退请以此提交为界。
      
      Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
      DaiJiezhang authored
  2. 04 Aug, 2026 8 commits
  3. 03 Aug, 2026 5 commits
  4. 01 Aug, 2026 6 commits
  5. 31 Jul, 2026 2 commits
  6. 30 Jul, 2026 1 commit
  7. 27 Jul, 2026 1 commit
  8. 26 Jul, 2026 1 commit
  9. 20 Jul, 2026 2 commits
  10. 10 Jul, 2026 1 commit
  11. 08 Jul, 2026 2 commits
  12. 07 Jul, 2026 1 commit
  13. 06 Jul, 2026 2 commits
  14. 03 Jul, 2026 1 commit
  15. 02 Jul, 2026 2 commits
  16. 01 Jul, 2026 1 commit