Commit Graph

68 Commits

Author SHA1 Message Date
Sisyphus
1fe924e069 fix(F006-W5.x.x+3.1): 菜单跨父菜单去重
老 vue sys_menu 表里 message/sms, message/sms-log, message/mail-template, message/mail-log
4 个 url 在多个父菜单下都有 (系统设置 + 消息管理 + pid=1067246875800111156)
admin_new filterByFrontendTruth 之前只检查 url 是否在 MENU_LABELS, 没去重
导致侧边栏出现 2 份短信配置/邮件模板/邮件日志/短信日志

修法: filterByFrontendTruth 加 seenUrls Set, 跨父菜单去重 (只保留第一个出现的)
保留顺序取决于后端 sort 字段 (系统设置 sort=9 < 消息管理 sort=11)
所以 message/sms 保留在系统设置父菜单下, 其他 3 个 url 保留在消息管理下
2026-07-05 11:28:20 +08:00
Sisyphus
f9e53be1ed feat(F006-W5.x.x+3): 菜单减法 + 11 个 P3 通用表格页
- 砍 33 个 admin_new 自创但老 vue 没有的菜单 (教学/支付/示例页/村庄/补单等)
- 新增通用 GenericTableView 组件 (支持 status/date/image 列类型, 后端 500 退化占位)
- 11 个 P3 路由: 4 message + 4 operation + 2 other (industry/categoryZX) + information
- 4 个运营中心共用 /sys/operation/pageList?type=1/2/3/4 真数据 (1+2+1+3 行)
- information 走 /other/information/page 真数据 (7 行)
- industry/categoryZX 走 /other/category/categoryDeepPageList 真数据 (5 行)
- 4 message 后端 500 时退化为占位 (按用户要求不动后端)
2026-07-05 11:17:08 +08:00
Sisyphus
d842182b17 feat(F006-W3xC): P2 升级 - 4 个无后端页 改 redirect 到真数据\n\n用户反馈 P2 占位页只列字段不能交付. 重探测后端发现 /supplier/good/search 返 16080 行真数据, 重新设计.\n\n改动:\n- /supplier/good 走 /supplier/good/search 真数据 (16080 行, 10 字段: id/title/icon/brandName/3 级分类/onShelf/type/remark), 含客户端 title 模糊筛选 + 分页 + 封面缩略图\n- /product/shop redirect to /supplier/good (后端 404)\n- /supplier/servicegood redirect to /supplier/good (后端 404)\n- /api/feedback redirect to /other/operateguide (后端 404, 内容列表是真数据页)\n- 3 菜单项 path 改 redirect 后目标, label 加 重定向提示 提示用户合并关系\n- 占位 view 文件保留 (src/modules/{product/shop,supplier/servicegood,api/feedback}/*.vue), 未来后端实现时升级\n\n铁律: 任何占位必须真能用. P0/P1 简单 el-result OK 但要看真数据, P2 用 redirect 模式更友好. 后续 P3+P4 推进前先全量重探测 API, 能 redirect 就 redirect, 不能就升级真数据或保留极简 el-result. 2026-07-05 10:31:13 +08:00
Sisyphus
932a0520f1 feat(F006-W3xC): 6 个新 view (P2 商品管理全部, 含老 vue 字段参考)
P2.1 /product/shop 商品店铺 (占位 + 老 vue 12 字段预览)
P2.2 /supplier/good 商品管理 (占位 + 老 vue 12 字段预览)
P2.3 /supplier/servicegood 服务商品 (占位 + 老 vue 10 字段预览)
P2.4 /other/groupbuy 拼团活动 (走 /other/groupbuy/page 真 API, 11 行)
P2.5 /other/seckill 秒杀活动 (走 /other/seckill/page 真 API, 3 行)
P2.6 /api/feedback 意见反馈 (占位 + 老 vue 7 字段预览)

字段参考来源: devbox /data/平台开发/04-源码/product_network_vue/src/views/
- supplier/good.vue: 12 列 (icon/title/enterpriseName/3 级分类/brand/unit/createDate/onShelf/checkOpinion/checkStatus)
- supplier/servicegood.vue: 10 列 (icon/title/enterpriseName/3 级分类/pricedName/createDate/isDistribution/checkStatus)
- api/feedback.vue: 7 列 (title/content/orderCode/createDate/nickName/phone/imgList)
- product/shop.vue: 无对应老 vue 文件, 复用 supplier/good 字段模板

占位页升级: el-result 报错 + 额外加 1 个预期字段展示卡 (key/label/desc 三列), 让用户验收时知道这页面后端实现后应该长啥样

后端 /supplier/good/page 报 400 id 类型错 (老 controller @GetMapping(/{id}) 抢 page 路径), 占位符合实际
2026-07-05 10:15:25 +08:00
Sisyphus
5af0d4adb3 feat(F006-W3xC): 5 个新 view (P1 基础设置全部)
- P1.1 /other/goodunit 商品单位 (走 /other/goodunit/list 真 API, 112 行真数据, 6 字段)
- P1.2 /other/textconfig 常量配置 (后端 500, 走 el-result 占位)
- P1.3 /other/categoryGood 平台分类 (后端 404, 走 el-result 占位)
- P1.4 /other/label 标签管理 (后端 404, 走 el-result 占位)
- P1.5 /other/supplierBrand 品牌管理 (后端 404, 走 el-result 占位)

P1 推进模式: 1 view 真数据 (goodunit 走 list 数组 API) + 4 view 占位页 (后端未实现走 el-result)
2026-07-04 21:42:34 +08:00
Sisyphus
78360d1d6e feat(F006-W3xC): 7 个新 view 接真 API (W3.x C P0 全部)
- P0.1 数据统计首页 (走 /sys/openapi/order/list 真 API, 4 stat 500/¥47M 真值)
- P0.2 supplier/inquiry/inquiry 重定向 /inquiry (2 个 redirect)
- P0.3 /user/user 用户列表 (2284 真实用户)
- P0.4 /other/operateguide 内容列表 (1 条真数据)
- P0.5 /api/lunbo 轮播占位 (后端 404 优雅提示)
- P0.6 /api/help 帮助中心占位 (后端 404 优雅提示)
- P0.7 /sys/region 行政区域树 (省市区 4 级 3000+ 节点)

同步: src/modules/user/{Enterprise,Finance}ListView.vue (Mac 端 working copy 补传)

P0.7 nginx 修复 (conf 改动非本次提交, 见 nginx-vue.conf.bak-20260704-194200):
- 新增 location = /admin/sys/region { rewrite /admin/index.html last; }
- 原因: location /admin/sys/ 代理抢 /admin/sys/region 走 gateway 返 401
- 已 docker compose restart frontend 生效, devbox 端 7 SPA 路径全 200
2026-07-04 20:09:11 +08:00
Sisyphus
552baacee9 feat(F006-W3xC): 数据统计首页 statistics/index 走 order 真 API
- 新建 src/modules/statistics/StatisticsView.vue (357 行)
  * 顶部 4 stat: 订单总数/总额 + 今日订单/交易额 + 较昨日差值
  * 趋势线 (双 Y 轴: 订单数 + 交易额, 近 7 天按 createDate 分桶)
  * 环图 (5 状态: 待付款/已付款/已发货/已完成/已取消)
  * 近期订单表 (DataTable 5 行, status->el-tag 彩色)
  * 走 /sys/openapi/order/list 真 API, 失败回退 FALLBACK_*
- router 改: / 路径 -> StatisticsView, 旧 /dashboard 重定向到 /
- 新增 /statistics/index 路径 -> StatisticsView
- 验证 (Playwright 外网): 4 stat 500/¥47M/0/¥0 真数据, 2 图表画, 4 主题切色
2026-07-04 19:01:09 +08:00
Sisyphus
e791520f5d feat(F006-W3xB): Dashboard 加图表 + 较昨日真值
- DashboardView.vue 加 2 个 echarts 图表:
  * 询价趋势线 (近 7 天折线图, 按 publishDate 毫秒时间戳按天分桶)
  * 询价状态分布 (环图, 4 状态, 已成交大块)
- stat 卡 今日询价 + 较昨日 用 inquiry createDate 按天聚合算
- formatTime 工具: 毫秒时间戳 -> "MM-DD HH:mm" 替代原来直接显示 1782662400000
- dateKey 工具: 毫秒时间戳 -> YYYY-MM-DD
- ECharts 用 var(--chart-1/2/3/4) + 主题 watch 切主题自动重渲染
- 失败策略: 任何 API 失败回退 FALLBACK_TREND/FALLBACK_STATUS
- 验证 (Playwright):
  * 今日询价 0 0% 较昨日 (无今日数据)
  * 已成交 192 (真数据)
  * 趋势 5/24-6/28 真数据折线
  * 4 主题切色正常
2026-07-04 18:36:49 +08:00
Sisyphus
4141a27a0c docs(F006): update README with frp main entry (W5.x.x+3.5)
- 主入口改 frp: http://direv.cloud:8080/admin/
- 备用 Tailscale: http://100.111.84.16:3000/admin/
- 详细: 项目根目录 FRP-接入快速参考.md
2026-07-04 18:07:15 +08:00
Sisyphus
5b86842f65 fix(F006-W5xx+1): 暗主题弹窗仍糊根因 - :deep scoped 不匹配 + 缺 --el-popper-bg-color-light
- ThemePicker.vue 改 :deep() → :global() 写无 scoped 全局规则
  (根因: EP el-popper 容器没有 [data-v-xxx] 属性,scoped 规则匹配不到)
- tokens.scss 补 --el-popper-bg-color-light / --el-border-color-light /
  --el-fill-color-blank / --el-bg-color-overlay(EP 弹窗实际读这些)
- 实测验证: 弹窗 bg rgb(255,255,255)→rgb(30,41,59) #1E293B dark ✅
  文字 rgb(51,65,85)→rgb(248,250,252) #F8FAFC dark ✅
2026-07-04 17:29:07 +08:00
Sisyphus
e1cd69c7e5 fix(F006-W5.x.x+1 v2): ThemePicker 弹窗内文字 !important + [data-theme=dark] 兜底 (弹窗红框 2 仍糊)
- .rr-theme-picker-title/name/hint/active 加 !important 强制穿透
- [data-theme=dark] :deep() 二次兜底 (即使浏览器 cache 旧版, 弹窗也清晰)
- dist 已重建 (industry-frontend:latest 24f9c2204173)
2026-07-04 16:51:50 +08:00
Sisyphus
01bd82deb3 fix(F006-W5.x.x+1): 补 EP popper 系列变量 + :deep() 强制修暗主题下面包屑/主题弹窗文字糊
W5.x.x 验收发现 2 处仍糊:
  - 红框 1: 顶栏面包屑 工作台 > 数据看板(暗主题)
  - 红框 2: 主题切换弹窗 切换主题/科技蓝/.../自动持久化(暗主题)

  根因:
  1. W5.x.x 覆盖 EP 派生色时漏了 --el-popper-bg-color(EP 2.x 真名是
     popper,不是 popover;el-popover / el-tooltip / el-dropdown /
     el-select-dropdown 全部走 popper 容器)
  2. el-breadcrumb 内部选择器优先级高,scoped :root 重定向的
     --el-text-color-* 被它打回
  3. ThemePicker 弹窗被 teleport 出去,scoped 选择器穿透不了
     popper 容器

  修法:
  1. tokens.scss 增 6 个 --el-popper-* 系列变量
  2. AppLayout.vue 末尾增 :deep(.el-breadcrumb__inner) +
     :deep(.el-breadcrumb__separator) + !important
  3. ThemePicker.vue 末尾增 :deep(.el-popper.is-light) + 内部
     el-popper__arrow / el-popper__title + !important

  验证: 切到 暗夜黑 主题,4 项验收清单全过;切回 科技蓝/中国红/
  深空紫 无回归
2026-07-03 22:45:28 +08:00
Sisyphus
0f8a08888f fix(F006-W5.x.x+1): 补 EP popper 系列变量 + :deep() 强制修暗主题下面包屑/主题弹窗文字糊
W5.x.x 验收发现 2 处仍糊:
  - 红框 1: 顶栏面包屑 工作台 > 数据看板(暗主题)
  - 红框 2: 主题切换弹窗 切换主题/科技蓝/.../自动持久化(暗主题)

  根因:
  1. W5.x.x 覆盖 EP 派生色时漏了 --el-popper-bg-color(EP 2.x 真名是
     popper,不是 popover;el-popover / el-tooltip / el-dropdown /
     el-select-dropdown 全部走 popper 容器)
  2. el-breadcrumb 内部选择器优先级高,scoped :root 重定向的
     --el-text-color-* 被它打回
  3. ThemePicker 弹窗被 teleport 出去,scoped 选择器穿透不了
     popper 容器

  修法:
  1. tokens.scss 增 6 个 --el-popper-* 系列变量
  2. AppLayout.vue 末尾增 :deep(.el-breadcrumb__inner) +
     :deep(.el-breadcrumb__separator) + !important
  3. ThemePicker.vue 末尾增 :deep(.el-popper.is-light) + 内部
     el-popper__arrow / el-popper__title + !important

  验证: 切到 暗夜黑 主题,4 项验收清单全过;切回 科技蓝/中国红/
  深空紫 无回归
2026-07-03 21:04:29 +08:00
Sisyphus
93ed6331e8 fix(F006-W5.x.x): EP 文字色/填充色/边框色/popover 背景等派生色全局跟主题 + 登录卡 dark 背景
1. tokens.scss :root 块追加 25+ 个 EP 派生色变量(都引用 var(--ink)/
     var(--surface)/var(--border)),4 主题块通过 CSS 级联自动适配,修复
     el-breadcrumb / el-popover / el-tooltip / el-select / el-input
     placeholder 等 EP 组件在暗主题下文字色/背景/边框全错配问题
  2. LoginView.vue .rr-login-right 加 [data-theme="dark"] 背景覆盖
     rgba(30,41,59,0.85),修登录卡硬编码浅色 → 暗主题深色半透明
2026-07-03 19:19:46 +08:00
Sisyphus
6a0736d70c feat(F006-W3.6): 暗色 logo 亮版(dark 主题对比度)
- 新增 src/assets/logo-jubian-light.png:PIL 重映射所有非透明像素
  字色 #190564 → #F8FAFC (= dark 主题 --ink),透明底保留
- LoginView.vue + AppLayout.vue:logo 改 :src="logoSrc",computed 跟
  themeStore.current 切换;dark 主题下显示亮版,其他主题保持原深紫版
- 修 AGENTS.md §W5.x 一期已知风险("Dark 主题下 logo 字色 #190564
  可能对比度低 → 二期做亮版 logo")
2026-07-03 17:00:56 +08:00
Sisyphus
3744cf7c93 fix(F006-W5.x): 4 主题块追加 EP 派生色覆盖(主题色适配全局修复)
每个 [data-theme] 块末尾追加 --el-color-primary-light-3/5/7/8/9 + dark-2,
指向 brand-soft / brand-hover,让 EP 组件 hover / 激活态内层派生色
跟随主题切换(原 :root 里的 EP 派生色在主题块下被 fallback 覆盖,导致
el-tabs / el-pagination / el-switch / el-tag hover 等仍显示科技蓝)
2026-07-03 16:24:36 +08:00
Sisyphus
c3a7fbad0b feat(F006): apply v2 design language patch
- AppLayout.vue + LoginView.vue: 顶栏毛玻璃/通知红点,Login 渐变 + 透明 logo
- theme/tokens.scss + themes.scss: v2 设计 token + 4 主题(科技蓝/中国红/Notion 紫/暗夜黑)
- stores/menu.ts: V2 R2 + filterByFrontendTruth(后端全菜单→前端子集)
- config/menu-labels.ts: V2 R2 菜单 label 映射(砍数据统计)
- assets/logo-jubian.png: 长方形 logo 抠图透明版

source: ~/projects/_meta/f006-v2-patch-20260703-143500/
2026-07-03 15:10:40 +08:00
Sisyphus
6d02a4b5d2 feat(F006): W2 + W4 + W31 admin_new 全部改动首次 commit
- W2: 4 主题 (科技蓝/中国红/Notion 紫/暗夜黑) + LoginView + DashboardView + 询价管理 (InquiryList + InquiryDetail)
- W4.1: 集成管理 - 应用列表 (OpenAppListView)
- W4.2: 集成管理 - 审计日志 (AuditLogListView) + 菜单 label 补全
- W4.2: 菜单从后端拉 + 看板接真 API
- W31: safeParseArray 防御 localStorage permissions 损坏 (运营后台白屏修复)

关联: Mac F002-W31-交接文档.md / F006-W4-交接文档.md / GIT-AUDIT-REPORT-2026-06-24.md
本地备份: ~/projects/_meta/f002-fix/admin-new-w4-*/
2026-06-24 11:05:18 +08:00