Skip to content

Commit 8dfad2a

Browse files
committed
优化配置存储逻辑
1 parent eefca83 commit 8dfad2a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+325
-200
lines changed

assets/fonts/BalooBhai2-Regular.ttf

682 KB
Binary file not shown.

assets/fonts/CHOPS.TTF

36.7 KB
Binary file not shown.

assets/fonts/ComicNeue-Regular.ttf

53.5 KB
Binary file not shown.

assets/fonts/Inconsolata-Regular.ttf

90.4 KB
Binary file not shown.

assets/fonts/IndieFlower-Regular.ttf

54 KB
Binary file not shown.

assets/fonts/Neucha-Regular.ttf

112 KB
Binary file not shown.

lib/app/bloc_wrapper.dart

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import 'package:app_config/app_config.dart';
22
import 'package:app_update/app_update.dart';
33
import 'package:authentication/authentication.dart';
4-
import 'package:db_storage/db_storage.dart';
4+
import 'package:storage/storage.dart';
55
import 'package:flutter/material.dart';
66
import 'package:flutter_bloc/flutter_bloc.dart';
77
import 'package:flutter_unit/painter_system/bloc/gallery_unit/bloc.dart';
@@ -51,7 +51,7 @@ class _BlocWrapperState extends State<BlocWrapper> {
5151
@override
5252
void dispose() {
5353
categoryBloc.close();
54-
LocalDb.instance.closeDb();
54+
FlutterDbStorage.instance.closeDb();
5555
super.dispose();
5656
}
5757
}

lib/app/utils/convert.dart

-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11

2-
import 'package:db_storage/db_storage.dart';
32
import 'package:flutter_unit/painter_system/gallery_factory.dart';
43
import 'package:widget_repository/widget_repository.dart';
54

lib/app/views/data_manage/data_manage_page.dart

+3-4
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,11 @@ import 'dart:convert';
22
import 'dart:io';
33

44
import 'package:app_config/app_config.dart';
5-
import 'package:db_storage/db_storage.dart';
5+
import 'package:storage/storage.dart';
66
import 'package:flutter/material.dart';
77
import 'package:flutter/services.dart';
88
import 'package:flutter_bloc/flutter_bloc.dart';
99

10-
import 'package:flutter_unit/app/utils/Toast.dart';
1110
import 'package:flutter_unit/point_system/api/category_api.dart';
1211

