v0.4.9
2026-08-14 07:45:37

后台「数据库迁移」

  • 管理员可在后台直接将当前数据库完整复制到另一台 MySQL, 用来做冷备、切换主库或迁移上线环境

模拟考试

  • 防作弊判罚逻辑改为「累计切后台时长 + 次数」双门控,大幅降低误判, 并支持跨浏览器窗口的检测

问卷统计

  • 后台问卷统计新增第 10 题「你是从哪里了解到我们的?」分布图表

AI 助教

  • 练习题点「AI 讲解」会自动把讲解内容保存到助教历史对话,可跨设备回看
  • 回看题目讲解和新建问答都改为流式输出,体验更流畅
  • 修复一次 AI 讲解被重复保存为多条助教历史的问题
  • 用户消息气泡按原文换行渲染,不再合并成一段
  • AI 讲解与反馈的提问会去掉代码行号,并正确解码题目中的特殊字符

排行榜

  • 修复活跃榜「今日最近」刷新后自己不会出现在顶部的问题, 现在打开排行榜或刷新页面都会计入活跃,榜单实时更新

体验优化

  • 整站所有输入框和文本框统一支持按 Ctrl+A / Cmd+A 全选内容
  • 数据库迁移表单报错改为页面内提示条,不再弹浏览器原生提示框
v0.4.8
2026-08-13 18:12:05

AI 助教全面升级

  • 对话记录从 localStorage 迁移到数据库持久化存储,支持跨设备同步与历史对话列表
  • 侧边栏对话列表三栏式美化:圆角消息图标,选中态绿色高亮与发光;删除按钮 hover 玫瑰色动效
  • 加载历史对话时 spinner 限定在 chat-header 内垂直居中;首次加载才显示 spinner, 缓存命中立即切换无闪烁
  • 已加载对话消息加入内存缓存(convMessagesCache), 切换已读对话不再请求服务器;用户消息/AI 回复实时追加到缓存
  • 删除对话按钮增加 14px 等待动画 spinner,成功后直接从列表 DOM 移除,不再全量刷新
  • chat-header 子控件垂直居中对齐;AI 回复填满父容器剩余宽度
  • 代码块统一 Shiki 语法高亮,抽出 renderCodeBlock 共享函数, 修复助教页面行号与空行对不齐、外层细线等问题,与练习/题库页面视觉一致
  • AI 助教头像改为 🤖 机器人图标,背景紫色 purple-dim; 用户头像改为 🧑‍💻,背景绿色 green-dim,紫绿区分
  • 用户消息气泡与 AI 回复统一为 surface + border 样式,视觉一致
  • mimo 大模型更新为 2.5-pro

登录与个人资料

  • 退出登录时清理 sessionStorage 并使 getMe() 缓存失效, 避免头像仍显示登录态
  • 登录成功跳转期间按钮保持禁用;保存个人资料后清除 csp_user_cache, 下拉菜单昵称/邮箱立即刷新

菜单对齐修复

  • 问卷调查「新」标签改为 pill 形,移入 .user-action-content 内绝对定位, 修复用户名短时与菜单文字重叠、破坏对齐的问题

其它

  • 禁用 Astro dev toolbar,消除 net::ERR_ABORTED 控制台报错
  • 「关于」「更新日志」页容器统一为 max-width:1200px,与错题本一致
  • AI 助教侧边栏「历史对话」标签水平居中
v0.4.7
2026-08-13 15:40:21

下拉菜单对齐修复

  • 为所有菜单项统一包裹 .user-action-content 层, 「图标+文字」作为唯一 in-flow flex 子项,红点作为独立绝对定位兄弟节点, 彻底解决因红点占位导致的文案居中偏移问题

UI 美化

  • AI 助教页「模型选择」下拉框去除原生外观,注入 SVG 自定义箭头, hover/focus 配色与全局表单控件对齐(绿色外发光 focus 态)
  • 导航栏图标 16→19px、文字 14→15px / 字重 600、胶囊尺寸同步放大; 首页搜索框放大镜 ⌕ 15→23px
v0.4.6
2026-08-12 17:05:48

问卷功能增强

  • 问卷表新增 updated_at 字段(migration 0026),自动记录最近更新时间
  • 已提交提示条展示「最近更新于 X」,仅在真正更新过时显示
  • 点击「更新问卷」成功后立即用接口返回的最新时间刷新提示条
  • 问卷时间按东八区(Asia/Shanghai)显示,修正原本按本地时区解析 UTC 时间导致的偏差

