readme.md

Contact Manager App

一个基于ArkTS构建的联系人管理应用,在系统联系人能力之上扩展了联系人元数据管理、行为追踪及数据安全恢复机制,实现更完善的联系人管理体验。


✨ 核心功能模块

1️⃣ 联系人重要性标记与分组

  • 设计 MetadataService 作为联系人扩展元数据管理层
  • 为联系人建立独立的元数据模型,支持 普通 / 重要 / 紧急 三级重要性枚举
  • 通过本地持久化存储维护联系人重要性状态,实现与系统联系人数据解耦
  • 基于状态驱动 UI 渲染,在联系人列表顶部构建独立优先级分组
  • 使用可折叠 ListItemGroup 结合颜色标识与角标区分不同重要等级

2️⃣ 最近联系人活动追踪

  • 构建联系人行为记录机制,在以下操作节点进行日志采集:
    • 查看联系人
    • 编辑联系人
    • 新建联系人
  • 将行为数据封装为 ContactActivity 模型,统一管理活动类型与时间戳
  • 基于时间戳与时间区间算法,将活动自动分组为:
    • 今天
    • 昨天
    • 本周
    • 更早
  • 通过状态驱动的 Tab 切换(最近查看 / 最近编辑 / 最近添加)实现分类筛选与数据刷新

3️⃣ 回收站软删除与恢复机制

  • 采用逻辑删除架构替代物理删除
  • 删除联系人时,将联系人实体及其扩展元数据进行序列化,存储为本地备份副本
  • 引入过期时间字段,实现定期清理的延迟删除策略
  • 恢复联系人时执行:
    1. 数据反序列化
    2. 系统联系人重新创建
    3. 扩展元数据回填
  • 确保删除与恢复流程中的数据一致性与完整性

4️⃣ 联系人首字母分组与排序

  • 实现基于字符串处理的分组索引算法
  • 提取联系人姓名首字符,并基于 Unicode 范围进行标准化处理:
    • 英文字母统一转换为大写 A–Z
    • 非字母字符归类到 # 分组
  • 采用双层排序策略优化列表结构:
    1. 分组按字母顺序排序
    2. 组内联系人按姓名字典序排序

🧠 技术要点

  • 本地持久化存储:扩展联系人元数据与行为记录
  • 状态驱动 UI(ArkUI):实现分组展示、Tab 筛选与动态刷新
  • 数据模型设计:ContactActivity、联系人扩展 Metadata
  • 数据安全策略:逻辑删除 + 本地备份 + 延迟清理

📌 项目特点

  • 在系统联系人数据之上扩展业务元数据能力
  • 实现联系人行为追踪与时间维度分析
  • 提供可恢复的数据删除机制,增强数据安全性
  • 结合分组算法与状态驱动 UI,优化联系人浏览与管理效率