开发背后的故事
缘起
每次查成绩都要打开浏览器,输入网址,登录,点击好几个菜单… 这个过程太繁琐了。于是我想,能不能做个小工具,一键搞定?
技术选型
为什么选择 WPF?
- 原生体验 - 比网页更流畅
- .NET 生态 - 丰富的类库支持
- XAML 界面 - 声明式 UI 开发
遇到的挑战
登录认证
智慧山商使用 CAS 统一认证,需要处理 cookie 和重定向。通过抓包分析,最终实现了自动登录。
HTML 解析
学校网站没有 API,只能解析 HTML。使用 HtmlAgilityPack 库,通过 XPath 提取需要的数据。
数据缓存
为了减少网络请求,使用本地 JSON 文件缓存数据,同时提供下拉刷新功能。
未来计划
- 考试安排查询
- 成绩趋势图表
- 课表导出功能
- 深色模式
写在最后
这个项目源于自己的需求,也希望能够帮助到更多同学。如果你感兴趣,欢迎贡献代码!