Skip to content

Commit 38d35cb

Browse files
committed
feat(sub_pages): add logger to sub_pages
Signed-off-by: OctagonalStar <[email protected]>
1 parent 5f11882 commit 38d35cb

File tree

14 files changed

+94
-38
lines changed

14 files changed

+94
-38
lines changed

lib/main.dart

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ class _MyHomePageState extends State<MyHomePage> {
109109

110110
// 构建桌面端布局(侧边导航)
111111
Widget _buildDesktopLayout(BuildContext context) {
112-
context.read<Global>().uiLogger.fine("构建桌面端布局");
112+
context.read<Global>().uiLogger.fine("构建 DesktopLayout");
113113
return Row(
114114
children: [
115115
// 侧边导航栏
@@ -162,7 +162,7 @@ class _MyHomePageState extends State<MyHomePage> {
162162

163163
// 构建移动端布局(底部导航)
164164
Widget _buildMobileLayout(BuildContext context) {
165-
context.read<Global>().uiLogger.fine("构建移动端布局");
165+
context.read<Global>().uiLogger.fine("构建 MobileLayout");
166166
return Column(
167167
children: [
168168
// 主要内容区域
@@ -230,7 +230,7 @@ class _MyHomePageState extends State<MyHomePage> {
230230
final TextEditingController controller = TextEditingController();
231231
@override
232232
Widget build(BuildContext context) {
233-
context.read<Global>().uiLogger.fine("收到 MyHomePage 构建请求");
233+
context.read<Global>().uiLogger.fine("构建 MyHomePage");
234234
final gob = context.watch<Global>();
235235
if(gob.firstStart) {
236236
context.read<Global>().uiLogger.info("构建首次启动页面");
@@ -342,13 +342,11 @@ class _MyHomePageState extends State<MyHomePage> {
342342
);
343343
});
344344
}
345-
context.read<Global>().uiLogger.fine("构建子页面");
346345
_pageList = [
347346
LearningPage(),
348347
HomePage(),
349348
TestPage()
350349
];
351-
context.read<Global>().uiLogger.fine("构建主页面");
352350
return Scaffold(
353351
backgroundColor: context.read<Global>().settingData["eggs"]["stella"] ? Colors.transparent : null,
354352
appBar: AppBar(
@@ -365,6 +363,7 @@ class _MyHomePageState extends State<MyHomePage> {
365363
),
366364
IconButton(
367365
onPressed: () {
366+
context.read<Global>().uiLogger.info("跳转: MyHomePage => SettingPage");
368367
Navigator.of(context).push(MaterialPageRoute(builder: (context) => SettingPage()));
369368
},
370369
icon: Icon(Icons.settings)

lib/pages/home_page.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class HomePage extends StatelessWidget {
1313
const HomePage({super.key});
1414
@override
1515
Widget build(BuildContext context) {
16-
context.read<Global>().uiLogger.fine("构建HomePage");
16+
context.read<Global>().uiLogger.fine("构建 HomePage");
1717
final themeColor = Theme.of(context).colorScheme;
1818
final mediaQuery = MediaQuery.of(context);
1919
final FSRS fsrs = FSRS();
@@ -160,7 +160,7 @@ class _DailyWord extends State<DailyWord> {
160160

161161
@override
162162
Widget build(BuildContext context) {
163-
context.read<Global>().uiLogger.fine("构建DailyWord组件");
163+
context.read<Global>().uiLogger.fine("构建 DailyWord组件");
164164
MediaQueryData mediaQuery = MediaQuery.of(context);
165165
final now = DateTime.now();
166166
final seed = now.year * 10000 + now.month * 100 + now.day;

lib/pages/setting_page.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -347,6 +347,7 @@ class _SettingPage extends State<SettingPage> {
347347
if(kIsWeb) {
348348
alart(context, "此功能仅支持APP端。\n要是你是果儿的话...那我没招了,抱歉");
349349
} else {
350+
context.read<Global>().uiLogger.info("跳转: SettingPage => ModelDownload");
350351
Navigator.of(context).push(MaterialPageRoute(builder: (context) => ModelDownload()));
351352
}
352353
},

lib/pages/test_page.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ class TestPage extends StatelessWidget {
99
const TestPage({super.key});
1010
@override
1111
Widget build(BuildContext context) {
12-
context.read<Global>().uiLogger.info("构建TestPage");
12+
context.read<Global>().uiLogger.info("构建 TestPage");
1313
final mediaQuery = MediaQuery.of(context);
1414
return Column(
1515
mainAxisAlignment: MainAxisAlignment.start,

lib/sub_pages_builder/learning_pages/fsrs_pages.dart

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,21 @@
11
import 'dart:math';
2-
import 'package:arabic_learning/funcs/fsrs_func.dart';
3-
import 'package:arabic_learning/funcs/ui.dart';
4-
import 'package:arabic_learning/funcs/utili.dart';
5-
import 'package:arabic_learning/vars/global.dart';
6-
import 'package:arabic_learning/vars/statics_var.dart';
2+
73
import 'package:flutter/material.dart';
84
import 'package:provider/provider.dart';
9-
// import 'package:fl_chart/fl_chart.dart';
5+
6+
import 'package:arabic_learning/vars/statics_var.dart';
7+
import 'package:arabic_learning/vars/global.dart';
8+
import 'package:arabic_learning/funcs/ui.dart';
9+
import 'package:arabic_learning/funcs/utili.dart';
10+
import 'package:arabic_learning/funcs/fsrs_func.dart';
1011

1112
class ForeFSRSSettingPage extends StatelessWidget {
1213
final bool forceChoosing;
1314
const ForeFSRSSettingPage({super.key, this.forceChoosing = false});
1415

1516
@override
1617
Widget build(BuildContext context) {
18+
context.read<Global>().uiLogger.info("构建 ForeFSRSSettingPage");
1719
MediaQueryData mediaQuery = MediaQuery.of(context);
1820
int choosedScheme = 5;
1921
int getChosenScheme([int? scheme]) {
@@ -153,6 +155,7 @@ class MainFSRSPage extends StatelessWidget {
153155

154156
@override
155157
Widget build(BuildContext context) {
158+
context.read<Global>().uiLogger.info("构建 MainFSRSPage");
156159
bool isAnyDue = fsrs.getWillDueCount() != 0;
157160
MediaQueryData mediaQuery = MediaQuery.of(context);
158161
final PageController controller = PageController();
@@ -214,15 +217,16 @@ class FSRSReviewCardPage extends StatefulWidget {
214217
const FSRSReviewCardPage({super.key, required this.wordID, required this.fsrs, required this.rnd, required this.controller});
215218

216219
@override
217-
State<FSRSReviewCardPage> createState() => _FSRSReviewCardPageState();
220+
State<FSRSReviewCardPage> createState() => _FSRSReviewCardPage();
218221
}
219222

220-
class _FSRSReviewCardPageState extends State<FSRSReviewCardPage> {
223+
class _FSRSReviewCardPage extends State<FSRSReviewCardPage> {
221224
List<String>? options;
222225
bool choosed = false;
223226
final DateTime start = DateTime.now();
224227
@override
225228
Widget build(BuildContext context) {
229+
context.read<Global>().uiLogger.info("构建 FSRSReviewCardPage");
226230
MediaQueryData mediaQuery = MediaQuery.of(context);
227231
final List<dynamic> wordData = context.read<Global>().wordData["Words"];
228232

@@ -356,9 +360,13 @@ class _FSRSOverViewPageState extends State<FSRSOverViewPage> {
356360
words = getSelectedWords(context, forceSelectClasses: selectedClasses, doShuffle: true, doDouble: false);
357361
// 去除已经学习的项目
358362
words.removeWhere((Map<String, dynamic> item) => widget.fsrs.isContained(item['id']));
359-
Navigator.push(context, MaterialPageRoute(
360-
builder: (context) => FSRSLearningPage(words: words, fsrs: widget.fsrs,),
361-
));
363+
context.read<Global>().uiLogger.info("跳转: FSRSOverViewPage => FSRSLearningPage");
364+
Navigator.push(
365+
context,
366+
MaterialPageRoute(
367+
builder: (context) => FSRSLearningPage(words: words, fsrs: widget.fsrs,),
368+
)
369+
);
362370
},
363371
),
364372
// TextContainer(text: "统计数据")

lib/sub_pages_builder/learning_pages/learning_pages_build.dart

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
import 'dart:math';
22

3-
import 'package:arabic_learning/funcs/ui.dart';
4-
import 'package:arabic_learning/vars/global.dart';
53
import 'package:flutter/material.dart';
6-
import 'package:arabic_learning/vars/statics_var.dart';
74
import 'package:provider/provider.dart';
85

6+
import 'package:arabic_learning/vars/statics_var.dart';
7+
import 'package:arabic_learning/vars/global.dart';
8+
import 'package:arabic_learning/funcs/ui.dart';
9+
910

1011

1112
// 学习主入口页面
@@ -91,6 +92,7 @@ class _InLearningPageState extends State<InLearningPage> {
9192

9293
@override
9394
Widget build(BuildContext context) {
95+
context.read<Global>().uiLogger.info("构建 InLearningPage");
9496
final mediaQuery = MediaQuery.of(context);
9597
return PopScope(
9698
canPop: true,
@@ -121,6 +123,7 @@ class _InLearningPageState extends State<InLearningPage> {
121123
),
122124
TextButton(
123125
onPressed: () {
126+
context.read<Global>().uiLogger.info("用户取消学习");
124127
Navigator.pop(context);
125128
Navigator.pop(context, finished);
126129
},
@@ -426,6 +429,7 @@ class _ConcludePageState extends State<ConcludePage> {
426429

427430
@override
428431
Widget build(BuildContext context) {
432+
context.read<Global>().uiLogger.info("构建 ConcludePage");
429433
MediaQueryData mediaQuery = MediaQuery.of(context);
430434
return Center(
431435
child: Column(
@@ -583,6 +587,7 @@ class _WordCardOverViewPage extends State<WordCardOverViewPage> {
583587

584588
@override
585589
Widget build(BuildContext context) {
590+
context.read<Global>().uiLogger.info("构建 WordCardOverViewPage");
586591
MediaQueryData mediaQuery = MediaQuery.of(context);
587592
return Scaffold(
588593
appBar: AppBar(
@@ -612,7 +617,10 @@ class _WordCardOverViewPage extends State<WordCardOverViewPage> {
612617
setLocalState(() {
613618
forceColumn = value.ceil();
614619
});
615-
}
620+
},
621+
onChangeEnd: (value) {
622+
context.read<Global>().uiLogger.info("设置固定列数为$value");
623+
},
616624
),
617625
SizedBox(width: 60, child: Text(forceColumn == 0 ? "0(自动)" : forceColumn.toString()))
618626
],
@@ -737,6 +745,5 @@ class _WordCardOverViewPage extends State<WordCardOverViewPage> {
737745
}
738746
)
739747
);
740-
741748
}
742749
}

lib/sub_pages_builder/setting_pages/about_page.dart

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
1-
import 'package:arabic_learning/funcs/ui.dart';
2-
import 'package:arabic_learning/sub_pages_builder/setting_pages/open_source_licenses.dart';
3-
import 'package:arabic_learning/vars/global.dart';
4-
import 'package:arabic_learning/vars/license_storage.dart';
5-
import 'package:arabic_learning/vars/statics_var.dart';
61
import 'package:flutter/material.dart';
72
import 'package:provider/provider.dart';
83

4+
import 'package:arabic_learning/vars/statics_var.dart';
5+
import 'package:arabic_learning/vars/license_storage.dart';
6+
import 'package:arabic_learning/vars/global.dart';
7+
import 'package:arabic_learning/funcs/ui.dart';
8+
import 'package:arabic_learning/sub_pages_builder/setting_pages/open_source_licenses.dart';
9+
910
class AboutPage extends StatelessWidget {
1011
final Map<String, dynamic> setting;
1112
const AboutPage({super.key, required this.setting});
1213

1314
@override
1415
Widget build(BuildContext context) {
16+
context.read<Global>().uiLogger.info("构建 AboutPage");
1517
return Scaffold(
1618
appBar: AppBar(
1719
title: Center(child: Text("关于")),
@@ -44,6 +46,7 @@ class AboutPage extends StatelessWidget {
4446
fixedSize: Size.fromHeight(MediaQuery.of(context).size.height * 0.1)
4547
),
4648
onPressed: () {
49+
context.read<Global>().uiLogger.info("跳转: AboutPage => OpenSourceLicensePage");
4750
Navigator.push(
4851
context,
4952
MaterialPageRoute(

lib/sub_pages_builder/setting_pages/data_download_page.dart

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11

22
import 'dart:convert';
33

4-
import 'package:arabic_learning/sub_pages_builder/setting_pages/item_widget.dart';
5-
import 'package:arabic_learning/vars/global.dart';
6-
import 'package:arabic_learning/vars/statics_var.dart';
74
import 'package:flutter/material.dart';
8-
import 'package:dio/dio.dart';
95
import 'package:provider/provider.dart';
6+
import 'package:dio/dio.dart';
7+
8+
import 'package:arabic_learning/vars/statics_var.dart';
9+
import 'package:arabic_learning/vars/global.dart';
10+
import 'package:arabic_learning/sub_pages_builder/setting_pages/item_widget.dart';
1011

1112
class DownloadPage extends StatelessWidget {
1213
const DownloadPage({super.key});
@@ -43,7 +44,8 @@ Future<List<Widget>> downloadList(BuildContext context) async{
4344
var list = <Widget>[];
4445
Dio dio = Dio();
4546
Response githubResponse = await dio.getUri(Uri.parse("https://api.github.com/repos/JYinherit/Arabiclearning/contents/词库"));
46-
if(githubResponse.statusCode != 200) {
47+
if(githubResponse.statusCode != 200 && context.mounted) {
48+
context.read<Global>().uiLogger.severe("线上词库获取失败: ${githubResponse.statusCode}");
4749
return [
4850
Text("无法获取词库列表,请检查你的网络链接或稍后重试"),
4951
Text("回复错误码:${githubResponse.statusCode}"),
@@ -52,6 +54,7 @@ Future<List<Widget>> downloadList(BuildContext context) async{
5254
}
5355
List<dynamic> json = githubResponse.data as List<dynamic>;
5456
if(!context.mounted) return [Text("无法获取词库列表,请检查你的网络链接或稍后重试"),];
57+
context.read<Global>().uiLogger.info("线上词库获取成功");
5558
for(var f in json) {
5659
if(f["type"] == "file") {
5760
bool downloaded = context.read<Global>().wordData["Classes"].keys.contains(f["name"]);
@@ -73,6 +76,7 @@ Future<List<Widget>> downloadList(BuildContext context) async{
7376
inDownloading = true;
7477
});
7578
try {
79+
context.read<Global>().uiLogger.info("下载词库: ${f["name"]}:${f["download_url"]}");
7680
var response = await dio.getUri(Uri.parse(f["download_url"]));
7781
if(!context.mounted) return ;
7882
if(response.statusCode == 200) {
@@ -86,6 +90,7 @@ Future<List<Widget>> downloadList(BuildContext context) async{
8690
});
8791
}
8892
} catch (e) {
93+
context.read<Global>().uiLogger.severe("词库[${f["name"]}]下载失败: $e");
8994
ScaffoldMessenger.of(context).showSnackBar(SnackBar(
9095
content: Text("下载失败\n${e.toString()}"),
9196
));

lib/sub_pages_builder/setting_pages/item_widget.dart

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
1-
import 'package:arabic_learning/funcs/ui.dart';
21
import 'package:flutter/material.dart';
2+
import 'package:provider/provider.dart';
3+
4+
import 'package:arabic_learning/vars/global.dart';
5+
import 'package:arabic_learning/funcs/ui.dart';
36

47
class SettingItem extends StatelessWidget {
58
final String title;
@@ -9,6 +12,7 @@ class SettingItem extends StatelessWidget {
912

1013
@override
1114
Widget build(BuildContext context) {
15+
context.read<Global>().uiLogger.info("构建 SettingItem: $title");
1216
MediaQueryData mediaQuery = MediaQuery.of(context);
1317
List<Container> decoratedContainers = children.map((widget) {
1418
return Container(

lib/sub_pages_builder/setting_pages/model_download_page.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ class _ModelDownload extends State<ModelDownload> {
2626

2727
@override
2828
Widget build(BuildContext context) {
29+
context.read<Global>().uiLogger.info("构建 ModelDownload");
2930
return Scaffold(
3031
appBar: AppBar(
3132
title: const Text('模型下载'),
@@ -44,6 +45,7 @@ class _ModelDownload extends State<ModelDownload> {
4445
onPressed: () async{
4546
var basePath = await getApplicationDocumentsDirectory();
4647
if(io.File("${basePath.path}/${StaticsVar.modelPath}/ar_JO-kareem-medium.onnx").existsSync() && context.mounted){
48+
context.read<Global>().uiLogger.warning("检测到模型文件存在");
4749
alart(context, "模型已存在");
4850
return;
4951
}
@@ -63,6 +65,7 @@ class _ModelDownload extends State<ModelDownload> {
6365
});
6466
} catch (e) {
6567
if(!context.mounted) return;
68+
context.read<Global>().uiLogger.severe("模型下载错误: $e");
6669
alart(context, "下载失败\n${e.toString()}");
6770
setState(() {
6871
progress = 0;
@@ -76,6 +79,7 @@ class _ModelDownload extends State<ModelDownload> {
7679
await extractTarBz2('${basePath.path}/arabicLearning/tts/temp.tar.bz2', "${basePath.path}/arabicLearning/tts/model/");
7780
if(!context.mounted) return;
7881
context.read<Global>().loadTTS();
82+
context.read<Global>().uiLogger.info("模型下载完成");
7983
ScaffoldMessenger.of(context).showSnackBar(SnackBar(content: Text("下载完成")));
8084
setState(() {
8185
progress = 4;

0 commit comments

Comments
 (0)