Steven 3 年之前
父节点
当前提交
69bc700073
共有 100 个文件被更改,包括 510 次插入183 次删除
  1. 6 8
      KulexiuForStudent/KulexiuForStudent.xcodeproj/project.pbxproj
  2. 二进制
      KulexiuForStudent/KulexiuForStudent.xcworkspace/xcuserdata/wangzhi.xcuserdatad/UserInterfaceState.xcuserstate
  3. 5 69
      KulexiuForStudent/KulexiuForStudent.xcworkspace/xcuserdata/wangzhi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
  4. 22 0
      KulexiuForStudent/KulexiuForStudent/Assets.xcassets/Mine/member_center.imageset/Contents.json
  5. 二进制
      KulexiuForStudent/KulexiuForStudent/Assets.xcassets/Mine/member_center.imageset/member_center@2x.png
  6. 二进制
      KulexiuForStudent/KulexiuForStudent/Assets.xcassets/Mine/member_center.imageset/member_center@3x.png
  7. 12 6
      KulexiuForStudent/KulexiuForStudent/Common/Base/KSNetworkingManager.h
  8. 22 13
      KulexiuForStudent/KulexiuForStudent/Common/Base/KSNetworkingManager.m
  9. 6 1
      KulexiuForStudent/KulexiuForStudent/Common/Tools/Custom/KeyChainTools.m
  10. 1 1
      KulexiuForStudent/KulexiuForStudent/Module/Home/Controller/HomeViewController.m
  11. 1 2
      KulexiuForStudent/KulexiuForStudent/Module/Login/Controller/FirstSettingViewController.m
  12. 2 2
      KulexiuForStudent/KulexiuForStudent/Module/Login/Controller/LoginViewController.m
  13. 34 12
      KulexiuForStudent/KulexiuForStudent/Module/Login/Controller/SubjectChooseViewController.m
  14. 2 2
      KulexiuForStudent/KulexiuForStudent/Module/Login/Model/UserInfoManager.m
  15. 4 4
      KulexiuForStudent/KulexiuForStudent/Module/Login/View/FirstSettingBodyView.xib
  16. 2 2
      KulexiuForStudent/KulexiuForStudent/Module/Login/View/KSSegmentControl.m
  17. 3 3
      KulexiuForStudent/KulexiuForStudent/Module/Login/View/LoginBodyView.xib
  18. 3 3
      KulexiuForStudent/KulexiuForStudent/Module/Login/View/PasswordBodyView.xib
  19. 43 8
      KulexiuForStudent/KulexiuForStudent/Module/Mine/Controller/MineViewController.m
  20. 37 0
      KulexiuForStudent/KulexiuForStudent/Module/Mine/Model/StudentInfoModel.h
  21. 218 0
      KulexiuForStudent/KulexiuForStudent/Module/Mine/Model/StudentInfoModel.m
  22. 4 0
      KulexiuForStudent/KulexiuForStudent/Module/Mine/View/MineBodyView.h
  23. 26 0
      KulexiuForStudent/KulexiuForStudent/Module/Mine/View/MineBodyView.m
  24. 25 15
      KulexiuForStudent/KulexiuForStudent/Module/Mine/View/MineBodyView.xib
  25. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/AFNetworking/AFNetworking.framework/AFNetworking
  26. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/AFNetworking/AFNetworking.framework/Info.plist
  27. 1 1
      KulexiuForStudent/build/Debug-iphonesimulator/AFNetworking/AFNetworking.framework/_CodeSignature/CodeResources
  28. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/CHIPageControl/CHIPageControl.framework/CHIPageControl
  29. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/CHIPageControl/CHIPageControl.framework/Info.plist
  30. 1 1
      KulexiuForStudent/build/Debug-iphonesimulator/CHIPageControl/CHIPageControl.framework/_CodeSignature/CodeResources
  31. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/IQKeyboardManager/IQKeyboardManager.framework/IQKeyboardManager
  32. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/IQKeyboardManager/IQKeyboardManager.framework/Info.plist
  33. 1 1
      KulexiuForStudent/build/Debug-iphonesimulator/IQKeyboardManager/IQKeyboardManager.framework/_CodeSignature/CodeResources
  34. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/JXCategoryView/JXCategoryView.framework/Info.plist
  35. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/JXCategoryView/JXCategoryView.framework/JXCategoryView
  36. 1 1
      KulexiuForStudent/build/Debug-iphonesimulator/JXCategoryView/JXCategoryView.framework/_CodeSignature/CodeResources
  37. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/JXPagingView/JXPagingView.framework/Info.plist
  38. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/JXPagingView/JXPagingView.framework/JXPagingView
  39. 1 1
      KulexiuForStudent/build/Debug-iphonesimulator/JXPagingView/JXPagingView.framework/_CodeSignature/CodeResources
  40. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Assets.car
  41. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/FirstSettingBodyView.nib
  42. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/AFNetworking.framework/AFNetworking
  43. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/AFNetworking.framework/Info.plist
  44. 1 1
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/AFNetworking.framework/_CodeSignature/CodeResources
  45. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/CHIPageControl.framework/CHIPageControl
  46. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/CHIPageControl.framework/Info.plist
  47. 1 1
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/CHIPageControl.framework/_CodeSignature/CodeResources
  48. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/IQKeyboardManager.framework/IQKeyboardManager
  49. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/IQKeyboardManager.framework/Info.plist
  50. 1 1
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/IQKeyboardManager.framework/_CodeSignature/CodeResources
  51. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/JXCategoryView.framework/Info.plist
  52. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/JXCategoryView.framework/JXCategoryView
  53. 1 1
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/JXCategoryView.framework/_CodeSignature/CodeResources
  54. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/JXPagingView.framework/Info.plist
  55. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/JXPagingView.framework/JXPagingView
  56. 1 1
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/JXPagingView.framework/_CodeSignature/CodeResources
  57. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/MBProgressHUD.framework/Info.plist
  58. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/MBProgressHUD.framework/MBProgressHUD
  59. 1 1
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/MBProgressHUD.framework/_CodeSignature/CodeResources
  60. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/MJExtension.framework/Info.plist
  61. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/MJExtension.framework/MJExtension
  62. 1 1
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/MJExtension.framework/_CodeSignature/CodeResources
  63. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/MJRefresh.framework/Info.plist
  64. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/MJRefresh.framework/MJRefresh
  65. 1 1
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/MJRefresh.framework/_CodeSignature/CodeResources
  66. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/Masonry.framework/Info.plist
  67. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/Masonry.framework/Masonry
  68. 1 1
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/Masonry.framework/_CodeSignature/CodeResources
  69. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/RSKImageCropper.framework/Info.plist
  70. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/RSKImageCropper.framework/RSKImageCropper
  71. 1 1
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/RSKImageCropper.framework/_CodeSignature/CodeResources
  72. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/Reachability.framework/Info.plist
  73. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/Reachability.framework/Reachability
  74. 1 1
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/Reachability.framework/_CodeSignature/CodeResources
  75. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/SDWebImage.framework/Info.plist
  76. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/SDWebImage.framework/SDWebImage
  77. 1 1
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/SDWebImage.framework/_CodeSignature/CodeResources
  78. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/SSZipArchive.framework/Info.plist
  79. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/SSZipArchive.framework/SSZipArchive
  80. 1 1
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/SSZipArchive.framework/_CodeSignature/CodeResources
  81. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/SocketRocket.framework/Info.plist
  82. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/SocketRocket.framework/SocketRocket
  83. 1 1
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/SocketRocket.framework/_CodeSignature/CodeResources
  84. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/Whiteboard.framework/Info.plist
  85. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/Whiteboard.framework/Whiteboard
  86. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/Whiteboard.framework/Whiteboard.bundle/Info.plist
  87. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/Whiteboard.framework/Whiteboard.bundle/_CodeSignature/CodeDirectory
  88. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/Whiteboard.framework/Whiteboard.bundle/_CodeSignature/CodeRequirements-1
  89. 10 10
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/Whiteboard.framework/_CodeSignature/CodeResources
  90. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/YYModel.framework/Info.plist
  91. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/YYModel.framework/YYModel
  92. 1 1
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/YYModel.framework/_CodeSignature/CodeResources
  93. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/ZKCycleScrollView.framework/Info.plist
  94. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/ZKCycleScrollView.framework/ZKCycleScrollView
  95. 1 1
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/ZKCycleScrollView.framework/_CodeSignature/CodeResources
  96. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/dsBridge.framework/Info.plist
  97. 1 1
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/dsBridge.framework/_CodeSignature/CodeResources
  98. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/dsBridge.framework/dsBridge
  99. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Info.plist
  100. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/KulexiuForStudent

+ 6 - 8
KulexiuForStudent/KulexiuForStudent.xcodeproj/project.pbxproj

@@ -361,6 +361,7 @@
 		BC0212FB27FC61D30040569F /* KSSegmentControl.m in Sources */ = {isa = PBXBuildFile; fileRef = BC0212FA27FC61D30040569F /* KSSegmentControl.m */; };
 		BC0212FE27FC66AA0040569F /* InstrumentMessageModel.m in Sources */ = {isa = PBXBuildFile; fileRef = BC0212FD27FC66AA0040569F /* InstrumentMessageModel.m */; };
 		BC02130127FC6ADD0040569F /* UIView+SubViewExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = BC02130027FC6ADD0040569F /* UIView+SubViewExtension.m */; };
