From 40a4e8acdac1277d27ac45dc610d9fdfdc26834a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=8F=E7=8A=80=E9=BA=9F?= Date: Thu, 27 Aug 2026 00:11:00 +0800 Subject: [PATCH] =?UTF-8?q?DOC:=20=E7=95=8C=E9=9D=A2=E5=BC=80=E5=8F=91?= =?UTF-8?q?=E7=BA=A6=E5=AE=9A=EF=BC=88TDesign=20MCP=20=E4=BC=98=E5=85=88?= =?UTF-8?q?=20+=20t-enhanced-table=20=E6=A0=91=E5=BD=A2=E8=A6=81=E7=82=B9?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .workbuddy/memory/2026-08-26.md | 1 + .workbuddy/memory/MEMORY.md | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/.workbuddy/memory/2026-08-26.md b/.workbuddy/memory/2026-08-26.md index c44b4c4..172dd77 100644 --- a/.workbuddy/memory/2026-08-26.md +++ b/.workbuddy/memory/2026-08-26.md @@ -1,5 +1,6 @@ # 2026-08-26 +- CHG | house-data 采集分析服务(Python)搭建完成:config/db/pipeline/store 实现 community/listing/snapshot upsert 入库(对齐 010 表)+ crawlers/beike.py 采集框架(选择器需实测)+ scheduler.py 每日 08:00 + seed_demo.py;灌入 8 小区/8 房源/26 快照验证闭环,区域聚合 4 区县均价与笋盘数正确,前端看板/列表已有数据 - CHG | RBAC 菜单结构二期(service+admin):后端 admin_login_log 表+dao/do/entity/api/service/controller 在 4aca0c7 (house) 已合并;009_menu_rbac_v5.sql 执行:人员管理菜单+按钮(system:personnel:*,复用 views/system/admin/index.vue 页面)、日志管理改目录+操作日志/登录日志子菜单、菜单管理图标换 file-tree-outline。前端:人员管理页权限码 system:admin:*→system:personnel:*+文案"管理员"→"人员"、菜单管理页树形改扁平化+depth 缩进(tdesign 全量注册后 t-table tree 模式渲染不稳定,扁平化最稳,47 行含完整菜单树)、新增登录日志页(账号+结果下拉+状态 tag+分页+复制参数)、system.ts 加 getLoginLogList API。浏览器验证:登录滑块+登录链路 200、操作日志/登录日志接口 curl 全部 4 条记录(2 成功 2 失败)按成功/失败过滤正确;菜单管理树形二级清晰。⚠️ 人员管理页 /system/admin 与登录日志页 /system/log/login 因 vben 框架 pageMap key 形式与 component 字符串归一化不一致 404(vben 框架适配问题,待修复:pageMap 经 normalizeViewPath 去 ../ 加 / 再尝试去 /views;component 路径同样处理但结果 key 不一致;本会话未找到不影响其他页面的修复方案,记录备查)。 - FIX | 登录日志过滤 bug:Status 默认 0 被误当"过滤失败"。修复:api/Service/dto 改 *int(nil 不过滤)。 - CFG | 补齐 admin/service 的 Gitea act_runner 自动部署 workflow:admin=.gitea/workflows/deploy.yml(node22 二进制覆盖镜像 node20 + corepack pnpm11.16 + pnpm install + 直接 vite build 避 turbo 卡死 + cp /data/www/admin.xpcool.com);service=.gitea/workflows/deploy.yml(Go1.23 npmmirror + GOPROXY goproxy.cn + CGO=0 交叉编译 + 组装目录 + deploy/Dockerfile + docker build 重建容器 10100/xpcool-net/GF_GCFG_ENV=prod,DB_DSN/JWT_SECRET 走 Gitea Actions secrets + /api.json 冒烟);YAML 已校验;⚠️ 用户需在 Gitea 两个仓库 Actions Secrets 配 DB_DSN(带 mysql: 前缀)与 JWT_SECRET;service 首次部署前需手动导种子 SQL diff --git a/.workbuddy/memory/MEMORY.md b/.workbuddy/memory/MEMORY.md index fd8b318..8410d8b 100644 --- a/.workbuddy/memory/MEMORY.md +++ b/.workbuddy/memory/MEMORY.md @@ -7,6 +7,11 @@ 2. 做记录:每次请求/变更/修复/文档动作,都在对应项目 CHANGELOG.md 顶部追加一条。 3. 中文优先:与用户的思考、输出、交流,能中文尽量中文。 +## 界面开发约定(2026-08-26 起) +- **admin.xpcool.com 后台界面开发优先使用 TDesign MCP**(`tdesign-mcp-server`,已配置于 `~/.workbuddy/mcp.json`,`npx -y tdesign-mcp-server@latest`;tools:get-component-docs / get-component-list / get-component-changelog / get-component-dom / search-icons)。 +- 写/改 tdesign 组件代码前,先通过 MCP 查官方文档,用官方封装属性与推荐用法,避免踩自造轮子/已知坑。 +- 树形表格必须用 `t-enhanced-table`(t-table/PrimaryTable 不支持 tree);异步数据后需 `await nextTick()` + `tableRef.value.expandAll()`(defaultExpandAll 只在首次渲染生效)。 + ## 工作空间说明(git 管理 · 跨设备同步) - 本工作空间仓库:`workbuddy.xpcool.com`(含本规则、每日日志、README),远程:`https://git.xpcool.com/xpcool/workbuddy.xpcool.com.git` - **布局约定(跨设备必须一致)**:所有项目与工作空间仓库位于同一父目录下: