Contact Manager App
一个基于ArkTS构建的联系人管理应用,在系统联系人能力之上扩展了联系人元数据管理、行为追踪及数据安全恢复机制,实现更完善的联系人管理体验。
✨ 核心功能模块
1️⃣ 联系人重要性标记与分组
- 设计
MetadataService作为联系人扩展元数据管理层 - 为联系人建立独立的元数据模型,支持 普通 / 重要 / 紧急 三级重要性枚举
- 通过本地持久化存储维护联系人重要性状态,实现与系统联系人数据解耦
- 基于状态驱动 UI 渲染,在联系人列表顶部构建独立优先级分组
- 使用可折叠
ListItemGroup结合颜色标识与角标区分不同重要等级
2️⃣ 最近联系人活动追踪
- 构建联系人行为记录机制,在以下操作节点进行日志采集:
- 查看联系人
- 编辑联系人
- 新建联系人
- 将行为数据封装为
ContactActivity模型,统一管理活动类型与时间戳 - 基于时间戳与时间区间算法,将活动自动分组为:
- 今天
- 昨天
- 本周
- 更早
- 通过状态驱动的 Tab 切换(最近查看 / 最近编辑 / 最近添加)实现分类筛选与数据刷新
3️⃣ 回收站软删除与恢复机制
- 采用逻辑删除架构替代物理删除
- 删除联系人时,将联系人实体及其扩展元数据进行序列化,存储为本地备份副本
- 引入过期时间字段,实现定期清理的延迟删除策略
- 恢复联系人时执行:
- 数据反序列化
- 系统联系人重新创建
- 扩展元数据回填
- 确保删除与恢复流程中的数据一致性与完整性
4️⃣ 联系人首字母分组与排序
- 实现基于字符串处理的分组索引算法
- 提取联系人姓名首字符,并基于 Unicode 范围进行标准化处理:
- 英文字母统一转换为大写 A–Z
- 非字母字符归类到
#分组
- 采用双层排序策略优化列表结构:
- 分组按字母顺序排序
- 组内联系人按姓名字典序排序
🧠 技术要点
- 本地持久化存储:扩展联系人元数据与行为记录
- 状态驱动 UI(ArkUI):实现分组展示、Tab 筛选与动态刷新
- 数据模型设计:
ContactActivity、联系人扩展 Metadata - 数据安全策略:逻辑删除 + 本地备份 + 延迟清理
📌 项目特点
- 在系统联系人数据之上扩展业务元数据能力
- 实现联系人行为追踪与时间维度分析
- 提供可恢复的数据删除机制,增强数据安全性
- 结合分组算法与状态驱动 UI,优化联系人浏览与管理效率