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

@@ -212,30 +212,18 @@ class LearnUsPage extends StatelessWidget {
),
),
const SizedBox(height: 12),
Container(
width: double.infinity,
padding: const EdgeInsets.all(12),
decoration: BoxDecoration(
color: isDark ? const Color(0xFF3A3A3A) : Colors.grey[50],
borderRadius: BorderRadius.circular(8),
border: Border.all(
color: isDark
? Colors.grey[700]!.withAlpha(20)
: Colors.grey.withAlpha(20),
),
),
child: Row(
children: [
Icon(Icons.link, size: 16, color: primaryColor),
const SizedBox(width: 8),
Expanded(
child: Text(
'https://poe.vogov.cn/app.html',
style: TextStyle(fontSize: 14, color: primaryColor),
),
),
],
),
_buildWebsiteItem(
'https://poe.vogov.cn/app.html',
'官方APP页',
isDark,
primaryColor,
),
const SizedBox(height: 12),
_buildWebsiteItem(
'https://poe.vogov.cn/',
'情景诗词在线版',
isDark,
primaryColor,
),
],
),
@@ -245,6 +233,71 @@ class LearnUsPage extends StatelessWidget {
);
}
Widget _buildWebsiteItem(
String url,
String label,
bool isDark,
Color primaryColor,
) {
return Container(
width: double.infinity,
padding: const EdgeInsets.all(12),
decoration: BoxDecoration(
color: isDark ? const Color(0xFF3A3A3A) : Colors.grey[50],
borderRadius: BorderRadius.circular(8),
border: Border.all(
color: isDark
? Colors.grey[700]!.withAlpha(20)
: Colors.grey.withAlpha(20),
),
),
child: Row(
children: [
Icon(Icons.link, size: 16, color: primaryColor),
const SizedBox(width: 8),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
label,
style: TextStyle(
fontSize: 12,
color: isDark ? Colors.grey[400] : Colors.grey,
),
),
Text(url, style: TextStyle(fontSize: 14, color: primaryColor)),
],
),
),
const SizedBox(width: 8),
GestureDetector(
onTap: () {
Clipboard.setData(ClipboardData(text: url));
Get.snackbar(
'复制成功',
'链接已复制到剪贴板',
duration: const Duration(seconds: 2),
colorText: primaryColor,
snackPosition: SnackPosition.BOTTOM,
borderRadius: 8,
margin: const EdgeInsets.all(16),
);
},
child: Container(
padding: const EdgeInsets.all(4),
decoration: BoxDecoration(
color: primaryColor.withAlpha(10),
borderRadius: BorderRadius.circular(4),
),
child: Icon(Icons.content_copy, size: 16, color: primaryColor),
),
),
],
),
);
}
Widget _buildQQGroupCard(BuildContext context, bool isDark) {
final themeController = Get.find<ThemeController>();
final primaryColor = themeController.currentThemeColor;
@@ -352,20 +405,15 @@ class LearnUsPage extends StatelessWidget {
final primaryColor = themeController.currentThemeColor;
Clipboard.setData(const ClipboardData(text: '271129018'));
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: const Row(
children: [
Icon(Icons.check_circle, color: Colors.white, size: 20),
SizedBox(width: 8),
Text('QQ群号已复制到剪贴板'),
],
),
backgroundColor: primaryColor,
behavior: SnackBarBehavior.floating,
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)),
duration: const Duration(seconds: 2),
),
Get.snackbar(
'复制成功',
'QQ群号已复制到剪贴板',
duration: const Duration(seconds: 2),
colorText: primaryColor,
snackPosition: SnackPosition.BOTTOM,
borderRadius: 8,
margin: const EdgeInsets.all(16),
icon: Icon(Icons.check_circle, color: primaryColor, size: 20),
);
}
@@ -572,14 +620,21 @@ class LearnUsPage extends StatelessWidget {
const SizedBox(width: 8),
GestureDetector(
onTap: () {
final themeController =
Get.find<ThemeController>();
final primaryColor =
themeController.currentThemeColor;
Clipboard.setData(
const ClipboardData(text: '微风暴'),
);
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
content: Text('已复制到剪贴板'),
duration: Duration(seconds: 2),
),
Get.snackbar(
'复制成功',
'已复制到剪贴板',
duration: const Duration(seconds: 2),
colorText: primaryColor,
snackPosition: SnackPosition.BOTTOM,
borderRadius: 8,
margin: const EdgeInsets.all(16),
);
},
child: Icon(
@@ -734,6 +789,8 @@ class LearnUsPage extends StatelessWidget {
}
Widget _buildIcpCard(BuildContext context, bool isDark) {
final themeController = Get.find<ThemeController>();
final primaryColor = themeController.currentThemeColor;
return Container(
decoration: BoxDecoration(
color: isDark ? const Color(0xFF2A2A2A) : Colors.white,
@@ -794,6 +851,7 @@ class LearnUsPage extends StatelessWidget {
'复制成功',
'备案号已复制到剪贴板',
duration: const Duration(seconds: 1),
colorText: primaryColor,
);
},
child: Row(