fix
无故事王国
2024-07-15 33734ec8ece539b0b60ad66e88d84c8a0a1f1126
fix
2 文件已复制
1 文件已重命名
10个文件已修改
6个文件已删除
11个文件已添加
207 ■■■■■ 已修改文件
DolphinEnglishLearnStudent.xcodeproj/project.pbxproj 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DolphinEnglishLearnStudent/Assets.xcassets/Bg/.DS_Store 补丁 | 查看 | 原始文档 | blame | 历史
DolphinEnglishLearnStudent/Assets.xcassets/Bg/bg_abc.imageset/Contents.json 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DolphinEnglishLearnStudent/Assets.xcassets/Bg/bg_abc.imageset/bg_abc.png 补丁 | 查看 | 原始文档 | blame | 历史
DolphinEnglishLearnStudent/Assets.xcassets/Bg/bg_abc.imageset/bg_abc@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
DolphinEnglishLearnStudent/Assets.xcassets/Bg/bg_logo.imageset/Contents.json 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DolphinEnglishLearnStudent/Assets.xcassets/Bg/bg_logo.imageset/logo.png 补丁 | 查看 | 原始文档 | blame | 历史
DolphinEnglishLearnStudent/Assets.xcassets/Bg/bg_logo.imageset/logo@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
DolphinEnglishLearnStudent/Assets.xcassets/Bg/bg_logo.imageset/wecom-temp-67726-6439a5b9afc49824ac67b405478482e0.png 补丁 | 查看 | 原始文档 | blame | 历史
DolphinEnglishLearnStudent/Assets.xcassets/Bg/bg_logo.imageset/wecom-temp-67726-6439a5b9afc49824ac67b405478482e01.png 补丁 | 查看 | 原始文档 | blame | 历史
DolphinEnglishLearnStudent/Assets.xcassets/Btn/placeH.imageset/Contents.json 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DolphinEnglishLearnStudent/Assets.xcassets/Btn/placeH.imageset/placeH.png 补丁 | 查看 | 原始文档 | blame | 历史
DolphinEnglishLearnStudent/Assets.xcassets/Btn/placeH.imageset/placeH@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
DolphinEnglishLearnStudent/Assets.xcassets/Icon/icon_longLine.imageset/Contents.json 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DolphinEnglishLearnStudent/Assets.xcassets/Icon/icon_longLine.imageset/icon_longLine.png 补丁 | 查看 | 原始文档 | blame | 历史
DolphinEnglishLearnStudent/Assets.xcassets/Icon/icon_longLine.imageset/icon_longLine@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
DolphinEnglishLearnStudent/Assets.xcassets/launchScreen.imageset/3614f397766a6be30598295885d7008b 1.png 补丁 | 查看 | 原始文档 | blame | 历史
DolphinEnglishLearnStudent/Assets.xcassets/launchScreen.imageset/3614f397766a6be30598295885d7008b.png 补丁 | 查看 | 原始文档 | blame | 历史
DolphinEnglishLearnStudent/Assets.xcassets/launchScreen.imageset/Contents.json 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DolphinEnglishLearnStudent/Assets.xcassets/launchScreen.imageset/launchScreen@1x.png 补丁 | 查看 | 原始文档 | blame | 历史
DolphinEnglishLearnStudent/Assets.xcassets/launchScreen.imageset/launchScreen@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
DolphinEnglishLearnStudent/Assets.xcassets/launchscreen 1.imageset/launchscreen.png 补丁 | 查看 | 原始文档 | blame | 历史
DolphinEnglishLearnStudent/Assets.xcassets/launchscreen 1.imageset/launchscreen@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
DolphinEnglishLearnStudent/Base.lproj/LaunchScreen.storyboard 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DolphinEnglishLearnStudent/Moudle/Home/HomeVC.swift 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DolphinEnglishLearnStudent/Moudle/Home/HomeVC.xib 94 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenFightVC.swift 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenFight_lesson_4_VC.swift 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenVC.swift 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DolphinEnglishLearnStudent/Moudle/Home/VC/HomeStudyCompleteVC.swift 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DolphinEnglishLearnStudent.xcodeproj/project.pbxproj
@@ -1007,7 +1007,7 @@
                ENABLE_USER_SCRIPT_SANDBOXING = NO;
                GENERATE_INFOPLIST_FILE = YES;
                INFOPLIST_FILE = DolphinEnglishLearnStudent/Info.plist;
                INFOPLIST_KEY_CFBundleDisplayName = "海豚英语-学习端";
                INFOPLIST_KEY_CFBundleDisplayName = "哆能智学-学习端";
                INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
                INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
                INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
