This commit is contained in:
Developer
2026-04-03 03:26:06 +08:00
parent 3063deb34c
commit cba04235c8
49 changed files with 3955 additions and 1421 deletions

View File

@@ -87,15 +87,17 @@ class _AppInfoPageState extends State<AppInfoPage> {
_isDeveloperMode = true;
});
_saveDeveloperMode(true);
if (mounted) {
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
content: Text('开发者模式激活'),
duration: Duration(seconds: 2),
),
);
}
_tapCount = 0;
final primaryColor = _themeController.currentThemeColor;
Get.snackbar(
'提示',
'开发者模式激活',
snackPosition: SnackPosition.BOTTOM,
colorText: primaryColor,
duration: const Duration(seconds: 2),
borderRadius: 8,
margin: const EdgeInsets.all(16),
);
}
}
@@ -125,11 +127,15 @@ class _AppInfoPageState extends State<AppInfoPage> {
IconButton(
icon: const Icon(Icons.bug_report, color: Colors.green),
onPressed: () {
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
content: Text('调试信息已激活'),
duration: Duration(seconds: 2),
),
final primaryColor = _themeController.currentThemeColor;
Get.snackbar(
'提示',
'调试信息已激活',
snackPosition: SnackPosition.BOTTOM,
colorText: primaryColor,
duration: const Duration(seconds: 2),
borderRadius: 8,
margin: const EdgeInsets.all(16),
);
},
),
@@ -149,8 +155,6 @@ class _AppInfoPageState extends State<AppInfoPage> {
_buildDeviceInfoCard(context, isDark, primaryColor),
const SizedBox(height: 16),
_buildUpdateLogCard(isDark),
const SizedBox(height: 16),
_buildDesignStyleCard(isDark),
const SizedBox(height: 24),
_buildBottomIndicator(isDark),
],
@@ -251,7 +255,7 @@ class _AppInfoPageState extends State<AppInfoPage> {
GestureDetector(
onTap: _onFrameworkTap,
child: const Text(
'框架 1.3',
'框架 1.4',
style: TextStyle(
fontSize: 12,
color: Colors.white,
@@ -270,16 +274,18 @@ class _AppInfoPageState extends State<AppInfoPage> {
: Colors.white.withValues(alpha: 0.2),
borderRadius: BorderRadius.circular(4),
),
child: Text(
'软件版本 ${AppConfig.appVersion}',
style: TextStyle(
fontSize: 10,
color: _isDeveloperMode
? Colors.green
: Colors.white,
fontWeight: _isDeveloperMode
? FontWeight.bold
: FontWeight.normal,
child: Obx(
() => Text(
'软件版本 ${AppConfig.appVersion}',
style: TextStyle(
fontSize: 10,
color: _isDeveloperMode
? Colors.green
: Colors.white,
fontWeight: _isDeveloperMode
? FontWeight.bold
: FontWeight.normal,
),
),
),
),
@@ -350,15 +356,15 @@ class _AppInfoPageState extends State<AppInfoPage> {
childAspectRatio: 2.2,
children: [
_buildTechStackItem(
'Flutter',
'跨平台UI框架',
'Dart',
'编程语言',
Icons.flutter_dash,
Colors.blue,
isDark,
),
_buildTechStackItem(
'Dart',
'编程语言',
'Getx',
'状态管理库',
Icons.code,
Colors.teal,
isDark,
@@ -456,19 +462,23 @@ class _AppInfoPageState extends State<AppInfoPage> {
),
),
Divider(height: 1, color: isDark ? Colors.grey[800] : null),
_buildCopyableItem(
context,
'版本号',
AppConfig.appVersion,
Icons.verified,
isDark,
Obx(
() => _buildCopyableItem(
context,
'版本号',
AppConfig.appVersion,
Icons.verified,
isDark,
),
),
_buildCopyableItem(
context,
'Builder version',
'26d03a26',
Icons.developer_mode,
isDark,
Obx(
() => _buildCopyableItem(
context,
'Builder version',
AppConfig.appVersionCode.toString(),
Icons.developer_mode,
isDark,
),
),
_buildInfoItem(
'打包时间',
@@ -542,6 +552,7 @@ class _AppInfoPageState extends State<AppInfoPage> {
{'name': 'Cupertino Icons', 'license': 'MIT'},
{'name': 'Shared Preferences', 'license': 'BSD 3-Clause'},
{'name': 'Dio', 'license': 'MIT'},
{'name': 'GetX', 'license': 'MIT'},
{'name': 'Platform Info', 'license': 'MIT'},
{'name': 'flutter_udid', 'license': 'MIT'},
];
@@ -979,26 +990,27 @@ class _AppInfoPageState extends State<AppInfoPage> {
],
),
),
// Divider(height: 1, color: isDark ? Colors.grey[800] : null),
// Padding(
// padding: const EdgeInsets.all(16),
// child: Column(
// crossAxisAlignment: CrossAxisAlignment.start,
// children: [
// _buildUpdateItem('版本 1.2.40', '2026-03-27', [
// '新增:主题个性化页面',
// '新增:设计风格卡片',
// '优化:界面布局和响应式设计',
// ], isDark),
// const SizedBox(height: 16),
// _buildUpdateItem('版本 1.2.39', '2026-03-27', [
// '修复:引导页滑动问题',
// '优化:左侧进度条位置',
// '新增:协议内容焦点功能',
// ], isDark),
// ],
// ),
// ),
Divider(height: 1, color: isDark ? Colors.grey[800] : null),
Padding(
padding: const EdgeInsets.all(16),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
_buildUpdateItem('版本 1.4.1', '2026-04-03', [
'新增:从 pubspec.yaml 动态获取版本号',
'新增:响应式版本号显示',
'优化:解决 package_info_plus 依赖冲突',
'修复:版本号不显示的问题',
], isDark),
const SizedBox(height: 16),
_buildUpdateItem('版本 1.3.59', '2026-04-03', [
'修复:出处字段被时间提示语遮挡的问题',
'修复:时间提示语布局遮挡问题',
'优化:诗词卡片内容布局',
], isDark),
],
),
),
],
),
);
@@ -1417,20 +1429,15 @@ class _AppInfoPageState extends State<AppInfoPage> {
void _copyToClipboard(BuildContext context, String text) {
Clipboard.setData(ClipboardData(text: text));
final primaryColor = _themeController.currentThemeColor;
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Row(
children: [
const Icon(Icons.check_circle, color: Colors.white, size: 20),
const SizedBox(width: 8),
Text('$text 已复制到剪贴板'),
],
),
backgroundColor: primaryColor,
behavior: SnackBarBehavior.floating,
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)),
duration: const Duration(seconds: 2),
),
Get.snackbar(
'复制成功',
'$text 已复制到剪贴板',
snackPosition: SnackPosition.BOTTOM,
colorText: primaryColor,
duration: const Duration(seconds: 2),
borderRadius: 8,
margin: const EdgeInsets.all(16),
icon: Icon(Icons.check_circle, color: primaryColor, size: 20),
);
}