资产过滤规则
概述
本文介绍 TronLink 钱包中资产过滤逻辑的实现,重点说明基础模式、安全防诈骗提醒和资产显示设置之间的关系。
核心组成
1. 过滤状态
hideLittleAssets:控制是否隐藏小额资产hideScamToken:控制是否隐藏诈骗代币
2. 模式状态
isBasicMode:表示钱包是否处于基础模式isAntiCheatOpen:表示是否开启安全防诈骗提醒
实现细节
过滤状态管理
读取过滤状态
readHideLittleAssetsFlag() 方法负责初始化和更新过滤状态:
- 从存储中读取已保存的过滤设置
- 获取当前模式状态
- 根据模式状态更新过滤状态
- 更新界面,展示当前过滤状态
更新过滤状态
updateFiltersState() 方法管理过滤状态逻辑:
- 在基础模式下:
- 强制将
hideLittleAssets设为false - 忽略已保存的小额资产隐藏设置
- 在非基础模式下:
- 使用已保存的
hideLittleAssets设置 - 对于诈骗代币过滤:
- 仅在开启防诈骗提醒时生效
- 使用已保存的
hideScamToken设置
模式变更处理
基础模式变更
开启基础模式时:
- 如果当前按资产价值排序,则切换为用户自定义排序
- 更新过滤状态
- 刷新界面
防诈骗提醒状态变更
关闭防诈骗提醒时:
- 清除已保存的诈骗代币隐藏设置
- 更新过滤状态
- 刷新界面
界面更新
updateFiltersUI() 方法:
- 更新界面中的过滤状态标识
- 向用户展示当前过滤状态
关键方法
readHideLittleAssetsFlag()
- 用途:初始化和更新过滤状态
- 触发时机:模式变更、应用启动
- 依赖:已保存的设置、当前模式状态
updateFiltersState()
- 用途:根据模式应用过滤逻辑
- 参数:
isBasicMode:基础模式状态isAntiCheatOpen:防诈骗提醒状态savedHideLittleAssets:已保存的小额资产隐藏设置savedHideScamToken:已保存的诈骗代币隐藏设置
handleBasicModeChanged()
- 用途:处理基础模式状态变更
- 操作:
- 按需更新排序方式
- 刷新过滤状态
handleAntiCheatChanged()
- 用途:处理防诈骗提醒状态变更
- 操作:
- 在关闭防诈骗提醒时清除诈骗代币相关设置
- 更新过滤状态
状态依赖
- 基础模式的影响:
- 覆盖小额资产隐藏设置
- 强制使用用户自定义排序
- 防诈骗提醒的影响:
- 控制诈骗代币过滤
- 关闭时清除相关设置
界面集成
过滤状态通过以下界面元素体现:
- 过滤状态标识
- 资产列表显示
- 排序选项
后续考虑
- 潜在改进:
- 增加更细粒度的过滤控制
- 实现预设过滤方案
- 增加过滤统计功能
- 维护要点:
- 监控过滤性能
- 跟踪用户的过滤偏好
- 优化过滤更新频率