| | |
| | | @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() |
| | |
| | | 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 |
| | | } |
| | | } |
| | | } |
| | | |