用户反馈
评论未开启点踩功能
用户反馈当前评论(课程点评)只有点赞(like/thumbs-up)功能,缺少点踩(dislike/downvote/thumbs-down)功能。
意图判断
- 类型: feature_request
- 相关仓库: Serverless(后端+前端)、Flutter(移动端)
- 相关模块: area:backend(API 端点)、area:frontend(Web UI)、area:app(Flutter 客户端)
去重检查
已查询三个仓库(YourTJCourse-Serverless、YourTJCourse-Flutter、YourTJ-Credit-Serverless)所有 state 的 issue 和 PR,未发现语义重复的 open/closed issue。Issue #5 虽然标题含 "dislike",但内容为 like/dislike 响应中 wallet_user_hash 泄露的安全问题,与该 feature 无关。
代码静态扫描结果
数据库层
backend/src/helpers/review.ts 定义的 PUBLIC_REVIEW_COLUMNS 中包含 disapprove_count 字段,且 backend/src/routes/public.ts 的 SQL 查询中多处 SELECT disapprove_count(如第 721、1087、1175 行),表明数据库表 reviews 已预置该字段。
后端 API
backend/src/routes/public.ts 中:
- 第 1473-1550 行:实现了
POST /review/:id/like 和 DELETE /review/:id/like,仅操作 approve_count
- 缺失:对应的
POST /review/:id/dislike 和 DELETE /review/:id/dislike 端点从未实现
review_likes 表目前只有 approve_count 逻辑,disapprove_count 从未被写入
Flutter 客户端
lib/domain/models/review.dart:Review 模型只有 likeCount 和 liked 字段,无 dislikeCount/disliked
lib/domain/repositories/review_repository.dart:只有 likeReview()/unlikeReview() 方法
lib/features/course_detail/course_detail_view.dart 第 1234-1240 行:UI 仅显示 thumbs-up 按钮,无 thumbs-down
Web 前端
frontend/src/ 中未搜索到任何 disapprove/dislike/downvote 相关代码
Proposed Fix
后端
- 在
backend/src/routes/public.ts 中新增 POST /review/:id/dislike 端点:
- 与
like 端点逻辑对称,操作 disapprove_count
- 复用
review_likes 表(增加 kind 列区分 like/dislike),或新建 review_dislikes 表
- 新增
DELETE /review/:id/dislike 端点(取消点踩)
- 更新 API 返回响应,返回
dislike_count 字段
Flutter
lib/domain/models/review.dart:增加 dislikeCount 和 disliked 字段
lib/domain/repositories/review_repository.dart:增加 dislikeReview()/undislikeReview() 方法
lib/features/course_detail/course_detail_view.dart:在 ReviewCard 的按钮行中新增 thumbs-down 按钮,与点赞对称布局
Web 前端
- 在 review 卡片中增加点踩按钮和计数展示
- 对接新增的
/api/review/:id/dislike 接口
Reporter: 喜羊羊 (QQ: 2652856799)
来源: QQ 反馈群
用户反馈
用户反馈当前评论(课程点评)只有点赞(like/thumbs-up)功能,缺少点踩(dislike/downvote/thumbs-down)功能。
意图判断
去重检查
已查询三个仓库(YourTJCourse-Serverless、YourTJCourse-Flutter、YourTJ-Credit-Serverless)所有 state 的 issue 和 PR,未发现语义重复的 open/closed issue。Issue #5 虽然标题含 "dislike",但内容为 like/dislike 响应中 wallet_user_hash 泄露的安全问题,与该 feature 无关。
代码静态扫描结果
数据库层
backend/src/helpers/review.ts定义的 PUBLIC_REVIEW_COLUMNS 中包含disapprove_count字段,且backend/src/routes/public.ts的 SQL 查询中多处 SELECTdisapprove_count(如第 721、1087、1175 行),表明数据库表reviews已预置该字段。后端 API
backend/src/routes/public.ts中:POST /review/:id/like和DELETE /review/:id/like,仅操作approve_countPOST /review/:id/dislike和DELETE /review/:id/dislike端点从未实现review_likes表目前只有approve_count逻辑,disapprove_count从未被写入Flutter 客户端
lib/domain/models/review.dart:Review 模型只有likeCount和liked字段,无dislikeCount/dislikedlib/domain/repositories/review_repository.dart:只有likeReview()/unlikeReview()方法lib/features/course_detail/course_detail_view.dart第 1234-1240 行:UI 仅显示 thumbs-up 按钮,无 thumbs-downWeb 前端
frontend/src/中未搜索到任何disapprove/dislike/downvote相关代码Proposed Fix
后端
backend/src/routes/public.ts中新增POST /review/:id/dislike端点:like端点逻辑对称,操作disapprove_countreview_likes表(增加kind列区分 like/dislike),或新建review_dislikes表DELETE /review/:id/dislike端点(取消点踩)dislike_count字段Flutter
lib/domain/models/review.dart:增加dislikeCount和disliked字段lib/domain/repositories/review_repository.dart:增加dislikeReview()/undislikeReview()方法lib/features/course_detail/course_detail_view.dart:在 ReviewCard 的按钮行中新增 thumbs-down 按钮,与点赞对称布局Web 前端
/api/review/:id/dislike接口Reporter: 喜羊羊 (QQ: 2652856799)
来源: QQ 反馈群