界面优化

  • 用户下拉菜单去掉头像,仅保留角色徽章 + 用户名 + 邮箱,header 与菜单项水平居中
  • 下拉菜单宽度自适应内容(min-width 150px),减少右侧留白
  • 错题本、收藏夹空状态行和加载行 hover 背景保持透明,避免误以为可点击
v0.4.5
2026-08-12 14:22:16

问卷调查功能增强

  • 问卷支持提交后修改:已提交用户再次进入时自动回填所有答案,按钮文案变为「更新问卷」,更新后表单保持显示并提示成功
  • 已提交用户顶部显示紫色提示条,展示上次提交时间并引导修改
  • 提交 API 改为 UPSERT 逻辑(已存在时 UPDATE,不存在时 INSERT)
  • 问卷新增第 10 题「你是从哪里了解到我们的?」(必填单选,7 个选项:搜索引擎/朋友推荐/老师推荐/社群/内容平台/学校机构/其他),原建议题顺延为第 11 题
  • 修复问卷 Q9 多选题因数据库字段类型为 CHAR(1) 导致提交 500 错误的问题

界面优化

  • 错题本、收藏夹统一为表格布局,宽度 1200px,行高 54px,时间精确到秒
  • 错题本、收藏夹加载状态改为居中旋转动画,操作后直接 DOM 移除行不刷新列表
  • 排行榜等级选择器样式与错题本/收藏夹筛选标签统一,水平居中
  • 管理后台标题、搜索栏、工具栏水平居中
  • 「查看答案」按钮去除权限限制,学生也可查看,默认隐藏答案解析
v0.4.4
2026-08-12 10:33:52

统计概览全面增强

  • 新增 /api/admin/stats 聚合接口,返回 24 项核心指标 + 近 7 天趋势数据
  • 统计分为 5 大分组卡片:用户概览(总用户/今日/本周/本月新增)、活跃度(DAU/WAU/MAU/周月留存)、学习行为(知识点完成/答题/正确率/错题/收藏/水平测试通过)、AI 助教(总使用/今日/覆盖用户/人均使用)、模考成绩(参加/通过/通过率/平均分/作弊)
  • 新增近 7 天 SVG 多系列趋势图:活跃用户、答题数、新增用户、知识点完成 4 条曲线,独立归一化便于观察波动,悬停显示具体数值,图例带 7 天累计量
  • 新增响应式分组卡片布局与样式,移动端自适应(4列→3列→2列)

管理后台优化

  • 用户管理从"前端当前页筛选"升级为后端全局搜索:支持昵称 / 邮箱 / 手机号多字段 LIKE 模糊匹配
  • 用户搜索框右侧新增「搜索」按钮和「×」清除按钮,改为用户主动触发(点击或回车)才开始搜索,避免误触发频繁请求
  • 问卷统计 Q9-F 选项文案从"移动端体验差"调整为"缺手机app"

试卷内容优化

  • 新增 CSP-J 2026 模拟卷(基础五),难度略高于基础四,覆盖栈/队列/位运算/递归复杂度/循环队列/完全二叉树/容斥/前缀和/邻接矩阵/const指针/二分左边界/排序稳定性等核心考点
  • 补充动态规划必考题目:完善程序(2)改为最长上升子序列(LIS)DP 经典题,完整考察状态定义、转移方程、最优子结构五个填空
  • 全面校准基础五试卷四维质量:
    • 效度:补充 CSP-J 考纲缺失模块——单选1十六进制含小数换算、单选2 ASCII+二进制换算综合、单选3负数补码(原反补码操作)、单选9组合计数(志愿者分配/第二类斯特林数应用)、单选14快排第一趟分区过程模拟
    • 难度:删除送分冗余的浮点数精度、简单容斥、简单递归追踪题,难题占比由 14% 调整至 21%
    • 区分度:阅读(2)从回文判断替换为高精度加法+进位次数统计(题27陷阱修改条件后 cnt 值区分度极高);完善(1)从归并排序模板替换为逆序对计数(题35 mid-i+1 填空显著拉开中等生与优等生差距)
    • 信度:删除递归类重复题 2 道,题目同质性降低,难度阶梯更平滑
v0.4.3
2026-08-11 17:18:31

题目修复

  • 修复 CSP-J 2026模拟卷(基础二)第6题:原题将"栈"误写为"队列",已更正为栈的出栈序列判断题
  • 修复 CSP-J 2026模拟卷(基础二)第26、27题:由2选项判断题改为4选项选择题,已重算9条相关考试记录的得分与总分