@@ -1142,7 +1142,7 @@
                ENABLE_USER_SCRIPT_SANDBOXING = NO;
                GENERATE_INFOPLIST_FILE = YES;
                INFOPLIST_FILE = DolphinEnglishLearnStudent/Info.plist;
                INFOPLIST_KEY_CFBundleDisplayName = "海豚英语-学习端";
                INFOPLIST_KEY_CFBundleDisplayName = "哆能智学-学习端";
                INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
                INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
                INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
DolphinEnglishLearnStudent/Assets.xcassets/Bg/.DS_Store
Binary files differ
DolphinEnglishLearnStudent/Assets.xcassets/Bg/bg_abc.imageset/Contents.json
copy from DolphinEnglishLearnStudent/Assets.xcassets/launchscreen 1.imageset/Contents.json copy to DolphinEnglishLearnStudent/Assets.xcassets/Bg/bg_abc.imageset/Contents.json
File was copied from DolphinEnglishLearnStudent/Assets.xcassets/launchscreen 1.imageset/Contents.json
@@ -1,12 +1,12 @@
{
  "images" : [
    {
      "filename" : "launchscreen.png",
      "filename" : "bg_abc.png",
      "idiom" : "universal",
      "scale" : "1x"
    },
    {
      "filename" : "launchscreen@2x.png",
      "filename" : "bg_abc@2x.png",
      "idiom" : "universal",
      "scale" : "2x"
    },
DolphinEnglishLearnStudent/Assets.xcassets/Bg/bg_abc.imageset/bg_abc.png
DolphinEnglishLearnStudent/Assets.xcassets/Bg/bg_abc.imageset/bg_abc@2x.png
DolphinEnglishLearnStudent/Assets.xcassets/Bg/bg_logo.imageset/Contents.json
@@ -1,12 +1,12 @@
{
  "images" : [
    {
      "filename" : "logo.png",
      "filename" : "wecom-temp-67726-6439a5b9afc49824ac67b405478482e0.png",
      "idiom" : "ipad",
      "scale" : "1x"
    },
    {
      "filename" : "logo@2x.png",
      "filename" : "wecom-temp-67726-6439a5b9afc49824ac67b405478482e01.png",
      "idiom" : "ipad",
      "scale" : "2x"
    }
DolphinEnglishLearnStudent/Assets.xcassets/Bg/bg_logo.imageset/logo.png
Binary files differ
DolphinEnglishLearnStudent/Assets.xcassets/Bg/bg_logo.imageset/logo@2x.png
Binary files differ
DolphinEnglishLearnStudent/Assets.xcassets/Bg/bg_logo.imageset/wecom-temp-67726-6439a5b9afc49824ac67b405478482e0.png
DolphinEnglishLearnStudent/Assets.xcassets/Bg/bg_logo.imageset/wecom-temp-67726-6439a5b9afc49824ac67b405478482e01.png
DolphinEnglishLearnStudent/Assets.xcassets/Btn/placeH.imageset/Contents.json
File was renamed from DolphinEnglishLearnStudent/Assets.xcassets/launchscreen 1.imageset/Contents.json
@@ -1,12 +1,12 @@
{
  "images" : [
    {
      "filename" : "launchscreen.png",
      "filename" : "placeH.png",
      "idiom" : "universal",
      "scale" : "1x"
    },
    {
      "filename" : "launchscreen@2x.png",
      "filename" : "placeH@2x.png",
      "idiom" : "universal",
      "scale" : "2x"
    },
DolphinEnglishLearnStudent/Assets.xcassets/Btn/placeH.imageset/placeH.png
DolphinEnglishLearnStudent/Assets.xcassets/Btn/placeH.imageset/placeH@2x.png
DolphinEnglishLearnStudent/Assets.xcassets/Icon/icon_longLine.imageset/Contents.json
copy from DolphinEnglishLearnStudent/Assets.xcassets/launchscreen 1.imageset/Contents.json copy to DolphinEnglishLearnStudent/Assets.xcassets/Icon/icon_longLine.imageset/Contents.json
File was copied from DolphinEnglishLearnStudent/Assets.xcassets/launchscreen 1.imageset/Contents.json
@@ -1,12 +1,12 @@
{
  "images" : [
    {
      "filename" : "launchscreen.png",
      "filename" : "icon_longLine.png",
      "idiom" : "universal",
      "scale" : "1x"
    },
    {
      "filename" : "launchscreen@2x.png",
      "filename" : "icon_longLine@2x.png",
      "idiom" : "universal",
      "scale" : "2x"
    },
DolphinEnglishLearnStudent/Assets.xcassets/Icon/icon_longLine.imageset/icon_longLine.png
DolphinEnglishLearnStudent/Assets.xcassets/Icon/icon_longLine.imageset/icon_longLine@2x.png
DolphinEnglishLearnStudent/Assets.xcassets/launchScreen.imageset/3614f397766a6be30598295885d7008b 1.png
DolphinEnglishLearnStudent/Assets.xcassets/launchScreen.imageset/3614f397766a6be30598295885d7008b.png
DolphinEnglishLearnStudent/Assets.xcassets/launchScreen.imageset/Contents.json
@@ -1,14 +1,18 @@
{
  "images" : [
    {
      "filename" : "launchScreen@1x.png",
      "idiom" : "ipad",
      "filename" : "3614f397766a6be30598295885d7008b.png",
      "idiom" : "universal",
      "scale" : "1x"
    },
    {
      "filename" : "launchScreen@2x.png",
      "idiom" : "ipad",
      "filename" : "3614f397766a6be30598295885d7008b 1.png",
      "idiom" : "universal",
      "scale" : "2x"
    },
    {
      "idiom" : "universal",
      "scale" : "3x"
    }
  ],
  "info" : {
DolphinEnglishLearnStudent/Assets.xcassets/launchScreen.imageset/launchScreen@1x.png
Binary files differ
DolphinEnglishLearnStudent/Assets.xcassets/launchScreen.imageset/launchScreen@2x.png
Binary files differ
DolphinEnglishLearnStudent/Assets.xcassets/launchscreen 1.imageset/launchscreen.png
Binary files differ
DolphinEnglishLearnStudent/Assets.xcassets/launchscreen 1.imageset/launchscreen@2x.png
Binary files differ
DolphinEnglishLearnStudent/Base.lproj/LaunchScreen.storyboard
@@ -3,7 +3,7 @@
    <device id="ipad10_9rounded" orientation="landscape" layout="fullscreen" appearance="light"/>
    <dependencies>
        <deployment identifier="iOS"/>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22684"/>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/>
        <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,7 +17,7 @@
                        <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 1" translatesAutoresizingMaskIntoConstraints="NO" id="ehh-vH-WKP">
                            <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>
                        </subviews>
@@ -37,7 +37,7 @@
        </scene>
    </scenes>
    <resources>
        <image name="launchscreen 1" width="1080" height="810"/>
        <image name="launchscreen" width="787.5" height="535.5"/>
        <systemColor name="systemBackgroundColor">
            <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
        </systemColor>
DolphinEnglishLearnStudent/Moudle/Home/HomeVC.swift
@@ -10,6 +10,7 @@
class HomeVC: BaseVC {
                @IBOutlet weak var view_menu: UIView!
    override func viewDidLoad() {
        super.viewDidLoad()
@@ -38,6 +39,10 @@
                                }).disposed(by: disposeBag)
    }
                override func viewDidLayoutSubviews() {
                                view_menu.jq_gradientColor(colorArr: [UIColor(hexString: "#F9F5E0")!.cgColor,UIColor(hexString: "#EBF6FF")!.cgColor], cornerRadius: 8, startPoint: CGPoint(x: 0, y: 0), endPoint: CGPoint(x: 0, y: 1), bounds: nil,locations: [NSNumber(value: 0.35)])
                }
                @IBAction func listenAction(_ sender: UIButton) {
                                Services.goodRecommend().subscribe(onNext: { data in
DolphinEnglishLearnStudent/Moudle/Home/HomeVC.xib
@@ -3,7 +3,7 @@
    <device id="ipad10_9rounded" orientation="landscape" layout="fullscreen" appearance="light"/>
    <dependencies>
        <deployment identifier="iOS"/>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22684"/>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/>
        <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"/>
@@ -12,6 +12,7 @@
        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="HomeVC" customModule="DolphinEnglishLearnStudent" customModuleProvider="target">
            <connections>
                <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
                <outlet property="view_menu" destination="NVz-Oq-gpf" id="PbF-g0-AZ0"/>
            </connections>
        </placeholder>
        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
@@ -20,24 +21,47 @@
            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
            <subviews>
                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="u25-QY-P0i">
                    <rect key="frame" x="0.0" y="0.0" width="299.5" height="820"/>
                    <rect key="frame" x="0.0" y="0.0" width="285" height="780"/>
                    <subviews>
                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="logo" translatesAutoresizingMaskIntoConstraints="NO" id="3du-Pw-IgI">
                            <rect key="frame" x="77.5" y="40" width="144" height="136"/>
                            <rect key="frame" x="70.5" y="40" width="144" height="136"/>
                        </imageView>
                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="欢迎使用海豚英语!" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="nUx-UB-L4X">
                            <rect key="frame" x="18" y="193" width="263.5" height="33.5"/>
                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="欢迎使用哆能智学!" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="nUx-UB-L4X">
                            <rect key="frame" x="18" y="193" width="249" height="33.5"/>
                            <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="28"/>
                            <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                            <nil key="highlightedColor"/>
                        </label>
                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="海豚英语学习体系" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="oad-Jg-rwh">
                            <rect key="frame" x="18" y="238.5" width="171" height="29"/>
                            <constraints>
                                <constraint firstAttribute="height" constant="29" id="cDC-9c-PN8"/>
                            </constraints>
                            <fontDescription key="fontDescription" type="system" pointSize="21"/>
                            <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" usesAttributedText="YES" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="oad-Jg-rwh">
                            <rect key="frame" x="18" y="238.5" width="189" height="47"/>
                            <attributedString key="attributedText">
                                <fragment content="孩子自己就能学好的">
                                    <attributes>
                                        <color key="NSColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                                        <font key="NSFont" size="21" name=".PingFangSC-Regular"/>
                                        <font key="NSOriginalFont" metaFont="system" size="21"/>
                                        <paragraphStyle key="NSParagraphStyle" alignment="left" lineBreakMode="wordWrapping" baseWritingDirection="natural" tighteningFactorForTruncation="0.0"/>
                                    </attributes>
                                </fragment>
                                <fragment>
                                    <string key="content" base64-UTF8="YES">
Cg
</string>
                                    <attributes>
                                        <color key="NSColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                                        <font key="NSFont" metaFont="system" size="21"/>
                                        <paragraphStyle key="NSParagraphStyle" alignment="left" lineBreakMode="wordWrapping" baseWritingDirection="natural" tighteningFactorForTruncation="0.0"/>
                                    </attributes>
                                </fragment>
                                <fragment content="英语课程体系">
                                    <attributes>
                                        <color key="NSColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                                        <font key="NSFont" size="21" name=".PingFangSC-Regular"/>
                                        <font key="NSOriginalFont" metaFont="system" size="21"/>
                                        <paragraphStyle key="NSParagraphStyle" alignment="left" lineBreakMode="wordWrapping" baseWritingDirection="natural" tighteningFactorForTruncation="0.0" allowsDefaultTighteningForTruncation="NO"/>
                                    </attributes>
                                </fragment>
                            </attributedString>
                            <nil key="highlightedColor"/>
                        </label>
                    </subviews>
@@ -54,7 +78,7 @@
                    </constraints>
                </view>
                <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="8a7-s7-2fd">
                    <rect key="frame" x="332.5" y="675" width="380" height="88"/>
                    <rect key="frame" x="318" y="276" width="380" height="88"/>
                    <subviews>
                        <view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="A0m-iE-WEq">
                            <rect key="frame" x="0.0" y="0.0" width="380" height="59"/>
@@ -201,24 +225,66 @@
                        </view>
                    </subviews>
                </stackView>
                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_longLine" translatesAutoresizingMaskIntoConstraints="NO" id="3HS-lN-rlw">
                    <rect key="frame" x="857" y="48" width="1" height="676"/>
                    <constraints>
                        <constraint firstAttribute="width" constant="1" id="JcY-vf-7Yr"/>
                    </constraints>
                </imageView>
                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="placeH" translatesAutoresizingMaskIntoConstraints="NO" id="dB6-vc-74T">
                    <rect key="frame" x="679" y="510" width="178" height="250"/>
                </imageView>
                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="NVz-Oq-gpf">
                    <rect key="frame" x="912" y="48" width="238" height="676"/>
                    <subviews>
                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="bg_abc" translatesAutoresizingMaskIntoConstraints="NO" id="nrV-nb-Vpp">
                            <rect key="frame" x="36" y="530" width="166" height="115"/>
                        </imageView>
                    </subviews>
                    <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                    <constraints>
                        <constraint firstAttribute="bottom" secondItem="nrV-nb-Vpp" secondAttribute="bottom" constant="31" id="Mui-vu-cFz"/>
                        <constraint firstAttribute="width" constant="238" id="QCl-EW-dU6"/>
                        <constraint firstAttribute="width" secondItem="NVz-Oq-gpf" secondAttribute="height" multiplier="0.352:1" id="jiO-AC-0WN"/>
                        <constraint firstItem="nrV-nb-Vpp" firstAttribute="leading" secondItem="NVz-Oq-gpf" secondAttribute="leading" constant="36" id="sJB-cO-qax"/>
                        <constraint firstAttribute="trailing" secondItem="nrV-nb-Vpp" secondAttribute="trailing" constant="36" id="shp-pp-EFk"/>
                    </constraints>
                    <userDefinedRuntimeAttributes>
                        <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/>
                        <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB">
                            <real key="value" value="8"/>
                        </userDefinedRuntimeAttribute>
                    </userDefinedRuntimeAttributes>
                </view>
            </subviews>
            <viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/>
            <color key="backgroundColor" systemColor="systemBackgroundColor"/>
            <constraints>
                <constraint firstItem="8a7-s7-2fd" firstAttribute="top" secondItem="fnl-2z-Ty3" secondAttribute="top" constant="252" id="4SC-Gm-a5y"/>
                <constraint firstItem="fnl-2z-Ty3" firstAttribute="bottom" secondItem="dB6-vc-74T" secondAttribute="bottom" id="5rR-7n-uKm"/>
                <constraint firstItem="NVz-Oq-gpf" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" constant="48" id="9rj-9T-mc5"/>
                <constraint firstAttribute="bottom" secondItem="u25-QY-P0i" secondAttribute="bottom" id="CfI-2x-pVb"/>
                <constraint firstItem="NVz-Oq-gpf" firstAttribute="bottom" secondItem="3HS-lN-rlw" secondAttribute="bottom" id="GK6-yS-c1H"/>
                <constraint firstItem="fnl-2z-Ty3" firstAttribute="bottom" secondItem="NVz-Oq-gpf" secondAttribute="bottom" constant="36" id="MKK-qg-4Pp"/>
                <constraint firstItem="u25-QY-P0i" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="QEu-6j-zme"/>
                <constraint firstItem="fnl-2z-Ty3" firstAttribute="bottom" secondItem="8a7-s7-2fd" secondAttribute="bottom" constant="37" id="esM-dS-4XS"/>
                <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="NVz-Oq-gpf" secondAttribute="trailing" constant="30" id="Wif-ad-6Fo"/>
                <constraint firstItem="NVz-Oq-gpf" firstAttribute="leading" secondItem="3HS-lN-rlw" secondAttribute="trailing" constant="54" id="YdZ-Wt-PDn"/>
                <constraint firstItem="3HS-lN-rlw" firstAttribute="leading" secondItem="dB6-vc-74T" secondAttribute="trailing" id="h3G-Yy-yuZ"/>
                <constraint firstItem="8a7-s7-2fd" firstAttribute="leading" secondItem="u25-QY-P0i" secondAttribute="trailing" constant="33" id="lge-cR-TPq"/>
                <constraint firstItem="u25-QY-P0i" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" id="snI-gI-0vp"/>
                <constraint firstItem="NVz-Oq-gpf" firstAttribute="top" secondItem="3HS-lN-rlw" secondAttribute="top" id="x7g-LJ-Sk4"/>
            </constraints>
            <point key="canvasLocation" x="44.745762711864408" y="19.756097560975608"/>
        </view>
    </objects>
    <resources>
        <image name="bg_abc" width="166" height="115"/>
        <image name="home_arrow_up" width="20" height="37"/>
        <image name="home_listen" width="42" height="28"/>
        <image name="home_read" width="37" height="37"/>
        <image name="icon_longLine" width="1" height="676"/>
        <image name="logo" width="144" height="136"/>
        <image name="placeH" width="178" height="250"/>
        <systemColor name="systemBackgroundColor">
            <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
        </systemColor>
DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenFightVC.swift
@@ -231,23 +231,7 @@
                                                                                                viewModel.answerCount.accept(maxPage)
                                                                                                setPages()
//                                                                                                for (index,v) in ids.enumerated(){
//                                                                                                                if v == String(teamSchedule.teamIds.last!){
//                                                                                                                                let maxCount = (data as! ListenNewModel).subjectList.count
//                                                                                                                                //下一页页码
//                                                                                                                                let page = min(index, maxCount)
//                                                                                                                                if pageVC.currentPage != page{
//                                                                                                                                                pageVC.scroll(toPage: page, animation: false)
//                                                                                                                                                setPages()
//                                                                                                                                }
//                                                                                                                                viewModel.answerCount.accept(teamSchedule.topicIds.count + 1)
//                                                                                                                }
//                                                                                                }
                                                                                case .lesson2:
//                                                                                                let nextPage = (teamSchedule.teamIds.count) - 1
                                                                                                let maxCount = (data as! ListenNewModel).subjectList.count
                                                                                                                let page = min((maxPage - 1),maxCount)
                                                                                                if pageVC.currentPage != page{
@@ -257,8 +241,6 @@
                                                                                                }
                                                                                case .lesson4:
//                                                                                                let nextPage = (teamSchedule.teamIds.count) - 1
                                                                                                let maxCount = (data as! ListenNewModel).subjectList.count
                                                                                                let page = min((maxPage - 1),maxCount)
                                                                                                if pageVC.currentPage != page{
@@ -269,7 +251,6 @@
                                                                                case .lesson3,.lesson5:
//                                                                                                let nextPage = (teamSchedule.teamIds.count) - 1
                                                                                                let maxCount = (data as! ListenNewModel).subjectList.count
                                                                                                let page = min((maxPage - 1),maxCount)
                                                                                                if pageVC.currentPage != page{
@@ -535,7 +516,9 @@
                                                                                                guard let weakSelf = self else { return }
                                                                                                for vc in weakSelf.navigationController?.viewControllers ?? []{
                                                                                                                if vc.isKind(of: HomeListenVC.self){
                                                                                                                                weakSelf.navigationController?.popToViewController(vc, animated: true);break
                                                                                                                                weakSelf.navigationController?.popToViewController(vc, animated: true)
                                                                                                                                NotificationCenter.default.post(name: Refresh_ListenSchedule_Noti, object: nil)
                                                                                                                                break
                                                                                                                }
                                                                                                }
                                                                                }
@@ -557,7 +540,9 @@
                                                                                guard let weakSelf = self else { return }
                                                                                for vc in weakSelf.navigationController?.viewControllers ?? []{
                                                                                                if vc.isKind(of: HomeListenVC.self){
                                                                                                                weakSelf.navigationController?.popToViewController(vc, animated: true);break
                                                                                                                weakSelf.navigationController?.popToViewController(vc, animated: true)
                                                                                                                NotificationCenter.default.post(name: Refresh_ListenSchedule_Noti, object: nil)
                                                                                                                break
                                                                                                }
                                                                                }
                                                                }
@@ -573,37 +558,18 @@
                                                CommonAlertView.show(content: "未完成全部答题,确认退出吗?") {[weak self] () in
                                                                guard let weakSelf = self else { return }
//                                                                let temIds = weakSelf.viewModel.answerItems_1.keys.sorted()
//                                                                let topicIds = weakSelf.viewModel.answerItems_1.values.flatMap({$0}).map({"\($0)"})
                                                                let temIds = [String]()
                                                                let topicIds = [String]()
//                                                                var schedule:Int = 0
//                                                                if let page = weakSelf.label_pageNum.text?.components(separatedBy: ":").last?.components(separatedBy: "/").first?.int{
//                                                                                schedule = max((page - 1),1)
//                                                                }
//                                                                switch weakSelf.viewModel.listenType.value{
//                                                                                case .lesson1:schedule = max(weakSelf.viewModel.answerCount.value - 1,1)
//                                                                                case .lesson2,.lesson3:schedule = max(weakSelf.viewModel.currentPage.value,1)
//                                                                                case .lesson4:schedule = max(weakSelf.viewModel.currentPage.value,1)
//                                                                                case .lesson5:schedule = max(weakSelf.viewModel.currentPage.value,1)
//                                                                                default:break
//                                                                }
                                                                switch weakSelf.viewModel.listenType.value{
                                                                                case .lesson1,.lesson2,.lesson3,.lesson4,.lesson5:
//                                                                                                if temIds.count > 0 && topicIds.count > 0{
                                                                                                                let totalNum = weakSelf.viewModel.correctNum + weakSelf.viewModel.errorNum
                                                                                                                Services.exitLearning(type:weakSelf.viewModel.listenType.value.rawValue,quarter: weakSelf.viewModel.quarter.value!,week: weakSelf.viewModel.week.value!, day: weakSelf.viewModel.day.value!, teamIds: temIds, topicIds: topicIds,answerNumber: totalNum,correctNumber:weakSelf.viewModel.correctNum,studyTime:weakSelf.viewModel.times,schedule: weakSelf.maxPage).subscribe(onNext: { data in
                                                                                                                                NotificationCenter.default.post(name: MeUserInfoUpdate_Noti, object: nil)
                                                                                                                }).disposed(by: weakSelf.disposeBag)
//                                                                                                }
                                                                                case .game1,.game2,.story1,.story2:
                                                                                                Services.exitGameOrStory(studyTime: weakSelf.viewModel.times).subscribe(onNext: { _ in
@@ -611,7 +577,9 @@
                                                                }
                                                                for vc in weakSelf.navigationController?.viewControllers ?? []{
                                                                                if vc.isKind(of: HomeListenVC.self){
                                                                                                weakSelf.navigationController?.popToViewController(vc, animated: true);break
                                                                                                weakSelf.navigationController?.popToViewController(vc, animated: true)
                                                                                                NotificationCenter.default.post(name: Refresh_ListenSchedule_Noti, object: nil)
                                                                                                break
                                                                                }
                                                                }
                                                }
DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenFight_lesson_4_VC.swift
@@ -382,10 +382,10 @@
                                if answerIndexs.count == 0 && indexPath.section == 1{
                                                cell.view_handle.backgroundColor = .gray.withAlphaComponent(0.5)
                                                cell.btn_play.isEnabled = false
                                                cell.view_handle.isEnabled = false
                                }else{
                                                cell.view_handle.backgroundColor = UIColor(hexString: "#41A2EB")
                                                cell.btn_play.isEnabled = true
                                                cell.view_handle.isEnabled = true
                                }
                                return cell
DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenVC.swift
@@ -54,9 +54,7 @@
                                self.limitDay = studyScheduleModel.day
//#if DEBUG
//                                self.limitDay = 5
//#endif
                                let total = studyScheduleModel.pair + studyScheduleModel.induction + studyScheduleModel.listen + studyScheduleModel.look + studyScheduleModel.answer
@@ -64,6 +62,10 @@
                                                self.limitDay = Int.max
                                }
                                #if DEBUG
                                                self.limitDay = Int.max
                                #endif
                                for (index,titleL) in (self.menu.subviews.last?.subviews[1].subviews ?? []).filter({$0 is UIButton}).enumerated(){
                                                if let btn = titleL as?  UIButton{
                                                                btn.setTitleColor(index < (self.limitDay) ? .black:.black.withAlphaComponent(0.33), for: .normal)
DolphinEnglishLearnStudent/Moudle/Home/VC/HomeStudyCompleteVC.swift
@@ -44,6 +44,12 @@
                override func viewDidLoad() {
                                super.viewDidLoad()
                                navigationController?.viewControllers.removeAll(where: { vc in
                                                return vc is HomeListenFightVC
                                })
                                yy_popBlock = {[weak self] () in
                                                self?.backAction()
                                }
@@ -117,6 +123,8 @@
                                }else{
                                                let nextType = ListenType(rawValue: viewModel.listenType.value.rawValue + 1)!
                                                sceneDelegate?.startTimer()
                                                switch nextType {
                                                                case .lesson2:
                                                                                Services.pictureSelectVoice(day:viewModel.day.value!, quarter: viewModel.quarter.value!, week: viewModel.week.value!).subscribe(onNext: {[weak self] result in