diff --git a/analysis_options.yaml b/analysis_options.yaml
deleted file mode 100644
index 61b6c4d..0000000
--- a/analysis_options.yaml
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file configures the analyzer, which statically analyzes Dart code to
-# check for errors, warnings, and lints.
-#
-# The issues identified by the analyzer are surfaced in the UI of Dart-enabled
-# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be
-# invoked from the command line by running `flutter analyze`.
-
-# The following line activates a set of recommended lints for Flutter apps,
-# packages, and plugins designed to encourage good coding practices.
-include: package:flutter_lints/flutter.yaml
-
-linter:
- # The lint rules applied to this project can be customized in the
- # section below to disable rules from the `package:flutter_lints/flutter.yaml`
- # included above or to enable additional rules. A list of all available lints
- # and their documentation is published at
- # https://dart-lang.github.io/linter/lints/index.html.
- #
- # Instead of disabling a lint rule for the entire project in the
- # section below, it can also be suppressed for a single line of code
- # or a specific dart file by using the `// ignore: name_of_lint` and
- # `// ignore_for_file: name_of_lint` syntax on the line or in the file
- # producing the lint.
- rules:
- # avoid_print: false # Uncomment to disable the `avoid_print` rule
- # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule
-
-# Additional information about this file can be found at
-# https://dart.dev/guides/language/analysis-options
diff --git a/android/app/src/main/res/drawable-night-v21/background.png b/android/app/src/main/res/drawable-night-v21/background.png
new file mode 100644
index 0000000..71e9c81
Binary files /dev/null and b/android/app/src/main/res/drawable-night-v21/background.png differ
diff --git a/android/app/src/main/res/drawable-night-v21/launch_background.xml b/android/app/src/main/res/drawable-night-v21/launch_background.xml
new file mode 100644
index 0000000..f88598c
--- /dev/null
+++ b/android/app/src/main/res/drawable-night-v21/launch_background.xml
@@ -0,0 +1,6 @@
+
+
+ -
+
+
+
diff --git a/android/app/src/main/res/drawable-night/background.png b/android/app/src/main/res/drawable-night/background.png
new file mode 100644
index 0000000..71e9c81
Binary files /dev/null and b/android/app/src/main/res/drawable-night/background.png differ
diff --git a/android/app/src/main/res/drawable-night/launch_background.xml b/android/app/src/main/res/drawable-night/launch_background.xml
new file mode 100644
index 0000000..f88598c
--- /dev/null
+++ b/android/app/src/main/res/drawable-night/launch_background.xml
@@ -0,0 +1,6 @@
+
+
+ -
+
+
+
diff --git a/android/app/src/main/res/drawable-v21/background.png b/android/app/src/main/res/drawable-v21/background.png
new file mode 100644
index 0000000..3107d37
Binary files /dev/null and b/android/app/src/main/res/drawable-v21/background.png differ
diff --git a/android/app/src/main/res/drawable/background.png b/android/app/src/main/res/drawable/background.png
new file mode 100644
index 0000000..3107d37
Binary files /dev/null and b/android/app/src/main/res/drawable/background.png differ
diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
index db77bb4..c983146 100644
Binary files a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png and b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/android/app/src/main/res/mipmap-hdpi/launcher_icon.png b/android/app/src/main/res/mipmap-hdpi/launcher_icon.png
new file mode 100644
index 0000000..c983146
Binary files /dev/null and b/android/app/src/main/res/mipmap-hdpi/launcher_icon.png differ
diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
index 17987b7..49ad40c 100644
Binary files a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png and b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/android/app/src/main/res/mipmap-mdpi/launcher_icon.png b/android/app/src/main/res/mipmap-mdpi/launcher_icon.png
new file mode 100644
index 0000000..49ad40c
Binary files /dev/null and b/android/app/src/main/res/mipmap-mdpi/launcher_icon.png differ
diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
index 09d4391..7a1033b 100644
Binary files a/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png and b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/android/app/src/main/res/mipmap-xhdpi/launcher_icon.png b/android/app/src/main/res/mipmap-xhdpi/launcher_icon.png
new file mode 100644
index 0000000..7a1033b
Binary files /dev/null and b/android/app/src/main/res/mipmap-xhdpi/launcher_icon.png differ
diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
index d5f1c8d..8341b9b 100644
Binary files a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png b/android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png
new file mode 100644
index 0000000..8341b9b
Binary files /dev/null and b/android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png differ
diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
index 4d6372e..6d77e87 100644
Binary files a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png b/android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png
new file mode 100644
index 0000000..6d77e87
Binary files /dev/null and b/android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png differ
diff --git a/android/app/src/main/res/values-night-v31/styles.xml b/android/app/src/main/res/values-night-v31/styles.xml
new file mode 100644
index 0000000..366f7e9
--- /dev/null
+++ b/android/app/src/main/res/values-night-v31/styles.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
diff --git a/assets/head/mi.jpg b/assets/head/mi.jpg
new file mode 100644
index 0000000..89a4e46
Binary files /dev/null and b/assets/head/mi.jpg differ
diff --git a/assets/head/mo.jpg b/assets/head/mo.jpg
new file mode 100644
index 0000000..6edebf9
Binary files /dev/null and b/assets/head/mo.jpg differ
diff --git a/assets/head/un.jpg b/assets/head/un.jpg
new file mode 100644
index 0000000..527daa3
Binary files /dev/null and b/assets/head/un.jpg differ
diff --git a/assets/head/wan.jpg b/assets/head/wan.jpg
new file mode 100644
index 0000000..6b06c58
Binary files /dev/null and b/assets/head/wan.jpg differ
diff --git a/assets/head/zao.jpg b/assets/head/zao.jpg
new file mode 100644
index 0000000..f17ea98
Binary files /dev/null and b/assets/head/zao.jpg differ
diff --git a/assets/logo-640.jpg b/assets/logo-640.jpg
new file mode 100644
index 0000000..d6fbe48
Binary files /dev/null and b/assets/logo-640.jpg differ
diff --git a/assets/logo-768.jpg b/assets/logo-768.jpg
new file mode 100644
index 0000000..b06c47a
Binary files /dev/null and b/assets/logo-768.jpg differ
diff --git a/assets/logo.jpg b/assets/logo.jpg
new file mode 100644
index 0000000..2838903
Binary files /dev/null and b/assets/logo.jpg differ
diff --git a/assets/open/open.png b/assets/open/open.png
new file mode 100644
index 0000000..e05d4b8
Binary files /dev/null and b/assets/open/open.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
index dc9ada4..e02acd5 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
index 28c6bf0..0d6660c 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
index 2ccbfd9..a6f6e33 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
index f091b6b..40e909a 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
index 4cde121..0f3c8a6 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
index d0ef06e..dc36086 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
index dcdc230..6fe0424 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
index 2ccbfd9..a6f6e33 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
index c8f9ed8..fb06b1b 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
index a6d6b86..5ae8f24 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png
new file mode 100644
index 0000000..5777ce8
Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png
new file mode 100644
index 0000000..6adb015
Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png
new file mode 100644
index 0000000..09759c2
Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png
new file mode 100644
index 0000000..053e979
Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
index a6d6b86..5ae8f24 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
index 75b2d16..82a01a6 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png
new file mode 100644
index 0000000..c983146
Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png
new file mode 100644
index 0000000..8341b9b
Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
index c4df70d..ec8aeba 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
index 6a84f41..0ae85bc 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
index d0e1f58..e5c257a 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/LaunchBackground.imageset/Contents.json b/ios/Runner/Assets.xcassets/LaunchBackground.imageset/Contents.json
new file mode 100644
index 0000000..8bb185b
--- /dev/null
+++ b/ios/Runner/Assets.xcassets/LaunchBackground.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+ "images" : [
+ {
+ "filename" : "background.png",
+ "idiom" : "universal"
+ },
+ {
+ "appearances" : [
+ {
+ "appearance" : "luminosity",
+ "value" : "dark"
+ }
+ ],
+ "filename" : "darkbackground.png",
+ "idiom" : "universal"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/ios/Runner/Assets.xcassets/LaunchBackground.imageset/background.png b/ios/Runner/Assets.xcassets/LaunchBackground.imageset/background.png
new file mode 100644
index 0000000..3107d37
Binary files /dev/null and b/ios/Runner/Assets.xcassets/LaunchBackground.imageset/background.png differ
diff --git a/ios/Runner/Assets.xcassets/LaunchBackground.imageset/darkbackground.png b/ios/Runner/Assets.xcassets/LaunchBackground.imageset/darkbackground.png
new file mode 100644
index 0000000..71e9c81
Binary files /dev/null and b/ios/Runner/Assets.xcassets/LaunchBackground.imageset/darkbackground.png differ
diff --git a/lib/common/Global.dart b/lib/common/Global.dart
index 7d0c958..45a804e 100644
--- a/lib/common/Global.dart
+++ b/lib/common/Global.dart
@@ -74,13 +74,14 @@ class Global {
static late SharedPreferences _prefs;
static Profile profile = Profile();
- static Map get members => membersJson.map((key, value) => MapEntry(key, Member.fromJson(value)));
+ static Map get members =>
+ membersJson.map((key, value) => MapEntry(key, Member.fromJson(value)));
+
+ static String theme = 'zao';
//网络缓存对象
static NetCache netCache = NetCache();
- static String currentTheme = 'zao';
-
//可选主题列表
static List get themes =>
_themes.map((e) => EoeTheme.fromJson(e)).toList();
@@ -103,8 +104,17 @@ class Global {
..enable = true
..maxAge = 3600
..maxCount = 100;
+
+ var t = _prefs.getString("theme");
+ print('theme');
+ print(theme);
+ if (t != null && t != '') {
+ theme = t;
+ }
}
static saveProfile() =>
_prefs.setString("profile", jsonEncode(profile.toJson()));
+
+ static saveTheme(String id) => _prefs.setString("theme", id);
}
diff --git a/lib/main.dart b/lib/main.dart
index e784d18..84033b0 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -1,6 +1,9 @@
import 'dart:io';
import 'package:eoe_fans/routes/mainPage.dart';
+import 'package:eoe_fans/routes/setting/settingPage.dart';
+import 'package:eoe_fans/routes/setting/settingTheme.dart';
+import 'package:eoe_fans/routes/splashPage.dart';
import 'package:flutter/material.dart';
import 'package:eoe_fans/states/ProfileChangeNotifier.dart';
import 'package:flutter/services.dart';
@@ -28,15 +31,18 @@ class MyApp extends StatelessWidget {
],
child: Consumer(
builder: (BuildContext context, themeModel, Widget? child) {
- return MaterialApp(
- initialRoute: '/',
- theme: ThemeData(
- primarySwatch: Colors.blue,
- ),
- routes: {
- '/': (BuildContext context) => MainPage(),
- },
- );
+ return MaterialApp(
+ initialRoute: '/splash',
+ theme: ThemeData(
+ primarySwatch: Colors.blue,
+ ),
+ routes: {
+ '/': (BuildContext context) => MainPage(),
+ '/splash': (BuildContext context) => SplashScreen(),
+ '/setting': (BuildContext context) => const SettingPage(),
+ '/theme': (BuildContext context) => const SettingTheme(),
+ },
+ );
}));
}
}
diff --git a/lib/routes/mainPage.dart b/lib/routes/mainPage.dart
index 0e37add..8ad42e6 100644
--- a/lib/routes/mainPage.dart
+++ b/lib/routes/mainPage.dart
@@ -36,38 +36,40 @@ class _MainPageState extends State {
children: _bodyList,
),
Align(
- alignment: Alignment.bottomCenter,
- child: Theme(
- data: Theme.of(context)
- .copyWith(canvasColor: Colors.transparent),
- child: Container(
- decoration: BoxDecoration(
- image: DecorationImage(
- image: AssetImage(
- 'assets/${Provider.of(context).assets}/tail_bg.png'),
- fit: BoxFit.fill),
- color: Colors.transparent),
- child: BottomNavigationBar(
- elevation: 0,
- backgroundColor: Colors.transparent,
- type: BottomNavigationBarType.fixed,
- items: const [
- BottomNavigationBarItem(
- icon: Icon(Icons.video_library_outlined),
- label: '视频',
- ),
- BottomNavigationBarItem(
- icon: Icon(Icons.image),
- label: '图片',
- ),
- BottomNavigationBarItem(
- icon: Icon(Icons.library_music),
- label: '音乐',
- ),
- ],
- currentIndex: _selectedIndex,
- onTap: _onItemTapped,
- ))))
+ alignment: Alignment.bottomCenter,
+ child: Theme(
+ data: Theme.of(context).copyWith(canvasColor: Colors.transparent),
+ child: Container(
+ decoration: BoxDecoration(
+ image: DecorationImage(
+ image: AssetImage(
+ 'assets/${Provider.of(context).assets}/tail_bg.png'),
+ fit: BoxFit.fill),
+ color: Colors.transparent),
+ child: BottomNavigationBar(
+ elevation: 0,
+ backgroundColor: Colors.transparent,
+ type: BottomNavigationBarType.fixed,
+ items: const [
+ BottomNavigationBarItem(
+ icon: Icon(Icons.video_library_outlined),
+ label: '视频',
+ ),
+ BottomNavigationBarItem(
+ icon: Icon(Icons.image),
+ label: '图片',
+ ),
+ BottomNavigationBarItem(
+ icon: Icon(Icons.library_music),
+ label: '音乐',
+ ),
+ ],
+ currentIndex: _selectedIndex,
+ onTap: _onItemTapped,
+ ),
+ ),
+ ),
+ ),
],
),
);
diff --git a/lib/routes/setting/settingPage.dart b/lib/routes/setting/settingPage.dart
new file mode 100644
index 0000000..3dcceec
--- /dev/null
+++ b/lib/routes/setting/settingPage.dart
@@ -0,0 +1,70 @@
+import 'package:eoe_fans/common/Global.dart';
+import 'package:eoe_fans/models/member.dart';
+import 'package:eoe_fans/common/Global.dart';
+import 'package:eoe_fans/states/ProfileChangeNotifier.dart';
+import 'package:flutter/material.dart';
+import 'package:provider/provider.dart';
+import 'package:settings_ui/settings_ui.dart';
+
+class SettingPage extends StatefulWidget {
+ const SettingPage({Key? key}) : super(key: key);
+
+ @override
+ State createState() => _SettingPageState();
+}
+
+class _SettingPageState extends State {
+ @override
+ Widget build(BuildContext context) {
+ return Scaffold(
+ appBar: AppBar(
+ leading: IconButton(
+ icon: const Icon(
+ Icons.arrow_back,
+ color: Colors.white,
+ ),
+ onPressed: () => Navigator.pop(context),
+ ),
+ title: const Text(
+ '设置',
+ style: TextStyle(color: Colors.white),
+ ),
+ flexibleSpace: Container(
+ height: double.maxFinite,
+ child: Image(
+ image: AssetImage(
+ 'assets/${Provider.of(context).assets}/head_bg.jpg'),
+ fit: BoxFit.cover,
+ ),
+ ),
+ ),
+ body: SettingsList(
+ sections: [
+ SettingsSection(
+ title: Text('常规'),
+ tiles: [
+ SettingsTile.navigation(
+ leading: Icon(Icons.color_lens_outlined),
+ title: Text('主题'),
+ value: Text(Global
+ .members[Provider.of(context).themeMember]
+ ?.firstName ??
+ ''),
+ trailing: Icon(Icons.keyboard_arrow_right),
+ onPressed: (BuildContext context) {
+ Navigator.pushNamed(context, '/theme');
+ },
+ ),
+ // SettingsTile.switchTile(
+ // onToggle: (value) {},
+ // initialValue: true,
+ // leading: Icon(Icons.format_paint),
+ // title: Text('Enable custom theme'),
+ // ),
+ ],
+ ),
+ ],
+ ),
+ );
+ }
+}
diff --git a/lib/routes/setting/settingTheme.dart b/lib/routes/setting/settingTheme.dart
new file mode 100644
index 0000000..86d5ca6
--- /dev/null
+++ b/lib/routes/setting/settingTheme.dart
@@ -0,0 +1,78 @@
+import 'package:eoe_fans/models/member.dart';
+import 'package:eoe_fans/states/ProfileChangeNotifier.dart';
+import 'package:flutter/material.dart';
+import 'package:flutter_swiper_null_safety/flutter_swiper_null_safety.dart';
+import 'package:eoe_fans/common/Global.dart';
+import 'package:provider/provider.dart';
+
+class SettingTheme extends StatefulWidget {
+ const SettingTheme({Key? key}) : super(key: key);
+
+ @override
+ State createState() => _SettingThemeState();
+}
+
+class _SettingThemeState extends State {
+ MemberEnum _memberSelect = MemberEnum.zao;
+
+ @override
+ Widget build(BuildContext context) {
+ return Scaffold(
+ appBar: AppBar(
+ leading: IconButton(
+ icon: const Icon(
+ Icons.arrow_back,
+ color: Colors.white,
+ ),
+ onPressed: () => Navigator.pop(context),
+ ),
+ title: const Text("主题"),
+ flexibleSpace: Container(
+ height: double.maxFinite,
+ child: Image(
+ image: AssetImage('assets/${_memberSelect.name}/head_bg.jpg'),
+ fit: BoxFit.cover,
+ ),
+ ),
+ ),
+ body: Stack(
+ children: [
+ Swiper(
+ itemBuilder: (BuildContext context, int index) {
+ return Container(
+ child: Image(
+ image: AssetImage(
+ 'assets/head/${MemberEnum.values[index].name}.jpg'),
+ fit: BoxFit.cover,
+ ),
+ );
+ },
+ itemCount: MemberEnum.values.length,
+ onIndexChanged: (int index) {
+ setState(() {
+ _memberSelect = MemberEnum.values[index];
+ Provider.of(context, listen: false).theme = _memberSelect.name;
+ });
+ },
+ pagination: const SwiperPagination(
+ alignment: Alignment.bottomRight,
+ builder: DotSwiperPaginationBuilder(
+ color: Colors.black12, // 其他点的颜色
+ activeColor: Colors.white,
+ space: 2, // 点与点之间的距离
+ activeSize: 15 // 当前点的大小
+ ),
+ ),
+ ),
+ // Positioned(
+ // child: IconButton(
+ // icon: Icon(
+ // Icons.check_box
+ // ),
+ // )
+ // )
+ ],
+ ),
+ );
+ }
+}
diff --git a/lib/routes/splashPage.dart b/lib/routes/splashPage.dart
new file mode 100644
index 0000000..b67bd22
--- /dev/null
+++ b/lib/routes/splashPage.dart
@@ -0,0 +1,40 @@
+import 'dart:async';
+
+import 'package:flutter/material.dart';
+
+class SplashScreen extends StatefulWidget {
+ const SplashScreen({Key? key}) : super(key: key);
+
+ @override
+ State createState() => _SplashScreenState();
+}
+
+class _SplashScreenState extends State {
+ late Timer _timer;
+
+ @override
+ void initState() {
+ startTime();
+ super.initState();
+ }
+
+ startTime() {
+ _timer = Timer(Duration(milliseconds: 2000), () {
+ _timer.cancel();
+ Navigator.of(context).pushReplacementNamed('/');
+ });
+ }
+
+ @override
+ Widget build(BuildContext context) {
+ return Scaffold(
+ body: ConstrainedBox(
+ constraints: BoxConstraints.expand(),
+ child: Image(
+ image: AssetImage('assets/open/open.png'),
+ fit: BoxFit.cover,
+ ),
+ ),
+ );
+ }
+}
diff --git a/lib/routes/video/videoList.dart b/lib/routes/video/videoList.dart
index 4152e4c..00ee18a 100644
--- a/lib/routes/video/videoList.dart
+++ b/lib/routes/video/videoList.dart
@@ -7,6 +7,7 @@ import 'package:eoe_fans/models/videosRequest.dart';
import 'package:eoe_fans/routes/video/videoListItem.dart';
import 'package:eoe_fans/routes/video/videoMemberFilter.dart';
import 'package:eoe_fans/common/Global.dart';
+import 'package:eoe_fans/routes/video/videoSwiper.dart';
import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart';
import 'package:flutter/material.dart';
import 'package:pull_to_refresh/pull_to_refresh.dart';
@@ -27,6 +28,7 @@ class _VideoListState extends State {
int _page = -1;
MemberEnum? _memberFilter;
+ VideosRequestOrder _order = VideosRequestOrder.view;
bool _loading = false;
List