Browse Source

问题修改

Steven 2 years ago
parent
commit
12ac4de82d
56 changed files with 2668 additions and 4433 deletions
  1. 2 26
      KulexiuForStudent/KulexiuForStudent.xcodeproj/project.pbxproj
  2. 1 1
      KulexiuForStudent/KulexiuForStudent.xcodeproj/xcuserdata/wangzhi.xcuserdatad/xcschemes/xcschememanagement.plist
  3. BIN
      KulexiuForStudent/KulexiuForStudent.xcworkspace/xcuserdata/wangzhi.xcuserdatad/UserInterfaceState.xcuserstate
  4. 0 595
      KulexiuForStudent/KulexiuForStudent.xcworkspace/xcuserdata/wangzhi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
  5. 8 0
      KulexiuForStudent/KulexiuForStudent/Common/Base/KSBaseViewController.m
  6. 10 0
      KulexiuForStudent/KulexiuForStudent/Common/Base/KSNetworkingManager.h
  7. 15 0
      KulexiuForStudent/KulexiuForStudent/Common/Base/KSNetworkingManager.m
  8. 0 74
      KulexiuForStudent/KulexiuForStudent/Common/ThirdPart/TYCyclePagerView/TYCyclePagerTransformLayout.h
  9. 0 300
      KulexiuForStudent/KulexiuForStudent/Common/ThirdPart/TYCyclePagerView/TYCyclePagerTransformLayout.m
  10. 0 180
      KulexiuForStudent/KulexiuForStudent/Common/ThirdPart/TYCyclePagerView/TYCyclePagerView.h
  11. 0 607
      KulexiuForStudent/KulexiuForStudent/Common/ThirdPart/TYCyclePagerView/TYCyclePagerView.m
  12. 0 47
      KulexiuForStudent/KulexiuForStudent/Common/ThirdPart/TYCyclePagerView/TYPageControl.h
  13. 0 285
      KulexiuForStudent/KulexiuForStudent/Common/ThirdPart/TYCyclePagerView/TYPageControl.m
  14. 5 6
      KulexiuForStudent/KulexiuForStudent/Info.plist
  15. 5 0
      KulexiuForStudent/KulexiuForStudent/Module/Chat/Controller/KSChatConversationViewController.m
  16. 24 7
      KulexiuForStudent/KulexiuForStudent/Module/Chat/Controller/KSChatListViewController.m
  17. 27 9
      KulexiuForStudent/KulexiuForStudent/Module/Chat/Group/Controller/GroupSettingViewController.m
  18. 1 0
      KulexiuForStudent/KulexiuForStudent/Module/Course/View/MusicRoomCourseCell.xib
  19. 53 22
      KulexiuForStudent/KulexiuForStudent/Module/Home/Controller/HomeViewController.m
  20. 1 1
      KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeCourseTipsView.xib
  21. 1 1
      KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeHotAlbumView.m
  22. 2 2
      KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeHotAlbumView.xib
  23. 1 1
      KulexiuForStudent/KulexiuForStudent/Module/Login/Controller/LoginViewController.m
  24. 6 1
      KulexiuForStudent/KulexiuForStudent/Module/Login/Model/UserInfoManager.m
  25. 1 1
      KulexiuForStudent/KulexiuForStudent/Module/Mine/AddressList/Controller/AddressDetailViewController.m
  26. 28 10
      KulexiuForStudent/KulexiuForStudent/Module/Mine/Controller/MineViewController.m
  27. 1 1
      KulexiuForStudent/KulexiuForStudent/Module/Mine/Setting/Controller/ModifyPhoneChangeController.m
  28. 1 1
      KulexiuForStudent/KulexiuForStudent/Module/Mine/Setting/Controller/ModifyPhoneCheckController.m
  29. 12 0
      KulexiuForStudent/KulexiuForStudent/Module/Mine/View/MineBodyView.m
  30. 34 2
      KulexiuForStudent/KulexiuForStudent/Module/Mine/View/MineBodyView.xib
  31. 0 1
      KulexiuForStudent/KulexiuForStudent/Module/Mine/View/MineNavView.m
  32. 1 0
      KulexiuForStudent/Podfile
  33. 5 1
      KulexiuForStudent/Podfile.lock
  34. 5 1
      KulexiuForStudent/Pods/Manifest.lock
  35. 2269 2232
      KulexiuForStudent/Pods/Pods.xcodeproj/project.pbxproj
  36. 11 4
      KulexiuForStudent/Pods/Pods.xcodeproj/xcuserdata/wangzhi.xcuserdatad/xcschemes/xcschememanagement.plist
  37. 25 0
      KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudent-KulexiuForStudentUITests/Pods-KulexiuForStudent-KulexiuForStudentUITests-acknowledgements.markdown
  38. 31 0
      KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudent-KulexiuForStudentUITests/Pods-KulexiuForStudent-KulexiuForStudentUITests-acknowledgements.plist
  39. 1 0
      KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudent-KulexiuForStudentUITests/Pods-KulexiuForStudent-KulexiuForStudentUITests-frameworks-Debug-input-files.xcfilelist
  40. 1 0
      KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudent-KulexiuForStudentUITests/Pods-KulexiuForStudent-KulexiuForStudentUITests-frameworks-Debug-output-files.xcfilelist
  41. 1 0
      KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudent-KulexiuForStudentUITests/Pods-KulexiuForStudent-KulexiuForStudentUITests-frameworks-Release-input-files.xcfilelist
  42. 1 0
      KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudent-KulexiuForStudentUITests/Pods-KulexiuForStudent-KulexiuForStudentUITests-frameworks-Release-output-files.xcfilelist
  43. 2 0
      KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudent-KulexiuForStudentUITests/Pods-KulexiuForStudent-KulexiuForStudentUITests-frameworks.sh
  44. 2 2
      KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudent-KulexiuForStudentUITests/Pods-KulexiuForStudent-KulexiuForStudentUITests.debug.xcconfig
  45. 2 2
      KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudent-KulexiuForStudentUITests/Pods-KulexiuForStudent-KulexiuForStudentUITests.release.xcconfig
  46. 25 0
      KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudent/Pods-KulexiuForStudent-acknowledgements.markdown
  47. 31 0
      KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudent/Pods-KulexiuForStudent-acknowledgements.plist
  48. 1 0
      KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudent/Pods-KulexiuForStudent-frameworks-Debug-input-files.xcfilelist
  49. 1 0
      KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudent/Pods-KulexiuForStudent-frameworks-Debug-output-files.xcfilelist
  50. 1 0
      KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudent/Pods-KulexiuForStudent-frameworks-Release-input-files.xcfilelist
  51. 1 0
      KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudent/Pods-KulexiuForStudent-frameworks-Release-output-files.xcfilelist
  52. 2 0
      KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudent/Pods-KulexiuForStudent-frameworks.sh
  53. 2 2
      KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudent/Pods-KulexiuForStudent.debug.xcconfig
  54. 2 2
      KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudent/Pods-KulexiuForStudent.release.xcconfig
  55. 3 3
      KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudentTests/Pods-KulexiuForStudentTests.debug.xcconfig
  56. 3 3
      KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudentTests/Pods-KulexiuForStudentTests.release.xcconfig

+ 2 - 26
KulexiuForStudent/KulexiuForStudent.xcodeproj/project.pbxproj

@@ -428,9 +428,6 @@
 		BC40B9FF281177BD00DEC0D1 /* HomeInformationCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC40B9FD281177BD00DEC0D1 /* HomeInformationCell.xib */; };
 		BC40BA0328117B0A00DEC0D1 /* HomeBannerCell.m in Sources */ = {isa = PBXBuildFile; fileRef = BC40BA0128117B0A00DEC0D1 /* HomeBannerCell.m */; };
 		BC40BA0428117B0A00DEC0D1 /* HomeBannerCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC40BA0228117B0A00DEC0D1 /* HomeBannerCell.xib */; };
-		BC40BA0C28117B3B00DEC0D1 /* TYPageControl.m in Sources */ = {isa = PBXBuildFile; fileRef = BC40BA0828117B3A00DEC0D1 /* TYPageControl.m */; };
-		BC40BA0D28117B3B00DEC0D1 /* TYCyclePagerView.m in Sources */ = {isa = PBXBuildFile; fileRef = BC40BA0928117B3A00DEC0D1 /* TYCyclePagerView.m */; };
-		BC40BA0E28117B3B00DEC0D1 /* TYCyclePagerTransformLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = BC40BA0A28117B3A00DEC0D1 /* TYCyclePagerTransformLayout.m */; };
 		BC40BA1828124D3D00DEC0D1 /* NotiferMessageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BC40BA1728124D3D00DEC0D1 /* NotiferMessageViewController.m */; };
 		BC40BA1B281251ED00DEC0D1 /* HomeMessageModel.m in Sources */ = {isa = PBXBuildFile; fileRef = BC40BA1A281251ED00DEC0D1 /* HomeMessageModel.m */; };
 		BC40BA1F2812552300DEC0D1 /* KSHomeButton.m in Sources */ = {isa = PBXBuildFile; fileRef = BC40BA1C2812552200DEC0D1 /* KSHomeButton.m */; };
@@ -1512,12 +1509,6 @@
 		BC40BA0028117B0A00DEC0D1 /* HomeBannerCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HomeBannerCell.h; sourceTree = "<group>"; };
 		BC40BA0128117B0A00DEC0D1 /* HomeBannerCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HomeBannerCell.m; sourceTree = "<group>"; };
 		BC40BA0228117B0A00DEC0D1 /* HomeBannerCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = HomeBannerCell.xib; sourceTree = "<group>"; };
-		BC40BA0628117B3A00DEC0D1 /* TYCyclePagerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TYCyclePagerView.h; sourceTree = "<group>"; };
-		BC40BA0728117B3A00DEC0D1 /* TYCyclePagerTransformLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TYCyclePagerTransformLayout.h; sourceTree = "<group>"; };
-		BC40BA0828117B3A00DEC0D1 /* TYPageControl.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TYPageControl.m; sourceTree = "<group>"; };
-		BC40BA0928117B3A00DEC0D1 /* TYCyclePagerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TYCyclePagerView.m; sourceTree = "<group>"; };
-		BC40BA0A28117B3A00DEC0D1 /* TYCyclePagerTransformLayout.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TYCyclePagerTransformLayout.m; sourceTree = "<group>"; };
-		BC40BA0B28117B3A00DEC0D1 /* TYPageControl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TYPageControl.h; sourceTree = "<group>"; };
 		BC40BA1628124D3D00DEC0D1 /* NotiferMessageViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NotiferMessageViewController.h; sourceTree = "<group>"; };
 		BC40BA1728124D3D00DEC0D1 /* NotiferMessageViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NotiferMessageViewController.m; sourceTree = "<group>"; };
 		BC40BA19281251EC00DEC0D1 /* HomeMessageModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HomeMessageModel.h; sourceTree = "<group>"; };
@@ -3176,7 +3167,6 @@
 			isa = PBXGroup;
 			children = (
 				BC8B6DCA2856E06700866917 /* UMSocialSDK */,
-				BC40BA0528117B3A00DEC0D1 /* TYCyclePagerView */,
 				2723B63D27F15B5800E0B90B /* SCIndexView */,
 				2779346F27E324A10010E277 /* KLTAnimateNav */,
 				2779347427E324A10010E277 /* DZSegmentCtrl */,
@@ -3791,19 +3781,6 @@
 			path = View;
 			sourceTree = "<group>";
 		};
