From c5ec83e692f4ece5dcfa730b53f16776735e3b10 Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Mon, 27 Apr 2026 17:32:02 +0800 Subject: [PATCH] =?UTF-8?q?docs(user):=20=E5=88=86=E4=BA=AB=E5=88=B0?= =?UTF-8?q?=E5=B0=8F=E7=A8=8B=E5=BA=8F=20url-link/url-scheme=20404=20?= =?UTF-8?q?=E5=B7=B2=E4=BF=AE=20(PR=20#1488)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../27_fix_admin-wxapp-share_endpoints-404.md | 100 ++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 changelogs/2026-04/27_fix_admin-wxapp-share_endpoints-404.md diff --git a/changelogs/2026-04/27_fix_admin-wxapp-share_endpoints-404.md b/changelogs/2026-04/27_fix_admin-wxapp-share_endpoints-404.md new file mode 100644 index 0000000..ac354e9 --- /dev/null +++ b/changelogs/2026-04/27_fix_admin-wxapp-share_endpoints-404.md @@ -0,0 +1,100 @@ +# fix: 分享到小程序 URL Link / URL Scheme 404 已修复 + +**日期**: 2026-04-27 +**PR**: #1488 (Closes #1481) +**类型**: BUG 修复 — **前端零改动**, 自动生效 +**影响端**: 管理后台 (admin) — 产品列表「分享到小程序」对话框 + +--- + +## 修复内容 + +### 之前的问题 + +蒋雨莲 (橙子) 在产品列表点「分享到小程序」 → 弹对话框 → 点「URL Link 生成」或「URL Scheme 生成」按钮: + +- 顶部弹红色 toast: **请求的资源不存在**(HTTP 404) +- DevTools Network 面板: 两次 `url-link` 请求 status=404 + +### 根因 + +后端**完全没实现 admin 端点**, 前端 `MiniappShareModal.vue` 已上线但从未与后端联调。与 #1477 cost-item 同款「前端先发后端漏跟」模式。 + +### 修复 + +后端补齐 2 个端点 + hl-gateway 加路由: + +``` +POST /admin/wxapp/share/url-link +POST /admin/wxapp/share/url-scheme + +Request body (两端点一致): +{ + "path": "pages/product/detail/detail", // 必填 + "query": "id=20457...", // 选填 + "envVersion": "trial" | "release", // 选填, 默认 release + "expireDays": 30 // 选填, 默认 30 天 +} + +Response: +{ + "code": 200, + "message": "成功", + "data": { + "link": "https://wxaurl.cn/..." | "weixin://...", // URL Link 是 https, URL Scheme 是 weixin:// + "expireTime": 1735689600 // 过期 Unix 时间戳 + } +} +``` + +### 字段统一 + +URL Link 和 URL Scheme **响应字段都叫 `link`**(微信原始 `urlLink`/`openlink` 已在后端归一化), 前端 `MiniappShareModal.vue:223,242` 取值 `res.link || res` 完全兼容。 + +## 前端动作 + +### 必须 ✅ + +**无**。`hl-ui/src/api/wxapp.js` 中 `generateUrlLink` / `generateUrlScheme` 调用方式不变, 后端补齐端点 + 网关路由后自动工作。 + +### 验收 ✅ + +测试服管理后台: + +1. 用 SUPER_ADMIN 登录(或任意 admin token) +2. 进「产品线管理」→ 任一产品列表 +3. 点产品上的「分享到小程序」按钮 +4. 在弹窗里点「URL Link 生成」 → 应填充 `https://wxaurl.cn/...` 类链接 +5. 点「URL Scheme 生成」 → 应填充 `weixin://...` 类链接 + +测试服已部署 hl-user-service + hl-gateway 完成 (2026-04-27 16:51)。 + +### ⚠️ 测试服可能仍报 230506 (errcode=40001) + +后端代码 + 路由 + 调用链已就绪, 但**测试服微信 appid 鉴权**可能未配齐(测试小程序 IP 白名单 / 接口权限 / appid-secret 不匹配)。如测试服仍报错: + +``` +{"code":230506, "message":"生成分享链接失败(错误码:40,001)"} +``` + +**这不是代码 bug**, 是微信开放平台账号配置侧。运维需确认: +1. nacos `wechat.miniapp.appid` / `secret` 与测试小程序后台一致 +2. 测试服出口 IP `116.117.149.79` 在小程序后台 IP 白名单 +3. 测试小程序已开通 `generate_urllink` + `generatescheme` 接口权限 + +正式服 appid/secret/IP 白名单配置正确即可工作。 + +## 参考路径 + +| 端 | 文件 | 行 | +|---|---|---| +| 前端 API | `hl-ui/src/api/wxapp.js` | 3-18 | +| 前端组件 | `hl-ui/src/views/product/list/components/MiniappShareModal.vue` | 213, 232 | +| 后端 (新) | `hl-user-service/.../controller/AdminWxappShareController.java` | `@RequestMapping("/admin/wxapp/share")` | +| 后端 wxa 客户端 | `hl-user-service/.../service/WechatMiniAppClient.java` | generateUrlLink + generateUrlScheme | +| 网关路由 (新) | `hl-gateway/src/main/resources/application.yml` | `Path=/admin/wxapp/**` → `lb://hl-user-service` | + +## 关联 + +- 反馈人: 蒋雨莲 (橙子) 2026-04-27 +- 后端 changelog: `hl-backend-changelog/changelogs/2026-04/2026-04-27_user_admin-wxapp-share-endpoints.md`