From fe460485972623f9ffcd4d29cb956bfddf9c97e3 Mon Sep 17 00:00:00 2001 From: 无故事王国 <841720330@qq.com> Date: 星期二, 09 九月 2025 11:28:35 +0800 Subject: [PATCH] 代码补交 --- DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenFightVC.swift | 81 ++++++++++++++++++++++++++++++++++------ 1 files changed, 68 insertions(+), 13 deletions(-) diff --git a/DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenFightVC.swift b/DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenFightVC.swift index 9d9c64e..4964bca 100644 --- a/DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenFightVC.swift +++ b/DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenFightVC.swift @@ -26,11 +26,11 @@ var rawTitle:String{ switch self { - case .lesson1:return "自主学习1-听音选图" - case .lesson2:return "自主学习2-看图选音" - case .lesson3:return "自主学习3-归纳排除" - case .lesson4:return "自主学习4-有问有答" - case .lesson5:return "自主学习5-音图相配" + case .lesson1:return "听音选图" + case .lesson2:return "看图选音" + case .lesson3:return "归纳排除" + case .lesson4:return "有问有答" + case .lesson5:return "音图相配" case .game1:return "游戏类型1-超级听力" case .game2:return "游戏类型2-超级记忆" case .story1:return "自主故事1-看图配音" @@ -103,7 +103,13 @@ var data:Any? var maxPage = 0 //最大页记录 - var teamScheduleModel:TeamScheduleModel? //上次中途退出,答题记录 + //上次中途退出,答题记录 + var teamScheduleModel:TeamScheduleModel?{ + didSet{ + setPages() + btn_random.isHidden = (viewModel.listenType.value == .game1 || viewModel.listenType.value == .game2) + } + } var pages = [[ListenSubCardModel]]() //分页显示 private var notiObject:Dictionary<String,Any>? @@ -199,6 +205,19 @@ return btn }() + private lazy var btn_random:UIButton = { + let btn = UIButton(type: .custom) + btn.setTitle("随机答题", for: .normal) + btn.titleLabel?.font = .systemFont(ofSize: 14, weight: .medium) + btn.setTitleColor(Config.ThemeColor, for: .normal) + btn.jq_borderColor = Config.ThemeColor + btn.backgroundColor = .white + btn.jq_borderWidth = 1 + btn.jq_cornerRadius = 4 + btn.isHidden = true + return btn + }() + private lazy var pageVC:FFPageViewController = { let vc = FFPageViewController() vc.scrollview.isScrollEnabled = false @@ -244,8 +263,9 @@ btn_forward_mini.addTarget(self, action: #selector(beforeAction_mini), for: .touchUpInside) btn_next.addTarget(self, action: #selector(nextAction), for: .touchUpInside) btn_beAgain.addTarget(self, action: #selector(beAgaionAction), for: .touchUpInside) + btn_random.addTarget(self, action: #selector(randomAnsterAction), for: .touchUpInside) - setPages() +// setPages() // pageVC.reloadData() timer = Timer(fire: .distantPast, interval: 1.0, repeats: true, block: {[weak self] _ in @@ -254,12 +274,16 @@ timer.fire() RunLoop.current.add(timer, forMode: .common) - setPages() - if let teamSchedule = teamScheduleModel{ - viewModel.correctNum = viewModel.correctNum + teamSchedule.correctNumber - viewModel.errorNum = teamSchedule.answerNumber - teamSchedule.correctNumber - maxPage = teamSchedule.schedule + if let m = data as? ListenNewModel{ + viewModel.correctNum = viewModel.correctNum + (teamScheduleModel?.correctNumber ?? 0) + viewModel.errorNum = (teamScheduleModel?.answerNumber ?? 0) - (teamScheduleModel?.correctNumber ?? 0) + maxPage = teamScheduleModel?.schedule ?? 0 + + + btn_random.isHidden = (viewModel.listenType.value == .game1 || viewModel.listenType.value == .game2) + + print("---->>>>>2:\((data as? ListenNewModel)!.list.count)") switch viewModel.listenType.value{ case .lesson1: @@ -412,6 +436,11 @@ make.width.equalTo(124) } + btn_random.snp.makeConstraints { make in + make.width.equalTo(124) + make.height.equalTo(40) + } + let stackView = UIStackView(arrangedSubviews: [btn_beAgain,label_pageNum,btn_exit]) if viewModel.listenType.value == .story2{ @@ -428,6 +457,12 @@ make.bottom.equalTo(self.view.safeAreaLayoutGuide.snp.bottom).offset(-5) make.centerX.equalToSuperview() make.height.equalTo(40) + } + + view.addSubview(btn_random) + btn_random.snp.makeConstraints { make in + make.centerY.equalTo(stackView) + make.trailing.equalToSuperview().offset(-18) } switch viewModel.listenType.value{ @@ -604,7 +639,7 @@ timer.invalidate() - let vc = HomeStudyCompleteVC(viewModel: viewModel,studyScheduleModel: studyScheduleModel!) + let vc = HomeStudyCompleteVC(viewModel: viewModel,studyScheduleModel: nil) vc.title = viewModel.listenType.value.rawTitle vc.viewModel = viewModel push(vc: vc) @@ -763,6 +798,26 @@ } } + @objc func randomAnsterAction(){ + + var count:Int = 0 + if data is ListenNewModel{ + if viewModel.listenType.value == .lesson1{ + count = (data as! ListenNewModel).subjectList.count + } + + if viewModel.listenType.value == .lesson2{ + count = (data as! ListenNewModel).subjectList.count + } + + count = pages.count + } + + RandromAnsterView.show(count) { index in + self.pageVC.scroll(toPage: index, animation: true) + } + } + @objc func nextAction(){ listenFightLine = .next if viewModel.listenType.value == .story2{ -- Gitblit v1.7.1