首页
/ Expensify/App 中与会者追踪功能的默认启用逻辑优化

Expensify/App 中与会者追踪功能的默认启用逻辑优化

2025-06-15 22:15:44作者:秋泉律Samson

背景与问题

在Expensify/App项目中,与会者追踪(Attendee Tracking)功能是费用管理系统中一个重要的特性。该功能允许政策(Policy)管理员跟踪会议或活动的参与者信息。在之前的实现中,这个功能的启用状态对于新旧政策的处理存在不一致性,特别是在向后兼容Classic版本时出现了问题。

技术实现方案

开发团队对这一问题进行了深入分析,最终确定了以下技术解决方案:

  1. 新版本(NewDot)处理逻辑

    • 修改了shouldShowAttendees方法的判断逻辑
    • 对于控制政策(control policies),当isAttendeeTrackingEnabled属性完全不存在时(即旧有政策),默认返回true
    • 这一变更确保了旧有政策能够保持与Classic版本相同的行为模式
  2. 后端与前端乐观数据处理

    • 在创建新政策时,明确将isAttendeeTrackingEnabled标志设置为false
    • 这种显式设置避免了新政策在功能启用状态上的歧义

技术考量

这一变更主要考虑了以下技术因素:

  1. 向后兼容性:确保旧有政策能够无缝过渡到新版本,不影响现有用户的使用体验。

  2. 行为一致性:使新旧版本在功能表现上保持一致,减少用户的学习成本。

  3. 显式控制:对于新创建的政策,采用显式设置的方式,使功能状态更加明确可控。

实现效果

经过这一优化后,系统实现了:

  • 旧有政策自动继承Classic版本的与会者追踪功能启用状态
  • 新政策可以明确控制该功能的开启与关闭
  • 整体系统在功能表现上更加一致和可预测

这一变更已在生产环境中部署,有效解决了新旧政策在与会者追踪功能上的行为差异问题。

登录后查看全文
热门项目推荐
相关项目推荐