diff --git a/lib/page/subpage_timetable.dart b/lib/page/subpage_timetable.dart index eb6cb167..6e36ddb7 100644 --- a/lib/page/subpage_timetable.dart +++ b/lib/page/subpage_timetable.dart @@ -19,6 +19,7 @@ import 'dart:io'; import 'dart:ui'; import 'package:auto_size_text/auto_size_text.dart'; +import 'package:cached_network_image/cached_network_image.dart'; import 'package:dan_xi/common/constant.dart'; import 'package:dan_xi/common/feature_registers.dart'; import 'package:dan_xi/generated/l10n.dart'; @@ -32,6 +33,7 @@ import 'package:dan_xi/repository/fdu/edu_service_repository.dart'; import 'package:dan_xi/repository/fdu/postgraduate_timetable_repository.dart'; import 'package:dan_xi/repository/fdu/time_table_repository.dart'; import 'package:dan_xi/repository/forum/forum_repository.dart'; +import 'package:dan_xi/util/io/cache_manager_with_webvpn.dart'; import 'package:dan_xi/util/lazy_future.dart'; import 'package:dan_xi/util/noticing.dart'; import 'package:dan_xi/util/platform_universal.dart'; @@ -183,7 +185,14 @@ class TimetableSubPageState extends PlatformSubpageState { content: Column( mainAxisSize: MainAxisSize.min, children: [ - Image.network(imageUrl), + CachedNetworkImage( + imageUrl: imageUrl, + cacheManager: DefaultCacheManagerWithWebvpn(), + // Ensure shape is the same as the loading indicator + fit: BoxFit.contain, + progressIndicatorBuilder: + (context, url, progress) => + PlatformCircularProgressIndicator()), TextField(controller: controller) ], ), diff --git a/lib/util/webvpn_proxy.dart b/lib/util/webvpn_proxy.dart index 012195f7..484f52c0 100644 --- a/lib/util/webvpn_proxy.dart +++ b/lib/util/webvpn_proxy.dart @@ -52,7 +52,9 @@ class WebvpnProxy { "forum.fduhole.com": "https://webvpn.fudan.edu.cn/https/77726476706e69737468656265737421f6f853892a7e6e546b0086a09d1b203a46", "image.fduhole.com": - "https://webvpn.fudan.edu.cn/https/77726476706e69737468656265737421f9fa409b227e6e546b0086a09d1b203ab8" + "https://webvpn.fudan.edu.cn/https/77726476706e69737468656265737421f9fa409b227e6e546b0086a09d1b203ab8", + "yjsxk.fudan.edu.cn": + "https://webvpn.fudan.edu.cn/http/77726476706e69737468656265737421e9fd52842c7e6e457a0987e29d51367bba7b" }; static PersonInfo? _personInfo;