// // VipRechargeViewModel.swift // QuickLocation // // Created by 八条 on 2026/6/3. // import RxSwift import RxCocoa import RxDataSources class VipRechargeViewModel { struct Output { var sectionedItems: Observable<[ExpenseSectionModel]> } let output: Output private let sectionedItems = PublishSubject<[ExpenseSectionModel]>() private let expenseList: [ExpenseItem] = [ ExpenseItem(title: "白银会员", tag: "推荐"), ExpenseItem(title: "黄金会员", tag: "热门"), ExpenseItem(title: "钻石会员", tag: "爆款"), ExpenseItem(title: "永久会员", tag: "超值") ] var selectedIndex: Int = 0 { didSet { loadData() } } func loadData() { sectionedItems.onNext([SectionModel(model: "expense", items: expenseList)]) } func isSelected(at index: Int) -> Bool { return index == selectedIndex } init() { output = Output( sectionedItems: sectionedItems.asObservable() ) } }