UI 优化

  • 导航栏当前模块按主题色高亮显示,当前模块导航项不可点击
  • 考试卡片 CSP-J/S 徽章改为右上角绝对定位,释放垂直空间
  • 「查看成绩」按钮改为直接跳转成绩详情页,取消中间界面
  • 身份切换确认按钮增加全局加载遮罩
v0.4.2
2026-08-11 14:47:09

问题修复

  • 修复考试成绩在详情页与列表页显示不一致的问题
  • 统一成绩计算规则:满分按实际题目分值累加(如阅读程序判断题1.5分、选择题3分),通过线为满分的60%
  • 已重算并修正全部45条历史考试记录的得分、总分和通过状态
v0.4.1
2026-08-11 11:05:18

功能增强

  • 未登录访问错题本、收藏夹、个人中心、助教、模考等页面,登录成功后自动返回原页面
  • 知识点详情页登录弹窗也支持登录后返回当前页面
v0.4.0
2026-08-11 09:32:40

新功能:水平测试解锁

  • 新增水平测试功能,高手用户可通过答题跳过前置练习门槛
  • 从所有前置依赖知识点中按比例抽取 10 道题,答对 8 道即可解锁
  • 首页思维导图锁节点和知识点详情页均可触发水平测试
  • 水平测试弹窗支持多步骤流程:开始说明 → 逐题答题 → 结果展示
  • 通过后自动刷新 UI,解锁节点并继续学完流程
  • 正确答案仅存服务端 session,防止前端篡改
v0.3.9
2026-08-11 08:10:02

界面美化

  • 收藏夹、错题本从表格改为卡片式列表,统一视觉风格
  • 错题本答案对比块移至标题右侧,卡片内容垂直居中对齐
  • 管理后台列表全面美化:反馈列表排版、反馈详情弹窗、加载遮罩居中
  • 分页页数窗口扩大为 7 页(±2)

功能增强

  • 模考、助教、错题本、收藏夹统一为需要登录才能访问
  • 考试「查看成绩」按钮增加加载状态,避免页面跳转卡顿
  • 考试成绩列表项点击跳转答题详情页
  • 老师/管理员专属:考点解析显示切换按钮
  • 考试管理、问卷统计增加通用加载遮罩

Bug 修复

  • 修复数学公式中字符串引号显示异常(左右均为右引号)
  • 修复选项中数学公式 $...$ 不渲染的问题
  • 修复中文输入法选词回车误触发提交
  • 修复加载遮罩显示时页面仍可滚动
  • 修复管理后台样式覆盖导航栏头像按钮的问题
  • 修复阅读程序计分规则(判断题 1.5 分 / 选择题 3 分)

部署修复

  • 修复 rsync 尾斜杠导致 dist 目录层丢失、PM2 入口找不到
  • 修复 migrations 尾斜杠导致 SQL 散落根目录、迁移静默跳过
  • CSRF 同源放行,支持任意部署域名/IP
v0.3.8
2026-08-10 16:42:17

工程清理

  • 移除 Pagefind 静态搜索工具及依赖,构建时间减少约 1.3s
  • 移除 wrangler.jsonc 中遗留的 D1 数据库绑定(运行时已全量使用 MySQL)

会话优化

  • Session 滑动续期:剩余有效期 ≤ 6 天时自动刷新,每天最多触发一次 UPDATE,保证连续使用不掉线

Bug 修复

  • 修复 KaTeX 数学公式中双引号被 marked 转义为 " 导致渲染异常的问题
v0.3.7
2026-08-07 17:51:39

排行榜预聚合表改造

  • 新增 user_stats 表预存积分数据,积分榜冷查询从 16-40s 降到毫秒级
  • 新增 user_daily_activity 表预存每日活动,活跃榜冷查询从 3s+ 降到 1-1.6s
  • 答题/标记完成时实时同步两张预聚合表,保证数据准确
  • 移除 KV 缓存,单表查询命中索引,数据实时且无需缓存失效管理
v0.3.6
2026-08-07 11:28:55

排行榜性能优化

  • SQL 去除 CONVERT_TZ 与 RANK() 窗口函数,改用 UTC 边界 + ORDER BY LIMIT
  • 补齐 8 个时间与复合索引,用户排名独立缓存(1 分钟 TTL)
  • 数据库连接请求级复用,省去多次 TCP 握手
  • 用户排名查询拆为「取自己 + COUNT 比我好」两步,不再全量窗口排序
  • 活跃天数计算移至应用层,Top50 累计字段按 IN 批量补全
  • 缓存从进程内 Map 改为 KV,跨 isolate 共享,所有用户都能命中
  • SWR 策略:缓存过期先返回旧数据秒开,后台异步刷新,用户无感知

