XiaoAi Class Schedule User Guide for HAUTers~

发表于 2022-07-31 01:52 992 字 5 min read

cos avatar

cos

FE / ACG / 手工 / 深色模式强迫症 / INFP / 兴趣广泛养两只猫的老宅女 / remote

这篇文章是一位开发者分享的关于为河南工业大学定制“小爱课程表”课表导入功能的体验与心得。他通过适配学校教务系统,实现了课表自动导入并优化显示,支持小米手机原生功能和非小米手机应用商店使用,同时提供详细教程和问题解决建议,强调了开发过程中的成就感与实用性。

This article has been machine-translated from Chinese. The translation may contain inaccuracies or awkward phrasing. If in doubt, please refer to the original Chinese version.

Promise me -- with so many apps out there full of annoying ads (gotta make money somehow), why not choose a clean, neat, and phone-built-in feature instead~ This is not an ad~ It's purely a caring tip from a developer (x) -- a beginner-friendly tutorial

  • Xiaomi phones: Ready to use out of the box, with built-in XiaoAi Class Schedule and class reminder features
  • Non-Xiaomi phones: Search for XiaoAi Class Schedule in your app store -- it works for us too!

Same document on Feishu: XiaoAi Class Schedule User Guide ~ for HAUTer

When you just want to check your class schedule, why not use your phone's built-in native app or our school's official WeChat mini-program? They both look great~ (By the way, a shoutout to the official WeChat mini-program -- it has GPA checking and class schedule features! The mini-program is called Henan University of Technology)

Our school's class schedule adapter was something I developed during my sophomore year's second semester. After several iterations and bug fixes, it's now working again. If you encounter any issues, feel free to raise them in the issues

From just a handful of users at firstTo breaking 1,000 users
A handful of users.png
Over 1,000 users.png

This process has been incredibly rewarding~

Here's how XiaoAi Class Schedule looks:

Look 1
Look 2
Widget
{.gallery data-height="750px"}

Tutorial

Click "Import from Academic Website"

Click "Import from Academic Website", select Henan University of Technology as your school, choose the appropriate adapter (not tested for associate degree or graduate students -- if you have an account, feel free to contact me), then click Start Import.

Click Import from Academic Website.png
Select School.png
{.gallery data-height="750px"}

Select Adapter

All adapters are contributed by students or developers~ The one I adapted is the second project, as shown:

Select Adapter.png
{.gallery data-height="750px"}

Enter the Class Schedule Page

Click Information Query - Student Class Schedule Query

After the schedule loads, click One-Click Import. If there are no errors, it's a success! Import once, benefit for the entire semester~

Click One-Click Import.png
Import Successful.png
{.gallery data-height="750px"}

Personal Settings

You can enable class reminders, add desktop widgets (available on Xiaomi phones). Non-Xiaomi users can search for XiaoAi Class Schedule in the app store -- there's a standalone app available.

Desktop Widget.png

Known Issues

Course Conflicts

Some courses are quite odd and may conflict. In a recent XiaoAi update, conflicting courses are merged, which can cause errors. For example, my sophomore first-semester conflicting courses can no longer be imported, so these need to be imported manually.

Course Conflict Example.png
Import Failed Due to Conflict.png
{.gallery data-height="750px"}

Conflicting courses like these normally shouldn't cause issues. XiaoAi has set up some merging rules, so...

Report Bugs

There shouldn't be major issues for now, unless XiaoAi releases new features. You can follow the XiaoAi Class Schedule Changelog

You can submit issues directly on GitHub, or leave a comment below this blog post~

Conclusion

During my sophomore year, I got tired of those campus apps full of ads and started looking for a suitable class schedule import tool.

I eventually discovered that Xiaomi phones' built-in XiaoAi Class Schedule was quite good -- with schedule widgets for the home screen and a nice-looking interface.

However, at that time our school hadn't been adapted yet (there was actually an adapter, but it wasn't working), so I joined the adapter alliance and built one myself.

Development Thoughts.png

The code I developed back then is on GitHub below. If any fellow students are interested in continuing the maintenance, feel free to submit PRs or fork it directly.

I was really excited when the import first worked ovo. Looking back at the code now, it's quite ugly and verbose -- not elegant at all (I hadn't systematically studied front-end development back then).

Development Journey

Here are some screenshots from when it first worked successfully, to express my excitement:

Development Brings Joy
  • First time modifying class period information

First time modifying class period info.png

  • First successful class schedule data extraction

First successful data extraction.png

  • First time going live
    First time going live.png

Other milestones include the first E2E self-test, etc. _

喜欢的话,留下你的评论吧~

© 2020 - 2026 cos @cosine
Powered by theme astro-koharu · Inspired by Shoka