1312
import 'package:authentication/views/authentic_widget.dart';
@@ -88,7 +87,7 @@ class DataManagePage extends StatelessWidget {
8887
CategoryRepository rep = BlocProvider.of<CategoryBloc>(context).repository;
8988
List<CategoryTo> loadCategories = await rep.loadCategoryData();
9089

91-
List<int> likeData = await LocalDb.instance.likeDao.likeWidgetIds();
90+
List<int> likeData = await FlutterDbStorage.instance.likeDao.likeWidgetIds();
9291

9392
String json = jsonEncode(loadCategories);
9493
String likeJson = jsonEncode(likeData);
@@ -122,7 +121,7 @@ class DataManagePage extends StatelessWidget {
122121
CategoryRepository rep =
123122
BlocProvider.of<CategoryBloc>(context).repository;
124123
List<CategoryTo> loadCategories = await rep.loadCategoryData();
125-
List<int> likeData = await LocalDb.instance.likeDao.likeWidgetIds();
124+
List<int> likeData = await FlutterDbStorage.instance.likeDao.likeWidgetIds();
126125

127126
String json = jsonEncode(loadCategories);
128127
String likeJson = jsonEncode(likeData);

lib/app/views/setting/font_setting.dart

+67-44
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import 'package:components/toly_ui/toly_ui.dart';
44
import 'package:flutter/material.dart';
55
import 'package:flutter_bloc/flutter_bloc.dart';
66

7-
87
/// create by 张风捷特烈 on 2020-04-10
98
/// contact me by email [email protected]
109
/// 说明:
@@ -27,53 +26,77 @@ class FontSettingPage extends StatelessWidget {
2726
BuildContext context, List<String> fontFamilySupport, String fontFamily) {
2827
return GridView.count(
2928
padding: const EdgeInsets.only(top: 20, left: 10, right: 10),
30-
shrinkWrap: true,
3129
crossAxisCount: 2,
3230
mainAxisSpacing: 10,
3331
crossAxisSpacing: 10,
3432
childAspectRatio: 1.5,
35-
children: fontFamilySupport
36-
.map((e) => FeedbackWidget(
37-
a: 0.95,
38-
duration: const Duration(milliseconds: 200),
39-
onPressed: () {
40-
BlocProvider.of<AppBloc>(context).switchFontFamily(e);
41-
},
42-
child: Card(
43-
child: GridTile(
44-
header: Container(
45-
padding: const EdgeInsets.only(left: 10, right: 5),
46-
height: 30,
47-
color: fontFamily == e
48-
? Colors.blue.withAlpha(88)
49-
: Colors.grey.withAlpha(88),
50-
child: Row(
51-
children: <Widget>[
52-
Text(e,
53-
style: TextStyle(
54-
color: Colors.black,
55-
fontFamily: e,
56-
)),
57-
const Spacer(),
58-
if (fontFamily == e) Circle(color: Theme.of(context).primaryColor,)
59-
],
60-
),
61-
),
62-
child: Container(
63-
decoration: BoxDecoration(
64-
gradient: LinearGradient(colors: [
65-
Colors.blueAccent.withAlpha(22),
66-
Colors.blueAccent.withAlpha(22),
67-
Theme.of(context).primaryColor.withAlpha(88)
68-
])),
69-
alignment: const Alignment(0, 0.4),
70-
child: Text(
71-
'张风捷特烈\n@toly1994',
72-
style: TextStyle(fontFamily: e, fontSize: 16),
73-
)),
74-
),
75-
)))
76-
.toList(),
33+
children: fontFamilySupport.map((e) {
34+
return FontCell(
35+
active: fontFamily == e,
36+
fontFamily: e,
37+
onSelect: (font) {
38+
BlocProvider.of<AppBloc>(context).switchFontFamily(font);
39+
},
40+
);
41+
}).toList(),
7742
);
7843
}
7944
}
45+
46+
class FontCell extends StatelessWidget {
47+
final bool active;
48+
final ValueChanged<String> onSelect;
49+
final String fontFamily;
50+
51+
const FontCell(
52+
{Key? key,
53+
required this.active,
54+
required this.onSelect,
55+
required this.fontFamily})
56+
: super(key: key);
57+
58+
@override
59+
Widget build(BuildContext context) {
60+
return FeedbackWidget(
61+
a: 0.95,
62+
duration: const Duration(milliseconds: 200),
63+
onPressed: () => onSelect(fontFamily),
64+
child: GridTile(
65+
header: Container(
66+
padding: const EdgeInsets.only(left: 10, right: 5),
67+
height: 30,
68+
color: active
69+
? Colors.blue.withAlpha(88)
70+
: Colors.grey.withAlpha(88),
71+
child: Row(
72+
children: <Widget>[
73+
Text(fontFamily,
74+
style: TextStyle(
75+
color: Colors.black,
76+
fontFamily: fontFamily,
77+
)),
78+
const Spacer(),
79+
if (active)
80+
Circle(color: Theme.of(context).primaryColor)
81+
],
82+
),
83+
),
84+
child: Container(
85+
decoration: BoxDecoration(
86+
borderRadius: BorderRadius.only(
87+
bottomLeft: Radius.circular(8),
88+
bottomRight: Radius.circular(8),
89+
),
90+
gradient: LinearGradient(colors: [
91+
Colors.blueAccent.withAlpha(22),
92+
Colors.blueAccent.withAlpha(22),
93+
Theme.of(context).primaryColor.withAlpha(88)
94+
])),
95+
alignment: const Alignment(0, 0.4),
96+
child: Text(
97+
'张风捷特烈\n@toly1994',
98+
style: TextStyle(fontFamily: fontFamily, fontSize: 16),
99+
)),
100+
));
101+
}
102+
}

lib/app/views/setting/setting_page.dart

+7-2
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,9 @@ class SettingPage extends StatelessWidget {
119119
Widget _buildShowBg(BuildContext context) =>
120120
BlocBuilder<AppBloc, AppState>(
121121
builder: (_, state) => SwitchListTile(
122+
inactiveTrackColor: Colors.grey.withOpacity(0.3),
123+
// inactiveThumbColor: Colors.white,
124+
activeColor: Theme.of(context).primaryColor,
122125
value: state.showBackGround,
123126
secondary: Icon(
124127
TolyIcon.icon_background,
@@ -134,6 +137,9 @@ class SettingPage extends StatelessWidget {
134137
BlocBuilder<AppBloc, AppState>(
135138
builder: (_, state) => SwitchListTile(
136139
value: state.showPerformanceOverlay,
140+
inactiveTrackColor: Colors.grey.withOpacity(0.3),
141+
// inactiveThumbColor: Colors.white,
142+
activeColor: Theme.of(context).primaryColor,
137143
secondary: Icon(
138144
TolyIcon.icon_show,
139145
color: Theme.of(context).primaryColor,
@@ -164,6 +170,5 @@ class SettingPage extends StatelessWidget {
164170
));
165171

166172

167-
Widget _nextIcon(BuildContext context) =>
168-
Icon(Icons.chevron_right, color: Theme.of(context).primaryColor);
173+
Widget _nextIcon(BuildContext context) => Icon(Icons.chevron_right, color: Theme.of(context).primaryColor);
169174
}

lib/app/views/splash/standard_unit_splash.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import 'dart:math';
22

33
import 'package:app_config/app_config.dart';
4-
import 'package:db_storage/db_storage.dart';
4+
import 'package:storage/storage.dart';
55
import 'package:flutter/material.dart';
66
import 'package:flutter/services.dart';
77
import 'package:flutter_bloc/flutter_bloc.dart';

lib/widget_ui/desk_ui/widget_panel/desk_search_bar.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import 'dart:async';
22

33
import 'package:app_config/app_config.dart';
4-
import 'package:db_storage/db_storage.dart';
4+
55
import 'package:flutter/material.dart';
66
import 'package:flutter_bloc/flutter_bloc.dart';
77
import 'package:widget_module/blocs/blocs.dart';

lib/widget_ui/mobile/category_page/sync/async_button.dart

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import 'package:flutter_unit/point_system/api/category_api.dart';
99
import 'package:utils/utils.dart';
1010
import 'package:widget_module/blocs/blocs.dart';
1111

12-
import 'package:db_storage/db_storage.dart';
12+
import 'package:storage/storage.dart';
1313
import 'package:widget_repository/widget_repository.dart';
1414
import 'package:components/toly_ui/toly_ui.dart';
1515

@@ -88,7 +88,7 @@ class _SyncCategoryButtonState extends State<SyncCategoryButton> {
8888
// 这里防止有傻孩子没点备份,就点同步,哥哥好心,给备份一下。
8989
CategoryRepository rep = BlocProvider.of<CategoryBloc>(context).repository;
9090
List<CategoryTo> loadCategories = await rep.loadCategoryData();
91-
List<int> likeData = await LocalDb.instance.likeDao.likeWidgetIds();
91+
List<int> likeData = await FlutterDbStorage.instance.likeDao.likeWidgetIds();
9292

9393
String json = jsonEncode(loadCategories);
9494
String likeJson = jsonEncode(likeData);

lib/widget_ui/mobile/category_page/sync/upload_button.dart

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import 'package:app_config/app_config.dart';
44
import 'package:flutter/cupertino.dart';
55
import 'package:flutter/material.dart';
66
import 'package:flutter_bloc/flutter_bloc.dart';
7-
import 'package:db_storage/db_storage.dart';
7+
import 'package:storage/storage.dart';
88

99
import 'package:flutter_unit/point_system/api/category_api.dart';
1010
import 'package:utils/utils.dart';
@@ -75,7 +75,7 @@ class _UploadCategoryButtonState extends State<UploadCategoryButton> {
7575

7676
CategoryRepository rep = BlocProvider.of<CategoryBloc>(context).repository;
7777
List<CategoryTo> loadCategories = await rep.loadCategoryData();
78-
List<int> likeData = await LocalDb.instance.likeDao.likeWidgetIds();
78+
List<int> likeData = await FlutterDbStorage.instance.likeDao.likeWidgetIds();
7979

8080

8181
String json = jsonEncode(loadCategories);

lib/widget_ui/mobile/search_page/standard_search_bar.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import 'package:app_config/app_config.dart';
2-
import 'package:db_storage/db_storage.dart';
2+
import 'package:storage/storage.dart';
33
import 'package:flutter/material.dart';
44
import 'package:flutter_bloc/flutter_bloc.dart';
55
import 'package:widget_module/blocs/blocs.dart';
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import 'dart:io';
2+
import 'dart:ui';
3+
4+
import 'package:flutter/foundation.dart';
5+
6+
double px1 = 1/window.devicePixelRatio;
7+
8+
bool isDesk = kIsWeb || Platform.isMacOS||Platform.isWindows||Platform.isLinux;

packages/app_config/lib/app/theme/app_theme.dart

+17-18
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,8 @@ class AppTheme {
1111
primaryColor: const Color(0xff4699FB),
1212
appBarTheme: const AppBarTheme(backgroundColor: Color(0xff222222)),
1313
floatingActionButtonTheme: const FloatingActionButtonThemeData(
14-
foregroundColor: Colors.white,
15-
backgroundColor: Color(0xff4699FB)
16-
),
14+
foregroundColor: Colors.white, backgroundColor: Color(0xff4699FB)),
1715
dividerColor: Colors.white,
18-
// switchTheme: SwitchThemeData(
19-
// // trackColor: '',
20-
// ),
2116
bottomNavigationBarTheme: const BottomNavigationBarThemeData(
2217
backgroundColor: Color(0xff181818),
2318
selectedItemColor: Color(0xff4699FB)),
@@ -27,21 +22,25 @@ class AppTheme {
2722
SystemUiOverlayStyle overlayStyle = const SystemUiOverlayStyle(
2823
statusBarColor: Colors.transparent,
2924
statusBarBrightness: Brightness.light,
30-
statusBarIconBrightness: Brightness.dark
31-
);
25+
statusBarIconBrightness: Brightness.dark);
26+
27+
bool useMaterial3 = (Platform.isAndroid || Platform.isIOS)&&state.appStyle!=AppStyle.fancy;
3228

3329
return ThemeData(
3430
fontFamily: state.fontFamily,
35-
primarySwatch: state.themeColor,
36-
useMaterial3: Platform.isAndroid, // Android 使用 Material3
37-
chipTheme: ChipThemeData(
38-
padding: EdgeInsets.symmetric(horizontal: 10)
39-
// labelPadding: EdgeInsets.symmetric(horizontal: 6,vertical: 5)
40-
),
41-
appBarTheme: AppBarTheme(
42-
systemOverlayStyle: overlayStyle,
43-
44-
),
31+
primaryColor: state.themeColor,
32+
useMaterial3: useMaterial3 ,
33+
// Android 使用 Material3
34+
chipTheme: ChipThemeData(padding: EdgeInsets.symmetric(horizontal: 10)
35+
),
36+
dividerTheme: DividerThemeData(
37+
color: const Color(0xffDEE0E2),
38+
space: px1,
39+
thickness: px1,
40+
),
41+
appBarTheme: AppBarTheme(
42+
systemOverlayStyle: overlayStyle,
43+
),
4544
);
4645
}
4746
}

packages/app_config/lib/app_config.dart

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ export 'model/global_state.dart';
55
export 'model/app_style.dart';
66
export 'repository/app_state_repository.dart';
77
export 'app/cons/cons.dart';
8+
export 'app/cons/global_value.dart';
89
export 'app/cons/path_unit.dart';
910
export 'app/cons/sp.dart';
1011
export 'app/cons/str_unit.dart';

0 commit comments

Comments
 (0)