26 lines
688 B
Dart
26 lines
688 B
Dart
/// 会员 provider:Task 1 仅含权益文案纯函数(Task 2 将补全状态/套餐/下单/轮询/领奖)
|
||
class MemberInfo {
|
||
final bool isVip;
|
||
final String expireAt;
|
||
final String planName;
|
||
final List<String> benefits;
|
||
|
||
const MemberInfo({
|
||
required this.isVip,
|
||
required this.expireAt,
|
||
required this.planName,
|
||
required this.benefits,
|
||
});
|
||
}
|
||
|
||
/// 权益 key → 文案
|
||
const benefitLabels = {
|
||
'effect_unlimited': '无限效果图',
|
||
'ai_priority': '优先 AI 方案',
|
||
'cps_commission_x15': '返现加成 1.5x',
|
||
'store_discount': '门店折扣',
|
||
};
|
||
|
||
List<String> benefitTexts(MemberInfo m) =>
|
||
m.benefits.map((b) => benefitLabels[b] ?? b).toList();
|