Skip to content

Releases: smartThise/NextTHUxk

v1.3.4

02 Jun 06:27

Choose a tag to compare

📝 选课文字说明现在显示在课程卡片上

  • 卡片新增橙色 📝 选课说明条(如"仅限行健书院")
  • AI 智能排课 & AI 搜索 prompt 中喂入选课说明作为参考

v1.3.3

30 May 11:40

Choose a tag to compare

性能优化

  • 缓存命中秒加载: 不再每次刷新都 re-merge catalog+volData,直接使用缓存的合并课程数据
  • 减半 localStorage 占用: 不再同时存储 raw catalog 和 raw volData,只存 catalog + merged courses,节省 30-50% 空间
  • 智能降级: 旧格式数据无 courses 缓存时自动 re-merge,无需手动处理
  • selected / queue / candidates 仍然是实时单请求,不影响数据新鲜度

技术细节

  • launch() 三种路径: 首次全量爬取 → volData过期只爬volData → 缓存命中零爬取
  • staticData 格式: { ver, plan, catalog, courses, volTs, ts } (去掉了 volData 字段)

v1.3.2

29 May 18:53

Choose a tag to compare

排队选课全套功能 + 退出队列 + 即时刷新

🆕 排队选课(自动两步流程)

  • 已满课程点击"排队选课"后,自动完成两步提交:
    1. POST m=saveRxKc → 服务器返回"是否排队?"
    2. 1.5s 后自动 POST m=saveBksKcDl(使用响应页面的新 token)
  • 验证延迟 2s 确保候补列表更新后再显示结果

🆕 退出队列

  • dropCourse 自动区分候补课程 vs 已选课程
  • 候补课程:GET dlSearchTab + POST m=dlDelete
  • 已选课程:原有 deleteYxk 逻辑不变
  • 按钮文案保留原始文本(退出队列/退选/删除)

🐛 修复

  • 即时刷新:排队/退选后立刻更新课程卡片、课表预览、队列筛选
  • 鬼影课程:队列/已选筛选器改用 code+seq 精确匹配
  • 草稿提交延时增至 2s 配合排队流程

v1.3.0 — 代码重构 + AI 找课 + 筛选增强

29 May 12:43

Choose a tag to compare

v1.3.0 更新内容

🔧 代码重构

  • 将原来 3000 行单文件 content.js 拆分为 8 个模块,各司其职:
    • src/config.js — 命名空间、常量、工具函数、存储、网络
    • src/data.js — 数据抓取与解析(课程目录、志愿、选退课 API)
    • src/probability.js — 中签概率计算、志愿格式化
    • src/state.js — 暂存/草稿管理、课表解析、冲突检测
    • src/render.js — 所有渲染函数 + 筛选逻辑
    • src/ai.js — AI 搜索 + 智能排课
    • src/update.js — 版本更新检查
    • content.js — 入口:HTML 模板 + Shadow DOM + 事件绑定
  • CSS 回归独立文件 content.css,从 JS 模板字符串中提取出来
  • 命名空间 NX 统一管理共享状态和函数

🔍 独立 AI 课程搜索

  • 新增 AI 课程搜索推荐面板,基于当前筛选结果 + 预览课表,AI 在不冲突的课程中推荐
  • 支持自然语言描述需求(如「想选一门好拿A的通识课」)

🎛️ 筛选栏增强

  • 新增筛选维度:
    • 通识课组筛选(人文/社科/艺术/科学)
    • 课程特色筛选(专题研讨课、全外文授课、实践课等 18 种)
    • 年级筛选
    • 本科余量 / 研究生余量筛选
    • 选课文字说明文本搜索

v1.2.7

28 May 07:11

Choose a tag to compare

v1.2.7 — 课余量实时数据 + 候补队列 + 时间冲突检测

新功能

  • 课余量实时数据:预选抽签结果出来后自动切换到课余量模式,显示所有课程的容量、剩余座位和实时排队人数
  • 我的队列:显示个人候补队列,包含队列排名(如「排队第121名 / 共185人」)
  • 时间冲突检测:所有课程卡片自动检测与当前预览课表的时间冲突,支持「仅无冲突」筛选
  • 刷新队列按钮:课余量模式下独立刷新课余量和排队数据
  • 草稿/暂存课余量:课余量模式下草稿和暂存也显示余量队列替代概率

改进

  • 课余量模式下自动跳过志愿确认弹窗
  • 已选/队列数据并行获取,加载更快
  • 课表预览中候补课程显示排队状态而非「已选」

降级兼容

  • 预选阶段(无课余量数据)完整保留原有志愿概率系统

v1.2.6

26 May 06:21

Choose a tag to compare

v1.2.6 更新

新增

  • Firefox 浏览器支持:跨浏览器 API 归一化(_browser),同时兼容 Chrome / Edge / Firefox
  • manifest.json 添加 browser_specific_settings.gecko,支持 Firefox 临时加载安装

改进(自 v1.2.5)

  • 体育课按一级课表属性列为空识别,覆盖所有体育课类型
  • 志愿确认可视化弹窗替代原始 prompt()
  • 服务端真实志愿 confirmed 标记,已确认数据不再重复弹窗

v1.2.5

25 May 09:58

Choose a tag to compare

v1.2.5 更新

改进

  • 体育课识别优化:一级课表中属性列为空即识别为体育课,不再依赖关键词列表,覆盖所有体育课类型
  • 志愿确认弹窗:新增可视化弹窗替代原始 prompt(),每门课程独立下拉选择志愿,界面更清晰
  • confirmed 标记:服务端返回的真实志愿数据标记为已确认,永不重复弹窗;用户手动确认的可在下次启动时再次调整

v1.2.4

25 May 08:03

Choose a tag to compare

v1.2.4

修正

  • 优先志愿格式修正为 (优先人数)1志愿,2志愿,3志愿(46)5,15,29
  • 志愿显示正确展示优先人数:优先46/5/15/29
  • 概率级联中优先志愿作为任选的第0志愿(最高优先级)参与计算

v1.2.1

25 May 07:06

Choose a tag to compare

v1.2.1

修正

  • 恢复必修→限选→任选全局级联概率计算(PR #12 误将其改为独立级联,现已修复)

⚠️ 旧版本警告

v1.0.1、v1.0.2、v1.0.3、v1.1.2、v1.2.0 存在严重错误,不建议使用,请升级到本版本。

v1.2.0

25 May 06:50

Choose a tag to compare

v1.2.0 Pre-release
Pre-release

⚠️ 该版本存在严重错误,不建议使用,请升级到 最新版本

v1.2.0

修正

  • 优先报名人数(任选志愿括号内的数)正确解析与显示
  • 修复存在优先志愿时概率显示 NaN% 的问题