release 1.3.1

This commit is contained in:
Developer
2026-04-01 18:40:21 +08:00
parent 91ef47f991
commit f0a62ed68b
60 changed files with 1750 additions and 313 deletions

View File

@@ -5,6 +5,7 @@ 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 '../../../config/app_config.dart';
import '../../../constants/app_constants.dart';
import '../../../controllers/shared_preferences_storage_controller.dart';
@@ -263,7 +264,7 @@ class _AppInfoPageState extends State<AppInfoPage> {
borderRadius: BorderRadius.circular(4),
),
child: Text(
'软件版本 1.5',
'软件版本 ${AppConfig.appVersion}',
style: TextStyle(
fontSize: 10,
color: _isDeveloperMode
@@ -419,7 +420,12 @@ class _AppInfoPageState extends State<AppInfoPage> {
),
),
const Divider(height: 1),
_buildCopyableItem(context, '版本号', '1.2', Icons.verified),
_buildCopyableItem(
context,
'版本号',
AppConfig.appVersion,
Icons.verified,
),
_buildCopyableItem(
context,
'Builder version',
@@ -735,21 +741,34 @@ class _AppInfoPageState extends State<AppInfoPage> {
),
),
const Divider(height: 1),
_buildInfoItem('操作系统', platformName, Icons.phone_iphone),
if (!isHarmonyOS) ...[
_buildInfoItem('设计风格', designStyle, Icons.palette),
],
_buildInfoItem('设备类型', deviceType, Icons.devices),
_buildInfoItem('构建模式', buildMode, Icons.build),
_buildInfoItem('运行环境', runtimeEnv, Icons.code),
_buildCopyableItem(
context,
'Flutter UDID',
_udid,
Icons.perm_identity,
Padding(
padding: const EdgeInsets.fromLTRB(16, 16, 16, 0),
child: GridView.count(
shrinkWrap: true,
physics: const NeverScrollableScrollPhysics(),
crossAxisCount: 2,
mainAxisSpacing: 12,
crossAxisSpacing: 12,
childAspectRatio: 2.0,
children: [
_buildGridInfoItem('操作系统', platformName, Icons.phone_iphone),
if (!isHarmonyOS) ...[
_buildGridInfoItem('设计风格', designStyle, Icons.palette),
],
_buildGridInfoItem('设备类型', deviceType, Icons.devices),
_buildGridInfoItem('构建模式', buildMode, Icons.build),
_buildGridInfoItem('运行环境', runtimeEnv, Icons.code),
_buildGridCopyableItem(
context,
'Flutter UUID',
_udid,
Icons.perm_identity,
),
],
),
),
Padding(
padding: const EdgeInsets.all(16),
padding: const EdgeInsets.fromLTRB(16, 0, 16, 16),
child: Container(
width: double.infinity,
padding: const EdgeInsets.all(12),
@@ -855,12 +874,12 @@ class _AppInfoPageState extends State<AppInfoPage> {
'优化:左侧进度条位置',
'新增:协议内容焦点功能',
]),
const SizedBox(height: 16),
_buildUpdateItem('版本 1.2.38', '2026-03-27', [
'优化:引导页滑动逻辑',
'新增:页面进度指示器',
'更新:滑动提示文本',
]),
// const SizedBox(height: 16),
// _buildUpdateItem('版本 1.2.38', '2026-03-27', [
// '优化:引导页滑动逻辑',
// '新增:页面进度指示器',
// '更新:滑动提示文本',
// ]),
],
),
),
@@ -994,6 +1013,109 @@ class _AppInfoPageState extends State<AppInfoPage> {
);
}
// 网格布局版本的信息项
Widget _buildGridInfoItem(String title, String value, IconData icon) {
return Container(
padding: const EdgeInsets.all(12),
decoration: BoxDecoration(
color: Colors.grey[50],
borderRadius: BorderRadius.circular(12),
border: Border.all(color: Colors.grey.withValues(alpha: 0.1)),
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
children: [
Icon(icon, size: 18, color: AppConstants.primaryColor),
const SizedBox(width: 8),
Expanded(
child: Text(
title,
style: TextStyle(
fontSize: 12,
fontWeight: FontWeight.w500,
color: Colors.grey[700],
),
overflow: TextOverflow.ellipsis,
),
),
],
),
const SizedBox(height: 6),
Text(
value,
style: TextStyle(
fontSize: 14,
fontWeight: FontWeight.w600,
color: Colors.black87,
),
overflow: TextOverflow.ellipsis,
maxLines: 1,
),
],
),
);
}
// 网格布局版本的可复制信息项
Widget _buildGridCopyableItem(
BuildContext context,
String title,
String value,
IconData icon,
) {
return GestureDetector(
onTap: () => _copyToClipboard(context, value),
child: Container(
padding: const EdgeInsets.all(12),
decoration: BoxDecoration(
color: Colors.grey[50],
borderRadius: BorderRadius.circular(12),
border: Border.all(color: Colors.grey.withValues(alpha: 0.1)),
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
children: [
Icon(icon, size: 18, color: AppConstants.primaryColor),
const SizedBox(width: 8),
Expanded(
child: Text(
title,
style: TextStyle(
fontSize: 12,
fontWeight: FontWeight.w500,
color: Colors.grey[700],
),
overflow: TextOverflow.ellipsis,
),
),
Icon(
Icons.content_copy,
size: 14,
color: AppConstants.primaryColor.withValues(alpha: 0.6),
),
],
),
const SizedBox(height: 6),
Text(
value,
style: TextStyle(
fontSize: 14,
fontWeight: FontWeight.w600,
color: Colors.black87,
),
overflow: TextOverflow.ellipsis,
maxLines: 1,
),
],
),
),
);
}
Widget _buildInfoItem(String title, String value, IconData icon) {
return Padding(
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12),