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/View/RandromAnsterView.swift        |  208 ++++++++++++++++
 DolphinEnglishLearnStudent/Base.lproj/LaunchScreen.storyboard                     |   20 
 DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenSubVC.swift            |   18 
 DolphinEnglishLearnStudent/Login/LoginVC.swift                                    |  146 +++++-----
 DolphinEnglishLearnStudent/Assets.xcassets/launchScreen.imageset/pic@2x.png       |    0 
 DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenFightVC.swift          |   81 +++++-
 DolphinEnglishLearnStudent/Moudle/Home/Listen/TCell/HomeListen_item_TV2Cell.xib   |   84 ++---
 DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenGame_1_VC.swift        |    5 
 DolphinEnglishLearnStudent/Assets.xcassets/launchScreen.imageset/pic@3x.png       |    0 
 DolphinEnglishLearnStudent/Moudle/Home/VC/HomeStudyCompleteVC.swift               |   12 
 DolphinEnglishLearnStudent/Moudle/Home/HomeVC.xib                                 |   90 ++----
 /dev/null                                                                         |    0 
 DolphinEnglishLearnStudent/Models/CommonModel.swift                               |    8 
 DolphinEnglishLearnStudent/Moudle/Home/HomeVC.swift                               |   31 ++
 DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenSubV2VC.swift          |   47 ++-
 DolphinEnglishLearnStudent/AppDelegate.swift                                      |    1 
 DolphinEnglishLearnStudent.xcodeproj/project.pbxproj                              |    8 
 DolphinEnglishLearnStudent/Moudle/Home/Listen/TCell/HomeListen_item_TV2Cell.swift |    2 
 DolphinEnglishLearnStudent/Assets.xcassets/launchScreen.imageset/Contents.json    |    4 
 19 files changed, 520 insertions(+), 245 deletions(-)

diff --git a/DolphinEnglishLearnStudent.xcodeproj/project.pbxproj b/DolphinEnglishLearnStudent.xcodeproj/project.pbxproj
index e000f56..883927d 100644
--- a/DolphinEnglishLearnStudent.xcodeproj/project.pbxproj
+++ b/DolphinEnglishLearnStudent.xcodeproj/project.pbxproj
@@ -109,6 +109,7 @@
 		13CDF4512C05757400E8D4FD /* Lesson_4_AnswerView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13CDF4502C05757400E8D4FD /* Lesson_4_AnswerView.xib */; };
 		13E07DF12BFDF1E600B7F5FB /* ExchangeRecordHistoryVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13E07DF02BFDF1E600B7F5FB /* ExchangeRecordHistoryVC.swift */; };
 		13E99EFA2C1FD1A9004F52D4 /* LaunchImageHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13E99EF92C1FD1A9004F52D4 /* LaunchImageHelper.swift */; };
+		13EA9E552E66054E00F1427F /* RandromAnsterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13EA9E542E66054E00F1427F /* RandromAnsterView.swift */; };
 		13EEB8912BFED3F3002996FC /* AwardListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13EEB8902BFED3F3002996FC /* AwardListView.swift */; };
 		13EEB8932BFED3FA002996FC /* AwardListView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13EEB8922BFED3FA002996FC /* AwardListView.xib */; };
 		13EEB8972BFF1531002996FC /* AwardListCCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13EEB8952BFF1531002996FC /* AwardListCCell.swift */; };
@@ -233,6 +234,7 @@
 		13CDF4502C05757400E8D4FD /* Lesson_4_AnswerView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = Lesson_4_AnswerView.xib; sourceTree = "<group>"; };
 		13E07DF02BFDF1E600B7F5FB /* ExchangeRecordHistoryVC.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ExchangeRecordHistoryVC.swift; sourceTree = "<group>"; };
 		13E99EF92C1FD1A9004F52D4 /* LaunchImageHelper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LaunchImageHelper.swift; sourceTree = "<group>"; };
+		13EA9E542E66054E00F1427F /* RandromAnsterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RandromAnsterView.swift; sourceTree = "<group>"; };
 		13EEB8902BFED3F3002996FC /* AwardListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AwardListView.swift; sourceTree = "<group>"; };
 		13EEB8922BFED3FA002996FC /* AwardListView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AwardListView.xib; sourceTree = "<group>"; };
 		13EEB8952BFF1531002996FC /* AwardListCCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AwardListCCell.swift; sourceTree = "<group>"; };
@@ -545,6 +547,7 @@
 				13A04A062C05C29D00F1F52E /* ChooseLevelView.xib */,
 				1316A22D2C05CE5900BE6CAA /* GameBeginTipView.swift */,
 				1316A22F2C05CE6100BE6CAA /* GameBeginTipView.xib */,
+				13EA9E542E66054E00F1427F /* RandromAnsterView.swift */,
 			);
 			path = View;
 			sourceTree = "<group>";
@@ -772,9 +775,13 @@
 			inputFileListPaths = (
 				"${PODS_ROOT}/Target Support Files/Pods-DolphinEnglishLearnStudent/Pods-DolphinEnglishLearnStudent-frameworks-${CONFIGURATION}-input-files.xcfilelist",
 			);
+			inputPaths = (
+			);
 			name = "[CP] Embed Pods Frameworks";
 			outputFileListPaths = (
 				"${PODS_ROOT}/Target Support Files/Pods-DolphinEnglishLearnStudent/Pods-DolphinEnglishLearnStudent-frameworks-${CONFIGURATION}-output-files.xcfilelist",
+			);
+			outputPaths = (
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
@@ -834,6 +841,7 @@
 				130278872BFD9F2A00DDCE81 /* AddressManageHandleVC.swift in Sources */,
 				130278892BFD9F2A00DDCE81 /* AddressManageVC.swift in Sources */,
 				1302785C2BFD985E00DDCE81 /* CommonInputView.swift in Sources */,
+				13EA9E552E66054E00F1427F /* RandromAnsterView.swift in Sources */,
 				13A04A052C05C29300F1F52E /* ChooseLevelView.swift in Sources */,
 				1319B0272C0818460052F889 /* HomeListenStory_1_VC.swift in Sources */,
 				130278792BFD9ED600DDCE81 /* ExchangeResultVC.swift in Sources */,
diff --git a/DolphinEnglishLearnStudent/AppDelegate.swift b/DolphinEnglishLearnStudent/AppDelegate.swift
index 78aa1c8..e5e1e6d 100644
--- a/DolphinEnglishLearnStudent/AppDelegate.swift
+++ b/DolphinEnglishLearnStudent/AppDelegate.swift
@@ -15,7 +15,6 @@
 
     func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
         // Override point for customization after application launch.
-        sleep(2)
         return true
     }
 
