浏览代码

首页不显示声部

Steven 2 年之前
父节点
当前提交
2b6a7f0b8d
共有 69 个文件被更改,包括 534 次插入113 次删除
  1. 12 0
      KulexiuForStudent/KulexiuForStudent.xcodeproj/project.pbxproj
  2. 二进制
      KulexiuForStudent/KulexiuForStudent.xcworkspace/xcuserdata/wangzhi.xcuserdatad/UserInterfaceState.xcuserstate
  3. 9 9
      KulexiuForStudent/KulexiuForStudent.xcworkspace/xcuserdata/wangzhi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
  4. 3 1
      KulexiuForStudent/KulexiuForStudent/KulexiuForStudent.entitlements
  5. 71 41
      KulexiuForStudent/KulexiuForStudent/Module/Home/Controller/HomeViewController.m
  6. 29 0
      KulexiuForStudent/KulexiuForStudent/Module/Home/Model/RecentCourseModel.h
  7. 158 0
      KulexiuForStudent/KulexiuForStudent/Module/Home/Model/RecentCourseModel.m
  8. 3 2
      KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeCourseTipsView.h
  9. 22 3
      KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeCourseTipsView.m
  10. 8 1
      KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeCourseTipsView.xib
  11. 2 1
      KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeNavView.h
  12. 30 33
      KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeNavView.xib
  13. 44 2
      KulexiuForStudent/KulexiuForStudent/Module/Mine/Setting/Controller/SettingViewController.m
  14. 16 0
      KulexiuForStudent/KulexiuForStudent/Module/Mine/Setting/Controller/UserVefiViewController.h
  15. 32 0
      KulexiuForStudent/KulexiuForStudent/Module/Mine/Setting/Controller/UserVefiViewController.m
  16. 2 2
      KulexiuForStudent/KulexiuForStudent/Module/Mine/Setting/View/FeedbackBodyView.xib
  17. 3 0
      KulexiuForStudent/KulexiuForStudent/Module/Mine/Setting/View/SettingBodyView.h
  18. 68 6
      KulexiuForStudent/KulexiuForStudent/Module/Mine/Setting/View/SettingBodyView.xib
  19. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/KulexiuForStudent
  20. 二进制
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/SettingBodyView.nib
  21. 6 6
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/_CodeSignature/CodeResources
  22. 3 1
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/DerivedSources/Entitlements-Simulated.plist
  23. 二进制
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/KulexiuForStudent-project-headers.hmap
  24. 3 1
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/KulexiuForStudent.app-Simulated.xcent
  25. 3 1
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/HomeViewController.d
  26. 二进制
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/HomeViewController.dia
  27. 二进制
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/HomeViewController.o
  28. 2 0
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KulexiuForStudent.LinkFileList
  29. 二进制
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KulexiuForStudent_dependency_info.dat
  30. 二进制
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/SettingBodyView.o
  31. 3 1
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/SettingViewController.d
  32. 二进制
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/SettingViewController.o
  33. 二进制
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/AFNetworking.build/AFNetworking-all-non-framework-target-headers.hmap
  34. 二进制
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/AFNetworking.build/AFNetworking-all-target-headers.hmap
  35. 二进制
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/CHIPageControl.build/CHIPageControl-all-non-framework-target-headers.hmap
  36. 二进制
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/CHIPageControl.build/CHIPageControl-all-target-headers.hmap
  37. 二进制
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/CHIPageControl.build/Objects-normal/x86_64/CHIPageControl-master.priors
  38. 2 2
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/CHIPageControl.build/Objects-normal/x86_64/CHIPageControl-master.swiftdeps
  39. 二进制
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/IQKeyboardManager.build/IQKeyboardManager-all-non-framework-target-headers.hmap
  40. 二进制
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/IQKeyboardManager.build/IQKeyboardManager-all-target-headers.hmap
  41. 二进制
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/JXCategoryView.build/JXCategoryView-all-non-framework-target-headers.hmap
  42. 二进制
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/JXCategoryView.build/JXCategoryView-all-target-headers.hmap
  43. 二进制
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/JXPagingView.build/JXPagingView-all-target-headers.hmap
  44. 二进制
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/MBProgressHUD.build/MBProgressHUD-all-non-framework-target-headers.hmap
  45. 二进制
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/MBProgressHUD.build/MBProgressHUD-all-target-headers.hmap
  46. 二进制
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/MJExtension.build/MJExtension-all-non-framework-target-headers.hmap
  47. 二进制
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/MJExtension.build/MJExtension-all-target-headers.hmap
  48. 二进制
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/MJRefresh.build/MJRefresh-all-target-headers.hmap
  49. 二进制
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/Masonry.build/Masonry-all-non-framework-target-headers.hmap
  50. 二进制
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/Masonry.build/Masonry-all-target-headers.hmap
  51. 二进制
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/Pods-KulexiuForStudent.build/Pods_KulexiuForStudent-all-non-framework-target-headers.hmap
  52. 二进制
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/Pods-KulexiuForStudent.build/Pods_KulexiuForStudent-all-target-headers.hmap
  53. 二进制
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/RSKImageCropper.build/RSKImageCropper-all-non-framework-target-headers.hmap
  54. 二进制
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/RSKImageCropper.build/RSKImageCropper-all-target-headers.hmap
  55. 二进制
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/Reachability.build/Reachability-all-non-framework-target-headers.hmap
  56. 二进制
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/Reachability.build/Reachability-all-target-headers.hmap
  57. 二进制
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/SDWebImage.build/SDWebImage-all-target-headers.hmap
  58. 二进制
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/SSZipArchive.build/SSZipArchive-all-non-framework-target-headers.hmap
  59. 二进制
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/SSZipArchive.build/SSZipArchive-all-target-headers.hmap
  60. 二进制
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/SocketRocket.build/SocketRocket-all-target-headers.hmap
  61. 二进制
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/Whiteboard-Whiteboard.build/Whiteboard-all-target-headers.hmap
  62. 二进制
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/Whiteboard.build/Whiteboard-all-target-headers.hmap
  63. 二进制
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/YYModel.build/YYModel-all-non-framework-target-headers.hmap
  64. 二进制
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/YYModel.build/YYModel-all-target-headers.hmap
  65. 二进制
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/ZKCycleScrollView.build/ZKCycleScrollView-all-target-headers.hmap
  66. 二进制
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/dsBridge.build/dsBridge-all-non-framework-target-headers.hmap
  67. 二进制
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/dsBridge.build/dsBridge-all-target-headers.hmap
  68. 二进制
      KulexiuForStudent/build/XCBuildData/BuildDescriptionCacheIndex-604c88e60e61e13155f665cce0707a51
  69. 二进制
      KulexiuForStudent/build/XCBuildData/build.db

+ 12 - 0
KulexiuForStudent/KulexiuForStudent.xcodeproj/project.pbxproj

@@ -459,6 +459,8 @@
 		BC8C2C612823F57100FBA5D5 /* MyAddressListCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC8C2C562823F57100FBA5D5 /* MyAddressListCell.xib */; };
 		BC8C2C7E28265D8E00FBA5D5 /* KSNewsAlert.m in Sources */ = {isa = PBXBuildFile; fileRef = BC8C2C7C28265D8D00FBA5D5 /* KSNewsAlert.m */; };
 		BC8C2C7F28265D8E00FBA5D5 /* KSNewsAlert.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC8C2C7D28265D8E00FBA5D5 /* KSNewsAlert.xib */; };
+		BCA193B8282B6094004A585D /* RecentCourseModel.m in Sources */ = {isa = PBXBuildFile; fileRef = BCA193B7282B6094004A585D /* RecentCourseModel.m */; };
+		BCA193BB282B85EF004A585D /* UserVefiViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BCA193BA282B85EF004A585D /* UserVefiViewController.m */; };
 		BCB6345D27F6D29600ACFDCF /* KSLiveChatroomWelcome.m in Sources */ = {isa = PBXBuildFile; fileRef = BCB6340D27F6D29500ACFDCF /* KSLiveChatroomWelcome.m */; };
 		BCB6345E27F6D29600ACFDCF /* KSLiveChatroomLeave.m in Sources */ = {isa = PBXBuildFile; fileRef = BCB6340E27F6D29500ACFDCF /* KSLiveChatroomLeave.m */; };
 		BCB6345F27F6D29600ACFDCF /* KSLiveChatroomEnter.m in Sources */ = {isa = PBXBuildFile; fileRef = BCB6340F27F6D29500ACFDCF /* KSLiveChatroomEnter.m */; };
