| | |
| | | |
| | | 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-看图配音" |
| | |
| | | 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>? |
| | |
| | | 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 |
| | |
| | | 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 |
| | |
| | | |
| | | 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: |
| | |
| | | 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{ |
| | |
| | | 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{ |
| | |
| | | |
| | | 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) |
| | |
| | | } |
| | | } |
| | | |
| | | @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{ |