From ac84f81ca2311300b431c1bfb9f71253b59073f2 Mon Sep 17 00:00:00 2001 From: 杨锴 <841720330@qq.com> Date: 星期三, 04 六月 2025 00:16:22 +0800 Subject: [PATCH] 修改部分 --- DolphinEnglishLearnStudent/Moudle/Home/VC/HomeStudyCompleteVC.swift | 288 ++++++++++++++++++++++++++++---------------------------- 1 files changed, 144 insertions(+), 144 deletions(-) diff --git a/DolphinEnglishLearnStudent/Moudle/Home/VC/HomeStudyCompleteVC.swift b/DolphinEnglishLearnStudent/Moudle/Home/VC/HomeStudyCompleteVC.swift index 3b356a9..7cada7f 100644 --- a/DolphinEnglishLearnStudent/Moudle/Home/VC/HomeStudyCompleteVC.swift +++ b/DolphinEnglishLearnStudent/Moudle/Home/VC/HomeStudyCompleteVC.swift @@ -11,180 +11,180 @@ let StudyCompleteCoinUpdate_Noti = Notification.Name.init("StudyCompleteCoinUpdate_Noti") class HomeStudyCompleteVC: BaseVC { - @IBOutlet weak var label_coin: UILabel! - @IBOutlet weak var label_correctNum: UILabel! - @IBOutlet weak var label_title_correctNum: UILabel! - @IBOutlet weak var label_totalNum: UILabel! - @IBOutlet weak var label_title_totalNum: UILabel! - @IBOutlet weak var label_errorNum: UILabel! - @IBOutlet weak var label_title_errorNum: UILabel! - @IBOutlet weak var label_ratioNum: UILabel! - @IBOutlet weak var btn_next: UIButton! - @IBOutlet weak var stackView: UIStackView! - @IBOutlet weak var btn_back: UIButton! + @IBOutlet weak var label_coin: UILabel! + @IBOutlet weak var label_correctNum: UILabel! + @IBOutlet weak var label_title_correctNum: UILabel! + @IBOutlet weak var label_totalNum: UILabel! + @IBOutlet weak var label_title_totalNum: UILabel! + @IBOutlet weak var label_errorNum: UILabel! + @IBOutlet weak var label_title_errorNum: UILabel! + @IBOutlet weak var label_ratioNum: UILabel! + @IBOutlet weak var btn_next: UIButton! + @IBOutlet weak var stackView: UIStackView! + @IBOutlet weak var btn_back: UIButton! -// private var totalCoin:Int = 0 - private var totalNum:Int? //总题目数量 + // private var totalCoin:Int = 0 + private var totalNum:Int? //总题目数量 - var viewModel:HomeListenFightViewModel! - var studyScheduleModel:StudyScheduleModel! + var viewModel:HomeListenFightViewModel! + var studyScheduleModel:StudyScheduleModel! - required init(totalNum:Int? = nil,viewModel:HomeListenFightViewModel,studyScheduleModel:StudyScheduleModel){ - super.init(nibName: nil, bundle: nil) -// self.totalCoin = totalCoin - self.totalNum = totalNum - self.viewModel = viewModel - self.studyScheduleModel = studyScheduleModel - } + required init(totalNum:Int? = nil,viewModel:HomeListenFightViewModel,studyScheduleModel:StudyScheduleModel){ + super.init(nibName: nil, bundle: nil) + // self.totalCoin = totalCoin + self.totalNum = totalNum + self.viewModel = viewModel + self.studyScheduleModel = studyScheduleModel + } - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } - override func viewDidLoad() { - super.viewDidLoad() + override func viewDidLoad() { + super.viewDidLoad() - navigationController?.viewControllers.removeAll(where: { vc in - return vc is HomeListenFightVC - }) + navigationController?.viewControllers.removeAll(where: { vc in + return vc is HomeListenFightVC + }) - yy_popBlock = {[weak self] () in - self?.backAction() - } + yy_popBlock = {[weak self] () in + self?.backAction() + } - label_coin.text = "恭喜您,已完成全部答题!获得0积分!" - label_correctNum.text = "\(viewModel.correctNum)次" - label_errorNum.text = "\(viewModel.errorNum)次" - label_totalNum.text = "\(viewModel.correctNum + viewModel.errorNum)次" + label_coin.text = "恭喜您,已完成全部答题!获得0积分!" + label_correctNum.text = "\(viewModel.correctNum)次" + label_errorNum.text = "\(viewModel.errorNum)次" + label_totalNum.text = "\(viewModel.correctNum + viewModel.errorNum)次" - if viewModel.correctNum + viewModel.errorNum == 0{ - label_ratioNum.text = String(format: "正确率:0%%") - }else{ - label_ratioNum.text = String(format: "正确率:%ld%%", floor(Double(viewModel.correctNum) / Double(viewModel.correctNum + viewModel.errorNum) * 100).int) - } + if viewModel.correctNum + viewModel.errorNum == 0{ + label_ratioNum.text = String(format: "正确率:0%%") + }else{ + label_ratioNum.text = String(format: "正确率:%ld%%", floor(Double(viewModel.correctNum) / Double(viewModel.correctNum + viewModel.errorNum) * 100).int) + } - if totalNum != nil && viewModel.listenType.value == .game2{ - label_title_totalNum.text = "总题目:" - label_title_correctNum.text = "正确题目:" - label_title_errorNum.text = "错误题目:" - label_coin.text = "恭喜您,已完成游戏!获得0积分!" + if totalNum != nil && viewModel.listenType.value == .game2{ + label_title_totalNum.text = "总题目:" + label_title_correctNum.text = "正确题目:" + label_title_errorNum.text = "错误题目:" + label_coin.text = "恭喜您,已完成游戏!获得0积分!" - label_totalNum.text = "\(totalNum!)" - label_correctNum.text = "\(viewModel.correctNum)" - label_errorNum.text = "\(viewModel.errorNum)" - } + label_totalNum.text = "\(totalNum!)" + label_correctNum.text = "\(viewModel.correctNum)" + label_errorNum.text = "\(viewModel.errorNum)" + } - switch viewModel.listenType.value{ - case .lesson5,.game1,.game2,.story1,.story2:btn_next.isHidden = true - default:btn_next.isHidden = false - } + switch viewModel.listenType.value{ + case .lesson5,.game1,.game2,.story1,.story2:btn_next.isHidden = true + default:btn_next.isHidden = false + } - stackView.isHidden = viewModel.listenType.value == .story2 - label_ratioNum.isHidden = viewModel.listenType.value == .story2 + stackView.isHidden = viewModel.listenType.value == .story2 + label_ratioNum.isHidden = viewModel.listenType.value == .story2 - NotificationCenter.default.post(name: MeUserInfoUpdate_Noti, object: nil) - } + NotificationCenter.default.post(name: MeUserInfoUpdate_Noti, object: nil) + } - override func setUI() { - super.setUI() - } + override func setUI() { + super.setUI() + } - override func setRx() { - NotificationCenter.default.rx.notification(StudyCompleteCoinUpdate_Noti).take(until: self.rx.deallocated).subscribe(onNext: {[weak self] data in - guard let weakSelf = self else { return } + override func setRx() { + NotificationCenter.default.rx.notification(StudyCompleteCoinUpdate_Noti).take(until: self.rx.deallocated).subscribe(onNext: {[weak self] data in + guard let weakSelf = self else { return } - if let coin = data.object as? Int{ - switch weakSelf.viewModel.listenType.value { - case .game2:weakSelf.label_coin.text = "恭喜您,已完成游戏!获得\(coin)积分!" - default:weakSelf.label_coin.text = "恭喜您,已完成全部答题!获得\(coin)积分!" - } - } - }).disposed(by: disposeBag) - } + if let coin = data.object as? Int{ + switch weakSelf.viewModel.listenType.value { + case .game2:weakSelf.label_coin.text = "恭喜您,已完成游戏!获得\(coin)积分!" + default:weakSelf.label_coin.text = "恭喜您,已完成全部答题!获得\(coin)积分!" + } + } + }).disposed(by: disposeBag) + } - @IBAction func backHomeAction(_ sender: UIButton) { - backAction() - } + @IBAction func backHomeAction(_ sender: UIButton) { + backAction() + } - @IBAction func nextAction(_ sender: UIButton) { + @IBAction func nextAction(_ sender: UIButton) { - var toVC:UIViewController? - for subv in self.navigationController?.viewControllers ?? []{ - if subv is HomeListenVC{ - toVC = subv;break - } - } + var toVC:UIViewController? + for subv in self.navigationController?.viewControllers ?? []{ + if subv is HomeListenVC{ + toVC = subv;break + } + } - if toVC == nil{ - self.navigationController?.popToRootViewController(animated: true) - }else{ - let nextType = ListenType(rawValue: viewModel.listenType.value.rawValue + 1)! + if toVC == nil{ + self.navigationController?.popToRootViewController(animated: true) + }else{ + let nextType = ListenType(rawValue: viewModel.listenType.value.rawValue + 1)! - sceneDelegate?.startTimer() + sceneDelegate?.startTimer() - 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) + 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 .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 .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: .lesson5,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) + 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: .lesson5,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 - } - } - } + default:break + } + } + } - private func backAction(){ - for vc in navigationController?.viewControllers ?? []{ - if vc.isKind(of: HomeListenVC.self){ - navigationController?.popToViewController(vc, animated: true);break - } - } - } + private func backAction(){ + for vc in navigationController?.viewControllers ?? []{ + if vc.isKind(of: HomeListenVC.self){ + navigationController?.popToViewController(vc, animated: true);break + } + } + } } -- Gitblit v1.7.1