性能优化

  • me 接口三级缓存,单页调用从 4 次降至 1 次
  • 通知接口跨页 sessionStorage 缓存(5 分钟 TTL),消除首页刷新重复调用

功能与修复

  • 练习题支持键盘 ABCD 快捷选择答案
  • 调查问卷第 9 题改为多选,后台统计图表同步适配
  • 修复问卷统计排版问题
v0.3.5
2026-08-06 15:03:08

用户问卷调研

  • 新增用户问卷功能(10 题,含满意度评分和 NPS)
  • 首页右下角问卷引导浮窗,7 天免打扰
  • 后台问卷统计 Tab,SVG 环形图/柱状图/NPS 图表
v0.3.4
2026-08-05 13:22:44

模拟考试系统

  • 新增模拟考试功能,严格按照 CSP 初赛真题格式(43题100分,限时2小时)
  • 每个用户每场考试仅有一次机会,开考30分钟后方可交卷
  • 防作弊机制:切换后台累计3次自动终止考试并判为作弊
  • 考试成绩记录作弊状态,管理员后台和用户成绩页均可查看作弊标记
  • 管理员可控制考试启用/禁用,禁用的考试对学生不可见且无法参加

后台管理

  • 新增「考试成绩」Tab,查看所有学生的考试成绩、通过率、作弊标记
  • 新增「考试管理」Tab,一键切换考试启用/禁用状态

问题修复

  • 修复代码块空行不显示的问题
  • 修复阅读程序/完善程序题目序号被包裹在代码块内的问题
  • 修复局域网IP访问提示"非法请求来源"的问题
v0.3.3
2026-08-04 16:19:27

体验优化

  • 学完知识点后可立即点击练习,无需刷新页面
  • 模拟考试页面代码块样式与知识点页面统一(行号、圆角、复制按钮)
  • 模拟考试开始时正确重置进度显示
v0.3.2
2026-08-03 10:45:13

排行榜优化

  • 新增「今日最早」排行榜,展示当日最早活跃的用户
  • 活跃榜刷新时保持当前 tab 状态
  • 活跃榜活跃时间筛选逻辑优化,确保只显示当日活跃用户

问题修复

  • 修复回看历史题目时 AI 讲解和反馈按钮缺失的问题
  • 修复文件操作练习题答案错误

备案信息

  • 底部增加公安备案链接
v0.3.1
2026-08-01 14:02:36

练习体验优化

  • 支持回看上一题,题目顶部始终显示"上一题"按钮
  • 回看已答题目时只读显示答案和解析
v0.3.0
2026-07-30 11:30:51

练习题反馈功能

  • 练习题AI讲解旁新增「反馈」按钮,用户可一键反馈题目错误
  • 反馈弹窗自动预填题目上下文(题目、选项、答案、知识点路径、题目编号)
  • 反馈弹窗支持ESC键关闭,点击遮罩关闭
  • 反馈按钮采用amber实心风格,与相邻按钮样式统一

问题修复

  • 修复代码块复制功能会把行号也复制的问题
  • 修复反馈弹窗中HTML实体(如 < )未解码导致代码显示异常的问题
v0.2.9
2026-07-29 15:48:22

站点备案与搜索引擎优化

  • 添加ICP备案号(粤ICP备2026004379号-3)至页脚中间位置
  • 添加搜狗站点验证meta标签及验证文件(sogousiteverification.txt)
  • 添加Content-Type meta标签声明gb2312编码

练习逻辑优化

  • 练习只展示错题和未做过的题,已答对的题不再出现;全部答对时恢复随机模式

后台管理优化

  • 管理员头像新增小红点提示,有待处理反馈时自动显示
  • 处理完反馈后自动刷新小红点状态
  • 分页加载loading遮罩优化,覆盖整个页面(含标题和标签页)

性能优化

  • 优化首页重复请求,首次加载跳过pageshow中的updateProgress调用
v0.2.8
2026-07-28 10:21:07

代码块样式统一与行号

  • 讲解tab和练习tab的代码块样式完全统一(背景、边框、字体、行高)
  • 所有代码块支持右上角复制功能
  • 代码块新增行号显示,行号与代码行一一对应
  • 修复代码块行间多空行的排版问题
  • 修复条件语句代码缩进显示问题(else与第二个if对齐)

练习交互修复

  • 修复练习页面回车快速连按导致跳过答案反馈直接跳转下一题的竞态条件

题目修正

  • 修正while循环题目答案
  • 修正格式化输出题目答案(setw/setfill填充规则)
v0.2.7
2026-07-27 16:06:49

