feat: add school authentication entry with guarded import

This commit is contained in:
Codex
2026-10-12 23:50:52 +08:00
parent 8a98d49d12
commit ffd3920c0d
8 changed files with 717 additions and 4 deletions
@@ -0,0 +1,19 @@
class SchoolNavigationPolicy {
static bool canNavigate(Uri uri, {required bool isMainFrame}) => isMainFrame
? isSchoolPage(uri)
: (uri.scheme == 'https' && uri.userInfo.isEmpty) ||
(uri.scheme == 'about' && uri.path == 'blank');
static bool _https(Uri uri) =>
uri.scheme == 'https' && uri.port == 443 && uri.userInfo.isEmpty;
static bool canInjectCredentials(Uri uri) =>
_https(uri) &&
uri.host == 'idas.uestc.edu.cn' &&
uri.path == '/authserver/login';
static bool isTimetable(Uri uri) =>
_https(uri) &&
uri.host == 'yjsjy.uestc.edu.cn' &&
uri.path == '/pyxx/pygl/xskbcx/index/1';
static bool isSchoolPage(Uri uri) =>
_https(uri) &&
const {'idas.uestc.edu.cn', 'yjsjy.uestc.edu.cn'}.contains(uri.host);
}