// // MineViewModel.swift // FireBoltt // // Created by lemo. on 2020/3/7. // Copyright © 2020 Sheldon. All rights reserved. // import UIKit class MineViewModel: ViewModel { var relay = BehaviorRelay(value: [SectionModel]()) let userIcon = BehaviorRelay(value: R.image.user_Icon_header()) let userNickname = BehaviorRelay(value: "") override init() { super.init() loadUserData() loadMeList() monitor() } func loadUserData() { guard let userInfo = UserDefaultsManagerFrieBoltt.getUserInfo() else { return } if let avatarImg = userInfo.avatarImg { userIcon.accept(avatarImg) } userNickname.accept(userInfo.nickname) } func loadMeList() { // 我的列表 var meList: [[MineSetType]] = [[], [.about,.privacy,.service]] // 功能适配 if let adapterInfo = UserDefaultsManagerFrieBoltt.getDeviceInfo()?.adapterInfo { if adapterInfo.unitSet { meList[0].append(.unitSet) } if adapterInfo.targetSet { meList[0].append(.targetSet) } } var tempRelay: [SectionModel] = [] for i in 0.. 0 { tempRelay.append(SectionModel(model: "", items: items)) } } relay.accept(tempRelay) } func monitor() { // 用户信息更新 kNotificationCenter.rx.notification(Notification.Name(rawValue: UserInfoUpdateFireBoltt)) .subscribe(onNext: { [weak self] (notification) in guard let `self` = self else { return } self.loadUserData() }) .disposed(by: rx.disposeBag) // 设备适配更新 BluetoothService.shared.adapterInfoUpdate .subscribe(onNext: { [weak self] (state) in self?.loadMeList() }) .disposed(by: rx.disposeBag) } } enum MineSetType: String { case unitSet = "单位设置" case targetSet = "目标设置" case about = "关于" case privacy = "隐私政策" case service = "用户协议" case disclaimerFB = "免责声明" var title: String { switch self { case .unitSet: return MultiLanguageKey_FB.unitSetFB.localized case .targetSet: return MultiLanguageKey_FB.targetSetFB.localized case .about: return MultiLanguageKey_FB.aboutFB.localized case .privacy: return MultiLanguageKey_FB.privacyFB.localized case .service: return MultiLanguageKey_FB.serviceFB.localized case .disclaimerFB: return MultiLanguageKey_FB.disclaimerFB.localized } } }