diff --git a/DolphinEnglishLearnStudent/Assets.xcassets/launchScreen.imageset/3614f397766a6be30598295885d7008b 1.png b/DolphinEnglishLearnStudent/Assets.xcassets/launchScreen.imageset/3614f397766a6be30598295885d7008b 1.png
deleted file mode 100644
index c318f13..0000000
--- a/DolphinEnglishLearnStudent/Assets.xcassets/launchScreen.imageset/3614f397766a6be30598295885d7008b 1.png
+++ /dev/null
Binary files differ
diff --git a/DolphinEnglishLearnStudent/Assets.xcassets/launchScreen.imageset/3614f397766a6be30598295885d7008b.png b/DolphinEnglishLearnStudent/Assets.xcassets/launchScreen.imageset/3614f397766a6be30598295885d7008b.png
deleted file mode 100644
index c318f13..0000000
--- a/DolphinEnglishLearnStudent/Assets.xcassets/launchScreen.imageset/3614f397766a6be30598295885d7008b.png
+++ /dev/null
Binary files differ
diff --git a/DolphinEnglishLearnStudent/Assets.xcassets/launchScreen.imageset/Contents.json b/DolphinEnglishLearnStudent/Assets.xcassets/launchScreen.imageset/Contents.json
index 5cb24b8..d3f3580 100644
--- a/DolphinEnglishLearnStudent/Assets.xcassets/launchScreen.imageset/Contents.json
+++ b/DolphinEnglishLearnStudent/Assets.xcassets/launchScreen.imageset/Contents.json
@@ -1,12 +1,12 @@
 {
   "images" : [
     {
-      "filename" : "3614f397766a6be30598295885d7008b.png",
+      "filename" : "pic@2x.png",
       "idiom" : "universal",
       "scale" : "1x"
     },
     {
-      "filename" : "3614f397766a6be30598295885d7008b 1.png",
+      "filename" : "pic@3x.png",
       "idiom" : "universal",
       "scale" : "2x"
     },
diff --git a/DolphinEnglishLearnStudent/Assets.xcassets/launchScreen.imageset/pic@2x.png b/DolphinEnglishLearnStudent/Assets.xcassets/launchScreen.imageset/pic@2x.png
new file mode 100644
index 0000000..f096a13
--- /dev/null
+++ b/DolphinEnglishLearnStudent/Assets.xcassets/launchScreen.imageset/pic@2x.png
Binary files differ
diff --git a/DolphinEnglishLearnStudent/Assets.xcassets/launchScreen.imageset/pic@3x.png b/DolphinEnglishLearnStudent/Assets.xcassets/launchScreen.imageset/pic@3x.png
new file mode 100644
index 0000000..e650225
--- /dev/null
+++ b/DolphinEnglishLearnStudent/Assets.xcassets/launchScreen.imageset/pic@3x.png
Binary files differ
diff --git a/DolphinEnglishLearnStudent/Base.lproj/LaunchScreen.storyboard b/DolphinEnglishLearnStudent/Base.lproj/LaunchScreen.storyboard
index 39d0b4f..f5ae09d 100644
--- a/DolphinEnglishLearnStudent/Base.lproj/LaunchScreen.storyboard
+++ b/DolphinEnglishLearnStudent/Base.lproj/LaunchScreen.storyboard
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="23727" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
     <device id="ipad10_9rounded" orientation="landscape" layout="fullscreen" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23721"/>
         <capability name="Safe area layout guides" minToolsVersion="9.0"/>
         <capability name="System colors in document resources" minToolsVersion="11.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
@@ -17,17 +17,19 @@
                         <rect key="frame" x="0.0" y="0.0" width="1180" height="820"/>
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                         <subviews>
-                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="launchscreen" translatesAutoresizingMaskIntoConstraints="NO" id="ehh-vH-WKP">
-                                <rect key="frame" x="0.0" y="0.0" width="1180" height="820"/>
+                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="logo" translatesAutoresizingMaskIntoConstraints="NO" id="ehh-vH-WKP">
+                                <rect key="frame" x="540" y="347" width="100" height="100"/>
+                                <constraints>
+                                    <constraint firstAttribute="width" constant="100" id="8eh-PY-IFs"/>
+                                    <constraint firstAttribute="height" constant="100" id="pX2-6t-nDg"/>
+                                </constraints>
                             </imageView>
                         </subviews>
                         <viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
                         <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                         <constraints>
-                            <constraint firstItem="ehh-vH-WKP" firstAttribute="top" secondItem="Ze5-6b-2t3" secondAttribute="top" id="Ybg-4L-fSp"/>
-                            <constraint firstAttribute="bottom" secondItem="ehh-vH-WKP" secondAttribute="bottom" id="gd4-Si-weW"/>
-                            <constraint firstItem="ehh-vH-WKP" firstAttribute="leading" secondItem="6Tk-OE-BBY" secondAttribute="leading" id="qBO-Ri-etD"/>
-                            <constraint firstItem="ehh-vH-WKP" firstAttribute="trailing" secondItem="6Tk-OE-BBY" secondAttribute="trailing" id="uuP-YQ-Zyd"/>
+                            <constraint firstItem="ehh-vH-WKP" firstAttribute="centerX" secondItem="6Tk-OE-BBY" secondAttribute="centerX" id="Km7-6i-Lhf"/>
+                            <constraint firstItem="ehh-vH-WKP" firstAttribute="centerY" secondItem="6Tk-OE-BBY" secondAttribute="centerY" id="j5b-u9-8ec"/>
                         </constraints>
                     </view>
                 </viewController>
@@ -37,7 +39,7 @@
         </scene>
     </scenes>
     <resources>
-        <image name="launchscreen" width="787.5" height="535.5"/>
+        <image name="logo" width="144" height="136"/>
         <systemColor name="systemBackgroundColor">
             <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
         </systemColor>
diff --git a/DolphinEnglishLearnStudent/Login/LoginVC.swift b/DolphinEnglishLearnStudent/Login/LoginVC.swift
index 35a200d..6161c61 100644
--- a/DolphinEnglishLearnStudent/Login/LoginVC.swift
+++ b/DolphinEnglishLearnStudent/Login/LoginVC.swift
@@ -10,97 +10,97 @@
 
 class LoginVC: BaseVC {
 
-				@IBOutlet weak var btn_login: UIButton!
-				@IBOutlet weak var tf_authCode: QMUITextField!
-				@IBOutlet weak var tf_phone: QMUITextField!
-				@IBOutlet weak var btn_isRead: UIButton!
+    @IBOutlet weak var btn_login: UIButton!
+    @IBOutlet weak var tf_authCode: QMUITextField!
+    @IBOutlet weak var tf_phone: QMUITextField!
+    @IBOutlet weak var btn_isRead: UIButton!
 
-				override func viewDidLoad() {
-								super.viewDidLoad()
+    override func viewDidLoad() {
+        super.viewDidLoad()
 
-				}
+    }
 
-				override func setUI() {
-								super.setUI()
-				}
+    override func setUI() {
+        super.setUI()
+    }
 
-				private func authInputPhone()->Bool{
-								guard !tf_phone.text!.isEmpty else {
-												alert(msg: "请输入手机号");return false
-								}
+    private func authInputPhone()->Bool{
+        guard !tf_phone.text!.isEmpty else {
+            alert(msg: "请输入手机号");return false
+        }
 
-								guard tf_phone.text!.jq_isPhone else {
-												alert(msg: "请输入正确的手机号");return false
-								}
+        guard tf_phone.text!.jq_isPhone else {
+            alert(msg: "请输入正确的手机号");return false
+        }
 
-								return true
-				}
+        return true
+    }
 
-				private func authInputCode()->Bool{
-								guard !tf_authCode.text!.isEmpty else {
-												alert(msg: "请输入验证码");return false
-								}
+    private func authInputCode()->Bool{
+        guard !tf_authCode.text!.isEmpty else {
+            alert(msg: "请输入验证码");return false
+        }
 
-								guard tf_authCode.text!.count == 6 else {
-												alert(msg: "请输入6位验证码");return false
-								}
-								return true
-				}
+        guard tf_authCode.text!.count == 6 else {
+            alert(msg: "请输入6位验证码");return false
+        }
+        return true
+    }
 
-				@IBAction func chooseAction(_ sender: UIButton) {
-								sender.isSelected = !sender.isSelected
-				}
+    @IBAction func chooseAction(_ sender: UIButton) {
+        sender.isSelected = !sender.isSelected
+    }
 
 
-				/// 隐私协议
-				@IBAction func privacyAction(_ sender: UIButton) {
-								let vc = CommonWebVC(type: .PrivacyPolicy)
-								vc.title = "隐私协议"
-								self.navigationController?.pushViewController(vc, animated: true)
-				}
+    /// 隐私协议
+    @IBAction func privacyAction(_ sender: UIButton) {
+        let vc = CommonWebVC(type: .PrivacyPolicy)
+        vc.title = "隐私协议"
+        self.navigationController?.pushViewController(vc, animated: true)
+    }
 
-				/// 用户协议
-				@IBAction func privacyUserAction(_ sender: UIButton) {
-								let vc = CommonWebVC(type: .UserProtocol)
-								vc.title = "用户协议"
-								self.navigationController?.pushViewController(vc, animated: true)
-				}
+    /// 用户协议
+    @IBAction func privacyUserAction(_ sender: UIButton) {
+        let vc = CommonWebVC(type: .UserProtocol)
+        vc.title = "用户协议"
+        self.navigationController?.pushViewController(vc, animated: true)
+    }
 
 
-				@IBAction func getCodeAction(_ sender: UIButton) {
-								view.endEditing(true)
-								guard authInputPhone() else {return}
-								Services.sendPhoneCode(phone: tf_phone.text!).subscribe(onNext: {_ in
-												sender.openCountDown(60, defultTitle: "获取验证码", textColor:UIColor(hexStr: "#41A2EB"), unenableColor: .gray)
-								}).disposed(by: disposeBag)
-				}
+    @IBAction func getCodeAction(_ sender: UIButton) {
+        view.endEditing(true)
+        guard authInputPhone() else {return}
+        Services.sendPhoneCode(phone: tf_phone.text!).subscribe(onNext: {_ in
+            sender.openCountDown(60, defultTitle: "获取验证码", textColor:UIColor(hexStr: "#41A2EB"), unenableColor: .gray)
+        }).disposed(by: disposeBag)
+    }
 
-				@IBAction func loginAction(_ sender: UIButton) {
+    @IBAction func loginAction(_ sender: UIButton) {
 
-//								DispatchQueue.global().async {
-//												Task{
-//																await InPurchaseManager.testrefundRequest(for: 2000000680173869)
-//												}
-//								}
+        //								DispatchQueue.global().async {
+        //												Task{
+        //																await InPurchaseManager.testrefundRequest(for: 2000000680173869)
+        //												}
+        //								}
 
-								guard authInputPhone() else {return}
-								guard authInputCode() else {return}
+        guard authInputPhone() else {return}
+        guard authInputCode() else {return}
 
-								guard btn_isRead.isSelected else {
-												alert(msg: "请阅读并同意《隐私协议》《用户协议》");return
-								}
+        guard btn_isRead.isSelected else {
+            alert(msg: "请阅读并同意《隐私协议》《用户协议》");return
+        }
 
-								view.endEditing(true)
-								Services.login(phone: tf_phone.text!, code: tf_authCode.text!).subscribe(onNext: {result in
-												if var token = result.data?.token{
-																token.request_time = Int(Date().timeIntervalSince1970)
-																LoginTokenModel.saveToken(token)
-																sceneDelegate?.loginSuccess()
-												}
-								}).disposed(by: disposeBag)
-				}
+        view.endEditing(true)
+        Services.login(phone: tf_phone.text!, code: tf_authCode.text!).subscribe(onNext: {result in
+            if var token = result.data?.token{
+                token.request_time = Int(Date().timeIntervalSince1970)
+                LoginTokenModel.saveToken(token)
+                sceneDelegate?.loginSuccess()
+            }
+        }).disposed(by: disposeBag)
+    }
 
-				override var preferredStatusBarStyle: UIStatusBarStyle{
-								return .darkContent
-				}
+    override var preferredStatusBarStyle: UIStatusBarStyle{
+        return .darkContent
+    }
 }
diff --git a/DolphinEnglishLearnStudent/Models/CommonModel.swift b/DolphinEnglishLearnStudent/Models/CommonModel.swift
index d2d2a0c..8f612b6 100644
--- a/DolphinEnglishLearnStudent/Models/CommonModel.swift
+++ b/DolphinEnglishLearnStudent/Models/CommonModel.swift
@@ -390,8 +390,12 @@
     var week: Int = 0
 }
 
-struct StudyScheduleModel:HandyJSON,Hashable{
-    init() {}
+class StudyScheduleModel:HandyJSON,Hashable{
+    static func == (lhs: StudyScheduleModel, rhs: StudyScheduleModel) -> Bool {
+        return lhs.id == rhs.id
+    }
+    
+    required init() {}
 
     var answer: Int = 0
     var day: Int = 0
diff --git a/DolphinEnglishLearnStudent/Moudle/Home/HomeVC.swift b/DolphinEnglishLearnStudent/Moudle/Home/HomeVC.swift
index cc6bff5..8cc3bfb 100644
--- a/DolphinEnglishLearnStudent/Moudle/Home/HomeVC.swift
+++ b/DolphinEnglishLearnStudent/Moudle/Home/HomeVC.swift
@@ -41,15 +41,36 @@
                 }
             }
         }).disposed(by: disposeBag)