-		BC40BA0528117B3A00DEC0D1 /* TYCyclePagerView */ = {
-			isa = PBXGroup;
-			children = (
-				BC40BA0628117B3A00DEC0D1 /* TYCyclePagerView.h */,
-				BC40BA0728117B3A00DEC0D1 /* TYCyclePagerTransformLayout.h */,
-				BC40BA0828117B3A00DEC0D1 /* TYPageControl.m */,
-				BC40BA0928117B3A00DEC0D1 /* TYCyclePagerView.m */,
-				BC40BA0A28117B3A00DEC0D1 /* TYCyclePagerTransformLayout.m */,
-				BC40BA0B28117B3A00DEC0D1 /* TYPageControl.h */,
-			);
-			path = TYCyclePagerView;
-			sourceTree = "<group>";
-		};
 		BC40BA0F28124D0C00DEC0D1 /* NoticeCenter */ = {
 			isa = PBXGroup;
 			children = (
@@ -5597,8 +5574,6 @@
 				BCB6359427F6D2AB00ACFDCF /* NewClassRoomViewController.m in Sources */,
 				BCB6356027F6D2A300ACFDCF /* WhiteboardMessage.m in Sources */,
 				2779354F27E324A70010E277 /* VoLRUManager.m in Sources */,
-				BC40BA0C28117B3B00DEC0D1 /* TYPageControl.m in Sources */,
-				BC40BA0D28117B3B00DEC0D1 /* TYCyclePagerView.m in Sources */,
 				2779356727E324A70010E277 /* UIColor+Hex.m in Sources */,
 				BCB6345E27F6D29600ACFDCF /* KSLiveChatroomLeave.m in Sources */,
 				BC11929B280FD2E800A716F7 /* HomeworkBottomView.m in Sources */,
@@ -5733,7 +5708,6 @@
 				277935CA27E324A90010E277 /* TAAnimatedDotView.m in Sources */,
 				BC8A4598283DC33400094BBB /* KYSourceParseManager.m in Sources */,
 				2779353527E324A60010E277 /* NSObject+ReadDocument.m in Sources */,
-				BC40BA0E28117B3B00DEC0D1 /* TYCyclePagerTransformLayout.m in Sources */,
 				277935C227E324A90010E277 /* QWdynamicModel.m in Sources */,
 				2779357E27E324A80010E277 /* KSInputView.m in Sources */,
 				2723B63427F157D500E0B90B /* GroupApplyMemberCell.m in Sources */,
@@ -6024,6 +5998,7 @@
 				INFOPLIST_KEY_NSMicrophoneUsageDescription = "App需要您的同意访问麦克风权限,用于您的语音服务、视频教学";
 				INFOPLIST_KEY_NSPhotoLibraryAddUsageDescription = "App需要您的同意访问您的相册权限,用于您的图片课件上传服务";
 				INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "App需要您的同意访问您的相册权限,用于您的图片课件上传服务";
+				INFOPLIST_KEY_NSUserTrackingUsageDescription = "App需要您的授权,该标识符将用于向您投进行定制化消息推送服务";
 				INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
 				INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
 				INFOPLIST_KEY_UIMainStoryboardFile = Main;
@@ -6085,6 +6060,7 @@
 				INFOPLIST_KEY_NSMicrophoneUsageDescription = "App需要您的同意访问麦克风权限,用于您的语音服务、视频教学";
 				INFOPLIST_KEY_NSPhotoLibraryAddUsageDescription = "App需要您的同意访问您的相册权限,用于您的图片课件上传服务";
 				INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "App需要您的同意访问您的相册权限,用于您的图片课件上传服务";
+				INFOPLIST_KEY_NSUserTrackingUsageDescription = "App需要您的授权,该标识符将用于向您投进行定制化消息推送服务";
 				INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
 				INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
 				INFOPLIST_KEY_UIMainStoryboardFile = Main;

+ 1 - 1
KulexiuForStudent/KulexiuForStudent.xcodeproj/xcuserdata/wangzhi.xcuserdatad/xcschemes/xcschememanagement.plist

@@ -7,7 +7,7 @@
 		<key>KulexiuForStudent.xcscheme_^#shared#^_</key>
 		<dict>
 			<key>orderHint</key>
-			<integer>30</integer>
+			<integer>31</integer>
 		</dict>
 	</dict>
 </dict>

BIN
KulexiuForStudent/KulexiuForStudent.xcworkspace/xcuserdata/wangzhi.xcuserdatad/UserInterfaceState.xcuserstate


+ 0 - 595
KulexiuForStudent/KulexiuForStudent.xcworkspace/xcuserdata/wangzhi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -3,599 +3,4 @@
    uuid = "C42D83E3-CB7A-44AF-B9C2-6DDDEC116980"
    type = "0"
    version = "2.0">
-   <Breakpoints>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "A811E03D-935E-4812-9BA4-F901FD668906"
-            shouldBeEnabled = "No"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Module/Mine/Homework/View/HomeworkBodyView.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "112"
-            endingLineNumber = "112"
-            landmarkName = "-requestData"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "68B45DB8-FA35-44FF-84DB-7F955970CF6B"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Common/Base/KSOrderManager.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "23"
-            endingLineNumber = "23"
-            landmarkName = "+dealWithAliOrder:"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "9C309015-F943-43C8-AD3C-0A595D5701FD"
-            shouldBeEnabled = "No"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Module/Login/Model/UserInfoManager.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "100"
-            endingLineNumber = "100"
-            landmarkName = "-queryUserInfoConnectRongCloud:"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "3D9A202F-F457-4AD7-B097-BA348C19E5C4"
-            shouldBeEnabled = "No"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Module/Home/Controller/HomeViewController.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "1238"
-            endingLineNumber = "1238"
-            landmarkName = "-showNewsWithSource:"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "D48C3E76-9F80-471F-B97A-6545ADBA00D8"
-            shouldBeEnabled = "No"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Common/Base/KSBaseWKWebViewController.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "368"
-            endingLineNumber = "368"
-            landmarkName = "-handleScriptMessageSource:"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "EC2A7105-C89F-4507-85D9-637321FD492A"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Module/Home/NoticeCenter/Controller/NotiferMessageViewController.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "234"
-            endingLineNumber = "234"
-            landmarkName = "-toDetailViewWithTypeString:"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "B3104F7C-0DF5-40C2-B53A-56E1FC5207B5"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Module/Home/NoticeCenter/Controller/NotiferMessageViewController.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "223"
-            endingLineNumber = "223"
-            landmarkName = "-readMessage:baseCell:"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.ExceptionBreakpoint">
-         <BreakpointContent
-            uuid = "EBB87FB0-8EEB-4CB8-96AB-84A8BBE18213"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            breakpointStackSelectionBehavior = "1"
-            scope = "1"
-            stopOnStyle = "0">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "D5A12861-F3EE-4ECA-BB55-23DFD4BA69AF"
-            shouldBeEnabled = "No"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Module/Chat/Controller/KSChatListViewController.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "135"
-            endingLineNumber = "135"
-            landmarkName = "-willReloadTableData:"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "C6ED8B61-E00C-44BE-ACF9-0239E944E9B6"
-            shouldBeEnabled = "No"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Module/Live/View/KSShopCardView.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "47"
-            endingLineNumber = "47"
-            landmarkName = "-showViewInView:"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "8F386C0A-E0CB-4070-AC6E-B21DF386B300"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Module/Classroom/Controller/NewClassRoomViewController.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "1023"
-            endingLineNumber = "1023"
-            landmarkName = "-teacherDidDisplay"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "4AB5EADD-0BA2-4C22-96E8-610AF88C9B4B"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Module/Classroom/Controller/NewClassRoomViewController.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "482"
-            endingLineNumber = "482"
-            landmarkName = "-memberDidJoin:"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "DFAC8195-6D95-4A01-8D6E-4A9A90380BAA"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Module/SealClass/Services/Classroom/ClassroomService.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "341"
-            endingLineNumber = "341"
-            landmarkName = "-onReceiveCommandMessage:"
-            landmarkType = "7">
-            <Locations>
-               <Location
-                  uuid = "DFAC8195-6D95-4A01-8D6E-4A9A90380BAA - e6757fc4268ab19f"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "-[ClassroomService onReceiveCommandMessage:]"
-                  moduleName = "KulexiuForStudent"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/SealClass/Services/Classroom/ClassroomService.m"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "341"
-                  endingLineNumber = "341"
-                  offsetFromSymbolStart = "44">
-               </Location>
-               <Location
-                  uuid = "DFAC8195-6D95-4A01-8D6E-4A9A90380BAA - b2ae0d736d370813"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "__44-[ClassroomService onReceiveCommandMessage:]_block_invoke"
-                  moduleName = "KulexiuForStudent"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/SealClass/Services/Classroom/ClassroomService.m"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "341"
-                  endingLineNumber = "341"
-                  offsetFromSymbolStart = "36">
-               </Location>
-               <Location
-                  uuid = "DFAC8195-6D95-4A01-8D6E-4A9A90380BAA - b2ae0d736d370813"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "__44-[ClassroomService onReceiveCommandMessage:]_block_invoke"
-                  moduleName = "KulexiuForStudent"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/SealClass/Services/Classroom/ClassroomService.m"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "341"
-                  endingLineNumber = "341"
-                  offsetFromSymbolStart = "148">
-               </Location>
-               <Location
-                  uuid = "DFAC8195-6D95-4A01-8D6E-4A9A90380BAA - b2ae0d736d370813"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "__44-[ClassroomService onReceiveCommandMessage:]_block_invoke"
-                  moduleName = "KulexiuForStudent"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/SealClass/Services/Classroom/ClassroomService.m"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "341"
-                  endingLineNumber = "341"
-                  offsetFromSymbolStart = "700">
-               </Location>
-               <Location
-                  uuid = "DFAC8195-6D95-4A01-8D6E-4A9A90380BAA - b2ae0d736d370813"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "__44-[ClassroomService onReceiveCommandMessage:]_block_invoke"
-                  moduleName = "KulexiuForStudent"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/SealClass/Services/Classroom/ClassroomService.m"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "341"
-                  endingLineNumber = "341"
-                  offsetFromSymbolStart = "1448">
-               </Location>
-               <Location
-                  uuid = "DFAC8195-6D95-4A01-8D6E-4A9A90380BAA - 2fc4f2cbbcda7dbe"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "__44-[ClassroomService onReceiveCommandMessage:]_block_invoke.212"
-                  moduleName = "KulexiuForStudent"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/SealClass/Services/Classroom/ClassroomService.m"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "341"
-                  endingLineNumber = "341"
-                  offsetFromSymbolStart = "36">
-               </Location>
-               <Location
-                  uuid = "DFAC8195-6D95-4A01-8D6E-4A9A90380BAA - 2fc4f2cbbcda7dbe"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "__44-[ClassroomService onReceiveCommandMessage:]_block_invoke.212"
-                  moduleName = "KulexiuForStudent"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/SealClass/Services/Classroom/ClassroomService.m"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "341"
-                  endingLineNumber = "341"
-                  offsetFromSymbolStart = "148">
-               </Location>
-               <Location
-                  uuid = "DFAC8195-6D95-4A01-8D6E-4A9A90380BAA - 2fc4f2cbbcda7dbe"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "__44-[ClassroomService onReceiveCommandMessage:]_block_invoke.212"
-                  moduleName = "KulexiuForStudent"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/SealClass/Services/Classroom/ClassroomService.m"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "341"
-                  endingLineNumber = "341"
-                  offsetFromSymbolStart = "700">
-               </Location>
-               <Location
-                  uuid = "DFAC8195-6D95-4A01-8D6E-4A9A90380BAA - 2fc4f2cbbcda7dbe"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "__44-[ClassroomService onReceiveCommandMessage:]_block_invoke.212"
-                  moduleName = "KulexiuForStudent"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/SealClass/Services/Classroom/ClassroomService.m"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "341"
-                  endingLineNumber = "341"
-                  offsetFromSymbolStart = "1448">
-               </Location>
-            </Locations>
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "C9286D63-5AC1-426A-946F-E4C8AAB05DEC"
-            shouldBeEnabled = "No"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Module/SealClass/Services/Classroom/ClassroomService.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "458"
-            endingLineNumber = "458"
-            landmarkName = "-onReceiveDisplayCommandMessage:"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "7E2D4033-BA45-4975-A8E0-E5A10CB02D39"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Module/SealClass/Services/Classroom/ClassroomService.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "454"
-            endingLineNumber = "454"
-            landmarkName = "-onReceiveDisplayCommandMessage:"
-            landmarkType = "7">
-            <Locations>
-               <Location
-                  uuid = "7E2D4033-BA45-4975-A8E0-E5A10CB02D39 - 6b31c414a14c47ed"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "-[ClassroomService onReceiveDisplayCommandMessage:]"
-                  moduleName = "KulexiuForStudent"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/SealClass/Services/Classroom/ClassroomService.m"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "454"
-                  endingLineNumber = "454"
-                  offsetFromSymbolStart = "44">
-               </Location>
-               <Location
-                  uuid = "7E2D4033-BA45-4975-A8E0-E5A10CB02D39 - c0585242a6dbc007"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "__51-[ClassroomService onReceiveDisplayCommandMessage:]_block_invoke"
-                  moduleName = "KulexiuForStudent"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/SealClass/Services/Classroom/ClassroomService.m"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "454"
-                  endingLineNumber = "454"
-                  offsetFromSymbolStart = "36">
-               </Location>
-               <Location
-                  uuid = "7E2D4033-BA45-4975-A8E0-E5A10CB02D39 - c0585242a6dbc007"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "__51-[ClassroomService onReceiveDisplayCommandMessage:]_block_invoke"
-                  moduleName = "KulexiuForStudent"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/SealClass/Services/Classroom/ClassroomService.m"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "454"
-                  endingLineNumber = "454"
-                  offsetFromSymbolStart = "1240">
-               </Location>
-               <Location
-                  uuid = "7E2D4033-BA45-4975-A8E0-E5A10CB02D39 - fe9489ef60f49550"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "__51-[ClassroomService onReceiveDisplayCommandMessage:]_block_invoke_2"
-                  moduleName = "KulexiuForStudent"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/SealClass/Services/Classroom/ClassroomService.m"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "454"
-                  endingLineNumber = "454"
-                  offsetFromSymbolStart = "36">
-               </Location>
-               <Location
-                  uuid = "7E2D4033-BA45-4975-A8E0-E5A10CB02D39 - fe9489ef60f49550"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "__51-[ClassroomService onReceiveDisplayCommandMessage:]_block_invoke_2"
-                  moduleName = "KulexiuForStudent"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/SealClass/Services/Classroom/ClassroomService.m"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "454"
-                  endingLineNumber = "454"
-                  offsetFromSymbolStart = "1240">
-               </Location>
-            </Locations>
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "196DC4B6-735E-4810-A40A-280AAF92A158"
-            shouldBeEnabled = "No"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Module/SealClass/Services/Classroom/ClassroomService.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "403"
-            endingLineNumber = "403"
-            landmarkName = "-onReceiveDeviceMessage:withSenderId:"
-            landmarkType = "7">
-            <Locations>
-               <Location
-                  uuid = "196DC4B6-735E-4810-A40A-280AAF92A158 - 6782cea57b8fd23a"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "-[ClassroomService onReceiveDeviceMessage:withSenderId:]"
-                  moduleName = "KulexiuForStudent"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/SealClass/Services/Classroom/ClassroomService.m"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "403"
-                  endingLineNumber = "403"
-                  offsetFromSymbolStart = "68">
-               </Location>
-               <Location
-                  uuid = "196DC4B6-735E-4810-A40A-280AAF92A158 - c411058c5f2fd5cd"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "__56-[ClassroomService onReceiveDeviceMessage:withSenderId:]_block_invoke"
-                  moduleName = "KulexiuForStudent"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/SealClass/Services/Classroom/ClassroomService.m"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "403"
-                  endingLineNumber = "403"
-                  offsetFromSymbolStart = "36">
-               </Location>
-               <Location
-                  uuid = "196DC4B6-735E-4810-A40A-280AAF92A158 - bc01dd467501681"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "__56-[ClassroomService onReceiveDeviceMessage:withSenderId:]_block_invoke.244"
-                  moduleName = "KulexiuForStudent"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/SealClass/Services/Classroom/ClassroomService.m"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "403"
-                  endingLineNumber = "403"
-                  offsetFromSymbolStart = "36">
-               </Location>
-            </Locations>
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "B1B0D9B6-C888-41F4-A894-52756050A9CC"
-            shouldBeEnabled = "No"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Module/SealClass/Services/Classroom/ClassroomService.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "511"
-            endingLineNumber = "511"
-            landmarkName = "-onReceiveControlDeviceNotifyMessage:"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "588597E4-D81B-491F-9258-8EF0020E38DE"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Module/Classroom/Controller/NewClassRoomViewController.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "176"
-            endingLineNumber = "176"
-            landmarkName = "-viewDidLoad"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "87197FB0-E5E7-4560-B96A-58A092127B96"
-            shouldBeEnabled = "No"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Module/Mine/Homework/Controller/HomeworkDetailViewController.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "143"
-            endingLineNumber = "143"
-            landmarkName = "-tableView:cellForRowAtIndexPath:"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "8E1C1817-9A28-47C2-882B-5EE515217496"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Module/Course/AccompanyCourse/View/AccompanyRemarkCell.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "29"
-            endingLineNumber = "29"
-            landmarkName = "-configWithRemarkMessage:hasEvaluate:"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "6160BAE0-99A2-4CF6-BB17-9F78E4825035"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Module/Mine/Homework/Controller/HomeworkDetailViewController.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "152"
-            endingLineNumber = "152"
-            landmarkName = "-tableView:cellForRowAtIndexPath:"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-   </Breakpoints>
 </Bucket>

+ 8 - 0
KulexiuForStudent/KulexiuForStudent/Common/Base/KSBaseViewController.m

@@ -556,6 +556,14 @@
     [self presentViewController:navCtrl animated:YES completion:nil];
 }
 
+#pragma mark -- lazying
+- (NSMutableArray *)dataArray{
+    if (!_dataArray) {
+        _dataArray =[NSMutableArray array];
+    }
+    return _dataArray;
+}
+
 // 移除通知
 - (void)removeNotifier {
     [[NSNotificationCenter defaultCenter] removeObserver:self];

+ 10 - 0
KulexiuForStudent/KulexiuForStudent/Common/Base/KSNetworkingManager.h

@@ -355,6 +355,16 @@ NS_ASSUME_NONNULL_BEGIN
 /// @param faliure 失败
 + (void)imGroupMemberAuditListRequest:(NSString *)post groupId:(NSString *)groupId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure;
 
+// 退出群组
+// /api-student/imGroup/quit/{groupId}
+
+/// 退出群组
+/// @param post post
+/// @param groupId 群组id
+/// @param success 成功
+/// @param faliure 失败
++ (void)quitImGroupRequest:(NSString *)post groupId:(NSString *)groupId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure;
+
 #pragma mark ---- 群公告
 // /api-student/imGroupNotice/queryPage
 

+ 15 - 0
KulexiuForStudent/KulexiuForStudent/Common/Base/KSNetworkingManager.m

@@ -830,6 +830,21 @@
     [self request:post andWithUrl:url and:parm success:success faliure:faliure];
 }
 
+// 退出群组
+// /api-student/imGroup/quit/{groupId}
+
+/// 退出群组
+/// @param post post
+/// @param groupId 群组id
+/// @param success 成功
+/// @param faliure 失败
++ (void)quitImGroupRequest:(NSString *)post groupId:(NSString *)groupId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
+    [self configRequestMethodJSON];
+    NSString *url = [NSString stringWithFormat:@"%@%@%@",hostURL, @"/api-student/imGroup/quit/",groupId];
+    NSMutableDictionary *parm = [NSMutableDictionary dictionary];
+    [self request:post andWithUrl:url and:parm success:success faliure:faliure];
+}
+
 #pragma mark ---- 群公告
 // /api-student/imGroupNotice/queryPage
 

+ 0 - 74
KulexiuForStudent/KulexiuForStudent/Common/ThirdPart/TYCyclePagerView/TYCyclePagerTransformLayout.h

@@ -1,74 +0,0 @@
-//
-//  TYCyclePagerViewLayout.h
-//  TYCyclePagerViewDemo
-//
-//  Created by tany on 2017/6/19.
-//  Copyright © 2017年 tany. All rights reserved.
-//
-
-#import <UIKit/UIKit.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-typedef NS_ENUM(NSUInteger, TYCyclePagerTransformLayoutType) {
-    TYCyclePagerTransformLayoutLinear,
-    TYCyclePagerTransformLayoutNormal,
-    TYCyclePagerTransformLayoutCoverflow,
-};
-
-@class TYCyclePagerTransformLayout;
-@protocol TYCyclePagerTransformLayoutDelegate <NSObject>
-
-// initialize layout attributes
-- (void)pagerViewTransformLayout:(TYCyclePagerTransformLayout *)pagerViewTransformLayout initializeTransformAttributes:(UICollectionViewLayoutAttributes *)attributes;
-
-// apply layout attributes
-- (void)pagerViewTransformLayout:(TYCyclePagerTransformLayout *)pagerViewTransformLayout applyTransformToAttributes:(UICollectionViewLayoutAttributes *)attributes;
-
-@end
-
-
-@interface TYCyclePagerViewLayout : NSObject
-
-@property (nonatomic, assign) CGSize itemSize;
-@property (nonatomic, assign) CGFloat itemSpacing;
-@property (nonatomic, assign) UIEdgeInsets sectionInset;
-
-@property (nonatomic, assign) TYCyclePagerTransformLayoutType layoutType;
-
-@property (nonatomic, assign) CGFloat minimumScale; // sacle default 0.8
-@property (nonatomic, assign) CGFloat minimumAlpha; // alpha default 1.0
-@property (nonatomic, assign) CGFloat maximumAngle; // angle is % default 0.2
-
-@property (nonatomic, assign) BOOL isInfiniteLoop;  // infinte scroll
-@property (nonatomic, assign) CGFloat rateOfChange; // scale and angle change rate
-@property (nonatomic, assign) BOOL adjustSpacingWhenScroling; 
-
-/**
- pageView cell item vertical centering
- */
-@property (nonatomic, assign) BOOL itemVerticalCenter;
-
-/**
- first and last item horizontalc enter, when isInfiniteLoop is NO
- */
-@property (nonatomic, assign) BOOL itemHorizontalCenter;
-
-// sectionInset
-@property (nonatomic, assign, readonly) UIEdgeInsets onlyOneSectionInset;
-@property (nonatomic, assign, readonly) UIEdgeInsets firstSectionInset;
-@property (nonatomic, assign, readonly) UIEdgeInsets lastSectionInset;
-@property (nonatomic, assign, readonly) UIEdgeInsets middleSectionInset;
-
-@end
-
-
-@interface TYCyclePagerTransformLayout : UICollectionViewFlowLayout
-
-@property (nonatomic, strong) TYCyclePagerViewLayout *layout;
-
-@property (nonatomic, weak, nullable) id<TYCyclePagerTransformLayoutDelegate> delegate;
-
-@end
-
-NS_ASSUME_NONNULL_END

+ 0 - 300
KulexiuForStudent/KulexiuForStudent/Common/ThirdPart/TYCyclePagerView/TYCyclePagerTransformLayout.m

