Files
guilixu-admin/.workbuddy/memory/2026-08-06.md
T
gxwebsoft aae0c03dd8 feat(shopGoods): 优化商品列表加载及封面图性能
- image.ts 中 getCompressedImageUrl 增加缓存,避免列表重渲染时重复计算压缩 URL
- shopGoods 页面用原生 img 标签替换 antdv a-image,支持浏览器懒加载减少首屏网络压力
- shopGoods 页面数据加载流程优化,取消表格自动首屏加载,改为手动触发,合并请求避免重复调用
- 首屏分类数据延迟加载,不阻塞首屏渲染,提升页面响应速度
- search.vue 中用 onMounted 替代 watch immediate,防止首次入场重复触发请求
- 新增商品封面图样式,保证图片大小固定且样式统一
2026-08-06 18:18:05 +08:00

3.1 KiB
Raw Blame History

2026-08-06 工作日志

运费模板「不发货地区」需求分析

  • 客户需求:运费模板要支持"排除地区/不发货地区"(黑名单模式),而非仅"指定配送"(白名单)。
  • 现状问题:当前 ShopExpressTemplateDetailprovinceId+cityId 单值,级联选择器只能选 1 个省市,无排除逻辑。截图里的双栏 Transfer modal 前端代码库里不存在,需从零开发。
  • 产出接口方案文档:docs/运费模板-不发货地区-接口方案.md,含表字段变更(region_mode/region_ids)、下单校验逻辑、6 个待后端确认问题。
  • 后端在 mp-java 的 shop 模块(前端走 MODULES_API_URL)。用户下一步:先与后端对齐接口方案,再做前端改造。
  • 地区 ID 为行政区划编码字符串(省110000/市110100/区110101),下单时可前缀匹配。
  • 存储方案确认:region_ids 采用逗号分隔单字段VARCHAR(2000)),不新建关联表。理由:查询方向固定为"模板→明细"、排除地区少、改动最小可快速上线。已写入方案文档。
  • 用户确认"分两步"策略:第1步接口方案已产出(docs/运费模板-不发货地区-接口方案.md),待后端回复 6 个确认问题后做第2步前端改造。

后端实现检查(用户要求检查 guilixu-java 是否实现完)

  • guilixu-java 已实现完整entity 加 regionMode/regionIds、param 加查询字段、迁移 SQL(ALTER+历史数据迁移+索引+回滚)、DeliveryRegionChecker(黑名单命中抛"暂不配送")、RegionCodeResolver(名称→编码)、OrderBusinessService 第 662/668 行已接入校验。
  • 用户纠正(18:09): guilixu-admin 的商城接口实际调 https://shop-api.websoft.top= guilixu-java,不是 mp-java。前端 shopExpressTemplateDetail API 用默认 @/utils/requestbaseURL = MODULES_API_URL = localStorage ApiUrl || VITE_API_URL;该部署的 ApiUrl 配的就是 shop-api.websoft.top/api,即 guilixu-java 才是生效后端
  • 结论反转:guilixu-java 这套实现正确且生效,不是死代码,后端已完整,无需改 mp-java。 mp-java 与此功能无关(本部署 商城不走 mp-java)。
  • 后端 region/regions-data.json 用 v/l/c 精简格式(与 RegionCodeResolver 读取一致),无字段名 bug。
  • 后端完成度:entity/param/SQL/DeliveryRegionChecker/RegionCodeResolver/下单接入(OrderBusinessService 第 87 行调用 validateDeliveryRegionIfNeeded)全齐。
  • 剩余工作 = 纯前端(guilixu-admin:① model 加 regionMode/regionIds;② 新建双栏多选地区组件(替换单路径级联 RegionsSelect,支持"全国/指定配送/指定不发货"模式切换+多选多省);③ 编辑表单加模式切换+多选;④ 列表回显模式与地区汇总。截图里的 Transfer Modal 前端尚不存在。
  • 教训:判断"改了哪个后端才生效"要以**运行时的 ApiUrllocalStorage/localStorage 配置的 ApiUrl,本部署=guilixu-java**为准,不能默认 MODULES_API_URL=mp-java。guilixu-admin 的 商城走 guilixu-java。