@@ -1457,6 +1459,10 @@
 		BC8C2C7B28265D8D00FBA5D5 /* KSNewsAlert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KSNewsAlert.h; sourceTree = "<group>"; };
 		BC8C2C7C28265D8D00FBA5D5 /* KSNewsAlert.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KSNewsAlert.m; sourceTree = "<group>"; };
 		BC8C2C7D28265D8E00FBA5D5 /* KSNewsAlert.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KSNewsAlert.xib; sourceTree = "<group>"; };
+		BCA193B6282B6094004A585D /* RecentCourseModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RecentCourseModel.h; sourceTree = "<group>"; };
+		BCA193B7282B6094004A585D /* RecentCourseModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RecentCourseModel.m; sourceTree = "<group>"; };
+		BCA193B9282B85EF004A585D /* UserVefiViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UserVefiViewController.h; sourceTree = "<group>"; };
+		BCA193BA282B85EF004A585D /* UserVefiViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UserVefiViewController.m; sourceTree = "<group>"; };
 		BCB6340C27F6D29500ACFDCF /* KSRCMessageModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KSRCMessageModel.h; sourceTree = "<group>"; };
 		BCB6340D27F6D29500ACFDCF /* KSLiveChatroomWelcome.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KSLiveChatroomWelcome.m; sourceTree = "<group>"; };
 		BCB6340E27F6D29500ACFDCF /* KSLiveChatroomLeave.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KSLiveChatroomLeave.m; sourceTree = "<group>"; };
@@ -2043,6 +2049,8 @@
 		275FA1F527E7356A00CFEA2E /* Model */ = {
 			isa = PBXGroup;
 			children = (
+				BCA193B6282B6094004A585D /* RecentCourseModel.h */,
+				BCA193B7282B6094004A585D /* RecentCourseModel.m */,
 				BC40BA19281251EC00DEC0D1 /* HomeMessageModel.h */,
 				BC40BA1A281251ED00DEC0D1 /* HomeMessageModel.m */,
 				BCFE53F928129A5500AD6786 /* TeacherStyleModel.h */,
@@ -3196,6 +3204,8 @@
 				2723B67127F15D3300E0B90B /* ModifyPhoneCheckController.m */,
 				2723B67D27F15D3D00E0B90B /* ModifyViewController.h */,
 				2723B67927F15D3B00E0B90B /* ModifyViewController.m */,
+				BCA193B9282B85EF004A585D /* UserVefiViewController.h */,
+				BCA193BA282B85EF004A585D /* UserVefiViewController.m */,
 			);
 			path = Controller;
 			sourceTree = "<group>";
@@ -4719,6 +4729,7 @@
 				2723B63027F157D500E0B90B /* GroupApplyChooseAllCell.m in Sources */,
 				2723B61F27F157D500E0B90B /* GroupNoticeModel.m in Sources */,
 				275FA1E627E7351900CFEA2E /* KSUpdateAlert.m in Sources */,
+				BCA193BB282B85EF004A585D /* UserVefiViewController.m in Sources */,
 				BCB6353A27F6D2A300ACFDCF /* MessageBaseCell.m in Sources */,
 				2779355027E324A70010E277 /* VoDiskCache.m in Sources */,
 				BCB6353F27F6D2A300ACFDCF /* ChatAreaView.m in Sources */,
@@ -4986,6 +4997,7 @@
 				BCB6353927F6D2A300ACFDCF /* MessageCell.m in Sources */,
 				BCB6354027F6D2A300ACFDCF /* ClassroomTitleView.m in Sources */,
 				BC11921C280ED6A900A716F7 /* NewClassPopView.m in Sources */,
+				BCA193B8282B6094004A585D /* RecentCourseModel.m in Sources */,
 				BC8C2C572823F57100FBA5D5 /* AddressDetailViewController.m in Sources */,
 				BCB6359627F6D2AB00ACFDCF /* LocalRenderManager.m in Sources */,
 				2723B66927F15CFC00E0B90B /* PhoneChangeBodyView.m in Sources */,

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


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

@@ -30,8 +30,8 @@
             filePath = "KulexiuForStudent/Module/Mine/Setting/Controller/SettingViewController.m"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "249"
-            endingLineNumber = "249"
+            startingLineNumber = "291"
+            endingLineNumber = "291"
             landmarkName = "-modifyUserMessage:gender:birthday:"
             landmarkType = "7">
          </BreakpointContent>
@@ -62,8 +62,8 @@
             filePath = "KulexiuForStudent/Module/Home/Controller/HomeViewController.m"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "935"
-            endingLineNumber = "935"
+            startingLineNumber = "965"
+            endingLineNumber = "965"
             landmarkName = "-homeCourseChooseAction:"
             landmarkType = "7">
          </BreakpointContent>
@@ -135,16 +135,16 @@
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
-            uuid = "91AD6DD1-5C43-4402-97C8-203CA74E7735"
+            uuid = "8EC73FBE-78A8-4A42-971F-8121A1866493"
             shouldBeEnabled = "Yes"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Module/Course/AccompanyCourse/Controller/AccompanyDetailViewController.m"
+            filePath = "KulexiuForStudent/Module/Home/Controller/HomeViewController.m"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "70"
-            endingLineNumber = "70"
-            landmarkName = "-requestRoomConfig"
+            startingLineNumber = "475"
+            endingLineNumber = "475"
+            landmarkName = "-requestTeacherStyle"
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>

+ 3 - 1
KulexiuForStudent/KulexiuForStudent/KulexiuForStudent.entitlements

@@ -3,7 +3,9 @@
 <plist version="1.0">
 <dict>
 	<key>com.apple.developer.associated-domains</key>
-	<array/>
+	<array>
+		<string>applinks:</string>
+	</array>
 	<key>com.apple.developer.icloud-container-identifiers</key>
 	<array>
 		<string>iCloud.com.Colexiu.KulexiuForTeacher</string>

+ 71 - 41
KulexiuForStudent/KulexiuForStudent/Module/Home/Controller/HomeViewController.m

@@ -47,6 +47,8 @@
 #import "WMPlayer.h"  // 播放相关
 #import "AppDelegate.h"
 #import "KSNewsAlert.h"
+#import "RecentCourseModel.h"
+#import "AccompanyDetailViewController.h"
 
 #define BUTTONWIDTH (65)
 #define BUTTONHEIGHT (80)
@@ -121,7 +123,6 @@
     [self configNavView];
     [self configUI];
     [self requestUserInfo]; // 获取声部
-//    [self requestData];
 }
 
 
@@ -184,24 +185,24 @@
     }];
     tableHeaderHeight += self.buttonViewHeight;
     
-    NSMutableArray *buttonInfoArray = [NSMutableArray array];
-    NSArray *titleArray = @[@"陪练课",@"直播课",@"视频课",@"乐谱库",@"老师风采"];
-    NSArray *imageArray = @[@"home_accompany",@"home_live",@"home_video",@"home_music",@"home_style"];
-    NSString *accompanyUrl = [NSString stringWithFormat:@"%@%@", WEBHOST, @"/#/practiceClass"];
-    NSString *liveUrl = [NSString stringWithFormat:@"%@%@", WEBHOST, @"/#/liveClass"];
-    NSString *videoUrl = [NSString stringWithFormat:@"%@%@", WEBHOST, @"/#/videoClass"];
-    NSString *musicUrl = [NSString stringWithFormat:@"%@%@", WEBHOST, @"/#/music-songbook"];
-    NSString *teacherUrl = [NSString stringWithFormat:@"%@%@", WEBHOST, @"/#/teacherElegant"];
-    NSArray *linkUrlArray = @[accompanyUrl,liveUrl,videoUrl,musicUrl,teacherUrl];
-    for (NSInteger i = 0; i < titleArray.count; i++) {
-        HomeMessageModel *model = [[HomeMessageModel alloc] init];
-        model.title = titleArray[i];
-        model.coverImage = imageArray[i];
-        model.linkUrl = linkUrlArray[i];
-        [buttonInfoArray addObject:model];
-    }
-    self.buttonArray = [NSMutableArray arrayWithArray:buttonInfoArray];
-    [self showButtonMessage];
+//    NSMutableArray *buttonInfoArray = [NSMutableArray array];
+//    NSArray *titleArray = @[@"陪练课",@"直播课",@"视频课",@"乐谱库",@"老师风采"];
+//    NSArray *imageArray = @[@"home_accompany",@"home_live",@"home_video",@"home_music",@"home_style"];
+//    NSString *accompanyUrl = [NSString stringWithFormat:@"%@%@", WEBHOST, @"/#/practiceClass"];
+//    NSString *liveUrl = [NSString stringWithFormat:@"%@%@", WEBHOST, @"/#/liveClass"];
+//    NSString *videoUrl = [NSString stringWithFormat:@"%@%@", WEBHOST, @"/#/videoClass"];
+//    NSString *musicUrl = [NSString stringWithFormat:@"%@%@", WEBHOST, @"/#/music-songbook"];
+//    NSString *teacherUrl = [NSString stringWithFormat:@"%@%@", WEBHOST, @"/#/teacherElegant"];
+//    NSArray *linkUrlArray = @[accompanyUrl,liveUrl,videoUrl,musicUrl,teacherUrl];
+//    for (NSInteger i = 0; i < titleArray.count; i++) {
+//        HomeMessageModel *model = [[HomeMessageModel alloc] init];
+//        model.title = titleArray[i];
+//        model.coverImage = imageArray[i];
+//        model.linkUrl = linkUrlArray[i];
+//        [buttonInfoArray addObject:model];
+//    }
+//    self.buttonArray = [NSMutableArray arrayWithArray:buttonInfoArray];
+//    [self showButtonMessage];
     
     // 课程提醒
     [self.tableHeaderView addSubview:self.tipsCourseView];
