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 }
];