去除文章详情页的"阅读完成"按钮,改为自动跟踪阅读时长——用户进入页面即开始计时,离开/切后台时自动上报。纯统计用途,不涉及积分/任务/答题。
表: article_reading_records
article_id BIGINT COMMENT '文章ID'updated_at DATETIMEINDEX idx_article_child_date (article_id, child_id, read_at)新 API: POST /api/articles/report-reading-time
请求体:
{
"articleId": 123,
"childId": 456,
"durationSeconds": 185
}
逻辑:
article_id + child_id + DATE(read_at) 查找当日已有记录UPDATE SET duration_seconds = duration_seconds + :duration, updated_at = NOW(){ success: true },无积分/任务逻辑实体变更: ArticleReadingRecord.java 新增 articleId 字段
页面: pages/article-center/article-detail.vue
删除:
read-btn)onReadComplete 方法loadQuiz、onSubmitQuiz、selectAnswer 等答题相关方法showQuiz、showResult、quizQuestions 等答题相关状态recordArticleRead API 调用(旧版一次性记录)新增:
"已读 3分12秒"onShow → 开始计时(或恢复)onHide → 暂停计时,上报累计时长onUnload → 最终上报onShow/onHide 同样处理(小程序切后台)/api/articles/report-reading-time保留:
用户进入页面 → onLoad → 加载文章 → 开始计时 → 显示"已读 0秒"
↓
每30秒 → 上报当前累计时长
↓
用户切后台/隐藏 → onHide → 暂停计时 → 上报累计时长
↓
用户返回 → onShow → 恢复计时
↓
用户离开页面 → onUnload → 最终上报
childId 不存在)currentChildId: 不上报