PS 由於沒有購買CA 簽名,ZJU Learning Assistant (aka. ZLA) 沒有簽名,因此下載、安裝、運行過程中可能會被系統攔截,請信任ZLA 或自行編譯。
從Release 下載對應系統的最新版本,安裝後開啟即可。
.exe
.msi
檔案進行安裝。.AppImage
文件,賦予可執行權限後執行。或下載.deb
檔案進行安裝。.dmg
檔案進行安裝,或下載.app.tar.gz
檔案解壓縮後執行。 Intel 對應x86_64
版本,Apple Silicon 對應aarch64
版本。sudo apt update && sudo apt install libwebkit2gtk-4.1-dev build-essential curl wget file libxdo-dev libssl-dev libayatana-appindicator3-dev librsvg2-dev
安裝依賴依賴npm install
安裝依賴cargo install tauri-cli --version "^2.0.0" --locked
安裝Tauri v2 CLIcargo tauri build
編譯,編譯後的檔案在src-tauri/target/release
目錄下開啟ZLA 後,請先用本人的浙大統一認證登錄,即輸入登錄學在浙大時的學號、密碼,登陸成功後才能下載課件。
此介面點擊右上角可查看版本資訊、檢查是否有新版。選擇自動登入後,下次開啟ZLA 時會自動登入。
登入後進入以下下載課件的介面。
上方為菜單,可選擇下載學在浙大、智雲課堂的課件或查詢成績。右上角三個按鈕分別為下載清單、設定和登出登入。
當選擇菜單中的學在浙大時,可選擇學年和學期來篩選課程。選取課程後點擊右側的刷新按鈕以取得所選課程的可見清單。
選擇完所需的課件,點選下載課件按鈕,所選的課件會加入下載佇列中,並從課件清單中刪除。
若開啟頁面中的自動同步按鈕,本軟體會每隔3 ~ 5 分鐘自動拉取所選課程的未下載課程件,並自動下載。您可在設定中修改為拉取到新課件後加入下載清單而非自動下載。
如需變更下載或同步課件的路徑,您可以進入設定頁面進行修改。
當選擇智雲課堂時,可依日期選擇課堂,也可以選擇全部課程後搜尋想要的課程。勾選所需課件後點選下載即可加入下載佇列。
下載時,下載的課件圖片會自動整合為PDF。您可在設定中關閉此功能。
當選擇成績查詢時,點擊右側的立即同步按鈕即可取得最新的成績。若開啟頁面中的自動同步並提醒按鈕,ZLA 會每隔3 ~ 5 分鐘自動取得最新的成績,並在成績有更新時提醒您。您可在設定中新增釘釘機器人Webhook 位址,以便接收成績更新的提醒。
由於新版本釘釘只能在內部群組中新增自訂機器人,若需要使用釘釘推送功能,請先建立內部群,然後在群組中新增自訂機器人,取得Webhook 位址。在新增機器人時,請設定機器人的安全設定為自訂關鍵字,關鍵字為成绩
。
在ZLA 的工作列圖示選單中,您可以查看學在浙大的待辦事項,同時也可以匯出待辦事項為。當您選擇選單中的匯出待辦事項>匯出為iCalendar 檔案後,ZLA 會將待辦事項匯出為.ics
檔案。您可以將該檔案匯入日曆軟體中,以便查看學在浙大的待辦事項。例如,如果您想跨平台並且去重,可以匯入Google 日曆中。
對於macOS 用戶,也可以選擇將待辦事項匯入到日曆App或提醒事項App :
Learning in ZJU
的行事曆中,並自動忽略重複的待辦事項。如果該日曆不存在,則會自動創建,由ZLA 自動建立的日曆預設會儲存在iCloud 中。ZLA 僅在第一次使用此功能時會自動跳出權限申請對話框,若授權失敗,後續需自行到系統設定開啟。開啟系統設定>隱私權與安全性>行事曆(或提醒事項),找到zju-learning-assistant 並勾選,給予完全存取權限。
ZLA 實質上是爬蟲,模擬登入學在浙大、取得課件清單、下載課件的過程。因此,ZLA 需要你的學號、密碼才能正常運作。
ZLA 不會將你的學號、密碼上傳到任何伺服器,用於自動登入所儲存的學號和密碼使用了作業系統自帶的金鑰管理服務(詳見keyring-rs)。你可以查看原始碼來確認這一點。在使用過程中,ZLA 只會造訪以下網站:
zju.edu.cn
:用於登入學在浙大、取得課件清單、下載課件api.github.com
:用於檢查更新fonts.googleapis.com
:用於下載字體Rewrite in Rust!
之前QSC 壞掉的時候自己用爬蟲寫了個計算績點的Python 腳本,後來QSC 修好了,就用它做了個成績更新的釘釘機器人推送。奈何Python 做GUI 打包分發太過於麻煩,於是想著換個語言重寫一下爬蟲腳本。看到之前n+e 學長做過一個清華大學新版網絡學堂課程自動下載腳本,想到自己曾經補天的時候下載ppt 時是多麼的繁瑣,於是就想著寫一個類似的軟體。經過一頓摸索之後發現Rust + Tauri 這個組合非常好用,至少Rust 的爬蟲比Node.js 的爬蟲好用很多,接近Python 的爬蟲體驗了,於是放棄Electron 轉投Tauri。
感謝幾位友人在開發和測試過程中的鼎力相助:@wangwhh @stormckey @VVsxmja @abmfy
ZLA 實際上是在模擬您在瀏覽器中登入學在浙大、取得課件清單、下載課件的過程,且不會妨礙學校系統正常運作。請您在使用中遵守學校的相關規定,尊重、保護他人的智慧財產權。 ZLA 不對您的任何行為負責,造成的任何後果由您自行承擔。
出於版權考慮,ZLA 不會支援自動下載智雲課堂影片。