+		BC28582B2809036D0024697C /* StudentInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = BC28582A2809036D0024697C /* StudentInfoModel.m */; };
 		BC50171227FC0D5600F8BCBC /* SubjectChooseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BC50171127FC0D5600F8BCBC /* SubjectChooseViewController.m */; };
 		BC50171527FC0D8300F8BCBC /* SubjectChooseBodyView.m in Sources */ = {isa = PBXBuildFile; fileRef = BC50171427FC0D8300F8BCBC /* SubjectChooseBodyView.m */; };
 		BC50171727FC0D8E00F8BCBC /* SubjectChooseBodyView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC50171627FC0D8D00F8BCBC /* SubjectChooseBodyView.xib */; };
@@ -1173,6 +1174,8 @@
 		BC0212FD27FC66AA0040569F /* InstrumentMessageModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = InstrumentMessageModel.m; sourceTree = "<group>"; };
 		BC0212FF27FC6ADD0040569F /* UIView+SubViewExtension.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+SubViewExtension.h"; sourceTree = "<group>"; };
 		BC02130027FC6ADD0040569F /* UIView+SubViewExtension.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+SubViewExtension.m"; sourceTree = "<group>"; };
+		BC2858292809036C0024697C /* StudentInfoModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StudentInfoModel.h; sourceTree = "<group>"; };
+		BC28582A2809036D0024697C /* StudentInfoModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = StudentInfoModel.m; sourceTree = "<group>"; };
 		BC50171027FC0D5600F8BCBC /* SubjectChooseViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SubjectChooseViewController.h; sourceTree = "<group>"; };
 		BC50171127FC0D5600F8BCBC /* SubjectChooseViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SubjectChooseViewController.m; sourceTree = "<group>"; };
 		BC50171327FC0D8300F8BCBC /* SubjectChooseBodyView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SubjectChooseBodyView.h; sourceTree = "<group>"; };
@@ -1861,6 +1864,8 @@
 		275FA20727E7356B00CFEA2E /* Model */ = {
 			isa = PBXGroup;
 			children = (
+				BC2858292809036C0024697C /* StudentInfoModel.h */,
+				BC28582A2809036D0024697C /* StudentInfoModel.m */,
 			);
 			path = Model;
 			sourceTree = "<group>";
@@ -2760,7 +2765,6 @@
 			isa = PBXGroup;
 			children = (
 				27F9032427E87C2E00C08A19 /* Controller */,
-				27F9032727E87C2E00C08A19 /* Model */,
 				27F9032827E87C2E00C08A19 /* View */,
 			);
 			path = Setting;
@@ -2789,13 +2793,6 @@
 			path = Controller;
 			sourceTree = "<group>";
 		};
-		27F9032727E87C2E00C08A19 /* Model */ = {
-			isa = PBXGroup;
-			children = (
-			);
-			path = Model;
-			sourceTree = "<group>";
-		};
 		27F9032827E87C2E00C08A19 /* View */ = {
 			isa = PBXGroup;
 			children = (
@@ -3854,6 +3851,7 @@
 				BCB6355F27F6D2A300ACFDCF /* TicketExpiredMessage.m in Sources */,
 				277935A827E324A80010E277 /* MSSBrowseModel.m in Sources */,
 				BCB6355327F6D2A300ACFDCF /* InputTextField.m in Sources */,
+				BC28582B2809036D0024697C /* StudentInfoModel.m in Sources */,
 				277935B927E324A90010E277 /* FSCalendarCollectionViewLayout.m in Sources */,
 				2779359427E324A80010E277 /* TZAssetCell.m in Sources */,
 				BCB635B227F6E1A600ACFDCF /* LiveRoomBottomView.m in Sources */,

二进制
KulexiuForStudent/KulexiuForStudent.xcworkspace/xcuserdata/wangzhi.xcuserdatad/UserInterfaceState.xcuserstate


+ 5 - 69
KulexiuForStudent/KulexiuForStudent.xcworkspace/xcuserdata/wangzhi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -39,80 +39,16 @@
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
-            uuid = "A5F58A37-0D04-46EB-A22F-2FFDF889273B"
-            shouldBeEnabled = "No"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Module/Login/Controller/SubjectChooseViewController.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "111"
-            endingLineNumber = "111"
-            landmarkName = "-refreshView"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "7075D7CE-9DE4-463D-B78D-2D32E9403498"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Module/Login/View/KSSegmentControl.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "152"
-            endingLineNumber = "152"
-            landmarkName = "-segmentChooseAction:"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "ACD1C344-D74A-46FF-8F91-066759AB1E82"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Module/Login/View/KSSegmentControl.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "158"
-            endingLineNumber = "158"
-            landmarkName = "-segmentChooseAction:"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "622D233D-2E42-4941-9752-F264E274B5DB"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Module/Login/View/KSSegmentControl.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "139"
-            endingLineNumber = "139"
-            landmarkName = "-setLastChooseIndex:"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "6E39DF7A-56DB-45A4-AD11-AD3397AAB6F5"
+            uuid = "7FB04BC3-DA77-4E78-82C6-F67F0087B211"
             shouldBeEnabled = "Yes"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Module/Login/Controller/SubjectChooseViewController.m"
+            filePath = "KulexiuForStudent/Module/Mine/Setting/Controller/SettingViewController.m"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "181"
-            endingLineNumber = "181"
-            landmarkName = "-cycleScrollViewDidScroll:progress:"
+            startingLineNumber = "223"
+            endingLineNumber = "223"
+            landmarkName = "-modifyUserMessage:gender:"
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>

+ 22 - 0
KulexiuForStudent/KulexiuForStudent/Assets.xcassets/Mine/member_center.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "member_center@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "member_center@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

二进制
KulexiuForStudent/KulexiuForStudent/Assets.xcassets/Mine/member_center.imageset/member_center@2x.png


二进制
KulexiuForStudent/KulexiuForStudent/Assets.xcassets/Mine/member_center.imageset/member_center@3x.png


+ 12 - 6
KulexiuForStudent/KulexiuForStudent/Common/Base/KSNetworkingManager.h

@@ -97,20 +97,19 @@ NS_ASSUME_NONNULL_BEGIN
  */
 + (void)refreshTokenRequest:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure;
 
-// 接口地址 /api-auth/user/setPassword
+// 接口地址 /api-auth/user/setUsernameAndPassword
 
 /**
  设置密码
  
  @param post post
- @param authCode 验证码
- @param mobile 手机号
+ @param username 用户名
  @param password 密码
  @param token token
  @param success 成功
  @param faliure 失败
  */
-+ (void)setPasswordRequest:(NSString *)post authCode:(NSString *)authCode mobile:(NSString *)mobile password:(NSString *)password token:(NSString *)token success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure;
++ (void)setPasswordRequest:(NSString *)post username:(NSString * _Nullable)username password:(NSString *)password token:(NSString *)token success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure;
 
 // /api-auth/user/updatePassword
 
@@ -221,14 +220,21 @@ NS_ASSUME_NONNULL_BEGIN
 /// @param faliure 失败
 + (void)modifyUserMessage:(NSString *)post avatal:(NSString *)avatal gender:(NSString *)gender username:(NSString *)username success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure;
 
-// /api-student/subject/queryPageTree
+// /api-student/subject/subjectSelect
 
 /// 声部信息查询 (树状列表)
 /// @param get get
 /// @param success 成功
 /// @param faliure 失败
-+ (void)subjectQueryPageTree:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure;
++ (void)studentQuerySubject:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure;
 
+// /api-student/student/setSubject
+/// 设置声部
+/// @param get get
+/// @param subjectIds 声部id
+/// @param success 成功
+/// @param faliure 失败
++ (void)studentSetSubject:(NSString *)get subjectIds:(NSString *)subjectIds success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure;
 #pragma mark -------- 群组服务
 // /api-student/imUserFriend/queryAll
 

+ 22 - 13
KulexiuForStudent/KulexiuForStudent/Common/Base/KSNetworkingManager.m

@@ -408,26 +408,24 @@
 }
 
 
-// 接口地址 /api-auth/user/setPassword
+// 接口地址 /api-auth/user/setUsernameAndPassword
 
 /**
  设置密码
  
  @param post post
- @param authCode 验证码
- @param mobile 手机号
+ @param username 用户名
  @param password 密码
  @param token token
  @param success 成功
  @param faliure 失败
  */
-+ (void)setPasswordRequest:(NSString *)post authCode:(NSString *)authCode mobile:(NSString *)mobile password:(NSString *)password token:(NSString *)token success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
++ (void)setPasswordRequest:(NSString *)post username:(NSString *)username password:(NSString *)password token:(NSString *)token success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
     [self configRequestMethodFormWithToken:token];
     NSMutableDictionary *parm = [NSMutableDictionary dictionary];
-    [parm setValue:mobile forKey:@"mobile"];
-    [parm setValue:authCode forKey:@"authCode"];
+    [parm setValue:username forKey:@"username"];
     [parm setValue:password forKey:@"password"];
-    NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/user/setPassword"];
+    NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/user/setUsernameAndPassword"];
     [self request:post andWithUrl:url and:parm success:success faliure:faliure];
 }
 
@@ -516,19 +514,30 @@
     [self request:post andWithUrl:url and:parm success:success faliure:faliure];
 }
 
-// /api-student/subject/queryPageTree
+// /api-student/subject/subjectSelect
 
 /// 声部信息查询 (树状列表)
 /// @param get get
 /// @param success 成功
 /// @param faliure 失败
-+ (void)subjectQueryPageTree:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
-    NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/subject/queryPageTree"];
-    NSMutableDictionary *parm = [NSMutableDictionary dictionary];
-    [parm setValue:@"1" forKey:@"page"];
-    [parm setValue:@"200" forKey:@"rows"];
++ (void)studentQuerySubject:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
+    NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/subject/subjectSelect"];
     [self request:get andWithUrl:url and:nil success:success faliure:faliure];
 }
+
+// /api-student/student/setSubject
+/// 设置声部
+/// @param get get
+/// @param subjectIds 声部id
+/// @param success 成功
+/// @param faliure 失败
++ (void)studentSetSubject:(NSString *)get subjectIds:(NSString *)subjectIds success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
+    NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-student/student/setSubject"];
+    NSMutableDictionary *parm = [NSMutableDictionary dictionary];
+    [parm setValue:subjectIds forKey:@"subjectIds"];
+    [self request:get andWithUrl:url and:parm success:success faliure:faliure];
+}
+
 #pragma mark ---- 验证码服务
 
 // /api-student/code/sendSms

+ 6 - 1
KulexiuForStudent/KulexiuForStudent/Common/Tools/Custom/KeyChainTools.m

@@ -38,7 +38,12 @@ NSString *const KEY_ASSESSGROUP = @"2K89M44X82.GuanYueMi";
 
         [self save:KEY_UUID data:uuidDic];
 
-        return identifierStr;
+        if (SUBMIT_UUID) {
+            return identifierStr;
+        }
+        else {
+            return nil;
+        }
 
     }else{
         if (SUBMIT_UUID) {

+ 1 - 1
KulexiuForStudent/KulexiuForStudent/Module/Home/Controller/HomeViewController.m

@@ -21,7 +21,7 @@
 }
 
 - (void)requstSubject {
-    [KSNetworkingManager subjectQueryPageTree:KS_GET success:^(NSDictionary * _Nonnull dic) {
+    [KSNetworkingManager studentQuerySubject:KS_GET success:^(NSDictionary * _Nonnull dic) {
         if ([dic integerValueForKey:@"code"] == 200) {
             [self showInstrumentView];
         }

+ 1 - 2
KulexiuForStudent/KulexiuForStudent/Module/Login/Controller/FirstSettingViewController.m

@@ -42,7 +42,7 @@
 
 - (void)settingPassword:(NSString *)pwdCode {
     [self showhud];
-    [KSNetworkingManager setPasswordRequest:KS_POST authCode:self.code mobile:self.phone password:pwdCode token:self.access_token success:^(NSDictionary * _Nonnull dic) {
+    [KSNetworkingManager setPasswordRequest:KS_POST username:nil password:pwdCode token:self.access_token success:^(NSDictionary * _Nonnull dic) {
         [self removehub];
         if ([dic integerValueForKey:@"code"] == 200 && [dic boolValueForKey:@"status"]) {
             MJWeakSelf;
@@ -56,7 +56,6 @@
         else {
             [self MBPShow:MESSAGEKEY];
         }
-        
     } faliure:^(NSError * _Nonnull error) {
         [self removehub];
     }];

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

@@ -59,14 +59,14 @@
         case LOGINACTION_REGPROTOCAL: // 注册协议
         {
             KSBaseWKWebViewController *webCtrl = [[KSBaseWKWebViewController alloc] init];
-            webCtrl.url = [NSString stringWithFormat:@"%@%@",WEBHOST, @""];
+            webCtrl.url = [NSString stringWithFormat:@"%@%@",WEBHOST, @"/#/registerProtocol"];
             [self.navigationController pushViewController:webCtrl animated:YES];
         }
             break;
         case LOGINACTION_PRIVACY:  // 隐私协议
         {
             KSBaseWKWebViewController *webCtrl = [[KSBaseWKWebViewController alloc] init];
-            webCtrl.url = [NSString stringWithFormat:@"%@%@",WEBHOST, @""];
+            webCtrl.url = [NSString stringWithFormat:@"%@%@",WEBHOST, @"/#/privacyProtocol"];
             [self.navigationController pushViewController:webCtrl animated:YES];
         }
             break;

+ 34 - 12
KulexiuForStudent/KulexiuForStudent/Module/Login/Controller/SubjectChooseViewController.m

@@ -32,6 +32,8 @@
 
 @property (nonatomic, strong) KSSegmentControl *segCtrl;
 
+@property (nonatomic, strong) InstrumentMessageModel *chooseInstrument;
+
 @end
 
 @implementation SubjectChooseViewController
@@ -44,12 +46,13 @@
     [self requestSubjectMessage];
 }
 
+
 - (void)requestSubjectMessage {
     [self showhud];
-    [KSNetworkingManager subjectQueryPageTree:KS_GET success:^(NSDictionary * _Nonnull dic) {
+    [KSNetworkingManager studentQuerySubject:KS_GET success:^(NSDictionary * _Nonnull dic) {
         [self removehub];
         if ([dic integerValueForKey:@"code"] == 200 && [dic boolValueForKey:@"status"]) {
-            [self evaluateSource:[[dic dictionaryValueForKey:@"data"] arrayValueForKey:@"rows"]];
+            [self evaluateSource:[dic arrayValueForKey:@"data"]];
         }
         else {
             [self MBPShow:MESSAGEKEY];
@@ -84,25 +87,28 @@
                     }
                     [instrumentArray addObject:subjectModelArray];
                 }
-                
-                self.parentArray = [NSMutableArray arrayWithArray:parentNodeArray];
-                self.instrumentArray = [NSMutableArray arrayWithArray:instrumentArray];
-                dispatch_main_async_safe(^{
-                    [self resetChooseStatus];
-                    [self refreshView];
-                });
             }
-
+            self.parentArray = [NSMutableArray arrayWithArray:parentNodeArray];
+            self.instrumentArray = [NSMutableArray arrayWithArray:instrumentArray];
+            dispatch_main_async_safe(^{
+                [self resetChooseStatus];
+                [self refreshView];
+            });
         });
     };
 }
 
 - (void)resetChooseStatus {
     self.chooseIndex = 0;
+    NSMutableArray *sourceArray = self.instrumentArray[self.chooseIndex];
+    self.imageArray = sourceArray;
+    self.chooseInstrument = self.imageArray[self.chooseIndex];
 }
 // 刷新页面
 - (void)refreshView {
-    
+    if (self.parentArray.count  <= 0) {
+        return;
+    }
     NSMutableArray *titleArray = [NSMutableArray array];
     for (NSDictionary *parm in self.parentArray) {
         [titleArray addObject:[parm stringValueForKey:@"subjectName"]];
@@ -182,7 +188,9 @@
 }
 
 - (void)cycleScrollView:(ZKCycleScrollView *)cycleScrollView didScrollFromIndex:(NSInteger)fromIndex toIndex:(NSInteger)toIndex {
+    self.chooseInstrument = self.imageArray[toIndex];
     [self refreshBottomView:toIndex];
+    
 }
 
 #pragma mark ---- lazying
@@ -235,7 +243,21 @@
 
 
 - (void)sureChooseSubject {
-    
+    NSString *subjectId = self.chooseInstrument.internalBaseClassIdentifier;
+    [self showhud];
+    [KSNetworkingManager studentSetSubject:KS_GET subjectIds:subjectId success:^(NSDictionary * _Nonnull dic) {
+        if ([dic integerValueForKey:@"code"] == 200 && [dic boolValueForKey:@"status"]) {
+            MJWeakSelf;
+            [self KSShowMsg:@"设置成功" promptCompletion:^{
+                [weakSelf backAction];
+            }];
+        }
+        else {
+            [self MBPShow:MESSAGEKEY];
+        }
+    } faliure:^(NSError * _Nonnull error) {
+        [self removehub];
+    }];
 }
 /*
 #pragma mark - Navigation

+ 2 - 2
KulexiuForStudent/KulexiuForStudent/Module/Login/Model/UserInfoManager.m

@@ -113,8 +113,8 @@
             if ([NSString isEmptyString:rongToken]) {
                 needConnect = YES;
             }
-            UserDefaultSet(@"Qqz6kl3pecjzcvo84ydpAeLXAKtgWDud@q4s7.cn.rongnav.com;q4s7.cn.rongcfg.com", RongTokenKey);
-//            UserDefaultSet(self.userInfo.imToken, RongTokenKey);
+//            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];

+ 4 - 4
KulexiuForStudent/KulexiuForStudent/Module/Login/View/FirstSettingBodyView.xib

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="19529" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="20037" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
     <device id="retina6_1" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="19519"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="20020"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
@@ -37,7 +37,7 @@
                         <textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请再次输入您的登录密码" textAlignment="natural" clearsOnBeginEditing="YES" minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="HbB-aF-yVr">
                             <rect key="frame" x="35" y="22" width="344" height="48"/>
                             <fontDescription key="fontDescription" type="system" pointSize="16"/>
-                            <textInputTraits key="textInputTraits" keyboardType="ASCIICapableNumberPad" returnKeyType="done" enablesReturnKeyAutomatically="YES" secureTextEntry="YES"/>
+                            <textInputTraits key="textInputTraits" keyboardType="alphabet" returnKeyType="done" enablesReturnKeyAutomatically="YES" secureTextEntry="YES"/>
                         </textField>
                         <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="BIj-MZ-kN5">
                             <rect key="frame" x="35" y="69" width="344" height="1"/>
@@ -91,7 +91,7 @@
                         <textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请输入您的登录密码" textAlignment="natural" clearsOnBeginEditing="YES" minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="6u4-r6-o76">
                             <rect key="frame" x="35" y="22" width="344" height="48"/>
                             <fontDescription key="fontDescription" type="system" pointSize="16"/>
-                            <textInputTraits key="textInputTraits" keyboardType="ASCIICapableNumberPad" returnKeyType="done" enablesReturnKeyAutomatically="YES" secureTextEntry="YES"/>
+                            <textInputTraits key="textInputTraits" keyboardType="alphabet" returnKeyType="done" enablesReturnKeyAutomatically="YES" secureTextEntry="YES"/>
                         </textField>
                         <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Wzg-Pu-IL4">
                             <rect key="frame" x="35" y="69" width="344" height="1"/>

+ 2 - 2
KulexiuForStudent/KulexiuForStudent/Module/Login/View/KSSegmentControl.m

@@ -167,11 +167,11 @@
 
 
 - (CGFloat)getSegmentItemWidth:(NSInteger)count {
-    if (count <= 4) {
+    if (count <= 3) {
         return kScreenWidth / count;
     }
     else {
-        return kScreenWidth / 4;
+        return kScreenWidth / 3;
     }
 }
 

+ 3 - 3
KulexiuForStudent/KulexiuForStudent/Module/Login/View/LoginBodyView.xib

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="19529" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="20037" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
     <device id="retina6_1" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="19519"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="20020"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
@@ -79,7 +79,7 @@
                         <constraint firstItem="LuK-f4-NAr" firstAttribute="leading" secondItem="LXC-2r-VRG" secondAttribute="leading" constant="35" id="try-JB-iMv"/>
                     </constraints>
                 </view>
-                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="未注册的手机号验证后自动创建酷乐秀老师端" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="pce-OW-Xhb">
+                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="未注册的手机号验证后自动创建酷乐秀账号" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="pce-OW-Xhb">
                     <rect key="frame" x="35" y="329" width="344" height="14.5"/>
                     <fontDescription key="fontDescription" type="system" pointSize="12"/>
                     <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>

+ 3 - 3
KulexiuForStudent/KulexiuForStudent/Module/Login/View/PasswordBodyView.xib

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="19529" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="20037" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
     <device id="retina6_1" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="19519"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="20020"/>
         <capability name="System colors in document resources" minToolsVersion="11.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
@@ -86,7 +86,7 @@
                         <textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请输入您的密码" textAlignment="natural" clearsOnBeginEditing="YES" minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="CMD-F6-CMg">
                             <rect key="frame" x="35" y="22" width="344" height="48"/>
                             <fontDescription key="fontDescription" type="system" pointSize="16"/>
-                            <textInputTraits key="textInputTraits" keyboardType="ASCIICapableNumberPad" returnKeyType="done" enablesReturnKeyAutomatically="YES" secureTextEntry="YES"/>
+                            <textInputTraits key="textInputTraits" keyboardType="alphabet" returnKeyType="done" enablesReturnKeyAutomatically="YES" secureTextEntry="YES"/>
                         </textField>
                         <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="slk-N9-8iH">
                             <rect key="frame" x="35" y="69" width="344" height="1"/>

+ 43 - 8
KulexiuForStudent/KulexiuForStudent/Module/Mine/Controller/MineViewController.m

@@ -13,6 +13,8 @@
 #import "NetworkingCheckController.h"
 #import "DeviceCheckView.h"
 #import "KSEnterLiveroomManager.h"
+#import "UserInfoManager.h"
+#import "StudentInfoModel.h"
 
 @interface MineViewController ()
 
@@ -22,6 +24,8 @@
 
 @property (nonatomic, strong) DeviceCheckView *checkView;
 
+@property (nonatomic, strong) StudentInfoModel *mineInfo;
+
 @end
 
 @implementation MineViewController
@@ -39,6 +43,7 @@
     UIImageView *imageView = [[UIImageView alloc] initWithImage:bgImage];
     imageView.frame = CGRectMake(0, 0, kScreenWidth, height);
     [self.view addSubview:imageView];
+    self.scrollView.backgroundColor = [UIColor clearColor];
     
     [self.view addSubview:self.navView];
     CGFloat navHeight = CGRectGetHeight(self.navView.frame);
@@ -71,19 +76,47 @@
     }
 }
 
+- (void)viewWillAppear:(BOOL)animated {
+    [super viewWillAppear:animated];
+    if ([self checkIsLoginToLoginView:YES]) {
+        [self requsetUserMessage];
+    }
+}
+
+- (void)requsetUserMessage {
+    [KSNetworkingManager queryStudentInfoRequest:KS_GET success:^(NSDictionary * _Nonnull dic) {
+        if ([dic integerValueForKey:@"code"] == 200 && [dic boolValueForKey:@"status"]) {
+            self.mineInfo = [[StudentInfoModel alloc] initWithDictionary:[dic dictionaryValueForKey:@"data"]];
+            NSString *rongToken = UserDefault(RongTokenKey);
+            if ([NSString isEmptyString:rongToken]) {
+                [USER_MANAGER queryUserInfoConnectRongCloud:YES];
+            }
+            [self refreshView];
+        }
+        else {
+            [self MBPShow:MESSAGEKEY];
+        }
+    } faliure:^(NSError * _Nonnull error) {
+        
+    }];
+}
+
+- (void)refreshView {
+    [self.bodyView configWithSource:self.mineInfo];
+}
+
 - (void)operationAction:(MINEVIEWTYPE)type {
     switch (type) {
-        case MINEVIEWTYPE_MEMBER:
+        case MINEVIEWTYPE_MEMBER: // member center
         {
-            
+            KSBaseWKWebViewController *ctrl = [[KSBaseWKWebViewController alloc] init];
+            ctrl.url = [NSString stringWithFormat:@"%@%@",WEBHOST,@"/#/memberCenter"];
+            [self.navigationController pushViewController:ctrl animated:YES];
         }
             break;
         case MINEVIEWTYPE_COURSE:
         {
-            NSLog(@"0--");
-            [KSEnterLiveroomManager joinLiveWithRoomId:@"COOLESHOW-TEMP-7-1648798657806" inController:(CustomNavViewController *)self.navigationController callback:^{
-                
-            }];
+
         }
             break;
         case MINEVIEWTYPE_HOMEWORK:
@@ -96,9 +129,11 @@
             
         }
             break;
-        case MINEVIEWTYPE_RECORD:
+        case MINEVIEWTYPE_RECORD: // 评测记录
         {
-            
+            KSBaseWKWebViewController *ctrl = [[KSBaseWKWebViewController alloc] init];
+            ctrl.url = [NSString stringWithFormat:@"%@%@",WEBHOST,@"/#/memberRecord"];
+            [self.navigationController pushViewController:ctrl animated:YES];
         }
             break;
         case MINEVIEWTYPE_DEAL:

+ 37 - 0
KulexiuForStudent/KulexiuForStudent/Module/Mine/Model/StudentInfoModel.h

@@ -0,0 +1,37 @@
+//
+//  StudentInfoModel.h
+//
+//  Created by Steven  on 2022/4/15
+//  Copyright (c) 2022 __MyCompanyName__. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+
+
+@interface StudentInfoModel : NSObject <NSCoding, NSCopying>
+
+@property (nonatomic, assign) double testingNum;
+@property (nonatomic, assign) double starTeacherNum;
+@property (nonatomic, strong) NSString *membershipStartTime;
+@property (nonatomic, assign) double exerciseDays;
+@property (nonatomic, assign) double membershipDays;
+@property (nonatomic, assign) double cloudStudySequenceDays;
+@property (nonatomic, strong) NSString *membershipEndTime;
+@property (nonatomic, strong) NSString *subjectId;
+@property (nonatomic, strong) NSString *cloudStudyUseLastDay;
+@property (nonatomic, assign) double finshClassHours;
+@property (nonatomic, strong) NSString *userId;
+@property (nonatomic, strong) NSString *createTime;
+@property (nonatomic, assign) double unfinshClassHours;
+@property (nonatomic, strong) NSString *heardUrl;
+@property (nonatomic, strong) NSString *username;
+@property (nonatomic, assign) double exerciseHours;
+@property (nonatomic, assign) double memberRankSettingId;
+@property (nonatomic, strong) NSString *updateTime;
+
++ (instancetype)modelObjectWithDictionary:(NSDictionary *)dict;
+- (instancetype)initWithDictionary:(NSDictionary *)dict;
+- (NSDictionary *)dictionaryRepresentation;
+
+@end

+ 218 - 0
KulexiuForStudent/KulexiuForStudent/Module/Mine/Model/StudentInfoModel.m

@@ -0,0 +1,218 @@
+//
+//  StudentInfoModel.m
+//
+//  Created by Steven  on 2022/4/15
+//  Copyright (c) 2022 __MyCompanyName__. All rights reserved.
+//
+
+#import "StudentInfoModel.h"
+
+
+NSString *const kStudentInfoModelTestingNum = @"testingNum";
+NSString *const kStudentInfoModelStarTeacherNum = @"starTeacherNum";
+NSString *const kStudentInfoModelMembershipStartTime = @"membershipStartTime";
+NSString *const kStudentInfoModelExerciseDays = @"exerciseDays";
+NSString *const kStudentInfoModelMembershipDays = @"membershipDays";
+NSString *const kStudentInfoModelCloudStudySequenceDays = @"cloudStudySequenceDays";
+NSString *const kStudentInfoModelMembershipEndTime = @"membershipEndTime";
+NSString *const kStudentInfoModelSubjectId = @"subjectId";
+NSString *const kStudentInfoModelCloudStudyUseLastDay = @"cloudStudyUseLastDay";
+NSString *const kStudentInfoModelFinshClassHours = @"finshClassHours";
+NSString *const kStudentInfoModelUserId = @"userId";
+NSString *const kStudentInfoModelCreateTime = @"createTime";
+NSString *const kStudentInfoModelUnfinshClassHours = @"unfinshClassHours";
+NSString *const kStudentInfoModelHeardUrl = @"heardUrl";
+NSString *const kStudentInfoModelUsername = @"username";
+NSString *const kStudentInfoModelExerciseHours = @"exerciseHours";
+NSString *const kStudentInfoModelMemberRankSettingId = @"memberRankSettingId";
+NSString *const kStudentInfoModelUpdateTime = @"updateTime";
+
+
+@interface StudentInfoModel ()
+
+- (id)objectOrNilForKey:(id)aKey fromDictionary:(NSDictionary *)dict;
+
+@end
+
+@implementation StudentInfoModel
+
+@synthesize testingNum = _testingNum;
+@synthesize starTeacherNum = _starTeacherNum;
+@synthesize membershipStartTime = _membershipStartTime;
+@synthesize exerciseDays = _exerciseDays;
+@synthesize membershipDays = _membershipDays;
+@synthesize cloudStudySequenceDays = _cloudStudySequenceDays;
+@synthesize membershipEndTime = _membershipEndTime;
+@synthesize subjectId = _subjectId;
+@synthesize cloudStudyUseLastDay = _cloudStudyUseLastDay;
+@synthesize finshClassHours = _finshClassHours;
+@synthesize userId = _userId;
+@synthesize createTime = _createTime;
+@synthesize unfinshClassHours = _unfinshClassHours;
+@synthesize heardUrl = _heardUrl;
+@synthesize username = _username;
+@synthesize exerciseHours = _exerciseHours;
+@synthesize memberRankSettingId = _memberRankSettingId;
+@synthesize updateTime = _updateTime;
+
+
++ (instancetype)modelObjectWithDictionary:(NSDictionary *)dict
+{
+    return [[self alloc] initWithDictionary:dict];
+}
+
+- (instancetype)initWithDictionary:(NSDictionary *)dict
+{
+    self = [super init];
+    
+    // This check serves to make sure that a non-NSDictionary object
+    // passed into the model class doesn't break the parsing.
+    if(self && [dict isKindOfClass:[NSDictionary class]]) {
+            self.testingNum = [[self objectOrNilForKey:kStudentInfoModelTestingNum fromDictionary:dict] doubleValue];
+            self.starTeacherNum = [[self objectOrNilForKey:kStudentInfoModelStarTeacherNum fromDictionary:dict] doubleValue];
+            self.membershipStartTime = [self objectOrNilForKey:kStudentInfoModelMembershipStartTime fromDictionary:dict];
+            self.exerciseDays = [[self objectOrNilForKey:kStudentInfoModelExerciseDays fromDictionary:dict] doubleValue];
+            self.membershipDays = [[self objectOrNilForKey:kStudentInfoModelMembershipDays fromDictionary:dict] doubleValue];
+            self.cloudStudySequenceDays = [[self objectOrNilForKey:kStudentInfoModelCloudStudySequenceDays fromDictionary:dict] doubleValue];
+            self.membershipEndTime = [self objectOrNilForKey:kStudentInfoModelMembershipEndTime fromDictionary:dict];
+            self.subjectId = [self objectOrNilForKey:kStudentInfoModelSubjectId fromDictionary:dict];
+            self.cloudStudyUseLastDay = [self objectOrNilForKey:kStudentInfoModelCloudStudyUseLastDay fromDictionary:dict];
+            self.finshClassHours = [[self objectOrNilForKey:kStudentInfoModelFinshClassHours fromDictionary:dict] doubleValue];
+            self.userId = [self objectOrNilForKey:kStudentInfoModelUserId fromDictionary:dict];
+            self.createTime = [self objectOrNilForKey:kStudentInfoModelCreateTime fromDictionary:dict];
+            self.unfinshClassHours = [[self objectOrNilForKey:kStudentInfoModelUnfinshClassHours fromDictionary:dict] doubleValue];
+            self.heardUrl = [self objectOrNilForKey:kStudentInfoModelHeardUrl fromDictionary:dict];
+            self.username = [self objectOrNilForKey:kStudentInfoModelUsername fromDictionary:dict];
+            self.exerciseHours = [[self objectOrNilForKey:kStudentInfoModelExerciseHours fromDictionary:dict] doubleValue];
+            self.memberRankSettingId = [[self objectOrNilForKey:kStudentInfoModelMemberRankSettingId fromDictionary:dict] doubleValue];
+            self.updateTime = [self objectOrNilForKey:kStudentInfoModelUpdateTime fromDictionary:dict];
+
+    }
+    
+    return self;
+    
+}
+
+- (NSDictionary *)dictionaryRepresentation
+{
+    NSMutableDictionary *mutableDict = [NSMutableDictionary dictionary];
+    [mutableDict setValue:[NSNumber numberWithDouble:self.testingNum] forKey:kStudentInfoModelTestingNum];
+    [mutableDict setValue:[NSNumber numberWithDouble:self.starTeacherNum] forKey:kStudentInfoModelStarTeacherNum];
+    [mutableDict setValue:self.membershipStartTime forKey:kStudentInfoModelMembershipStartTime];
+    [mutableDict setValue:[NSNumber numberWithDouble:self.exerciseDays] forKey:kStudentInfoModelExerciseDays];
+    [mutableDict setValue:[NSNumber numberWithDouble:self.membershipDays] forKey:kStudentInfoModelMembershipDays];
+    [mutableDict setValue:[NSNumber numberWithDouble:self.cloudStudySequenceDays] forKey:kStudentInfoModelCloudStudySequenceDays];
+    [mutableDict setValue:self.membershipEndTime forKey:kStudentInfoModelMembershipEndTime];
+    [mutableDict setValue:self.subjectId forKey:kStudentInfoModelSubjectId];
+    [mutableDict setValue:self.cloudStudyUseLastDay forKey:kStudentInfoModelCloudStudyUseLastDay];
+    [mutableDict setValue:[NSNumber numberWithDouble:self.finshClassHours] forKey:kStudentInfoModelFinshClassHours];
+    [mutableDict setValue:self.userId forKey:kStudentInfoModelUserId];
+    [mutableDict setValue:self.createTime forKey:kStudentInfoModelCreateTime];
+    [mutableDict setValue:[NSNumber numberWithDouble:self.unfinshClassHours] forKey:kStudentInfoModelUnfinshClassHours];
+    [mutableDict setValue:self.heardUrl forKey:kStudentInfoModelHeardUrl];
+    [mutableDict setValue:self.username forKey:kStudentInfoModelUsername];
+    [mutableDict setValue:[NSNumber numberWithDouble:self.exerciseHours] forKey:kStudentInfoModelExerciseHours];
+    [mutableDict setValue:[NSNumber numberWithDouble:self.memberRankSettingId] forKey:kStudentInfoModelMemberRankSettingId];
+    [mutableDict setValue:self.updateTime forKey:kStudentInfoModelUpdateTime];
+
+    return [NSDictionary dictionaryWithDictionary:mutableDict];
+}
+
+- (NSString *)description 
+{
+    return [NSString stringWithFormat:@"%@", [self dictionaryRepresentation]];
+}
+
+#pragma mark - Helper Method
+- (id)objectOrNilForKey:(id)aKey fromDictionary:(NSDictionary *)dict
+{
+    id object = [dict objectForKey:aKey];
+    if ([object isKindOfClass:[NSNumber class]]) {
+        NSNumber *number = object;
+        object = [number stringValue];
+    }
+    return [object isEqual:[NSNull null]] ? nil : object;
+}
+
+
+#pragma mark - NSCoding Methods
+
+- (id)initWithCoder:(NSCoder *)aDecoder
+{
+    self = [super init];
+
+    self.testingNum = [aDecoder decodeDoubleForKey:kStudentInfoModelTestingNum];
+    self.starTeacherNum = [aDecoder decodeDoubleForKey:kStudentInfoModelStarTeacherNum];
+    self.membershipStartTime = [aDecoder decodeObjectForKey:kStudentInfoModelMembershipStartTime];
+    self.exerciseDays = [aDecoder decodeDoubleForKey:kStudentInfoModelExerciseDays];
+    self.membershipDays = [aDecoder decodeDoubleForKey:kStudentInfoModelMembershipDays];
+    self.cloudStudySequenceDays = [aDecoder decodeDoubleForKey:kStudentInfoModelCloudStudySequenceDays];
+    self.membershipEndTime = [aDecoder decodeObjectForKey:kStudentInfoModelMembershipEndTime];
+    self.subjectId = [aDecoder decodeObjectForKey:kStudentInfoModelSubjectId];
+    self.cloudStudyUseLastDay = [aDecoder decodeObjectForKey:kStudentInfoModelCloudStudyUseLastDay];
+    self.finshClassHours = [aDecoder decodeDoubleForKey:kStudentInfoModelFinshClassHours];
+    self.userId = [aDecoder decodeObjectForKey:kStudentInfoModelUserId];
+    self.createTime = [aDecoder decodeObjectForKey:kStudentInfoModelCreateTime];
+    self.unfinshClassHours = [aDecoder decodeDoubleForKey:kStudentInfoModelUnfinshClassHours];
+    self.heardUrl = [aDecoder decodeObjectForKey:kStudentInfoModelHeardUrl];
+    self.username = [aDecoder decodeObjectForKey:kStudentInfoModelUsername];
+    self.exerciseHours = [aDecoder decodeDoubleForKey:kStudentInfoModelExerciseHours];
+    self.memberRankSettingId = [aDecoder decodeDoubleForKey:kStudentInfoModelMemberRankSettingId];
+    self.updateTime = [aDecoder decodeObjectForKey:kStudentInfoModelUpdateTime];
+    return self;
+}
+
+- (void)encodeWithCoder:(NSCoder *)aCoder
+{
+
+    [aCoder encodeDouble:_testingNum forKey:kStudentInfoModelTestingNum];
+    [aCoder encodeDouble:_starTeacherNum forKey:kStudentInfoModelStarTeacherNum];
+    [aCoder encodeObject:_membershipStartTime forKey:kStudentInfoModelMembershipStartTime];
+    [aCoder encodeDouble:_exerciseDays forKey:kStudentInfoModelExerciseDays];
+    [aCoder encodeDouble:_membershipDays forKey:kStudentInfoModelMembershipDays];
+    [aCoder encodeDouble:_cloudStudySequenceDays forKey:kStudentInfoModelCloudStudySequenceDays];
+    [aCoder encodeObject:_membershipEndTime forKey:kStudentInfoModelMembershipEndTime];
+    [aCoder encodeObject:_subjectId forKey:kStudentInfoModelSubjectId];
+    [aCoder encodeObject:_cloudStudyUseLastDay forKey:kStudentInfoModelCloudStudyUseLastDay];
+    [aCoder encodeDouble:_finshClassHours forKey:kStudentInfoModelFinshClassHours];
+    [aCoder encodeObject:_userId forKey:kStudentInfoModelUserId];
+    [aCoder encodeObject:_createTime forKey:kStudentInfoModelCreateTime];
+    [aCoder encodeDouble:_unfinshClassHours forKey:kStudentInfoModelUnfinshClassHours];
+    [aCoder encodeObject:_heardUrl forKey:kStudentInfoModelHeardUrl];
+    [aCoder encodeObject:_username forKey:kStudentInfoModelUsername];
+    [aCoder encodeDouble:_exerciseHours forKey:kStudentInfoModelExerciseHours];
+    [aCoder encodeDouble:_memberRankSettingId forKey:kStudentInfoModelMemberRankSettingId];
+    [aCoder encodeObject:_updateTime forKey:kStudentInfoModelUpdateTime];
+}
+
+- (id)copyWithZone:(NSZone *)zone
+{
+    StudentInfoModel *copy = [[StudentInfoModel alloc] init];
+    
+    if (copy) {
+
+        copy.testingNum = self.testingNum;
+        copy.starTeacherNum = self.starTeacherNum;
+        copy.membershipStartTime = [self.membershipStartTime copyWithZone:zone];
+        copy.exerciseDays = self.exerciseDays;
+        copy.membershipDays = self.membershipDays;
+        copy.cloudStudySequenceDays = self.cloudStudySequenceDays;
+        copy.membershipEndTime = [self.membershipEndTime copyWithZone:zone];
+        copy.subjectId = [self.subjectId copyWithZone:zone];
+        copy.cloudStudyUseLastDay = [self.cloudStudyUseLastDay copyWithZone:zone];
+        copy.finshClassHours = self.finshClassHours;
+        copy.userId = [self.userId copyWithZone:zone];
+        copy.createTime = [self.createTime copyWithZone:zone];
+        copy.unfinshClassHours = self.unfinshClassHours;
+        copy.heardUrl = [self.heardUrl copyWithZone:zone];
+        copy.username = [self.username copyWithZone:zone];
+        copy.exerciseHours = self.exerciseHours;
+        copy.memberRankSettingId = self.memberRankSettingId;
+        copy.updateTime = [self.updateTime copyWithZone:zone];
+    }
+    
+    return copy;
+}
+
+
+@end

+ 4 - 0
KulexiuForStudent/KulexiuForStudent/Module/Mine/View/MineBodyView.h

@@ -6,6 +6,8 @@
 //
 
 #import <UIKit/UIKit.h>
+#import "StudentInfoModel.h"
+
 typedef NS_ENUM(NSInteger, MINEVIEWTYPE) {
     MINEVIEWTYPE_MEMBER = 1001,
     MINEVIEWTYPE_COURSE,
@@ -26,6 +28,8 @@ NS_ASSUME_NONNULL_BEGIN
 
 + (instancetype)shareInstance;
 
+- (void)configWithSource:(StudentInfoModel *)sourceModel;
+
 - (void)operationCallback:(MineViewCallback)callback;
 
 - (CGFloat)getViewHeight;

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

@@ -25,6 +25,14 @@
 
 @property (weak, nonatomic) IBOutlet NSLayoutConstraint *dealViewHeight;
 
+@property (weak, nonatomic) IBOutlet UIImageView *userAvatar;
+
+@property (weak, nonatomic) IBOutlet UILabel *userName;
+
+@property (weak, nonatomic) IBOutlet UILabel *userIdLabel;
+
+@property (weak, nonatomic) IBOutlet UILabel *memberCountLabel;
+
 @property (nonatomic, copy) MineViewCallback callback;
 
 @end
@@ -41,6 +49,24 @@
         self.callback = callback;
     }
 }
+
+- (void)configWithSource:(StudentInfoModel *)sourceModel {
+    self.finishCourseLabel.text = [NSString stringWithFormat:@"%.0f",sourceModel.finshClassHours];
+    self.residueCourseLabel.text = [NSString stringWithFormat:@"%.0f",sourceModel.unfinshClassHours];
+    self.followTeacherLabel.text = [NSString stringWithFormat:@"%.0f",sourceModel.starTeacherNum];
+    NSString *userName = @"";
+    if (![NSString isEmptyString:sourceModel.username]) {
+        userName = sourceModel.username;
+    }
+    else {
+        userName = [NSString stringWithFormat:@"游客%@",sourceModel.userId];
+    }
+    self.userName.text = userName;
+    self.userIdLabel.text = [NSString stringWithFormat:@"学号:%@",sourceModel.userId];
+    self.memberCountLabel.text = [NSString stringWithFormat:@"会员有效期剩余%.0f天",sourceModel.membershipDays];
+    [self.userAvatar sd_setImageWithURL:[NSURL URLWithString:sourceModel.heardUrl] placeholderImage:[UIImage imageNamed:USERDEFAULT_LOGO]];
+}
+
 - (IBAction)toMemberDetail:(id)sender {
     if (self.callback) {
         self.callback(MINEVIEWTYPE_MEMBER);

+ 25 - 15
KulexiuForStudent/KulexiuForStudent/Module/Mine/View/MineBodyView.xib

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="19529" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="20037" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
     <device id="retina6_1" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="19519"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="20020"/>
         <capability name="System colors in document resources" minToolsVersion="11.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
@@ -223,14 +223,14 @@
                                 </userDefinedRuntimeAttribute>
                             </userDefinedRuntimeAttributes>
                         </imageView>
-                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="游客12e32td" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Kmw-KD-cZO">
-                            <rect key="frame" x="77" y="20" width="105" height="22"/>
+                        <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"/>
                             <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="44" width="133" height="20"/>
+                            <rect key="frame" x="77" y="22" 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"/>
@@ -239,8 +239,8 @@
                                         <constraint firstAttribute="width" constant="13" id="SG6-xW-8RH"/>
                                     </constraints>
                                 </imageView>
-                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="学号:1736453860" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="yim-3c-rJe">
-                                    <rect key="frame" x="25" y="3" width="102" height="14"/>
+                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="学号:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="yim-3c-rJe">
+                                    <rect key="frame" x="25" y="3" width="34" height="14"/>
                                     <fontDescription key="fontDescription" type="system" pointSize="11"/>
                                     <color key="textColor" red="0.41568627450980389" green="0.41568627450980389" blue="0.41568627450980389" alpha="1" colorSpace="calibratedRGB"/>
                                     <nil key="highlightedColor"/>
@@ -283,22 +283,22 @@
                         <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="member_logo" translatesAutoresizingMaskIntoConstraints="NO" id="5z5-qL-E8k">
                             <rect key="frame" x="20" y="18" width="19" height="16"/>
                         </imageView>
-                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="会员有效期剩余324天" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="6qT-My-OUw">
-                            <rect key="frame" x="47" y="17.5" width="140" height="17"/>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="会员有效期剩余xx天" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="6qT-My-OUw">
+                            <rect key="frame" x="47" y="17.5" width="129" height="17"/>
                             <fontDescription key="fontDescription" type="system" pointSize="14"/>
                             <color key="textColor" red="0.99607843137254903" green="0.82352941176470584" blue="0.44313725490196076" alpha="1" colorSpace="calibratedRGB"/>
                             <nil key="highlightedColor"/>
                         </label>
                         <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="mmG-7j-0TH">
                             <rect key="frame" x="281" y="16" width="75" height="20"/>
-                            <color key="backgroundColor" red="0.99607843139999996" green="0.82352941180000006" blue="0.4431372549" alpha="1" colorSpace="calibratedRGB"/>
+                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                             <constraints>
                                 <constraint firstAttribute="width" constant="75" id="3z5-of-1Pd"/>
                                 <constraint firstAttribute="height" constant="20" id="lpy-gf-uvk"/>
                             </constraints>
                             <fontDescription key="fontDescription" type="system" pointSize="12"/>
                             <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
-                            <state key="normal" title="会员中心"/>
+                            <state key="normal" image="member_center"/>
                             <connections>
                                 <action selector="toMemberDetail:" destination="iN0-l3-epB" eventType="touchUpInside" id="ZP9-R7-fAK"/>
                             </connections>
@@ -325,7 +325,7 @@
                         <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="A7V-1n-5kh">
                             <rect key="frame" x="0.0" y="0.0" width="130" height="100"/>
                             <subviews>
-                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="24" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="lLR-pZ-jam">
+                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="lLR-pZ-jam">
                                     <rect key="frame" x="0.0" y="22" width="130" height="28"/>
                                     <constraints>
                                         <constraint firstAttribute="height" constant="28" id="88S-nh-mi3"/>
@@ -355,7 +355,7 @@
                         <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="PYL-4D-6TG">
                             <rect key="frame" x="260" y="0.0" width="130" height="100"/>
                             <subviews>
-                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="15" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gfo-ED-EEb">
+                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gfo-ED-EEb">
                                     <rect key="frame" x="0.0" y="22" width="130" height="28"/>
                                     <constraints>
                                         <constraint firstAttribute="height" constant="28" id="60k-Q6-ldX"/>
@@ -389,7 +389,7 @@
                         <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="uWw-1c-qnY">
                             <rect key="frame" x="130" y="0.0" width="130" height="100"/>
                             <subviews>
-                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="12" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="kXq-zC-0rd">
+                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="kXq-zC-0rd">
                                     <rect key="frame" x="0.0" y="22" width="130" height="28"/>
                                     <constraints>
                                         <constraint firstAttribute="height" constant="28" id="EBC-n2-Ip5"/>
@@ -432,6 +432,11 @@
                         <constraint firstItem="A7V-1n-5kh" firstAttribute="top" secondItem="CM0-x0-QTu" secondAttribute="top" id="pkm-bt-vip"/>
                         <constraint firstItem="PYL-4D-6TG" firstAttribute="top" secondItem="CM0-x0-QTu" secondAttribute="top" id="qpR-Dh-arg"/>
                     </constraints>
+                    <userDefinedRuntimeAttributes>
+                        <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                            <real key="value" value="12"/>
+                        </userDefinedRuntimeAttribute>
+                    </userDefinedRuntimeAttributes>
                 </view>
                 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Qk7-Dc-xiJ">
                     <rect key="frame" x="12" y="361" width="390" height="220"/>
@@ -632,7 +637,7 @@
                     </userDefinedRuntimeAttributes>
                 </view>
             </subviews>
-            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+            <color key="backgroundColor" red="0.96470588235294119" green="0.97254901960784312" blue="0.97647058823529409" alpha="1" colorSpace="calibratedRGB"/>
             <constraints>
                 <constraint firstItem="yLa-RZ-nEh" firstAttribute="top" secondItem="CM0-x0-QTu" secondAttribute="bottom" constant="12" id="210-NZ-EXg"/>
                 <constraint firstAttribute="trailing" secondItem="Qk7-Dc-xiJ" secondAttribute="trailing" constant="12" id="A0I-Vb-BmB"/>
@@ -658,9 +663,13 @@
                 <outlet property="dealViewHeight" destination="2oN-GF-6kf" id="Njn-En-26H"/>
                 <outlet property="finishCourseLabel" destination="lLR-pZ-jam" id="cVd-kH-5uJ"/>
                 <outlet property="followTeacherLabel" destination="gfo-ED-EEb" id="Fn2-TG-zkD"/>
+                <outlet property="memberCountLabel" destination="6qT-My-OUw" id="zH9-FK-BPX"/>
                 <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="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"/>
             </connections>
             <point key="canvasLocation" x="131.8840579710145" y="95.758928571428569"/>
         </view>
@@ -712,6 +721,7 @@
     </objects>
     <resources>
         <image name="member_bg" width="175" height="82"/>
+        <image name="member_center" width="75" height="20"/>
         <image name="member_logo" width="19" height="16"/>
         <image name="mine_course" width="33" height="35"/>
         <image name="mine_deal_record" width="23" height="22"/>

二进制
KulexiuForStudent/build/Debug-iphonesimulator/AFNetworking/AFNetworking.framework/AFNetworking


二进制
KulexiuForStudent/build/Debug-iphonesimulator/AFNetworking/AFNetworking.framework/Info.plist


+ 1 - 1
KulexiuForStudent/build/Debug-iphonesimulator/AFNetworking/AFNetworking.framework/_CodeSignature/CodeResources

@@ -82,7 +82,7 @@
 		</data>
 		<key>Info.plist</key>
 		<data>
-		011KpYbbAxCa2S3FZWzogKeIDyo=
+		9vKeNOewfuEdQqyz4IJF0GNe8No=
 		</data>
 		<key>Modules/module.modulemap</key>
 		<data>

二进制
KulexiuForStudent/build/Debug-iphonesimulator/CHIPageControl/CHIPageControl.framework/CHIPageControl


二进制
KulexiuForStudent/build/Debug-iphonesimulator/CHIPageControl/CHIPageControl.framework/Info.plist


+ 1 - 1
KulexiuForStudent/build/Debug-iphonesimulator/CHIPageControl/CHIPageControl.framework/_CodeSignature/CodeResources

@@ -14,7 +14,7 @@
 		</data>
 		<key>Info.plist</key>
 		<data>
-		ZQ8gGyhUDzX8/yP0+VTe5CbguoA=
+		BwZJEa7TgsPbybc60jO/6sy2Oec=
 		</data>
 		<key>Modules/CHIPageControl.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo</key>
 		<data>

二进制
KulexiuForStudent/build/Debug-iphonesimulator/IQKeyboardManager/IQKeyboardManager.framework/IQKeyboardManager


二进制
KulexiuForStudent/build/Debug-iphonesimulator/IQKeyboardManager/IQKeyboardManager.framework/Info.plist


+ 1 - 1
KulexiuForStudent/build/Debug-iphonesimulator/IQKeyboardManager/IQKeyboardManager.framework/_CodeSignature/CodeResources

@@ -62,7 +62,7 @@
 		</data>
 		<key>Info.plist</key>
 		<data>
-		QblomvOr5xDl7ZSzBesTRfg2V2k=
+		Scni0Dr0SiBj+LXlY3W7kMUiCtc=
 		</data>
 		<key>Modules/module.modulemap</key>
 		<data>

二进制
KulexiuForStudent/build/Debug-iphonesimulator/JXCategoryView/JXCategoryView.framework/Info.plist


二进制
KulexiuForStudent/build/Debug-iphonesimulator/JXCategoryView/JXCategoryView.framework/JXCategoryView


+ 1 - 1
KulexiuForStudent/build/Debug-iphonesimulator/JXCategoryView/JXCategoryView.framework/_CodeSignature/CodeResources

@@ -182,7 +182,7 @@
 		</data>
 		<key>Info.plist</key>
 		<data>
-		XQqmO+sgUHgxuxPXIGHXfUizrug=
+		9truIsRwDOXnlMCZ64X32OMwUxw=
 		</data>
 		<key>Modules/module.modulemap</key>
 		<data>

二进制
KulexiuForStudent/build/Debug-iphonesimulator/JXPagingView/JXPagingView.framework/Info.plist


二进制
KulexiuForStudent/build/Debug-iphonesimulator/JXPagingView/JXPagingView.framework/JXPagingView


+ 1 - 1
KulexiuForStudent/build/Debug-iphonesimulator/JXPagingView/JXPagingView.framework/_CodeSignature/CodeResources

@@ -30,7 +30,7 @@
 		</data>
 		<key>Info.plist</key>
 		<data>
-		rgKr8wAm8k4/GLAU7cdXJZp4ess=
+		7kW6RV+5qLuaRpUdFnJjckCUbqI=
 		</data>
 		<key>Modules/module.modulemap</key>
 		<data>

二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Assets.car


二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/FirstSettingBodyView.nib


二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/AFNetworking.framework/AFNetworking


二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/AFNetworking.framework/Info.plist


+ 1 - 1
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/AFNetworking.framework/_CodeSignature/CodeResources

@@ -6,7 +6,7 @@
 	<dict>
 		<key>Info.plist</key>
 		<data>
-		011KpYbbAxCa2S3FZWzogKeIDyo=
+		9vKeNOewfuEdQqyz4IJF0GNe8No=
 		</data>
 	</dict>
 	<key>files2</key>

二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/CHIPageControl.framework/CHIPageControl


二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/CHIPageControl.framework/Info.plist


+ 1 - 1
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/CHIPageControl.framework/_CodeSignature/CodeResources

@@ -6,7 +6,7 @@
 	<dict>
 		<key>Info.plist</key>
 		<data>
-		ZQ8gGyhUDzX8/yP0+VTe5CbguoA=
+		BwZJEa7TgsPbybc60jO/6sy2Oec=
 		</data>
 	</dict>
 	<key>files2</key>

二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/IQKeyboardManager.framework/IQKeyboardManager


二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/IQKeyboardManager.framework/Info.plist


+ 1 - 1
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/IQKeyboardManager.framework/_CodeSignature/CodeResources

@@ -6,7 +6,7 @@
 	<dict>
 		<key>Info.plist</key>
 		<data>
-		QblomvOr5xDl7ZSzBesTRfg2V2k=
+		Scni0Dr0SiBj+LXlY3W7kMUiCtc=
 		</data>
 	</dict>
 	<key>files2</key>

二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/JXCategoryView.framework/Info.plist


二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/JXCategoryView.framework/JXCategoryView


+ 1 - 1
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/JXCategoryView.framework/_CodeSignature/CodeResources

@@ -6,7 +6,7 @@
 	<dict>
 		<key>Info.plist</key>
 		<data>
-		XQqmO+sgUHgxuxPXIGHXfUizrug=
+		9truIsRwDOXnlMCZ64X32OMwUxw=
 		</data>
 	</dict>
 	<key>files2</key>

二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/JXPagingView.framework/Info.plist


二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/JXPagingView.framework/JXPagingView


+ 1 - 1
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/JXPagingView.framework/_CodeSignature/CodeResources

@@ -6,7 +6,7 @@
 	<dict>
 		<key>Info.plist</key>
 		<data>
-		rgKr8wAm8k4/GLAU7cdXJZp4ess=
+		7kW6RV+5qLuaRpUdFnJjckCUbqI=
 		</data>
 	</dict>
 	<key>files2</key>

二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/MBProgressHUD.framework/Info.plist


二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/MBProgressHUD.framework/MBProgressHUD


+ 1 - 1
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/MBProgressHUD.framework/_CodeSignature/CodeResources

@@ -6,7 +6,7 @@
 	<dict>
 		<key>Info.plist</key>
 		<data>
-		7hDNuwkQxPsHv5RElZNpPg4pOWk=
+		TJfIcCDMOXO73wNgvDmHwgLNxTk=
 		</data>
 	</dict>
 	<key>files2</key>

二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/MJExtension.framework/Info.plist


二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/MJExtension.framework/MJExtension


+ 1 - 1
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/MJExtension.framework/_CodeSignature/CodeResources

@@ -6,7 +6,7 @@
 	<dict>
 		<key>Info.plist</key>
 		<data>
-		NyL4tGwgv8qMBH/V1Tgj7RxwgTo=
+		UWMq8Q8OBB7J+sPTQFoXaoul3Hg=
 		</data>
 	</dict>
 	<key>files2</key>

二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/MJRefresh.framework/Info.plist


二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/MJRefresh.framework/MJRefresh


+ 1 - 1
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/MJRefresh.framework/_CodeSignature/CodeResources

@@ -6,7 +6,7 @@
 	<dict>
 		<key>Info.plist</key>
 		<data>
-		xIWh2sj6iWzbR1Qq6wr7aW7+idA=
+		ToDc6m8a5pOVjbCds7QRwslseKw=
 		</data>
 		<key>MJRefresh.bundle/arrow@2x.png</key>
 		<data>

二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/Masonry.framework/Info.plist


二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/Masonry.framework/Masonry


+ 1 - 1
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/Masonry.framework/_CodeSignature/CodeResources

@@ -6,7 +6,7 @@
 	<dict>
 		<key>Info.plist</key>
 		<data>
-		wk3/ccdJkMmCbtf5tIXyED8wmgk=
+		IArL3iKTTW0SygG5o19AK4ia2Ok=
 		</data>
 	</dict>
 	<key>files2</key>

二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/RSKImageCropper.framework/Info.plist


二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/RSKImageCropper.framework/RSKImageCropper


+ 1 - 1
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/RSKImageCropper.framework/_CodeSignature/CodeResources

@@ -6,7 +6,7 @@
 	<dict>
 		<key>Info.plist</key>
 		<data>
-		+Z6k1tTDp0kQ6O4RvoKHRySa1TA=
+		/Y3OdXfVHhM6usOMlzuPIz8iMZQ=
 		</data>
 		<key>RSKImageCropperStrings.bundle/ar.lproj/RSKImageCropper.strings</key>
 		<dict>

二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/Reachability.framework/Info.plist


二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/Reachability.framework/Reachability


+ 1 - 1
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/Reachability.framework/_CodeSignature/CodeResources

@@ -6,7 +6,7 @@
 	<dict>
 		<key>Info.plist</key>
 		<data>
-		SiZdi7e+k+38929BKZzW1fUhqC4=
+		ZjYAPEAJAzknKSdFuGkGzGGs5wM=
 		</data>
 	</dict>
 	<key>files2</key>

二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/SDWebImage.framework/Info.plist


二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/SDWebImage.framework/SDWebImage


+ 1 - 1
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/SDWebImage.framework/_CodeSignature/CodeResources

@@ -6,7 +6,7 @@
 	<dict>
 		<key>Info.plist</key>
 		<data>
-		ARzXBSdyCZlqLQm4GZlGiEpoWjc=
+		xaVK/EfP/f4pM+enOmvEtDF5cFo=
 		</data>
 	</dict>
 	<key>files2</key>

二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/SSZipArchive.framework/Info.plist


二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/SSZipArchive.framework/SSZipArchive


+ 1 - 1
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/SSZipArchive.framework/_CodeSignature/CodeResources

@@ -6,7 +6,7 @@
 	<dict>
 		<key>Info.plist</key>
 		<data>
-		NcoeG+FHUw0jgJ00cZPfGBIjqmQ=
+		l19PE5+VDI0//uJld5Uqzl/5I3k=
 		</data>
 	</dict>
 	<key>files2</key>

二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/SocketRocket.framework/Info.plist


二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/SocketRocket.framework/SocketRocket


+ 1 - 1
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/SocketRocket.framework/_CodeSignature/CodeResources

@@ -6,7 +6,7 @@
 	<dict>
 		<key>Info.plist</key>
 		<data>
-		WdzUawU69PprUTKcHtz5Kq8VIOk=
+		JH25hHVuWNaUwySQxGVCRLrJstk=
 		</data>
 	</dict>
 	<key>files2</key>

二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/Whiteboard.framework/Info.plist


二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/Whiteboard.framework/Whiteboard


二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/Whiteboard.framework/Whiteboard.bundle/Info.plist


二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/Whiteboard.framework/Whiteboard.bundle/_CodeSignature/CodeDirectory


二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/Whiteboard.framework/Whiteboard.bundle/_CodeSignature/CodeRequirements-1


+ 10 - 10
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/Whiteboard.framework/_CodeSignature/CodeResources

@@ -6,15 +6,15 @@
 	<dict>
 		<key>Info.plist</key>
 		<data>
-		9gmkEpKf1CCl1eKysJLnVL477Is=
+		+O0tzVY+bCSoK/yan4QOGipTWOI=
 		</data>
 		<key>Whiteboard.bundle/Info.plist</key>
 		<data>
-		F+Kv5WwmTTLwERTxECu+kFHR+b4=
+		haREyhDUtKy4ohVoEJBzTJhgZpg=
 		</data>
 		<key>Whiteboard.bundle/_CodeSignature/CodeDirectory</key>
 		<data>
-		/8+pgwEOpWaCnX3sMZ07gtTf0rc=
+		QM+D0pHd8XbewyPy2ZxwznnUKGA=
 		</data>
 		<key>Whiteboard.bundle/_CodeSignature/CodeRequirements</key>
 		<data>
@@ -22,7 +22,7 @@
 		</data>
 		<key>Whiteboard.bundle/_CodeSignature/CodeRequirements-1</key>
 		<data>
-		55WfSog9rzfGwH4L9AEuR0aUKuk=
+		oS4DQZfHi3ASXGlRfbEKDeByFVE=
 		</data>
 		<key>Whiteboard.bundle/_CodeSignature/CodeResources</key>
 		<data>
@@ -79,22 +79,22 @@
 		<dict>
 			<key>hash</key>
 			<data>
-			F+Kv5WwmTTLwERTxECu+kFHR+b4=
+			haREyhDUtKy4ohVoEJBzTJhgZpg=
 			</data>
 			<key>hash2</key>
 			<data>
-			QlYAUCcb81spD0jj6am3COFr3a/J4Y8/lowxFWUZkoA=
+			IUi4oA2gXmQyWfQ+sJY/wB82vMOk7J5g6bFDEuZmoGQ=
 			</data>
 		</dict>
 		<key>Whiteboard.bundle/_CodeSignature/CodeDirectory</key>
 		<dict>
 			<key>hash</key>
 			<data>
-			/8+pgwEOpWaCnX3sMZ07gtTf0rc=
+			QM+D0pHd8XbewyPy2ZxwznnUKGA=
 			</data>
 			<key>hash2</key>
 			<data>
-			jzSy/hgsW7lrJ8COzbLIcjHq8fnTRLVAoz+pp66gQT4=
+			/HGvw6HsiAU6TtQDWD72jroN8aXCCp/Kq/KpQfOyfOo=
 			</data>
 		</dict>
 		<key>Whiteboard.bundle/_CodeSignature/CodeRequirements</key>
@@ -112,11 +112,11 @@
 		<dict>
 			<key>hash</key>
 			<data>
-			55WfSog9rzfGwH4L9AEuR0aUKuk=
+			oS4DQZfHi3ASXGlRfbEKDeByFVE=
 			</data>
 			<key>hash2</key>
 			<data>
-			n6DehKIX2Kpfwi4y/5/thjw3OuPJX/INnRMmNm1K6EU=
+			CVkrbaEh9zRaknOIf77vmOe12Ju0ep8AebrBD9sat9Q=
 			</data>
 		</dict>
 		<key>Whiteboard.bundle/_CodeSignature/CodeResources</key>

二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/YYModel.framework/Info.plist


二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/YYModel.framework/YYModel


+ 1 - 1
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/YYModel.framework/_CodeSignature/CodeResources

@@ -6,7 +6,7 @@
 	<dict>
 		<key>Info.plist</key>
 		<data>
-		z8HCcjyRuD3/HYoDuO+JOMqLD6U=
+		YY5kyfweVehIJXmpqqSoW9Rc3w8=
 		</data>
 	</dict>
 	<key>files2</key>

二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/ZKCycleScrollView.framework/Info.plist


二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/ZKCycleScrollView.framework/ZKCycleScrollView


+ 1 - 1
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/ZKCycleScrollView.framework/_CodeSignature/CodeResources

@@ -6,7 +6,7 @@
 	<dict>
 		<key>Info.plist</key>
 		<data>
-		etuIPUZha3cJNnVnS5SVxxrHnpc=
+		yoa49sp4r+Bo8DIYQ0RHZbHXSPI=
 		</data>
 	</dict>
 	<key>files2</key>

二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/dsBridge.framework/Info.plist


+ 1 - 1
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/dsBridge.framework/_CodeSignature/CodeResources

@@ -6,7 +6,7 @@
 	<dict>
 		<key>Info.plist</key>
 		<data>
-		7tuguQr3IADdByCX5/cfJt6YKTI=
+		yizo/GhvaZJWN21S/o+EFumgS8Q=
 		</data>
 	</dict>
 	<key>files2</key>

二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Frameworks/dsBridge.framework/dsBridge


二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Info.plist


二进制
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/KulexiuForStudent


部分文件因为文件数量过多而无法显示