feat: 完成2026-06-09版本迭代更新

此版本包含:
1. 新增位置消息发送与展示功能
2. 完善多语言本地化文案
3. 新增安卓端管理空间Activity与图标背景
4. 优化摇一摇开关逻辑与深度链接配置
5. 新增信息流平台过滤与A/B测试后台功能
6. 更新签名配置与构建脚本
7. 修复若干已知问题与代码优化
This commit is contained in:
Developer
2026-06-09 23:18:13 +08:00
parent e53cd7f496
commit a4a7e10722
119 changed files with 10758 additions and 3893 deletions

View File

@@ -1,9 +1,9 @@
/// ============================================================
/// 闲言APP — 纠错页面
/// 创建时间: 2026-04-28
/// 更新时间: 2026-06-01
/// 更新时间: 2026-06-09
/// 作用: 提交内容纠错
/// 上次更新: 未登录时增加邮箱输入框(选填)、提交前增加数学验证码
/// 上次更新: 纠错记录来源标签移至右下角与状态对齐,服务端改为管理员
/// ============================================================
import 'dart:math';
@@ -20,6 +20,7 @@ import '../../../features/auth/providers/auth_provider.dart';
import '../../../shared/widgets/adaptive/adaptive_back_button.dart';
import '../../../shared/widgets/containers/glass_container.dart';
import '../../../shared/widgets/feedback/app_toast.dart';
import '../../../shared/widgets/feedback/contact_email_sheet.dart';
import '../providers/correction_provider.dart';
import '../../../core/services/device/haptic_service.dart';
@@ -791,6 +792,52 @@ class _CorrectionPageState extends ConsumerState<CorrectionPage> {
},
),
),
// 底部邮箱联系按钮
Padding(
padding: const EdgeInsets.symmetric(
horizontal: AppSpacing.md,
vertical: AppSpacing.sm,
),
child: GestureDetector(
onTap: () {
Navigator.pop(ctx);
ContactEmailSheet.show(context);
},
child: Container(
width: double.infinity,
padding: const EdgeInsets.symmetric(
horizontal: AppSpacing.md,
vertical: AppSpacing.md,
),
decoration: BoxDecoration(
color: ext.accent.withValues(alpha: 0.08),
borderRadius: AppRadius.lgBorder,
border: Border.all(
color: ext.accent.withValues(alpha: 0.15),
),
),
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Icon(
CupertinoIcons.envelope_fill,
size: 18,
color: ext.accent,
),
const SizedBox(width: AppSpacing.sm),
Text(
'联系邮箱反馈',
style: AppTypography.subhead.copyWith(
color: ext.accent,
fontWeight: FontWeight.w600,
),
),
],
),
),
),
),
const SizedBox(height: AppSpacing.md),
],
),
);
@@ -859,25 +906,6 @@ class _CorrectionPageState extends ConsumerState<CorrectionPage> {
),
),
const Spacer(),
Container(
padding: const EdgeInsets.symmetric(
horizontal: AppSpacing.sm,
vertical: 2,
),
decoration: BoxDecoration(
color: (isLocal ? ext.accent : CupertinoColors.systemGreen)
.withValues(alpha: 0.12),
borderRadius: AppRadius.smBorder,
),
child: Text(
isLocal ? '📱 本地' : '☁️ 服务端',
style: AppTypography.caption1.copyWith(
color: isLocal ? ext.accent : CupertinoColors.systemGreen,
fontWeight: FontWeight.w600,
),
),
),
const SizedBox(width: AppSpacing.xs),
Container(
padding: const EdgeInsets.symmetric(
horizontal: AppSpacing.sm,
@@ -898,9 +926,32 @@ class _CorrectionPageState extends ConsumerState<CorrectionPage> {
],
),
const SizedBox(height: AppSpacing.xs),
Text(
dateStr,
style: AppTypography.caption1.copyWith(color: ext.textHint),
Row(
children: [
Text(
dateStr,
style: AppTypography.caption1.copyWith(color: ext.textHint),
),
const Spacer(),
Container(
padding: const EdgeInsets.symmetric(
horizontal: AppSpacing.sm,
vertical: 2,
),
decoration: BoxDecoration(
color: (isLocal ? ext.accent : CupertinoColors.systemGreen)
.withValues(alpha: 0.12),
borderRadius: AppRadius.smBorder,
),
child: Text(
isLocal ? '📱 本地' : '👤 管理员',
style: AppTypography.caption1.copyWith(
color: isLocal ? ext.accent : CupertinoColors.systemGreen,
fontWeight: FontWeight.w600,
),
),
),
],
),
],
),