From 5943f1536d45896fb5329a2c5f9164733c2cff17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com> Date: Tue, 18 Aug 2026 01:00:25 +0800 Subject: [PATCH] =?UTF-8?q?chore(env):=20=E6=9B=B4=E6=8D=A2=E5=90=8E?= =?UTF-8?q?=E5=8F=B0=E7=AE=A1=E7=90=86=E7=B3=BB=E7=BB=9F=20API=20=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=9C=B0=E5=9D=80=E4=B8=BA=20guilixu-api.websoft.top?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改开发环境与生产环境的 VITE_API_URL 为 https://guilixu-api.websoft.top/api - 更新内存文件中关于商城接口实际调用后端域名为 guilixu-api.websoft.top 的描述 - 修正后端待部署地址及下单接口调用链接指向 guilixu-api.websoft.top - 统一接口调用基地址,明确 guilixu-java 为生效的主后端服务 - 记录用户纠正信息,强调运行时 ApiUrl 配置优先级与实际生效后端一致 --- .env.development | 2 +- .env.production | 2 +- .workbuddy/memory/2026-07-15.md | 2 +- .workbuddy/memory/2026-08-06.md | 4 ++-- .workbuddy/memory/2026-08-12.md | 2 +- .workbuddy/memory/2026-08-17.md | 2 +- .workbuddy/memory/MEMORY.md | 6 +++--- 7 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.env.development b/.env.development index 5c2e8c6..0f211a5 100644 --- a/.env.development +++ b/.env.development @@ -1,4 +1,4 @@ VITE_APP_NAME=后台管理系统 #VITE_API_URL=http://127.0.0.1:9200/api -VITE_API_URL=https://shop-api.websoft.top/api +VITE_API_URL=https://guilixu-api.websoft.top/api VITE_CMS_API_URL=https://cms-api.websoft.top/api diff --git a/.env.production b/.env.production index 2ee01d3..7d83e47 100644 --- a/.env.production +++ b/.env.production @@ -1,3 +1,3 @@ VITE_APP_NAME=后台管理系统 -VITE_API_URL=https://shop-api.websoft.top/api +VITE_API_URL=https://guilixu-api.websoft.top/api VITE_CMS_API_URL=https://cms-api.websoft.top/api diff --git a/.workbuddy/memory/2026-07-15.md b/.workbuddy/memory/2026-07-15.md index 57941c7..859a588 100644 --- a/.workbuddy/memory/2026-07-15.md +++ b/.workbuddy/memory/2026-07-15.md @@ -259,7 +259,7 @@ - `AppSettingServiceImpl` 代码注释明说"平台配置不按租户隔离"、getByKey 不带租户条件,但拦截器在 SQL 层强制隔离,两者矛盾——这是历史遗留 bug。 - 修复(后端 `MybatisPlusConfig.java`):ignoreTable 列表在 `"app_subscription"` 后加 `"app_setting"`(一行改动)。改完 app_setting 所有查询忽略租户,与代码设计意图一致。 - 排查方法值得记录:pymysql 直连远程库(47.119.165.234:13308 db_websopy / redis 16379 db0)验证数据;mysql 客户端未装时用 managed python venv 装 pymysql 查。dev profile 连此库。 -- 前端订阅 API 域名硬编码 `https://websopy-api.websoft.top/api/app/subscription`(api/index.ts WEBSOPY_API_BASE),主站 API 走 shop-api.websoft.top。用户对比的 `websoft.top/api/_app/...` 是另一个入口(疑 nginx 转发 _app→app)。 +- 前端订阅 API 域名硬编码 `https://websopy-api.websoft.top/api/app/subscription`(api/index.ts WEBSOPY_API_BASE),主站 API 走 guilixu-api.websoft.top。用户对比的 `websoft.top/api/_app/...` 是另一个入口(疑 nginx 转发 _app→app)。 ## 续费"弹二维码自动完成支付"修复:清除旧 Redis 支付标记 diff --git a/.workbuddy/memory/2026-08-06.md b/.workbuddy/memory/2026-08-06.md index 383111c..1cef6db 100644 --- a/.workbuddy/memory/2026-08-06.md +++ b/.workbuddy/memory/2026-08-06.md @@ -11,9 +11,9 @@ ## 后端实现检查(用户要求检查 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/request`,baseURL = `MODULES_API_URL` = `localStorage ApiUrl || VITE_API_URL`;该部署的 ApiUrl 配的就是 shop-api.websoft.top/api,即 **guilixu-java 才是生效后端**。 +- **用户纠正(18:09):** guilixu-admin 的**商城接口实际调 `https://guilixu-api.websoft.top`(= guilixu-java)**,不是 mp-java。前端 shopExpressTemplateDetail API 用默认 `@/utils/request`,baseURL = `MODULES_API_URL` = `localStorage ApiUrl || VITE_API_URL`;该部署的 ApiUrl 配的就是 guilixu-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 前端尚不存在。 -- 教训:判断"改了哪个后端才生效"要以**运行时的 ApiUrl(localStorage/localStorage 配置的 ApiUrl,本部署=guilixu-java)**为准,不能默认 `MODULES_API_URL`=mp-java。guilixu-admin 的 商城走 guilixu-java。 \ No newline at end of file +- 教训:判断"改了哪个后端才生效"要以**运行时的 ApiUrl(localStorage/localStorage 配置的 ApiUrl,本部署=guilixu-java)**为准,不能默认 `MODULES_API_URL`=mp-java。guilixu-admin 的 商城走 guilixu-java。 diff --git a/.workbuddy/memory/2026-08-12.md b/.workbuddy/memory/2026-08-12.md index 8b3a71f..484afb4 100644 --- a/.workbuddy/memory/2026-08-12.md +++ b/.workbuddy/memory/2026-08-12.md @@ -4,7 +4,7 @@ - 用户已 `UPDATE shop_goods set express_template_id=11 WHERE express_template_id IS NULL and tenant_id=10606`,以为这就禁了偏远地区下单。实际结论:**这条只绑运费模板(算运费用),没有生成「不发货黑名单」数据,不会拦截下单**。 - 后端拦截已端到端接通:`OrderBusinessService.createOrder` → `validateDeliveryRegionIfNeeded`(第87行) → `DeliveryRegionChecker`(按 tenant_id 查 `shop_express_template_detail` 中 region_mode=2 且 status=0 的明细,收货地址行政区划码命中即抛"XX暂不配送,请更换收货地址")。 -- 链路确认:guilixu-taro `BaseUrl=https://shop-api.websoft.top/api`、`TenantId=10606`,下单走 guilixu-java(db_guilixu);单租户下买家 tenantId=10606,校验能命中黑名单。✅ +- 链路确认:guilixu-taro `BaseUrl=https://guilixu-api.websoft.top/api`、`TenantId=10606`,下单走 guilixu-java(db_guilixu);单租户下买家 tenantId=10606,校验能命中黑名单。✅ - **admin 前端明细编辑表单未暴露 regionMode=2(只 0/1)**,故黑名单只能 SQL 直插 `shop_express_template_detail`(region_mode=2, region_ids=偏远省6位码逗号串, status=0, tenant_id=10606, template_id=11)。已给 INSERT 模板与省码清单。 - 注意:黑名单是**租户级、全店生效**(不区分绑定哪个模板);自提(deliveryType=1)/selfTakeMerchantId 下单跳过校验。 diff --git a/.workbuddy/memory/2026-08-17.md b/.workbuddy/memory/2026-08-17.md index b4822c1..c6bb8b9 100644 --- a/.workbuddy/memory/2026-08-17.md +++ b/.workbuddy/memory/2026-08-17.md @@ -15,7 +15,7 @@ - zone/index.vue 列表加「销量件数」「销售额」列 + 操作列「销量」按钮 - 新建 SectionSalesStatsModal.vue(时间筛选 + 汇总卡片 + 商品排行) - vite build 通过(exit 0) -- 待办:后端需 maven 编译并部署到 shop-api.websoft.top 才生效(本环境未部署)。 +- 待办:后端需 maven 编译并部署到 guilixu-api.websoft.top 才生效(本环境未部署)。 ## 修复专区商品抽屉分页点击无效 - 文件:`src/views/special/zone/index.vue` diff --git a/.workbuddy/memory/MEMORY.md b/.workbuddy/memory/MEMORY.md index e8f457c..34ea9e0 100644 --- a/.workbuddy/memory/MEMORY.md +++ b/.workbuddy/memory/MEMORY.md @@ -28,7 +28,7 @@ - **mp-java**(`/Users/gxwebsoft/JAVA/mp-java`)= 独立的「modules 服务」,用 `modules` 库;cms(235类)、shop 等业务模块都在它这里,持续高频开发。 - **guilixu-java**(`/Users/gxwebsoft/JAVA/guilixu-java`)= 桂礼序主后端,用 `db_guilixu` 库;是 mp-java 的「子集分叉」。 - **guilixu-admin 前端已预设双基地址**:`SERVER_API_URL`(主后端) + `MODULES_API_URL`(localStorage ApiUrl / VITE_API_URL)。 -- ⚠️ **运行时实际指向以 `localStorage ApiUrl` 为准**(2026-08-06 用户纠正):**guilixu-admin 的「商城」接口实际调 `https://shop-api.websoft.top`(= guilixu-java)**,并非 mp-java。**判断"改哪个后端才生效"不能默认 MODULES_API_URL=mp-java,必须查 ApiUrl 运行时配置。** cms 接口另走 `VITE_CMS_API_URL`=cms-api.websoft.top(mp-java)。 +- ⚠️ **运行时实际指向以 `localStorage ApiUrl` 为准**(2026-08-06 用户纠正):**guilixu-admin 的「商城」接口实际调 `https://guilixu-api.websoft.top`(= guilixu-java)**,并非 mp-java。**判断"改哪个后端才生效"不能默认 MODULES_API_URL=mp-java,必须查 ApiUrl 运行时配置。** cms 接口另走 `VITE_CMS_API_URL`=cms-api.websoft.top(mp-java)。 - **结论(仅限 cms 模块):guilixu-java 里的 cms 包(152类)是 mp-java cms 的旧分叉子集、且前端并不调它(前端调 modules 服务),属重复/死代码,应删除而非复制或扩展。** - 复制「整个 cms 到 guilixu-java」不可行:mp-java 完整 cms 的 CmsApp/CmsWebsiteService 依赖 `project` 模块(guilixu-java 没有),会编译失败。 - 注意:mp-java 与 guilixu-java 是独立 git 仓库(`git.websoft.top/gxwebsoft/mp-java.git` 与 `guilixu-java.git`),各自独立部署、独立库。 @@ -41,9 +41,9 @@ ### ⚠️ 运费模板不发货地区需求(2026-08-06 结论,已按用户纠正修正) - 需求:运费模板支持「不发货地区(黑名单)」,ShopExpressTemplateDetail 加 regionMode/regionIds 字段 + DeliveryRegionChecker 下单校验。 - **后端(guilixu-java)已完整实现**:entity/param/迁移SQL/DeliveryRegionChecker/RegionCodeResolver/OrderBusinessService 接入(第 87 行调用 validateDeliveryRegionIfNeeded)均就位。 -- **关键事实(用户 2026-08-06 18:09 纠正):guilixu-admin 的「商城」接口实际调 `https://shop-api.websoft.top`(= guilixu-java)**。前端 shopExpressTemplateDetail 用默认 `@/utils/request`,baseURL = MODULES_API_URL = localStorage ApiUrl || VITE_API_URL;本部署的 ApiUrl 即 shop-api.websoft.top/api。故 guilixu-java 是生效后端,其实现正确生效,不是死代码。 +- **关键事实(用户 2026-08-06 18:09 纠正):guilixu-admin 的「商城」接口实际调 `https://guilixu-api.websoft.top`(= guilixu-java)**。前端 shopExpressTemplateDetail 用默认 `@/utils/request`,baseURL = MODULES_API_URL = localStorage ApiUrl || VITE_API_URL;本部署的 ApiUrl 即 guilixu-api.websoft.top/api。故 guilixu-java 是生效后端,其实现正确生效,不是死代码。 - **结论:本功能(admin 配置)无需改 mp-java**(本部署 商城不走 mp-java)。 -- **端到端链路已确认打通(2026-08-12)**:用户端 `guilixu-taro` 的 `BaseUrl = https://shop-api.websoft.top/api`(config/env.js 全环境),`TenantId='10606'`,下单 `POST /shop/shop-order` 即走 guilixu-java(db_guilixu);且单租户下买家 tenantId=10606(微信支付证书也依赖此值),故 `DeliveryRegionChecker` 按 `tenant_id=10606` 能命中黑名单。✅ 功能完整闭环。 +- **端到端链路已确认打通(2026-08-12)**:用户端 `guilixu-taro` 的 `BaseUrl = https://guilixu-api.websoft.top/api`(config/env.js 全环境),`TenantId='10606'`,下单 `POST /shop/shop-order` 即走 guilixu-java(db_guilixu);且单租户下买家 tenantId=10606(微信支付证书也依赖此值),故 `DeliveryRegionChecker` 按 `tenant_id=10606` 能命中黑名单。✅ 功能完整闭环。 - **✅ 后台 UI 已支持「不发货黑名单」模式(2026-08-12 完成)**:`shopExpressTemplateDetailEdit.vue` 已加「配送模式」三态 radio(0全国/1指定配送/2指定不发货);mode=2 复用 `RegionMultiSelect` 选地区,保存写 `region_mode=2` + `region_ids`(城市码逗号串);回显按 `region_mode` 初始化。列表页 `index.vue` 的「配送地区」列按 `region_mode` 显示「不发货:xxx / 配送:xxx / 默认全国」,并把城市码聚合为省名。后端比对是编码集合 contains,故后台存城市码与 SQL 存省份码都正确拦截、互不冲突。 - 仍可用 SQL 直接 INSERT 黑名单明细(region_mode=2, region_ids=偏远省码, status=0, tenant_id=10606)作为备选,无需经过 UI。 - 接口方案文档:`docs/运费模板-不发货地区-接口方案.md`。