diff --git a/lib/auth/view/info/unbind_dialogs.dart b/lib/auth/view/info/unbind_dialogs.dart index db588303..4a74a586 100644 --- a/lib/auth/view/info/unbind_dialogs.dart +++ b/lib/auth/view/info/unbind_dialogs.dart @@ -1,13 +1,17 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:provider/provider.dart'; +import 'package:we_pei_yang_flutter/auth/network/auth_service.dart'; +import 'package:we_pei_yang_flutter/commons/channel/statistics/umeng_statistics.dart'; import 'package:we_pei_yang_flutter/commons/network/classes_service.dart'; import 'package:we_pei_yang_flutter/commons/preferences/common_prefs.dart'; import 'package:we_pei_yang_flutter/commons/themes/template/wpy_theme_data.dart'; +import 'package:we_pei_yang_flutter/commons/util/router_manager.dart'; import 'package:we_pei_yang_flutter/commons/util/text_util.dart'; import 'package:we_pei_yang_flutter/commons/util/toast_provider.dart'; import 'package:we_pei_yang_flutter/generated/l10n.dart'; import 'package:we_pei_yang_flutter/gpa/model/gpa_notifier.dart'; +import 'package:we_pei_yang_flutter/main.dart'; import 'package:we_pei_yang_flutter/schedule/model/course_provider.dart'; import 'package:we_pei_yang_flutter/schedule/model/exam_provider.dart'; diff --git a/lib/auth/view/settings/theme_setting.dart b/lib/auth/view/settings/theme_setting.dart index c7e60cff..620d422b 100644 --- a/lib/auth/view/settings/theme_setting.dart +++ b/lib/auth/view/settings/theme_setting.dart @@ -360,7 +360,17 @@ class _ThemeSettingState extends State ), ), ], - ) + ), + Positioned( + left: 0, + right: 0, + bottom: 0.001.sw, + child: Icon( + Icons.drag_handle, + color: Colors.black.withOpacity(0.3), + size: 35.w, + ), + ), ], ), ), diff --git a/lib/commons/themes/template/wpy_theme_data.dart b/lib/commons/themes/template/wpy_theme_data.dart index f35b8c6d..23373e62 100644 --- a/lib/commons/themes/template/wpy_theme_data.dart +++ b/lib/commons/themes/template/wpy_theme_data.dart @@ -2,9 +2,9 @@ import 'package:flutter/material.dart'; import 'package:we_pei_yang_flutter/commons/themes/scheme/orange_scheme.dart'; import 'package:we_pei_yang_flutter/commons/themes/scheme/purple_scheme.dart'; +import '../scheme/haitang_scheme.dart'; import '../scheme/dark_scheme.dart'; import '../scheme/green_scheme.dart'; -import '../scheme/haitang_scheme.dart'; import '../scheme/light_scheme.dart'; import '../scheme/red_scheme.dart'; import '../scheme/yellow_scheme.dart'; diff --git a/lib/commons/widgets/colored_icon.dart b/lib/commons/widgets/colored_icon.dart index d6634947..9babf3d9 100644 --- a/lib/commons/widgets/colored_icon.dart +++ b/lib/commons/widgets/colored_icon.dart @@ -19,6 +19,8 @@ class ColoredIcon extends StatefulWidget { class _ColoredIconState extends State { ui.Image? _image = null; + static final _cache = {}; + Future loadImageFromAssets(String assetPath) async { final ByteData data = await rootBundle.load(assetPath); final List bytes = data.buffer.asUint8List(); @@ -26,12 +28,16 @@ class _ColoredIconState extends State { await ui.instantiateImageCodec(Uint8List.fromList(bytes)); final ui.FrameInfo fi = await codec.getNextFrame(); setState(() => _image = fi.image); + _cache[assetPath] = fi.image; } @override void initState() { super.initState(); - loadImageFromAssets(widget.path); + if (_cache.containsKey(widget.path)) { + _image = _cache[widget.path]; + } else + loadImageFromAssets(widget.path); } @override diff --git a/lib/feedback/view/components/post_card.dart b/lib/feedback/view/components/post_card.dart index 06a3d6a3..661f1708 100644 --- a/lib/feedback/view/components/post_card.dart +++ b/lib/feedback/view/components/post_card.dart @@ -26,6 +26,7 @@ import 'package:we_pei_yang_flutter/main.dart'; import '../../../commons/themes/template/wpy_theme_data.dart'; import '../../../commons/themes/wpy_theme.dart'; +import '../../../commons/widgets/w_button.dart'; class PostCardNormal extends StatefulWidget { /// 标准 PostCard diff --git a/lib/feedback/view/components/widget/activity_card.dart b/lib/feedback/view/components/widget/activity_card.dart index 64bc1e2f..e67c886f 100644 --- a/lib/feedback/view/components/widget/activity_card.dart +++ b/lib/feedback/view/components/widget/activity_card.dart @@ -14,6 +14,7 @@ import 'package:we_pei_yang_flutter/commons/util/toast_provider.dart'; import 'package:we_pei_yang_flutter/feedback/view/components/widget/round_taggings.dart'; import 'package:we_pei_yang_flutter/feedback/view/lake_home_page/lake_notifier.dart'; import 'package:we_pei_yang_flutter/home/view/web_views/festival_page.dart'; +import 'package:we_pei_yang_flutter/main.dart'; class ActivityCard extends StatefulWidget { final double width; diff --git a/lib/feedback/view/lake_home_page/home_page.dart b/lib/feedback/view/lake_home_page/home_page.dart index f9b04e00..40ce5878 100644 --- a/lib/feedback/view/lake_home_page/home_page.dart +++ b/lib/feedback/view/lake_home_page/home_page.dart @@ -5,6 +5,7 @@ import 'package:extended_tabs/extended_tabs.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:provider/provider.dart'; +import 'package:url_launcher/url_launcher.dart'; import 'package:url_launcher/url_launcher_string.dart'; import 'package:we_pei_yang_flutter/commons/preferences/common_prefs.dart'; import 'package:we_pei_yang_flutter/commons/util/text_util.dart'; diff --git a/lib/feedback/view/lake_home_page/normal_sub_page.dart b/lib/feedback/view/lake_home_page/normal_sub_page.dart index 2562bdb7..a1a95138 100644 --- a/lib/feedback/view/lake_home_page/normal_sub_page.dart +++ b/lib/feedback/view/lake_home_page/normal_sub_page.dart @@ -1,4 +1,5 @@ import 'dart:async'; +import 'dart:io'; import 'dart:math'; import 'package:dio/dio.dart'; diff --git a/lib/generated/l10n.dart b/lib/generated/l10n.dart index c9999fc7..80dfda11 100644 --- a/lib/generated/l10n.dart +++ b/lib/generated/l10n.dart @@ -1,7 +1,6 @@ // GENERATED CODE - DO NOT MODIFY BY HAND import 'package:flutter/material.dart'; import 'package:intl/intl.dart'; - import 'intl/messages_all.dart'; // ************************************************************************** diff --git a/lib/main.dart b/lib/main.dart index a76fa99e..fdc5a938 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,5 +1,6 @@ import 'dart:async'; import 'dart:io'; +import 'dart:math'; import 'package:amap_location_fluttify/amap_location_fluttify.dart'; import 'package:flutter/foundation.dart' @@ -11,10 +12,11 @@ import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:provider/provider.dart'; +import 'package:we_pei_yang_flutter/commons/themes/template/wpy_theme_data.dart'; import 'package:we_pei_yang_flutter/commons/font/font_loader.dart'; -import 'package:we_pei_yang_flutter/commons/widgets/colored_icon.dart'; import 'package:we_pei_yang_flutter/studyroom/model/studyroom_provider.dart'; import 'package:window_manager/window_manager.dart'; +import 'package:we_pei_yang_flutter/commons/widgets/colored_icon.dart'; import 'auth/network/auth_service.dart'; import 'auth/network/message_service.dart'; @@ -46,6 +48,7 @@ import 'message/model/message_provider.dart'; import 'schedule/model/course_provider.dart'; import 'schedule/model/exam_provider.dart'; import 'schedule/schedule_providers.dart'; +import 'studyroom/model/studyroom_provider.dart'; import 'urgent_report/report_server.dart'; /// 应用入口 diff --git a/lib/schedule/network/experiment_service.dart b/lib/schedule/network/experiment_service.dart index 0bd8242d..fad313bf 100644 --- a/lib/schedule/network/experiment_service.dart +++ b/lib/schedule/network/experiment_service.dart @@ -1,3 +1,4 @@ +import 'package:we_pei_yang_flutter/auth/network/auth_service.dart'; import 'package:we_pei_yang_flutter/commons/network/classes_service.dart'; import 'package:we_pei_yang_flutter/commons/network/wpy_dio.dart'; import 'package:we_pei_yang_flutter/schedule/model/course.dart'; diff --git a/lib/schedule/page/course_page.dart b/lib/schedule/page/course_page.dart index 697017c5..4d8bd677 100644 --- a/lib/schedule/page/course_page.dart +++ b/lib/schedule/page/course_page.dart @@ -1,5 +1,4 @@ import 'dart:io'; -import 'dart:ui' as ui; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; @@ -22,6 +21,7 @@ import 'package:we_pei_yang_flutter/schedule/view/course_detail_widget.dart'; import 'package:we_pei_yang_flutter/schedule/view/course_dialog.dart'; import 'package:we_pei_yang_flutter/schedule/view/week_select_widget.dart'; +import 'dart:ui' as ui; import '../../commons/themes/wpy_theme.dart'; import '../../commons/util/toast_provider.dart'; import '../../commons/widgets/w_button.dart'; diff --git a/lib/schedule/view/wpy_course_widget.dart b/lib/schedule/view/wpy_course_widget.dart index 5893bcf0..8daa6394 100644 --- a/lib/schedule/view/wpy_course_widget.dart +++ b/lib/schedule/view/wpy_course_widget.dart @@ -10,6 +10,8 @@ import 'package:we_pei_yang_flutter/schedule/model/course.dart'; import 'package:we_pei_yang_flutter/schedule/model/course_provider.dart'; import '../../commons/widgets/w_button.dart'; +import "package:we_pei_yang_flutter/schedule/extension/logic_extension.dart" + show isBeforeTermStart; class TodayCoursesWidget extends StatelessWidget { @override