Преглед изворни кода

merge: resolve conflicts in cfc-web build files

Xiaogang Liao пре 3 месеци
родитељ
комит
f0880d4b2c

+ 20 - 13
cfc-backend/src/main/java/com/etotem/cfc/controller/CommonController.java

@@ -1,7 +1,7 @@
 package com.etotem.cfc.controller;
 
 import com.etotem.cfc.common.Result;
-import com.etotem.cfc.service.QrCodeService;
+import com.etotem.cfc.service.WechatService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import org.springframework.web.bind.annotation.*;
@@ -10,27 +10,34 @@ import javax.annotation.Resource;
 import java.util.HashMap;
 import java.util.Map;
 
-@Tag(name = "通用工具", description = "通用工具接口(二维码等)")
+@Tag(name = "通用工具", description = "通用工具接口(小程序码生成等)")
 @RestController
 @RequestMapping("/api/common")
 public class CommonController {
 
     @Resource
-    private QrCodeService qrCodeService;
+    private WechatService wechatService;
 
-    @Operation(summary = "生成二维码(通用)")
+    @Operation(summary = "生成小程序码(通用)")
     @PostMapping("/qrcode")
     public Result<Map<String, Object>> generateQrCode(@RequestBody Map<String, String> body) {
-        String content = body.get("content");
-        if (content == null || content.trim().isEmpty()) {
-            return Result.error("内容不能为空");
+        String type = body.get("type");
+        String referralCode = body.get("referralCode");
+
+        if (!"register".equals(type)) {
+            return Result.error("不支持的二维码类型");
+        }
+        if (referralCode == null || referralCode.trim().isEmpty()) {
+            return Result.error("referralCode 不能为空");
         }
-        String qrBase64 = qrCodeService.generateQrCodeBase64(content.trim());
-        if (qrBase64 == null) {
-            return Result.error("生成二维码失败");
+
+        try {
+            String base64 = wechatService.generateWxacode("ref=" + referralCode.trim(), "pages/invite/join");
+            Map<String, Object> result = new HashMap<>();
+            result.put("qrCodeBase64", "data:image/png;base64," + base64);
+            return Result.success(result);
+        } catch (Exception e) {
+            return Result.error("生成二维码失败: " + e.getMessage());
         }
-        Map<String, Object> result = new HashMap<>();
-        result.put("qrCodeBase64", "data:image/png;base64," + qrBase64);
-        return Result.success(result);
     }
 }

+ 1 - 11
cfc-backend/src/main/java/com/etotem/cfc/controller/InviteController.java

@@ -5,7 +5,6 @@ import com.etotem.cfc.common.Result;
 import com.etotem.cfc.dto.ReferralSummaryDTO;
 import com.etotem.cfc.entity.User;
 import com.etotem.cfc.service.CommissionService;
-import com.etotem.cfc.service.QrCodeService;
 import com.etotem.cfc.service.WechatService;
 import org.springframework.web.bind.annotation.*;
 
@@ -25,9 +24,6 @@ public class InviteController {
     @Resource
     private WechatService wechatService;
 
-    @Resource
-    private QrCodeService qrCodeService;
-
     @PostMapping("/code")
     public Result<String> getCode(@RequestAttribute("userId") Long userId) {
         String code = commissionService.getOrCreateReferralCode(userId);
@@ -63,13 +59,7 @@ public class InviteController {
     public Result<Map<String, Object>> getQrCode(@RequestAttribute("userId") Long userId) {
         try {
             String referralCode = commissionService.getOrCreateReferralCode(userId);
-            String qrBase64;
-            try {
-                qrBase64 = wechatService.generateWxacode(referralCode, "pages/invite/join");
-            } catch (Exception e) {
-                log.warn("生成小程序码失败,降级为普通二维码: {}", e.getMessage());
-                qrBase64 = qrCodeService.generateQrCodeBase64(referralCode);
-            }
+            String qrBase64 = wechatService.generateWxacode(referralCode, "pages/invite/join");
             Map<String, Object> result = new HashMap<>();
             result.put("qrCodeBase64", "data:image/png;base64," + qrBase64);
             result.put("referralCode", referralCode);

+ 1 - 6
cfc-backend/src/main/java/com/etotem/cfc/controller/family/FamilyInviteController.java

@@ -167,12 +167,7 @@ public class FamilyInviteController {
         }
 
         String qrBase64;
-        try {
-            qrBase64 = wechatService.generateWxacode("invite=" + token, "pages/invite/join");
-        } catch (Exception e) {
-            log.warn("生成小程序码失败,降级为普通二维码: {}", e.getMessage());
-            qrBase64 = qrCodeService.generateQrCodeBase64(token);
-        }
+        qrBase64 = wechatService.generateWxacode("invite=" + token, "pages/invite/join");
 
         Family family = familyMapper.selectById(user.getFamilyId());
 

+ 5 - 1
cfc-backend/src/main/java/com/etotem/cfc/service/WechatService.java

@@ -49,6 +49,10 @@ public class WechatService implements WechatServiceInterface {
     @Value("${wechat.alert-template-id:}")
     private String alertTemplateId;
 
+    // dev=development / test=trial / prod=release;@Value 已给 release 兜底
+    @Value("${wechat.env-version:release}")
+    private String envVersion;
+
     private final RestTemplate restTemplate = new RestTemplate();
 
     /**
@@ -192,7 +196,7 @@ public class WechatService implements WechatServiceInterface {
             requestBody.put("scene", scene);
             requestBody.put("page", page);
             requestBody.put("check_path", false);
-            requestBody.put("env_version", "trial"); // use "trial" for dev, "release" for production
+            requestBody.put("env_version", envVersion);
 
             org.springframework.http.HttpHeaders headers = new org.springframework.http.HttpHeaders();
             headers.setContentType(org.springframework.http.MediaType.APPLICATION_JSON);

+ 2 - 0
cfc-backend/src/main/resources/application.yml

@@ -79,6 +79,8 @@ wechat:
   test-phone: "13800138000"  # 测试模式使用的手机号
   alert-template-id: ${WECHAT_ALERT_TEMPLATE_ID:}
   promotion-tier-template-id: ${WECHAT_PROMOTION_TIER_TEMPLATE_ID:}
+  # 小程序码环境:dev=development / test=trial / prod=release
+  env-version: ${WECHAT_ENV_VERSION:release}
 
 dify:
   base-url: http://dify.bianwoyou.cn/v1

+ 1 - 1
cfc-web/.last_build_commit

@@ -1 +1 @@
-9b46204c140f59c7d04a0b2cde6493865949a22d
+812f0f6021b46f2747e1e3407a11ef4851a221c2

+ 1 - 1
cfc-web/package.json

@@ -1,6 +1,6 @@
 {
   "name": "cfc-web",
-  "version": "1.0.307",
+  "version": "1.0.300",
   "private": true,
   "scripts": {
     "dev": "vue-cli-service serve",

+ 1 - 10
cfc-web/public/CHANGELOG.md

@@ -1,13 +1,7 @@
 # 更新日志 (Changelog)
 
 此文件记录所有构建版本的变更。
-## v1.0.307 (2026-07-14)
-
-### Bug 修复
-- add missing closing brace for export default in Detail.vue — fixes build error
-
-
-## v1.0.301 (2026-07-14)
+## v1.0.300 (2026-07-14)
 
 ### 其他
 - merge: integrate remote changes + supply hierarchy management
@@ -17,9 +11,6 @@
 - 
 
 
-## v1.0.300 (2026-07-14)
-
-
 ## v1.0.299 (2026-07-14)
 
 ### Bug 修复