Bläddra i källkod

fix: 统一前后端API为POST请求(安全迁移)

- 后端所有查询接口从@GetMapping改为@PostMapping
- POST接口参数从@RequestParam改为@RequestBody适配JSON请求体
- Web管理端API调用从GET改为POST
- 小程序utils/api.js默认方法改为POST

变更文件:
- 后端Controller: MarketController, TaskTemplatePackageController, PackagePaymentController, StreetController, MediaController, MiniGameController, StreakController, MembershipController, BindController, BindInviteController, UserController, GuideController, GuideFamilyTaskController, TeacherController, TeacherMessageController, AdminController, RewardController, RewardWishlistController, PointsController, TaskController, TaskReminderController
- Web API: guideTask.js, teacherMessage.js
- 小程序API: utils/api.js
- DTO: CompleteTaskDTO

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
User 5 månader sedan
förälder
incheckning
cda66059a7
25 ändrade filer med 221 tillägg och 164 borttagningar
  1. 10 9
      zxyj-backend/src/main/java/com/zxyj/controller/MarketController.java
  2. 1 1
      zxyj-backend/src/main/java/com/zxyj/controller/MediaController.java
  3. 14 13
      zxyj-backend/src/main/java/com/zxyj/controller/MembershipController.java
  4. 3 3
      zxyj-backend/src/main/java/com/zxyj/controller/MiniGameController.java
  5. 19 12
      zxyj-backend/src/main/java/com/zxyj/controller/PackagePaymentController.java
  6. 1 1
      zxyj-backend/src/main/java/com/zxyj/controller/StreakController.java
  7. 11 9
      zxyj-backend/src/main/java/com/zxyj/controller/StreetController.java
  8. 5 4
      zxyj-backend/src/main/java/com/zxyj/controller/TaskTemplatePackageController.java
  9. 4 4
      zxyj-backend/src/main/java/com/zxyj/controller/admin/AdminController.java
  10. 1 1
      zxyj-backend/src/main/java/com/zxyj/controller/family/BindController.java
  11. 3 2
      zxyj-backend/src/main/java/com/zxyj/controller/family/BindInviteController.java
  12. 13 10
      zxyj-backend/src/main/java/com/zxyj/controller/family/PointsController.java
  13. 4 4
      zxyj-backend/src/main/java/com/zxyj/controller/family/UserController.java
  14. 2 2
      zxyj-backend/src/main/java/com/zxyj/controller/guide/GuideController.java
  15. 20 9
      zxyj-backend/src/main/java/com/zxyj/controller/guide/GuideFamilyTaskController.java
  16. 6 6
      zxyj-backend/src/main/java/com/zxyj/controller/guide/TeacherController.java
  17. 7 5
      zxyj-backend/src/main/java/com/zxyj/controller/guide/TeacherMessageController.java
  18. 2 1
      zxyj-backend/src/main/java/com/zxyj/controller/reward/RewardController.java
  19. 2 2
      zxyj-backend/src/main/java/com/zxyj/controller/reward/RewardWishlistController.java
  20. 11 9
      zxyj-backend/src/main/java/com/zxyj/controller/task/TaskController.java
  21. 43 17
      zxyj-backend/src/main/java/com/zxyj/controller/task/TaskReminderController.java
  22. 1 0
      zxyj-backend/src/main/java/com/zxyj/dto/CompleteTaskDTO.java
  23. 30 30
      zxyj-frontend/utils/api.js
  24. 7 9
      zxyj-web/src/api/guideTask.js
  25. 1 1
      zxyj-web/src/api/teacherMessage.js

+ 10 - 9
zxyj-backend/src/main/java/com/zxyj/controller/MarketController.java

@@ -14,6 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
+import java.util.Map;
 
 @Tag(name = "套餐市场", description = "家长浏览、购买、应用套餐等接口")
 @RestController
