马良AI写作初始化仓库

This commit is contained in:
邓滨杰
2025-09-10 00:07:52 +08:00
parent 3c06bb1a03
commit 39c0f8840f
1309 changed files with 318528 additions and 0 deletions

View File

@@ -0,0 +1,113 @@
import 'package:flutter/material.dart';
/// 处理状态指示器组件
class ProcessingIndicator extends StatelessWidget {
/// 进度值0.0-1.0
final double progress;
/// 取消操作回调
final VoidCallback? onCancel;
const ProcessingIndicator({
Key? key,
this.progress = 0.0,
this.onCancel,
}) : super(key: key);
@override
Widget build(BuildContext context) {
final theme = Theme.of(context);
final showProgress = progress > 0 && progress < 1.0;
return Container(
margin: const EdgeInsets.symmetric(vertical: 16),
padding: const EdgeInsets.all(16),
decoration: BoxDecoration(
color: theme.colorScheme.primaryContainer.withOpacity(0.2),
borderRadius: BorderRadius.circular(8),
border: Border.all(
color: theme.colorScheme.primary.withOpacity(0.3),
),
),
child: Column(
children: [
// 标题和进度指示
Row(
children: [
const SizedBox(
width: 24,
height: 24,
child: CircularProgressIndicator(
strokeWidth: 3,
),
),
const SizedBox(width: 16),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'正在优化提示词模板...',
style: TextStyle(
fontWeight: FontWeight.bold,
color: theme.colorScheme.primary,
),
),
const SizedBox(height: 4),
Text(
_getStatusMessage(progress),
style: TextStyle(
fontSize: 13,
color: theme.colorScheme.onSurfaceVariant,
),
),
],
),
),
if (onCancel != null)
TextButton.icon(
icon: const Icon(Icons.cancel, size: 16),
label: const Text('取消'),
onPressed: onCancel,
),
],
),
// 进度条
if (showProgress) ...[
const SizedBox(height: 16),
LinearProgressIndicator(
value: progress,
backgroundColor: theme.colorScheme.surfaceVariant,
valueColor: AlwaysStoppedAnimation<Color>(theme.colorScheme.primary),
),
const SizedBox(height: 8),
Text(
'${(progress * 100).toInt()}%',
style: TextStyle(
fontSize: 12,
color: theme.colorScheme.onSurfaceVariant,
),
textAlign: TextAlign.center,
),
],
],
),
);
}
/// 获取状态消息
String _getStatusMessage(double progress) {
if (progress < 0.1) {
return '正在分析提示词内容...';
} else if (progress < 0.4) {
return '生成优化建议中...';
} else if (progress < 0.7) {
return '应用语言模型增强中...';
} else if (progress < 0.9) {
return '润色和格式化内容...';
} else {
return '优化即将完成...';
}
}
}