fix
无故事王国
2024-06-26 46acca18a3d1744e1930f0bac7509a2a5959df1b
DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenFightVC.swift
@@ -78,7 +78,7 @@
                        }
            }
            //所有回答的
            //所有回答的 两游戏在用
            var answerItems = Dictionary<Int,Any>() //{page:0,data:String,currectAt:0}
            var answerCount = BehaviorRelay<Int>(value: 1)
@@ -167,7 +167,12 @@
            required init?(coder: NSCoder) {
                        fatalError("init(coder:) has not been implemented")
            }
            override func viewDidDisappear(_ animated: Bool) {
                        super.viewDidDisappear(animated)
                        sceneDelegate?.suspendTimer()
            }
    override func viewDidLoad() {
        super.viewDidLoad()
@@ -216,6 +221,7 @@
                                                GameBeginTipView.show {
                                                            if let data = result.data{
                                                                        weakSelf.data = data
                                                                        (weakSelf.data as! Listen1Model).data?.playNow = true
                                                                        weakSelf.pageVC.reloadData()
                                                            }
                                                }
@@ -315,9 +321,9 @@
            private func setPages(){
                        switch viewModel.listenType.value{
                                    case .lesson1,.lesson2,.lesson5:
                                    case .lesson1,.lesson5:
                                                label_pageNum.text = "已完成:\(viewModel.answerCount.value)/\((data as! ListenNewModel).subjectList.flatMap({$0}).count)"
                                    case .lesson3:
                                    case .lesson2,.lesson3:
                                                label_pageNum.text = "已完成:\(viewModel.currentPage.value + 1)/\((data as! ListenNewModel).subjectList.count)"
                                    case .lesson4:
                                                //两题为一组:需要/2
@@ -333,6 +339,13 @@
                                                let count = (data as! Listen1Model).storyList.count
                                                viewModel.maxPage.accept(count)
                                                label_pageNum.text = "已完成:\(viewModel.currentPage.value + 1)/\(count)"
                                                if viewModel.listenType.value == .story2{
                                                            btn_next.isHidden = (viewModel.currentPage.value + 1) == viewModel.maxPage.value
                                                            if btn_next.isHidden{
                                                                        btn_exit.setTitle("完成", for: .normal)
                                                            }
                                                }
                        }
            }
@@ -369,13 +382,26 @@
            private func gamesComplete(gameId:Int,integral:Int){
                        var name = ""
                        var accuracy:Int = 0
                        var totalNum:Double = 0
                        var toalIntegral:Int = 0
                        if viewModel.listenType.value == .game1{
                                    name = "超级听力"
                                    totalNum =  Double(viewModel.correctNum + viewModel.errorNum)
                                    if totalNum > 0{
                                                accuracy = Int(Double(viewModel.correctNum) / totalNum * 100)
                                    }
                                    toalIntegral = floor(Double(integral) * (Double(accuracy) / 100.0)).int
                        }else{
                                    name = "超级记忆"
                                    let v = viewModel.answerItems.first?.value as! Listen1Model
                                    totalNum = Double(v.photoList.count)
                                    if totalNum > 0{
                                                accuracy = Int(Double(viewModel.correctNum) / Double(viewModel.correctNum + viewModel.errorNum) * 100)
                                    }
                                    toalIntegral = floor(Double(integral) * (Double(accuracy) / 100.0)).int
                        }
                        let accuracy = Int(Double(viewModel.correctNum) / Double(viewModel.correctNum + viewModel.errorNum) * 100)
                        Services.completeGames(gameId: gameId, gameName: name, difficulty: viewModel.gameLevel.value, accuracy: accuracy, useTime: viewModel.times).subscribe(onNext: {data in
                                    NotificationCenter.default.post(name: Refresh_ListenSchedule_Noti, object: nil)
@@ -383,7 +409,7 @@
                        timer.invalidate()
                        let vc = HomeStudyCompleteVC(correctNum: viewModel.correctNum, errorNum: viewModel.errorNum, totalCoin: integral, listenType: viewModel.listenType.value)
                        let vc = HomeStudyCompleteVC(correctNum: viewModel.correctNum, errorNum: viewModel.errorNum, totalCoin: toalIntegral, listenType: viewModel.listenType.value,totalNum:totalNum.int)
                        vc.title = viewModel.listenType.value.rawTitle
                        push(vc: vc)
            }
@@ -407,7 +433,7 @@
                        if btn_exit.titleLabel?.text == "完成"{
                                    if viewModel.listenType.value == .story2{
                                                let v = data as! Listen1Model
                                                let accuracy = Int(Double(viewModel.correctNum) / Double(viewModel.correctNum + viewModel.errorNum) * 100)
                                                let accuracy = 100
                                                storyComplete(storyId: v.data!.id, accuracy: accuracy, studyTime: viewModel.times, type: 1, integral: v.data!.lookIntegral)
                                    }
                        }else{