Version History
- 首次运行免费说明弹窗:脚本第一次在农大物理实验平台页面运行时,会提示本脚本免费发布,并指向公开发布页
https://scriptcat.org/zh-CN/script-show-page/5909。如果用户从其他付费渠道获得该脚本,弹窗会明确提醒这是被骗。
0.6.1
修复
修复空标准答案被误显示为 1:当 XML 中明确存在
<StdResult></StdResult>但内容为空时,解析器现在会尊重这个空值,不再继续从JudgeRule下的StdValue/DefaultValue等规则字段回填标准答案。这样碰撞实验中M11、M21这类没有给出真实标准答案的质量项,不会再被批改面板误显示为标准答案1。避免规则参数污染学生作答:同样地,当 XML 中明确存在
<RealResult>但内容为空时,也会保留空作答,不再从规则字段中猜测回填,减少后续实验样本中出现虚假学生答案的风险。
0.5.5
修复
- 修复多值数值标准答案有效数字丢失:当标准答案包含多个可接受值(如杨氏模量 E 的
1.70;2.00)时,原先经过数值解析后显示为1.7;2,丢失了末尾零位。现在直接使用 XML 原始文本显示,保留1.70;2.00,以便学生判断所需的有效数字位数。
改进
弹性模量实验:标准答案和分析中显示所有可接受值:杨氏模量 E 的数据项分析说明和指标卡片中,原先只显示第一个标准值,现在显示全部可接受的标准值(如
1.70;2.00)。弹性模量实验:标注有效数字要求:当 XML 判分规则中指定了有效数字位数(NumDate)时,在数据项分析说明和指标卡片中明确提示"系统要求 N 位有效数字",帮助学生了解扣分原因。
弹性模量实验:新增计算结果分析卡片:杨氏模量 E 和杨氏模量不确定度两项数据新增独立的计算结果分析条目,包含得分、学生作答、标准答案、偏差百分比和有效数字位数检查。
0.5.4
新增
- 新增霍尔效应测磁场实验适配:支持识别"利用霍尔效应测磁场"实验,自动分析以下数据项:
- 螺线管参数(匝数 N、长度 L、外径 D)
- VH-B 测量表(B1)及 VH-B 曲线图
- 斜率 k(mV/T),基于 B1 表线性拟合交叉验证
- 霍尔元件灵敏度 Kₕ(mV/(mA·T)),与标准答案偏差校验
- B-x 测量表(B2)及 B-x 曲线图
- B 中心理论值、B₀ 端面理论值,与标准答案偏差校验
- 两张数据表均逐行逐列与标准答案比对(10% 阈值)
0.5.3
提示:如果你发现自己的实验数据莫名其妙变了,可能是在填表时习惯性按了键盘上下键——系统会把上键解读为"向上取整"、下键解读为"向下取整",导致你已经填好的数值被悄悄改掉。提交前建议仔细核对一遍所有数据格。如果已经提交,可以使用"重新检查"按钮在修改后重新触发分析。
修复
修复总分显示错误:批改报告顶部的总分原先显示
RealScore / TotalScore(两者通常相同),现改为RealScore / FullScore,正确显示"得分 / 满分"。修复栏目得分中出现 base64 乱码:部分实验(如弹性模量)的栏目标题在 XML 中以 base64 编码存储,直接显示为一堆乱码字符。现在会自动解码提取可读文字,解码失败时回退到默认栏目名称(如"数据处理")。
修复数据项得分表中出现大段编码数据:当学生作答或标准答案包含图片数据(JPEG/PNG)或 HTML 编码内容时,原先会把整段 base64 字符串直接显示在表格里,现在会自动识别并替换为"[图片数据]"或"[编码数据]"。
修复弹性模量实验数据项名称不易识别:原先直接显示 XML 内部字段名(如
D_Expression、ZCF_n、B2),现在显示为中文名称:D_Expression→ 钢丝直径 d 表达式L_Expression→ 钢丝长度 L 表达式b_Expression→ 光杠杆臂长 b 表达式E_Expression→ 杨氏模量结果表达式ZCF_n→ 逐差法 Δn 平均值B2→ 读数差表BQDD_n→ 标尺读数不确定度 Δn
改进
提交后自动重新检查:点击"正式提交"按钮后,脚本会在 2 秒后自动重新拉取 XML 并刷新分析结果,无需手动点击"重新检查"。
移除数据项说明中的技术性描述:数据项得分表"说明"列中不再出现"按 xxx 重算"、"无法按 xxx 重算"、"当前未建立稳定理论参考值"等技术性文字,只保留与学生作答直接相关的分析内容。
移除计算结果分析中的重算/参考行:计算结果分析卡片中不再显示"按学生原始数据重算"和"理论参考"行,只保留得分、学生作答、标准答案、偏差和有效数字提示。
在成绩查询页面禁用脚本:当页面路径包含
ScoreInquiry时不再加载脚本,避免在成绩查询页面产生不必要的界面元素。
新增
新增惠斯通电桥实验适配:支持识别惠斯通电桥(电阻温度系数)实验,自动分析温度-电阻数据表、R₀、ΔRx/Δt、温度系数 α、百分差等数据项,并对数据表进行线性拟合交叉验证。
新增示波器实验适配:支持识别示波器实验,自动分析波形参数测量表(方波/锯齿波/正弦波),验证数据行数和各列数值与标准答案的偏差,识别利萨如图形。
0.5.2
修复
修复 numberList 类型数据项显示"未填写"的误报:当 XML 中
<StdResult>含有多个值(如0.941;1.00)时,parsedType被识别为numberList,导致item.value为字符串而非数字。numberValueOf()原先仅检查item.value,遇到字符串返回 NaN,进而在页面上显示"学生作答: 未填写"。现新增对item.submittedValue的回退检查,确保已填写值能正确显示。- 受影响字段示例:光的偏振实验中的 偏振度 V(StdResult:
0.941;1.00)、马吕斯线性系数 k(StdResult:1.00;1.00)。
- 受影响字段示例:光的偏振实验中的 偏振度 V(StdResult:
修复有效数字位数提示硬编码问题:原先每个实验的有效数字期望位数由代码硬编码(如
buildPrecisionNote(raw, 3)),现改为从 XML 的<JudgeRule>→<SubRule>→<NumDate>字段中提取实际期望值,硬编码值仅作为回退。- 支持多值 NumDate(如
"3,4"表示 3 或 4 位均可接受),显示为"建议保留 3 或 4 位有效数字"。 - 受影响字段示例:光的偏振实验的 V 字段 NumDate 为
3,4,原先硬编码为 3。
- 支持多值 NumDate(如
修复学生作答原始值被二次格式化的问题:原先
studentValue通过roundTo()或formatFixed()对数值重新格式化,导致 XML 中<RealResult>的原始文本被修改(如"1.00"显示为"1",尾部零被丢弃)。现新增rawStudentDisplay()函数,优先使用item.realResult.text原始文本显示,仅在无原始文本时回退到数值格式化。- 受影响字段示例:马吕斯线性系数 k(RealResult 为
1.00,原先显示为1)。
- 受影响字段示例:马吕斯线性系数 k(RealResult 为
改进
- 新增
rawStudentDisplay(item, numericFallback, decimals, suffix)函数,优先使用 XML 原始文本显示学生作答值,保留原始格式(含尾部零)。 - 新增
parseExpectedSigFigs(value)、formatExpectedSigFigs(value)、buildItemPrecisionNote(item, fallbackSigFigs)辅助函数,统一有效数字提示逻辑。 parsePara()新增从<JudgeRule NumDate>提取numDate属性并挂载到 para 对象。buildPrecisionNote()重构为支持多值期望(number / string / array),判断逻辑改为"实际位数是否在期望列表中"。- 全部 28 处
buildPrecisionNote调用点替换为buildItemPrecisionNote,以自动读取 XML 中的 NumDate。 - 全部 27 处
studentValue格式化替换为rawStudentDisplay,优先呈现 XML 原始文本,不再对原始数据做二次格式化。
0.5.1
新增
- 新增预习题自动填写模块:在课程选修页面(7101/PEECM0001.aspx)弹出预习题 Dialog 时,自动在标题栏插入"自动填写"按钮。
- 点击按钮后,根据题目内容关键词自动识别实验名称,匹配内置答案库,一键填写全部单选题。
- 内置 20 个实验的答案数据库,覆盖:误差配套、霍尔元件、示波器、长度与固体密度测量、热膨胀、牛顿环、超声波、电位差计、光电效应、碰撞、补偿法、惠斯通电桥、转筒法与落球法、单缝衍射、基本电学量、杨氏模量、表面张力、驻波、刚体转动惯量、光的偏振。
- 支持从 iframe 题目内容和页面实验列表两种途径识别实验,容错性较好。
- 支持模糊别名匹配(如"牛顿环"→"用牛顿环测曲率半径"),页面上的实验名称无需完全一致。
init()函数新增 7101 选课页面路由,自动加载预习题模块。
改进
- 更新
@description元信息,补充"选课预习题自动填写"功能说明。