feat(client): iOS 上架合规——首启隐私同意弹窗 + 注销账号入口

个保法/审核 5.1.1:移动端首启全屏隐私同意(链接隐私政策/用户协议,
同意持久化;不同意 Android 退出、iOS 留提示);我的页 iOS 形态新增
「注销账号」(sheet 说明 + 预填 mailto 至 support@51yanmei.com)。
关于页隐私政策/服务条款链接已有,桌面/Web 零改动。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
wangjia
2026-07-05 08:56:26 +08:00
parent dddf402d92
commit b740cc6edf
5 changed files with 298 additions and 2 deletions
+15 -2
View File
@@ -12,9 +12,22 @@ import 'package:flutter/foundation.dart' show kIsWeb, visibleForTesting;
@visibleForTesting
bool? debugForceHideExternalPurchaseUi;
/// 为真时隐藏一切外部购买 UI(iOS App Store 包)
bool get hideExternalPurchaseUi =>
/// 测试注入:模拟「需要首启隐私同意」的移动端形态
@visibleForTesting
bool? debugForcePrivacyConsentRequired;
/// 是否 iOS App Store 分发包(注销账号入口等合规件按此渲染)。
bool get isIosAppStoreBuild =>
debugForceHideExternalPurchaseUi ?? (!kIsWeb && Platform.isIOS);
/// 为真时隐藏一切外部购买 UIiOS App Store 包)。
bool get hideExternalPurchaseUi => isIosAppStoreBuild;
/// 是否需要首启「个人信息保护」同意弹层(个保法 + 应用商店审核):
/// 仅移动端(iOS/Android);桌面与 Web 不弹。
bool get needsPrivacyConsent =>
debugForcePrivacyConsentRequired ??
(!kIsWeb && (Platform.isIOS || Platform.isAndroid));
/// 客服邮箱(授权管理「联系客服」卡、异常兜底提示等处使用)。
const String supportEmail = 'support@51yanmei.com';