@@ -1,300 +0,0 @@
-//
-//  TYCyclePagerViewLayout.m
-//  TYCyclePagerViewDemo
-//
-//  Created by tany on 2017/6/19.
-//  Copyright © 2017年 tany. All rights reserved.
-//
-
-#import "TYCyclePagerTransformLayout.h"
-
-typedef NS_ENUM(NSUInteger, TYTransformLayoutItemDirection) {
-    TYTransformLayoutItemLeft,
-    TYTransformLayoutItemCenter,
-    TYTransformLayoutItemRight,
-};
-
-
-@interface TYCyclePagerTransformLayout () {
-    struct {
-        unsigned int applyTransformToAttributes   :1;
-        unsigned int initializeTransformAttributes   :1;
-    }_delegateFlags;
-}
-
-@property (nonatomic, assign) BOOL applyTransformToAttributesDelegate;
-
-@end
-
-
-@interface TYCyclePagerViewLayout ()
-
-@property (nonatomic, weak) UIView *pageView;
-
-@end
-
-
-@implementation TYCyclePagerTransformLayout
-
-- (instancetype)init {
-    if (self = [super init]) {
-        self.scrollDirection = UICollectionViewScrollDirectionHorizontal;
-    }
-    return self;
-}
-
-- (instancetype)initWithCoder:(NSCoder *)aDecoder {
-    if (self = [super initWithCoder:aDecoder]) {
-        self.scrollDirection = UICollectionViewScrollDirectionHorizontal;
-    }
-    return self;
-}
-
-#pragma mark - getter setter
-
-- (void)setDelegate:(id<TYCyclePagerTransformLayoutDelegate>)delegate {
-    _delegate = delegate;
-    _delegateFlags.initializeTransformAttributes = [delegate respondsToSelector:@selector(pagerViewTransformLayout:initializeTransformAttributes:)];
-    _delegateFlags.applyTransformToAttributes = [delegate respondsToSelector:@selector(pagerViewTransformLayout:applyTransformToAttributes:)];
-}
-
-- (void)setLayout:(TYCyclePagerViewLayout *)layout {
-    _layout = layout;
-    _layout.pageView = self.collectionView;
-    self.itemSize = _layout.itemSize;
-    self.minimumInteritemSpacing = _layout.itemSpacing;
-    self.minimumLineSpacing = _layout.itemSpacing;
-}
-
-- (CGSize)itemSize {
-    if (!_layout) {
-        return [super itemSize];
-    }
-    return _layout.itemSize;
-}
-
-- (CGFloat)minimumLineSpacing {
-    if (!_layout) {
-        return [super minimumLineSpacing];
-    }
-    return _layout.itemSpacing;
-}
-
-- (CGFloat)minimumInteritemSpacing {
-    if (!_layout) {
-        return [super minimumInteritemSpacing];
-    }
-    return _layout.itemSpacing;
-}
-
-- (TYTransformLayoutItemDirection)directionWithCenterX:(CGFloat)centerX {
-    TYTransformLayoutItemDirection direction= TYTransformLayoutItemRight;
-    CGFloat contentCenterX = self.collectionView.contentOffset.x + CGRectGetWidth(self.collectionView.frame)/2;
-    if (ABS(centerX - contentCenterX) < 0.5) {
-        direction = TYTransformLayoutItemCenter;
-    }else if (centerX - contentCenterX < 0) {
-        direction = TYTransformLayoutItemLeft;
-    }
-    return direction;
-}
-
-#pragma mark - layout
-
--(BOOL)shouldInvalidateLayoutForBoundsChange:(CGRect)newBounds
-{
-    return _layout.layoutType == TYCyclePagerTransformLayoutNormal ? [super shouldInvalidateLayoutForBoundsChange:newBounds] : YES;
-}
-
-- (NSArray<UICollectionViewLayoutAttributes *> *)layoutAttributesForElementsInRect:(CGRect)rect {
-    if (_delegateFlags.applyTransformToAttributes || _layout.layoutType != TYCyclePagerTransformLayoutNormal) {
-        NSArray *attributesArray = [[NSArray alloc] initWithArray:[super layoutAttributesForElementsInRect:rect] copyItems:YES];
-        CGRect visibleRect = {self.collectionView.contentOffset,self.collectionView.bounds.size};
-        for (UICollectionViewLayoutAttributes *attributes in attributesArray) {
-            if (!CGRectIntersectsRect(visibleRect, attributes.frame)) {
-                continue;
-            }
-            if (_delegateFlags.applyTransformToAttributes) {
-                [_delegate pagerViewTransformLayout:self applyTransformToAttributes:attributes];
-            }else {
-                [self applyTransformToAttributes:attributes layoutType:_layout.layoutType];
-            }
-        }
-        return attributesArray;
-    }
-    return [super layoutAttributesForElementsInRect:rect];
-}
-
-- (UICollectionViewLayoutAttributes *)layoutAttributesForItemAtIndexPath:(NSIndexPath *)indexPath {
-    UICollectionViewLayoutAttributes *attributes = [super layoutAttributesForItemAtIndexPath:indexPath];
-    if (_delegateFlags.initializeTransformAttributes) {
-        [_delegate pagerViewTransformLayout:self initializeTransformAttributes:attributes];
-    }else if(_layout.layoutType != TYCyclePagerTransformLayoutNormal){
-        [self initializeTransformAttributes:attributes layoutType:_layout.layoutType];
-    }
-    return attributes;
-}
-
-#pragma mark - transform
-
-- (void)initializeTransformAttributes:(UICollectionViewLayoutAttributes *)attributes layoutType:(TYCyclePagerTransformLayoutType)layoutType {
-    switch (layoutType) {
-        case TYCyclePagerTransformLayoutLinear:
-            [self applyLinearTransformToAttributes:attributes scale:_layout.minimumScale alpha:_layout.minimumAlpha];
-            break;
-        case TYCyclePagerTransformLayoutCoverflow:
-        {
-            [self applyCoverflowTransformToAttributes:attributes angle:_layout.maximumAngle alpha:_layout.minimumAlpha];
-            break;
-        }
-        default:
-            break;
-    }
-}
-
-- (void)applyTransformToAttributes:(UICollectionViewLayoutAttributes *)attributes layoutType:(TYCyclePagerTransformLayoutType)layoutType {
-    switch (layoutType) {
-        case TYCyclePagerTransformLayoutLinear:
-            [self applyLinearTransformToAttributes:attributes];
-            break;
-        case TYCyclePagerTransformLayoutCoverflow:
-            [self applyCoverflowTransformToAttributes:attributes];
-            break;
-        default:
-            break;
-    }
-}
-
-#pragma mark - LinearTransform
-
-- (void)applyLinearTransformToAttributes:(UICollectionViewLayoutAttributes *)attributes {
-    CGFloat collectionViewWidth = self.collectionView.frame.size.width;
-    if (collectionViewWidth <= 0) {
-        return;
-    }
-    CGFloat centetX = self.collectionView.contentOffset.x + collectionViewWidth/2;
-    CGFloat delta = ABS(attributes.center.x - centetX);
-    CGFloat scale = MAX(1 - delta/collectionViewWidth*_layout.rateOfChange, _layout.minimumScale);
-    CGFloat alpha = MAX(1 - delta/collectionViewWidth, _layout.minimumAlpha);
-    [self applyLinearTransformToAttributes:attributes scale:scale alpha:alpha];
-}
-
-- (void)applyLinearTransformToAttributes:(UICollectionViewLayoutAttributes *)attributes scale:(CGFloat)scale alpha:(CGFloat)alpha {
-    CGAffineTransform transform = CGAffineTransformMakeScale(scale, scale);
-    if (_layout.adjustSpacingWhenScroling) {
-        TYTransformLayoutItemDirection direction = [self directionWithCenterX:attributes.center.x];
-        CGFloat translate = 0;
-        switch (direction) {
-            case TYTransformLayoutItemLeft:
-                translate = 1.15 * attributes.size.width*(1-scale)/2;
-                break;
-            case TYTransformLayoutItemRight:
-                translate = -1.15 * attributes.size.width*(1-scale)/2;
-                break;
-            default:
-                // center
-                scale = 1.0;
-                alpha = 1.0;
-                break;
-        }
-        transform = CGAffineTransformTranslate(transform,translate, 0);
-    }
-    attributes.transform = transform;
-    attributes.alpha = alpha;
-}
-
-#pragma mark - CoverflowTransform
-
-- (void)applyCoverflowTransformToAttributes:(UICollectionViewLayoutAttributes *)attributes{
-    CGFloat collectionViewWidth = self.collectionView.frame.size.width;
-    if (collectionViewWidth <= 0) {
-        return;
-    }
-    CGFloat centetX = self.collectionView.contentOffset.x + collectionViewWidth/2;
-    CGFloat delta = ABS(attributes.center.x - centetX);
-    CGFloat angle = MIN(delta/collectionViewWidth*(1-_layout.rateOfChange), _layout.maximumAngle);
-    CGFloat alpha = MAX(1 - delta/collectionViewWidth, _layout.minimumAlpha);
-    [self applyCoverflowTransformToAttributes:attributes angle:angle alpha:alpha];
-}
-
-- (void)applyCoverflowTransformToAttributes:(UICollectionViewLayoutAttributes *)attributes angle:(CGFloat)angle alpha:(CGFloat)alpha {
-    TYTransformLayoutItemDirection direction = [self directionWithCenterX:attributes.center.x];
-    CATransform3D transform3D = CATransform3DIdentity;
-    transform3D.m34 = -0.002;
-    CGFloat translate = 0;
-    switch (direction) {
-        case TYTransformLayoutItemLeft:
-            translate = (1-cos(angle*1.2*M_PI))*attributes.size.width;
-            break;
-        case TYTransformLayoutItemRight:
-            translate = -(1-cos(angle*1.2*M_PI))*attributes.size.width;
-            angle = -angle;
-            break;
-        default:
-            // center
-            angle = 0;
-            alpha = 1;
-            break;
-    }
-
-    transform3D = CATransform3DRotate(transform3D, M_PI*angle, 0, 1, 0);
-    if (_layout.adjustSpacingWhenScroling) {
-        transform3D = CATransform3DTranslate(transform3D, translate, 0, 0);
-    }
-    attributes.transform3D = transform3D;
-    attributes.alpha = alpha;
-
-}
-@end
-
-
-@implementation TYCyclePagerViewLayout
-
-- (instancetype)init {
-    if (self = [super init]) {
-        _itemVerticalCenter = YES;
-        _minimumScale = 0.8;
-        _minimumAlpha = 1.0;
-        _maximumAngle = 0.2;
-        _rateOfChange = 0.4;
-        _adjustSpacingWhenScroling = YES;
-    }
-    return self;
-}
-
-#pragma mark - getter
-
-- (UIEdgeInsets)onlyOneSectionInset {
-    CGFloat leftSpace = _pageView && !_isInfiniteLoop && _itemHorizontalCenter ? (CGRectGetWidth(_pageView.frame) - _itemSize.width)/2 : _sectionInset.left;
-    CGFloat rightSpace = _pageView && !_isInfiniteLoop && _itemHorizontalCenter ? (CGRectGetWidth(_pageView.frame) - _itemSize.width)/2 : _sectionInset.right;
-    if (_itemVerticalCenter) {
-        CGFloat verticalSpace = (CGRectGetHeight(_pageView.frame) - _itemSize.height)/2;
-        return UIEdgeInsetsMake(verticalSpace, leftSpace, verticalSpace, rightSpace);
-    }
-    return UIEdgeInsetsMake(_sectionInset.top, leftSpace, _sectionInset.bottom, rightSpace);
-}
-
-- (UIEdgeInsets)firstSectionInset {
-    if (_itemVerticalCenter) {
-        CGFloat verticalSpace = (CGRectGetHeight(_pageView.frame) - _itemSize.height)/2;
-        return UIEdgeInsetsMake(verticalSpace, _sectionInset.left, verticalSpace, _itemSpacing);
-    }
-    return UIEdgeInsetsMake(_sectionInset.top, _sectionInset.left, _sectionInset.bottom, _itemSpacing);
-}
-
-- (UIEdgeInsets)lastSectionInset {
-    if (_itemVerticalCenter) {
-        CGFloat verticalSpace = (CGRectGetHeight(_pageView.frame) - _itemSize.height)/2;
-        return UIEdgeInsetsMake(verticalSpace, 0, verticalSpace, _sectionInset.right);
-    }
-    return UIEdgeInsetsMake(_sectionInset.top, 0, _sectionInset.bottom, _sectionInset.right);
-}
-
-- (UIEdgeInsets)middleSectionInset {
-    if (_itemVerticalCenter) {
-        CGFloat verticalSpace = (CGRectGetHeight(_pageView.frame) - _itemSize.height)/2;
-        return UIEdgeInsetsMake(verticalSpace, 0, verticalSpace, _itemSpacing);
-    }
-    return _sectionInset;
-}
-
-@end

+ 0 - 180
KulexiuForStudent/KulexiuForStudent/Common/ThirdPart/TYCyclePagerView/TYCyclePagerView.h

@@ -1,180 +0,0 @@
-//
-//  TYCyclePagerView.h
-//  TYCyclePagerViewDemo
-//
-//  Created by tany on 2017/6/14.
-//  Copyright © 2017年 tany. All rights reserved.
-//
-
-#import <UIKit/UIKit.h>
-#import "TYCyclePagerTransformLayout.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-typedef struct {
-    NSInteger index;
-    NSInteger section;
-}TYIndexSection;
-
-// pagerView scrolling direction
-typedef NS_ENUM(NSUInteger, TYPagerScrollDirection) {
-    TYPagerScrollDirectionLeft,
-    TYPagerScrollDirectionRight,
-};
-
-@class TYCyclePagerView;
-@protocol TYCyclePagerViewDataSource <NSObject>
-
-- (NSInteger)numberOfItemsInPagerView:(TYCyclePagerView *)pageView;
-
-- (__kindof UICollectionViewCell *)pagerView:(TYCyclePagerView *)pagerView cellForItemAtIndex:(NSInteger)index;
-
-/**
- return pagerView layout,and cache layout
- */
-- (TYCyclePagerViewLayout *)layoutForPagerView:(TYCyclePagerView *)pageView;
-
-@end
-
-@protocol TYCyclePagerViewDelegate <NSObject>
-
-@optional
-
-/**
- pagerView did scroll to new index page
- */
-- (void)pagerView:(TYCyclePagerView *)pageView didScrollFromIndex:(NSInteger)fromIndex toIndex:(NSInteger)toIndex;
-
-/**
- pagerView did selected item cell
- */
-- (void)pagerView:(TYCyclePagerView *)pageView didSelectedItemCell:(__kindof UICollectionViewCell *)cell atIndex:(NSInteger)index;
-- (void)pagerView:(TYCyclePagerView *)pageView didSelectedItemCell:(__kindof UICollectionViewCell *)cell atIndexSection:(TYIndexSection)indexSection;
-
-// custom layout
-- (void)pagerView:(TYCyclePagerView *)pageView initializeTransformAttributes:(UICollectionViewLayoutAttributes *)attributes;
-
-- (void)pagerView:(TYCyclePagerView *)pageView applyTransformToAttributes:(UICollectionViewLayoutAttributes *)attributes;
-
-
-// scrollViewDelegate
-
-- (void)pagerViewDidScroll:(TYCyclePagerView *)pageView;
-
-- (void)pagerViewWillBeginDragging:(TYCyclePagerView *)pageView;
-
-- (void)pagerViewDidEndDragging:(TYCyclePagerView *)pageView willDecelerate:(BOOL)decelerate;
-
-- (void)pagerViewWillBeginDecelerating:(TYCyclePagerView *)pageView;
-
-- (void)pagerViewDidEndDecelerating:(TYCyclePagerView *)pageView;
-
-- (void)pagerViewWillBeginScrollingAnimation:(TYCyclePagerView *)pageView;
-
-- (void)pagerViewDidEndScrollingAnimation:(TYCyclePagerView *)pageView;
-
-@end
-
-
-@interface TYCyclePagerView : UIView
-
-// will be automatically resized to track the size of the pagerView
-@property (nonatomic, strong, nullable) UIView *backgroundView; 
-
-@property (nonatomic, weak, nullable) id<TYCyclePagerViewDataSource> dataSource;
-@property (nonatomic, weak, nullable) id<TYCyclePagerViewDelegate> delegate;
-
-// pager view, don't set dataSource and delegate
-@property (nonatomic, weak, readonly) UICollectionView *collectionView;
-// pager view layout
-@property (nonatomic, strong, readonly) TYCyclePagerViewLayout *layout;
-
-/**
- is infinite cycle pageview
- */
-@property (nonatomic, assign) BOOL isInfiniteLoop;
-
-/**
- pagerView automatic scroll time interval, default 0,disable automatic
- */
-@property (nonatomic, assign) CGFloat autoScrollInterval;
-
-@property (nonatomic, assign) BOOL reloadDataNeedResetIndex;
-
-/**
- current page index
- */
-@property (nonatomic, assign, readonly) NSInteger curIndex;
-@property (nonatomic, assign, readonly) TYIndexSection indexSection;
-
-// scrollView property
-@property (nonatomic, assign, readonly) CGPoint contentOffset;
-@property (nonatomic, assign, readonly) BOOL tracking;
-@property (nonatomic, assign, readonly) BOOL dragging;
-@property (nonatomic, assign, readonly) BOOL decelerating;
-
-
-/**
- reload data, !!important!!: will clear layout and call delegate layoutForPagerView
- */
-- (void)reloadData;
-
-/**
- update data is reload data, but not clear layuot
- */
-- (void)updateData;
-
-/**
- if you only want update layout
- */
-- (void)setNeedUpdateLayout;
-
-/**
- will set layout nil and call delegate->layoutForPagerView
- */
-- (void)setNeedClearLayout;
-
-/**
- current index cell in pagerView
- */
-- (__kindof UICollectionViewCell * _Nullable)curIndexCell;
-
-/**
- visible cells in pageView
- */
-- (NSArray<__kindof UICollectionViewCell *> *_Nullable)visibleCells;
-
-
-/**
- visible pageView indexs, maybe repeat index
- */
-- (NSArray *)visibleIndexs;
-
-/**
- scroll to item at index
- */
-- (void)scrollToItemAtIndex:(NSInteger)index animate:(BOOL)animate;
-- (void)scrollToItemAtIndexSection:(TYIndexSection)indexSection animate:(BOOL)animate;
-/**
- scroll to next or pre item
- */
-- (void)scrollToNearlyIndexAtDirection:(TYPagerScrollDirection)direction animate:(BOOL)animate;
-
-/**
- register pager view cell with class
- */
-- (void)registerClass:(Class)Class forCellWithReuseIdentifier:(NSString *)identifier;
-
-/**
- register pager view cell with nib
- */
-- (void)registerNib:(UINib *)nib forCellWithReuseIdentifier:(NSString *)identifier;
-
-/**
- dequeue reusable cell for pagerView
- */
-- (__kindof UICollectionViewCell *)dequeueReusableCellWithReuseIdentifier:(NSString *)identifier forIndex:(NSInteger)index;
-
-@end
-
-NS_ASSUME_NONNULL_END

+ 0 - 607
KulexiuForStudent/KulexiuForStudent/Common/ThirdPart/TYCyclePagerView/TYCyclePagerView.m

