Thanks to visit codestin.com
Credit goes to github.com

Skip to content

fix: 实验成绩识别失败时跳过获取,防止后续流程中断#115

Merged
BenderBlog merged 2 commits into
BenderBlog:mainfrom
FlyingPig278:fix-score-crash
Mar 7, 2026
Merged

fix: 实验成绩识别失败时跳过获取,防止后续流程中断#115
BenderBlog merged 2 commits into
BenderBlog:mainfrom
FlyingPig278:fix-score-crash

Conversation

@FlyingPig278
Copy link
Copy Markdown
Contributor

出现问题

wgyreport.dll 网页目前未开放查询,意外导致实验列表解析、教师查询、实验课表展示等均未工作。

调用路径

  1. experiment_session.dart : 233 执行recognizeAllScores()方法。
  2. image_recognition.dart : 111 执行session.getScoreImageUrls()方法。
  3. wgyreport.dll 页面暂时还未开放查询,experiment_report_session.dart : 204clickResponse.data变为:
    document.cookie="UNI_GUI_SESSION_ID=; Path=/";
    // ...省略部分代码...
    dc.write("...本学期测验结束,系统停止登录...");
  4. dataResponse.data接收到空字符串,传入_extractExperimentInfo,导致jsonDecode解析失败,抛出异常并逐级传递。
  5. 异常最终返回至experiment_session,由于未被捕获,后续的实验列表解析、教师查询、课表渲染等核心逻辑被全部跳过。

解决方法

recognizeAllScores()处添加 try-catch 块,并打印相应日志。

效果展示

修改前:

Details 0f7d824e-690e-46dd-97ce-900bcaae145f

修改后:

Details image 0ad6f5ff-c9c4-44ad-8b10-7c33881d7f20

附言

由于xdx目前还没有已完成的物理实验记录,暂无法覆盖带有历史成绩的测试。

Comment thread lib/repository/experiment_session.dart Outdated
Comment thread lib/repository/experiment_session.dart Outdated
@BenderBlog
Copy link
Copy Markdown
Owner

document.cookie="UNI_GUI_SESSION_ID=; Path=/";
// ...省略部分代码...
dc.write("...本学期测验结束,系统停止登录...");

代码块上点心,这一眼AI啊……我个 Dart 程序啥时候用 js 了,我还得反应下才发现只是原理展示

@FlyingPig278
Copy link
Copy Markdown
Contributor Author

document.cookie="UNI_GUI_SESSION_ID=; Path=/";
// ...省略部分代码...
dc.write("...本学期测验结束,系统停止登录...");

代码块上点心,这一眼AI啊……我个 Dart 程序啥时候用 js 了,我还得反应下才发现只是原理展示

本意其实是展示一下这个网址现在访问会得到什么结果,不过后续代码没有使用这个,本应只提一嘴就好。

这是完整的 clickResponse.data

document.cookie = "UNI_GUI_SESSION_ID=; Path=/";
_clat_();
var w = window;
var dc = w.document;
try {
	enableWarnOnClose(false)
} catch(e) {};
dc.open();
dc.write("\x3Chtml\x3E\n\x3Cbody bgcolor=\"#fff\"\x3E\n\x3Cp style=\"text-align:center;color:#0000A0\"\x3E本学期测验结束,系统停止登录\x3C/p\x3E\n\x3Cp style=\"text-align:center;color:#A05050\"\x3E\x3Ca href=\"http://wlsy.xidian.edu.cn/wgyreport/wgyreport.dll/?id=stu\"\x3E重新启动应用程序\x3C/a\x3E\x3C/p\x3E\n\x3C/body\x3E\n\x3C/html\x3E\n");
dc.close();

@BenderBlog BenderBlog merged commit 26386a4 into BenderBlog:main Mar 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants