刘帅
2026-09-11 d19bf53133f245a16543f5fc80d072bf0401f0ae
feat&bug:app下载页接口修改
4个文件已修改
46 ■■■■■ 已修改文件
cloud-server-other/src/main/java/com/dsh/other/controller/AppGuideController.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/entity/AppGuideConfig.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/entity/QrLink.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
    }
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) {
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-删除。 */
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-删除。 */