From d19bf53133f245a16543f5fc80d072bf0401f0ae Mon Sep 17 00:00:00 2001
From: 刘帅 <rr.iii@qq.com>
Date: 星期五, 11 九月 2026 11:50:07 +0800
Subject: [PATCH] feat&bug:app下载页接口修改

---
 cloud-server-other/src/main/java/com/dsh/other/entity/AppGuideConfig.java         |    3 +++
 cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java     |    2 +-
 cloud-server-other/src/main/java/com/dsh/other/entity/QrLink.java                 |    1 +
 cloud-server-other/src/main/java/com/dsh/other/controller/AppGuideController.java |   40 +++++++++++++++++-----------------------
 4 files changed, 22 insertions(+), 24 deletions(-)

diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/AppGuideController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/AppGuideController.java
index fd138ba..667ce5d 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/controller/AppGuideController.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/AppGuideController.java
@@ -35,15 +35,15 @@
     @Autowired private QrLinkMapper qrLinkMapper;
     @Autowired private TokenUtil tokenUtil;
 
-    @GetMapping("/q/{shortCode}")
-    public void guidePage(@PathVariable String shortCode, HttpServletRequest request,
-                          HttpServletResponse response) throws IOException {
-        // 仅重定向到静态 H5;避免 String 被 MVC 当作视图名并触发 LocaleResolver。
-        String code = shortCode.replaceAll("[^A-Za-z0-9]", "");
-        response.sendRedirect(request.getContextPath() + "/app-guide.html?code=" + code);
-    }
+//    @GetMapping("/q/{shortCode}")
+//    public void guidePage(@PathVariable String shortCode, HttpServletRequest request,
+//                          HttpServletResponse response) throws IOException {
+//        // 仅重定向到静态 H5;避免 String 被 MVC 当作视图名并触发 LocaleResolver。
+//        String code = shortCode.replaceAll("[^A-Za-z0-9]", "");
+//        response.sendRedirect(request.getContextPath() + "/app-guide.html?code=" + code);
+//    }
 
-    @GetMapping("/public/app-guide/config")
+    @RequestMapping("/public/app-guide/config")
     @ApiOperation("获取下载引导页配置(无需登录)")
     public ResultUtil<Map<String, Object>> guideConfig(String code) {
         AppGuideConfig config = appGuideConfigMapper.selectOne(new QueryWrapper<AppGuideConfig>()
@@ -53,26 +53,21 @@
         if (code != null && !code.isEmpty() && link == null) return ResultUtil.error("二维码无效或已失效");
         Map<String, Object> data = new HashMap<>();
         data.put("appName", config.getAppName());
-        data.put("appScheme", config.getAppScheme());
         data.put("androidPackage", config.getAndroidPackage());
+        data.put("iosPackage", config.getIosPackage());
         data.put("iosStoreUrl", config.getIosStoreUrl());
-        data.put("androidDefaultUrl", config.getAndroidDefaultUrl());
         data.put("apkUrl", config.getApkUrl());
-        data.put("androidMarketUrls", parseJson(config.getAndroidMarketUrls()));
+        data.put("androidDeepLink", config.getAndroidDeepLink());
+        data.put("iosDeepLink", config.getIosDeepLink());
         data.put("banners", appGuideBannerMapper.selectList(new QueryWrapper<AppGuideBanner>()
                 .eq("enabled", EnableStatusEnum.ENABLED.getCode()).orderByAsc("sort").orderByDesc("id")));
-        if (link != null) data.put("target", target(link));
+//        if (link != null) data.put("target", target(link));
         return ResultUtil.success(data);
     }
 
-    @GetMapping("/api/qr/resolve")
+    @RequestMapping("/api/qr/resolve")
     @ApiOperation("App扫码解析二维码")
     public ResultUtil<Map<String, Object>> resolve(String code) {
-        try {
-            if (tokenUtil.getUserIdFormRedis() == null) return ResultUtil.tokenErr();
-        } catch (Exception e) {
-            return ResultUtil.tokenErr();
-        }
         QrLink link = validLink(code);
         if (link == null) return ResultUtil.error("二维码无效或已失效");
         return ResultUtil.success(target(link));
@@ -88,11 +83,10 @@
 
     private Map<String, Object> target(QrLink link) {
         Map<String, Object> target = new HashMap<>();
-        target.put("type", link.getType());
-        target.put("storeId", link.getStoreId());
-        target.put("siteId", link.getSiteId());
-        target.put("bookingId", link.getBookingId());
-        target.put("route", QrLinkTypeEnum.SITE_BOOKING.getCode().equals(link.getType()) ? "/pages/site/booking" : "/pages/site/my-booking");
+        target.put("pageName", link.getPageName());
+        Map<String, Object> params = new HashMap<>();
+        params.put("id", link.getSiteId().toString());
+        target.put("params", JSON.toJSONString(params));
         return target;
     }
 
diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java
index 1fe0c96..06074d1 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java
@@ -745,7 +745,7 @@
             }
             Map<String, Object> data = new HashMap<>();
             data.put("shortCode", link.getShortCode());
-            data.put("url", "https://online.daowepark.com/other/q/" + link.getShortCode());
+            data.put("url", "https://www.weparklife.com/other/q/" + link.getShortCode());
             data.put("expiresAt", link.getExpiresAt());
             return ResultUtil.success(data);
         } catch (Exception e) {
diff --git a/cloud-server-other/src/main/java/com/dsh/other/entity/AppGuideConfig.java b/cloud-server-other/src/main/java/com/dsh/other/entity/AppGuideConfig.java
index 42f825e..7a1c734 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/entity/AppGuideConfig.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/entity/AppGuideConfig.java
@@ -20,10 +20,13 @@
     @TableField("appName") private String appName;
     @TableField("appScheme") private String appScheme;
     @TableField("androidPackage") private String androidPackage;
+    @TableField("iosPackage") private String iosPackage;
     @TableField("iosStoreUrl") private String iosStoreUrl;
     @TableField("androidDefaultUrl") private String androidDefaultUrl;
     @TableField("androidMarketUrls") private String androidMarketUrls;
     @TableField("apkUrl") private String apkUrl;
+    @TableField("androidDeepLink") private String androidDeepLink;
+    @TableField("iosDeepLink") private String iosDeepLink;
     @TableField("guideDomain") private String guideDomain;
     private Integer enabled;
     /** 逻辑删除标识:0-正常,1-删除。 */
diff --git a/cloud-server-other/src/main/java/com/dsh/other/entity/QrLink.java b/cloud-server-other/src/main/java/com/dsh/other/entity/QrLink.java
index c47cce4..be3bba8 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/entity/QrLink.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/entity/QrLink.java
@@ -23,6 +23,7 @@
     @TableField("bookingId") private Integer bookingId;
     private String name;
     private String channel;
+    @TableField("pageName") private String pageName;
     @TableField("expiresAt") private Date expiresAt;
     private Integer enabled;
     /** 逻辑删除标识:0-正常,1-删除。 */

--
Gitblit v1.7.1