chore: 移除NFC/蓝牙相关支持,更新设备在线统计,新增功能优化

1.  移除NFC和蓝牙相关依赖、权限及功能代码,精简传输链路
2.  重构设备在线统计逻辑,使用后端7天活跃字段替代本地计算
3.  更新应用名称、权限说明和协议文档
4.  新增消息转发、缓存管理、医疗免责提示功能
5.  优化运势模块和字体管理文案,修复构建日志问题
This commit is contained in:
Developer
2026-06-06 06:12:09 +08:00
parent e0329ab103
commit 214a0684d0
122 changed files with 5849 additions and 3710 deletions

View File

@@ -4,6 +4,157 @@
***
## [v6.20.2] - 2026-06-06
### 📱 鸿蒙端占位页面体验优化 — 友好提示 + 功能介绍
#### 优化
- **占位页面全面重构** — 将5个鸿蒙端占位页面协作画布/屏幕共享/传输聊天/快速卡片/编辑器子页面)从简陋的"暂不支持"提示升级为完整的功能介绍页面
- **统一占位页面风格** — 提取 `_OhosFeaturePlaceholder` 通用组件统一emoji图标 + 功能名称 + 适配状态徽章 + 功能介绍 + 特性列表 + 返回按钮的布局
- **适配状态徽章** — 使用黄色圆点 + "该功能正在适配中" 替代原来的"鸿蒙端暂不支持XXX",语气更友好
- **功能介绍文案** — 每个占位页面增加功能描述和3-4条特性说明让用户了解该功能的用途
- **编辑器子页面差异化** — 图片预览/图片裁剪/图片画廊/3D模型预览各自显示不同的emoji和功能介绍
- **OhosNotFoundWidget 升级** — 404页面同步升级为统一设计风格
- **使用设计系统令牌** — 所有占位页面使用 AppTheme/AppSpacing/AppTypography/AppRadius 统一设计令牌,支持深色模式
#### 鸿蒙端功能可行性分析
- **协作画布** — 依赖 flutter_webrtc不支持鸿蒙CRDT纯Dart可运行但无传输通道保留占位
- **屏幕共享** — 依赖 flutter_webrtc + InAppScreenCapture均不支持鸿蒙保留占位
- **传输聊天** — Socket/WebSocket理论上可用但文件传输依赖 nearby_service/localsend 等原生库不支持鸿蒙,保留占位
- **快速卡片** — 核心为纯Flutter组件理论上可运行但TTS/屏幕常亮/相册保存需降级处理,当前保留占位待验证
- **编辑器子页面** — 图片预览(photo_view)/画廊可能可用,裁剪(extended_image)/3D(flutter_3d_controller)需验证,保留占位
#### 修改文件
- `lib/core/router/ohos_placeholders.dart` — 全面重构占位页面,提取通用组件,增加功能介绍
***
## [v6.20.1] - 2026-06-06
### 🔧 跨平台编译修复 — Web/iOS/macOS三端编译通过
#### 修复
- **quill_native_bridge_windows 与 win32 6.x 不兼容** — 添加 `dependency_overrides` 指向本地修补版 `packages/quill_native_bridge_windows`已适配win32 6.x API解决macOS编译失败
- **nearby_service_adapter 条件导出** — 拆分为 `nearby_service_adapter_io.dart`(原生平台)+ `nearby_service_adapter_web.dart`Web桩实现解决Web编译时 `nearby_connections``dart:io` 不可用问题
- **oauth_service.dart 平台抽象** — `Platform.isIOS`/`Platform.isMacOS` 替换为 `pu.isIOS`/`pu.isMacOS`项目平台抽象层解决Web编译时 `dart:io` 不可用问题
- **缺失4个依赖包** — 在 `pubspec.yaml`/`pubspec.macos.yaml`/`pubspec.ohos.yaml` 中补充 `nearby_connections`/`flutter_web_auth`/`google_sign_in`/`sign_in_with_apple`
#### 新增文件
- `lib/features/file_transfer/services/transport/nearby_service_adapter_io.dart` — 原生平台nearby_service适配器实现
- `lib/features/file_transfer/services/transport/nearby_service_adapter_web.dart` — Web平台桩实现所有方法返回false/空)
- `lib/features/file_transfer/services/transport/nearby_connections_web.dart` — Web平台nearby_connections类型桩
- `lib/features/file_transfer/services/transport/dart_io_stub.dart` — Web平台dart:io桩备用
#### 编译结果
- ✅ Web: `build/web` 编译成功341.5s
- ✅ iOS: `build/ios/iphoneos/Runner.app` (100.5MB) 编译成功
- ✅ macOS: `build/macos/Build/Products/Release/xianyan.app` (200.2MB) 编译成功
#### 修改文件
- `pubspec.yaml` — 补充4个依赖 + quill_native_bridge_windows path override
- `pubspec.macos.yaml` — 同步补充4个依赖 + quill_native_bridge_windows path override
- `pubspec.ohos.yaml` — 同步补充4个依赖
- `lib/features/file_transfer/services/transport/nearby_service_adapter.dart` — 改为条件导出
- `lib/features/auth/services/oauth_service.dart` — dart:io → 平台抽象层
***
## [v6.20.0] - 2026-06-05
### 📱 文件传输 — 集成nearby_connections实现P2P近场传输
#### 新增
- **nearby_connections P2P传输引擎** — 在NearbyServiceAdapter中集成Google Nearby Connections库实现蓝牙发现+Wi-Fi Direct传输双引擎
- **附近设备发现入口** — 设备配对页面"其他"标签新增"📱 附近设备"卡片仅Android/iOS显示
- **PairingMethod.nearbyP2p** — 新增配对方式枚举值标识nearby_connections P2P连接
- **DegradationManager.nearbyP2p** — 新增平台能力检测非Android/iOS平台自动降级提示
- **P2P传输进度流** — NearbyP2pTransferProgress类实时跟踪文件传输进度
- **P2P设备发现流** — NearbyP2pDeviceInfo类管理设备发现/连接/断开状态
- **14种语言翻译** — 新增nearbyDiscovery/nearbyDiscoveryDesc翻译键
#### 修复
- **NearbyConnections API调用修正** — `NearbyConnections()``Nearby()`nearby_connections包的正确单例类名
- **PayloadStatus枚举修正** — `PayloadTransferUpdateStatus``PayloadStatus``COMPLETED``SUCCESS`匹配包实际API
- **P2P权限请求修正** — 使用permission_handler替代不存在的Nearby权限方法支持位置/蓝牙/附近Wi-Fi设备权限
- **startDiscovery参数修正** — 第一个参数为userNickName而非serviceId
- **OnEndpointLost回调修正** — endpointId参数类型为`String?`(可空)
- **requestConnection回调补全** — 添加必需的onConnectionInitiated/onConnectionResult/onDisconnected回调
- **Switch穷举补全** — device_discovery_provider/pairing_service中补充PairingMethod.nearbyP2p分支
#### 新增依赖
- `nearby_connections: ^4.1.1` — Google Nearby Connections(蓝牙发现+Wi-Fi Direct传输,仅Android/iOS)
#### 修改文件
- `lib/features/file_transfer/services/transport/nearby_service_adapter.dart` — 双引擎架构(nearby_service + nearby_connections)
- `lib/features/file_transfer/presentation/pages/device_pairing_page.dart` — 新增附近设备发现入口
- `lib/features/file_transfer/models/transfer_enums.dart` — 新增PairingMethod.nearbyP2p
- `lib/features/file_transfer/services/degradation_manager.dart` — 新增nearbyP2p平台能力
- `lib/features/file_transfer/providers/device_discovery_provider.dart` — 补充nearbyP2p switch分支
- `lib/features/file_transfer/services/pairing_service.dart` — 补充nearbyP2p switch分支
- `lib/l10n/types/t_profile.dart` — 新增nearbyDiscovery/nearbyDiscoveryDesc字段
- `lib/l10n/languages/*.dart` — 14种语言文件新增翻译
- `pubspec.yaml` — 新增nearby_connections依赖
***
## [v6.19.4] - 2026-06-05
### 🔧 App Store审核修复 — 移除NFC/蓝牙/Web登录修复注册流程
#### 审核被拒问题修复
1. **Guideline 2.1 — NFC功能需演示视频** → 移除全部NFC功能代码、权限声明和依赖flutter_nfc_kit、ndef
2. **Guideline 4 — 登录跳转外部浏览器** → 移除"Web登录"按钮(原跳转 `https://tools.wktyl.com/web-login` 至系统浏览器)
3. **Guideline 2.1(a) — 注册收不到验证码** → 修复注册流程:点击"下一步"进入验证码步骤时自动发送邮件验证码并启动倒计时,无需手动点击"重新发送"
4. **蓝牙功能移除** → 蓝牙仅用于设备发现非数据传输已有6种替代配对方式同步移除全部蓝牙代码、权限声明和依赖flutter_blue_plus
#### 新增
- 注册页面Header区域增加 提示按钮,点击显示温馨提示对话框:
- 闲言保持开放性,即使不登录也能体验大部分功能
- 服务器偶尔异常可能导致注册流程失败
- 我们会在后续更新中完善注册验证流程
#### 移除功能
- **NFC句子分享**NfcShareService— 删除服务、Provider、UI按钮
- **NFC设备配对**NfcPairingService— 删除服务、配对入口
- **蓝牙BLE配对**BluetoothPairingService— 删除服务、配对入口
- **附近用户发现**NearbyDiscoveryService + NearbyUsersSheet— 删除服务、UI
- **Web登录**(跳转外部浏览器)— 删除登录页按钮和相关方法
#### 移除的权限声明
- iOS: NFCReaderUsageDescription、com.apple.developer.nfc.readersession.formats、NSBluetoothAlwaysUsageDescription
- Android: NFC权限/特性、全部蓝牙权限BLUETOOTH/BLUETOOTH_ADMIN/BLUETOOTH_SCAN/BLUETOOTH_CONNECT/BLUETOOTH_ADVERTISE/bluetooth_le
- HarmonyOS: ACCESS_BLUETOOTH权限、permission_nfc_reason、permission_bluetooth_reason
#### 移除的依赖
- flutter_nfc_kit ^3.6.0
- ndef
- flutter_blue_plus ^2.1.0
#### 修改文件(主要)
- `lib/features/auth/presentation/register_section.dart` — 自动发送验证码 + 提示对话框
- `lib/features/auth/presentation/login_page.dart` — 移除Web登录按钮
- `lib/features/file_transfer/` — 移除NFC/蓝牙配对服务和UI
- `lib/core/services/nfc/` — 整个目录删除
- `lib/core/services/bluetooth/` — 整个目录删除
- `lib/features/home/presentation/nearby_users_sheet.dart` — 删除
- iOS/Android/HarmonyOS 权限配置文件 — 移除NFC/蓝牙权限
- 14种语言文件 — 移除NFC/蓝牙翻译字符串
- 协议HTML文件 — 移除NFC/蓝牙权限说明permission-usage V6.6、privacy-policy V6.7、app-introduction V6.6
## [v6.19.3] - 2026-06-05
### 📝 文档更新 — 移除NFC和蓝牙相关协议引用
#### 变更说明
因NFC和蓝牙功能已从应用中移除同步更新所有协议HTML文件中的相关引用
1. **permission-usage.html** — 移除"蓝牙权限"章节(原第五节),重新编号后续章节(附近设备权限→第五节,网络权限→第六节,权限管理原则→第七节,权限变更→第八节,联系方式→第九节,法律适用→第十节),版本号 V6.5 → V6.6
2. **privacy-policy.html** — 业务功能映射表中"文件传输助手"的权限从"蓝牙/位置/附近设备权限"更新为"位置/附近设备权限",版本号 V6.6 → V6.7
3. **app-introduction.html** — 文件传输助手功能列表移除"蓝牙传输",新增"二维码配对传输",更新日期
#### 未修改文件无NFC/蓝牙引用)
- beginner-guide.html、disclaimer.html、user-service-agreement.html、account-agreement.html、member-benefits.html、children-privacy.html、dev-team.html、index.html
## [v6.19.2] - 2026-06-05
### 🐛 Bug修复 — macOS 编译运行关键问题修复