@@ -297,14 +298,14 @@
             [self.bannerScroll reloadData];
             
             // button
-//            NSArray *buttonArray = [result arrayValueForKey:@"appMenu"];
-//            NSMutableArray *buttonInfoArray = [NSMutableArray array];
-//            for (NSDictionary *parm in buttonArray) {
-//                HomeMessageModel *model = [[HomeMessageModel alloc] initWithDictionary:parm];
-//                [buttonInfoArray addObject:model];
-//            }
-//            self.buttonArray = [NSMutableArray arrayWithArray:buttonInfoArray];
-//            [self showButtonMessage];
+            NSArray *buttonArray = [result arrayValueForKey:@"appMenu"];
+            NSMutableArray *buttonInfoArray = [NSMutableArray array];
+            for (NSDictionary *parm in buttonArray) {
+                HomeMessageModel *model = [[HomeMessageModel alloc] initWithDictionary:parm];
+                [buttonInfoArray addObject:model];
+            }
+            self.buttonArray = [NSMutableArray arrayWithArray:buttonInfoArray];
+            [self showButtonMessage];
             
             // news
             NSArray *flashArray = [result arrayValueForKey:@"flashPage"];
@@ -392,7 +393,14 @@
             self.videoCourseArray = [NSMutableArray arrayWithArray:videoCourse];
             
             // 最近课程
-//            [dic dictionaryValueForKey:@"recentCourses"];
+            NSDictionary *parm = [sourceDic dictionaryValueForKey:@"recentCourses"];
+            if (parm == nil) {
+                [self refreshCourseView:nil];
+            }
+            else {
+                RecentCourseModel *model = [[RecentCourseModel alloc] initWithDictionary:parm];
+                [self refreshCourseView:model];
+            }
         }
         else {
             [self MBPShow:MESSAGEKEY];
@@ -404,6 +412,25 @@
     }];
 }
 
