恢复 7103 旧版报告批改与 15 类实验分析,支持报告/分析切换、重新检查和 XML 下载。新增空白模板及已保存 XML 提示,避免误认成绩。保留 7104 本地解析、新版评分界面、中文布尔说明与 7101 预习题填写;不恢复个人服务器或自动更新地址。已完成真实页面与历史样本回归。
移除 7103 报告批改功能:学校系统改版,删除相关解析、批改及面板代码。 7104 不再依赖个人服务器:直接获取学校 XML,在浏览器内解析评分详情。 优化评分界面:总分概览、分组卡片、答案并排对照、参数折叠,适配窄屏;布尔值改为中文说明。 取消服务器自动更新地址。 保留预习题自动填写,修复详情切换覆盖和重复刷新问题。
由于大学物理实验【7103】报告系统整体改版,原“报告批改 / 批改分析”功能目前已无法继续使用。
修复空标准答案被误显示为 1:当 XML 中明确存在 <StdResult></StdResult> 但内容为空时,解析器现在会尊重这个空值,不再继续从 JudgeRule 下的 StdValue / DefaultValue 等规则字段回填标准答案。这样碰撞实验中 M11、M21 这类没有给出真实标准答案的质量项,不会再被批改面板误显示为标准答案 1。
避免规则参数污染学生作答:同样地,当 XML 中明确存在 <RealResult> 但内容为空时,也会保留空作答,不再从规则字段中猜测回填,减少后续实验样本中出现虚假学生答案的风险。
大幅进行重构,去掉所有学生作答和标准答案的roundto函数
1.70;2.00)时,原先经过数值解析后显示为 1.7;2,丢失了末尾零位。现在直接使用 XML 原始文本显示,保留 1.70;2.00,以便学生判断所需的有效数字位数。弹性模量实验:标准答案和分析中显示所有可接受值:杨氏模量 E 的数据项分析说明和指标卡片中,原先只显示第一个标准值,现在显示全部可接受的标准值(如 1.70;2.00)。
弹性模量实验:标注有效数字要求:当 XML 判分规则中指定了有效数字位数(NumDate)时,在数据项分析说明和指标卡片中明确提示"系统要求 N 位有效数字",帮助学生了解扣分原因。
弹性模量实验:新增计算结果分析卡片:杨氏模量 E 和杨氏模量不确定度两项数据新增独立的计算结果分析条目,包含得分、学生作答、标准答案、偏差百分比和有效数字位数检查。
提示:如果你发现自己的实验数据莫名其妙变了,可能是在填表时习惯性按了键盘上下键——系统会把上键解读为"向上取整"、下键解读为"向下取整",导致你已经填好的数值被悄悄改掉。提交前建议仔细核对一遍所有数据格。如果已经提交,可以使用"重新检查"按钮在修改后重新触发分析。
修复总分显示错误:批改报告顶部的总分原先显示 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、温度系数 α、百分差等数据项,并对数据表进行线性拟合交叉验证。
新增示波器实验适配:支持识别示波器实验,自动分析波形参数测量表(方波/锯齿波/正弦波),验证数据行数和各列数值与标准答案的偏差,识别利萨如图形。
修复 numberList 类型数据项显示"未填写"的误报:当 XML 中 <StdResult> 含有多个值(如 0.941;1.00)时,parsedType 被识别为 numberList,导致 item.value 为字符串而非数字。numberValueOf() 原先仅检查 item.value,遇到字符串返回 NaN,进而在页面上显示"学生作答: 未填写"。现新增对 item.submittedValue 的回退检查,确保已填写值能正确显示。
0.941;1.00)、马吕斯线性系数 k(StdResult: 1.00;1.00)。修复有效数字位数提示硬编码问题:原先每个实验的有效数字期望位数由代码硬编码(如 buildPrecisionNote(raw, 3)),现改为从 XML 的 <JudgeRule> → <SubRule> → <NumDate> 字段中提取实际期望值,硬编码值仅作为回退。
"3,4" 表示 3 或 4 位均可接受),显示为"建议保留 3 或 4 位有效数字"。3,4,原先硬编码为 3。修复学生作答原始值被二次格式化的问题:原先 studentValue 通过 roundTo() 或 formatFixed() 对数值重新格式化,导致 XML 中 <RealResult> 的原始文本被修改(如 "1.00" 显示为 "1",尾部零被丢弃)。现新增 rawStudentDisplay() 函数,优先使用 item.realResult.text 原始文本显示,仅在无原始文本时回退到数值格式化。
1.00,原先显示为 1)。rawStudentDisplay(item, numericFallback, decimals, suffix) 函数,优先使用 XML 原始文本显示学生作答值,保留原始格式(含尾部零)。parseExpectedSigFigs(value)、formatExpectedSigFigs(value)、buildItemPrecisionNote(item, fallbackSigFigs) 辅助函数,统一有效数字提示逻辑。parsePara() 新增从 <JudgeRule NumDate> 提取 numDate 属性并挂载到 para 对象。buildPrecisionNote() 重构为支持多值期望(number / string / array),判断逻辑改为"实际位数是否在期望列表中"。buildPrecisionNote 调用点替换为 buildItemPrecisionNote,以自动读取 XML 中的 NumDate。studentValue 格式化替换为 rawStudentDisplay,优先呈现 XML 原始文本,不再对原始数据做二次格式化。init() 函数新增 7101 选课页面路由,自动加载预习题模块。@description 元信息,补充"选课预习题自动填写"功能说明。