Files
fquiz/memory/2026-04-27.md
T
2026-04-29 23:10:25 +08:00

4.0 KiB
Raw Blame History

Work Log - 后台首页按 Ant Design 规范优化(2026-04-27

  • 背景:

    • 用户要求“按照 ant design 规范优化页面”。
    • 本次按最小闭环默认命中后台首页 /admin,不改接口、权限与路由,仅优化页面组织与组件用法。
  • 本次改动:

    • web/src/app/admin/page.tsx
      • 新增模块分组筛选:使用 Segmented 展示“全部 + 各业务分类”并联动卡片列表。
      • 新增筛选结果统计:在顶部统计区增加“筛选结果”卡片。
      • 卡片内容结构标准化:模块卡片改为 Card.Meta + Typography.Paragraph(ellipsis) + Tag,信息层级更符合 AntD 卡片模式。
      • 加入分类色标映射(CATEGORY_COLORS),保持类别可读性。
      • 保留仓库既有 Card 类型兼容方案(AntCard 强转),并扩展 Meta 子组件,兼容 React 19 + 当前 AntD 类型约束。
      • 权限逻辑不变:仍由 visible(hasPermission) 决定模块可见性。
  • AntD CLI 校验(按技能要求):

    • 变更前 API 查询(JSON):
      • info Card/Grid/Statistic/Typography/Tag/Avatar/Empty/Space/Segmented/Badge/Flex --format json
    • 变更后规范检查:
      • npx @ant-design/cli lint web/src/app/admin/page.tsx --format json -> 无问题(total=0)。
  • 验证:

    • npm --workspace web exec tsc --noEmit --pretty false -> 通过。
  • 风险与影响:

    • 影响范围仅前端后台首页展示层(/admin)。
    • 未改动后端接口、RBAC、菜单数据与路由注册,功能行为保持不变。

Work Log - 左侧菜单收缩按钮下沉到左下角并补齐菜单图标(2026-04-27)

  • 背景:

    • 用户要求“左侧菜单收缩按钮放到左下角,给菜单都配上图标”。
  • 本次改动:

    • web/src/app/admin/layout.tsx
      • 桌面端收缩按钮从顶部 Header 移除,改为侧栏底部按钮(左下角)。
      • 侧栏菜单构建函数新增图标注入:优先使用后端 menu.icon,其次按 menu.path 回退,最后按“目录/叶子”使用默认图标兜底,确保每个菜单都有图标。
      • 增加默认菜单图标映射,覆盖当前 seed 中 LayoutDashboard/Users/ShieldCheck/MenuSquare/Settings2/Network/Zap/Map/RadarChart/Experiment/FolderTree/FileText/Terminal
    • web/src/app/globals.css
      • 侧栏改为“菜单区域滚动 + 底部按钮固定”布局,保证按钮稳定停靠在左下角且不挤占菜单可视区。
  • AntD CLI 校验(按技能要求):

    • 变更前 API 查询(JSON):
      • info Layout/Menu/Button --format json
    • 变更后规范检查:
      • npx @ant-design/cli lint web/src/app/admin/layout.tsx --format json -> 无问题(total=0)。
  • 验证:

    • npm --workspace web exec tsc --noEmit --pretty false -> 通过。
  • 风险与影响:

    • 仅影响后台壳层导航展示与交互,不改动路由、权限与接口数据结构。
    • 若后端返回了未收录的新 menu.icon 字符串,会走路径或通用兜底图标,不会出现“无图标”空位。

Work Log - 打包更新镜像并重启(2026-04-27)

  • 背景:

    • 用户要求“打包更新镜像并重启”。
  • 本次执行:

    • docker compose build
    • docker compose up -d
  • 验证:

    • docker compose ps
      • api/web/celery-worker/celery-beat/db/redis/minio 均为 Up,其中 api/db/redishealthy
    • curl -fsS http://127.0.0.1:8000/health
      • 返回 {"status":"ok","service":"fquiz-api","version":"0.1.0"}
    • curl -I -fsS http://127.0.0.1:3000/
      • 返回 HTTP/1.1 200 OK
    • docker compose logs --tail=80 api/web/celery-worker/celery-beat
      • API 启动完成且 /health 返回 200。
      • Web Ready。
      • Celery worker/beat 启动并连接 Redis。
  • 风险与影响:

    • 发布过程中重建并重启了 api/web/celery-worker/celery-beat,存在短时服务切换窗口。
    • Celery worker 存在既有 root 运行告警(非本次新增),当前服务可用。