@@ -1,607 +0,0 @@
-//
-//  TYCyclePagerView.m
-//  TYCyclePagerViewDemo
-//
-//  Created by tany on 2017/6/14.
-//  Copyright © 2017年 tany. All rights reserved.
-//
-
-#import "TYCyclePagerView.h"
-
-NS_INLINE BOOL TYEqualIndexSection(TYIndexSection indexSection1,TYIndexSection indexSection2) {
-    return indexSection1.index == indexSection2.index && indexSection1.section == indexSection2.section;
-}
-
-NS_INLINE TYIndexSection TYMakeIndexSection(NSInteger index, NSInteger section) {
-    TYIndexSection indexSection;
-    indexSection.index = index;
-    indexSection.section = section;
-    return indexSection;
-}
-
-@interface TYCyclePagerView () <UICollectionViewDataSource, UICollectionViewDelegateFlowLayout, TYCyclePagerTransformLayoutDelegate> {
-    struct {
-        unsigned int pagerViewDidScroll   :1;
-        unsigned int didScrollFromIndexToNewIndex   :1;
-        unsigned int initializeTransformAttributes   :1;
-        unsigned int applyTransformToAttributes   :1;
-    }_delegateFlags;
-    struct {
-        unsigned int cellForItemAtIndex   :1;
-        unsigned int layoutForPagerView   :1;
-    }_dataSourceFlags;
-}
-
-// UI
-@property (nonatomic, weak) UICollectionView *collectionView;
-@property (nonatomic, strong) TYCyclePagerViewLayout *layout;
-@property (nonatomic, strong) NSTimer *timer;
-
-// Data
-@property (nonatomic, assign) NSInteger numberOfItems;
-
-@property (nonatomic, assign) NSInteger dequeueSection;
-@property (nonatomic, assign) TYIndexSection beginDragIndexSection;
-@property (nonatomic, assign) NSInteger firstScrollIndex;
-
-@property (nonatomic, assign) BOOL needClearLayout;
-@property (nonatomic, assign) BOOL didReloadData;
-@property (nonatomic, assign) BOOL didLayout;
-@property (nonatomic, assign) BOOL needResetIndex;
-
-@end
-
-#define kPagerViewMaxSectionCount 200
-#define kPagerViewMinSectionCount 18
-
-@implementation TYCyclePagerView
-
-#pragma mark - life Cycle
-
-- (instancetype)initWithFrame:(CGRect)frame {
-    if (self = [super initWithFrame:frame]) {
-        [self configureProperty];
-        
-        [self addCollectionView];
-    }
-    return self;
-}
-
-- (instancetype)initWithCoder:(NSCoder *)aDecoder {
-    if (self = [super initWithCoder:aDecoder]) {
-        [self configureProperty];
-        
-        [self addCollectionView];
-    }
-    return self;
-}
-
-- (void)configureProperty {
-    _needResetIndex = NO;
-    _didReloadData = NO;
-    _didLayout = NO;
-    _autoScrollInterval = 0;
-    _isInfiniteLoop = YES;
-    _beginDragIndexSection.index = 0;
-    _beginDragIndexSection.section = 0;
-    _indexSection.index = -1;
-    _indexSection.section = -1;
-    _firstScrollIndex = -1;
-}
-
-- (void)addCollectionView {
-    TYCyclePagerTransformLayout *layout = [[TYCyclePagerTransformLayout alloc]init];
-    UICollectionView *collectionView = [[UICollectionView alloc]initWithFrame:CGRectZero collectionViewLayout:layout];
-    layout.delegate = _delegateFlags.applyTransformToAttributes ? self : nil;;
-    collectionView.backgroundColor = [UIColor clearColor];
-    collectionView.dataSource = self;
-    collectionView.delegate = self;
-    collectionView.pagingEnabled = NO;
-    collectionView.decelerationRate = 1-0.0076;
-    if ([collectionView respondsToSelector:@selector(setPrefetchingEnabled:)]) {
-        collectionView.prefetchingEnabled = NO;
-    }
-    collectionView.showsHorizontalScrollIndicator = NO;
-    collectionView.showsVerticalScrollIndicator = NO;
-    [self addSubview:collectionView];
-    _collectionView = collectionView;
-}
-
-- (void)willMoveToSuperview:(UIView *)newSuperview {
-    if (!newSuperview) {
-        [self removeTimer];
-    }else {
-        [self removeTimer];
-        if (_autoScrollInterval > 0) {
-            [self addTimer];
-        }
-    }
-}
-
-
-#pragma mark - timer
-
-- (void)addTimer {
-    if (_timer || _autoScrollInterval <= 0) {
-        return;
-    }
-    _timer = [NSTimer timerWithTimeInterval:_autoScrollInterval target:self selector:@selector(timerFired:) userInfo:nil repeats:YES];
-    [[NSRunLoop mainRunLoop] addTimer:_timer forMode:NSRunLoopCommonModes];
-}
-
-- (void)removeTimer {
-    if (!_timer) {
-        return;
-    }
-    [_timer invalidate];
-    _timer = nil;
-}
-
-- (void)timerFired:(NSTimer *)timer {
-    if (!self.superview || !self.window || _numberOfItems == 0 || self.tracking) {
-        return;
-    }
-    
-    [self scrollToNearlyIndexAtDirection:TYPagerScrollDirectionRight animate:YES];
-}
-
-#pragma mark - getter
-
-- (TYCyclePagerViewLayout *)layout {
-    if (!_layout) {
-        if (_dataSourceFlags.layoutForPagerView) {
-            _layout = [_dataSource layoutForPagerView:self];
-            _layout.isInfiniteLoop = _isInfiniteLoop;
-        }
-        if (_layout.itemSize.width <= 0 || _layout.itemSize.height <= 0) {
-            _layout = nil;
-        }
-    }
-    return _layout;
-}
-
-- (NSInteger)curIndex {
-    return _indexSection.index;
-}
-
-- (CGPoint)contentOffset {
-    return _collectionView.contentOffset;
-}
-
-- (BOOL)tracking {
-    return _collectionView.tracking;
-}
-
-- (BOOL)dragging {
-    return _collectionView.dragging;
-}
-
-- (BOOL)decelerating {
-    return _collectionView.decelerating;
-}
-
-- (UIView *)backgroundView {
-    return _collectionView.backgroundView;
-}
-
-- (__kindof UICollectionViewCell *)curIndexCell {
-    return [_collectionView cellForItemAtIndexPath:[NSIndexPath indexPathForItem:_indexSection.index inSection:_indexSection.section]];
-}
-
-- (NSArray<__kindof UICollectionViewCell *> *)visibleCells {
-    return _collectionView.visibleCells;
-}
-
-- (NSArray *)visibleIndexs {
-    NSMutableArray *indexs = [NSMutableArray array];
-    for (NSIndexPath *indexPath in _collectionView.indexPathsForVisibleItems) {
-        [indexs addObject:@(indexPath.item)];
-    }
-    return [indexs copy];
-}
-
-#pragma mark - setter
-
-- (void)setBackgroundView:(UIView *)backgroundView {
-    [_collectionView setBackgroundView:backgroundView];
-}
-
-- (void)setAutoScrollInterval:(CGFloat)autoScrollInterval {
-    _autoScrollInterval = autoScrollInterval;
-    [self removeTimer];
-    if (autoScrollInterval > 0 && self.superview) {
-        [self addTimer];
-    }
-}
-
-- (void)setDelegate:(id<TYCyclePagerViewDelegate>)delegate {
-    _delegate = delegate;
-    _delegateFlags.pagerViewDidScroll = [delegate respondsToSelector:@selector(pagerViewDidScroll:)];
-    _delegateFlags.didScrollFromIndexToNewIndex = [delegate respondsToSelector:@selector(pagerView:didScrollFromIndex:toIndex:)];
-    _delegateFlags.initializeTransformAttributes = [delegate respondsToSelector:@selector(pagerView:initializeTransformAttributes:)];
-    _delegateFlags.applyTransformToAttributes = [delegate respondsToSelector:@selector(pagerView:applyTransformToAttributes:)];
-    if (self.collectionView && self.collectionView.collectionViewLayout) {
-        ((TYCyclePagerTransformLayout *)self.collectionView.collectionViewLayout).delegate = _delegateFlags.applyTransformToAttributes ? self : nil;
-    }
-}
-
-- (void)setDataSource:(id<TYCyclePagerViewDataSource>)dataSource {
-    _dataSource = dataSource;
-    _dataSourceFlags.cellForItemAtIndex = [dataSource respondsToSelector:@selector(pagerView:cellForItemAtIndex:)];
-    _dataSourceFlags.layoutForPagerView = [dataSource respondsToSelector:@selector(layoutForPagerView:)];
-}
-
-#pragma mark - public
-
-- (void)reloadData {
-    _didReloadData = YES;
-    _needResetIndex = YES;
-    [self setNeedClearLayout];
-    [self clearLayout];
-    [self updateData];
-}
-
-// not clear layout
-- (void)updateData {
-    [self updateLayout];
-    _numberOfItems = [_dataSource numberOfItemsInPagerView:self];
-    [_collectionView reloadData];
-    if (!_didLayout && !CGRectIsEmpty(self.collectionView.frame) && _indexSection.index < 0) {
-        _didLayout = YES;
-    }
-    BOOL needResetIndex = _needResetIndex && _reloadDataNeedResetIndex;
-    _needResetIndex = NO;
-    if (needResetIndex) {
-        [self removeTimer];
-    }
-    [self resetPagerViewAtIndex:(_indexSection.index < 0 && !CGRectIsEmpty(self.collectionView.frame)) || needResetIndex ? 0 :_indexSection.index];
-    if (needResetIndex) {
-        [self addTimer];
-    }
-}
-
-- (void)scrollToNearlyIndexAtDirection:(TYPagerScrollDirection)direction animate:(BOOL)animate {
-    TYIndexSection indexSection = [self nearlyIndexPathAtDirection:direction];
-    [self scrollToItemAtIndexSection:indexSection animate:animate];
-}
-
-- (void)scrollToItemAtIndex:(NSInteger)index animate:(BOOL)animate {
-    if (!_didLayout && _didReloadData) {
-        _firstScrollIndex = index;
-    }else {
-        _firstScrollIndex = -1;
-    }
-    if (!_isInfiniteLoop) {
-        [self scrollToItemAtIndexSection:TYMakeIndexSection(index, 0) animate:animate];
-        return;
-    }
-
-    [self scrollToItemAtIndexSection:TYMakeIndexSection(index, index >= self.curIndex ? _indexSection.section : _indexSection.section+1) animate:animate];
-}
-
-- (void)scrollToItemAtIndexSection:(TYIndexSection)indexSection animate:(BOOL)animate {
-    if (_numberOfItems <= 0 || ![self isValidIndexSection:indexSection]) {
-        //NSLog(@"scrollToItemAtIndex: item indexSection is invalid!");
-        return;
-    }
-    
-    if (animate && [_delegate respondsToSelector:@selector(pagerViewWillBeginScrollingAnimation:)]) {
-        [_delegate pagerViewWillBeginScrollingAnimation:self];
-    }
-    CGFloat offset = [self caculateOffsetXAtIndexSection:indexSection];
-    [_collectionView setContentOffset:CGPointMake(offset, _collectionView.contentOffset.y) animated:animate];
-}
-
-- (void)registerClass:(Class)Class forCellWithReuseIdentifier:(NSString *)identifier {
-    [_collectionView registerClass:Class forCellWithReuseIdentifier:identifier];
-}
-
-- (void)registerNib:(UINib *)nib forCellWithReuseIdentifier:(NSString *)identifier {
-    [_collectionView registerNib:nib forCellWithReuseIdentifier:identifier];
-}
-
-- (__kindof UICollectionViewCell *)dequeueReusableCellWithReuseIdentifier:(NSString *)identifier forIndex:(NSInteger)index {
-    UICollectionViewCell *cell = [_collectionView dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:[NSIndexPath indexPathForItem:index inSection:_dequeueSection]];
-    return cell;
-}
-
-#pragma mark - configure layout
-
-- (void)updateLayout {
-    if (!self.layout) {
-        return;
-    }
-    self.layout.isInfiniteLoop = _isInfiniteLoop;
-    ((TYCyclePagerTransformLayout *)_collectionView.collectionViewLayout).layout = self.layout;
-}
-
-- (void)clearLayout {
-    if (_needClearLayout) {
-        _layout = nil;
-        _needClearLayout = NO;
-    }
-}
-
-- (void)setNeedClearLayout {
-    _needClearLayout = YES;
-}
-
-- (void)setNeedUpdateLayout {
-    if (!self.layout) {
-        return;
-    }
-    [self clearLayout];
-    [self updateLayout];
-    [_collectionView.collectionViewLayout invalidateLayout];
-    [self resetPagerViewAtIndex:_indexSection.index < 0 ? 0 :_indexSection.index];
-}
-
-#pragma mark - pager index
-
-- (BOOL)isValidIndexSection:(TYIndexSection)indexSection {
-    return indexSection.index >= 0 && indexSection.index < _numberOfItems && indexSection.section >= 0 && indexSection.section < kPagerViewMaxSectionCount;
-}
-
-- (TYIndexSection)nearlyIndexPathAtDirection:(TYPagerScrollDirection)direction{
-    return [self nearlyIndexPathForIndexSection:_indexSection direction:direction];
-}
-
-- (TYIndexSection)nearlyIndexPathForIndexSection:(TYIndexSection)indexSection direction:(TYPagerScrollDirection)direction {
-    if (indexSection.index < 0 || indexSection.index >= _numberOfItems) {
-        return indexSection;
-    }
-    
-    if (!_isInfiniteLoop) {
-        if (direction == TYPagerScrollDirectionRight && indexSection.index == _numberOfItems - 1) {
-            return _autoScrollInterval > 0 ? TYMakeIndexSection(0, 0) : indexSection;
-        } else if (direction == TYPagerScrollDirectionRight) {
-            return TYMakeIndexSection(indexSection.index+1, 0);
-        }
-        
-        if (indexSection.index == 0) {
-            return _autoScrollInterval > 0 ? TYMakeIndexSection(_numberOfItems - 1, 0) : indexSection;
-        }
-        return TYMakeIndexSection(indexSection.index-1, 0);
-    }
-    
-    if (direction == TYPagerScrollDirectionRight) {
-        if (indexSection.index < _numberOfItems-1) {
-            return TYMakeIndexSection(indexSection.index+1, indexSection.section);
-        }
-        if (indexSection.section >= kPagerViewMaxSectionCount-1) {
-            return TYMakeIndexSection(indexSection.index, kPagerViewMaxSectionCount-1);
-        }
-        return TYMakeIndexSection(0, indexSection.section+1);
-    }
-    
-    if (indexSection.index > 0) {
-        return TYMakeIndexSection(indexSection.index-1, indexSection.section);
-    }
-    if (indexSection.section <= 0) {
-        return TYMakeIndexSection(indexSection.index, 0);
-    }
-    return TYMakeIndexSection(_numberOfItems-1, indexSection.section-1);
-}
-
-- (TYIndexSection)caculateIndexSectionWithOffsetX:(CGFloat)offsetX {
-    if (_numberOfItems <= 0) {
-        return TYMakeIndexSection(0, 0);
-    }
-     UICollectionViewFlowLayout *layout = (UICollectionViewFlowLayout *)_collectionView.collectionViewLayout;
-    CGFloat leftEdge = _isInfiniteLoop ? _layout.sectionInset.left : _layout.onlyOneSectionInset.left;
-    CGFloat width = CGRectGetWidth(_collectionView.frame);
-    CGFloat middleOffset = offsetX + width/2;
-    CGFloat itemWidth = layout.itemSize.width + layout.minimumInteritemSpacing;
-    NSInteger curIndex = 0;
-    NSInteger curSection = 0;
-    if (middleOffset - leftEdge >= 0) {
-        NSInteger itemIndex = (middleOffset - leftEdge+layout.minimumInteritemSpacing/2)/itemWidth;
-        if (itemIndex < 0) {
-            itemIndex = 0;
-        }else if (itemIndex >= _numberOfItems*kPagerViewMaxSectionCount) {
-            itemIndex = _numberOfItems*kPagerViewMaxSectionCount-1;
-        }
-        curIndex = itemIndex%_numberOfItems;
-        curSection = itemIndex/_numberOfItems;
-    }
-    return TYMakeIndexSection(curIndex, curSection);
-}
-
-- (CGFloat)caculateOffsetXAtIndexSection:(TYIndexSection)indexSection{
-    if (_numberOfItems == 0) {
-        return 0;
-    }
-    UICollectionViewFlowLayout *layout = (UICollectionViewFlowLayout *)_collectionView.collectionViewLayout;
-    UIEdgeInsets edge = _isInfiniteLoop ? _layout.sectionInset : _layout.onlyOneSectionInset;
-    CGFloat leftEdge = edge.left;
-    CGFloat rightEdge = edge.right;
-    CGFloat width = CGRectGetWidth(_collectionView.frame);
-    CGFloat itemWidth = layout.itemSize.width + layout.minimumInteritemSpacing;
-    CGFloat offsetX = 0;
-    if (!_isInfiniteLoop && !_layout.itemHorizontalCenter && indexSection.index == _numberOfItems - 1) {
-        offsetX = leftEdge + itemWidth*(indexSection.index + indexSection.section*_numberOfItems) - (width - itemWidth) -  layout.minimumInteritemSpacing + rightEdge;
-    }else {
-        offsetX = leftEdge + itemWidth*(indexSection.index + indexSection.section*_numberOfItems) - layout.minimumInteritemSpacing/2 - (width - itemWidth)/2;
-    }
-    return MAX(offsetX, 0);
-}
-
-- (void)resetPagerViewAtIndex:(NSInteger)index {
-    if (_didLayout && _firstScrollIndex >= 0) {
-        index = _firstScrollIndex;
-        _firstScrollIndex = -1;
-    }
-    if (index < 0) {
-        return;
-    }
-    if (index >= _numberOfItems) {
-        index = 0;
-    }
-    [self scrollToItemAtIndexSection:TYMakeIndexSection(index, _isInfiniteLoop ? kPagerViewMaxSectionCount/3 : 0) animate:NO];
-    if (!_isInfiniteLoop && _indexSection.index < 0) {
-        [self scrollViewDidScroll:_collectionView];
-    }
-}
-
-- (void)recyclePagerViewIfNeed {
-    if (!_isInfiniteLoop) {
-        return;
-    }
-    if (_indexSection.section > kPagerViewMaxSectionCount - kPagerViewMinSectionCount || _indexSection.section < kPagerViewMinSectionCount) {
-        [self resetPagerViewAtIndex:_indexSection.index];
-    }
-}
-
-#pragma mark - UICollectionViewDataSource
-
-- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView {
-    return _isInfiniteLoop ? kPagerViewMaxSectionCount : 1;
-}
-
-- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
-    _numberOfItems = [_dataSource numberOfItemsInPagerView:self];
-    return _numberOfItems;
-}
-
-- (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
-    _dequeueSection = indexPath.section;
-    if (_dataSourceFlags.cellForItemAtIndex) {
-       return [_dataSource pagerView:self cellForItemAtIndex:indexPath.row];
-    }
-    NSAssert(NO, @"pagerView cellForItemAtIndex: is nil!");
-    return nil;
-}
-
-#pragma mark - UICollectionViewDelegateFlowLayout
-
-- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section {
-    if (!_isInfiniteLoop) {
-        return _layout.onlyOneSectionInset;
-    }
-    if (section == 0 ) {
-        return _layout.firstSectionInset;
-    }else if (section == kPagerViewMaxSectionCount -1) {
-        return _layout.lastSectionInset;
-    }
-    return _layout.middleSectionInset;
-}
-
-- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
-    UICollectionViewCell *cell = [collectionView cellForItemAtIndexPath:indexPath];
-    if ([_delegate respondsToSelector:@selector(pagerView:didSelectedItemCell:atIndex:)]) {
-        [_delegate pagerView:self didSelectedItemCell:cell atIndex:indexPath.item];
-    }
-    if ([_delegate respondsToSelector:@selector(pagerView:didSelectedItemCell:atIndexSection:)]) {
-        [_delegate pagerView:self didSelectedItemCell:cell atIndexSection:TYMakeIndexSection(indexPath.item, indexPath.section)];
-    }
-}
-
-#pragma mark - UIScrollViewDelegate
-
-- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
-    if (!_didLayout) {
-        return;
-    }
-    TYIndexSection newIndexSection =  [self caculateIndexSectionWithOffsetX:scrollView.contentOffset.x];
-    if (_numberOfItems <= 0 || ![self isValidIndexSection:newIndexSection]) {
-        NSLog(@"inVlaidIndexSection:(%ld,%ld)!",(long)newIndexSection.index,(long)newIndexSection.section);
-        return;
-    }
-    TYIndexSection indexSection = _indexSection;
-    _indexSection = newIndexSection;
-    
-    if (_delegateFlags.pagerViewDidScroll) {
-        [_delegate pagerViewDidScroll:self];
-    }
-    
-    if (_delegateFlags.didScrollFromIndexToNewIndex && !TYEqualIndexSection(_indexSection, indexSection)) {
-        //NSLog(@"curIndex %ld",(long)_indexSection.index);
-        [_delegate pagerView:self didScrollFromIndex:MAX(indexSection.index, 0) toIndex:_indexSection.index];
-    }
-}
-
-- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {
-    if (_autoScrollInterval > 0) {
-        [self removeTimer];
-    }
-    _beginDragIndexSection = [self caculateIndexSectionWithOffsetX:scrollView.contentOffset.x];
-    if ([_delegate respondsToSelector:@selector(pagerViewWillBeginDragging:)]) {
-        [_delegate pagerViewWillBeginDragging:self];
-    }
-}
-
-- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset {
-    if (fabs(velocity.x) < 0.35 || !TYEqualIndexSection(_beginDragIndexSection, _indexSection)) {
-        targetContentOffset->x = [self caculateOffsetXAtIndexSection:_indexSection];
-        return;
-    }
-    TYPagerScrollDirection direction = TYPagerScrollDirectionRight;
-    if ((scrollView.contentOffset.x < 0 && targetContentOffset->x <= 0) || (targetContentOffset->x < scrollView.contentOffset.x && scrollView.contentOffset.x < scrollView.contentSize.width - scrollView.frame.size.width)) {
-        direction = TYPagerScrollDirectionLeft;
-    }
-    TYIndexSection indexSection = [self nearlyIndexPathForIndexSection:_indexSection direction:direction];
-    targetContentOffset->x = [self caculateOffsetXAtIndexSection:indexSection];
-}
-
-- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate {
-    if (_autoScrollInterval > 0) {
-        [self addTimer];
-    }
-    if ([_delegate respondsToSelector:@selector(pagerViewDidEndDragging:willDecelerate:)]) {
-        [_delegate pagerViewDidEndDragging:self willDecelerate:decelerate];
-    }
-}
-
-- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView {
-    if ([_delegate respondsToSelector:@selector(pagerViewWillBeginDecelerating:)]) {
-        [_delegate pagerViewWillBeginDecelerating:self];
-    }
-}
-
-- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
-    [self recyclePagerViewIfNeed];
-    if ([_delegate respondsToSelector:@selector(pagerViewDidEndDecelerating:)]) {
-        [_delegate pagerViewDidEndDecelerating:self];
-    }
-}
-
-- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView {
-    [self recyclePagerViewIfNeed];
-    if ([_delegate respondsToSelector:@selector(pagerViewDidEndScrollingAnimation:)]) {
-        [_delegate pagerViewDidEndScrollingAnimation:self];
-    }
-}
-
-#pragma mark - TYCyclePagerTransformLayoutDelegate
-
-- (void)pagerViewTransformLayout:(TYCyclePagerTransformLayout *)pagerViewTransformLayout initializeTransformAttributes:(UICollectionViewLayoutAttributes *)attributes {
-    if (_delegateFlags.initializeTransformAttributes) {
-        [_delegate pagerView:self initializeTransformAttributes:attributes];
-    }
-}
-
-- (void)pagerViewTransformLayout:(TYCyclePagerTransformLayout *)pagerViewTransformLayout applyTransformToAttributes:(UICollectionViewLayoutAttributes *)attributes {
-    if (_delegateFlags.applyTransformToAttributes) {
-        [_delegate pagerView:self applyTransformToAttributes:attributes];
-    }
-}
-
-- (void)layoutSubviews {
-    [super layoutSubviews];
-    BOOL needUpdateLayout = !CGRectEqualToRect(_collectionView.frame, self.bounds);
-    _collectionView.frame = self.bounds;
-    if ((_indexSection.section < 0 || needUpdateLayout) && (_numberOfItems > 0 || _didReloadData)) {
-        _didLayout = YES;
-        [self setNeedUpdateLayout];
-    }
-}
-
-- (void)dealloc {
-    ((TYCyclePagerTransformLayout *)_collectionView.collectionViewLayout).delegate = nil;
-    _collectionView.delegate = nil;
-    _collectionView.dataSource = nil;
-}
-
-@end
-
-