+
+        showLaunchImg()
+
+        NotificationCenter.default.rx.notification(UIApplication.didBecomeActiveNotification).take(until: self.rx.deallocated).subscribe(onNext: {[weak self] _ in
+            self?.showLaunchImg()
+        }).disposed(by: disposeBag)
+    }
+
+    private func showLaunchImg(){
+        let launchImg = UIImageView(image: UIImage(named: "launchscreen"))
+        sceneDelegate?.window?.addSubview(launchImg)
+        launchImg.snp.makeConstraints { make in
+            make.edges.equalToSuperview()
+        }
+
+        UIView.animate(withDuration: 0.6,delay: 2.5) {
+            launchImg.alpha = 0
+        } completion: { _ in
+            launchImg.removeFromSuperview()
+        }
+
     }
 
     override func viewDidLayoutSubviews() {
         super.viewDidLayoutSubviews()
-        view_yearTwo.jq_gradientColor(colorArr: [UIColor(hexString: "#F0F0F0")!.cgColor,UIColor(hexString: "#DDDDDD")!.cgColor], cornerRadius: 15, startPoint: CGPoint(x: 0, y: 0), endPoint: CGPoint(x: 0, y: 1), bounds: view_yearTwo.bounds,locations: [NSNumber(value: 0.35)])
-
-        view_yearThree.jq_gradientColor(colorArr: [UIColor(hexString: "#F0F0F0")!.cgColor,UIColor(hexString: "#DDDDDD")!.cgColor], cornerRadius: 15, startPoint: CGPoint(x: 0, y: 0), endPoint: CGPoint(x: 0, y: 1), bounds: view_yearTwo.bounds,locations: [NSNumber(value: 0.35)])
-
-        view_yearFour.jq_gradientColor(colorArr: [UIColor(hexString: "#F0F0F0")!.cgColor,UIColor(hexString: "#DDDDDD")!.cgColor], cornerRadius: 15, startPoint: CGPoint(x: 0, y: 0), endPoint: CGPoint(x: 0, y: 1), bounds: view_yearTwo.bounds,locations: [NSNumber(value: 0.35)])
+//        view_yearTwo.jq_gradientColor(colorArr: [UIColor(hexString: "#F0F0F0")!.cgColor,UIColor(hexString: "#DDDDDD")!.cgColor], cornerRadius: 15, startPoint: CGPoint(x: 0, y: 0), endPoint: CGPoint(x: 0, y: 1), bounds: view_yearTwo.bounds,locations: [NSNumber(value: 0.35)])
+//
+//        view_yearThree.jq_gradientColor(colorArr: [UIColor(hexString: "#F0F0F0")!.cgColor,UIColor(hexString: "#DDDDDD")!.cgColor], cornerRadius: 15, startPoint: CGPoint(x: 0, y: 0), endPoint: CGPoint(x: 0, y: 1), bounds: view_yearTwo.bounds,locations: [NSNumber(value: 0.35)])
+//
+//        view_yearFour.jq_gradientColor(colorArr: [UIColor(hexString: "#F0F0F0")!.cgColor,UIColor(hexString: "#DDDDDD")!.cgColor], cornerRadius: 15, startPoint: CGPoint(x: 0, y: 0), endPoint: CGPoint(x: 0, y: 1), bounds: view_yearTwo.bounds,locations: [NSNumber(value: 0.35)])
     }
 
     @IBAction func listenAction(_ sender: UIButton) {
diff --git a/DolphinEnglishLearnStudent/Moudle/Home/HomeVC.xib b/DolphinEnglishLearnStudent/Moudle/Home/HomeVC.xib
index d71ce16..0c34840 100644
--- a/DolphinEnglishLearnStudent/Moudle/Home/HomeVC.xib
+++ b/DolphinEnglishLearnStudent/Moudle/Home/HomeVC.xib
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23504" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23727" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
     <device id="ipad10_2" orientation="landscape" layout="fullscreen" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23506"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23721"/>
         <capability name="Safe area layout guides" minToolsVersion="9.0"/>
         <capability name="System colors in document resources" minToolsVersion="11.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
@@ -93,30 +93,26 @@
                                 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="638-4h-RmO">
                                     <rect key="frame" x="0.0" y="0.0" width="99" height="96"/>
                                     <subviews>
-                                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="第一年" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="mzm-m2-TUM">
-                                            <rect key="frame" x="0.0" y="58" width="99" height="22"/>
-                                            <constraints>
-                                                <constraint firstAttribute="height" constant="22" id="0E8-lU-VAm"/>
-                                            </constraints>
+                                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="mzm-m2-TUM">
+                                            <rect key="frame" x="0.0" y="14" width="99" height="66"/>
+                                            <string key="text">第一年
+
+听</string>
                                             <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="16"/>
                                             <nil key="textColor"/>
                                             <nil key="highlightedColor"/>
                                         </label>
-                                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="home_listen" translatesAutoresizingMaskIntoConstraints="NO" id="G0e-mp-Ewt">
-                                            <rect key="frame" x="28.5" y="16" width="42" height="28"/>
-                                        </imageView>
                                     </subviews>
                                     <color key="backgroundColor" red="0.42745098039215684" green="0.81960784313725488" blue="0.72941176470588232" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                     <constraints>
                                         <constraint firstAttribute="bottom" secondItem="mzm-m2-TUM" secondAttribute="bottom" constant="16" id="1DJ-Ab-UMy"/>
                                         <constraint firstAttribute="trailing" secondItem="mzm-m2-TUM" secondAttribute="trailing" id="4EB-JA-dgg"/>
-                                        <constraint firstItem="G0e-mp-Ewt" firstAttribute="centerX" secondItem="mzm-m2-TUM" secondAttribute="centerX" id="Fep-Ru-CO8"/>
                                         <constraint firstAttribute="width" constant="99" id="a46-Aj-ZVI"/>
-                                        <constraint firstItem="G0e-mp-Ewt" firstAttribute="top" secondItem="638-4h-RmO" secondAttribute="top" constant="16" id="lcU-Ve-EuA"/>
                                         <constraint firstItem="mzm-m2-TUM" firstAttribute="leading" secondItem="638-4h-RmO" secondAttribute="leading" id="ysB-ce-xHs"/>
+                                        <constraint firstItem="mzm-m2-TUM" firstAttribute="top" secondItem="638-4h-RmO" secondAttribute="top" constant="14" id="ytO-aq-mzd"/>
                                     </constraints>
                                 </view>
-                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="听 - 听懂英语声音世界,建立声音认知逻听音有物,见物有音。" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="rYc-7O-AJr">
+                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="听音 → 在孩子大脑中建立英语声音认知逻辑,听懂英语声音世界。" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="rYc-7O-AJr">
                                     <rect key="frame" x="120" y="19.5" width="388" height="57.5"/>
                                     <fontDescription key="fontDescription" type="system" weight="medium" pointSize="24"/>
                                     <nil key="textColor"/>
@@ -162,37 +158,33 @@
                                 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Aru-TP-eo5">
                                     <rect key="frame" x="0.0" y="0.0" width="99" height="96"/>
                                     <subviews>
-                                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="第二年" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="JUx-1g-3IQ">
-                                            <rect key="frame" x="0.0" y="58" width="99" height="22"/>
-                                            <constraints>
-                                                <constraint firstAttribute="height" constant="22" id="2Il-ag-42y"/>
-                                            </constraints>
+                                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="JUx-1g-3IQ">
+                                            <rect key="frame" x="0.0" y="14" width="99" height="66"/>
+                                            <string key="text">第二年
+
+认读</string>
                                             <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="16"/>
                                             <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                             <nil key="highlightedColor"/>
                                         </label>
-                                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="home_read" translatesAutoresizingMaskIntoConstraints="NO" id="Bea-xz-ioa">
-                                            <rect key="frame" x="31" y="16" width="37" height="37"/>
-                                        </imageView>
                                     </subviews>
                                     <color key="backgroundColor" red="0.65490196078431373" green="0.65490196078431373" blue="0.65490196078431373" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                     <constraints>
-                                        <constraint firstItem="Bea-xz-ioa" firstAttribute="top" secondItem="Aru-TP-eo5" secondAttribute="top" constant="16" id="PKa-E7-X04"/>
+                                        <constraint firstItem="JUx-1g-3IQ" firstAttribute="top" secondItem="Aru-TP-eo5" secondAttribute="top" constant="14" id="QwN-gi-z1i"/>
                                         <constraint firstAttribute="trailing" secondItem="JUx-1g-3IQ" secondAttribute="trailing" id="SBw-MM-kdp"/>
                                         <constraint firstItem="JUx-1g-3IQ" firstAttribute="leading" secondItem="Aru-TP-eo5" secondAttribute="leading" id="baE-0U-bA9"/>
                                         <constraint firstAttribute="width" constant="99" id="maH-iF-185"/>
                                         <constraint firstAttribute="bottom" secondItem="JUx-1g-3IQ" secondAttribute="bottom" constant="16" id="nWb-EA-fcK"/>
-                                        <constraint firstItem="Bea-xz-ioa" firstAttribute="centerX" secondItem="JUx-1g-3IQ" secondAttribute="centerX" id="r33-Se-sFp"/>
                                     </constraints>
                                 </view>
-                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="认读&gt;拼读&gt;阅读 - 建立文字认知逻辑。" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="E6l-m4-aFf">
-                                    <rect key="frame" x="120" y="33.5" width="388" height="29"/>
+                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="认读 → 拼读 → 阅读 → 建立英语文字认知逻辑。" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="E6l-m4-aFf">
+                                    <rect key="frame" x="120" y="19.5" width="388" height="57.5"/>
                                     <fontDescription key="fontDescription" type="system" weight="medium" pointSize="24"/>
                                     <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.5" colorSpace="custom" customColorSpace="sRGB"/>
                                     <nil key="highlightedColor"/>
                                 </label>
                             </subviews>
-                            <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                            <color key="backgroundColor" red="0.90196078431372551" green="0.90196078431372551" blue="0.90196078431372551" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                             <constraints>
                                 <constraint firstItem="Aru-TP-eo5" firstAttribute="top" secondItem="bRK-h8-9be" secondAttribute="top" id="2WS-er-WTU"/>
                                 <constraint firstAttribute="bottom" secondItem="Aru-TP-eo5" secondAttribute="bottom" id="8Cu-vW-39p"/>
@@ -228,37 +220,33 @@
                                 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="rof-Bc-DBt">
                                     <rect key="frame" x="0.0" y="0.0" width="99" height="96"/>
                                     <subviews>
-                                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="第三年" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="s1C-FB-pdy">
-                                            <rect key="frame" x="0.0" y="58" width="99" height="22"/>
-                                            <constraints>
-                                                <constraint firstAttribute="height" constant="22" id="LAU-JU-br9"/>
-                                            </constraints>
+                                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="s1C-FB-pdy">
+                                            <rect key="frame" x="0.0" y="14" width="99" height="66"/>
+                                            <string key="text">第三年
+
+文化</string>
                                             <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="16"/>
                                             <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                             <nil key="highlightedColor"/>
                                         </label>
-                                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="home_read_1" translatesAutoresizingMaskIntoConstraints="NO" id="K2B-Ql-Ffz">
-                                            <rect key="frame" x="30" y="16" width="39" height="39"/>
-                                        </imageView>
                                     </subviews>
                                     <color key="backgroundColor" red="0.65490196078431373" green="0.65490196078431373" blue="0.65490196078431373" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                     <constraints>
                                         <constraint firstAttribute="bottom" secondItem="s1C-FB-pdy" secondAttribute="bottom" constant="16" id="CM9-Nx-GoU"/>
+                                        <constraint firstItem="s1C-FB-pdy" firstAttribute="top" secondItem="rof-Bc-DBt" secondAttribute="top" constant="14" id="FaK-81-XKB"/>
                                         <constraint firstAttribute="trailing" secondItem="s1C-FB-pdy" secondAttribute="trailing" id="HjS-48-xe4"/>
                                         <constraint firstItem="s1C-FB-pdy" firstAttribute="leading" secondItem="rof-Bc-DBt" secondAttribute="leading" id="I6H-BM-MAM"/>
                                         <constraint firstAttribute="width" constant="99" id="n1G-CS-AjA"/>
-                                        <constraint firstItem="K2B-Ql-Ffz" firstAttribute="centerX" secondItem="s1C-FB-pdy" secondAttribute="centerX" id="uYv-ek-w4C"/>
-                                        <constraint firstItem="K2B-Ql-Ffz" firstAttribute="top" secondItem="rof-Bc-DBt" secondAttribute="top" constant="16" id="w7g-aR-5hG"/>
                                     </constraints>
                                 </view>
-                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="海量阅读 - 建立英语文化认知逻辑。" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Fmd-pO-bSH">
-                                    <rect key="frame" x="120" y="33.5" width="388" height="29"/>
+                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="海量阅读 → 建立英语世界文化认知逻辑。" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Fmd-pO-bSH">
+                                    <rect key="frame" x="120" y="19.5" width="388" height="57.5"/>
                                     <fontDescription key="fontDescription" type="system" weight="medium" pointSize="24"/>
                                     <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.5" colorSpace="custom" customColorSpace="sRGB"/>
                                     <nil key="highlightedColor"/>
                                 </label>
                             </subviews>
-                            <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                            <color key="backgroundColor" red="0.90196078430000004" green="0.90196078430000004" blue="0.90196078430000004" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                             <constraints>
                                 <constraint firstAttribute="bottom" secondItem="rof-Bc-DBt" secondAttribute="bottom" id="COZ-ac-5bK"/>
                                 <constraint firstAttribute="height" constant="96" id="OfW-EV-TmL"/>
@@ -294,37 +282,33 @@
                                 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="vQZ-vC-WZM">
                                     <rect key="frame" x="0.0" y="0.0" width="99" height="96"/>
                                     <subviews>
-                                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="第四年" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5ab-W8-1Bp">
-                                            <rect key="frame" x="0.0" y="58" width="99" height="22"/>
-                                            <constraints>
-                                                <constraint firstAttribute="height" constant="22" id="xff-4c-Obh"/>
-                                            </constraints>
+                                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5ab-W8-1Bp">
+                                            <rect key="frame" x="0.0" y="14" width="99" height="66"/>
+                                            <string key="text">第四年
+
+测试</string>
                                             <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="16"/>
                                             <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                             <nil key="highlightedColor"/>
                                         </label>
-                                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="home_culture" translatesAutoresizingMaskIntoConstraints="NO" id="CIB-II-EsI">
-                                            <rect key="frame" x="9" y="16" width="81" height="17"/>
-                                        </imageView>
                                     </subviews>
                                     <color key="backgroundColor" red="0.65490196078431373" green="0.65490196078431373" blue="0.65490196078431373" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                     <constraints>
-                                        <constraint firstItem="CIB-II-EsI" firstAttribute="centerX" secondItem="5ab-W8-1Bp" secondAttribute="centerX" id="5ln-hC-BQ4"/>
                                         <constraint firstAttribute="trailing" secondItem="5ab-W8-1Bp" secondAttribute="trailing" id="6nf-xv-hQk"/>
-                                        <constraint firstItem="CIB-II-EsI" firstAttribute="top" secondItem="vQZ-vC-WZM" secondAttribute="top" constant="16" id="LiY-JU-Kuo"/>
+                                        <constraint firstItem="5ab-W8-1Bp" firstAttribute="top" secondItem="vQZ-vC-WZM" secondAttribute="top" constant="14" id="Eq7-uU-O7o"/>
                                         <constraint firstAttribute="bottom" secondItem="5ab-W8-1Bp" secondAttribute="bottom" constant="16" id="dfC-Xy-Nen"/>
                                         <constraint firstItem="5ab-W8-1Bp" firstAttribute="leading" secondItem="vQZ-vC-WZM" secondAttribute="leading" id="l6v-ZM-cnL"/>
                                         <constraint firstAttribute="width" constant="99" id="sga-rD-HzD"/>
                                     </constraints>
                                 </view>
-                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="测试通关 - 升学 游学 留学准备。" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5z7-Xs-obp">
+                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="测试通关 → 升学 → 游学 → 留学准备。" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5z7-Xs-obp">
                                     <rect key="frame" x="120" y="33.5" width="388" height="29"/>
                                     <fontDescription key="fontDescription" type="system" weight="medium" pointSize="24"/>
                                     <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.5" colorSpace="custom" customColorSpace="sRGB"/>
                                     <nil key="highlightedColor"/>
                                 </label>
                             </subviews>
-                            <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                            <color key="backgroundColor" red="0.90196078430000004" green="0.90196078430000004" blue="0.90196078430000004" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                             <constraints>
                                 <constraint firstItem="vQZ-vC-WZM" firstAttribute="top" secondItem="LGI-6d-ayY" secondAttribute="top" id="4As-9k-hNC"/>
                                 <constraint firstAttribute="height" constant="96" id="6xp-by-1B1"/>
@@ -359,10 +343,6 @@
     </objects>
     <resources>
         <image name="home_arrow_up" width="20" height="37"/>
-        <image name="home_culture" width="81" height="17"/>
-        <image name="home_listen" width="42" height="28"/>
-        <image name="home_read" width="37" height="37"/>
-        <image name="home_read_1" width="39" height="39"/>
         <image name="logo_1" width="217" height="114"/>
         <systemColor name="systemBackgroundColor">
             <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
diff --git a/DolphinEnglishLearnStudent/Moudle/Home/Listen/TCell/HomeListen_item_TV2Cell.swift b/DolphinEnglishLearnStudent/Moudle/Home/Listen/TCell/HomeListen_item_TV2Cell.swift
index c8a93b6..469ac15 100644
--- a/DolphinEnglishLearnStudent/Moudle/Home/Listen/TCell/HomeListen_item_TV2Cell.swift
+++ b/DolphinEnglishLearnStudent/Moudle/Home/Listen/TCell/HomeListen_item_TV2Cell.swift
@@ -9,7 +9,7 @@
 
 class HomeListen_item_TV2Cell: UITableViewCell {
     @IBOutlet weak var label_title: UILabel!
-    @IBOutlet weak var view_state: UIStackView!
+//    @IBOutlet weak var view_state: UIStackView!
     @IBOutlet weak var label_state: UILabel!
     @IBOutlet weak var cons_trail: NSLayoutConstraint!
     @IBOutlet weak var label_subTitle: UILabel!
diff --git a/DolphinEnglishLearnStudent/Moudle/Home/Listen/TCell/HomeListen_item_TV2Cell.xib b/DolphinEnglishLearnStudent/Moudle/Home/Listen/TCell/HomeListen_item_TV2Cell.xib
index c93ce37..14587ca 100644
--- a/DolphinEnglishLearnStudent/Moudle/Home/Listen/TCell/HomeListen_item_TV2Cell.xib
+++ b/DolphinEnglishLearnStudent/Moudle/Home/Listen/TCell/HomeListen_item_TV2Cell.xib
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23504" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23727" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
     <device id="ipad10_9rounded" orientation="portrait" layout="fullscreen" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23506"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23721"/>
         <capability name="System colors in document resources" minToolsVersion="11.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
@@ -26,59 +26,48 @@
                                 <nil key="textColor"/>
                                 <nil key="highlightedColor"/>
                             </label>
-                            <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="9" translatesAutoresizingMaskIntoConstraints="NO" id="T2a-iW-660">
-                                <rect key="frame" x="79.5" y="10" width="290" height="48"/>
+                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="--" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="y4G-hn-HBf">
+                                <rect key="frame" x="78.5" y="23" width="15" height="22"/>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="22" id="x8o-rQ-0sh"/>
+                                </constraints>
+                                <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/>
+                                <nil key="textColor"/>
+                                <nil key="highlightedColor"/>
+                            </label>
+                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="KYj-jQ-pUN">
+                                <rect key="frame" x="203" y="28" width="50" height="17"/>
                                 <subviews>
-                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="LabelLabelLabelLabel" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="y4G-hn-HBf">
-                                        <rect key="frame" x="0.0" y="0.0" width="290" height="22"/>
-                                        <constraints>
-                                            <constraint firstAttribute="height" constant="22" id="x8o-rQ-0sh"/>
-                                        </constraints>
-                                        <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/>
-                                        <nil key="textColor"/>
+                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="--" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="VQQ-aH-jOl">
+                                        <rect key="frame" x="7" y="2.5" width="36" height="14.5"/>
+                                        <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="12"/>
+                                        <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                         <nil key="highlightedColor"/>
                                     </label>
-                                    <stackView opaque="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="dBL-Qk-dtp">
-                                        <rect key="frame" x="0.0" y="31" width="290" height="17"/>
-                                        <subviews>
-                                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="KYj-jQ-pUN">
-                                                <rect key="frame" x="0.0" y="0.0" width="50" height="17"/>
-                                                <subviews>
-                                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="--" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="VQQ-aH-jOl">
-                                                        <rect key="frame" x="7" y="2.5" width="36" height="14.5"/>
-                                                        <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="12"/>
-                                                        <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
-                                                        <nil key="highlightedColor"/>
-                                                    </label>
-                                                </subviews>
-                                                <color key="backgroundColor" red="0.40000000000000002" green="0.81176470588235294" blue="0.98039215686274506" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
-                                                <constraints>
-                                                    <constraint firstAttribute="height" constant="17" id="6uJ-xn-2wu"/>
-                                                    <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="50" id="LIt-KZ-xSj"/>
-                                                    <constraint firstAttribute="trailing" secondItem="VQQ-aH-jOl" secondAttribute="trailing" constant="7" id="dXS-my-h4B"/>
-                                                    <constraint firstItem="VQQ-aH-jOl" firstAttribute="top" secondItem="KYj-jQ-pUN" secondAttribute="top" constant="2.5" id="jAZ-vl-h9L"/>
-                                                    <constraint firstItem="VQQ-aH-jOl" firstAttribute="leading" secondItem="KYj-jQ-pUN" secondAttribute="leading" constant="7" id="nnj-iB-cDe"/>
-                                                </constraints>
-                                                <userDefinedRuntimeAttributes>
-                                                    <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/>
-                                                    <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB">
-                                                        <real key="value" value="8.5"/>
-                                                    </userDefinedRuntimeAttribute>
-                                                </userDefinedRuntimeAttributes>
-                                            </view>
-                                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Als-bu-aKc">
-                                                <rect key="frame" x="50" y="0.0" width="240" height="17"/>
-                                            </view>
-                                        </subviews>
-                                    </stackView>
                                 </subviews>
-                            </stackView>
+                                <color key="backgroundColor" red="0.40000000000000002" green="0.81176470588235294" blue="0.98039215686274506" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="17" id="6uJ-xn-2wu"/>
+                                    <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="50" id="LIt-KZ-xSj"/>
+                                    <constraint firstAttribute="trailing" secondItem="VQQ-aH-jOl" secondAttribute="trailing" constant="7" id="dXS-my-h4B"/>
+                                    <constraint firstItem="VQQ-aH-jOl" firstAttribute="top" secondItem="KYj-jQ-pUN" secondAttribute="top" constant="2.5" id="jAZ-vl-h9L"/>
+                                    <constraint firstItem="VQQ-aH-jOl" firstAttribute="leading" secondItem="KYj-jQ-pUN" secondAttribute="leading" constant="7" id="nnj-iB-cDe"/>
+                                </constraints>
+                                <userDefinedRuntimeAttributes>
+                                    <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/>
+                                    <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB">
+                                        <real key="value" value="8.5"/>
+                                    </userDefinedRuntimeAttribute>
+                                </userDefinedRuntimeAttributes>
+                            </view>
                         </subviews>
                         <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                         <constraints>
+                            <constraint firstItem="KYj-jQ-pUN" firstAttribute="centerY" secondItem="Guy-ui-ByM" secondAttribute="centerY" constant="2.5" id="9tv-ws-xBw"/>
                             <constraint firstItem="28J-ZC-IiE" firstAttribute="centerY" secondItem="Guy-ui-ByM" secondAttribute="centerY" id="BBT-AE-CjT"/>
-                            <constraint firstItem="T2a-iW-660" firstAttribute="leading" secondItem="28J-ZC-IiE" secondAttribute="trailing" constant="24" id="bR3-A2-xsr"/>
-                            <constraint firstItem="T2a-iW-660" firstAttribute="centerY" secondItem="Guy-ui-ByM" secondAttribute="centerY" id="bZL-tt-qBL"/>
+                            <constraint firstItem="y4G-hn-HBf" firstAttribute="leading" secondItem="28J-ZC-IiE" secondAttribute="trailing" constant="23" id="DAN-Z9-KNH"/>
+                            <constraint firstAttribute="trailing" secondItem="KYj-jQ-pUN" secondAttribute="trailing" constant="14" id="F8c-TD-8TL"/>
+                            <constraint firstItem="y4G-hn-HBf" firstAttribute="centerY" secondItem="Guy-ui-ByM" secondAttribute="centerY" id="LKh-1T-Fb7"/>
                             <constraint firstItem="28J-ZC-IiE" firstAttribute="leading" secondItem="Guy-ui-ByM" secondAttribute="leading" constant="31" id="yNu-7a-AkO"/>
                         </constraints>
                         <userDefinedRuntimeAttributes>
@@ -102,7 +91,6 @@
                 <outlet property="label_subTitle" destination="y4G-hn-HBf" id="eYy-tV-Wde"/>
                 <outlet property="label_title" destination="28J-ZC-IiE" id="kDk-K7-10L"/>
                 <outlet property="view_center" destination="Guy-ui-ByM" id="Q0d-UZ-Xp1"/>
-                <outlet property="view_state" destination="dBL-Qk-dtp" id="yka-5k-OJa"/>
                 <outlet property="view_t" destination="KYj-jQ-pUN" id="K3t-mH-v9G"/>
             </connections>
             <point key="canvasLocation" x="156.58536585365854" y="29.237288135593221"/>
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{
diff --git a/DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenGame_1_VC.swift b/DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenGame_1_VC.swift
index 14d79df..fa5bbb7 100644
--- a/DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenGame_1_VC.swift
+++ b/DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenGame_1_VC.swift
@@ -238,8 +238,9 @@
         case .success:
             timer?.fireDate = .distantFuture
             viewModel.answerType.accept(.success)
-            collectionView.reloadData()
-            if let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "_ListenFight_Game_CCell", for: viewModel.selectIndex.value!) as? ListenFight_Game_CCell{
+//            collectionView.reloadData()
+
+            if let cell = collectionView.cellForItem(at: viewModel.selectIndex.value!) as? ListenFight_Game_CCell{
                 let newRect = cell.contentView.convert(cell.bounds, from: self.collectionView)
                 let x = abs(newRect.origin.x) + self.collectionView.contentInset.left + 5
                 let y = abs(newRect.origin.y) + 99 + 5
diff --git a/DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenSubV2VC.swift b/DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenSubV2VC.swift
index 5e79f89..a46cea7 100644
--- a/DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenSubV2VC.swift
+++ b/DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenSubV2VC.swift
@@ -84,11 +84,8 @@
         let jumpIndex:IndexPath = IndexPath(row: row, section: 1)
         tableView(self.tableView, didSelectRowAt: jumpIndex)
     }
-}
 
-extension HomeListenSubV2VC:UITableViewDelegate{
-    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
-
+    func jumpVC(studyScheduleModel:StudyScheduleModel,indexPath:IndexPath){
         sceneDelegate?.startTimer()
 
         let day = indexPath.row + 1
@@ -103,8 +100,8 @@
                         fightVC.title = ListenType.lesson1.rawTitle
                         fightVC.teamScheduleModel = teamSchedule.data
                         fightVC.data = data
-                        fightVC.studyScheduleModel = self?.studyScheduleModel
                         JQ_currentViewController().jq_push(vc:fightVC)
+                        print("---->>>>>1:\(teamSchedule.data)")
                     }
                 }).disposed(by: weakSelf.disposeBag)
             }).disposed(by: disposeBag)
@@ -121,7 +118,6 @@
                         fightVC.title = ListenType.lesson2.rawTitle
                         fightVC.teamScheduleModel = teamSchedule.data
                         fightVC.data = data
-                        fightVC.studyScheduleModel = self?.studyScheduleModel
                         JQ_currentViewController().jq_push(vc:fightVC)
                     }
                 }).disposed(by: weakSelf.disposeBag)
@@ -140,7 +136,6 @@
                         fightVC.title = ListenType.lesson3.rawTitle
                         fightVC.teamScheduleModel = teamSchedule.data
                         fightVC.data = data
-                        fightVC.studyScheduleModel = self?.studyScheduleModel
                         JQ_currentViewController().jq_push(vc: fightVC)
                     }
                 }).disposed(by: weakSelf.disposeBag)
@@ -158,7 +153,6 @@
                         fightVC.title = ListenType.lesson4.rawTitle
                         fightVC.teamScheduleModel = teamSchedule.data
                         fightVC.data = data
-                        fightVC.studyScheduleModel = self?.studyScheduleModel
                         JQ_currentViewController().jq_push(vc: fightVC)
                     }
                 }).disposed(by: weakSelf.disposeBag)
@@ -176,14 +170,13 @@
                         fightVC.title = ListenType.lesson5.rawTitle
                         fightVC.teamScheduleModel = teamSchedule.data
                         fightVC.data = data
-                        fightVC.studyScheduleModel = self?.studyScheduleModel
                         JQ_currentViewController().jq_push(vc: fightVC)
                     }
                 }).disposed(by: weakSelf.disposeBag)
             }).disposed(by: disposeBag)
         }
 
-        guard (studyScheduleModel?.day ?? 0) >= 6 else {return}
+        guard (studyScheduleModel.day) >= 6 else {return}
 
         //自主游戏
         if indexPath.row == 5{
@@ -247,6 +240,22 @@
     }
 }
 
+
+extension HomeListenSubV2VC:UITableViewDelegate{
+    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
+
+        Services.studySchedule(week: week).subscribe(onNext: {[weak self]data in
+            guard let weakSelf = self else { return }
+            var studyScheduleModel = StudyScheduleModel()
+            if let m = data.data{
+                studyScheduleModel = m
+            }
+            weakSelf.jumpVC(studyScheduleModel: studyScheduleModel, indexPath: indexPath)
+        }).disposed(by: disposeBag)
+
+    }
+}
+
 extension HomeListenSubV2VC:UITableViewDataSource{
     func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
         if section == 0{return 1}
@@ -261,47 +270,47 @@
         if indexPath.section == 0{
             let cell = tableView.dequeueReusableCell(withIdentifier: "_HomeListen_process_TCell", for: indexPath) as! HomeListen_process_TCell
             cell.studyScheduleModel = studyScheduleModel
-            cell.label_currentWeek.text = "当前周目:\(week.jq_cn)周目"
+            cell.label_currentWeek.text = "自主学习:第\(week ?? 0)周"
             return cell
         }else{
             let cell = tableView.dequeueReusableCell(withIdentifier: "_HomeListen_item_TV2Cell", for: indexPath) as! HomeListen_item_TV2Cell
             cell.label_title.text = "\(indexPath.row + 1)"
             cell.label_title.text = "第\(indexPath.row + 1)天"
-            cell.view_state.isHidden = false
+//            cell.view_state.isHidden = false
 
             switch indexPath.row {
             case 0:
-                cell.label_subTitle.text = "自主学习1-听音选图"
+                cell.label_subTitle.text = "听音选图"
                 cell.setProgress(progress: studyScheduleModel?.listen ?? 0)
                 cell.view_center.backgroundColor = UIColor.white
             case 1:
-                cell.label_subTitle.text = "自主学习2-看图选音"
+                cell.label_subTitle.text = "看图选音"
                 cell.setProgress(progress: studyScheduleModel?.look ?? 0)
                 if (studyScheduleModel?.listen ?? 0) >= 90{
                     cell.view_center.backgroundColor = UIColor.white
                 }
 
             case 2:
-                cell.label_subTitle.text = "自主学习3-归纳排除"
+                cell.label_subTitle.text = "归纳排除"
                 cell.setProgress(progress: studyScheduleModel?.computeSchedule ?? 0)
                 if (studyScheduleModel?.look ?? 0) >= 90{
                     cell.view_center.backgroundColor = UIColor.white
                 }
             case 3:
-                cell.label_subTitle.text = "自主学习4-有问有答"
+                cell.label_subTitle.text = "有问有答"
                 cell.setProgress(progress: studyScheduleModel?.answer ?? 0)
                 if (studyScheduleModel?.computeSchedule ?? 0) >= 90{
                     cell.view_center.backgroundColor = UIColor.white
                 }
             case 4:
-                cell.label_subTitle.text = "自主学习5-音图相配"
+                cell.label_subTitle.text = "音图相配"
                 cell.setProgress(progress: studyScheduleModel?.pair ?? 0)
                 if (studyScheduleModel?.answer ?? 0) >= 90{
                     cell.view_center.backgroundColor = UIColor.white
                 }
             case 5:
                 cell.label_subTitle.text = "自主游戏"
-                cell.view_state.isHidden = true
+//                cell.view_state.isHidden = true
                 if (studyScheduleModel?.day ?? 0) >= 6{
                     cell.setProgress(progress: 100)
                 }else{
@@ -309,7 +318,7 @@
                 }
             case 6:
                 cell.label_subTitle.text = "听故事"
-                cell.view_state.isHidden = true
+//                cell.view_state.isHidden = true
                 if (studyScheduleModel?.day ?? 0) >= 6{
                     cell.setProgress(progress: 100)
                 }else{
diff --git a/DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenSubVC.swift b/DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenSubVC.swift
index a54491d..46e32a7 100644
--- a/DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenSubVC.swift
+++ b/DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenSubVC.swift
@@ -245,7 +245,7 @@
                 cell.view_bg1.isHidden = true
                 switch indexPath.row {
                 case 0:
-                    cell.label_title.text = "自主学习1-听音选图"
+                    cell.label_title.text = "听音选图"
                     cell.view_bg2.backgroundColor = UIColor(hexString: "#6EC3FF")
 
                     if studyScheduleModel?.day == (page + 1){
@@ -256,7 +256,7 @@
                         cell.setProgress(progress: 0)
                     }
                 case 1:
-                    cell.label_title.text = "自主学习2-看图选音"
+                    cell.label_title.text = "看图选音"
                     cell.view_bg2.backgroundColor = UIColor(hexString: "#FF9A85")
 
                     if studyScheduleModel?.day == (page + 1){
@@ -267,7 +267,7 @@
                         cell.setProgress(progress: 0)
                     }
                 case 2:
-                    cell.label_title.text = "自主学习3-归纳排除"
+                    cell.label_title.text = "归纳排除"
                     cell.view_bg2.backgroundColor = UIColor(hexString: "#28C8C5")
 
 
@@ -279,7 +279,7 @@
                         cell.setProgress(progress: 0)
                     }
                 case 3:
-                    cell.label_title.text = "自主学习4-有问有答"
+                    cell.label_title.text = "有问有答"
                     cell.view_bg2.backgroundColor = UIColor(hexString: "#F8A169")
 
 
@@ -291,7 +291,7 @@
                         cell.setProgress(progress: 0)
                     }
                 case 4:
-                    cell.label_title.text = "自主学习5-音图相配"
+                    cell.label_title.text = "音图相配"
                     cell.view_bg2.backgroundColor = UIColor(hexString: "#92CADB")
 
                     if studyScheduleModel?.day == (page + 1){
@@ -310,10 +310,10 @@
                 cell.view_state.isHidden = true
                 switch indexPath.row {
                 case 0:
-                    cell.label_title.text = "自主游戏1-超级听力"
+                    cell.label_title.text = "超级听力"
                     cell.view_bg1.backgroundColor = UIColor(hexString: "#6EC3FF")
                 case 1:
-                    cell.label_title.text = "自主游戏2-超级记忆"
+                    cell.label_title.text = "超级记忆"
                     cell.view_bg1.backgroundColor = UIColor(hexString: "#FF9A85")
                 default:break
                 }
@@ -324,10 +324,10 @@
                 cell.view_state.isHidden = true
                 switch indexPath.row {
                 case 0:
-                    cell.label_title.text = "自主故事1-看图配音"
+                    cell.label_title.text = "看图配音"
                     cell.view_bg1.backgroundColor = UIColor(hexString: "#6EC3FF")
                 case 1:
-                    cell.label_title.text = "自主故事2-框架记忆"
+                    cell.label_title.text = "框架记忆"
                     cell.view_bg1.backgroundColor = UIColor(hexString: "#FF9A85")
                 default:break
                 }
diff --git a/DolphinEnglishLearnStudent/Moudle/Home/Listen/View/RandromAnsterView.swift b/DolphinEnglishLearnStudent/Moudle/Home/Listen/View/RandromAnsterView.swift
new file mode 100644
index 0000000..559e958
--- /dev/null
+++ b/DolphinEnglishLearnStudent/Moudle/Home/Listen/View/RandromAnsterView.swift
@@ -0,0 +1,208 @@
+//
+//  RandromAnsterView.swift
+//  DolphinEnglishLearnStudent
+//
+//  Created by 无故事王国 on 2025/9/2.
+//
+
+import UIKit
+let CellW = JQ_ScreenW * 0.0336
+
+class RandromAnsterView: UIView {
+    private var count:Int = 0
+    private var selectIndex:IndexPath?
+    private var clickClouse:((Int)->Void)?
+
+    private var collectionView:UICollectionView = {
+        let uICollectionViewFlowLayout = UICollectionViewFlowLayout()
+        uICollectionViewFlowLayout.itemSize = CGSizeMake(CellW, CellW)
+        uICollectionViewFlowLayout.minimumLineSpacing = 20
+        uICollectionViewFlowLayout.minimumInteritemSpacing = 20
+        let collectionV = UICollectionView(frame: .zero, collectionViewLayout: uICollectionViewFlowLayout)
+        collectionV.register(RandromAnsterCCell.self, forCellWithReuseIdentifier: "_RandromAnsterCCell")
+        return collectionV
+    }()
+
+    private var contentView:UIView = {
+        let v = UIView()
+        v.backgroundColor = .white
+        v.jq_cornerRadius = 10
+        return v
+    }()
+
+    private var closeBtn:UIButton = {
+        let btn = UIButton(type: .custom)
+        btn.setTitle("关闭", for: .normal)
+        btn.titleLabel?.font = UIFont.systemFont(ofSize: 14, weight: .medium)
+        btn.jq_borderWidth = 1
+        btn.layer.cornerRadius = 4
+        btn.layer.borderColor = UIColor(hexString:"#41A2EB")?.cgColor
+        btn.setTitleColor(UIColor(hexString:"#41A2EB"), for: .normal)
+        return btn
+    }()
+
+    private var commitBtn:UIButton = {
+        let btn = UIButton(type: .custom)
+        btn.setTitle("确认", for: .normal)
+        btn.titleLabel?.font = UIFont.systemFont(ofSize: 14, weight: .medium)
+        btn.jq_borderWidth = 1
+        btn.layer.cornerRadius = 4
+        btn.layer.borderColor = UIColor(hexString:"#41A2EB")?.cgColor
+        btn.setTitleColor(UIColor(hexString:"#41A2EB"), for: .normal)
+        return btn
+    }()
+
+    override init(frame: CGRect) {
+        super.init(frame: frame)
+        collectionView.delegate = self
+        collectionView.dataSource = self
+        closeBtn.addTarget(self, action: #selector(closeAction), for: .touchUpInside)
+        commitBtn.addTarget(self, action: #selector(commitAction), for: .touchUpInside)
+    }
+    
+    required init?(coder: NSCoder) {
+        fatalError("init(coder:) has not been implemented")
+    }
+    
+    static func show(_ count:Int = 0,clickClouse:@escaping (Int)->Void){
+        let randromAnsterView = RandromAnsterView(frame: .zero)
+        randromAnsterView.clickClouse = clickClouse
+        randromAnsterView.count = count
+        randromAnsterView.frame = sceneDelegate?.window?.frame ?? .zero
+        randromAnsterView.backgroundColor = UIColor(hexString: "#484849")
+        randromAnsterView.contentView.transform = .init(scaleX: 0.1, y: 0.1)
+        randromAnsterView.alpha = 0
+        sceneDelegate?.window?.addSubview(randromAnsterView)
+
+        randromAnsterView.addSubview(randromAnsterView.contentView)
+        randromAnsterView.contentView.snp.makeConstraints { make in
+            make.center.equalToSuperview()
+            make.width.equalTo(JQ_ScreenW * 0.3433)
+            make.height.equalTo(JQ_ScreenW * 0.3433 * 0.7)
+        }
+
+        randromAnsterView.closeBtn.snp.makeConstraints { make in
+            make.width.equalTo(124)
+            make.height.equalTo(40)
+        }
+
+        randromAnsterView.commitBtn.snp.makeConstraints { make in
+            make.width.equalTo(124)
+            make.height.equalTo(40)
+        }
+
+        let uIStackView = UIStackView(arrangedSubviews: [randromAnsterView.closeBtn,randromAnsterView.commitBtn])
+        uIStackView.axis = .horizontal
+        uIStackView.spacing = 27
+        uIStackView.distribution = .equalSpacing
+        randromAnsterView.contentView.addSubview(uIStackView)
+        uIStackView.snp.makeConstraints { make in
+            make.bottom.equalToSuperview().offset(-20)
+            make.width.equalTo(275)
+            make.centerX.equalToSuperview()
+        }
+
+        let titleL = UILabel()
+        titleL.text = "标题"
+        titleL.font = .systemFont(ofSize: 18, weight: .medium)
+        titleL.textColor = UIColor.black.withAlphaComponent(0.8)
+        randromAnsterView.contentView.addSubview(titleL)
+        titleL.snp.makeConstraints { make in
+            make.top.equalToSuperview().offset(32)
+            make.centerX.equalToSuperview()
+            make.height.equalTo(18)
+        }
+
+        randromAnsterView.contentView.addSubview(randromAnsterView.collectionView)
+        randromAnsterView.collectionView.snp.makeConstraints { make in
+            make.top.equalTo(titleL.snp.bottom).offset(35)
+            make.leading.equalTo(34)
+            make.trailing.equalTo(-34)
+            make.bottom.equalTo(uIStackView.snp.top).offset(-5)
+        }
+
+        UIView.animate(withDuration: 0.2) {
+            randromAnsterView.contentView.transform = .identity
+            randromAnsterView.alpha = 1
+        } completion: { _ in
+
+        }
+    }
+
+    @objc func closeAction(){
+        UIView.animate(withDuration: 0.2) {
+            self.contentView.transform = .init(scaleX: 0.1, y: 0.1)
+            self.alpha = 0
+        } completion: { _ in
+            self.removeFromSuperview()
+        }
+    }
+
+    @objc func commitAction(){
+        UIView.animate(withDuration: 0.2) {
+            self.contentView.transform = .init(scaleX: 0.1, y: 0.1)
+            self.alpha = 0
+        } completion: { _ in
+            if let index = self.selectIndex{
+                self.clickClouse?(index.row)
+            }
+            self.removeFromSuperview()
+        }
+    }
+}
+
+extension RandromAnsterView:UICollectionViewDelegate{
+    func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
+//        clickClouse?(indexPath.row)
+        selectIndex = indexPath
+        collectionView.reloadData()
+    }
+}
+
+extension RandromAnsterView:UICollectionViewDataSource{
+    func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
+        return count
+    }
+
+    func numberOfSections(in collectionView: UICollectionView) -> Int {
+        return 1
+    }
+
+    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
+
+        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "_RandromAnsterCCell", for: indexPath) as! RandromAnsterCCell
+        cell.titleL.text = "\(indexPath.row + 1)"
+
+        if indexPath.row == selectIndex?.row{
+            cell.titleL.jq_borderColor = UIColor(hexString: "#41A2EB")
+            cell.titleL.textColor = UIColor(hexString: "#41A2EB")
+        }else{
+            cell.titleL.jq_borderColor = .black.withAlphaComponent(0.2)
+            cell.titleL.textColor = .black.withAlphaComponent(0.6)
+        }
+        return cell
+    }
+}
+
+class RandromAnsterCCell:UICollectionViewCell{
+
+
+    private(set) var titleL:UILabel!
+
+    override init(frame: CGRect) {
+        super.init(frame: frame)
+        titleL = UILabel()
+        contentView.addSubview(titleL)
+        titleL.textAlignment = .center
+        titleL.font = UIFont.systemFont(ofSize: 18, weight: .medium)
+        titleL.jq_borderWidth = 1
+        titleL.textColor = .black.withAlphaComponent(0.6)
+        titleL.snp.makeConstraints { make in
+            make.edges.equalToSuperview()
+        }
+    }
+    
+    required init?(coder: NSCoder) {
+        fatalError("init(coder:) has not been implemented")
+    }
+}
diff --git a/DolphinEnglishLearnStudent/Moudle/Home/VC/HomeStudyCompleteVC.swift b/DolphinEnglishLearnStudent/Moudle/Home/VC/HomeStudyCompleteVC.swift
index e7217b3..c84a363 100644
--- a/DolphinEnglishLearnStudent/Moudle/Home/VC/HomeStudyCompleteVC.swift
+++ b/DolphinEnglishLearnStudent/Moudle/Home/VC/HomeStudyCompleteVC.swift
@@ -29,12 +29,12 @@
     var viewModel:HomeListenFightViewModel!
     var studyScheduleModel:StudyScheduleModel!
 
-    required init(totalNum:Int? = nil,viewModel:HomeListenFightViewModel,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
+//        self.studyScheduleModel = studyScheduleModel
     }
 
     required init?(coder: NSCoder) {
@@ -133,7 +133,7 @@
                         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
+//                        fightVC.studyScheduleModel = weakSelf.studyScheduleModel
                         weakSelf.push(vc: fightVC)
                     }
                 }).disposed(by: disposeBag)
@@ -146,7 +146,7 @@
                         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
+//                        fightVC.studyScheduleModel = weakSelf.studyScheduleModel
                         weakSelf.push(vc: fightVC)
                     }
                 }).disposed(by: disposeBag)
@@ -158,7 +158,7 @@
                         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
+//                        fightVC.studyScheduleModel = weakSelf.studyScheduleModel
                         weakSelf.push(vc: fightVC)
                     }
                 }).disposed(by: disposeBag)
@@ -170,7 +170,7 @@
                         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
+//                        fightVC.studyScheduleModel = weakSelf.studyScheduleModel
                         weakSelf.push(vc: fightVC)
                     }
                 }).disposed(by: disposeBag)

--
Gitblit v1.7.1