跳转至

资产过滤规则

概述

本文介绍 TronLink 钱包中资产过滤逻辑的实现,重点说明基础模式、安全防诈骗提醒和资产显示设置之间的关系。

核心组成

1. 过滤状态

  • hideLittleAssets:控制是否隐藏小额资产
  • hideScamToken:控制是否隐藏诈骗代币

2. 模式状态

  • isBasicMode:表示钱包是否处于基础模式
  • isAntiCheatOpen:表示是否开启安全防诈骗提醒

实现细节

过滤状态管理

读取过滤状态

readHideLittleAssetsFlag() 方法负责初始化和更新过滤状态:

  1. 从存储中读取已保存的过滤设置
  2. 获取当前模式状态
  3. 根据模式状态更新过滤状态
  4. 更新界面,展示当前过滤状态

更新过滤状态

updateFiltersState() 方法管理过滤状态逻辑:

  1. 在基础模式下:
  2. 强制将 hideLittleAssets 设为 false
  3. 忽略已保存的小额资产隐藏设置
  4. 在非基础模式下:
  5. 使用已保存的 hideLittleAssets 设置
  6. 对于诈骗代币过滤:
  7. 仅在开启防诈骗提醒时生效
  8. 使用已保存的 hideScamToken 设置

模式变更处理

基础模式变更

开启基础模式时:

  1. 如果当前按资产价值排序,则切换为用户自定义排序
  2. 更新过滤状态
  3. 刷新界面

防诈骗提醒状态变更

关闭防诈骗提醒时:

  1. 清除已保存的诈骗代币隐藏设置
  2. 更新过滤状态
  3. 刷新界面

界面更新

updateFiltersUI() 方法:

  1. 更新界面中的过滤状态标识
  2. 向用户展示当前过滤状态

关键方法

readHideLittleAssetsFlag()

  • 用途:初始化和更新过滤状态
  • 触发时机:模式变更、应用启动
  • 依赖:已保存的设置、当前模式状态

updateFiltersState()

  • 用途:根据模式应用过滤逻辑
  • 参数:
  • isBasicMode:基础模式状态
  • isAntiCheatOpen:防诈骗提醒状态
  • savedHideLittleAssets:已保存的小额资产隐藏设置
  • savedHideScamToken:已保存的诈骗代币隐藏设置

handleBasicModeChanged()

  • 用途:处理基础模式状态变更
  • 操作:
  • 按需更新排序方式
  • 刷新过滤状态

handleAntiCheatChanged()

  • 用途:处理防诈骗提醒状态变更
  • 操作:
  • 在关闭防诈骗提醒时清除诈骗代币相关设置
  • 更新过滤状态

状态依赖

  1. 基础模式的影响:
  2. 覆盖小额资产隐藏设置
  3. 强制使用用户自定义排序
  4. 防诈骗提醒的影响:
  5. 控制诈骗代币过滤
  6. 关闭时清除相关设置

界面集成

过滤状态通过以下界面元素体现:

  1. 过滤状态标识
  2. 资产列表显示
  3. 排序选项

后续考虑

  1. 潜在改进:
  2. 增加更细粒度的过滤控制
  3. 实现预设过滤方案
  4. 增加过滤统计功能
  5. 维护要点:
  6. 监控过滤性能
  7. 跟踪用户的过滤偏好
  8. 优化过滤更新频率