隐私保护引擎 - Flutter驱动的OpenHarmony方案
OpenHarmony钱包应用v1.24.0新增资产隐私模式功能,用户可通过点击余额卡片上的眼睛图标一键隐藏金额信息。该功能采用状态管理变量_isPrivacyMode控制显示状态,启用时所有金额显示为"****",保护用户在公共场合的财务隐私。更新包含完整的UI实现和交互设计,支持实时切换且不影响性能,同时优化了视觉反馈和用户体验。版本对比显示这是全新功能,此前版本不支持隐私
·
更新概述
v1.24.0 版本为 OpenHarmony 钱包应用增加了资产隐私模式功能。用户现在可以通过点击余额卡片上的眼睛图标,一键隐藏所有金额显示,保护个人财务隐私。这个功能特别适合在公共场合使用应用时,防止他人看到你的资产信息。

核心功能更新
1. 隐私模式状态管理
隐私模式变量
bool _isPrivacyMode = false;
说明:
- 用于跟踪当前是否启用隐私模式
- 默认为 false(不启用隐私模式)
- 点击眼睛图标时切换状态
2. 隐私模式UI实现
余额卡片修改
/// 构建余额卡片
Widget _buildBalanceCard() {
return Container(
margin: const EdgeInsets.all(16),
decoration: BoxDecoration(
gradient: LinearGradient(
colors: [Colors.blue.shade400, Colors.blue.shade800],
begin: Alignment.topLeft,
end: Alignment.bottomRight,
),
borderRadius: BorderRadius.circular(20),
boxShadow: [
BoxShadow(
color: Colors.blue.withOpacity(0.3),
blurRadius: 10,
offset: const Offset(0, 5),
),
],
),
padding: const EdgeInsets.all(24),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
'OpenHarmony 钱包',
style: Theme.of(context).textTheme.titleMedium?.copyWith(
color: Colors.white70,
fontWeight: FontWeight.w500,
),
),
GestureDetector(
onTap: () {
setState(() {
_isPrivacyMode = !_isPrivacyMode;
});
},
child: Icon(
_isPrivacyMode ? Icons.visibility_off : Icons.visibility,
color: Colors.white70,
size: 24,
),
),
],
),
const SizedBox(height: 12),
Text(
_isPrivacyMode ? '****' : '¥${_currentBalance.toStringAsFixed(2)}',
style: Theme.of(context).textTheme.displayMedium?.copyWith(
color: Colors.white,
fontWeight: FontWeight.bold,
),
),
const SizedBox(height: 12),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
_buildBalanceStat('收入', _calculateTotalIncome(), Colors.green),
_buildBalanceStat('支出', _calculateTotalExpense(), Colors.red),
],
),
],
),
);
}
说明:
- 在卡片顶部添加了眼睛图标按钮
- 点击图标可以切换隐私模式
- 隐私模式启用时,显示
****代替金额 - 隐私模式禁用时,显示正常的金额数字
3. 隐私模式效果
正常模式
┌─────────────────────────────────┐
│ OpenHarmony 钱包 👁️ │
│ │
│ ¥45,000.00 │
│ │
│ 收入: ¥5,000 支出: ¥135 │
└─────────────────────────────────┘
隐私模式
┌─────────────────────────────────┐
│ OpenHarmony 钱包 👁️🗨️ │
│ │
│ **** │
│ │
│ 收入: **** 支出: **** │
└─────────────────────────────────┘
使用场景
场景 1:在公共场合保护隐私
- 在咖啡厅、地铁等公共场合打开应用
- 点击余额卡片上的眼睛图标
- 所有金额都被隐藏,显示为
**** - 可以安心查看交易记录,不用担心他人看到资产信息
场景 2:快速切换显示状态
- 点击眼睛图标隐藏金额
- 处理完事务后,再点击一次显示金额
- 快速切换,无需任何额外操作
场景 3:演示或截图
- 在演示应用功能时,启用隐私模式
- 截图分享给他人,不会泄露个人财务信息
- 保护个人隐私的同时展示应用功能
功能特点
1. 一键切换
- 点击眼睛图标即可启用/禁用隐私模式
- 无需进入设置菜单
- 操作简单快速
2. 实时反馈
- 图标变化明显(睁眼 👁️ 变闭眼 👁️🗨️)
- 用户能立即看到隐私模式的状态
- 视觉反馈清晰
3. 完整隐藏
- 隐藏主余额
- 隐藏收入统计
- 隐藏支出统计
- 全面保护财务信息
4. 无性能影响
- 仅切换显示状态,不涉及数据计算
- 切换瞬间完成
- 不占用额外内存
版本对比
| 功能 | v1.23.0 | v1.24.0 |
|---|---|---|
| 高级搜索 | ✅ | ✅ |
| 隐私模式 | ❌ | ✅ |
| 一键隐藏金额 | ❌ | ✅ |
| 眼睛图标按钮 | ❌ | ✅ |
技术实现
1. 状态管理
bool _isPrivacyMode = false;
// 切换隐私模式
setState(() {
_isPrivacyMode = !_isPrivacyMode;
});
2. 条件显示
Text(
_isPrivacyMode ? '****' : '¥${_currentBalance.toStringAsFixed(2)}',
style: Theme.of(context).textTheme.displayMedium?.copyWith(
color: Colors.white,
fontWeight: FontWeight.bold,
),
)
3. 图标切换
Icon(
_isPrivacyMode ? Icons.visibility_off : Icons.visibility,
color: Colors.white70,
size: 24,
)
用户体验优化
1. 视觉设计
- 眼睛图标放在卡片右上角,易于点击
- 图标颜色与卡片背景协调
- 图标大小适中,易于识别
2. 交互反馈
- 点击图标时有明显的状态变化
- 金额显示和图标同时更新
- 用户能立即看到效果
3. 隐私保护
- 隐藏所有敏感的金额信息
- 保护用户在公共场合的隐私
- 增强用户的安全感
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net
更多推荐



所有评论(0)