Sfoglia il codice sorgente

feat(api): 添加弹窗配置接口

- 新增 PopupConfigController,提供获取弹窗配置的 REST 接口
- 创建 PopupConfigVO,封装弹窗显示开关和图片地址
- 在安全配置中添加对 /popup/** 路径的免登录访问权限
- 通过 SysConfigService 获取并返回弹窗开关状态及图片链接信息
SheepHy 17 ore fa
parent
commit
10ccac5509

+ 55 - 0
yami-shop-api/src/main/java/com/yami/shop/api/controller/PopupConfigController.java

@@ -0,0 +1,55 @@
+package com.yami.shop.api.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.yami.shop.bean.vo.PopupConfigVO;
+import com.yami.shop.service.SysConfigService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 弹窗配置接口
+ */
+@RestController
+@RequestMapping("/popup")
+@Api(tags = "弹窗配置接口")
+@AllArgsConstructor
+public class PopupConfigController {
+
+    private final SysConfigService sysConfigService;
+
+    /**
+     * 弹窗开关配置key
+     */
+    private static final String POPUP_SWITCH = "POPUP_SWITCH";
+
+    /**
+     * 弹窗图片地址配置key
+     */
+    private static final String POPUP_IMAGE_URL = "POPUP_IMAGE_URL";
+
+    /**
+     * 获取弹窗配置
+     *
+     * @return 弹窗配置信息
+     */
+    @GetMapping("/config")
+    @ApiOperation(value = "获取弹窗配置", notes = "获取弹窗开关和图片地址配置")
+    public ResponseEntity<PopupConfigVO> getPopupConfig() {
+        PopupConfigVO vo = new PopupConfigVO();
+
+        // 获取弹窗开关配置
+        String switchValue = sysConfigService.getValue(POPUP_SWITCH);
+        vo.setShowPopup(StrUtil.isNotBlank(switchValue) && Boolean.parseBoolean(switchValue));
+
+        // 获取弹窗图片地址配置
+        String imageUrl = sysConfigService.getValue(POPUP_IMAGE_URL);
+        vo.setImageUrl(StrUtil.isBlank(imageUrl) ? "" : imageUrl);
+
+        return ResponseEntity.ok(vo);
+    }
+}

+ 19 - 0
yami-shop-bean/src/main/java/com/yami/shop/bean/vo/PopupConfigVO.java

@@ -0,0 +1,19 @@
+package com.yami.shop.bean.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 弹窗配置VO
+ */
+@Data
+@ApiModel("弹窗配置")
+public class PopupConfigVO {
+
+    @ApiModelProperty("是否显示弹窗")
+    private Boolean showPopup;
+
+    @ApiModelProperty("弹窗图片地址")
+    private String imageUrl;
+}

+ 2 - 1
yami-shop-security/yami-shop-security-api/src/main/java/com/yami/shop/security/api/config/ResourceServerConfiguration.java

@@ -51,7 +51,8 @@ public class ResourceServerConfiguration extends ResourceServerConfigurerAdapter
                         "/p/order/**",
                         "/p/user/miniAppLogin",
                         "/p/prodComm/commList",
-                        "/p/prodComm/commentCount"
+                        "/p/prodComm/commentCount",
+                        "/popup/**"
                         ).permitAll()
                 .and()