+- (void)refreshCourseView:(RecentCourseModel *)model {
+    if (model) {
+        self.tipsViewHeight = 80.0f;
+        [self.tipsCourseView configWithCourseMessage:model];
+        self.tipsCourseView.hidden = NO;
+        [self.tipsCourseView mas_updateConstraints:^(MASConstraintMaker *make) {
+            make.height.mas_equalTo(80.0f);
+        }];
+    }
+    else {
+        self.tipsViewHeight = CGFLOAT_MIN;
+        self.tipsCourseView.hidden = YES;
+        [self.tipsCourseView mas_updateConstraints:^(MASConstraintMaker *make) {
+            make.height.mas_equalTo(CGFLOAT_MIN);
+        }];
+    }
+    [self refreshTableHeadHeight];
+}
+
 - (void)refreshCourseView {
     // 课程
     if (self.liveCourseArray.count && self.videoCourseArray.count) {
@@ -481,16 +508,15 @@
 }
 
 - (void)refreshNavView {
-    NSString *subjectName = @"";
-    if ([NSString isEmptyString:self.mineInfo.subjectName]) {
-        subjectName = @"请选择乐器";
-        [self showInstrumentView:YES];
+    [self.navView.userAvatal sd_setImageWithURL:[NSURL URLWithString:[self.mineInfo.heardUrl getUrlEndcodeString]] placeholderImage:[UIImage imageNamed:USERDEFAULT_LOGO]];
+    NSString *userName = @"";
+    if ([NSString isEmptyString:self.mineInfo.username]) {
+        userName = [NSString stringWithFormat:@"游客%@",self.mineInfo.userId];
     }
     else {
-        subjectName = self.mineInfo.subjectName;
-        [self requestData];
+        userName = self.mineInfo.username;
     }
-    self.navView.subjectName.text = subjectName;
+    self.navView.userName.text = userName;
 }
 
 - (void)refreshBannaerView {
@@ -528,8 +554,8 @@
     for (NSInteger i = 0; i < self.buttonArray.count; i++) {
         HomeMessageModel *model = self.buttonArray[i];
         KSHomeButton *buttonView = [KSHomeButton shareInstance];
-//        [buttonView.buttonImage sd_setImageWithURL:[NSURL URLWithString:model.coverImage]];
-        [buttonView.buttonImage setImage:[UIImage imageNamed:model.coverImage]];
+        
+        [buttonView.buttonImage sd_setImageWithURL:[NSURL URLWithString:[model.coverImage getUrlEndcodeString]]];
         buttonView.buttonTitle.text = model.title;
         buttonView.frame = CGRectMake(buttonSpace + (i % 5) * (BUTTONWIDTH + buttonSpace) + (i / 5) * KPortraitWidth, 0, BUTTONWIDTH, BUTTONHEIGHT);
         buttonView.actionButton.tag = 3000 + i;
@@ -795,16 +821,20 @@
     if (!_tipsCourseView) {
         _tipsCourseView = [HomeCourseTipsView shareInstance];
         MJWeakSelf;
-        [_tipsCourseView joinRoomCallback:^(COURSETYPE type, NSString * _Nonnull courseId) {
-            [weakSelf joinRoomAction:type courseId:courseId];
+        [_tipsCourseView joinRoomCallback:^(COURSETYPE type, RecentCourseModel * _Nonnull courseModel) {
+            [weakSelf joinRoomAction:type courseMessage:courseModel];
         }];
     }
     return _tipsCourseView;
 }
 
-- (void)joinRoomAction:(COURSETYPE)type courseId:(NSString *)courseId {
+- (void)joinRoomAction:(COURSETYPE)type courseMessage:(RecentCourseModel *)courseModel {
     if (type == COURSETYPE_ACCOMPANY) { // 陪练课详情
-        
+        AccompanyDetailViewController *detailVC = [[AccompanyDetailViewController alloc] init];
+        detailVC.courseId = courseModel.courseId;
+        detailVC.courseGroupId = courseModel.courseGroupId;
+        detailVC.teacherId = courseModel.teacherId;
+        [self.navigationController pushViewController:detailVC animated:YES];
     }
     else { // 直播课详情
         

+ 29 - 0
KulexiuForStudent/KulexiuForStudent/Module/Home/Model/RecentCourseModel.h

@@ -0,0 +1,29 @@
+//
+//  RecentCourseModel.h
+//
+//  Created by Steven  on 2022/5/10
+//  Copyright (c) 2022 __MyCompanyName__. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+
+
+@interface RecentCourseModel : NSObject <NSCoding, NSCopying>
+
+@property (nonatomic, strong) NSString *status;
+@property (nonatomic, strong) NSString *courseGroupId;
+@property (nonatomic, strong) NSString *realName;
+@property (nonatomic, strong) NSString *avatar;
+@property (nonatomic, strong) NSString *courseId;
+@property (nonatomic, strong) NSString *courseType;
+@property (nonatomic, strong) NSString *teacherName;
+@property (nonatomic, strong) NSString *courseStartTime;
+@property (nonatomic, strong) NSString *teacherId;
+@property (nonatomic, strong) NSString *courseGroupName;
+
++ (instancetype)modelObjectWithDictionary:(NSDictionary *)dict;
+- (instancetype)initWithDictionary:(NSDictionary *)dict;
+- (NSDictionary *)dictionaryRepresentation;
+
+@end

+ 158 - 0
KulexiuForStudent/KulexiuForStudent/Module/Home/Model/RecentCourseModel.m

@@ -0,0 +1,158 @@
+//
+//  RecentCourseModel.m
+//
+//  Created by Steven  on 2022/5/10
+//  Copyright (c) 2022 __MyCompanyName__. All rights reserved.
+//
+
+#import "RecentCourseModel.h"
+
+
+NSString *const kRecentCourseModelStatus = @"status";
+NSString *const kRecentCourseModelCourseGroupId = @"courseGroupId";
+NSString *const kRecentCourseModelRealName = @"realName";
+NSString *const kRecentCourseModelAvatar = @"avatar";
+NSString *const kRecentCourseModelCourseId = @"courseId";
+NSString *const kRecentCourseModelCourseType = @"courseType";
+NSString *const kRecentCourseModelTeacherName = @"teacherName";
+NSString *const kRecentCourseModelCourseStartTime = @"courseStartTime";
+NSString *const kRecentCourseModelTeacherId = @"teacherId";
+NSString *const kRecentCourseModelCourseGroupName = @"courseGroupName";
+
+
+@interface RecentCourseModel ()
+
+- (id)objectOrNilForKey:(id)aKey fromDictionary:(NSDictionary *)dict;
+
+@end
+
+@implementation RecentCourseModel
+
+@synthesize status = _status;
+@synthesize courseGroupId = _courseGroupId;
+@synthesize realName = _realName;
+@synthesize avatar = _avatar;
+@synthesize courseId = _courseId;
+@synthesize courseType = _courseType;
+@synthesize teacherName = _teacherName;
+@synthesize courseStartTime = _courseStartTime;
+@synthesize teacherId = _teacherId;
+@synthesize courseGroupName = _courseGroupName;
+
+
++ (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.status = [self objectOrNilForKey:kRecentCourseModelStatus fromDictionary:dict];
+            self.courseGroupId = [self objectOrNilForKey:kRecentCourseModelCourseGroupId fromDictionary:dict];
+            self.realName = [self objectOrNilForKey:kRecentCourseModelRealName fromDictionary:dict];
+            self.avatar = [self objectOrNilForKey:kRecentCourseModelAvatar fromDictionary:dict];
+            self.courseId = [self objectOrNilForKey:kRecentCourseModelCourseId fromDictionary:dict];
+            self.courseType = [self objectOrNilForKey:kRecentCourseModelCourseType fromDictionary:dict];
+            self.teacherName = [self objectOrNilForKey:kRecentCourseModelTeacherName fromDictionary:dict];
+            self.courseStartTime = [self objectOrNilForKey:kRecentCourseModelCourseStartTime fromDictionary:dict];
+            self.teacherId = [self objectOrNilForKey:kRecentCourseModelTeacherId fromDictionary:dict];
+            self.courseGroupName = [self objectOrNilForKey:kRecentCourseModelCourseGroupName fromDictionary:dict];
+
+    }
+    
+    return self;
+    
+}
+
+- (NSDictionary *)dictionaryRepresentation
+{
+    NSMutableDictionary *mutableDict = [NSMutableDictionary dictionary];
+    [mutableDict setValue:self.status forKey:kRecentCourseModelStatus];
+    [mutableDict setValue:self.courseGroupId forKey:kRecentCourseModelCourseGroupId];
+    [mutableDict setValue:self.realName forKey:kRecentCourseModelRealName];
+    [mutableDict setValue:self.avatar forKey:kRecentCourseModelAvatar];
+    [mutableDict setValue:self.courseId forKey:kRecentCourseModelCourseId];
+    [mutableDict setValue:self.courseType forKey:kRecentCourseModelCourseType];
+    [mutableDict setValue:self.teacherName forKey:kRecentCourseModelTeacherName];
+    [mutableDict setValue:self.courseStartTime forKey:kRecentCourseModelCourseStartTime];
+    [mutableDict setValue:self.teacherId forKey:kRecentCourseModelTeacherId];
+    [mutableDict setValue:self.courseGroupName forKey:kRecentCourseModelCourseGroupName];
+
+    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];
+    return [object isEqual:[NSNull null]] ? nil : object;
+}
+
+
+#pragma mark - NSCoding Methods
+
+- (id)initWithCoder:(NSCoder *)aDecoder
+{
+    self = [super init];
+
+    self.status = [aDecoder decodeObjectForKey:kRecentCourseModelStatus];
+    self.courseGroupId = [aDecoder decodeObjectForKey:kRecentCourseModelCourseGroupId];
+    self.realName = [aDecoder decodeObjectForKey:kRecentCourseModelRealName];
+    self.avatar = [aDecoder decodeObjectForKey:kRecentCourseModelAvatar];
+    self.courseId = [aDecoder decodeObjectForKey:kRecentCourseModelCourseId];
+    self.courseType = [aDecoder decodeObjectForKey:kRecentCourseModelCourseType];
+    self.teacherName = [aDecoder decodeObjectForKey:kRecentCourseModelTeacherName];
+    self.courseStartTime = [aDecoder decodeObjectForKey:kRecentCourseModelCourseStartTime];
+    self.teacherId = [aDecoder decodeObjectForKey:kRecentCourseModelTeacherId];
+    self.courseGroupName = [aDecoder decodeObjectForKey:kRecentCourseModelCourseGroupName];
+    return self;
+}
+
+- (void)encodeWithCoder:(NSCoder *)aCoder
+{
+
+    [aCoder encodeObject:_status forKey:kRecentCourseModelStatus];
+    [aCoder encodeObject:_courseGroupId forKey:kRecentCourseModelCourseGroupId];
+    [aCoder encodeObject:_realName forKey:kRecentCourseModelRealName];
+    [aCoder encodeObject:_avatar forKey:kRecentCourseModelAvatar];
+    [aCoder encodeObject:_courseId forKey:kRecentCourseModelCourseId];
+    [aCoder encodeObject:_courseType forKey:kRecentCourseModelCourseType];
+    [aCoder encodeObject:_teacherName forKey:kRecentCourseModelTeacherName];
+    [aCoder encodeObject:_courseStartTime forKey:kRecentCourseModelCourseStartTime];
+    [aCoder encodeObject:_teacherId forKey:kRecentCourseModelTeacherId];
+    [aCoder encodeObject:_courseGroupName forKey:kRecentCourseModelCourseGroupName];
+}
+
+- (id)copyWithZone:(NSZone *)zone
+{
+    RecentCourseModel *copy = [[RecentCourseModel alloc] init];
+    
+    if (copy) {
+
+        copy.status = [self.status copyWithZone:zone];
+        copy.courseGroupId = [self.courseGroupId copyWithZone:zone];
+        copy.realName = [self.realName copyWithZone:zone];
+        copy.avatar = [self.avatar copyWithZone:zone];
+        copy.courseId = [self.courseId copyWithZone:zone];
+        copy.courseType = [self.courseType copyWithZone:zone];
+        copy.teacherName = [self.teacherName copyWithZone:zone];
+        copy.courseStartTime = [self.courseStartTime copyWithZone:zone];
+        copy.teacherId = [self.teacherId copyWithZone:zone];
+        copy.courseGroupName = [self.courseGroupName copyWithZone:zone];
+    }
+    
+    return copy;
+}
+
+
+@end

+ 3 - 2
KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeCourseTipsView.h

@@ -6,13 +6,14 @@
 //
 
 #import <UIKit/UIKit.h>
+#import "RecentCourseModel.h"
 
 typedef NS_ENUM(NSInteger, COURSETYPE) {
     COURSETYPE_ACCOMPANY, // 陪练课
     COURSETYPE_LIVE,      // 直播课
 };
 
-typedef void(^HomeCourseCallback)(COURSETYPE type, NSString * _Nonnull courseId);
+typedef void(^HomeCourseCallback)(COURSETYPE type, RecentCourseModel * _Nonnull courseModel);
 
 NS_ASSUME_NONNULL_BEGIN
 
@@ -20,7 +21,7 @@ NS_ASSUME_NONNULL_BEGIN
 
 + (instancetype)shareInstance;
 
-- (void)configWithCourseMessage:(id)source;
+- (void)configWithCourseMessage:(RecentCourseModel *)source;
 
 - (void)joinRoomCallback:(HomeCourseCallback)callback;
 

+ 22 - 3
KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeCourseTipsView.m

@@ -17,6 +17,8 @@
 
 @property (nonatomic, copy) HomeCourseCallback callback;
 
+@property (nonatomic, strong) RecentCourseModel *courseModel;
+
 @end
 
 @implementation HomeCourseTipsView
@@ -26,8 +28,24 @@
     return view;
 }
 
-- (void)configWithCourseMessage:(id)source {
-    
+- (void)configWithCourseMessage:(RecentCourseModel *)source {
+    self.courseModel = source;
+    self.courseName.text = [NSString stringWithFormat:@"%@即将开始",[NSString returnNoNullStringWithString:source.courseGroupName]];
+    NSDateFormatter *formatter = [NSObject getDateformatter];
+    [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
+    NSDate *beginDate = [formatter dateFromString:source.courseStartTime];
+    NSDate *currentDate = [NSDate date];
+    [formatter setDateFormat:@"yyyy-MM-dd"];
+    NSString *currentDay = [formatter stringFromDate:currentDate];
+    NSString *courseDay = [formatter stringFromDate:beginDate];
+    if ([currentDay isEqualToString:courseDay]) {
+        [formatter setDateFormat:@"HH:mm"];
+        self.timeLabel.text = [NSString stringWithFormat:@"今日 %@", [NSString returnNoNullStringWithString:[formatter stringFromDate:beginDate]]];
+    }
+    else {
+        [formatter setDateFormat:@"yyyy-MM-dd HH:mm"];
+        self.timeLabel.text = [NSString returnNoNullStringWithString:[formatter stringFromDate:beginDate]];
+    }
 }
 
 - (void)joinRoomCallback:(HomeCourseCallback)callback {
@@ -38,7 +56,8 @@
 
 - (IBAction)joinRoomAction:(id)sender {
     if (self.callback) {
-        self.callback(COURSETYPE_LIVE, @"");
+        COURSETYPE type = [self.courseModel.courseType isEqualToString:@"LIVE"] ? COURSETYPE_LIVE : COURSETYPE_ACCOMPANY;
+        self.callback(type, self.courseModel);
     }
 }
 

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

@@ -103,7 +103,14 @@
                             <color key="value" red="0.82745098039215681" green="0.82745098039215681" blue="0.82745098039215681" alpha="0.080000000000000002" colorSpace="custom" customColorSpace="calibratedRGB"/>
                         </userDefinedRuntimeAttribute>
                         <userDefinedRuntimeAttribute type="size" keyPath="shadowOffset">
-                            <size key="value" width="2" height="1"/>
+                            <size key="value" width="0.0" height="2"/>
+                        </userDefinedRuntimeAttribute>
+                        <userDefinedRuntimeAttribute type="boolean" keyPath="maskToBounces" value="NO"/>
+                        <userDefinedRuntimeAttribute type="number" keyPath="shadowOpacity">
+                            <real key="value" value="1"/>
+                        </userDefinedRuntimeAttribute>
+                        <userDefinedRuntimeAttribute type="number" keyPath="shadowRadius">
+                            <real key="value" value="2"/>
                         </userDefinedRuntimeAttribute>
                     </userDefinedRuntimeAttributes>
                 </view>

+ 2 - 1
KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeNavView.h

@@ -17,8 +17,9 @@ typedef void(^HomeNavCallback)(NAVACTION action);
 NS_ASSUME_NONNULL_BEGIN
 
 @interface HomeNavView : UIView
+@property (weak, nonatomic) IBOutlet UIImageView *userAvatal;
 
-@property (weak, nonatomic) IBOutlet UILabel *subjectName;
+@property (weak, nonatomic) IBOutlet UILabel *userName;
 
 @property (weak, nonatomic) IBOutlet UIView *dotView;
 

+ 30 - 33
KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeNavView.xib

@@ -13,29 +13,6 @@
             <rect key="frame" x="0.0" y="0.0" width="414" height="91"/>
             <autoresizingMask key="autoresizingMask"/>
             <subviews>
-                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="请选择乐器" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="6OQ-et-S7G">
-                    <rect key="frame" x="20" y="55" width="92" height="22"/>
-                    <fontDescription key="fontDescription" type="system" pointSize="18"/>
-                    <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
-                    <nil key="highlightedColor"/>
-                </label>
-                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="nav_down" translatesAutoresizingMaskIntoConstraints="NO" id="jHi-90-Am6">
-                    <rect key="frame" x="120" y="57" width="18" height="18"/>
-                    <constraints>
-                        <constraint firstAttribute="width" constant="18" id="TfK-vc-8WW"/>
-                        <constraint firstAttribute="height" constant="18" id="oJU-b1-uqe"/>
-                    </constraints>
-                </imageView>
-                <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="BQD-3C-xLl">
-                    <rect key="frame" x="20" y="46" width="118" height="40"/>
-                    <constraints>
-                        <constraint firstAttribute="height" constant="40" id="5gc-tx-f8a"/>
-                    </constraints>
-                    <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
-                    <connections>
-                        <action selector="chooseSubject:" destination="iN0-l3-epB" eventType="touchUpInside" id="GYF-9A-Bkw"/>
-                    </connections>
-                </button>
                 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="xYy-Ue-YZl">
                     <rect key="frame" x="359" y="46" width="40" height="40"/>
                     <constraints>
@@ -61,33 +38,53 @@
                         </userDefinedRuntimeAttribute>
                     </userDefinedRuntimeAttributes>
                 </view>
+                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="user_default_avatal" translatesAutoresizingMaskIntoConstraints="NO" id="q8T-4X-XH1">
+                    <rect key="frame" x="14" y="46" width="40" height="40"/>
+                    <constraints>
+                        <constraint firstAttribute="width" constant="40" id="mbm-wS-w83"/>
+                        <constraint firstAttribute="height" constant="40" id="xbf-qL-OAg"/>
+                    </constraints>
+                    <userDefinedRuntimeAttributes>
+                        <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                            <real key="value" value="20"/>
+                        </userDefinedRuntimeAttribute>
+                    </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="V09-v5-ugm">
+                    <rect key="frame" x="59" y="55" width="120" height="22"/>
+                    <constraints>
+                        <constraint firstAttribute="width" constant="120" id="G4K-LS-ntu"/>
+                        <constraint firstAttribute="height" constant="22" id="pIg-61-zmA"/>
+                    </constraints>
+                    <fontDescription key="fontDescription" type="system" pointSize="16"/>
+                    <color key="textColor" red="0.10196078431372549" green="0.10196078431372549" blue="0.10196078431372549" alpha="1" colorSpace="calibratedRGB"/>
+                    <nil key="highlightedColor"/>
+                </label>
             </subviews>
             <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
             <constraints>
                 <constraint firstItem="omR-9c-WQ1" firstAttribute="top" secondItem="xYy-Ue-YZl" secondAttribute="top" constant="8" id="3LP-Cf-UOB"/>
-                <constraint firstItem="jHi-90-Am6" firstAttribute="centerY" secondItem="6OQ-et-S7G" secondAttribute="centerY" id="5Rs-Nj-XCi"/>
-                <constraint firstItem="jHi-90-Am6" firstAttribute="leading" secondItem="6OQ-et-S7G" secondAttribute="trailing" constant="8" id="7F7-M8-l6Y"/>
-                <constraint firstItem="6OQ-et-S7G" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" id="8mf-9R-Dxu"/>
+                <constraint firstItem="V09-v5-ugm" firstAttribute="leading" secondItem="q8T-4X-XH1" secondAttribute="trailing" constant="5" id="HMR-Zb-eYg"/>
                 <constraint firstAttribute="trailing" secondItem="omR-9c-WQ1" secondAttribute="trailing" constant="21" id="MxY-he-eWw"/>
                 <constraint firstAttribute="trailing" secondItem="xYy-Ue-YZl" secondAttribute="trailing" constant="15" id="NQ0-wf-rrB"/>
-                <constraint firstItem="jHi-90-Am6" firstAttribute="centerY" secondItem="BQD-3C-xLl" secondAttribute="centerY" id="Nv1-Xw-lJU"/>
-                <constraint firstAttribute="bottom" secondItem="BQD-3C-xLl" secondAttribute="bottom" constant="5" id="PN5-C1-St4"/>
-                <constraint firstItem="xYy-Ue-YZl" firstAttribute="centerY" secondItem="BQD-3C-xLl" secondAttribute="centerY" id="PdM-w4-plu"/>
-                <constraint firstItem="jHi-90-Am6" firstAttribute="trailing" secondItem="BQD-3C-xLl" secondAttribute="trailing" id="mU8-kT-Ys3"/>
-                <constraint firstItem="6OQ-et-S7G" firstAttribute="leading" secondItem="BQD-3C-xLl" secondAttribute="leading" id="y5S-9B-lFW"/>
+                <constraint firstItem="q8T-4X-XH1" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="14" id="WOM-ee-yRZ"/>
+                <constraint firstItem="V09-v5-ugm" firstAttribute="centerY" secondItem="q8T-4X-XH1" secondAttribute="centerY" id="jWy-Il-BUG"/>
+                <constraint firstItem="xYy-Ue-YZl" firstAttribute="centerY" secondItem="q8T-4X-XH1" secondAttribute="centerY" id="n1m-Dh-PuS"/>
+                <constraint firstAttribute="bottom" secondItem="q8T-4X-XH1" secondAttribute="bottom" constant="5" id="v1f-PT-046"/>
             </constraints>
             <nil key="simulatedTopBarMetrics"/>
             <nil key="simulatedBottomBarMetrics"/>
             <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
             <connections>
                 <outlet property="dotView" destination="omR-9c-WQ1" id="2qw-zC-ZLk"/>
-                <outlet property="subjectName" destination="6OQ-et-S7G" id="hLa-xl-AQa"/>
+                <outlet property="userAvatal" destination="q8T-4X-XH1" id="LXY-NH-EbM"/>
+                <outlet property="userName" destination="V09-v5-ugm" id="auG-YH-mbl"/>
             </connections>
             <point key="canvasLocation" x="131.8840579710145" y="-110.15625"/>
         </view>
     </objects>
     <resources>
         <image name="home_message" width="23" height="23"/>
-        <image name="nav_down" width="18" height="18"/>
+        <image name="user_default_avatal" width="52" height="52"/>
     </resources>
 </document>

+ 44 - 2
KulexiuForStudent/KulexiuForStudent/Module/Mine/Setting/Controller/SettingViewController.m

@@ -22,7 +22,8 @@
 #import "UserInfoManager.h"
 #import "AddressListViewController.h"
 #import "KSFullDatePicker.h"
-
+#import "StudentInfoModel.h"
+#import "SubjectChooseViewController.h"
 
 @interface SettingViewController ()
 
@@ -46,6 +47,31 @@
     [self allocTitle:@"设置"];
     [self configUI];
     [self requestUserMessage];
+    [self requestSubjectInfo];
+}
+
+- (void)requestSubjectInfo {
+    [KSNetworkingManager  queryStudentInfoRequest:KS_GET success:^(NSDictionary * _Nonnull dic) {
+        if ([dic integerValueForKey:@"code"] == 200 && [dic boolValueForKey:@"status"]) {
+            StudentInfoModel *studentInfo = [[StudentInfoModel alloc] initWithDictionary:[dic dictionaryValueForKey:@"data"]];
+            NSString *rongToken = UserDefault(RongTokenKey);
+            if ([NSString isEmptyString:rongToken]) {
+                [USER_MANAGER queryUserInfoConnectRongCloud:YES];
+            }
+            [self refreshStudentSubject:studentInfo.subjectName];
+        }
+        else {
+            [self MBPShow:MESSAGEKEY];
+        }
+    } faliure:^(NSError * _Nonnull error) {
+        
+    }];
+}
+- (void)refreshStudentSubject:(NSString *)subjectName {
+    if ([NSString isEmptyString:subjectName]) {
+        subjectName = @"请选择乐器";
+    }
+    self.bodyView.subjectLabel.text = subjectName;
 }
 
 - (void)requestUserMessage {
@@ -152,7 +178,9 @@
             break;
         case SETTINGACTION_VEFI: // 实名认证
         {
-            
+            if (USER_MANAGER.hasAuth == NO) {
+                
+            }
         }
             break;
         case SETTINGACTION_ADDRESS:
@@ -195,11 +223,25 @@
             [self chooseBirthDay];
         }
             break;
+        case SETTINGACTION_SUBJECT:
+        {
+            [self showInstrumentView];
+        }
         default:
             break;
     }
 }
 
+- (void)showInstrumentView {
+    SubjectChooseViewController *ctrl = [[SubjectChooseViewController alloc] init];
+    MJWeakSelf;
+    [ctrl chooseSubjectCallback:^{
+        [weakSelf requestSubjectInfo];
+    }];
+    [self.navigationController pushViewController:ctrl animated:YES];
+    
+}
+
 - (void)chooseBirthDay {
     MJWeakSelf;
     KSFullDatePicker *datePicker = [[KSFullDatePicker alloc] initWithTitle:@"" date:[NSDate date] pickMode:KSDATEPICKER_MODE_DAY selectDateBlock:^(NSString *date) {

+ 16 - 0
KulexiuForStudent/KulexiuForStudent/Module/Mine/Setting/Controller/UserVefiViewController.h

@@ -0,0 +1,16 @@
+//
+//  UserVefiViewController.h
+//  KulexiuForStudent
+//
+//  Created by 王智 on 2022/5/11.
+//
+
+#import "KSBaseViewController.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface UserVefiViewController : KSBaseViewController
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 32 - 0
KulexiuForStudent/KulexiuForStudent/Module/Mine/Setting/Controller/UserVefiViewController.m

@@ -0,0 +1,32 @@
+//
+//  UserVefiViewController.m
+//  KulexiuForStudent
+//
+//  Created by 王智 on 2022/5/11.
+//
+
+#import "UserVefiViewController.h"
+
+@interface UserVefiViewController ()
+
+@end
+
+@implementation UserVefiViewController
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+    // Do any additional setup after loading the view.
+    [self allocTitle:@"实名认证"];
+}
+
+/*
+#pragma mark - Navigation
+
+// In a storyboard-based application, you will often want to do a little preparation before navigation
+- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
+    // Get the new view controller using [segue destinationViewController].
+    // Pass the selected object to the new view controller.
+}
+*/
+
+@end

+ 2 - 2
KulexiuForStudent/KulexiuForStudent/Module/Mine/Setting/View/FeedbackBodyView.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>

+ 3 - 0
KulexiuForStudent/KulexiuForStudent/Module/Mine/Setting/View/SettingBodyView.h

@@ -21,6 +21,7 @@ typedef NS_ENUM(NSInteger, SETTINGACTION) {
     SETTINGACTION_ABOUTUS,  // 关于我们
     SETTINGACTION_LOGOUT,   // 退出登录
     SETTINGACTION_BIRTHDAY, // 生日
+    SETTINGACTION_SUBJECT,  // 声部设置
 };
 
 typedef void(^SettingCallback)(SETTINGACTION type);
@@ -41,6 +42,8 @@ NS_ASSUME_NONNULL_BEGIN
 
 @property (weak, nonatomic) IBOutlet UILabel *birthdayLabel;
 
+@property (weak, nonatomic) IBOutlet UILabel *subjectLabel;
+
 @property (nonatomic, assign) BOOL enableCheck;
 
 + (instancetype)shareInstance;

+ 68 - 6
KulexiuForStudent/KulexiuForStudent/Module/Mine/Setting/View/SettingBodyView.xib

@@ -64,7 +64,7 @@
                     </connections>
                 </view>
                 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="0Pf-RE-eZa">
-                    <rect key="frame" x="14" y="91" width="386" height="260"/>
+                    <rect key="frame" x="14" y="91" width="386" height="310"/>
                     <subviews>
                         <view tag="1002" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Q6y-w1-LNd">
                             <rect key="frame" x="0.0" y="5" width="386" height="50"/>
@@ -226,7 +226,7 @@
                             </connections>
                         </view>
                         <view tag="1005" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="5wD-Uz-Hw3">
-                            <rect key="frame" x="0.0" y="205" width="386" height="50"/>
+                            <rect key="frame" x="0.0" y="255" width="386" height="50"/>
                             <subviews>
                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="修改密码" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="duu-hP-dOU">
                                     <rect key="frame" x="12" y="15" width="75" height="20"/>
@@ -321,6 +321,59 @@
                                 <outletCollection property="gestureRecognizers" destination="e8z-uP-hNu" appends="YES" id="Zjq-ES-JGe"/>
                             </connections>
                         </view>
+                        <view tag="1014" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="QZl-hS-7q6">
+                            <rect key="frame" x="0.0" y="205" width="386" height="50"/>
+                            <subviews>
+                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="声部" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Dgf-rA-Wsz">
+                                    <rect key="frame" x="12" y="15" width="75" height="20"/>
+                                    <constraints>
+                                        <constraint firstAttribute="width" constant="75" id="EBV-w9-BW2"/>
+                                    </constraints>
+                                    <fontDescription key="fontDescription" type="system" pointSize="16"/>
+                                    <color key="textColor" red="0.1019607843" green="0.1019607843" blue="0.1019607843" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                    <nil key="highlightedColor"/>
+                                </label>
+                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="32e-uz-97k">
+                                    <rect key="frame" x="355" y="0.0" width="0.0" height="49"/>
+                                    <fontDescription key="fontDescription" type="system" pointSize="16"/>
+                                    <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                    <nil key="highlightedColor"/>
+                                </label>
+                                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="setting_next" translatesAutoresizingMaskIntoConstraints="NO" id="efz-5c-a3j">
+                                    <rect key="frame" x="365" y="19.5" width="6" height="11"/>
+                                    <constraints>
+                                        <constraint firstAttribute="width" constant="6" id="gFf-p3-Qqr"/>
+                                        <constraint firstAttribute="height" constant="11" id="wG6-yo-yck"/>
+                                    </constraints>
+                                </imageView>
+                                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Lku-Ic-nPC">
+                                    <rect key="frame" x="11" y="49" width="366" height="1"/>
+                                    <color key="backgroundColor" red="0.94901960780000005" green="0.94901960780000005" blue="0.94901960780000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                    <constraints>
+                                        <constraint firstAttribute="height" constant="1" id="vcL-P6-01h"/>
+                                    </constraints>
+                                </view>
+                            </subviews>
+                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                            <gestureRecognizers/>
+                            <constraints>
+                                <constraint firstItem="efz-5c-a3j" firstAttribute="leading" secondItem="32e-uz-97k" secondAttribute="trailing" constant="10" id="9w9-ZS-ZQU"/>
+                                <constraint firstAttribute="height" constant="50" id="J5s-B2-M3e"/>
+                                <constraint firstItem="Dgf-rA-Wsz" firstAttribute="leading" secondItem="QZl-hS-7q6" secondAttribute="leading" constant="12" id="JlY-yt-8lY"/>
+                                <constraint firstItem="Dgf-rA-Wsz" firstAttribute="centerY" secondItem="QZl-hS-7q6" secondAttribute="centerY" id="a9c-S1-eIJ"/>
+                                <constraint firstItem="efz-5c-a3j" firstAttribute="centerY" secondItem="QZl-hS-7q6" secondAttribute="centerY" id="apG-8l-2tB"/>
+                                <constraint firstItem="Lku-Ic-nPC" firstAttribute="top" secondItem="32e-uz-97k" secondAttribute="bottom" id="g9E-R1-DTs"/>
+                                <constraint firstItem="32e-uz-97k" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="Dgf-rA-Wsz" secondAttribute="trailing" constant="15" id="gip-4X-GRG"/>
+                                <constraint firstAttribute="trailing" secondItem="Lku-Ic-nPC" secondAttribute="trailing" constant="9" id="h1H-VT-w4U"/>
+                                <constraint firstAttribute="trailing" secondItem="efz-5c-a3j" secondAttribute="trailing" constant="15" id="jLH-Z8-goV"/>
+                                <constraint firstItem="Lku-Ic-nPC" firstAttribute="leading" secondItem="QZl-hS-7q6" secondAttribute="leading" constant="11" id="nyb-8E-V8m"/>
+                                <constraint firstItem="32e-uz-97k" firstAttribute="top" secondItem="QZl-hS-7q6" secondAttribute="top" id="rLz-Qq-VFa"/>
+                                <constraint firstAttribute="bottom" secondItem="Lku-Ic-nPC" secondAttribute="bottom" id="uaQ-qx-qHx"/>
+                            </constraints>
+                            <connections>
+                                <outletCollection property="gestureRecognizers" destination="pOv-Zb-IFD" appends="YES" id="JGM-rb-Ifo"/>
+                            </connections>
+                        </view>
                     </subviews>
                     <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                     <constraints>
@@ -328,10 +381,11 @@
                         <constraint firstAttribute="trailing" secondItem="Q6y-w1-LNd" secondAttribute="trailing" id="C9h-Tz-0GF"/>
                         <constraint firstItem="y2Z-Pu-GKq" firstAttribute="leading" secondItem="0Pf-RE-eZa" secondAttribute="leading" id="Gph-rN-Y6b"/>
                         <constraint firstAttribute="bottom" secondItem="5wD-Uz-Hw3" secondAttribute="bottom" constant="5" id="Hrb-zT-zgD"/>
-                        <constraint firstItem="5wD-Uz-Hw3" firstAttribute="top" secondItem="cXG-gd-HvD" secondAttribute="bottom" id="RoW-Nr-brP"/>
+                        <constraint firstItem="5wD-Uz-Hw3" firstAttribute="top" secondItem="QZl-hS-7q6" secondAttribute="bottom" id="N4V-SF-X5D"/>
                         <constraint firstAttribute="trailing" secondItem="Tz3-5D-EcJ" secondAttribute="trailing" id="Rok-uu-QuL"/>
                         <constraint firstItem="Tz3-5D-EcJ" firstAttribute="top" secondItem="Q6y-w1-LNd" secondAttribute="bottom" id="YcO-wd-kO6"/>
                         <constraint firstItem="cXG-gd-HvD" firstAttribute="leading" secondItem="0Pf-RE-eZa" secondAttribute="leading" id="ZP4-2G-3fP"/>
+                        <constraint firstItem="QZl-hS-7q6" firstAttribute="top" secondItem="cXG-gd-HvD" secondAttribute="bottom" id="aer-01-joi"/>
                         <constraint firstItem="5wD-Uz-Hw3" firstAttribute="leading" secondItem="0Pf-RE-eZa" secondAttribute="leading" id="atH-c3-wvw"/>
                         <constraint firstAttribute="trailing" secondItem="cXG-gd-HvD" secondAttribute="trailing" id="bNP-p7-C0g"/>
                         <constraint firstItem="Tz3-5D-EcJ" firstAttribute="leading" secondItem="0Pf-RE-eZa" secondAttribute="leading" id="i8x-zc-spS"/>
@@ -339,6 +393,8 @@
                         <constraint firstItem="y2Z-Pu-GKq" firstAttribute="top" secondItem="Tz3-5D-EcJ" secondAttribute="bottom" id="mfq-9S-gB8"/>
                         <constraint firstItem="Q6y-w1-LNd" firstAttribute="leading" secondItem="0Pf-RE-eZa" secondAttribute="leading" id="r0R-co-pYn"/>
                         <constraint firstItem="Q6y-w1-LNd" firstAttribute="top" secondItem="0Pf-RE-eZa" secondAttribute="top" constant="5" id="rir-rY-52u"/>
+                        <constraint firstItem="QZl-hS-7q6" firstAttribute="leading" secondItem="0Pf-RE-eZa" secondAttribute="leading" id="v2G-l9-vhf"/>
+                        <constraint firstAttribute="trailing" secondItem="QZl-hS-7q6" secondAttribute="trailing" id="wa7-rN-iCc"/>
                         <constraint firstAttribute="trailing" secondItem="5wD-Uz-Hw3" secondAttribute="trailing" id="yiA-Bt-1Uj"/>
                     </constraints>
                     <userDefinedRuntimeAttributes>
@@ -348,7 +404,7 @@
                     </userDefinedRuntimeAttributes>
                 </view>
                 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="bvI-vo-wNV">
-                    <rect key="frame" x="14" y="363" width="386" height="160"/>
+                    <rect key="frame" x="14" y="413" width="386" height="160"/>
                     <subviews>
                         <view tag="1006" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="JvN-sN-Dxg">
                             <rect key="frame" x="0.0" y="5" width="386" height="50"/>
@@ -518,7 +574,7 @@
                     </userDefinedRuntimeAttributes>
                 </view>
                 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Px3-aY-XMT">
-                    <rect key="frame" x="14" y="535" width="386" height="160"/>
+                    <rect key="frame" x="14" y="585" width="386" height="160"/>
                     <subviews>
                         <view tag="1009" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="l7Z-Gj-hWL">
                             <rect key="frame" x="0.0" y="5" width="386" height="50"/>
@@ -680,7 +736,7 @@
                     </userDefinedRuntimeAttributes>
                 </view>
                 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="N6o-wM-RdI">
-                    <rect key="frame" x="14" y="720" width="386" height="50"/>
+                    <rect key="frame" x="14" y="770" width="386" height="50"/>
                     <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                     <constraints>
                         <constraint firstAttribute="height" constant="50" id="dUm-Pe-IzT"/>
@@ -727,6 +783,7 @@
                 <outlet property="genderLabel" destination="eVe-2E-45u" id="sLs-3I-LPV"/>
                 <outlet property="nickNameLabel" destination="9mw-jx-odd" id="neH-kw-77Z"/>
                 <outlet property="phoneLabel" destination="M6z-rl-5CW" id="5Ga-fk-N0U"/>
+                <outlet property="subjectLabel" destination="32e-uz-97k" id="Dis-ZO-E3X"/>
                 <outlet property="switchButton" destination="ZKM-lu-myi" id="Gli-bu-Kkp"/>
                 <outlet property="userAvatal" destination="Y0N-Qr-8Oe" id="ImK-uA-Csp"/>
             </connections>
@@ -787,6 +844,11 @@
                 <action selector="tapAction:" destination="iN0-l3-epB" id="b1W-of-rNx"/>
             </connections>
         </tapGestureRecognizer>
+        <tapGestureRecognizer id="pOv-Zb-IFD">
+            <connections>
+                <action selector="tapAction:" destination="iN0-l3-epB" id="yzt-De-ACL"/>
+            </connections>
+        </tapGestureRecognizer>
     </objects>
     <resources>
         <image name="setting_next" width="6" height="11"/>

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


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


+ 6 - 6
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/_CodeSignature/CodeResources

@@ -1043,7 +1043,7 @@
 		</data>
 		<key>HomeCourseTipsView.nib</key>
 		<data>
-		cwXN8Nlg1qmUFede4b2kqM0PCm8=
+		i1gCvDoS6RkV/QxK6zZCQmAitwU=
 		</data>
 		<key>HomeHotAlbumCell.nib/objects-12.3+.nib</key>
 		<data>
@@ -1075,7 +1075,7 @@
 		</data>
 		<key>HomeNavView.nib</key>
 		<data>
-		e/xN4tzAcyb0LI+6xY1YUVKjUog=
+		Dpo6YBl+ehxJBhDQl6i1RubtKmQ=
 		</data>
 		<key>HomeVideoCourseCell.nib</key>
 		<data>
@@ -3191,7 +3191,7 @@
 		</data>
 		<key>SettingBodyView.nib</key>
 		<data>
-		xy0yxhSv0Ove0XKc1BU82Q4aja4=
+		qR0u74T8+LGJ07PZryYiTy7zYa0=
 		</data>
 		<key>SubjectChooseBodyView.nib</key>
 		<data>
@@ -5246,7 +5246,7 @@
 		<dict>
 			<key>hash2</key>
 			<data>
-			2g5eRy0aFDJ26GVvDMOOj0w/ACDV+fYyNAV8wypkEJ8=
+			0TN95h2yb4Mior13ds9ouajEm0zXz0SDdb+QsYvZxL8=
 			</data>
 		</dict>
 		<key>HomeHotAlbumCell.nib/objects-12.3+.nib</key>
@@ -5302,7 +5302,7 @@
 		<dict>
 			<key>hash2</key>
 			<data>
-			hGpC30NioOk6mxKUryRSdGm098ic1BlfJMb4c0BL0zo=
+			33l0rAdPhLr2cYCtMsNGCW05FkWJb8qflD2kxGfJUrI=
 			</data>
 		</dict>
 		<key>HomeVideoCourseCell.nib</key>
@@ -8991,7 +8991,7 @@
 		<dict>
 			<key>hash2</key>
 			<data>
-			gpofTt4a27DHo81nU/woz80t5o3onRkNBkyKuRUPVgo=
+			7mgAyoKjVCJJkNW+70OTSVjGF4myCsiHnkZnL74EUI0=
 			</data>
 		</dict>
 		<key>SubjectChooseBodyView.nib</key>

+ 3 - 1
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/DerivedSources/Entitlements-Simulated.plist

@@ -5,7 +5,9 @@
 	<key>application-identifier</key>
 	<string>B2AP53HHTU.com.Colexiu.KulexiuForStudent</string>
 	<key>com.apple.developer.associated-domains</key>
-	<array/>
+	<array>
+		<string>applinks:</string>
+	</array>
 	<key>com.apple.developer.icloud-container-identifiers</key>
 	<array>
 		<string>iCloud.com.Colexiu.KulexiuForTeacher</string>

二进制
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/KulexiuForStudent-project-headers.hmap


+ 3 - 1
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/KulexiuForStudent.app-Simulated.xcent

@@ -5,7 +5,9 @@
 	<key>application-identifier</key>
 	<string>B2AP53HHTU.com.Colexiu.KulexiuForStudent</string>
 	<key>com.apple.developer.associated-domains</key>
-	<array/>
+	<array>
+		<string>applinks:</string>
+	</array>
 	<key>com.apple.developer.icloud-container-identifiers</key>
 	<array>
 		<string>iCloud.com.Colexiu.KulexiuForTeacher</string>

+ 3 - 1
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/HomeViewController.d

@@ -74,6 +74,7 @@ dependencies: \
   /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/Login/Model/UserInfoManager.h \
   /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/Login/Model/UserInfo.h \
   /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeCourseTipsView.h \
+  /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/Home/Model/RecentCourseModel.h \
   /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeLiveCouseCell.h \
   /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/Home/Model/HomeLiveGroupModel.h \
   /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeVideoCourseCell.h \
@@ -86,4 +87,5 @@ dependencies: \
   /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Common/Base/KSTabBarViewController.h \
   /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/Login/Controller/LoginViewController.h \
   /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Common/Base/CustomNavViewController.h \
-  /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/Home/View/KSNewsAlert.h
+  /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/Home/View/KSNewsAlert.h \
+  /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/Course/AccompanyCourse/Controller/AccompanyDetailViewController.h

二进制
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/HomeViewController.dia


二进制
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/HomeViewController.o


+ 2 - 0
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KulexiuForStudent.LinkFileList

@@ -219,6 +219,7 @@
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/GroupApplyChooseAllCell.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/GroupNoticeModel.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KSUpdateAlert.o
+/Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/UserVefiViewController.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/MessageBaseCell.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/VoDiskCache.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/ChatAreaView.o
@@ -486,6 +487,7 @@
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/MessageCell.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/ClassroomTitleView.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/NewClassPopView.o
+/Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/RecentCourseModel.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/AddressDetailViewController.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/LocalRenderManager.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/PhoneChangeBodyView.o

二进制
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KulexiuForStudent_dependency_info.dat


二进制
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/SettingBodyView.o


+ 3 - 1
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/SettingViewController.d

@@ -66,4 +66,6 @@ dependencies: \
   /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/Login/Model/UserInfoManager.h \
   /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/Login/Model/UserInfo.h \
   /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/Mine/AddressList/Controller/AddressListViewController.h \
-  /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Common/Tools/Custom/KSFullDatePicker.h
+  /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Common/Tools/Custom/KSFullDatePicker.h \
+  /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/Mine/Model/StudentInfoModel.h \
+  /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/Login/Controller/SubjectChooseViewController.h

二进制
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/SettingViewController.o


二进制
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/AFNetworking.build/AFNetworking-all-non-framework-target-headers.hmap


二进制
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/AFNetworking.build/AFNetworking-all-target-headers.hmap


二进制
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/CHIPageControl.build/CHIPageControl-all-non-framework-target-headers.hmap


二进制
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/CHIPageControl.build/CHIPageControl-all-target-headers.hmap


二进制
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/CHIPageControl.build/Objects-normal/x86_64/CHIPageControl-master.priors


+ 2 - 2
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/CHIPageControl.build/Objects-normal/x86_64/CHIPageControl-master.swiftdeps

@@ -1,7 +1,7 @@
 version: "Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)"
 options: "1df5a087573c1c3cd07e8076f6918d3928f13c31665350d2c288f48bd5050822"
-build_start_time: [1652183973, 154116153]
-build_end_time: [1652183973, 279581069]
+build_start_time: [1652248181, 570585012]
+build_end_time: [1652248181, 771256923]
 inputs:
   "/Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/Pods/CHIPageControl/CHIPageControl/CHIPageControlAji.swift": [1649151994, 661623716]
   "/Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/Pods/CHIPageControl/CHIPageControl/CHIPageControlAleppo.swift": [1649151994, 661175489]

二进制
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/IQKeyboardManager.build/IQKeyboardManager-all-non-framework-target-headers.hmap


二进制
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/IQKeyboardManager.build/IQKeyboardManager-all-target-headers.hmap


二进制
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/JXCategoryView.build/JXCategoryView-all-non-framework-target-headers.hmap


二进制
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/JXCategoryView.build/JXCategoryView-all-target-headers.hmap


二进制
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/JXPagingView.build/JXPagingView-all-target-headers.hmap


二进制
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/MBProgressHUD.build/MBProgressHUD-all-non-framework-target-headers.hmap


二进制
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/MBProgressHUD.build/MBProgressHUD-all-target-headers.hmap


二进制
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/MJExtension.build/MJExtension-all-non-framework-target-headers.hmap


二进制
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/MJExtension.build/MJExtension-all-target-headers.hmap


二进制
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/MJRefresh.build/MJRefresh-all-target-headers.hmap


二进制
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/Masonry.build/Masonry-all-non-framework-target-headers.hmap


二进制
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/Masonry.build/Masonry-all-target-headers.hmap


二进制
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/Pods-KulexiuForStudent.build/Pods_KulexiuForStudent-all-non-framework-target-headers.hmap


二进制
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/Pods-KulexiuForStudent.build/Pods_KulexiuForStudent-all-target-headers.hmap


二进制
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/RSKImageCropper.build/RSKImageCropper-all-non-framework-target-headers.hmap


二进制
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/RSKImageCropper.build/RSKImageCropper-all-target-headers.hmap


二进制
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/Reachability.build/Reachability-all-non-framework-target-headers.hmap


二进制
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/Reachability.build/Reachability-all-target-headers.hmap


二进制
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/SDWebImage.build/SDWebImage-all-target-headers.hmap


二进制
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/SSZipArchive.build/SSZipArchive-all-non-framework-target-headers.hmap


二进制
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/SSZipArchive.build/SSZipArchive-all-target-headers.hmap


二进制
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/SocketRocket.build/SocketRocket-all-target-headers.hmap


二进制
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/Whiteboard-Whiteboard.build/Whiteboard-all-target-headers.hmap


二进制
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/Whiteboard.build/Whiteboard-all-target-headers.hmap


二进制
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/YYModel.build/YYModel-all-non-framework-target-headers.hmap


二进制
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/YYModel.build/YYModel-all-target-headers.hmap


二进制
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/ZKCycleScrollView.build/ZKCycleScrollView-all-target-headers.hmap


二进制
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/dsBridge.build/dsBridge-all-non-framework-target-headers.hmap


二进制
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/dsBridge.build/dsBridge-all-target-headers.hmap


二进制
KulexiuForStudent/build/XCBuildData/BuildDescriptionCacheIndex-604c88e60e61e13155f665cce0707a51


二进制
KulexiuForStudent/build/XCBuildData/build.db