fix
无故事王国
2024-06-18 ed382f4fb711c7c10439467a8b37442b7430e4eb
DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenFightVC.swift
@@ -48,6 +48,7 @@
            /// 当前页数
            var currentPage = BehaviorRelay<Int>(value: 0)
            var subPage = BehaviorRelay<Int>(value: 1) //小题目角标
            var maxPage = BehaviorRelay<Int>(value: 5)
            var listenType = BehaviorRelay<ListenType>(value:.lesson1)
            var times:Int = 0
@@ -204,6 +205,8 @@
                                    },onError: { _ in
                                                weakSelf.showGameLevel()
                                    }).disposed(by: weakSelf.disposeBag)
                        } cancelClouse: {[weak self] in
                                    self?.navigationController?.popViewController(animated: true)
                        }
            }
@@ -294,8 +297,10 @@
            private func setPages(){
                        switch viewModel.listenType.value{
                                    case .lesson1,.lesson2,.lesson3,.lesson5:
                                    case .lesson1,.lesson2,.lesson5:
                                                label_pageNum.text = "已完成:\(viewModel.answerCount.value)/\((data as! ListenNewModel).subjectList.flatMap({$0}).count)"
                                    case .lesson3:
                                                label_pageNum.text = "已完成:\(viewModel.currentPage.value + 1)/\((data as! ListenNewModel).subjectList.count)"
                                    case .lesson4:
                                                //两题为一组:需要/2
                                                label_pageNum.text = "已完成:\(viewModel.answerCount.value)/\((data as! ListenNewModel).subjectList.flatMap({$0}).count / 2)"
@@ -329,20 +334,10 @@
                                    default:break
                        }
                        //正确率
                        let accracy = Int(Double(viewModel.correctNum) / Double(viewModel.correctNum + viewModel.errorNum) * 100)
                        //有答题过程
                        //完成进度
                        var isComplete = false
                        switch viewModel.listenType.value {
                                    case .lesson1:isComplete = studyScheduleModel?.listen == 100
                                    case .lesson2:isComplete = studyScheduleModel?.look == 100
                                    case .lesson3:isComplete = studyScheduleModel?.induction == 100
                                    case .lesson4:isComplete = studyScheduleModel?.answer == 100
                                    case .lesson5:isComplete = studyScheduleModel?.pair == 100
                                    default:isComplete = false
                        }
                        Services.completeLearing(type: viewModel.listenType.value.rawValue, studyTime: viewModel.times, studyIds: ids, isComplete: isComplete).subscribe(onNext: {data in
                        Services.completeLearing(type: viewModel.listenType.value.rawValue, studyTime: viewModel.times, studyIds: ids, quarter: viewModel.quarter.value!, week: viewModel.week.value!, day: viewModel.day.value!, accracy: accracy).subscribe(onNext: {data in
                                    NotificationCenter.default.post(name: Refresh_ListenSchedule_Noti, object: nil)
                        }).disposed(by: disposeBag)
@@ -440,7 +435,15 @@
            @objc func beforeAction(){
                        listenFightLine = .before
                        var beforePage = max(0, viewModel.currentPage.value - 1)
                        let beforePage = max(0, viewModel.currentPage.value - 1)
                        switch viewModel.listenType.value {
                                    case .lesson1,.lesson2:
                                                let temp = (beforePage * 4) + 1
                                                viewModel.answerCount.accept(max(1,temp))
                                    default:break
                        }
                        pageVC.scroll(toPage: beforePage, animation: true)
                        viewModel.currentPage.accept(beforePage)