@@ -30,9 +31,9 @@ public class MarketController {
      * 获取公开套餐列表 (市场)
      */
     @Operation(summary = "获取公开套餐列表")
-    @GetMapping("/packages")
-    public Result<List<TaskTemplatePackage>> getPublicPackages(
-            @RequestParam(required = false) String category) {
+    @PostMapping("/packages")
+    public Result<List<TaskTemplatePackage>> getPublicPackages(@RequestBody(required = false) Map<String, Object> params) {
+        String category = params != null && params.get("category") != null ? params.get("category").toString() : null;
         List<TaskTemplatePackage> packages = packageService.getPublicPackages(category);
         return Result.success(packages);
     }
@@ -41,7 +42,7 @@ public class MarketController {
      * 获取套餐详情
      */
     @Operation(summary = "获取套餐详情")
-    @GetMapping("/packages/{id}")
+    @PostMapping("/packages/{id}")
     public Result<TaskTemplatePackage> getPackageDetail(@PathVariable Long id) {
         TaskTemplatePackage pkg = packageService.getPackageById(id);
         return Result.success(pkg);
@@ -51,7 +52,7 @@ public class MarketController {
      * 获取套餐的任务项列表
      */
     @Operation(summary = "获取套餐任务项列表")
-    @GetMapping("/packages/{id}/items")
+    @PostMapping("/packages/{id}/items")
     public Result<List<TaskTemplateItem>> getPackageItems(@PathVariable Long id) {
         List<TaskTemplateItem> items = packageService.getPackageItems(id);
         return Result.success(items);
@@ -61,7 +62,7 @@ public class MarketController {
      * 通过分享码获取套餐
      */
     @Operation(summary = "通过分享码获取套餐")
-    @GetMapping("/share/{code}")
+    @PostMapping("/share/{code}")
     public Result<TaskTemplatePackage> getPackageByShareCode(@PathVariable String code) {
         TaskTemplatePackage pkg = packageService.getPackageByShareCode(code);
         if (pkg == null) {
@@ -90,7 +91,7 @@ public class MarketController {
      * 获取我的任务计划列表
      */
     @Operation(summary = "获取我的任务计划")
-    @GetMapping("/plans")
+    @PostMapping("/plans")
     public Result<List<TaskPlanInstance>> getMyPlans(@RequestAttribute("familyId") Long familyId) {
         List<TaskPlanInstance> plans = planService.getFamilyPlans(familyId);
         return Result.success(plans);
@@ -100,7 +101,7 @@ public class MarketController {
      * 获取计划详情
      */
     @Operation(summary = "获取计划详情")
-    @GetMapping("/plans/{id}")
+    @PostMapping("/plans/{id}")
     public Result<TaskPlanInstance> getPlanDetail(@PathVariable Long id) {
         TaskPlanInstance plan = planService.getPlanById(id);
         return Result.success(plan);
@@ -110,7 +111,7 @@ public class MarketController {
      * 获取计划的任务项
      */
     @Operation(summary = "获取计划任务项")
-    @GetMapping("/plans/{id}/items")
+    @PostMapping("/plans/{id}/items")
     public Result<List<TaskPlanItem>> getPlanItems(@PathVariable Long id) {
         List<TaskPlanItem> items = planService.getPlanItems(id);
         return Result.success(items);

+ 1 - 1
zxyj-backend/src/main/java/com/zxyj/controller/MediaController.java

@@ -49,7 +49,7 @@ public class MediaController {
     }
 
     @Operation(summary = "获取任务的所有媒体")
-    @GetMapping("/task/{taskId}")
+    @PostMapping("/task/{taskId}")
     public Result<List<MediaRecord>> getMediaByTask(@PathVariable Long taskId) {
         List<MediaRecord> records = mediaRecordService.getMediaByTaskId(taskId);
         return Result.success(records);

+ 14 - 13
zxyj-backend/src/main/java/com/zxyj/controller/MembershipController.java

@@ -9,6 +9,7 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import java.util.List;
+import java.util.Map;
 
 @Tag(name = "会员管理", description = "会员等级、支付相关接口")
 @RestController
@@ -22,7 +23,7 @@ public class MembershipController {
      * 获取所有会员等级
      */
     @Operation(summary = "获取会员等级列表")
-    @GetMapping("/levels")
+    @PostMapping("/levels")
     public Result<List<MembershipLevelDTO>> getAllLevels() {
         List<MembershipLevelDTO> levels = membershipService.getAllLevels();
         return Result.success(levels);
@@ -32,7 +33,7 @@ public class MembershipController {
      * 获取家庭当前会员信息
      */
     @Operation(summary = "获取家庭会员信息")
-    @GetMapping("/my")
+    @PostMapping("/my")
     public Result<FamilyMembershipDTO> getMyMembership(javax.servlet.http.HttpServletRequest request) {
         Long userId = getUserId(request);
         // 获取用户家庭ID
@@ -47,7 +48,7 @@ public class MembershipController {
      * 获取当前会员等级
      */
     @Operation(summary = "获取当前会员等级")
-    @GetMapping("/current")
+    @PostMapping("/current")
     public Result<MembershipLevelDTO> getCurrentLevel(javax.servlet.http.HttpServletRequest request) {
         Long familyId = 1L; // 临时
         
@@ -60,9 +61,9 @@ public class MembershipController {
      */
     @Operation(summary = "创建订单")
     @PostMapping("/orders")
-    public Result<PaymentOrderDTO> createOrder(
-            @RequestParam String levelCode,
-            @RequestParam String paymentType) {
+    public Result<PaymentOrderDTO> createOrder(@RequestBody Map<String, Object> params) {
+        String levelCode = params.get("levelCode").toString();
+        String paymentType = params.get("paymentType").toString();
         Long familyId = 1L; // 临时
         
         PaymentOrderDTO order = membershipService.createOrder(familyId, levelCode, paymentType);
@@ -74,10 +75,10 @@ public class MembershipController {
      */
     @Operation(summary = "支付回调")
     @PostMapping("/notify")
-    public Result<Boolean> paymentNotify(
-            @RequestParam String orderNo,
-            @RequestParam String transactionId,
-            @RequestParam String payMethod) {
+    public Result<Boolean> paymentNotify(@RequestBody Map<String, Object> params) {
+        String orderNo = params.get("orderNo").toString();
+        String transactionId = params.get("transactionId").toString();
+        String payMethod = params.get("payMethod").toString();
         boolean success = membershipService.processPaymentCallback(orderNo, transactionId, payMethod);
         return Result.success(success);
     }
@@ -86,9 +87,9 @@ public class MembershipController {
      * 检查功能权限
      */
     @Operation(summary = "检查功能权限")
-    @GetMapping("/can-use")
-    public Result<Boolean> canUseFeature(
-            @RequestParam String feature) {
+    @PostMapping("/can-use")
+    public Result<Boolean> canUseFeature(@RequestBody Map<String, Object> params) {
+        String feature = params.get("feature").toString();
         Long familyId = 1L; // 临时
         
         boolean canUse = membershipService.canUseFeature(familyId, feature);

+ 3 - 3
zxyj-backend/src/main/java/com/zxyj/controller/MiniGameController.java

@@ -34,7 +34,7 @@ public class MiniGameController {
      * 获取启用的小游戏列表
      */
     @Operation(summary = "获取小游戏列表")
-    @GetMapping("/list")
+    @PostMapping("/list")
     public Result<List<MiniGame>> getGameList() {
         List<MiniGame> games = miniGameService.getEnabledGames();
         return Result.success(games);
@@ -44,7 +44,7 @@ public class MiniGameController {
      * 根据游戏代码获取游戏详情
      */
     @Operation(summary = "获取游戏详情")
-    @GetMapping("/{gameCode}")
+    @PostMapping("/{gameCode}")
     public Result<MiniGame> getGameByCode(@PathVariable String gameCode) {
         MiniGame game = miniGameService.getGameByCode(gameCode);
         if (game == null) {
@@ -57,7 +57,7 @@ public class MiniGameController {
      * 获取所有小游戏(管理端)
      */
     @Operation(summary = "获取所有小游戏(管理端)")
-    @GetMapping("/all")
+    @PostMapping("/all")
     public Result<List<MiniGame>> getAllGames() {
         List<MiniGame> games = miniGameService.getAllGames();
         return Result.success(games);

+ 19 - 12
zxyj-backend/src/main/java/com/zxyj/controller/PackagePaymentController.java

@@ -31,8 +31,9 @@ public class PackagePaymentController {
     public Result<PackageOrder> createOrder(
             @RequestAttribute("userId") Long userId,
             @RequestAttribute("familyId") Long familyId,
-            @RequestParam Long packageId,
-            @RequestParam(defaultValue = "wechat") String payMethod) {
+            @RequestBody Map<String, Object> params) {
+        Long packageId = Long.valueOf(params.get("packageId").toString());
+        String payMethod = params.get("payMethod") != null ? params.get("payMethod").toString() : "wechat";
         
         PackageOrder order = paymentService.createOrder(userId, familyId, packageId, payMethod);
         return Result.success(order);
@@ -43,12 +44,12 @@ public class PackagePaymentController {
      */
     @Operation(summary = "获取微信支付参数")
     @PostMapping("/wechat params")
-    public Result<Map<String, Object>> getWechatPayParams(
-            @RequestParam Long orderId,
-            @RequestParam String openid) {
+    public Result<Map<String, Object>> getWechatPayParams(@RequestBody Map<String, Object> params) {
+        Long orderId = Long.valueOf(params.get("orderId").toString());
+        String openid = params.get("openid").toString();
         
-        Map<String, Object> params = paymentService.createWechatPayOrder(orderId, openid);
-        return Result.success(params);
+        Map<String, Object> payParams = paymentService.createWechatPayOrder(orderId, openid);
+        return Result.success(payParams);
     }
 
     /**
@@ -70,7 +71,7 @@ public class PackagePaymentController {
      * 查询订单状态
      */
     @Operation(summary = "查询订单状态")
-    @GetMapping("/orders/{orderId}")
+    @PostMapping("/orders/{orderId}")
     public Result<PackageOrder> getOrderStatus(@PathVariable Long orderId) {
         PackageOrder order = paymentService.getOrderById(orderId);
         return Result.success(order);
@@ -81,10 +82,16 @@ public class PackagePaymentController {
      */
     @Operation(summary = "支付成功后应用套餐")
     @PostMapping("/apply")
-    public Result<TaskPlanInstance> applyAfterPayment(
-            @RequestParam Long orderId,
-            @RequestParam Long childId,
-            @RequestParam(required = false) java.util.List<Long> selectedItemIds) {
+    public Result<TaskPlanInstance> applyAfterPayment(@RequestBody Map<String, Object> params) {
+        Long orderId = Long.valueOf(params.get("orderId").toString());
+        Long childId = Long.valueOf(params.get("childId").toString());
+        java.util.List<Long> selectedItemIds = null;
+        if (params.get("selectedItemIds") instanceof java.util.List) {
+            selectedItemIds = new java.util.ArrayList<>();
+            for (Object itemId : (java.util.List<?>) params.get("selectedItemIds")) {
+                selectedItemIds.add(Long.valueOf(itemId.toString()));
+            }
+        }
         
         PackageOrder order = paymentService.getOrderById(orderId);
         if (order == null || !"paid".equals(order.getStatus())) {

+ 1 - 1
zxyj-backend/src/main/java/com/zxyj/controller/StreakController.java

@@ -31,7 +31,7 @@ public class StreakController {
      * 获取孩子的打卡进度信息
      */
     @Operation(summary = "获取打卡进度")
-    @GetMapping("/progress/{childId}")
+    @PostMapping("/progress/{childId}")
     public Result<Map<String, Object>> getStreakProgress(
             @RequestAttribute(value = "userId", required = false) Long userId,
             @PathVariable Long childId) {

+ 11 - 9
zxyj-backend/src/main/java/com/zxyj/controller/StreetController.java

@@ -26,7 +26,7 @@ public class StreetController {
      * 获取所有省份
      */
     @Operation(summary = "获取所有省份")
-    @GetMapping("/provinces")
+    @PostMapping("/provinces")
     public Result<List<Street>> getAllProvinces() {
         List<Street> provinces = streetService.getAllProvinces();
         return Result.success(provinces);
@@ -36,7 +36,7 @@ public class StreetController {
      * 根据父级ID获取子级地址
      */
     @Operation(summary = "根据父级ID获取子级地址")
-    @GetMapping("/children/{parentId}")
+    @PostMapping("/children/{parentId}")
     public Result<List<Street>> getChildren(@PathVariable Long parentId) {
         List<Street> children = streetService.getChildrenByParentId(parentId);
         return Result.success(children);
@@ -46,7 +46,7 @@ public class StreetController {
      * 根据ID获取地址详情
      */
     @Operation(summary = "根据ID获取地址详情")
-    @GetMapping("/{id}")
+    @PostMapping("/{id}")
     public Result<Street> getById(@PathVariable Long id) {
         Street street = streetService.getById(id);
         return Result.success(street);
@@ -56,7 +56,7 @@ public class StreetController {
      * 获取地址的完整路径
      */
     @Operation(summary = "获取地址完整路径")
-    @GetMapping("/{id}/path")
+    @PostMapping("/{id}/path")
     public Result<List<Street>> getAddressPath(@PathVariable Long id) {
         List<Street> path = streetService.getAddressPath(id);
         return Result.success(path);
@@ -66,8 +66,9 @@ public class StreetController {
      * 搜索地址
      */
     @Operation(summary = "搜索地址")
-    @GetMapping("/search")
-    public Result<List<Street>> search(@RequestParam String keyword) {
+    @PostMapping("/search")
+    public Result<List<Street>> search(@RequestBody Map<String, Object> params) {
+        String keyword = params.get("keyword") != null ? params.get("keyword").toString() : null;
         List<Street> results = streetService.search(keyword);
         return Result.success(results);
     }
@@ -76,7 +77,7 @@ public class StreetController {
      * 区域回退匹配 - 获取匹配范围
      */
     @Operation(summary = "区域回退匹配", description = "根据街道ID返回街道级、区县级、城市级的匹配范围")
-    @GetMapping("/{id}/match")
+    @PostMapping("/{id}/match")
     public Result<Map<String, Object>> match(@PathVariable Long id) {
         Map<String, Object> matchResult = streetService.matchByStreetWithFallback(id);
         return Result.success(matchResult);
@@ -86,8 +87,9 @@ public class StreetController {
      * 按区域统计
      */
     @Operation(summary = "按区域统计", description = "按指定层级统计地址数量")
-    @GetMapping("/stats")
-    public Result<Map<String, Object>> getStatistics(@RequestParam(defaultValue = "4") Integer level) {
+    @PostMapping("/stats")
+    public Result<Map<String, Object>> getStatistics(@RequestBody(required = false) Map<String, Object> params) {
+        Integer level = params != null && params.get("level") != null ? Integer.valueOf(params.get("level").toString()) : 4;
         Map<String, Object> stats = streetService.getStatisticsByLevel(level);
         return Result.success(stats);
     }

+ 5 - 4
zxyj-backend/src/main/java/com/zxyj/controller/TaskTemplatePackageController.java

@@ -48,7 +48,7 @@ public class TaskTemplatePackageController {
      * 获取套餐详情
      */
     @Operation(summary = "获取套餐详情")
-    @GetMapping("/{id}")
+    @PostMapping("/{id}")
     public Result<TaskTemplatePackage> getPackage(@PathVariable Long id) {
         TaskTemplatePackage pkg = packageService.getPackageById(id);
         return Result.success(pkg);
@@ -58,7 +58,7 @@ public class TaskTemplatePackageController {
      * 获取我的套餐列表
      */
     @Operation(summary = "获取我的套餐列表")
-    @GetMapping("/my")
+    @PostMapping("/my")
     public Result<List<TaskTemplatePackage>> getMyPackages(@RequestAttribute("userId") Long userId) {
         List<TaskTemplatePackage> packages = packageService.getMyPackages(userId);
         return Result.success(packages);
@@ -80,7 +80,8 @@ public class TaskTemplatePackageController {
     @Operation(summary = "发布/下架")
     @PostMapping("/{id}/publish")
     public Result<Boolean> publishPackage(@PathVariable Long id,
-                                           @RequestParam boolean publish) {
+                                           @RequestBody Map<String, Object> params) {
+        boolean publish = params.get("publish") != null && Boolean.parseBoolean(params.get("publish").toString());
         boolean success = packageService.publishPackage(id, publish);
         return Result.success(success);
     }
@@ -122,7 +123,7 @@ public class TaskTemplatePackageController {
      * 获取套餐的任务项列表
      */
     @Operation(summary = "获取套餐的任务项列表")
-    @GetMapping("/{id}/items")
+    @PostMapping("/{id}/items")
     public Result<List<TaskTemplateItem>> getPackageItems(@PathVariable Long id) {
         List<TaskTemplateItem> items = packageService.getPackageItems(id);
         return Result.success(items);

+ 4 - 4
zxyj-backend/src/main/java/com/zxyj/controller/admin/AdminController.java

@@ -51,7 +51,7 @@ public class AdminController {
         return Result.success(result);
     }
 
-    @GetMapping("/users/{id}")
+    @PostMapping("/users/{id}")
     public Result<User> getUser(@PathVariable Long id) {
         return Result.success(userMapper.selectById(id));
     }
@@ -79,7 +79,7 @@ public class AdminController {
         return Result.success(result);
     }
 
-    @GetMapping("/children/{id}")
+    @PostMapping("/children/{id}")
     public Result<Child> getChild(@PathVariable Long id) {
         return Result.success(childMapper.selectById(id));
     }
@@ -361,7 +361,7 @@ public class AdminController {
         return Result.success(result);
     }
 
-    @GetMapping("/families/{id}")
+    @PostMapping("/families/{id}")
     public Result<Family> getFamily(@PathVariable Long id) {
         return Result.success(familyMapper.selectById(id));
     }
@@ -430,7 +430,7 @@ public class AdminController {
         return Result.success(result);
     }
 
-    @GetMapping("/task-templates/{id}")
+    @PostMapping("/task-templates/{id}")
     public Result<TaskTemplate> getTaskTemplate(@PathVariable Long id) {
         return Result.success(taskTemplateMapper.selectById(id));
     }

+ 1 - 1
zxyj-backend/src/main/java/com/zxyj/controller/family/BindController.java

@@ -40,7 +40,7 @@ public class BindController {
      * 获取绑定的指导师列表
      */
     @Operation(summary = "获取绑定的指导师列表")
-    @GetMapping("/guides")
+    @PostMapping("/guides")
     public Result<List<Map<String, Object>>> getBoundGuides(@RequestAttribute("familyId") Long familyId) {
         List<GuideFamily> bindings = guideFamilyService.getGuidesByFamily(familyId);
         

+ 3 - 2
zxyj-backend/src/main/java/com/zxyj/controller/family/BindInviteController.java

@@ -31,8 +31,9 @@ public class BindInviteController {
      * 校验邀请令牌
      */
     @Operation(summary = "校验邀请令牌")
-    @GetMapping("/validate")
-    public Result<Map<String, Object>> validateToken(@RequestParam String token) {
+    @PostMapping("/validate")
+    public Result<Map<String, Object>> validateToken(@RequestBody Map<String, Object> params) {
+        String token = params.get("token") != null ? params.get("token").toString() : null;
         Map<String, Object> result = bindInviteService.validateToken(token);
         return Result.success(result);
     }

+ 13 - 10
zxyj-backend/src/main/java/com/zxyj/controller/family/PointsController.java

@@ -16,26 +16,29 @@ public class PointsController {
     @Resource
     private PointsService pointsService;
 
-    @GetMapping("/balance")
-    public Result<Map<String, Object>> getBalance(@RequestParam Long childId) {
+    @PostMapping("/balance")
+    public Result<Map<String, Object>> getBalance(@RequestBody Map<String, Object> params) {
+        Long childId = params.get("childId") != null ? Long.valueOf(params.get("childId").toString()) : null;
         Map<String, Object> balance = pointsService.getBalance(childId);
         return Result.success(balance);
     }
 
-    @GetMapping("/logs")
-    public Result<Page<PointsLog>> getPointsLogs(@RequestParam Long childId,
-                                                @RequestParam(defaultValue = "1") Integer page,
-                                                @RequestParam(defaultValue = "10") Integer size) {
+    @PostMapping("/logs")
+    public Result<Page<PointsLog>> getPointsLogs(@RequestBody Map<String, Object> params) {
+        Long childId = params.get("childId") != null ? Long.valueOf(params.get("childId").toString()) : null;
+        Integer page = params.get("page") != null ? Integer.valueOf(params.get("page").toString()) : 1;
+        Integer size = params.get("size") != null ? Integer.valueOf(params.get("size").toString()) : 10;
         Page<PointsLog> logs = pointsService.getPointsLogs(childId, page, size);
         return Result.success(logs);
     }
 
     @PostMapping("/adjust")
-    public Result<Map<String, Object>> adjustPoints(@RequestParam Long childId,
-                                                    @RequestParam Integer amount,
-                                                    @RequestParam String reason,
-                                                    @RequestParam String password,
+    public Result<Map<String, Object>> adjustPoints(@RequestBody Map<String, Object> params,
                                                     @RequestAttribute("userId") Long userId) {
+        Long childId = Long.valueOf(params.get("childId").toString());
+        Integer amount = Integer.valueOf(params.get("amount").toString());
+        String reason = params.get("reason").toString();
+        String password = params.get("password").toString();
         Map<String, Object> result = pointsService.adjustPoints(childId, amount, reason, password, userId);
         return Result.success(result);
     }

+ 4 - 4
zxyj-backend/src/main/java/com/zxyj/controller/family/UserController.java

@@ -51,7 +51,7 @@ public class UserController {
     }
 
     @Operation(summary = "获取用户信息")
-    @GetMapping("/info")
+    @PostMapping("/info")
     public Result<User> getUserInfo(javax.servlet.http.HttpServletRequest request) {
         Long userId = getUserId(request);
         User user = userService.getUserInfo(userId);
@@ -111,7 +111,7 @@ public class UserController {
     }
 
     @Operation(summary = "获取用户所有角色列表")
-    @GetMapping("/roles")
+    @PostMapping("/roles")
     public Result<List<String>> getUserRoles(javax.servlet.http.HttpServletRequest request) {
         Long userId = getUserId(request);
         List<String> roles = userService.getUserRoles(userId);
@@ -146,7 +146,7 @@ public class UserController {
     }
 
     @Operation(summary = "获取孩子列表")
-    @GetMapping("/children")
+    @PostMapping("/children")
     public Result<List<ChildInfoDTO>> getChildren(javax.servlet.http.HttpServletRequest request) {
         Long userId = getUserId(request);
         List<ChildInfoDTO> children = userService.getChildren(userId);
@@ -164,7 +164,7 @@ public class UserController {
     }
 
     @Operation(summary = "获取家庭成员列表")
-    @GetMapping("/family-members")
+    @PostMapping("/family-members")
     public Result<Map<String, Object>> getFamilyMembers(javax.servlet.http.HttpServletRequest request) {
         Long userId = getUserId(request);
         User user = userMapper.selectById(userId);

+ 2 - 2
zxyj-backend/src/main/java/com/zxyj/controller/guide/GuideController.java

@@ -55,7 +55,7 @@ public class GuideController {
      * 获取绑定的家庭列表
      */
     @Operation(summary = "获取绑定的家庭列表")
-    @GetMapping("/bound-families")
+    @PostMapping("/bound-families")
     public Result<List<Map<String, Object>>> getBoundFamilies(@RequestAttribute("userId") Long userId) {
         List<GuideFamily> bindings = guideFamilyService.getFamiliesByGuide(userId);
         
@@ -146,7 +146,7 @@ public class GuideController {
      * 指导师获取家庭邀请码(用于分享给家长)
      */
     @Operation(summary = "获取家庭邀请码")
-    @GetMapping("/family/invite-code/{familyId}")
+    @PostMapping("/family/invite-code/{familyId}")
     public Result<String> getFamilyInviteCode(@RequestAttribute("userId") Long teacherId,
                                                @RequestAttribute("role") String role,
                                                @PathVariable Long familyId) {

+ 20 - 9
zxyj-backend/src/main/java/com/zxyj/controller/guide/GuideFamilyTaskController.java

@@ -47,7 +47,7 @@ public class GuideFamilyTaskController {
         @ApiResponse(responseCode = "403", description = "Access denied - 非教师"),
         @ApiResponse(responseCode = "401", description = "未登录")
     })
-    @GetMapping
+    @PostMapping
     public Result<List<Map<String, Object>>> getBoundFamilies(@RequestAttribute("userId") Long guideId, @RequestAttribute("role") String role) {
         if (!"teacher".equals(role)) { return Result.error("Access denied"); }
 
@@ -118,7 +118,7 @@ public class GuideFamilyTaskController {
         @ApiResponse(responseCode = "403", description = "Access denied"),
         @ApiResponse(responseCode = "401", description = "未登录")
     })
-    @GetMapping("/{familyId}/overview")
+    @PostMapping("/{familyId}/overview")
     public Result<Map<String, Object>> getFamilyTaskOverview(
             @RequestAttribute("userId") Long guideId,
             @RequestAttribute("role") String role,
@@ -186,16 +186,18 @@ public class GuideFamilyTaskController {
         @ApiResponse(responseCode = "403", description = "Access denied"),
         @ApiResponse(responseCode = "401", description = "未登录")
     })
-    @GetMapping("/{familyId}/children/{childId}/tasks")
+    @PostMapping("/{familyId}/children/{childId}/tasks")
     public Result<Page<Task>> getChildTasks(
             @PathVariable Long familyId,
             @PathVariable Long childId,
             @RequestAttribute("role") String role,
-            @RequestParam(defaultValue = "1") Integer page,
-            @RequestParam(defaultValue = "10") Integer size,
-            @RequestParam(required = false) String status) {
+            @RequestBody(required = false) Map<String, Object> params) {
         if (!"teacher".equals(role)) { return Result.error("Access denied"); }
 
+        Integer page = params != null && params.get("page") != null ? Integer.valueOf(params.get("page").toString()) : 1;
+        Integer size = params != null && params.get("size") != null ? Integer.valueOf(params.get("size").toString()) : 10;
+        String status = params != null && params.get("status") != null ? params.get("status").toString() : null;
+
         Page<Task> tasks = taskService.getTaskHistoryByChild(childId, page, size, status);
         return Result.success(tasks);
     }
@@ -209,7 +211,7 @@ public class GuideFamilyTaskController {
         @ApiResponse(responseCode = "403", description = "Access denied"),
         @ApiResponse(responseCode = "401", description = "未登录")
     })
-    @GetMapping("/{familyId}/children/{childId}/pending-review")
+    @PostMapping("/{familyId}/children/{childId}/pending-review")
     public Result<List<Task>> getPendingReviewTasks(
             @PathVariable Long familyId,
             @PathVariable Long childId,
@@ -254,8 +256,17 @@ public class GuideFamilyTaskController {
     public Result<Map<String, Object>> batchReviewTasks(
             @PathVariable Long familyId,
             @RequestAttribute("role") String role,
-            @RequestBody List<Long> taskIds,
-            @RequestParam Boolean approved) {
+            @RequestBody Map<String, Object> params) {
+
+        @SuppressWarnings("unchecked")
+        List<Object> rawTaskIds = (List<Object>) params.get("taskIds");
+        List<Long> taskIds = new ArrayList<>();
+        if (rawTaskIds != null) {
+            for (Object taskId : rawTaskIds) {
+                taskIds.add(Long.valueOf(taskId.toString()));
+            }
+        }
+        Boolean approved = params.get("approved") != null ? Boolean.valueOf(params.get("approved").toString()) : Boolean.FALSE;
 
 
         if (!"teacher".equals(role)) { return Result.error("Access denied"); }

+ 6 - 6
zxyj-backend/src/main/java/com/zxyj/controller/guide/TeacherController.java

@@ -28,7 +28,7 @@ public class TeacherController {
    * 获取教师信息
    */
     @Operation(summary = "获取教师信息")
-    @GetMapping("/info")
+    @PostMapping("/info")
     public Result<TeacherDTO> getTeacherInfo(@RequestAttribute("userId") Long teacherId) {
     TeacherDTO info = teacherService.getTeacherInfo(teacherId);
     return Result.success(info);
@@ -51,7 +51,7 @@ public class TeacherController {
    * 获取教师任务列表
    */
     @Operation(summary = "获取教师任务列表")
-    @GetMapping("/tasks")
+    @PostMapping("/tasks")
     public Result<List<TaskDTO>> getTaskList(@RequestAttribute("userId") Long teacherId) {
     // TODO: Implement getTaskList in TeacherService
     // List<TaskDTO> tasks = teacherService.getTaskList(teacherId);
@@ -76,7 +76,7 @@ public class TeacherController {
    * 获取教师班级列表
    */
     @Operation(summary = "获取教师班级列表")
-    @GetMapping("/classes")
+    @PostMapping("/classes")
     public Result<List<ClassInfoDTO>> getClassList(@RequestAttribute("userId") Long teacherId) {
     // TODO: Implement getClassList in TeacherService
     // List<ClassInfoDTO> classes = teacherService.getClassList(teacherId);
@@ -88,7 +88,7 @@ public class TeacherController {
    * 获取班级学生列表
    */
     @Operation(summary = "获取班级学生列表")
-    @GetMapping("/classes/{classId}/students")
+    @PostMapping("/classes/{classId}/students")
     public Result<List<StudentInfoDTO>> getClassStudents(@RequestAttribute("userId") Long teacherId,
       @PathVariable Long classId) {
     // TODO: Implement getClassStudents in TeacherService
@@ -128,7 +128,7 @@ public class TeacherController {
    * 获取学生学习进度
    */
     @Operation(summary = "获取学生学习进度")
-    @GetMapping("/students/{studentId}/progress")
+    @PostMapping("/students/{studentId}/progress")
     public Result<StudentProgressDTO> getStudentProgress(@RequestAttribute("userId") Long teacherId,
       @PathVariable Long studentId) {
     // TODO: Implement getStudentProgress in TeacherService
@@ -141,7 +141,7 @@ public class TeacherController {
    * 获取班级学习报告
    */
     @Operation(summary = "获取班级学习报告")
-    @GetMapping("/classes/{classId}/report")
+    @PostMapping("/classes/{classId}/report")
     public Result<ClassReportDTO> getClassReport(@RequestAttribute("userId") Long teacherId,
       @PathVariable Long classId) {
     // TODO: Implement getClassReport in TeacherService

+ 7 - 5
zxyj-backend/src/main/java/com/zxyj/controller/guide/TeacherMessageController.java

@@ -63,15 +63,17 @@ public class TeacherMessageController {
      * 指导师获取咨询消息列表
      */
     @Operation(summary = "指导师获取咨询列表")
-    @GetMapping("/teacher-list")
+    @PostMapping("/teacher-list")
     public Result<Map<String, Object>> getMessages(@RequestAttribute("userId") Long teacherId,
             @RequestAttribute("role") String role,
-            @RequestParam(defaultValue = "1") Integer page,
-            @RequestParam(defaultValue = "10") Integer size) {
+            @RequestBody(required = false) Map<String, Object> params) {
         if (!"teacher".equals(role)) {
             return Result.error("只有指导师可以查看");
         }
 
+        Integer page = params != null && params.get("page") != null ? Integer.valueOf(params.get("page").toString()) : 1;
+        Integer size = params != null && params.get("size") != null ? Integer.valueOf(params.get("size").toString()) : 10;
+
         Page<TeacherMessage> messages = teacherMessageService.getMessagesByTeacher(teacherId, page, size);
 
         // 补充家长信息
@@ -97,9 +99,9 @@ public class TeacherMessageController {
      * 家长获取自己的咨询消息
      */
     @Operation(summary = "家长获取咨询记录")
-    @GetMapping("/my")
+    @PostMapping("/my")
     public Result<List<TeacherMessage>> getMyMessages(@RequestAttribute("userId") Long parentId) {
         List<TeacherMessage> messages = teacherMessageService.getMessagesByParent(parentId);
         return Result.success(messages);
     }
-}
+}

+ 2 - 1
zxyj-backend/src/main/java/com/zxyj/controller/reward/RewardController.java

@@ -35,7 +35,8 @@ public class RewardController {
 
     @PostMapping("/{id}/exchange")
     public Result<Map<String, Object>> exchangeReward(@PathVariable Long id,
-                                                     @RequestParam Long childId) {
+                                                     @RequestBody Map<String, Object> params) {
+        Long childId = Long.valueOf(params.get("childId").toString());
         Map<String, Object> result = rewardService.exchangeReward(id, childId);
         return Result.success(result);
     }

+ 2 - 2
zxyj-backend/src/main/java/com/zxyj/controller/reward/RewardWishlistController.java

@@ -34,14 +34,14 @@ public class RewardWishlistController {
     }
 
     @Operation(summary = "获取我的心愿单")
-    @GetMapping("/my")
+    @PostMapping("/my")
     public Result<List<RewardWishlist>> getMyWishlist(@RequestAttribute("userId") Long userId) {
         List<RewardWishlist> list = rewardWishlistService.getByUserId(userId);
         return Result.success(list);
     }
 
     @Operation(summary = "获取家庭心愿单")
-    @GetMapping("/family")
+    @PostMapping("/family")
     public Result<List<RewardWishlist>> getFamilyWishlist(@RequestAttribute("userId") Long userId) {
         User user = userService.getUserInfo(userId);
         if (user == null) {

+ 11 - 9
zxyj-backend/src/main/java/com/zxyj/controller/task/TaskController.java

@@ -32,8 +32,9 @@ public class TaskController {
     }
 
     @Operation(summary = "获取今日任务")
-    @GetMapping("/today")
-    public Result<List<Task>> getTodayTasks(@RequestParam Long childId) {
+    @PostMapping("/today")
+    public Result<List<Task>> getTodayTasks(@RequestBody Map<String, Object> params) {
+        Long childId = Long.valueOf(params.get("childId").toString());
         List<Task> tasks = taskService.getTodayTasks(childId);
         return Result.success(tasks);
     }
@@ -41,8 +42,8 @@ public class TaskController {
     @Operation(summary = "完成任务")
     @PostMapping("/{id}/complete")
     public Result<Map<String, Object>> completeTask(@PathVariable Long id,
-                                                    @RequestParam Long childId,
                                                     @RequestBody CompleteTaskDTO dto) {
+        Long childId = dto.getChildId();
         Map<String, Object> result = taskService.completeTask(id, childId, dto.getPhotoUrl());
         return Result.success(result);
     }
@@ -56,23 +57,24 @@ public class TaskController {
     }
 
   @Operation(summary = "获取任务历史")
-  @GetMapping("/history")
-  public Result<Page<Task>> getTaskHistory(@RequestParam Long childId,
-      @RequestParam(defaultValue = "1") Integer page,
-      @RequestParam(defaultValue = "10") Integer size) {
+  @PostMapping("/history")
+  public Result<Page<Task>> getTaskHistory(@RequestBody Map<String, Object> params) {
+    Long childId = Long.valueOf(params.get("childId").toString());
+    Integer page = params.get("page") != null ? Integer.valueOf(params.get("page").toString()) : 1;
+    Integer size = params.get("size") != null ? Integer.valueOf(params.get("size").toString()) : 10;
     Page<Task> history = taskService.getTaskHistory(childId, page, size);
     return Result.success(history);
   }
 
     @Operation(summary = "获取待审核任务")
-    @GetMapping("/pending-review")
+    @PostMapping("/pending-review")
     public Result<List<Task>> getPendingReviewTasks(@RequestAttribute("userId") Long userId) {
     List<Task> tasks = taskService.getPendingReviewTasks(userId);
     return Result.success(tasks);
   }
 
     @Operation(summary = "获取家长今日任务")
-    @GetMapping("/today-parent")
+    @PostMapping("/today-parent")
     public Result<List<Task>> getTodayParentTasks(@RequestAttribute("userId") Long userId) {
         List<Task> tasks = taskService.getTodayParentTasks(userId);
         return Result.success(tasks);

+ 43 - 17
zxyj-backend/src/main/java/com/zxyj/controller/task/TaskReminderController.java

@@ -28,7 +28,7 @@ public class TaskReminderController {
      * TASK-013: 获取需要提醒的任务(30分钟内到期)
      */
     @Operation(summary = "获取需要提醒的任务")
-    @GetMapping("/reminder/{childId}")
+    @PostMapping("/reminder/{childId}")
     public Result<List<Task>> getTasksNeedReminder(@PathVariable Long childId) {
         List<Task> tasks = taskReminderService.getTasksNeedReminder(childId);
         return Result.success(tasks);
@@ -38,9 +38,10 @@ public class TaskReminderController {
      * TASK-013: 获取即将到期的任务(可指定时间范围)
      */
     @Operation(summary = "获取即将到期的任务")
-    @GetMapping("/upcoming/{childId}")
+    @PostMapping("/upcoming/{childId}")
     public Result<List<Task>> getUpcomingTasks(@PathVariable Long childId,
-                                                @RequestParam(defaultValue = "60") Integer minutes) {
+                                                @RequestBody(required = false) Map<String, Object> params) {
+        Integer minutes = params != null && params.get("minutes") != null ? Integer.valueOf(params.get("minutes").toString()) : 60;
         List<Task> tasks = taskReminderService.getUpcomingTasks(childId, minutes);
         return Result.success(tasks);
     }
@@ -49,7 +50,7 @@ public class TaskReminderController {
      * TASK-013: 获取已超时任务
      */
     @Operation(summary = "获取已超时任务")
-    @GetMapping("/overdue/{childId}")
+    @PostMapping("/overdue/{childId}")
     public Result<List<Task>> getOverdueTasks(@PathVariable Long childId) {
         List<Task> tasks = taskReminderService.getOverdueTasks(childId);
         return Result.success(tasks);
@@ -59,14 +60,26 @@ public class TaskReminderController {
      * TASK-014: 获取任务历史(带筛选)
      */
     @Operation(summary = "获取任务历史(带筛选)")
-    @GetMapping("/history/filter/{childId}")
+    @PostMapping("/history/filter/{childId}")
     public Result<Map<String, Object>> getTaskHistoryWithFilter(
             @PathVariable Long childId,
-            @RequestParam(required = false) String status,
-            @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date startDate,
-            @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date endDate,
-            @RequestParam(defaultValue = "1") Integer page,
-            @RequestParam(defaultValue = "10") Integer size) {
+            @RequestBody(required = false) Map<String, Object> params) {
+        String status = params != null && params.get("status") != null ? params.get("status").toString() : null;
+        Date startDate = null;
+        Date endDate = null;
+        Integer page = params != null && params.get("page") != null ? Integer.valueOf(params.get("page").toString()) : 1;
+        Integer size = params != null && params.get("size") != null ? Integer.valueOf(params.get("size").toString()) : 10;
+        try {
+            if (params != null && params.get("startDate") != null) {
+                startDate = new java.text.SimpleDateFormat("yyyy-MM-dd").parse(params.get("startDate").toString());
+            }
+            if (params != null && params.get("endDate") != null) {
+                endDate = new java.text.SimpleDateFormat("yyyy-MM-dd").parse(params.get("endDate").toString());
+            }
+        } catch (Exception e) {
+            startDate = null;
+            endDate = null;
+        }
         Map<String, Object> result = taskReminderService.getTaskHistoryWithFilter(
             childId, status, startDate, endDate, page, size);
         return Result.success(result);
@@ -76,11 +89,23 @@ public class TaskReminderController {
      * TASK-015: 获取任务统计概览
      */
     @Operation(summary = "获取任务统计概览")
-    @GetMapping("/statistics/{childId}")
+    @PostMapping("/statistics/{childId}")
     public Result<Map<String, Object>> getTaskStatistics(
             @PathVariable Long childId,
-            @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date startDate,
-            @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date endDate) {
+            @RequestBody(required = false) Map<String, Object> params) {
+        Date startDate = null;
+        Date endDate = null;
+        try {
+            if (params != null && params.get("startDate") != null) {
+                startDate = new java.text.SimpleDateFormat("yyyy-MM-dd").parse(params.get("startDate").toString());
+            }
+            if (params != null && params.get("endDate") != null) {
+                endDate = new java.text.SimpleDateFormat("yyyy-MM-dd").parse(params.get("endDate").toString());
+            }
+        } catch (Exception e) {
+            startDate = null;
+            endDate = null;
+        }
         Map<String, Object> stats = taskReminderService.getTaskStatistics(childId, startDate, endDate);
         return Result.success(stats);
     }
@@ -89,7 +114,7 @@ public class TaskReminderController {
      * TASK-015: 获取按分类统计
      */
     @Operation(summary = "获取按分类统计")
-    @GetMapping("/statistics/category/{childId}")
+    @PostMapping("/statistics/category/{childId}")
     public Result<List<Map<String, Object>>> getTaskStatsByCategory(@PathVariable Long childId) {
         List<Map<String, Object>> stats = taskReminderService.getTaskStatsByCategory(childId);
         return Result.success(stats);
@@ -99,10 +124,11 @@ public class TaskReminderController {
      * TASK-015: 获取按日期统计
      */
     @Operation(summary = "获取按日期统计")
-    @GetMapping("/statistics/date/{childId}")
+    @PostMapping("/statistics/date/{childId}")
     public Result<List<Map<String, Object>>> getTaskStatsByDate(
             @PathVariable Long childId,
-            @RequestParam(defaultValue = "7") Integer days) {
+            @RequestBody(required = false) Map<String, Object> params) {
+        Integer days = params != null && params.get("days") != null ? Integer.valueOf(params.get("days").toString()) : 7;
         List<Map<String, Object>> stats = taskReminderService.getTaskStatsByDate(childId, days);
         return Result.success(stats);
     }
@@ -111,7 +137,7 @@ public class TaskReminderController {
      * TASK-015: 获取家庭任务统计
      */
     @Operation(summary = "获取家庭任务统计")
-    @GetMapping("/statistics/family/{familyId}")
+    @PostMapping("/statistics/family/{familyId}")
     public Result<Map<String, Object>> getFamilyTaskStatistics(@PathVariable Long familyId) {
         Map<String, Object> stats = taskReminderService.getFamilyTaskStatistics(familyId);
         return Result.success(stats);

+ 1 - 0
zxyj-backend/src/main/java/com/zxyj/dto/CompleteTaskDTO.java

@@ -4,6 +4,7 @@ import lombok.Data;
 
 @Data
 public class CompleteTaskDTO {
+    private Long childId;
     private String photoUrl;
     private String voiceNoteUrl;
 }

+ 30 - 30
zxyj-frontend/utils/api.js

@@ -1,6 +1,6 @@
 const BASE_URL = 'http://localhost:8080'
 
-const request = (url, method = 'GET', data = {}) => {
+const request = (url, method = 'POST', data = {}) => {
   const token = uni.getStorageSync('token')
   
   return new Promise((resolve, reject) => {
@@ -74,7 +74,7 @@ export const getStreetPath = (id) => {
 
 // 搜索地址
 export const searchStreet = (keyword) => {
-  return request('/api/streets/search', 'GET', { keyword })
+  return request('/api/streets/search', 'POST', { keyword })
 }
 
 // 区域匹配
@@ -84,7 +84,7 @@ export const matchByStreet = (streetId) => {
 
 // 按区域统计
 export const getStreetStats = (level = 4) => {
-  return request('/api/streets/stats', 'GET', { level })
+  return request('/api/streets/stats', 'POST', { level })
 }
 
 // 微信手机号登录(新版)
@@ -122,7 +122,7 @@ export const directRegister = (data) => {
 
 // 用户模块
 export const getUserInfo = () => {
-	return request('/api/user/info', 'GET')
+	return request('/api/user/info', 'POST')
 }
 
 export const updateUserInfo = (data) => {
@@ -139,7 +139,7 @@ export const createFamily = (name) => {
 
 // 获取家庭所有成员(家长+孩子)
 export const getFamilyMembers = () => {
-	return request('/api/user/family-members', 'GET')
+	return request('/api/user/family-members', 'POST')
 }
 
 export const switchMode = (mode) => {
@@ -155,7 +155,7 @@ export const switchBackToParent = () => {
 }
 
 export const getUserRoles = () => {
-	return request('/api/user/roles', 'GET')
+	return request('/api/user/roles', 'POST')
 }
 
 export const switchRole = (role) => {
@@ -164,15 +164,15 @@ export const switchRole = (role) => {
 
 // 会员模块
 export const getMembershipLevels = () => {
-	return request('/api/membership/levels', 'GET')
+	return request('/api/membership/levels', 'POST')
 }
 
 export const getMyMembership = () => {
-	return request('/api/membership/my', 'GET')
+	return request('/api/membership/my', 'POST')
 }
 
 export const getCurrentLevel = () => {
-	return request('/api/membership/current', 'GET')
+	return request('/api/membership/current', 'POST')
 }
 
 export const createOrder = (levelCode, paymentType) => {
@@ -180,11 +180,11 @@ export const createOrder = (levelCode, paymentType) => {
 }
 
 export const getAuthorizations = () => {
-	return request('/api/parent/authorizations', 'GET')
+	return request('/api/parent/authorizations', 'POST')
 }
 
 export const getChildren = () => {
-  return request('/api/user/children', 'GET')
+  return request('/api/user/children', 'POST')
 }
 
 export const createChild = (data) => {
@@ -201,11 +201,11 @@ export const createTask = (data) => {
 }
 
 export const getTodayTasks = (childId) => {
-  return request('/api/tasks/today', 'GET', { childId })
+  return request('/api/tasks/today', 'POST', { childId })
 }
 
 export const getPendingReviewTasks = () => {
-  return request('/api/tasks/pending-review', 'GET')
+  return request('/api/tasks/pending-review', 'POST')
 }
 
 export const approveTask = (taskId) => {
@@ -225,7 +225,7 @@ export const reviewTask = (taskId, data) => {
 }
 
 export const getTaskHistory = (childId, page = 1, size = 10) => {
-  return request('/api/tasks/history', 'GET', { childId, page, size })
+  return request('/api/tasks/history', 'POST', { childId, page, size })
 }
 
 export const deleteTask = (taskId) => {
@@ -234,11 +234,11 @@ export const deleteTask = (taskId) => {
 
 // 积分模块
 export const getPointsBalance = (childId) => {
-  return request('/api/points/balance', 'GET', { childId })
+  return request('/api/points/balance', 'POST', { childId })
 }
 
 export const getPointsLogs = (childId, page = 1, size = 10) => {
-  return request('/api/points/logs', 'GET', { childId, page, size })
+  return request('/api/points/logs', 'POST', { childId, page, size })
 }
 
 export const adjustPoints = (childId, amount, reason, password) => {
@@ -274,7 +274,7 @@ export const getExchangeHistory = (childId, page = 1, size = 10) => {
 // 家长任务模块(孩子分配给家长的任务)
 // =============================================
 export const getTodayParentTasks = () => {
-  return request('/api/tasks/today-parent', 'GET')
+  return request('/api/tasks/today-parent', 'POST')
 }
 
 export const completeParentTask = (taskId) => {
@@ -315,7 +315,7 @@ export const generateBindInvite = () => {
 
 // 获取绑定的家庭列表
 export const getBoundFamilies = () => {
-  return request('/api/guide/families', 'GET')
+  return request('/api/guide/families', 'POST')
 }
 
 // 确认绑定家庭
@@ -340,12 +340,12 @@ export const updatePackage = (id, data) => {
 
 // 获取套餐详情
 export const getPackage = (id) => {
-  return request(`/api/packages/${id}`, 'GET')
+  return request(`/api/packages/${id}`, 'POST')
 }
 
 // 获取我的套餐列表
 export const getMyPackages = () => {
-  return request('/api/packages', 'GET')
+  return request('/api/packages', 'POST')
 }
 
 // 提交审核
@@ -375,7 +375,7 @@ export const deletePackageItem = (itemId) => {
 
 // 获取套餐任务项
 export const getPackageItems = (packageId) => {
-  return request(`/api/packages/${packageId}/items`, 'GET')
+  return request(`/api/packages/${packageId}/items`, 'POST')
 }
 
 // =============================================
@@ -383,12 +383,12 @@ export const getPackageItems = (packageId) => {
 // =============================================
 // 获取公开套餐列表
 export const getPublicPackages = (category) => {
-  return request('/api/market/packages', 'GET', { category })
+  return request('/api/market/packages', 'POST', { category })
 }
 
 // 通过分享码获取套餐
 export const getPackageByShareCode = (code) => {
-  return request(`/api/market/share/${code}`, 'GET')
+  return request(`/api/market/share/${code}`, 'POST')
 }
 
 // 购买并应用套餐
@@ -398,17 +398,17 @@ export const purchasePackage = (packageId, data) => {
 
 // 获取我的任务计划
 export const getMyPlans = () => {
-  return request('/api/market/plans', 'GET')
+  return request('/api/market/plans', 'POST')
 }
 
 // 获取计划详情
 export const getPlanDetail = (id) => {
-  return request(`/api/market/plans/${id}`, 'GET')
+  return request(`/api/market/plans/${id}`, 'POST')
 }
 
 // 获取计划任务项
 export const getPlanItems = (planId) => {
-  return request(`/api/market/plans/${planId}/items`, 'GET')
+  return request(`/api/market/plans/${planId}/items`, 'POST')
 }
 
 // 取消计划
@@ -423,21 +423,21 @@ export const acceptBind = (data) => {
 
 // 获取绑定的指导师列表
 export const getBoundGuides = () => {
-  return request('/api/bind/guides', 'GET')
+  return request('/api/bind/guides', 'POST')
 }
 
 // 打卡模块
 export const getStreakProgress = (childId) => {
-  return request(`/api/streak/progress/${childId}`, 'GET')
+  return request(`/api/streak/progress/${childId}`, 'POST')
 }
 
 // 小游戏模块
 export const getMiniGameList = () => {
-  return request('/api/mini-game/list', 'GET')
+  return request('/api/mini-game/list', 'POST')
 }
 
 export const getMiniGameByCode = (gameCode) => {
-  return request(`/api/mini-game/${gameCode}`, 'GET')
+  return request(`/api/mini-game/${gameCode}`, 'POST')
 }
 
 export const completeMiniGame = (childId, gameCode, completionTime, score) => {

+ 7 - 9
zxyj-web/src/api/guideTask.js

@@ -4,30 +4,28 @@ import request from '@/utils/request'
  * 指导师获取关联家庭列表
  */
 export function fetchBoundFamilies() {
-  return request.get('/api/guide/families')
+  return request.post('/api/guide/families')
 }
 
 /**
  * 指导师获取家庭任务概览
  */
 export function fetchFamilyOverview(familyId) {
-  return request.get(`/api/guide/families/${familyId}/overview`)
+  return request.post(`/api/guide/families/${familyId}/overview`)
 }
 
 /**
  * 指导师获取孩子任务列表
  */
 export function fetchChildTasks(familyId, childId, page = 1, size = 10, status) {
-  return request.get(`/api/guide/families/${familyId}/children/${childId}/tasks`, {
-    params: { page, size, status }
-  })
+  return request.post(`/api/guide/families/${familyId}/children/${childId}/tasks`, { page, size, status })
 }
 
 /**
  * 指导师获取待审核任务
  */
 export function fetchPendingReviewTasks(familyId, childId) {
-  return request.get(`/api/guide/families/${familyId}/children/${childId}/pending-review`)
+  return request.post(`/api/guide/families/${familyId}/children/${childId}/pending-review`)
 }
 
 /**
@@ -41,7 +39,7 @@ export function reviewTask(familyId, taskId, data) {
  * 指导师批量审核任务
  */
 export function batchReviewTasks(familyId, taskIds, approved) {
-  return request.post(`/api/guide/families/${familyId}/tasks/batch-review?approved=${approved}`, taskIds)
+  return request.post(`/api/guide/families/${familyId}/tasks/batch-review`, { taskIds, approved })
 }
 
 /**
@@ -69,5 +67,5 @@ export function bindFamily(familyId) {
  * 指导师获取家庭邀请码
  */
 export function getFamilyInviteCode(familyId) {
-  return request.get(`/api/guide/family/invite-code/${familyId}`)
-}
+  return request.post(`/api/guide/family/invite-code/${familyId}`)
+}

+ 1 - 1
zxyj-web/src/api/teacherMessage.js

@@ -25,5 +25,5 @@ export function getConsultMessages(page = 1, size = 10, status) {
  * 家长获取自己的咨询记录
  */
 export function getMyConsultMessages() {
-  return request.get('/api/teacher-message/my')
+  return request.post('/api/teacher-message/my')
 }