fix
This commit is contained in:
@@ -2,6 +2,8 @@
|
||||
|
||||
> 2026-08-06 规则更新:当前实现已改为单选、点击即提交、提交后不可修改,并通过 `(problem, user)` 数据库唯一约束保证一人一题一条。新接口使用单值 `type` / `mine_type`;为支持前后端错序部署,过渡期仍接受单元素 `types` 并返回数组 `mine`。统计直接查询数据库,不再使用 reaction 缓存。本文中的多选及缓存步骤是早期实施记录。
|
||||
|
||||
> 2026-08-06 后台形态变更:Task 3(管理接口 `/api/admin/reaction`)与 Task 6(后台反馈统计页)的产物已整体删除。后台反馈现在只是**题目列表的一列**:显示票数最高的那个表情图标,tooltip 出「标签名 + 人数」,无评价留空,并列取 `ReactionType` 定义序靠前的一个。数据由 `GET /api/admin/problem` 的 `top_reaction` 字段下发,聚合逻辑在 `reaction/services.py:get_top_reactions()`。详见 spec 顶部同日说明。
|
||||
|
||||
> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
|
||||
|
||||
**Goal:** 把题目点评从「三维评分 + 文字」重写为「一排七个表情按钮,点击即表态」,并把后台从逐条评论管理改为按题目聚合的反馈统计表。
|
||||
@@ -1090,6 +1092,8 @@ Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>"
|
||||
|
||||
实现全部完成并通过终审。以下是评审过程中判定「可以带着合并」的次要项,都不阻塞上线,记在这里免得日后重新发现一遍。
|
||||
|
||||
其中涉及后台统计页与统计缓存的四条(题号筛选返回空结果、缓存快照少算一票、`ReactionStatsRow` 缺 `_ratio`、后台筛选不重置页码与 `listStats` 无序号守卫)随后台页面下线与缓存移除一并作废,代码已不存在,保留仅作记录。
|
||||
|
||||
**后端**
|
||||
|
||||
- `problem_id` 传非数字(如 `?problem_id=abc`)会走兜底 except 返回泛化 500 并打一条 stack trace。前端始终传数字,实际影响只是日志噪音。与原 `comment/views/oj.py` 的写法一致。
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
> 2026-08-06 规则更新:评价已改为单选,点击一个表情后立即提交,且提交后不可修改。一人一题在数据库中最多保留一条记录。新请求字段为 `type`,新响应字段为 `mine_type: ReactionKey | null`;为支持前后端错序部署,过渡期仍接受单元素 `types` 并返回数组 `mine`。计数直接查询数据库,不使用 Redis 缓存。本文后续关于“最多选 3 个、可取消、整份覆盖、统计缓存”的内容仅保留为早期设计记录,不再代表当前行为。
|
||||
|
||||
> 2026-08-06 后台形态变更:独立的后台反馈统计页与 `GET /api/admin/reaction` 已全部下线(`reaction/views/admin.py`、`reaction/urls/admin.py`、`src/admin/reaction/list.vue`、路由与菜单项均已删除)。取而代之,**后台题目列表**(`src/admin/problem/list.vue`)多一列「反馈」,只显示该题票数最高的那一个表情图标,tooltip 出「标签名 + 人数」;无人评价则留空,并列第一时按 `ReactionType` 的定义顺序取靠前的一个。数据来自 `GET /api/admin/problem` 新增的 `top_reaction: {type, count} | null` 字段,由 `reaction/services.py:get_top_reactions()` 对当页题目做一次聚合查询算出(比赛题目列表不返回该字段,前端也不显示该列)。本文「管理接口」「后台页面」两节仅为早期设计记录,占比排序、七列计数表、按题号筛选均已不存在。
|
||||
|
||||
日期:2026-08-06
|
||||
涉及仓库:`OnlineJudge`(后端)、`ojnext`(前端)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user