2026年3月10日 · iiCourse Team

开发背后的故事

聊聊 iiCourse 是如何从一个想法变成现实的。

开发故事

开发背后的故事

缘起

每次查成绩都要打开浏览器,输入网址,登录,点击好几个菜单… 这个过程太繁琐了。于是我想,能不能做个小工具,一键搞定?

技术选型

为什么选择 WPF?

  • 原生体验 - 比网页更流畅
  • .NET 生态 - 丰富的类库支持
  • XAML 界面 - 声明式 UI 开发

遇到的挑战

登录认证

智慧山商使用 CAS 统一认证,需要处理 cookie 和重定向。通过抓包分析,最终实现了自动登录。

HTML 解析

学校网站没有 API,只能解析 HTML。使用 HtmlAgilityPack 库,通过 XPath 提取需要的数据。

数据缓存

为了减少网络请求,使用本地 JSON 文件缓存数据,同时提供下拉刷新功能。

未来计划

  • 考试安排查询
  • 成绩趋势图表
  • 课表导出功能
  • 深色模式

写在最后

这个项目源于自己的需求,也希望能够帮助到更多同学。如果你感兴趣,欢迎贡献代码!