fix
无故事王国
2024-07-01 803e04b1ba7a513e8a04899c82b38f3c2fac131c
DolphinEnglishLearnStudent/Moudle/Home/VC/HomeStudyCompleteVC.swift
@@ -21,57 +21,58 @@
            @IBOutlet weak var btn_next: UIButton!
            @IBOutlet weak var stackView: UIStackView!
            @IBOutlet weak var btn_back: UIButton!
            private var correctNum:Int = 0
            private var errorNum:Int = 0
            private var totalCoin:Int = 0
            private var listenType:ListenType!
            private var totalNum:Int? //总题目数量
            required init(correctNum:Int,errorNum:Int,totalCoin:Int,listenType:ListenType,totalNum:Int? = nil){
            var viewModel:HomeListenFightViewModel!
            var studyScheduleModel:StudyScheduleModel!
            required init(totalCoin:Int,totalNum:Int? = nil,viewModel:HomeListenFightViewModel,studyScheduleModel:StudyScheduleModel){
                        super.init(nibName: nil, bundle: nil)
                        self.correctNum = correctNum
                        self.errorNum = errorNum
                        self.totalCoin = totalCoin
                        self.listenType = listenType
                        self.totalNum = totalNum
                        self.viewModel = viewModel
                        self.studyScheduleModel = studyScheduleModel
            }
            required init?(coder: NSCoder) {
                        fatalError("init(coder:) has not been implemented")
            }
    override func viewDidLoad() {
        super.viewDidLoad()
            override func viewDidLoad() {
                        super.viewDidLoad()
                        yy_popBlock = {[weak self] () in
                                    self?.backAction()
                        }
                        label_coin.text = "恭喜你,已完成全部答题!获得\(totalCoin)积分!"
                        label_correctNum.text = "\(correctNum)次"
                        label_errorNum.text = "\(errorNum)次"
                        label_totalNum.text = "\(correctNum + errorNum)次"
                        label_ratioNum.text = String(format: "正确率:%.0lf%%", Double(correctNum) / Double(correctNum + errorNum) * 100)
                        label_coin.text = "恭喜您,已完成全部答题!获得\(totalCoin)积分!"
                        label_correctNum.text = "\(viewModel.correctNum)次"
                        label_errorNum.text = "\(viewModel.errorNum)次"
                        label_totalNum.text = "\(viewModel.correctNum + viewModel.errorNum)次"
                        label_ratioNum.text = String(format: "正确率:%.0lf%%", Double(viewModel.correctNum) / Double(viewModel.correctNum + viewModel.errorNum) * 100)
                        if totalNum != nil{
                        if totalNum != nil && viewModel.listenType.value == .game2{
                                    label_title_totalNum.text = "总题目:"
                                    label_title_correctNum.text = "正确题目:"
                                    label_title_errorNum.text = "错误题目:"
                                    label_coin.text = "恭喜你,已完成游戏!获得\(totalCoin)积分!"
                                    label_coin.text = "恭喜您,已完成游戏!获得\(totalCoin)积分!"
                                    label_totalNum.text = "\(totalNum!)"
                                    label_correctNum.text = "\(correctNum)"
                                    label_errorNum.text = "\(errorNum)"
                                    label_correctNum.text = "\(viewModel.correctNum)"
                                    label_errorNum.text = "\(viewModel.errorNum)"
                        }
                        btn_next.isHidden = listenType.rawValue >= 5
                        btn_next.isHidden = viewModel.listenType.value == .lesson5
                        stackView.isHidden = listenType == .story2
                        label_ratioNum.isHidden = listenType == .story2
//                        NotificationCenter.default.post(name: Refresh_ListenSchedule_Noti, object: nil)
    }
                        stackView.isHidden = viewModel.listenType.value == .story2
                        label_ratioNum.isHidden = viewModel.listenType.value == .story2
                        NotificationCenter.default.post(name: MeUserInfoUpdate_Noti, object: nil)
            }
            override func setUI() {
                        super.setUI()
@@ -94,9 +95,60 @@
                        if toVC == nil{
                                    self.navigationController?.popToRootViewController(animated: true)
                        }else{
                                    self.navigationController?.popToViewController(toVC!, animated: true)
                                    let nextType = ListenType(rawValue: listenType.rawValue + 1)
                                    NotificationCenter.default.post(name: StudyCompleteNextLession_Noti, object: nextType)
                                    let nextType = ListenType(rawValue: viewModel.listenType.value.rawValue + 1)!
                                    switch nextType {
                                                case .lesson2:
                                                            Services.pictureSelectVoice(day:viewModel.day.value!, quarter: viewModel.quarter.value!, week: viewModel.week.value!).subscribe(onNext: {[weak self] result in
                                                                        guard let weakSelf = self else { return }
                                                                        if let data = result.data{
                                                                                    let fightVC = HomeListenFightVC(listenType: .lesson2,quarter:weakSelf.viewModel.quarter.value!,week: weakSelf.viewModel.week.value!,day:weakSelf.viewModel.day.value!)
                                                                                    fightVC.title = ListenType.lesson2.rawTitle
                                                                                    fightVC.data = data
                                                                                    fightVC.studyScheduleModel = weakSelf.studyScheduleModel
                                                                                    weakSelf.push(vc: fightVC)
                                                                        }
                                                            }).disposed(by: disposeBag)
                                                case .lesson3:
                                                            Services.induceExclude(day: viewModel.day.value!, quarter: viewModel.quarter.value!, week: viewModel.week.value!).subscribe(onNext: {[weak self] result in
                                                                        guard let weakSelf = self else { return }
                                                                        if let data = result.data{
                                                                                    let fightVC = HomeListenFightVC(listenType: .lesson3,quarter:weakSelf.viewModel.quarter.value!,week: weakSelf.viewModel.week.value!,day:weakSelf.viewModel.day.value!)
                                                                                    fightVC.title = ListenType.lesson3.rawTitle
                                                                                    fightVC.data = data
                                                                                    fightVC.studyScheduleModel = weakSelf.studyScheduleModel
                                                                                    weakSelf.push(vc: fightVC)
                                                                        }
                                                            }).disposed(by: disposeBag)
                                                case .lesson4:
                                                            Services.questionsAndAnswers(day: viewModel.day.value!, quarter: viewModel.quarter.value!, week: viewModel.week.value!).subscribe(onNext: {[weak self] result in
                                                                        guard let weakSelf = self else { return }
                                                                        if let data = result.data{
                                                                                    let fightVC = HomeListenFightVC(listenType: .lesson4,quarter:weakSelf.viewModel.quarter.value!,week: weakSelf.viewModel.week.value!,day:weakSelf.viewModel.day.value!)
                                                                                    fightVC.title = ListenType.lesson4.rawTitle
                                                                                    fightVC.data = data
                                                                                    fightVC.studyScheduleModel = weakSelf.studyScheduleModel
                                                                                    weakSelf.push(vc: fightVC)
                                                                        }
                                                            }).disposed(by: disposeBag)
                                                case .lesson5:
                                                            Services.pictureMateVoice(day: viewModel.day.value!, quarter: viewModel.quarter.value!, week: viewModel.week.value!).subscribe(onNext: {[weak self] result in
                                                                        guard let weakSelf = self else { return }
                                                                        if let data = result.data{
                                                                                    let fightVC = HomeListenFightVC(listenType: .lesson4,quarter:weakSelf.viewModel.quarter.value!,week: weakSelf.viewModel.week.value!,day:weakSelf.viewModel.day.value!)
                                                                                    fightVC.title = ListenType.lesson5.rawTitle
                                                                                    fightVC.data = data
                                                                                    fightVC.studyScheduleModel = weakSelf.studyScheduleModel
                                                                                    weakSelf.push(vc: fightVC)
                                                                        }
                                                            }).disposed(by: disposeBag)
                                                default:break
                                    }
                        }
            }