48 lines
1.0 KiB
Swift
48 lines
1.0 KiB
Swift
//
|
|
// 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()
|
|
)
|
|
}
|
|
}
|