完善细类

This commit is contained in:
Developer
2026-03-31 07:56:35 +08:00
parent 66f72abab4
commit 9a58f6ca19
12 changed files with 683 additions and 257 deletions

View File

@@ -4,16 +4,47 @@ import 'dart:io' as io show Platform;
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:platform_info/platform_info.dart';
import 'package:flutter_udid/flutter_udid.dart';
import '../../../constants/app_constants.dart';
/// 时间: 2026-03-26
/// 功能: 应用信息页面
/// 介绍: 展示应用版本、技术栈、构建信息、设备信息等
/// 最新变化: 新建页面
/// 最新变化: 添加 UDID 显示
class AppInfoPage extends StatelessWidget {
class AppInfoPage extends StatefulWidget {
const AppInfoPage({super.key});
@override
State<AppInfoPage> createState() => _AppInfoPageState();
}
class _AppInfoPageState extends State<AppInfoPage> {
String _udid = '获取中...';
@override
void initState() {
super.initState();
_loadUdid();
}
Future<void> _loadUdid() async {
try {
final String udid = await FlutterUdid.udid;
if (mounted) {
setState(() {
_udid = udid;
});
}
} catch (e) {
if (mounted) {
setState(() {
_udid = '获取失败';
});
}
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
@@ -203,6 +234,7 @@ class AppInfoPage extends StatelessWidget {
_buildInfoItem('Flutter', '跨平台UI框架', Icons.flutter_dash),
_buildInfoItem('Dart', '编程语言', Icons.code),
_buildInfoItem('shared_preferences', '本地存储', Icons.storage),
_buildInfoItem('flutter_udid', '设备唯一标识', Icons.perm_identity),
],
),
);
@@ -329,6 +361,7 @@ class AppInfoPage extends StatelessWidget {
{'name': 'Shared Preferences', 'license': 'BSD 3-Clause'},
{'name': 'Dio', 'license': 'MIT'},
{'name': 'Platform Info', 'license': 'MIT'},
{'name': 'flutter_udid', 'license': 'MIT'},
];
showDialog(
@@ -448,7 +481,6 @@ class AppInfoPage extends StatelessWidget {
const Divider(height: 1),
_buildInfoItem('后端语言', 'PHP', Icons.php),
_buildInfoItem('Web服务器', 'Nginx', Icons.web),
// _buildInfoItem('更新日志', '更现代的玻璃拟态设计风格,紫色更浓郁', Icons.devices),
],
),
);
@@ -592,6 +624,7 @@ class AppInfoPage extends StatelessWidget {
_buildInfoItem('设备类型', deviceType, Icons.devices),
_buildInfoItem('构建模式', buildMode, Icons.build),
_buildInfoItem('运行环境', runtimeEnv, Icons.code),
_buildCopyableItem(context, 'UDID', _udid, Icons.perm_identity),
Padding(
padding: const EdgeInsets.all(16),
child: Container(
@@ -781,10 +814,7 @@ class AppInfoPage extends StatelessWidget {
),
],
),
child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
],
),
child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: []),
);
}