# 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`