活跃榜重构

  • 日榜排名规则改为按最后活跃时间倒序(越近越靠前),显示最后活跃时间
  • 活跃行为新增"浏览页面",用户访问任意页面即算活跃
  • 时间范围计算改为使用东八区时间,确保时区边界正确
  • 统一使用 UTC_TIMESTAMP() 存储时间,查询时转换为东八区
v0.2.6
2026-07-26 18:03:41

活跃榜修复

  • 修复活跃时间计算逻辑,现在包含登录时间、答题时间和学习知识点时间的最小值
  • 修复选项中空格显示问题,确保格式化输出题目中的空格正确显示

题目质量优化

  • 修正输入输出题目中"考察格式化输入输出与取模运算"的错误描述,改为"考察格式化输入输出"
v0.2.5
2026-07-26 14:47:13

活跃榜单功能

  • 新增活跃榜,支持今日/本周/本月时间范围选择
  • 今日榜单:按活跃时间(越早越靠前)> 答题数 > 学习知识点数排序,显示当天最早活跃时间
  • 本周/本月榜单:按活跃天数 > 答题数 > 学习知识点数排序,显示活跃天数
  • 活跃行为包含:答题、学习知识点、登录
  • 积分榜支持 CSP-J/CSP-S 级别切换,活跃榜不区分级别
  • 榜单移除分页,只显示一页(最多50名)
  • 加载状态管理:禁止切换榜单和上下滑动,显示加载动画

题目质量优化

  • 批量修正1117道题的考点描述,确保题目内容与考点一致
  • 修正素数筛法题目内容,确保符合主题

其他改进

  • 修复排行榜 tab.dataset.level 默认值错误问题
  • 添加登录时间字段 login_at 用于活跃统计
v0.2.4
2026-07-26 09:12:30

移动端导航适配

  • 修复首页底部导航栏在手机模式下显示不全的问题,添加左右滚动按钮和滑动提示

答题排序修复

  • 修复 question-status API 未按时间排序导致练习题排序错误的问题

思维导图优化

  • 思维导图过宽时显示"向左滑动查看更多"提示
  • 调整算法模块思维导图中双指针和二分答案的位置

知识体系文档修正

  • 修正知识体系依赖关系图中的4处错误(数据结构、搜索、数学、字符串算法)
v0.2.3
2026-07-24 17:22:08

练习答题优化

  • 答题改为先选择再提交,防止误点击
  • 选中答案后按回车提交,提交后按回车进入下一题

反馈交互优化

  • 反馈输入框回车提交,Shift+回车换行
  • 管理员回复同样支持回车提交,回复区域宽度占满、高度增大

热力图修复

  • 修复日期时区问题,使用 GMT+8 计算活动数据
v0.2.2
2026-07-24 13:15:56

热力图优化

  • 修复热力图显示问题,优化视觉效果(居中对齐、圆角单元格、颜色对比度)
  • 简化界面,移除星期标签和图例

API 缓存优化

  • 为进度相关 API 添加 Cache-Control 头,确保数据实时性
v0.2.1
2026-07-24 10:08:24

前置练习门槛

  • 新增练习门槛机制:完成知识点前,依赖知识点的练习需完成≥67%且正确率≥67%
  • 未达标时在页面底部显示提示,并提供"去练习"跳转链接
  • 标记完成时服务端二次校验,防止绕过前端检查

练习体验优化

  • 答题反馈即时显示,答题记录后台异步保存,消除等待感
  • 练习题智能排序:优先错题和未做题,全对后随机
  • 再练一次后自动切到练习标签
v0.2.0
2026-07-23 15:41:02

数据库迁移

  • 从 Cloudflare D1 迁移到 MySQL,提升性能和可扩展性
  • 新增数据 dump/restore 工具链

练习体验优化

  • 练习题智能排序:优先练习错题和未做过的题,全部做对后随机排序
  • 修复首页练习进度显示为 0 的问题

后台管理

  • 翻页移至列表下方居中,与排行榜风格统一
  • 反馈详情弹窗打开时先显示加载态,避免闪现旧内容

其他改进

  • 提交反馈后自动刷新「我的反馈」列表
  • 练习标签题数文字改为暗色,提升可读性
v0.1.0
2026-06-19 11:00:00

首次发布

  • 100+ 知识点,覆盖 CSP-J/S 初赛全部考点
  • 3500+ 精选练习题,配有答案和解析
  • 15 年真题精讲
  • 学习进度追踪、排行榜、错题本
  • AI 辅导(基于 MiMo/DeepSeek)
  • 管理员后台
💡