+ 0 - 47
KulexiuForStudent/KulexiuForStudent/Common/ThirdPart/TYCyclePagerView/TYPageControl.h

@@ -1,47 +0,0 @@
-//
-//  TYPageControl.h
-//  TYCyclePagerViewDemo
-//
-//  Created by tany on 2017/6/20.
-//  Copyright © 2017年 tany. All rights reserved.
-//
-
-#import <UIKit/UIKit.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface TYPageControl : UIControl
-
-@property (nonatomic, assign) NSInteger numberOfPages;          // default is 0
-@property (nonatomic, assign) NSInteger currentPage;            // default is 0. value pinned to 0..numberOfPages-1
-
-@property (nonatomic, assign) BOOL hidesForSinglePage;          // hide the the indicator if there is only one page. default is NO
-
-@property (nonatomic, assign) CGFloat pageIndicatorSpaing;
-@property (nonatomic, assign) UIEdgeInsets contentInset; // center will ignore this
-@property (nonatomic, assign ,readonly) CGSize contentSize; // real content size
-
-// override super 
-//@property (nonatomic, assign) UIControlContentVerticalAlignment contentVerticalAlignment;     // how to position content vertically inside control. default is center
-//@property (nonatomic, assign) UIControlContentHorizontalAlignment contentHorizontalAlignment; // how to position content hozontally inside control. default is center
-
-// indicatorTint color
-@property (nullable, nonatomic,strong) UIColor *pageIndicatorTintColor;
-@property (nullable, nonatomic,strong) UIColor *currentPageIndicatorTintColor;
-
-// indicator image
-@property (nullable, nonatomic,strong) UIImage *pageIndicatorImage;
-@property (nullable, nonatomic,strong) UIImage *currentPageIndicatorImage;
-
-@property (nonatomic, assign) UIViewContentMode indicatorImageContentMode; // default is UIViewContentModeCenter
-
-@property (nonatomic, assign) CGSize pageIndicatorSize; // indicator size
-@property (nonatomic, assign) CGSize currentPageIndicatorSize; // default pageIndicatorSize
-
-@property (nonatomic, assign) CGFloat animateDuring; // default 0.3
-
-- (void)setCurrentPage:(NSInteger)currentPage animate:(BOOL)animate;
-
-@end
-
-NS_ASSUME_NONNULL_END

+ 0 - 285
KulexiuForStudent/KulexiuForStudent/Common/ThirdPart/TYCyclePagerView/TYPageControl.m

@@ -1,285 +0,0 @@
-//
-//  TYPageControl.m
-//  TYCyclePagerViewDemo
-//
-//  Created by tany on 2017/6/20.
-//  Copyright © 2017年 tany. All rights reserved.
-//
-
-#import "TYPageControl.h"
-
-@interface TYPageControl ()
-// UI
-@property (nonatomic, strong) NSArray<UIImageView *> *indicatorViews;
-
-// Data
-@property (nonatomic, assign) BOOL forceUpdate;
-
-@end
-
-@implementation TYPageControl
-
-#pragma mark - life cycle
-
-- (instancetype)initWithFrame:(CGRect)frame {
-    if (self = [super initWithFrame:frame]) {
-        [self configurePropertys];
-    }
-    return self;
-}
-
-- (instancetype)initWithCoder:(NSCoder *)aDecoder {
-    if (self = [super initWithCoder:aDecoder]) {
-        [self configurePropertys];
-    }
-    return self;
-}
-
-- (void)configurePropertys {
-    self.userInteractionEnabled = NO;
-    _forceUpdate = NO;
-    _animateDuring = 0.3;
-    _pageIndicatorSpaing = 10;
-    _indicatorImageContentMode = UIViewContentModeCenter;
-    _pageIndicatorSize = CGSizeMake(6,6);
-    _currentPageIndicatorSize = _pageIndicatorSize;
-    _pageIndicatorTintColor = [UIColor colorWithRed:128/255. green:128/255. blue:128/255. alpha:1];
-    _currentPageIndicatorTintColor = [UIColor whiteColor];
-}
-
-- (void)willMoveToSuperview:(UIView *)newSuperview {
-    [super willMoveToSuperview:newSuperview];
-    if (newSuperview) {
-        _forceUpdate = YES;
-        [self updateIndicatorViews];
-        _forceUpdate = NO;
-    }
-}
-
-#pragma mark - getter setter
-
-- (CGSize)contentSize {
-    CGFloat width = (_indicatorViews.count - 1) * (_pageIndicatorSize.width + _pageIndicatorSpaing) + _pageIndicatorSize.width + _contentInset.left +_contentInset.right;
-    CGFloat height = _currentPageIndicatorSize.height + _contentInset.top + _contentInset.bottom;
-    return CGSizeMake(width, height);
-}
-
-- (void)setNumberOfPages:(NSInteger)numberOfPages {
-    if (numberOfPages == _numberOfPages) {
-        return;
-    }
-    _numberOfPages = numberOfPages;
-    if (_currentPage >= numberOfPages) {
-        _currentPage = 0;
-    }
-    [self updateIndicatorViews];
-    if (_indicatorViews.count > 0) {
-        [self setNeedsLayout];
-    }
-}
-
-- (void)setCurrentPage:(NSInteger)currentPage {
-    if (_currentPage == currentPage || _indicatorViews.count <= currentPage) {
-        return;
-    }
-    _currentPage = currentPage;
-    if (!CGSizeEqualToSize(_currentPageIndicatorSize, _pageIndicatorSize)) {
-        [self setNeedsLayout];
-    }
-    [self updateIndicatorViewsBehavior];
-    if (self.userInteractionEnabled) {
-        [self sendActionsForControlEvents:UIControlEventValueChanged];
-    }
-}
-
-- (void)setCurrentPage:(NSInteger)currentPage animate:(BOOL)animate {
-    if (animate) {
-        [UIView animateWithDuration:_animateDuring animations:^{
-            [self setCurrentPage:currentPage];
-        }];
-    }else {
-        [self setCurrentPage:currentPage];
-    }
-}
-
-- (void)setPageIndicatorImage:(UIImage *)pageIndicatorImage {
-    _pageIndicatorImage = pageIndicatorImage;
-    [self updateIndicatorViewsBehavior];
-}
-
-- (void)setCurrentPageIndicatorImage:(UIImage *)currentPageIndicatorImage {
-    _currentPageIndicatorImage = currentPageIndicatorImage;
-    [self updateIndicatorViewsBehavior];
-}
-
-- (void)setPageIndicatorTintColor:(UIColor *)pageIndicatorTintColor {
-    _pageIndicatorTintColor = pageIndicatorTintColor;
-    [self updateIndicatorViewsBehavior];
-}
-
-- (void)setCurrentPageIndicatorTintColor:(UIColor *)currentPageIndicatorTintColor {
-    _currentPageIndicatorTintColor = currentPageIndicatorTintColor;
-    [self updateIndicatorViewsBehavior];
-}
-
-- (void)setPageIndicatorSize:(CGSize)pageIndicatorSize {
-    if (CGSizeEqualToSize(_pageIndicatorSize, pageIndicatorSize)) {
-        return;
-    }
-    _pageIndicatorSize = pageIndicatorSize;
-    if (CGSizeEqualToSize(_currentPageIndicatorSize, CGSizeZero) || (_currentPageIndicatorSize.width < pageIndicatorSize.width && _currentPageIndicatorSize.height < pageIndicatorSize.height)) {
-        _currentPageIndicatorSize = pageIndicatorSize;
-    }
-    if (_indicatorViews.count > 0) {
-        [self setNeedsLayout];
-    }
-}
-
-- (void)setPageIndicatorSpaing:(CGFloat)pageIndicatorSpaing {
-    _pageIndicatorSpaing = pageIndicatorSpaing;
-    if (_indicatorViews.count > 0) {
-        [self setNeedsLayout];
-    }
-}
-
-- (void)setCurrentPageIndicatorSize:(CGSize)currentPageIndicatorSize {
-    if (CGSizeEqualToSize(_currentPageIndicatorSize, currentPageIndicatorSize)) {
-        return;
-    }
-    _currentPageIndicatorSize = currentPageIndicatorSize;
-    if (_indicatorViews.count > 0) {
-        [self setNeedsLayout];
-    }
-}
-
-- (void)setContentHorizontalAlignment:(UIControlContentHorizontalAlignment)contentHorizontalAlignment {
-    [super setContentHorizontalAlignment:contentHorizontalAlignment];
-    if (_indicatorViews.count > 0) {
-        [self setNeedsLayout];
-    }
-}
-
-- (void)setContentVerticalAlignment:(UIControlContentVerticalAlignment)contentVerticalAlignment {
-    [super setContentVerticalAlignment:contentVerticalAlignment];
-    if (_indicatorViews.count > 0) {
-        [self setNeedsLayout];
-    }
-}
-
-#pragma mark - update indicator
-
-- (void)updateIndicatorViews {
-    if (!self.superview && !_forceUpdate) {
-        return;
-    }
-    if (_indicatorViews.count == _numberOfPages) {
-        [self updateIndicatorViewsBehavior];
-        return;
-    }
-    NSMutableArray *indicatorViews = _indicatorViews ? [_indicatorViews mutableCopy] :[NSMutableArray array];
-    if (indicatorViews.count < _numberOfPages) {
-        for (NSInteger idx = indicatorViews.count; idx < _numberOfPages; ++idx) {
-            UIImageView *indicatorView = [[UIImageView alloc]init];
-            indicatorView.contentMode = _indicatorImageContentMode;
-            [self addSubview:indicatorView];
-            [indicatorViews addObject:indicatorView];
-        }
-    }else if (indicatorViews.count > _numberOfPages) {
-        for (NSInteger idx = indicatorViews.count - 1; idx >= _numberOfPages; --idx) {
-            UIImageView *indicatorView = indicatorViews[idx];
-            [indicatorView removeFromSuperview];
-            [indicatorViews removeObjectAtIndex:idx];
-        }
-    }
-    _indicatorViews = [indicatorViews copy];
-    [self updateIndicatorViewsBehavior];
-}
-
-- (void)updateIndicatorViewsBehavior {
-    if (_indicatorViews.count == 0 || (!self.superview && !_forceUpdate)) {
-        return;
-    }
-    if (_hidesForSinglePage && _indicatorViews.count == 1) {
-        UIImageView *indicatorView = _indicatorViews.lastObject;
-        indicatorView.hidden = YES;
-        return;
-    }
-    NSInteger index = 0;
-    for (UIImageView *indicatorView in _indicatorViews) {
-        if (_pageIndicatorImage) {
-            indicatorView.contentMode = _indicatorImageContentMode;
-            indicatorView.image = _currentPage == index ? _currentPageIndicatorImage : _pageIndicatorImage;
-        }else {
-            indicatorView.image = nil;
-            indicatorView.backgroundColor = _currentPage == index ? _currentPageIndicatorTintColor : _pageIndicatorTintColor;
-        }
-        indicatorView.hidden = NO;
-        ++index;
-    }
-}
-
-#pragma mark - layout
-
-- (void)layoutIndicatorViews {
-    if (_indicatorViews.count == 0) {
-        return;
-    }
-    CGFloat orignX = 0;
-    CGFloat centerY = 0;
-    CGFloat pageIndicatorSpaing = _pageIndicatorSpaing;
-    switch (self.contentHorizontalAlignment) {
-        case UIControlContentHorizontalAlignmentCenter:
-            // ignore contentInset
-            orignX = (CGRectGetWidth(self.frame) - (_indicatorViews.count - 1) * (_pageIndicatorSize.width + _pageIndicatorSpaing) - _currentPageIndicatorSize.width)/2;
-            break;
-        case UIControlContentHorizontalAlignmentLeft:
-            orignX = _contentInset.left;
-            break;
-        case UIControlContentHorizontalAlignmentRight:
-            orignX = CGRectGetWidth(self.frame) - ((_indicatorViews.count - 1) * (_pageIndicatorSize.width + _pageIndicatorSpaing) + _currentPageIndicatorSize.width) - _contentInset.right;
-            break;
-        case UIControlContentHorizontalAlignmentFill:
-            orignX = _contentInset.left;
-            if (_indicatorViews.count > 1) {
-                pageIndicatorSpaing = (CGRectGetWidth(self.frame) - _contentInset.left - _contentInset.right - _pageIndicatorSize.width - (_indicatorViews.count - 1) * _pageIndicatorSize.width)/(_indicatorViews.count - 1);
-            }
-            break;
-        default:
-            break;
-    }
-    switch (self.contentVerticalAlignment) {
-        case UIControlContentVerticalAlignmentCenter:
-            centerY = CGRectGetHeight(self.frame)/2;
-            break;
-        case UIControlContentVerticalAlignmentTop:
-            centerY = _contentInset.top + _currentPageIndicatorSize.height/2;
-            break;
-        case UIControlContentVerticalAlignmentBottom:
-            centerY = CGRectGetHeight(self.frame) - _currentPageIndicatorSize.height/2 - _contentInset.bottom;
-            break;
-        case UIControlContentVerticalAlignmentFill:
-            centerY = (CGRectGetHeight(self.frame) - _contentInset.top - _contentInset.bottom)/2 + _contentInset.top;
-            break;
-        default:
-            break;
-    }
-    NSInteger index = 0;
-    for (UIImageView *indicatorView in _indicatorViews) {
-        if (_pageIndicatorImage) {
-            indicatorView.layer.cornerRadius = 0;
-        }else {
-            indicatorView.layer.cornerRadius = _currentPage == index ? _currentPageIndicatorSize.height/2 : _pageIndicatorSize.height/2;
-        }
-        CGSize size = index == _currentPage ? _currentPageIndicatorSize : _pageIndicatorSize;
-        indicatorView.frame = CGRectMake(orignX, centerY - size.height/2, size.width, size.height);
-        orignX += size.width + pageIndicatorSpaing;
-        ++index;
-    }
-}
-
-- (void)layoutSubviews {
-    [super layoutSubviews];
-    [self layoutIndicatorViews];
-}
-
-@end

+ 5 - 6
KulexiuForStudent/KulexiuForStudent/Info.plist

@@ -61,12 +61,11 @@
 		<string>weixin</string>
 		<string>weixinULAPI</string>
 		<string>wechat</string>
-        <!--新浪微博 URL Scheme白名单-->
-        <string>sinaweibohd</string>
-        <string>sinaweibo</string>
-        <string>sinaweibosso</string>
-        <string>weibosdk</string>
-        <string>weibosdk2.5</string>
+		<string>sinaweibohd</string>
+		<string>sinaweibo</string>
+		<string>sinaweibosso</string>
+		<string>weibosdk</string>
+		<string>weibosdk2.5</string>
 	</array>
 	<key>NSAppTransportSecurity</key>
 	<dict>

+ 5 - 0
KulexiuForStudent/KulexiuForStudent/Module/Chat/Controller/KSChatConversationViewController.m

@@ -405,6 +405,11 @@
     }
 }
 
+- (void)willDisplayMessageCell:(RCMessageBaseCell *)cell atIndexPath:(NSIndexPath *)indexPath {
+    UIImageView *imageView = (UIImageView *)((RCMessageCell *)cell).portraitImageView;
+    imageView.contentMode = UIViewContentModeScaleAspectFill;
+    imageView.layer.masksToBounds = YES;
+}
 
 
 #pragma mark ----- chatSessionInputBarControl delegate

+ 24 - 7
KulexiuForStudent/KulexiuForStudent/Module/Chat/Controller/KSChatListViewController.m

@@ -175,13 +175,30 @@
     return @[deleteRowAction,upperRowAction];
 }
 
