Feature Flag

功能开关配置模板生成,支持多种策略和平台配置

🔧 配置生成
📋 Flag管理
📖 设计模式

简单布尔开关

// 最简单的Feature Flag
if (features.isEnabled('new-dashboard')) {
  showNewDashboard();
} else {
  showOldDashboard();
}

百分比发布 (Canary)

// 按百分比逐步放量
const rollout = features.getPercentage('new-dashboard');
const hash = hashUserId(user.id);
if (hash % 100 < rollout) {
  showNewDashboard();
} else {
  showOldDashboard();
}

用户分群

// 按用户属性分群
if (features.isEnabled('new-dashboard', {
  user: { id: user.id, plan: user.plan, region: user.region }
})) {
  showNewDashboard();
}

渐进式发布

// 逐步增加百分比
// Day 1: 1% → Day 2: 5% → Day 3: 25% → Day 4: 50% → Day 5: 100%
const schedule = [
  { date: '2024-01-01', percentage: 1 },
  { date: '2024-01-02', percentage: 5 },
  { date: '2024-01-03', percentage: 25 },
  { date: '2024-01-04', percentage: 50 },
  { date: '2024-01-05', percentage: 100 }
];