Просмотр исходного кода

fix(circle): 圈子页无 childId 时跳过请求, 后端 memberId 空串防御 - 修复 discover 500 与 my-circles 400

liaoxg 1 месяц назад
Родитель
Сommit
34c2839d07

+ 3 - 2
cfc-backend/src/main/java/com/etotem/cfc/controller/CircleController.java

@@ -25,8 +25,9 @@ public class CircleController {
      */
     @PostMapping("/my-circles")
     public Result<List<Map<String, Object>>> myCircles(@RequestBody Map<String, Object> params) {
-        Long memberId = params.get("memberId") != null
-                ? Long.valueOf(params.get("memberId").toString()) : null;
+        Object memberIdObj = params.get("memberId");
+        Long memberId = memberIdObj != null && !memberIdObj.toString().trim().isEmpty()
+                ? Long.valueOf(memberIdObj.toString()) : null;
         String memberType = params.get("memberType") != null
                 ? params.get("memberType").toString() : "child";
         if (memberId == null) {

+ 7 - 0
cfc-frontend/pages/discover/circles.vue

@@ -106,6 +106,13 @@ export default {
       var self = this
       self.loading = true
       var childId = uni.getStorageSync('currentChildId') || ''
+      if (!childId) {
+        self.myCircles = []
+        self.discoverList = []
+        self.loading = false
+        self.refreshing = false
+        return
+      }
       Promise.all([
         new Promise(function(resolve) {
           getMyCircles(childId, 'child').then(function(res) {