-//- (RCConversationBaseCell *)rcConversationListTableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
-//    RCConversationModel *model = self.conversationListDataSource[indexPath.row];
-//    if (model.conversationType == ConversationType_GROUP) {
-//        
-//    }
-//    return nil;
-//}
+- (void)willDisplayConversationTableCell:(RCConversationBaseCell *)cell atIndexPath:(NSIndexPath *)indexPath {
+    UIImageView *imageView = (UIImageView *)((RCConversationCell *)cell).headerImageView;
+    UIView *tagView = (UIView *)((RCConversationCell *)cell).conversationTagView;
+    imageView.contentMode = UIViewContentModeScaleAspectFill;
+    imageView.layer.masksToBounds = YES;
+    
+    RCConversationModel *model = self.conversationListDataSource[indexPath.row];
+    if (model.conversationType == ConversationType_GROUP) {
+        if ([model.targetId containsString:@"FAN"]) { // 粉丝群
+            [imageView setImage:[UIImage imageNamed:@"chat_fansGroup_logo"]];
+            UIImageView *tagImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"groupType_fans"]];
+            [tagView removeAllSubViews];
+            [tagView addSubview:tagImage];
+            tagImage.frame = CGRectMake(0, 2, 45, 17);
+        }
+        else if ([model.targetId containsString:@"COURSE"]) { // 课程群
+            [imageView setImage:[UIImage imageNamed:@"chat_group_Logo"]];
+            UIImageView *tagImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"groupType_course"]];
+            [tagView removeAllSubViews];
+            [tagView addSubview:tagImage];
+            tagImage.frame = CGRectMake(0, 2, 45, 17);
+        }
+    }
+}
 
 - (UIView *)stateView {
     if (!_stateView) {

+ 27 - 9
KulexiuForStudent/KulexiuForStudent/Module/Chat/Group/Controller/GroupSettingViewController.m

@@ -15,7 +15,7 @@
 #import "GroupMemberViewController.h"
 #import "GroupNoticeViewController.h"
 #import "GroupApplyViewController.h"
-
+#import "KSNormalAlertView.h"
 
 @interface GroupSettingViewController ()
 
@@ -39,7 +39,7 @@
 }
 
 - (void)configUI {
-    [self rightButton:[UIImage imageNamed:@"nav_share_image"]];
+
     self.scrollView.frame = CGRectMake(0, 0, kScreenWidth, kScreenHeight - kNaviBarHeight - iPhoneXSafeBottomMargin);
     self.bodyView = [GroupSettingBodyView shareInstance];
     CGFloat height = kScreenHeight - kNaviBarHeight - iPhoneXSafeBottomMargin > 700 ? kScreenHeight - kNaviBarHeight - iPhoneXSafeBottomMargin : 700;
@@ -49,9 +49,7 @@
     [self.scrollView setContentSize:CGSizeMake(kScreenWidth, height)];
 }
 
-- (void)rightBtnClick {
-    // 分享
-}
+
 
 - (void)viewWillAppear:(BOOL)animated {
     [super viewWillAppear:animated];
@@ -147,9 +145,7 @@
             break;
         case GROUPSETTING_APPLY: // 入群申请列表
         {
-//            GroupApplyViewController *applyCtrl = [[GroupApplyViewController alloc] init];
-//            applyCtrl.groupId = self.groupId;
-//            [self.navigationController pushViewController:applyCtrl animated:YES];
+
         }
             break;
         case GROUPSETTING_GROUP: // 修改群名称
@@ -197,7 +193,29 @@
 }
 
 - (void)dismissGroup {
-    
+    MJWeakSelf;
+    [KSNormalAlertView ks_showAlertWithTitle:@"确认退出群组吗?" leftTitle:@"取消" rightTitle:@"确定" cancel:^{
+        
+    } confirm:^{
+        [weakSelf quitGroup];
+    }];
+}
+
+- (void)quitGroup {
+    [self showhud];
+    [KSNetworkingManager quitImGroupRequest:KS_POST groupId:self.groupId success:^(NSDictionary * _Nonnull dic) {
+        if ([dic integerValueForKey:@"code"] == 200 && [dic boolValueForKey:@"status"]) {
+            MJWeakSelf;
+            [self KSShowMsg:@"退出成功" promptCompletion:^{
+                [weakSelf.navigationController popToRootViewControllerAnimated:YES];
+            }];
+        }
+        else {
+            [self MBPShow:MESSAGEKEY];
+        }
+    } faliure:^(NSError * _Nonnull error) {
+        
+    }];
 }
 
 

+ 1 - 0
KulexiuForStudent/KulexiuForStudent/Module/Course/View/MusicRoomCourseCell.xib

@@ -146,6 +146,7 @@
                             <constraint firstItem="UxS-Xs-zTk" firstAttribute="leading" secondItem="VjP-WA-4SG" secondAttribute="trailing" constant="6" id="Ct9-78-SuQ"/>
                             <constraint firstAttribute="trailing" secondItem="89l-Qb-VVR" secondAttribute="trailing" constant="10" id="J29-HZ-el6"/>
                             <constraint firstAttribute="trailing" secondItem="t3h-kH-4md" secondAttribute="trailing" constant="10" id="Mvo-kN-6G0"/>
+                            <constraint firstItem="Vxw-2k-cqR" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="l2B-EY-GWY" secondAttribute="trailing" constant="10" id="PSq-3m-yXX"/>
                             <constraint firstItem="t3h-kH-4md" firstAttribute="top" secondItem="Wl9-sn-VK0" secondAttribute="top" id="UrD-2D-HXJ"/>
                             <constraint firstItem="Dys-CR-rsC" firstAttribute="leading" secondItem="l2B-EY-GWY" secondAttribute="leading" id="h8r-WE-IEp"/>
                             <constraint firstItem="t3h-kH-4md" firstAttribute="leading" secondItem="UxS-Xs-zTk" secondAttribute="trailing" constant="10" id="jRb-6e-UMI"/>

+ 53 - 22
KulexiuForStudent/KulexiuForStudent/Module/Home/Controller/HomeViewController.m

@@ -398,9 +398,9 @@
 
 - (void)requestCourseInfo {
     
-    [self showhud];
+//    [self showhud];
     [KSNetworkingManager homeQueryLiveAndVideo:KS_GET success:^(NSDictionary * _Nonnull dic) {
-        [self removehub];
+//        [self removehub];
         [self.tableView.mj_header endRefreshing];
         if ([dic integerValueForKey:@"code"] == 200 && [dic boolValueForKey:@"status"]) {
             NSDictionary *sourceDic = [dic dictionaryValueForKey:@"data"];
@@ -639,7 +639,7 @@
 
 - (TYCyclePagerViewLayout *)layoutForPagerView:(TYCyclePagerView *)pageView {
     TYCyclePagerViewLayout *layout = [[TYCyclePagerViewLayout alloc]init];
-    layout.itemSize = CGSizeMake(CGRectGetWidth(pageView.frame), CGRectGetHeight(pageView.frame));
+    layout.itemSize = CGSizeMake(kScreenWidth - 28, (kScreenWidth - 28) / 347 * 132);
     layout.itemSpacing = 0;
     return layout;
     
@@ -909,7 +909,7 @@
 - (UICollectionView *)albumCollectionView {
     if (!_albumCollectionView) {
         UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
-        layout.sectionInset = UIEdgeInsetsMake(12, 14, 12, 14);
+//        layout.sectionInset = UIEdgeInsetsMake(12, 14, 12, 14);
         layout.scrollDirection = UICollectionViewScrollDirectionHorizontal;
         _albumCollectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout];
         _albumCollectionView.backgroundColor = [UIColor clearColor];
@@ -917,6 +917,16 @@
         _albumCollectionView.dataSource = self;
         _albumCollectionView.showsVerticalScrollIndicator = NO;
         _albumCollectionView.showsHorizontalScrollIndicator = NO;
+        if (@available(iOS 11.0, *)) {
+            _albumCollectionView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
+        } else {
+            // Fallback on earlier versions
+            if (@available(iOS 13.0, *)) {
+                _albumCollectionView.automaticallyAdjustsScrollIndicatorInsets = NO;
+            } else {
+                // Fallback on earlier versions
+            }
+        }
         [_albumCollectionView registerNib:[UINib nibWithNibName:@"HomeHotAlbumCell" bundle:[NSBundle mainBundle]] forCellWithReuseIdentifier:@"HomeHotAlbumCell"];
     }
     return _albumCollectionView;
@@ -1012,8 +1022,8 @@
         [_teacherView.teacherContainer addSubview:self.infoCollectionView];
         [self.infoCollectionView mas_makeConstraints:^(MASConstraintMaker *make) {
             make.bottom.top.mas_equalTo(_teacherView.teacherContainer);
-            make.left.mas_equalTo(_teacherView.mas_left).offset(14);
-            make.right.mas_equalTo(_teacherView.mas_right).offset(-14);
+            make.left.mas_equalTo(_teacherView.teacherContainer.mas_left).offset(14);
+            make.right.mas_equalTo(_teacherView.teacherContainer.mas_right).offset(-14);
         }];
     }
     return _teacherView;
@@ -1037,6 +1047,16 @@
         _infoCollectionView.showsVerticalScrollIndicator = NO;
         _infoCollectionView.showsHorizontalScrollIndicator = NO;
         [_infoCollectionView registerNib:[UINib nibWithNibName:@"TeacherShowCell" bundle:[NSBundle mainBundle]] forCellWithReuseIdentifier:@"TeacherShowCell"];
+        if (@available(iOS 11.0, *)) {
+            _infoCollectionView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
+        } else {
+            // Fallback on earlier versions
+            if (@available(iOS 13.0, *)) {
+                _infoCollectionView.automaticallyAdjustsScrollIndicatorInsets = NO;
+            } else {
+                // Fallback on earlier versions
+            }
+        }
     }
     return _infoCollectionView;
 }
@@ -1091,6 +1111,16 @@
         _bannerScroll.dataSource = self;
         _bannerScroll.delegate = self;
         [_bannerScroll registerNib:[UINib nibWithNibName:@"HomeBannerCell" bundle:nil] forCellWithReuseIdentifier:@"HomeBannerCell"];
+        if (@available(iOS 11.0, *)) {
+            _bannerScroll.collectionView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
+        } else {
+            // Fallback on earlier versions
+            if (@available(iOS 13.0, *)) {
+                _bannerScroll.collectionView.automaticallyAdjustsScrollIndicatorInsets = NO;
+            } else {
+                // Fallback on earlier versions
+            }
+        }
     }
     return _bannerScroll;
 }
@@ -1232,22 +1262,22 @@
 
 - (void)showNewsWithSource:(HomeMessageModel *)sourceModel {
     // 登录之后才弹窗
-//    if ([self checkIsLoginToLoginView:NO]) {
-//        NSString *useId = UserDefault(UIDKey);
-//        NSMutableArray *newArray = UserDefault(useId);
-//        if (newArray.count) {
-//            if ([newArray containsObject:sourceModel.coverImage]) {
-//                return;
-//            }
-//            else {
-//                [self displayAlert:sourceModel];
-//            }
-//        }
-//        else {
-//            [self displayAlert:sourceModel];
-//        }
-//    }
-    [self displayAlert:sourceModel];
+    if ([self checkIsLoginToLoginView:NO]) {
+        NSString *useId = UserDefault(UIDKey);
+        NSMutableArray *newArray = UserDefault(useId);
+        if (newArray.count) {
+            if ([newArray containsObject:sourceModel.coverImage]) {
+                return;
+            }
+            else {
+                [self displayAlert:sourceModel];
+            }
+        }
+        else {
+            [self displayAlert:sourceModel];
+        }
+    }
+//    [self displayAlert:sourceModel];
 }
 
 - (void)displayAlert:(HomeMessageModel *)sourceModel {
@@ -1276,6 +1306,7 @@
     [newAlert showAlert];
     appDelegate.isShowFlashAlert = YES;
 }
+
 /*
 #pragma mark - Navigation
 

+ 1 - 1
KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeCourseTipsView.xib

@@ -38,7 +38,7 @@
                         <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="homeCourse_notice" translatesAutoresizingMaskIntoConstraints="NO" id="XLv-21-YKG">
                             <rect key="frame" x="43" y="33" width="20" height="21"/>
                         </imageView>
-                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="竖笛直播课即将开始" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="aJw-9X-t4v">
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="竖笛直播课即将开始" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="aJw-9X-t4v">
                             <rect key="frame" x="70" y="11" width="199" height="17"/>
                             <fontDescription key="fontDescription" type="system" pointSize="14"/>
                             <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>

+ 1 - 1
KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeHotAlbumView.m

@@ -34,7 +34,7 @@
 
 
 + (CGFloat)getViewHeight {
-    return 190.0f;
+    return 200.0f;
 }
 
 /*

+ 2 - 2
KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeHotAlbumView.xib

@@ -32,10 +32,10 @@
                     <rect key="frame" x="384" y="16" width="10" height="10"/>
                 </imageView>
                 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="bvf-n0-Khb">
-                    <rect key="frame" x="0.0" y="46" width="414" height="130"/>
+                    <rect key="frame" x="0.0" y="46" width="414" height="140"/>
                     <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                     <constraints>
-                        <constraint firstAttribute="height" constant="130" id="hLT-Oy-zVJ"/>
+                        <constraint firstAttribute="height" constant="140" id="hLT-Oy-zVJ"/>
                     </constraints>
                 </view>
                 <button opaque="NO" tag="1008" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="kIU-g4-ctC">

+ 1 - 1
KulexiuForStudent/KulexiuForStudent/Module/Login/Controller/LoginViewController.m

@@ -49,7 +49,7 @@
     switch (action) {
         case LOGINACTION_CODE:
         {
-            if (![NSString isMobileNum:phone]) {
+            if (![NSString isMobilePhoneNumber:phone]) {
                 [self MBPShow:@"手机号码输入有误"];
                 return;
             }

+ 6 - 1
KulexiuForStudent/KulexiuForStudent/Module/Login/Model/UserInfoManager.m

@@ -113,11 +113,16 @@
             if ([NSString isEmptyString:rongToken]) {
                 needConnect = YES;
             }
-//            UserDefaultSet(@"Qqz6kl3pecjzcvo84ydpAeLXAKtgWDud@q4s7.cn.rongnav.com;q4s7.cn.rongcfg.com", RongTokenKey);
+
             UserDefaultSet(self.userInfo.imToken, RongTokenKey);
             UserDefaultSet(self.userInfo.username, NicknameKey);
             UserDefaultSet(self.userInfo.avatar, AvatarUrlKey);
             [[NSUserDefaults standardUserDefaults] synchronize];
+            
+            RCUserInfo *currentUserInfo =
+            [[RCUserInfo alloc] initWithUserId:UserDefault(UIDKey) name:UserDefault(NicknameKey) portrait:UserDefault(AvatarUrlKey)];
+            [RCIM sharedRCIM].currentUserInfo = currentUserInfo;
+            
             if (connectRM) {
                 // 设置推送别名
                 [JPUSHService setAlias:UserDefault(UIDKey) completion:nil seq:0];

+ 1 - 1
KulexiuForStudent/KulexiuForStudent/Module/Mine/AddressList/Controller/AddressDetailViewController.m

@@ -123,7 +123,7 @@
         return;
     }
     
-    if (![NSString isMobileNum:phoneNo]) {
+    if (![NSString isMobilePhoneNumber:phoneNo]) {
         [self MBPShow:@"手机号码输入有误"];
         return;
     }

+ 28 - 10
KulexiuForStudent/KulexiuForStudent/Module/Mine/Controller/MineViewController.m

@@ -49,34 +49,45 @@
     self.scrollView.backgroundColor = [UIColor clearColor];
     
     [self.view addSubview:self.navView];
-    CGFloat navHeight = CGRectGetHeight(self.navView.frame);
+
     [self.view bringSubviewToFront:self.scrollView];
+    [self.view bringSubviewToFront:self.navView];
+    [self.navView mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.left.right.top.mas_equalTo(self.view);
+        make.height.mas_equalTo(kNaviBarHeight);
+    }];
+    
     [self.scrollView mas_remakeConstraints:^(MASConstraintMaker *make) {
-        make.top.mas_equalTo(self.view.mas_top).offset(navHeight);
+        make.top.mas_equalTo(self.view.mas_top);
         make.left.right.mas_equalTo(self.view);
         make.bottom.mas_equalTo(self.view.mas_bottom);
     }];
     
+    UIView *headView = [[UIView alloc] init];
+    headView.backgroundColor = [UIColor clearColor];
+    [self.scrollView addSubview:headView];
+    [headView mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.top.mas_equalTo(self.scrollView.mas_top);
+        make.left.right.mas_equalTo(self.view);
+        make.height.mas_equalTo(kNaviBarHeight);
+    }];
+    
     // bodyView;
     _bodyView = [MineBodyView shareInstance];
     [self.scrollView addSubview:_bodyView];
     CGFloat contentMinHeight = [_bodyView getViewHeight];
-    CGFloat contentHeight = kScreenHeight - kTabBarHeight - navHeight;
+    CGFloat contentHeight = kScreenHeight - kTabBarHeight - kNaviBarHeight;
     CGFloat viewHeight = contentMinHeight > contentHeight ? contentMinHeight : contentHeight;
     [_bodyView mas_makeConstraints:^(MASConstraintMaker *make) {
-        make.top.mas_equalTo(self.scrollView.mas_top);
+        make.top.mas_equalTo(headView.mas_bottom);
         make.left.right.mas_equalTo(self.view);
-        make.height.mas_equalTo(viewHeight);
+        make.height.mas_equalTo(viewHeight);    
+        make.bottom.mas_equalTo(self.scrollView.mas_bottom);
     }];
     MJWeakSelf;
     [_bodyView operationCallback:^(MINEVIEWTYPE type) {
         [weakSelf operationAction:type];
     }];
-    
-    [self.scrollView setContentSize:CGSizeMake(kScreenWidth, viewHeight)];
-    if (viewHeight + navHeight > kScreenHeight - kNaviBarHeight) {
-        self.scrollView.scrollEnabled = YES;
-    }
 }
 
 - (void)viewWillAppear:(BOOL)animated {
@@ -144,6 +155,13 @@
             [self.navigationController pushViewController:ctrl animated:YES];
         }
             break;
+        case MINEVIEWTYPE_ORDER:
+        {
+            KSBaseWKWebViewController *ctrl = [[KSBaseWKWebViewController alloc] init];
+            ctrl.url = [NSString stringWithFormat:@"%@%@",WEBHOST,@"/#/goodsOrder"];
+            [self.navigationController pushViewController:ctrl animated:YES];
+        }
+            break;
         case MINEVIEWTYPE_DEAL:
         {
             KSBaseWKWebViewController *ctrl = [[KSBaseWKWebViewController alloc] init];

+ 1 - 1
KulexiuForStudent/KulexiuForStudent/Module/Mine/Setting/Controller/ModifyPhoneChangeController.m

@@ -48,7 +48,7 @@
 }
 
 - (void)operationWithAction:(CHANGEACTION)action parm:(NSDictionary *)parm {
-    if (![NSString isMobileNum:[parm stringValueForKey:@"phone"]]) {
+    if (![NSString isMobilePhoneNumber:[parm stringValueForKey:@"phone"]]) {
         [self MBPShow:@"手机号码输入有误"];
         return;
     }

+ 1 - 1
KulexiuForStudent/KulexiuForStudent/Module/Mine/Setting/Controller/ModifyPhoneCheckController.m

@@ -41,7 +41,7 @@
 }
 
 - (void)checkWithPhone:(NSString *)phoneNo password:(NSString *)password {
-    if (![NSString isMobileNum:phoneNo]) {
+    if (![NSString isMobilePhoneNumber:phoneNo]) {
         [self MBPShow:@"手机号码输入有误"];
         return;
     }

+ 12 - 0
KulexiuForStudent/KulexiuForStudent/Module/Mine/View/MineBodyView.m

@@ -9,6 +9,10 @@
 
 @interface MineBodyView ()
 
+@property (weak, nonatomic) IBOutlet UIView *subjectView;
+
+@property (weak, nonatomic) IBOutlet UILabel *subjectLabel;
+
 @property (nonatomic, assign) BOOL isMember;
 
 @property (weak, nonatomic) IBOutlet UIView *memberView;
@@ -65,6 +69,14 @@
     self.userIdLabel.text = [NSString stringWithFormat:@"学号:%@",sourceModel.userId];
     self.memberCountLabel.text = [NSString stringWithFormat:@"会员有效期剩余%.0f天",sourceModel.membershipDays];
     [self.userAvatar sd_setImageWithURL:[NSURL URLWithString:[sourceModel.heardUrl getUrlEndcodeString]] placeholderImage:[UIImage imageNamed:USERDEFAULT_LOGO]];
+    if ([NSString isEmptyString:sourceModel.subjectName]) {
+        self.subjectLabel.text = @"";
+        self.subjectView.hidden = YES;
+    }
+    else {
+        self.subjectLabel.text = sourceModel.subjectName;
+        self.subjectView.hidden = NO;
+    }
 }
 
 - (IBAction)toMemberDetail:(id)sender {

+ 34 - 2
KulexiuForStudent/KulexiuForStudent/Module/Mine/View/MineBodyView.xib

@@ -224,13 +224,16 @@
                             </userDefinedRuntimeAttributes>
                         </imageView>
                         <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Kmw-KD-cZO">
-                            <rect key="frame" x="77" y="20" width="0.0" height="0.0"/>
+                            <rect key="frame" x="77" y="20" width="0.0" height="25"/>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="25" id="omD-Me-taX"/>
+                            </constraints>
                             <fontDescription key="fontDescription" type="system" weight="medium" pointSize="18"/>
                             <color key="textColor" red="0.1019607843" green="0.1019607843" blue="0.1019607843" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                             <nil key="highlightedColor"/>
                         </label>
                         <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="XdJ-kZ-3mN">
-                            <rect key="frame" x="77" y="22" width="65" height="20"/>
+                            <rect key="frame" x="77" y="47" width="65" height="20"/>
                             <subviews>
                                 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="mine_uid" translatesAutoresizingMaskIntoConstraints="NO" id="6Jm-Hh-zwj">
                                     <rect key="frame" x="6" y="4" width="13" height="12"/>
@@ -268,20 +271,47 @@
                                 <action selector="modifyUser:" destination="iN0-l3-epB" eventType="touchUpInside" id="Lba-uL-3dV"/>
                             </connections>
                         </button>
+                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="NZg-rk-TQZ">
+                            <rect key="frame" x="92" y="22.5" width="44" height="20"/>
+                            <subviews>
+                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="单簧管" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dTC-4P-d18">
+                                    <rect key="frame" x="5" y="0.0" width="34" height="20"/>
+                                    <fontDescription key="fontDescription" type="system" pointSize="11"/>
+                                    <color key="textColor" red="1" green="0.54901960780000003" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
+                                    <nil key="highlightedColor"/>
+                                </label>
+                            </subviews>
+                            <color key="backgroundColor" red="1" green="0.94509803920000002" blue="0.87058823529999996" alpha="1" colorSpace="calibratedRGB"/>
+                            <constraints>
+                                <constraint firstAttribute="trailing" secondItem="dTC-4P-d18" secondAttribute="trailing" constant="5" id="7BR-Fq-1sG"/>
+                                <constraint firstAttribute="bottom" secondItem="dTC-4P-d18" secondAttribute="bottom" id="JZj-6X-SXc"/>
+                                <constraint firstItem="dTC-4P-d18" firstAttribute="top" secondItem="NZg-rk-TQZ" secondAttribute="top" id="eTs-D3-W6M"/>
+                                <constraint firstAttribute="height" constant="20" id="ob5-ef-4EV"/>
+                                <constraint firstItem="dTC-4P-d18" firstAttribute="leading" secondItem="NZg-rk-TQZ" secondAttribute="leading" constant="5" id="pdr-Y4-JgO"/>
+                            </constraints>
+                            <userDefinedRuntimeAttributes>
+                                <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                    <real key="value" value="4"/>
+                                </userDefinedRuntimeAttribute>
+                            </userDefinedRuntimeAttributes>
+                        </view>
                     </subviews>
                     <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                     <gestureRecognizers/>
                     <constraints>
                         <constraint firstAttribute="height" constant="80" id="2dr-3Z-HqW"/>
+                        <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="NZg-rk-TQZ" secondAttribute="trailing" constant="15" id="972-Mf-qSt"/>
                         <constraint firstItem="QuV-vC-ohV" firstAttribute="top" secondItem="0Xj-Pq-GsW" secondAttribute="top" id="Cx3-Ob-Pvf"/>
                         <constraint firstItem="QuV-vC-ohV" firstAttribute="trailing" secondItem="0Xj-Pq-GsW" secondAttribute="trailing" id="Jty-Vm-XW6"/>
                         <constraint firstItem="0Xj-Pq-GsW" firstAttribute="centerY" secondItem="4LF-Bt-r8c" secondAttribute="centerY" id="Yw6-be-zX3"/>
                         <constraint firstItem="XdJ-kZ-3mN" firstAttribute="leading" secondItem="Kmw-KD-cZO" secondAttribute="leading" id="ceh-hj-UL9"/>
                         <constraint firstItem="XdJ-kZ-3mN" firstAttribute="top" secondItem="Kmw-KD-cZO" secondAttribute="bottom" constant="2" id="gCX-lG-K5I"/>
+                        <constraint firstItem="NZg-rk-TQZ" firstAttribute="leading" secondItem="Kmw-KD-cZO" secondAttribute="trailing" constant="15" id="gUf-SM-Slt"/>
                         <constraint firstItem="0Xj-Pq-GsW" firstAttribute="leading" secondItem="4LF-Bt-r8c" secondAttribute="leading" constant="15" id="k2E-Es-dn5"/>
                         <constraint firstItem="QuV-vC-ohV" firstAttribute="leading" secondItem="0Xj-Pq-GsW" secondAttribute="leading" id="nFf-FN-iJC"/>
                         <constraint firstItem="Kmw-KD-cZO" firstAttribute="top" secondItem="0Xj-Pq-GsW" secondAttribute="top" constant="6" id="u1P-VW-Xnq"/>
                         <constraint firstItem="QuV-vC-ohV" firstAttribute="bottom" secondItem="0Xj-Pq-GsW" secondAttribute="bottom" id="vlN-Yl-FtS"/>
+                        <constraint firstItem="NZg-rk-TQZ" firstAttribute="centerY" secondItem="Kmw-KD-cZO" secondAttribute="centerY" id="w4w-fb-pul"/>
                         <constraint firstItem="Kmw-KD-cZO" firstAttribute="leading" secondItem="0Xj-Pq-GsW" secondAttribute="trailing" constant="10" id="yjn-h2-WmO"/>
                     </constraints>
                 </view>
@@ -690,6 +720,8 @@
                 <outlet property="memberView" destination="Z2G-Np-QOj" id="NaQ-ff-30V"/>
                 <outlet property="memberViewHeight" destination="SKi-Qq-ImA" id="Uoi-Sz-DTf"/>
                 <outlet property="residueCourseLabel" destination="kXq-zC-0rd" id="48S-nZ-xUu"/>
+                <outlet property="subjectLabel" destination="dTC-4P-d18" id="im6-MY-idV"/>
+                <outlet property="subjectView" destination="NZg-rk-TQZ" id="Fzo-ku-gVU"/>
                 <outlet property="userAvatar" destination="0Xj-Pq-GsW" id="HFE-tF-Mjw"/>
                 <outlet property="userIdLabel" destination="yim-3c-rJe" id="SSw-wm-kIL"/>
                 <outlet property="userName" destination="Kmw-KD-cZO" id="gtt-8o-BML"/>

+ 0 - 1
KulexiuForStudent/KulexiuForStudent/Module/Mine/View/MineNavView.m

@@ -21,7 +21,6 @@
 
 + (instancetype)shareInstance {
     MineNavView *view = [[[NSBundle mainBundle] loadNibNamed:@"MineNavView" owner:nil options:nil] firstObject];
-    view.frame = CGRectMake(0, 0, kScreenWidth, kNaviBarHeight);
     return view;
 }
 

+ 1 - 0
KulexiuForStudent/Podfile

@@ -25,6 +25,7 @@ target 'KulexiuForStudent' do
   pod 'RSKImageCropper'
   pod 'ZKCycleScrollView'
   pod 'CHIPageControl'
+  pod 'TYCyclePagerView'
 #  友盟
 #  pod 'UMCommon'
 #  pod 'UMDevice'

+ 5 - 1
KulexiuForStudent/Podfile.lock

@@ -77,6 +77,7 @@ PODS:
   - SDWebImage/Core (5.12.5)
   - SocketRocket (0.6.0)
   - SSZipArchive (2.4.3)
+  - TYCyclePagerView (1.2.0)
   - Whiteboard (2.16.0):
     - Whiteboard/Base (= 2.16.0)
     - Whiteboard/Converter (= 2.16.0)
@@ -128,6 +129,7 @@ DEPENDENCIES:
   - SDWebImage (~> 5.12.5)
   - SocketRocket
   - SSZipArchive
+  - TYCyclePagerView
   - Whiteboard
   - ZKCycleScrollView
 
@@ -156,6 +158,7 @@ SPEC REPOS:
     - SDWebImage
     - SocketRocket
     - SSZipArchive
+    - TYCyclePagerView
     - Whiteboard
     - YYModel
     - ZKCycleScrollView
@@ -184,10 +187,11 @@ SPEC CHECKSUMS:
   SDWebImage: 0905f1b7760fc8ac4198cae0036600d67478751e
   SocketRocket: fccef3f9c5cedea1353a9ef6ada904fde10d6608
   SSZipArchive: fe6a26b2a54d5a0890f2567b5cc6de5caa600aef
+  TYCyclePagerView: 2b051dade0615c70784aa34f40c646feeddb7344
   Whiteboard: 16568e7e14f7f451d2aad2536f5fab9c06119934
   YYModel: 2a7fdd96aaa4b86a824e26d0c517de8928c04b30
   ZKCycleScrollView: 4b353d17b7f469b245a1c606d5a977e72b940895
 
-PODFILE CHECKSUM: 8b403ffc767e011eac49a5546c5051202b87c7d7
+PODFILE CHECKSUM: 28f510ae92245be7584827cb59d802d1b134773b
 
 COCOAPODS: 1.11.3

+ 5 - 1
KulexiuForStudent/Pods/Manifest.lock

@@ -77,6 +77,7 @@ PODS:
   - SDWebImage/Core (5.12.5)
   - SocketRocket (0.6.0)
   - SSZipArchive (2.4.3)
+  - TYCyclePagerView (1.2.0)
   - Whiteboard (2.16.0):
     - Whiteboard/Base (= 2.16.0)
     - Whiteboard/Converter (= 2.16.0)
@@ -128,6 +129,7 @@ DEPENDENCIES:
   - SDWebImage (~> 5.12.5)
   - SocketRocket
   - SSZipArchive
+  - TYCyclePagerView
   - Whiteboard
   - ZKCycleScrollView
 
@@ -156,6 +158,7 @@ SPEC REPOS:
     - SDWebImage
     - SocketRocket
     - SSZipArchive
+    - TYCyclePagerView
     - Whiteboard
     - YYModel
     - ZKCycleScrollView
@@ -184,10 +187,11 @@ SPEC CHECKSUMS:
   SDWebImage: 0905f1b7760fc8ac4198cae0036600d67478751e
   SocketRocket: fccef3f9c5cedea1353a9ef6ada904fde10d6608
   SSZipArchive: fe6a26b2a54d5a0890f2567b5cc6de5caa600aef
+  TYCyclePagerView: 2b051dade0615c70784aa34f40c646feeddb7344
   Whiteboard: 16568e7e14f7f451d2aad2536f5fab9c06119934
   YYModel: 2a7fdd96aaa4b86a824e26d0c517de8928c04b30
   ZKCycleScrollView: 4b353d17b7f469b245a1c606d5a977e72b940895
 
-PODFILE CHECKSUM: 8b403ffc767e011eac49a5546c5051202b87c7d7
+PODFILE CHECKSUM: 28f510ae92245be7584827cb59d802d1b134773b
 
 COCOAPODS: 1.11.3

File diff suppressed because it is too large
+ 2269 - 2232
KulexiuForStudent/Pods/Pods.xcodeproj/project.pbxproj


+ 11 - 4
KulexiuForStudent/Pods/Pods.xcodeproj/xcuserdata/wangzhi.xcuserdatad/xcschemes/xcschememanagement.plist

@@ -165,33 +165,40 @@
 			<key>orderHint</key>
 			<integer>24</integer>
 		</dict>
+		<key>TYCyclePagerView.xcscheme</key>
+		<dict>
+			<key>isShown</key>
+			<false/>
+			<key>orderHint</key>
+			<integer>26</integer>
+		</dict>
 		<key>Whiteboard-Whiteboard.xcscheme</key>
 		<dict>
 			<key>isShown</key>
 			<false/>
 			<key>orderHint</key>
-			<integer>27</integer>
+			<integer>28</integer>
 		</dict>
 		<key>Whiteboard.xcscheme</key>
 		<dict>
 			<key>isShown</key>
 			<false/>
 			<key>orderHint</key>
-			<integer>26</integer>
+			<integer>27</integer>
 		</dict>
 		<key>YYModel.xcscheme</key>
 		<dict>
 			<key>isShown</key>
 			<false/>
 			<key>orderHint</key>
-			<integer>28</integer>
+			<integer>29</integer>
 		</dict>
 		<key>ZKCycleScrollView.xcscheme</key>
 		<dict>
 			<key>isShown</key>
 			<false/>
 			<key>orderHint</key>
-			<integer>29</integer>
+			<integer>30</integer>
 		</dict>
 		<key>dsBridge.xcscheme</key>
 		<dict>

+ 25 - 0
KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudent-KulexiuForStudentUITests/Pods-KulexiuForStudent-KulexiuForStudentUITests-acknowledgements.markdown

@@ -377,6 +377,31 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+## TYCyclePagerView
+
+MIT License
+
+Copyright (c) 2017 yeBlueColor
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+
 ## Whiteboard
 
 Copyright (c) 2018 leavesster <a412739861@qq.com>

+ 31 - 0
KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudent-KulexiuForStudentUITests/Pods-KulexiuForStudent-KulexiuForStudentUITests-acknowledgements.plist

@@ -510,6 +510,37 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</string>
 		</dict>
 		<dict>
 			<key>FooterText</key>
+			<string>MIT License
+
+Copyright (c) 2017 yeBlueColor
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+</string>
+			<key>License</key>
+			<string>MIT</string>
+			<key>Title</key>
+			<string>TYCyclePagerView</string>
+			<key>Type</key>
+			<string>PSGroupSpecifier</string>
+		</dict>
+		<dict>
+			<key>FooterText</key>
 			<string>Copyright (c) 2018 leavesster &lt;a412739861@qq.com&gt;
 
 Permission is hereby granted, free of charge, to any person obtaining a copy

+ 1 - 0
KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudent-KulexiuForStudentUITests/Pods-KulexiuForStudent-KulexiuForStudentUITests-frameworks-Debug-input-files.xcfilelist

@@ -13,6 +13,7 @@ ${BUILT_PRODUCTS_DIR}/Reachability/Reachability.framework
 ${BUILT_PRODUCTS_DIR}/SDWebImage/SDWebImage.framework
 ${BUILT_PRODUCTS_DIR}/SSZipArchive/SSZipArchive.framework
 ${BUILT_PRODUCTS_DIR}/SocketRocket/SocketRocket.framework
+${BUILT_PRODUCTS_DIR}/TYCyclePagerView/TYCyclePagerView.framework
 ${BUILT_PRODUCTS_DIR}/Whiteboard/Whiteboard.framework
 ${BUILT_PRODUCTS_DIR}/YYModel/YYModel.framework
 ${BUILT_PRODUCTS_DIR}/ZKCycleScrollView/ZKCycleScrollView.framework

+ 1 - 0
KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudent-KulexiuForStudentUITests/Pods-KulexiuForStudent-KulexiuForStudentUITests-frameworks-Debug-output-files.xcfilelist

@@ -12,6 +12,7 @@ ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Reachability.framework
 ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImage.framework
 ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SSZipArchive.framework
 ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SocketRocket.framework
+${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/TYCyclePagerView.framework
 ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Whiteboard.framework
 ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/YYModel.framework
 ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ZKCycleScrollView.framework

+ 1 - 0
KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudent-KulexiuForStudentUITests/Pods-KulexiuForStudent-KulexiuForStudentUITests-frameworks-Release-input-files.xcfilelist

@@ -13,6 +13,7 @@ ${BUILT_PRODUCTS_DIR}/Reachability/Reachability.framework
 ${BUILT_PRODUCTS_DIR}/SDWebImage/SDWebImage.framework
 ${BUILT_PRODUCTS_DIR}/SSZipArchive/SSZipArchive.framework
 ${BUILT_PRODUCTS_DIR}/SocketRocket/SocketRocket.framework
+${BUILT_PRODUCTS_DIR}/TYCyclePagerView/TYCyclePagerView.framework
 ${BUILT_PRODUCTS_DIR}/Whiteboard/Whiteboard.framework
 ${BUILT_PRODUCTS_DIR}/YYModel/YYModel.framework
 ${BUILT_PRODUCTS_DIR}/ZKCycleScrollView/ZKCycleScrollView.framework

+ 1 - 0
KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudent-KulexiuForStudentUITests/Pods-KulexiuForStudent-KulexiuForStudentUITests-frameworks-Release-output-files.xcfilelist

@@ -12,6 +12,7 @@ ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Reachability.framework
 ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImage.framework
 ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SSZipArchive.framework
 ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SocketRocket.framework
+${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/TYCyclePagerView.framework
 ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Whiteboard.framework
 ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/YYModel.framework
 ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ZKCycleScrollView.framework

+ 2 - 0
KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudent-KulexiuForStudentUITests/Pods-KulexiuForStudent-KulexiuForStudentUITests-frameworks.sh

@@ -190,6 +190,7 @@ if [[ "$CONFIGURATION" == "Debug" ]]; then
   install_framework "${BUILT_PRODUCTS_DIR}/SDWebImage/SDWebImage.framework"
   install_framework "${BUILT_PRODUCTS_DIR}/SSZipArchive/SSZipArchive.framework"
   install_framework "${BUILT_PRODUCTS_DIR}/SocketRocket/SocketRocket.framework"
+  install_framework "${BUILT_PRODUCTS_DIR}/TYCyclePagerView/TYCyclePagerView.framework"
   install_framework "${BUILT_PRODUCTS_DIR}/Whiteboard/Whiteboard.framework"
   install_framework "${BUILT_PRODUCTS_DIR}/YYModel/YYModel.framework"
   install_framework "${BUILT_PRODUCTS_DIR}/ZKCycleScrollView/ZKCycleScrollView.framework"
@@ -222,6 +223,7 @@ if [[ "$CONFIGURATION" == "Release" ]]; then
   install_framework "${BUILT_PRODUCTS_DIR}/SDWebImage/SDWebImage.framework"
   install_framework "${BUILT_PRODUCTS_DIR}/SSZipArchive/SSZipArchive.framework"
   install_framework "${BUILT_PRODUCTS_DIR}/SocketRocket/SocketRocket.framework"
+  install_framework "${BUILT_PRODUCTS_DIR}/TYCyclePagerView/TYCyclePagerView.framework"
   install_framework "${BUILT_PRODUCTS_DIR}/Whiteboard/Whiteboard.framework"
   install_framework "${BUILT_PRODUCTS_DIR}/YYModel/YYModel.framework"
   install_framework "${BUILT_PRODUCTS_DIR}/ZKCycleScrollView/ZKCycleScrollView.framework"

File diff suppressed because it is too large
+ 2 - 2
KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudent-KulexiuForStudentUITests/Pods-KulexiuForStudent-KulexiuForStudentUITests.debug.xcconfig


File diff suppressed because it is too large
+ 2 - 2
KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudent-KulexiuForStudentUITests/Pods-KulexiuForStudent-KulexiuForStudentUITests.release.xcconfig


+ 25 - 0
KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudent/Pods-KulexiuForStudent-acknowledgements.markdown

@@ -377,6 +377,31 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+## TYCyclePagerView
+
+MIT License
+
+Copyright (c) 2017 yeBlueColor
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+
 ## Whiteboard
 
 Copyright (c) 2018 leavesster <a412739861@qq.com>

+ 31 - 0
KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudent/Pods-KulexiuForStudent-acknowledgements.plist

@@ -510,6 +510,37 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</string>
 		</dict>
 		<dict>
 			<key>FooterText</key>
+			<string>MIT License
+
+Copyright (c) 2017 yeBlueColor
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+</string>
+			<key>License</key>
+			<string>MIT</string>
+			<key>Title</key>
+			<string>TYCyclePagerView</string>
+			<key>Type</key>
+			<string>PSGroupSpecifier</string>
+		</dict>
+		<dict>
+			<key>FooterText</key>
 			<string>Copyright (c) 2018 leavesster &lt;a412739861@qq.com&gt;
 
 Permission is hereby granted, free of charge, to any person obtaining a copy

+ 1 - 0
KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudent/Pods-KulexiuForStudent-frameworks-Debug-input-files.xcfilelist

@@ -13,6 +13,7 @@ ${BUILT_PRODUCTS_DIR}/Reachability/Reachability.framework
 ${BUILT_PRODUCTS_DIR}/SDWebImage/SDWebImage.framework
 ${BUILT_PRODUCTS_DIR}/SSZipArchive/SSZipArchive.framework
 ${BUILT_PRODUCTS_DIR}/SocketRocket/SocketRocket.framework
+${BUILT_PRODUCTS_DIR}/TYCyclePagerView/TYCyclePagerView.framework
 ${BUILT_PRODUCTS_DIR}/Whiteboard/Whiteboard.framework
 ${BUILT_PRODUCTS_DIR}/YYModel/YYModel.framework
 ${BUILT_PRODUCTS_DIR}/ZKCycleScrollView/ZKCycleScrollView.framework

+ 1 - 0
KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudent/Pods-KulexiuForStudent-frameworks-Debug-output-files.xcfilelist

@@ -12,6 +12,7 @@ ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Reachability.framework
 ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImage.framework
 ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SSZipArchive.framework
 ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SocketRocket.framework
+${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/TYCyclePagerView.framework
 ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Whiteboard.framework
 ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/YYModel.framework
 ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ZKCycleScrollView.framework

+ 1 - 0
KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudent/Pods-KulexiuForStudent-frameworks-Release-input-files.xcfilelist

@@ -13,6 +13,7 @@ ${BUILT_PRODUCTS_DIR}/Reachability/Reachability.framework
 ${BUILT_PRODUCTS_DIR}/SDWebImage/SDWebImage.framework
 ${BUILT_PRODUCTS_DIR}/SSZipArchive/SSZipArchive.framework
 ${BUILT_PRODUCTS_DIR}/SocketRocket/SocketRocket.framework
+${BUILT_PRODUCTS_DIR}/TYCyclePagerView/TYCyclePagerView.framework
 ${BUILT_PRODUCTS_DIR}/Whiteboard/Whiteboard.framework
 ${BUILT_PRODUCTS_DIR}/YYModel/YYModel.framework
 ${BUILT_PRODUCTS_DIR}/ZKCycleScrollView/ZKCycleScrollView.framework

+ 1 - 0
KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudent/Pods-KulexiuForStudent-frameworks-Release-output-files.xcfilelist

@@ -12,6 +12,7 @@ ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Reachability.framework
 ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImage.framework
 ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SSZipArchive.framework
 ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SocketRocket.framework
+${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/TYCyclePagerView.framework
 ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Whiteboard.framework
 ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/YYModel.framework
 ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ZKCycleScrollView.framework

+ 2 - 0
KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudent/Pods-KulexiuForStudent-frameworks.sh

@@ -190,6 +190,7 @@ if [[ "$CONFIGURATION" == "Debug" ]]; then
   install_framework "${BUILT_PRODUCTS_DIR}/SDWebImage/SDWebImage.framework"
   install_framework "${BUILT_PRODUCTS_DIR}/SSZipArchive/SSZipArchive.framework"
   install_framework "${BUILT_PRODUCTS_DIR}/SocketRocket/SocketRocket.framework"
+  install_framework "${BUILT_PRODUCTS_DIR}/TYCyclePagerView/TYCyclePagerView.framework"
   install_framework "${BUILT_PRODUCTS_DIR}/Whiteboard/Whiteboard.framework"
   install_framework "${BUILT_PRODUCTS_DIR}/YYModel/YYModel.framework"
   install_framework "${BUILT_PRODUCTS_DIR}/ZKCycleScrollView/ZKCycleScrollView.framework"
@@ -222,6 +223,7 @@ if [[ "$CONFIGURATION" == "Release" ]]; then
   install_framework "${BUILT_PRODUCTS_DIR}/SDWebImage/SDWebImage.framework"
   install_framework "${BUILT_PRODUCTS_DIR}/SSZipArchive/SSZipArchive.framework"
   install_framework "${BUILT_PRODUCTS_DIR}/SocketRocket/SocketRocket.framework"
+  install_framework "${BUILT_PRODUCTS_DIR}/TYCyclePagerView/TYCyclePagerView.framework"
   install_framework "${BUILT_PRODUCTS_DIR}/Whiteboard/Whiteboard.framework"
   install_framework "${BUILT_PRODUCTS_DIR}/YYModel/YYModel.framework"
   install_framework "${BUILT_PRODUCTS_DIR}/ZKCycleScrollView/ZKCycleScrollView.framework"

File diff suppressed because it is too large
+ 2 - 2
KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudent/Pods-KulexiuForStudent.debug.xcconfig


File diff suppressed because it is too large
+ 2 - 2
KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudent/Pods-KulexiuForStudent.release.xcconfig


+ 3 - 3
KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudentTests/Pods-KulexiuForStudentTests.debug.xcconfig

@@ -1,9 +1,9 @@
 CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
 EXCLUDED_ARCHS[sdk=iphonesimulator*] = arm64
-FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/CHIPageControl" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManager" "${PODS_CONFIGURATION_BUILD_DIR}/JXCategoryView" "${PODS_CONFIGURATION_BUILD_DIR}/JXPagingView" "${PODS_CONFIGURATION_BUILD_DIR}/MBProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/MJExtension" "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh" "${PODS_CONFIGURATION_BUILD_DIR}/Masonry" "${PODS_CONFIGURATION_BUILD_DIR}/RSKImageCropper" "${PODS_CONFIGURATION_BUILD_DIR}/Reachability" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage" "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive" "${PODS_CONFIGURATION_BUILD_DIR}/SocketRocket" "${PODS_CONFIGURATION_BUILD_DIR}/Whiteboard" "${PODS_CONFIGURATION_BUILD_DIR}/YYModel" "${PODS_CONFIGURATION_BUILD_DIR}/ZKCycleScrollView" "${PODS_CONFIGURATION_BUILD_DIR}/dsBridge" "${PODS_CONFIGURATION_BUILD_DIR}/iOS-KS3SDK" "${PODS_CONFIGURATION_BUILD_DIR}/lottie-ios" "${PODS_ROOT}/AlipaySDK-iOS" "${PODS_ROOT}/Bugly" "${PODS_ROOT}/RongCloudIM/RongCloudIM" "${PODS_ROOT}/RongCloudRTC/RongCloudRTC" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudIM/ChatRoom" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudIM/CustomerService" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudIM/Discussion" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudIM/IMKit" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudIM/IMLib" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudIM/IMLibCore" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudIM/Location" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudIM/PublicService" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudIM/Sight" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudRTC/RongRTCLib"
+FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/CHIPageControl" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManager" "${PODS_CONFIGURATION_BUILD_DIR}/JXCategoryView" "${PODS_CONFIGURATION_BUILD_DIR}/JXPagingView" "${PODS_CONFIGURATION_BUILD_DIR}/MBProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/MJExtension" "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh" "${PODS_CONFIGURATION_BUILD_DIR}/Masonry" "${PODS_CONFIGURATION_BUILD_DIR}/RSKImageCropper" "${PODS_CONFIGURATION_BUILD_DIR}/Reachability" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage" "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive" "${PODS_CONFIGURATION_BUILD_DIR}/SocketRocket" "${PODS_CONFIGURATION_BUILD_DIR}/TYCyclePagerView" "${PODS_CONFIGURATION_BUILD_DIR}/Whiteboard" "${PODS_CONFIGURATION_BUILD_DIR}/YYModel" "${PODS_CONFIGURATION_BUILD_DIR}/ZKCycleScrollView" "${PODS_CONFIGURATION_BUILD_DIR}/dsBridge" "${PODS_CONFIGURATION_BUILD_DIR}/iOS-KS3SDK" "${PODS_CONFIGURATION_BUILD_DIR}/lottie-ios" "${PODS_ROOT}/AlipaySDK-iOS" "${PODS_ROOT}/Bugly" "${PODS_ROOT}/RongCloudIM/RongCloudIM" "${PODS_ROOT}/RongCloudRTC/RongCloudRTC" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudIM/ChatRoom" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudIM/CustomerService" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudIM/Discussion" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudIM/IMKit" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudIM/IMLib" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudIM/IMLibCore" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudIM/Location" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudIM/PublicService" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudIM/Sight" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudRTC/RongRTCLib"
 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
-HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking/AFNetworking.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/CHIPageControl/CHIPageControl.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManager/IQKeyboardManager.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/JXCategoryView/JXCategoryView.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/JXPagingView/JXPagingView.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MBProgressHUD/MBProgressHUD.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MJExtension/MJExtension.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh/MJRefresh.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Masonry/Masonry.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RSKImageCropper/RSKImageCropper.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Reachability/Reachability.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage/SDWebImage.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive/SSZipArchive.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SocketRocket/SocketRocket.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Whiteboard/Whiteboard.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/YYModel/YYModel.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/ZKCycleScrollView/ZKCycleScrollView.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/dsBridge/dsBridge.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/iOS-KS3SDK/iOS_KS3SDK.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/lottie-ios/Lottie.framework/Headers" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/JPush"
-OTHER_LDFLAGS = $(inherited) -ObjC -l"c++" -l"iconv" -l"icucore" -l"resolv" -l"z" -framework "AFNetworking" -framework "AVFoundation" -framework "CFNetwork" -framework "CHIPageControl" -framework "CoreFoundation" -framework "CoreGraphics" -framework "CoreMotion" -framework "CoreTelephony" -framework "CoreText" -framework "Foundation" -framework "GLKit" -framework "IQKeyboardManager" -framework "ImageIO" -framework "JXCategoryView" -framework "JXPagingView" -framework "Lottie" -framework "MBProgressHUD" -framework "MJExtension" -framework "MJRefresh" -framework "Masonry" -framework "QuartzCore" -framework "RSKImageCropper" -framework "Reachability" -framework "RongChatRoom" -framework "RongCustomerService" -framework "RongDiscussion" -framework "RongIMKit" -framework "RongIMLib" -framework "RongIMLibCore" -framework "RongLocation" -framework "RongPublicService" -framework "RongRTCLib" -framework "RongSight" -framework "SDWebImage" -framework "SSZipArchive" -framework "Security" -framework "SocketRocket" -framework "StoreKit" -framework "SystemConfiguration" -framework "UIKit" -framework "VideoToolbox" -framework "WebKit" -framework "Whiteboard" -framework "YYModel" -framework "ZKCycleScrollView" -framework "dsBridge" -framework "iOS_KS3SDK" -weak_framework "UserNotifications"
+HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking/AFNetworking.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/CHIPageControl/CHIPageControl.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManager/IQKeyboardManager.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/JXCategoryView/JXCategoryView.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/JXPagingView/JXPagingView.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MBProgressHUD/MBProgressHUD.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MJExtension/MJExtension.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh/MJRefresh.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Masonry/Masonry.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RSKImageCropper/RSKImageCropper.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Reachability/Reachability.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage/SDWebImage.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive/SSZipArchive.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SocketRocket/SocketRocket.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/TYCyclePagerView/TYCyclePagerView.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Whiteboard/Whiteboard.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/YYModel/YYModel.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/ZKCycleScrollView/ZKCycleScrollView.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/dsBridge/dsBridge.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/iOS-KS3SDK/iOS_KS3SDK.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/lottie-ios/Lottie.framework/Headers" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/JPush"
+OTHER_LDFLAGS = $(inherited) -ObjC -l"c++" -l"iconv" -l"icucore" -l"resolv" -l"z" -framework "AFNetworking" -framework "AVFoundation" -framework "CFNetwork" -framework "CHIPageControl" -framework "CoreFoundation" -framework "CoreGraphics" -framework "CoreMotion" -framework "CoreTelephony" -framework "CoreText" -framework "Foundation" -framework "GLKit" -framework "IQKeyboardManager" -framework "ImageIO" -framework "JXCategoryView" -framework "JXPagingView" -framework "Lottie" -framework "MBProgressHUD" -framework "MJExtension" -framework "MJRefresh" -framework "Masonry" -framework "QuartzCore" -framework "RSKImageCropper" -framework "Reachability" -framework "RongChatRoom" -framework "RongCustomerService" -framework "RongDiscussion" -framework "RongIMKit" -framework "RongIMLib" -framework "RongIMLibCore" -framework "RongLocation" -framework "RongPublicService" -framework "RongRTCLib" -framework "RongSight" -framework "SDWebImage" -framework "SSZipArchive" -framework "Security" -framework "SocketRocket" -framework "StoreKit" -framework "SystemConfiguration" -framework "TYCyclePagerView" -framework "UIKit" -framework "VideoToolbox" -framework "WebKit" -framework "Whiteboard" -framework "YYModel" -framework "ZKCycleScrollView" -framework "dsBridge" -framework "iOS_KS3SDK" -weak_framework "UserNotifications"
 PODS_BUILD_DIR = ${BUILD_DIR}
 PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
 PODS_PODFILE_DIR_PATH = ${SRCROOT}/.

+ 3 - 3
KulexiuForStudent/Pods/Target Support Files/Pods-KulexiuForStudentTests/Pods-KulexiuForStudentTests.release.xcconfig

@@ -1,9 +1,9 @@
 CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
 EXCLUDED_ARCHS[sdk=iphonesimulator*] = arm64
-FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/CHIPageControl" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManager" "${PODS_CONFIGURATION_BUILD_DIR}/JXCategoryView" "${PODS_CONFIGURATION_BUILD_DIR}/JXPagingView" "${PODS_CONFIGURATION_BUILD_DIR}/MBProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/MJExtension" "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh" "${PODS_CONFIGURATION_BUILD_DIR}/Masonry" "${PODS_CONFIGURATION_BUILD_DIR}/RSKImageCropper" "${PODS_CONFIGURATION_BUILD_DIR}/Reachability" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage" "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive" "${PODS_CONFIGURATION_BUILD_DIR}/SocketRocket" "${PODS_CONFIGURATION_BUILD_DIR}/Whiteboard" "${PODS_CONFIGURATION_BUILD_DIR}/YYModel" "${PODS_CONFIGURATION_BUILD_DIR}/ZKCycleScrollView" "${PODS_CONFIGURATION_BUILD_DIR}/dsBridge" "${PODS_CONFIGURATION_BUILD_DIR}/iOS-KS3SDK" "${PODS_CONFIGURATION_BUILD_DIR}/lottie-ios" "${PODS_ROOT}/AlipaySDK-iOS" "${PODS_ROOT}/Bugly" "${PODS_ROOT}/RongCloudIM/RongCloudIM" "${PODS_ROOT}/RongCloudRTC/RongCloudRTC" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudIM/ChatRoom" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudIM/CustomerService" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudIM/Discussion" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudIM/IMKit" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudIM/IMLib" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudIM/IMLibCore" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudIM/Location" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudIM/PublicService" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudIM/Sight" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudRTC/RongRTCLib"
+FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/CHIPageControl" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManager" "${PODS_CONFIGURATION_BUILD_DIR}/JXCategoryView" "${PODS_CONFIGURATION_BUILD_DIR}/JXPagingView" "${PODS_CONFIGURATION_BUILD_DIR}/MBProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/MJExtension" "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh" "${PODS_CONFIGURATION_BUILD_DIR}/Masonry" "${PODS_CONFIGURATION_BUILD_DIR}/RSKImageCropper" "${PODS_CONFIGURATION_BUILD_DIR}/Reachability" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage" "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive" "${PODS_CONFIGURATION_BUILD_DIR}/SocketRocket" "${PODS_CONFIGURATION_BUILD_DIR}/TYCyclePagerView" "${PODS_CONFIGURATION_BUILD_DIR}/Whiteboard" "${PODS_CONFIGURATION_BUILD_DIR}/YYModel" "${PODS_CONFIGURATION_BUILD_DIR}/ZKCycleScrollView" "${PODS_CONFIGURATION_BUILD_DIR}/dsBridge" "${PODS_CONFIGURATION_BUILD_DIR}/iOS-KS3SDK" "${PODS_CONFIGURATION_BUILD_DIR}/lottie-ios" "${PODS_ROOT}/AlipaySDK-iOS" "${PODS_ROOT}/Bugly" "${PODS_ROOT}/RongCloudIM/RongCloudIM" "${PODS_ROOT}/RongCloudRTC/RongCloudRTC" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudIM/ChatRoom" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudIM/CustomerService" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudIM/Discussion" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudIM/IMKit" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudIM/IMLib" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudIM/IMLibCore" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudIM/Location" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudIM/PublicService" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudIM/Sight" "${PODS_XCFRAMEWORKS_BUILD_DIR}/RongCloudRTC/RongRTCLib"
 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
-HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking/AFNetworking.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/CHIPageControl/CHIPageControl.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManager/IQKeyboardManager.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/JXCategoryView/JXCategoryView.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/JXPagingView/JXPagingView.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MBProgressHUD/MBProgressHUD.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MJExtension/MJExtension.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh/MJRefresh.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Masonry/Masonry.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RSKImageCropper/RSKImageCropper.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Reachability/Reachability.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage/SDWebImage.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive/SSZipArchive.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SocketRocket/SocketRocket.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Whiteboard/Whiteboard.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/YYModel/YYModel.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/ZKCycleScrollView/ZKCycleScrollView.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/dsBridge/dsBridge.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/iOS-KS3SDK/iOS_KS3SDK.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/lottie-ios/Lottie.framework/Headers" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/JPush"
-OTHER_LDFLAGS = $(inherited) -ObjC -l"c++" -l"iconv" -l"icucore" -l"resolv" -l"z" -framework "AFNetworking" -framework "AVFoundation" -framework "CFNetwork" -framework "CHIPageControl" -framework "CoreFoundation" -framework "CoreGraphics" -framework "CoreMotion" -framework "CoreTelephony" -framework "CoreText" -framework "Foundation" -framework "GLKit" -framework "IQKeyboardManager" -framework "ImageIO" -framework "JXCategoryView" -framework "JXPagingView" -framework "Lottie" -framework "MBProgressHUD" -framework "MJExtension" -framework "MJRefresh" -framework "Masonry" -framework "QuartzCore" -framework "RSKImageCropper" -framework "Reachability" -framework "RongChatRoom" -framework "RongCustomerService" -framework "RongDiscussion" -framework "RongIMKit" -framework "RongIMLib" -framework "RongIMLibCore" -framework "RongLocation" -framework "RongPublicService" -framework "RongRTCLib" -framework "RongSight" -framework "SDWebImage" -framework "SSZipArchive" -framework "Security" -framework "SocketRocket" -framework "StoreKit" -framework "SystemConfiguration" -framework "UIKit" -framework "VideoToolbox" -framework "WebKit" -framework "Whiteboard" -framework "YYModel" -framework "ZKCycleScrollView" -framework "dsBridge" -framework "iOS_KS3SDK" -weak_framework "UserNotifications"
+HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking/AFNetworking.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/CHIPageControl/CHIPageControl.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManager/IQKeyboardManager.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/JXCategoryView/JXCategoryView.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/JXPagingView/JXPagingView.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MBProgressHUD/MBProgressHUD.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MJExtension/MJExtension.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh/MJRefresh.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Masonry/Masonry.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RSKImageCropper/RSKImageCropper.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Reachability/Reachability.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage/SDWebImage.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive/SSZipArchive.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SocketRocket/SocketRocket.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/TYCyclePagerView/TYCyclePagerView.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Whiteboard/Whiteboard.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/YYModel/YYModel.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/ZKCycleScrollView/ZKCycleScrollView.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/dsBridge/dsBridge.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/iOS-KS3SDK/iOS_KS3SDK.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/lottie-ios/Lottie.framework/Headers" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/JPush"
+OTHER_LDFLAGS = $(inherited) -ObjC -l"c++" -l"iconv" -l"icucore" -l"resolv" -l"z" -framework "AFNetworking" -framework "AVFoundation" -framework "CFNetwork" -framework "CHIPageControl" -framework "CoreFoundation" -framework "CoreGraphics" -framework "CoreMotion" -framework "CoreTelephony" -framework "CoreText" -framework "Foundation" -framework "GLKit" -framework "IQKeyboardManager" -framework "ImageIO" -framework "JXCategoryView" -framework "JXPagingView" -framework "Lottie" -framework "MBProgressHUD" -framework "MJExtension" -framework "MJRefresh" -framework "Masonry" -framework "QuartzCore" -framework "RSKImageCropper" -framework "Reachability" -framework "RongChatRoom" -framework "RongCustomerService" -framework "RongDiscussion" -framework "RongIMKit" -framework "RongIMLib" -framework "RongIMLibCore" -framework "RongLocation" -framework "RongPublicService" -framework "RongRTCLib" -framework "RongSight" -framework "SDWebImage" -framework "SSZipArchive" -framework "Security" -framework "SocketRocket" -framework "StoreKit" -framework "SystemConfiguration" -framework "TYCyclePagerView" -framework "UIKit" -framework "VideoToolbox" -framework "WebKit" -framework "Whiteboard" -framework "YYModel" -framework "ZKCycleScrollView" -framework "dsBridge" -framework "iOS_KS3SDK" -weak_framework "UserNotifications"
 PODS_BUILD_DIR = ${BUILD_DIR}
 PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
 PODS_PODFILE_DIR_PATH = ${SRCROOT}/.

Some files were not shown because too many files changed in this diff