可以通过新教育题卡二维码或编号获取答案
- 必要条件:
Qt
qmake
git
Windows: Qt 6.7.2 + MSVC2019
Android: Qt 6.7.2 + NDK 25.1.8937393 + JDK 17
-
运行
configuration.bat
文件 -
使用
qmake
编译3rd_build.pro
项目 -
使用
qmake
编译ZhiNengTiKa.pro
项目
-
功能
-
性能
新教育智能平台( www.xinjiaoyu.com )的题卡答案获取
License: GNU Affero General Public License v3.0
当扫描一个自组题卡二维码后, 程序界面冻结
比如mxzy202301090041022229
TemplateDetailWidget构造后, WebView全屏显示
盲猜是Qt 6.7的问题
TemplateAnalysis相关的分析代码用了大量的lambda及对于树形结构的callFunc, 代码可读性差, 且效率低下, 未来功能的可拓展性也不高, 应采用专门的树形结构类保存数据, 仅暴露几个易用易懂的接口.
QLibrary可提供运行时的动态库加载, 并且还是跨平台的.
所以基于这点, 可以在c++端的入口处调用本程序的动态库, 并在有更新的时候直接下载, 下次启动时覆盖
https://github.com/LFWQSP2641/ZhiNengTiKa/tree/feature/hot_update
新教育部分 API 鉴权部分或多或少有些稀烂
教师版 UI 中有一块是校本资源下载的
如图
https://www.xinjiaoyu.com/api/v3/server_resource/homework/resource?bookCatalogId=
这个接口可用于直接获取 PDF 版答案的下载链接(此处的 ID 参数还是比较迷惑的,由前一个 POST 请求 https://www.xinjiaoyu.com/api/v3/server_questions/book/catalog/detail/attribute 获取,但在 POST 数据的 raw 中含有[7936,7817,7563,5900,8076,7053,8077,6286,8078,6415,7058,7702,7703,3742,8224,6945,3624,9768,5673,6057,3754,6059,6315,8107,3885,3886,5296,6192,3891,6451,5811,9779,8502,5689,3642,3902,8384,3906,5316,3398,7110,7494,3911,5449,8650,3403,7499,8651,8653,8654,8655,8656,3793,8657,3410,7634,8658,3411,6099,8659,5972,8660,9428,8661,6615,7896,3801,6233,7258,5341,6623,3300,5733,5352,3433,6122,3563,3565,3311,5746,7028,3446,6390,5114,5115,5371,7419,5116,6524,5117] 这样的一串无法理解的内容,疑似针对各校有不同的数据。)
API 的鉴权方面的 Header 最为糟糕
即
t:时间戳
encrypt:任意值(不为空即可)
clientSession:任意值(不为空即可)
client:front
缺失前三个会 444 非法请求,缺失最后一个会 500。
约等于这部分接口毫无任何鉴权可言,新教育所做的控制只是在前端将相应页面不显示给学生。就挺难蚌的就…
如果需要测试使用的 Postman 项目的话…容我整理整理(缠在别的项目的请求里面(人太懒))
ps:看了主页发现跟大佬同是拙中牲(我低一级),方便留个联系方式吗,issue不便的话可以发到我个人邮箱 im#aehxy.com @代#,谢谢啦!
当对TemplateListModel和AnnouncementModel进行操作后, qml可能会获取到意外的null值, 导致View异常或程序崩溃
考虑到扫描功能及题卡获取功能的完善, 应不自带题卡数据, 但依旧保留题卡列表数据, 以减少程序本体大小
(并且MinGW似乎会因为文件名中含有括号等特殊字符而编译失败, 正好做个Linux适配)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.