杨锴
2025-01-10 f88e04bd8b9ada306c7160367b57076db0be5e5c
XQMuse/Root/Home/HomeVC.swift
@@ -40,7 +40,6 @@
    private var viewModel = HomeViewModel()
    private var timer:Timer?
    private var needPopToTree:Bool = false //是否需跳转到树苗
    private var cellularData:CTCellularData!
    override func viewDidAppear(_ animated: Bool) {
@@ -76,8 +75,8 @@
        }
        if AudioPlayer.getSharedInstance().scenePlayer?.timeControlStatus == .paused && UserDefaultSettingViewModel.getSetting()?.bgm != nil{
            AudioPlayer.getSharedInstance().playSceneAt(UserDefaultSettingViewModel.getSetting()!.bgm!.audioFile)
        if AudioPlayer.getSharedInstance().scenePlayer?.timeControlStatus == .paused && UserDefaultSettingViewModel.getSetting()?.sceneMusicModel != nil{
            AudioPlayer.getSharedInstance().playSceneAt(UserDefaultSettingViewModel.getSetting()!.sceneMusicModel!.audioFile)
        }
        if let meVC = (navigationController?.tabBarController?.viewControllers?.last as? BaseNav)?.viewControllers.first as? MeVC{
@@ -97,21 +96,14 @@
        titleItems.append(TitleItem(title: "私人订制", subTitle: "Private Customization",hasMore: true))
        titleItems.append(TitleItem(title: "新手冥想指南", subTitle: "Meditation guide"))
        if let setting = UserDefaultSettingViewModel.getSetting(){
            if let audioFile = setting.bgm?.audioFile{
                AudioPlayer.getSharedInstance().playSceneAt(audioFile)
            }
        }
        tableView.mj_header = MJRefreshNormalHeader(refreshingBlock: {
            self.getData()
        })
        if let m = UserDefaultSettingViewModel.getSetting()?.bgm {
            topMenuView.image_top.sd_setImage(with: URL(string: m.imageUrl.jq_urlEncoded()))
        }
        getData()
        getBGMData()
        cellularData = CTCellularData()
        cellularData.cellularDataRestrictionDidUpdateNotifier = {[weak self] state in
@@ -153,7 +145,7 @@
        titleView.frame = CGRect(x: 0, y: 0, width: 100, height: 40)
        let titleL = UILabel()
        titleL.font = Def_SourceHanSansCN_Regular(fontSize: 21)
        titleL.text = "心 泉 疗 愈"
        titleL.text = "泉 疗 愈"
        titleL.textAlignment = .center
        titleL.textColor = UIColor(hexStr: "#252A23")
        titleL.frame = CGRect(x: 0, y: 0, width: 100, height: 19)
@@ -162,6 +154,7 @@
        subTitleL.font = Def_Agenda_Light(fontSize: 8)
        subTitleL.text = "XIN QUAN"
        subTitleL.textAlignment = .center
        subTitleL.isHidden = true
        subTitleL.textColor = UIColor(hexStr: "#252A23")
        subTitleL.frame = CGRect(x: 0, y: 20, width: 100, height: 19)
@@ -226,6 +219,7 @@
        NotificationCenter.default.rx.notification(SetBGMSuccess_Noti).take(until: self.rx.deallocated).subscribe(onNext: {data in
            self.topMenuView.resetTopImage()
            self.getBGMData()
        }).disposed(by: disposeBag)
        NotificationCenter.default.rx.notification(PlantGuideQuit_Noti).take(until: self.rx.deallocated).subscribe(onNext: {[weak self]data in
@@ -346,6 +340,27 @@
        }).disposed(by: disposeBag)
    }
    private func getBGMData(){
        Services.quryUserSceneMusic().subscribe(onNext: {data in
            if var userDefaultSettingModel = UserDefaultSettingViewModel.getSetting(){
                userDefaultSettingModel.sceneMusicModel = data.data
                UserDefaultSettingViewModel.saveSetting(userDefaultSettingModel)
                if AudioPlayer.getSharedInstance().bgmPlayer != nil && PayMusicVC.getCurrentStatus() != .pause{
                    AudioPlayer.getSharedInstance().bgmPlayer?.play()
                    return
                }
                if AudioPlayer.getSharedInstance().scenePlayer == nil || AudioPlayer.getSharedInstance().scenePlayer?.timeControlStatus == .paused{
                    AudioPlayer.getSharedInstance().playSceneAt(userDefaultSettingModel.sceneMusicModel!.audioFile)
                }
                if let imageUrl = userDefaultSettingModel.sceneMusicModel?.imageUrl{
                    self.topMenuView.image_top.sd_setImage(with: URL(string: imageUrl.jq_urlEncoded()))
                }
            }
        }).disposed(by: disposeBag)
    }
    @objc func autoUpdate() {
        guard let endPlayTime = viewModel.todyModel?.endPlayTime, !endPlayTime.isEmpty else { return }