Browse Source

陪练课详情

Steven 3 years ago
parent
commit
c1bdaa56a1
100 changed files with 1668 additions and 129 deletions
  1. 36 0
      KulexiuForStudent/KulexiuForStudent.xcodeproj/project.pbxproj
  2. BIN
      KulexiuForStudent/KulexiuForStudent.xcworkspace/xcuserdata/wangzhi.xcuserdatad/UserInterfaceState.xcuserstate
  3. 0 16
      KulexiuForStudent/KulexiuForStudent.xcworkspace/xcuserdata/wangzhi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
  4. 18 0
      KulexiuForStudent/KulexiuForStudent/Assets.xcassets/AppIcon.appiconset/Contents.json
  5. BIN
      KulexiuForStudent/KulexiuForStudent/Assets.xcassets/AppIcon.appiconset/Icon.png
  6. BIN
      KulexiuForStudent/KulexiuForStudent/Assets.xcassets/AppIcon.appiconset/IconiPadApp_76pt.png
  7. BIN
      KulexiuForStudent/KulexiuForStudent/Assets.xcassets/AppIcon.appiconset/IconiPadApp_76pt@2x.png
  8. BIN
      KulexiuForStudent/KulexiuForStudent/Assets.xcassets/AppIcon.appiconset/IconiPadNotifications_20pt.png
  9. BIN
      KulexiuForStudent/KulexiuForStudent/Assets.xcassets/AppIcon.appiconset/IconiPadNotifications_20pt@2x.png
  10. BIN
      KulexiuForStudent/KulexiuForStudent/Assets.xcassets/AppIcon.appiconset/IconiPadProApp_83.5pt@2x.png
  11. BIN
      KulexiuForStudent/KulexiuForStudent/Assets.xcassets/AppIcon.appiconset/IconiPadSpootlight5_29pt.png
  12. BIN
      KulexiuForStudent/KulexiuForStudent/Assets.xcassets/AppIcon.appiconset/IconiPadSpootlight5_29pt@2x.png
  13. BIN
      KulexiuForStudent/KulexiuForStudent/Assets.xcassets/AppIcon.appiconset/IconiPadSpootlight7_40pt.png
  14. BIN
      KulexiuForStudent/KulexiuForStudent/Assets.xcassets/AppIcon.appiconset/IconiPadSpootlight7_40pt@2x.png
  15. BIN
      KulexiuForStudent/KulexiuForStudent/Assets.xcassets/AppIcon.appiconset/IconiPhoneApp_60pt@2x.png
  16. BIN
      KulexiuForStudent/KulexiuForStudent/Assets.xcassets/AppIcon.appiconset/IconiPhoneApp_60pt@3x.png
  17. BIN
      KulexiuForStudent/KulexiuForStudent/Assets.xcassets/AppIcon.appiconset/IconiPhoneNotification_20pt@2x.png
  18. BIN
      KulexiuForStudent/KulexiuForStudent/Assets.xcassets/AppIcon.appiconset/IconiPhoneNotification_20pt@3x.png
  19. BIN
      KulexiuForStudent/KulexiuForStudent/Assets.xcassets/AppIcon.appiconset/IconiPhoneSpootlight5_29pt@2x.png
  20. BIN
      KulexiuForStudent/KulexiuForStudent/Assets.xcassets/AppIcon.appiconset/IconiPhoneSpootlight5_29pt@3x.png
  21. BIN
      KulexiuForStudent/KulexiuForStudent/Assets.xcassets/AppIcon.appiconset/IconiPhoneSpootlight7_40pt@2x.png
  22. BIN
      KulexiuForStudent/KulexiuForStudent/Assets.xcassets/AppIcon.appiconset/IconiPhoneSpootlight7_40pt@3x.png
  23. 53 1
      KulexiuForStudent/KulexiuForStudent/Common/Base/KSNetworkingManager.h
  24. 90 2
      KulexiuForStudent/KulexiuForStudent/Common/Base/KSNetworkingManager.m
  25. 8 0
      KulexiuForStudent/KulexiuForStudent/Common/Define/PrefixHeader.pch
  26. 5 4
      KulexiuForStudent/KulexiuForStudent/Common/ThirdPart/MSSBrowse/MSSBrowseBaseViewController.m
  27. 14 13
      KulexiuForStudent/KulexiuForStudent/Common/ThirdPart/MSSBrowse/MSSBrowseNetworkViewController.m
  28. 3 1
      KulexiuForStudent/KulexiuForStudent/Common/ThirdPart/SDCycleScrollView/SDCycleScrollView.m
  29. 1 1
      KulexiuForStudent/KulexiuForStudent/Module/Course/AccompanyCourse/Controller/AccompanyDetailViewController.h
  30. 512 1
      KulexiuForStudent/KulexiuForStudent/Module/Course/AccompanyCourse/Controller/AccompanyDetailViewController.m
  31. 29 0
      KulexiuForStudent/KulexiuForStudent/Module/Course/AccompanyCourse/Model/EvaluateDetailModel.h
  32. 162 0
      KulexiuForStudent/KulexiuForStudent/Module/Course/AccompanyCourse/Model/EvaluateDetailModel.m
  33. 24 0
      KulexiuForStudent/KulexiuForStudent/Module/Course/AccompanyCourse/View/AccompanyDetailBottomView.h
  34. 42 0
      KulexiuForStudent/KulexiuForStudent/Module/Course/AccompanyCourse/View/AccompanyDetailBottomView.m
  35. 50 0
      KulexiuForStudent/KulexiuForStudent/Module/Course/AccompanyCourse/View/AccompanyDetailBottomView.xib
  36. 19 0
      KulexiuForStudent/KulexiuForStudent/Module/Course/AccompanyCourse/View/AccompanyEvaluateCell.h
  37. 55 0
      KulexiuForStudent/KulexiuForStudent/Module/Course/AccompanyCourse/View/AccompanyEvaluateCell.m
  38. 139 0
      KulexiuForStudent/KulexiuForStudent/Module/Course/AccompanyCourse/View/AccompanyEvaluateCell.xib
  39. 2 2
      KulexiuForStudent/KulexiuForStudent/Module/Course/AccompanyCourse/View/AccompanyHomeworkCell.m
  40. 1 1
      KulexiuForStudent/KulexiuForStudent/Module/Course/AccompanyCourse/View/AccompanyHomeworkCell.xib
  41. 20 0
      KulexiuForStudent/KulexiuForStudent/Module/Course/AccompanyCourse/View/AccompanyStudentEvaCell.h
  42. 72 0
      KulexiuForStudent/KulexiuForStudent/Module/Course/AccompanyCourse/View/AccompanyStudentEvaCell.m
  43. 193 0
      KulexiuForStudent/KulexiuForStudent/Module/Course/AccompanyCourse/View/AccompanyStudentEvaCell.xib
  44. 1 15
      KulexiuForStudent/KulexiuForStudent/Module/Course/Controller/CourseViewController.m
  45. 0 1
      KulexiuForStudent/KulexiuForStudent/Module/Course/View/AccompanyCourseCell.h
  46. 11 38
      KulexiuForStudent/KulexiuForStudent/Module/Course/View/AccompanyCourseCell.m
  47. 6 3
      KulexiuForStudent/KulexiuForStudent/Module/Mine/Homework/Controller/HomeworkDetailViewController.m
  48. 0 14
      KulexiuForStudent/KulexiuForStudent/Module/Mine/MineCourse/View/MyLessonBodyView.m
  49. 2 1
      KulexiuForStudent/KulexiuForStudent/Module/Mine/Setting/View/VeriCheckView.m
  50. BIN
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Assets.car
  51. BIN
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Info.plist
  52. BIN
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/KulexiuForStudent
  53. 66 11
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/_CodeSignature/CodeResources
  54. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/KulexiuForStudent-project-headers.hmap
  55. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/ClassTitleView.o
  56. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/ClassVideoListCell.o
  57. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/ClassVideoListView.o
  58. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/Classroom.o
  59. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/ClassroomMainContainer.o
  60. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/ClassroomTitleView.o
  61. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/CourseViewController.o
  62. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KSBaseViewController.o
  63. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KSEnterLiveroomManager.o
  64. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KSImageButton.o
  65. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KSLiveStreamVideo.o
  66. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KSMediaManager.o
  67. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KSNetworkingManager.o
  68. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KSWebSocketManager.o
  69. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KSWhiteboardView.o
  70. 5 1
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KulexiuForStudent.LinkFileList
  71. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KulexiuForStudent_dependency_info.dat
  72. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/LiveVideoRoomViewController.o
  73. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/LoginHelper.o
  74. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/MBProgressHUD+KSShow.o
  75. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/MSSBrowseBaseViewController.o
  76. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/MSSBrowseNetworkViewController.o
  77. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/MainContainerView.o
  78. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/NewClassRoomViewController.o
  79. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/RTCService.o
  80. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/RecentSharedVideoCell.o
  81. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/RecentSharedView.o
  82. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/SDCycleScrollView.o
  83. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/SubjectChooseViewController.o
  84. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/ToolPanelView.o
  85. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/UIView+XIBView.dia
  86. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/VeriCheckView.o
  87. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/VideoListCell.o
  88. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/VideoListView.o
  89. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/assetcatalog_dependencies
  90. 27 1
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/assetcatalog_generated_info.plist
  91. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/AFNetworking.build/AFNetworking-all-non-framework-target-headers.hmap
  92. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/AFNetworking.build/AFNetworking-all-target-headers.hmap
  93. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/CHIPageControl.build/CHIPageControl-all-non-framework-target-headers.hmap
  94. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/CHIPageControl.build/CHIPageControl-all-target-headers.hmap
  95. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/CHIPageControl.build/Objects-normal/x86_64/CHIPageControl-master.priors
  96. 2 2
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/CHIPageControl.build/Objects-normal/x86_64/CHIPageControl-master.swiftdeps
  97. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/IQKeyboardManager.build/IQKeyboardManager-all-target-headers.hmap
  98. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/JXCategoryView.build/JXCategoryView-all-non-framework-target-headers.hmap
  99. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/JXCategoryView.build/JXCategoryView-all-target-headers.hmap
  100. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/JXPagingView.build/JXPagingView-all-target-headers.hmap

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

@@ -411,6 +411,13 @@
 		BC119298280FBCB400A716F7 /* UIView+ExtensionForDotLine.m in Sources */ = {isa = PBXBuildFile; fileRef = BC119297280FBCB400A716F7 /* UIView+ExtensionForDotLine.m */; };
 		BC11929B280FD2E800A716F7 /* HomeworkBottomView.m in Sources */ = {isa = PBXBuildFile; fileRef = BC11929A280FD2E800A716F7 /* HomeworkBottomView.m */; };
 		BC11929D280FD2EF00A716F7 /* HomeworkBottomView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC11929C280FD2EF00A716F7 /* HomeworkBottomView.xib */; };
+		BC27A06E280FF56C00F91E27 /* AccompanyEvaluateCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC27A06A280FF56B00F91E27 /* AccompanyEvaluateCell.xib */; };
+		BC27A06F280FF56C00F91E27 /* AccompanyStudentEvaCell.m in Sources */ = {isa = PBXBuildFile; fileRef = BC27A06B280FF56C00F91E27 /* AccompanyStudentEvaCell.m */; };
+		BC27A070280FF56C00F91E27 /* AccompanyStudentEvaCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC27A06C280FF56C00F91E27 /* AccompanyStudentEvaCell.xib */; };
+		BC27A071280FF56C00F91E27 /* AccompanyEvaluateCell.m in Sources */ = {isa = PBXBuildFile; fileRef = BC27A06D280FF56C00F91E27 /* AccompanyEvaluateCell.m */; };
+		BC27A074280FF60B00F91E27 /* AccompanyDetailBottomView.m in Sources */ = {isa = PBXBuildFile; fileRef = BC27A073280FF60B00F91E27 /* AccompanyDetailBottomView.m */; };
+		BC27A076280FF61300F91E27 /* AccompanyDetailBottomView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC27A075280FF61300F91E27 /* AccompanyDetailBottomView.xib */; };
+		BC27A079280FFA2200F91E27 /* EvaluateDetailModel.m in Sources */ = {isa = PBXBuildFile; fileRef = BC27A078280FFA2200F91E27 /* EvaluateDetailModel.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 */; };
@@ -1308,6 +1315,17 @@
 		BC119299280FD2E800A716F7 /* HomeworkBottomView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HomeworkBottomView.h; sourceTree = "<group>"; };
 		BC11929A280FD2E800A716F7 /* HomeworkBottomView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HomeworkBottomView.m; sourceTree = "<group>"; };
 		BC11929C280FD2EF00A716F7 /* HomeworkBottomView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = HomeworkBottomView.xib; sourceTree = "<group>"; };
+		BC27A068280FF56B00F91E27 /* AccompanyEvaluateCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccompanyEvaluateCell.h; sourceTree = "<group>"; };
+		BC27A069280FF56B00F91E27 /* AccompanyStudentEvaCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccompanyStudentEvaCell.h; sourceTree = "<group>"; };
+		BC27A06A280FF56B00F91E27 /* AccompanyEvaluateCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = AccompanyEvaluateCell.xib; sourceTree = "<group>"; };
+		BC27A06B280FF56C00F91E27 /* AccompanyStudentEvaCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AccompanyStudentEvaCell.m; sourceTree = "<group>"; };
+		BC27A06C280FF56C00F91E27 /* AccompanyStudentEvaCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = AccompanyStudentEvaCell.xib; sourceTree = "<group>"; };
+		BC27A06D280FF56C00F91E27 /* AccompanyEvaluateCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AccompanyEvaluateCell.m; sourceTree = "<group>"; };
+		BC27A072280FF60B00F91E27 /* AccompanyDetailBottomView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AccompanyDetailBottomView.h; sourceTree = "<group>"; };
+		BC27A073280FF60B00F91E27 /* AccompanyDetailBottomView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AccompanyDetailBottomView.m; sourceTree = "<group>"; };
+		BC27A075280FF61300F91E27 /* AccompanyDetailBottomView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AccompanyDetailBottomView.xib; sourceTree = "<group>"; };
+		BC27A077280FFA2100F91E27 /* EvaluateDetailModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EvaluateDetailModel.h; sourceTree = "<group>"; };
+		BC27A078280FFA2200F91E27 /* EvaluateDetailModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EvaluateDetailModel.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>"; };
@@ -3074,6 +3092,8 @@
 		BC11923D280ED9CC00A716F7 /* Model */ = {
 			isa = PBXGroup;
 			children = (
+				BC27A077280FFA2100F91E27 /* EvaluateDetailModel.h */,
+				BC27A078280FFA2200F91E27 /* EvaluateDetailModel.m */,
 			);
 			path = Model;
 			sourceTree = "<group>";
@@ -3093,6 +3113,15 @@
 				BC11927E280FB10900A716F7 /* AccompanyRemarkCell.h */,
 				BC11927C280FB10700A716F7 /* AccompanyRemarkCell.m */,
 				BC11927D280FB10800A716F7 /* AccompanyRemarkCell.xib */,
+				BC27A068280FF56B00F91E27 /* AccompanyEvaluateCell.h */,
+				BC27A06D280FF56C00F91E27 /* AccompanyEvaluateCell.m */,
+				BC27A06A280FF56B00F91E27 /* AccompanyEvaluateCell.xib */,
+				BC27A069280FF56B00F91E27 /* AccompanyStudentEvaCell.h */,
+				BC27A06B280FF56C00F91E27 /* AccompanyStudentEvaCell.m */,
+				BC27A06C280FF56C00F91E27 /* AccompanyStudentEvaCell.xib */,
+				BC27A072280FF60B00F91E27 /* AccompanyDetailBottomView.h */,
+				BC27A073280FF60B00F91E27 /* AccompanyDetailBottomView.m */,
+				BC27A075280FF61300F91E27 /* AccompanyDetailBottomView.xib */,
 			);
 			path = View;
 			sourceTree = "<group>";
@@ -3909,6 +3938,7 @@
 				2779359B27E324A80010E277 /* TZImagePickerController.bundle in Resources */,
 				277935C327E324A90010E277 /* SDQWMaskCustomView.xib in Resources */,
 				275FA24A27E7428D00CFEA2E /* InstrumentChooseView.xib in Resources */,
+				BC27A06E280FF56C00F91E27 /* AccompanyEvaluateCell.xib in Resources */,
 				2723B66327F15CFC00E0B90B /* ModifyNameBodyView.xib in Resources */,
 				BCB635B327F6E1A600ACFDCF /* LiveRoomBottomView.xib in Resources */,
 				BCB6348327F6D29600ACFDCF /* LiveSeatApplyView.xib in Resources */,
@@ -3924,12 +3954,14 @@
 				275FA23727E7356B00CFEA2E /* LoginBodyView.xib in Resources */,
 				BCB6355927F6D2A300ACFDCF /* class_stop.mp3 in Resources */,
 				BC119239280ED98E00A716F7 /* AccompanyCourseCell.xib in Resources */,
+				BC27A076280FF61300F91E27 /* AccompanyDetailBottomView.xib in Resources */,
 				27F9033C27E87FE100C08A19 /* MineBodyView.xib in Resources */,
 				27F9032B27E87C2E00C08A19 /* NetworkBodyView.xib in Resources */,
 				2779358F27E324A80010E277 /* WMPlayer.bundle in Resources */,
 				BC11926C280FAF5900A716F7 /* AccompanyAlertView.xib in Resources */,
 				2723B66F27F15CFC00E0B90B /* AboutUsBodyView.xib in Resources */,
 				275FA23827E7356B00CFEA2E /* FirstSettingBodyView.xib in Resources */,
+				BC27A070280FF56C00F91E27 /* AccompanyStudentEvaCell.xib in Resources */,
 				2723B63927F157D500E0B90B /* GroupMemberListCell.xib in Resources */,
 				BC0212F827FC4A080040569F /* SubjectImageCell.xib in Resources */,
 				BC11921B280ED6A900A716F7 /* NewClassPopCell.xib in Resources */,
@@ -4205,6 +4237,7 @@
 				BC119247280EDA5800A716F7 /* kSJXCollectionView.m in Sources */,
 				2779358927E324A80010E277 /* CoinModel.m in Sources */,
 				275FA1EA27E7351900CFEA2E /* KSRCIMDataSource.m in Sources */,
+				BC27A071280FF56C00F91E27 /* AccompanyEvaluateCell.m in Sources */,
 				BC119241280ED9E000A716F7 /* AccompanyDetailViewController.m in Sources */,
 				BCB6346F27F6D29600ACFDCF /* LiveroomTimeManager.m in Sources */,
 				2779359C27E324A80010E277 /* TZProgressView.m in Sources */,
@@ -4334,6 +4367,7 @@
 				2779359127E324A80010E277 /* FastForwardView.m in Sources */,
 				BC119222280ED6F500A716F7 /* LiveLessonModel.m in Sources */,
 				2723B63C27F159BA00E0B90B /* KSBaseTableViewController.m in Sources */,
+				BC27A079280FFA2200F91E27 /* EvaluateDetailModel.m in Sources */,
 				2779358B27E324A80010E277 /* KLTNavigationController.m in Sources */,
 				27F9033127E87C2E00C08A19 /* DeviceCheckView.m in Sources */,
 				BCB6359527F6D2AB00ACFDCF /* OnlineClassManager.m in Sources */,
@@ -4361,6 +4395,7 @@
 				275FA24327E73DF600CFEA2E /* InstrumentDescView.m in Sources */,
 				2723B68027F15D3D00E0B90B /* FeedbackViewController.m in Sources */,
 				275FA1ED27E7351900CFEA2E /* KSUpdateManager.m in Sources */,
+				BC27A06F280FF56C00F91E27 /* AccompanyStudentEvaCell.m in Sources */,
 				BCB6355727F6D2A300ACFDCF /* HTTPResult.m in Sources */,
 				BC0212FB27FC61D30040569F /* KSSegmentControl.m in Sources */,
 				BC119223280ED6F500A716F7 /* AccompanyLessonModel.m in Sources */,
@@ -4531,6 +4566,7 @@
 				BCB6348027F6D29600ACFDCF /* LiveSeatApplyView.m in Sources */,
 				2779357F27E324A80010E277 /* KeyChainTools.m in Sources */,
 				2723B61927F157D500E0B90B /* KSSearchResultModel.m in Sources */,
+				BC27A074280FF60B00F91E27 /* AccompanyDetailBottomView.m in Sources */,
 				275FA1E327E7351900CFEA2E /* WeakWebViewScriptMessageDelegate.m in Sources */,
 				2779351F27E324A60010E277 /* UITextView+ZWPlaceHolder.m in Sources */,
 				2779353C27E324A60010E277 /* UIButton+Property.m in Sources */,

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


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

@@ -23,22 +23,6 @@
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
-            uuid = "33461FA7-5665-43E7-9218-CDE1B6A19EF2"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Module/Login/Controller/VefiCodeLoginController.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "137"
-            endingLineNumber = "137"
-            landmarkName = "-loginAction:"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
             uuid = "7FB04BC3-DA77-4E78-82C6-F67F0087B211"
             shouldBeEnabled = "Yes"
             ignoreCount = "0"

+ 18 - 0
KulexiuForStudent/KulexiuForStudent/Assets.xcassets/AppIcon.appiconset/Contents.json

@@ -1,91 +1,109 @@
 {
   "images" : [
     {
+      "filename" : "IconiPhoneNotification_20pt@2x.png",
       "idiom" : "iphone",
       "scale" : "2x",
       "size" : "20x20"
     },
     {
+      "filename" : "IconiPhoneNotification_20pt@3x.png",
       "idiom" : "iphone",
       "scale" : "3x",
       "size" : "20x20"
     },
     {
+      "filename" : "IconiPhoneSpootlight5_29pt@2x.png",
       "idiom" : "iphone",
       "scale" : "2x",
       "size" : "29x29"
     },
     {
+      "filename" : "IconiPhoneSpootlight5_29pt@3x.png",
       "idiom" : "iphone",
       "scale" : "3x",
       "size" : "29x29"
     },
     {
+      "filename" : "IconiPhoneSpootlight7_40pt@2x.png",
       "idiom" : "iphone",
       "scale" : "2x",
       "size" : "40x40"
     },
     {
+      "filename" : "IconiPhoneSpootlight7_40pt@3x.png",
       "idiom" : "iphone",
       "scale" : "3x",
       "size" : "40x40"
     },
     {
+      "filename" : "IconiPhoneApp_60pt@2x.png",
       "idiom" : "iphone",
       "scale" : "2x",
       "size" : "60x60"
     },
     {
+      "filename" : "IconiPhoneApp_60pt@3x.png",
       "idiom" : "iphone",
       "scale" : "3x",
       "size" : "60x60"
     },
     {
+      "filename" : "IconiPadNotifications_20pt.png",
       "idiom" : "ipad",
       "scale" : "1x",
       "size" : "20x20"
     },
     {
+      "filename" : "IconiPadNotifications_20pt@2x.png",
       "idiom" : "ipad",
       "scale" : "2x",
       "size" : "20x20"
     },
     {
+      "filename" : "IconiPadSpootlight5_29pt.png",
       "idiom" : "ipad",
       "scale" : "1x",
       "size" : "29x29"
     },
     {
+      "filename" : "IconiPadSpootlight5_29pt@2x.png",
       "idiom" : "ipad",
       "scale" : "2x",
       "size" : "29x29"
     },
     {
+      "filename" : "IconiPadSpootlight7_40pt.png",
       "idiom" : "ipad",
       "scale" : "1x",
       "size" : "40x40"
     },
     {
+      "filename" : "IconiPadSpootlight7_40pt@2x.png",
       "idiom" : "ipad",
       "scale" : "2x",
       "size" : "40x40"
     },
     {
+      "filename" : "IconiPadApp_76pt.png",
       "idiom" : "ipad",
       "scale" : "1x",
       "size" : "76x76"
     },
     {
+      "filename" : "IconiPadApp_76pt@2x.png",
       "idiom" : "ipad",
       "scale" : "2x",
       "size" : "76x76"
     },
     {
+      "filename" : "IconiPadProApp_83.5pt@2x.png",
       "idiom" : "ipad",
       "scale" : "2x",
       "size" : "83.5x83.5"
     },
     {
+      "filename" : "Icon.png",
       "idiom" : "ios-marketing",
       "scale" : "1x",
       "size" : "1024x1024"

BIN
KulexiuForStudent/KulexiuForStudent/Assets.xcassets/AppIcon.appiconset/Icon.png


BIN
KulexiuForStudent/KulexiuForStudent/Assets.xcassets/AppIcon.appiconset/IconiPadApp_76pt.png


BIN
KulexiuForStudent/KulexiuForStudent/Assets.xcassets/AppIcon.appiconset/IconiPadApp_76pt@2x.png


BIN
KulexiuForStudent/KulexiuForStudent/Assets.xcassets/AppIcon.appiconset/IconiPadNotifications_20pt.png


BIN
KulexiuForStudent/KulexiuForStudent/Assets.xcassets/AppIcon.appiconset/IconiPadNotifications_20pt@2x.png


BIN
KulexiuForStudent/KulexiuForStudent/Assets.xcassets/AppIcon.appiconset/IconiPadProApp_83.5pt@2x.png


BIN
KulexiuForStudent/KulexiuForStudent/Assets.xcassets/AppIcon.appiconset/IconiPadSpootlight5_29pt.png


BIN
KulexiuForStudent/KulexiuForStudent/Assets.xcassets/AppIcon.appiconset/IconiPadSpootlight5_29pt@2x.png


BIN
KulexiuForStudent/KulexiuForStudent/Assets.xcassets/AppIcon.appiconset/IconiPadSpootlight7_40pt.png


BIN
KulexiuForStudent/KulexiuForStudent/Assets.xcassets/AppIcon.appiconset/IconiPadSpootlight7_40pt@2x.png


BIN
KulexiuForStudent/KulexiuForStudent/Assets.xcassets/AppIcon.appiconset/IconiPhoneApp_60pt@2x.png


BIN
KulexiuForStudent/KulexiuForStudent/Assets.xcassets/AppIcon.appiconset/IconiPhoneApp_60pt@3x.png


BIN
KulexiuForStudent/KulexiuForStudent/Assets.xcassets/AppIcon.appiconset/IconiPhoneNotification_20pt@2x.png


BIN
KulexiuForStudent/KulexiuForStudent/Assets.xcassets/AppIcon.appiconset/IconiPhoneNotification_20pt@3x.png


BIN
KulexiuForStudent/KulexiuForStudent/Assets.xcassets/AppIcon.appiconset/IconiPhoneSpootlight5_29pt@2x.png


BIN
KulexiuForStudent/KulexiuForStudent/Assets.xcassets/AppIcon.appiconset/IconiPhoneSpootlight5_29pt@3x.png


BIN
KulexiuForStudent/KulexiuForStudent/Assets.xcassets/AppIcon.appiconset/IconiPhoneSpootlight7_40pt@2x.png


BIN
KulexiuForStudent/KulexiuForStudent/Assets.xcassets/AppIcon.appiconset/IconiPhoneSpootlight7_40pt@3x.png


+ 53 - 1
KulexiuForStudent/KulexiuForStudent/Common/Base/KSNetworkingManager.h

@@ -354,7 +354,7 @@ NS_ASSUME_NONNULL_BEGIN
 /// @param faliure 失败
 + (void)queryCourseSchedule:(NSString *)post classMonth:(NSString *)classMonth success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure;
 
-// /api-student/courseSchedule/queryCourseUser
+// /api-student/courseSchedule/queryCourseTeacher
 /// 查询日期课程
 /// @param post post
 /// @param classDate 日期
@@ -394,6 +394,58 @@ NS_ASSUME_NONNULL_BEGIN
 /// @param faliure 失败
 + (void)homeSubmitAction:(NSString *)post courseScheduleId:(NSString *)courseScheduleId attachment:(NSString *)attachment success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure;
 
+#pragma mark ------ 陪练课评价
+// /api-student/courseSchedule/selectReplied
+
+/// 查询评价详情
+/// @param post post
+/// @param courseGroupId 课程组编号
+/// @param courseScheduleId 课程编号
+/// @param success 成功
+/// @param faliure 失败
++ (void)selectRepliedRequest:(NSString *)post courseGroupId:(NSString *)courseGroupId courseScheduleId:(NSString *)courseScheduleId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure;
+
+// /api-student/courseSchedule/replied
+
+/// 评价陪练课
+/// @param post post
+/// @param courseScheduleId 课程编号
+/// @param courseGroupId 课程组编号
+/// @param studentReplied 评价内容
+/// @param score 评分
+/// @param success 成功
+/// @param faliure 失败
++ (void)accompanyCourseRepliedRequest:(NSString *)post courseScheduleId:(NSString *)courseScheduleId courseGroupId:(NSString *)courseGroupId studentReplied:(NSString *)studentReplied score:(NSInteger)score success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure;
+
+#pragma mark ----- 我的课程
+// /api-student/courseSchedule/queryStudentPracticeCourse
+
+/// 我的课程-陪练课
+/// @param post post
+/// @param classMonth 月份 yyyy-MM
+/// @param status 课程状态(NOT_START:未开始 ING:进行中 COMPLETE:已完成 CANCEL:已取消)
+/// @param subjectId 声部id
+/// @param page 页数
+/// @param rows 条数
+/// @param success 成功
+/// @param faliure 失败
++ (void)queryStudentPracticeCourse:(NSString *)post classMonth:(NSString *)classMonth status:(NSString *)status subjectId:(NSString *)subjectId page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure;
+
+// /api-student/courseSchedule/queryTeacherLiveCourse
+/// 我的课程-直播课
+/// @param post post
+/// @param classDate 月份 yyyy-MM
+/// @param status 课程状态(NOT_START:未开始 ING:进行中 COMPLETE:已完成 CANCEL:已取消)
+/// @param subjectId 声部id
+/// @param page 页数
+/// @param rows 条数
+/// @param success 成功
+/// @param faliure 失败
++ (void)queryTeacherLiveCourse:(NSString *)post classDate:(NSString *)classDate status:(NSString *)status subjectId:(NSString *)subjectId page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure;
+
+// /api-student/videoLesson/selectGroup
+//+ (void)videoLessonGroupRequest:(NSString *)post
+
 @end
 
 NS_ASSUME_NONNULL_END

+ 90 - 2
KulexiuForStudent/KulexiuForStudent/Common/Base/KSNetworkingManager.m

@@ -804,7 +804,7 @@
     [self request:post andWithUrl:url and:parm success:success faliure:faliure];
 }
 
-// /api-student/courseSchedule/queryCourseUser
+// /api-student/courseSchedule/queryCourseTeacher
 /// 查询日期课程
 /// @param post post
 /// @param classDate 日期
@@ -812,12 +812,53 @@
 /// @param faliure 失败
 + (void)queryCourseForDay:(NSString *)post classDate:(NSString *)classDate success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
     [self configRequestMethodJSON];
-    NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/courseSchedule/queryCourseUser"];
+    NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/courseSchedule/queryCourseTeacher"];
     NSMutableDictionary *parm = [NSMutableDictionary dictionary];
     [parm setValue:classDate forKey:@"classDate"];
     [self request:post andWithUrl:url and:parm success:success faliure:faliure];
 }
 
+#pragma mark ------ 陪练课评价
+// /api-student/courseSchedule/selectReplied
+
+/// 查询评价详情
+/// @param post post
+/// @param courseGroupId 课程组编号
+/// @param courseScheduleId 课程编号
+/// @param success 成功
+/// @param faliure 失败
++ (void)selectRepliedRequest:(NSString *)post courseGroupId:(NSString *)courseGroupId courseScheduleId:(NSString *)courseScheduleId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
+    [self configRequestMethodJSON];
+    NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-student/courseSchedule/selectReplied"];
+    NSMutableDictionary *parm = [NSMutableDictionary dictionary];
+    [parm setValue:courseGroupId forKey:@"courseGroupId"];
+    [parm setValue:courseScheduleId forKey:@"courseScheduleId"];
+    [parm setValue:UserDefault(UIDKey) forKey:@"studentId"];
+    [self request:post andWithUrl:url and:parm success:success faliure:faliure];
+}
+
+// /api-student/courseSchedule/replied
+
+/// 评价陪练课
+/// @param post post
+/// @param courseScheduleId 课程编号
+/// @param courseGroupId 课程组编号
+/// @param studentReplied 评价内容
+/// @param score 评分
+/// @param success 成功
+/// @param faliure 失败
++ (void)accompanyCourseRepliedRequest:(NSString *)post courseScheduleId:(NSString *)courseScheduleId courseGroupId:(NSString *)courseGroupId studentReplied:(NSString *)studentReplied score:(NSInteger)score success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
+    [self configRequestMethodJSON];
+    NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-student/courseSchedule/replied"];
+    NSMutableDictionary *parm = [NSMutableDictionary dictionary];
+    [parm setValue:courseScheduleId forKey:@"courseScheduleId"];
+    [parm setValue:courseGroupId forKey:@"courseGroupId"];
+    [parm setValue:UserDefault(UIDKey) forKey:@"studentId"];
+    [parm setValue:studentReplied forKey:@"studentReplied"];
+    [parm setValue:@(score) forKey:@"score"];
+    [self request:post andWithUrl:url and:parm success:success faliure:faliure];
+}
+
 #pragma mark ----- 课后作业
 // /api-student/homework/list
 
@@ -867,6 +908,53 @@
     [parm setValue:courseScheduleId forKey:@"courseScheduleId"];
     [parm setValue:attachment forKey:@"submit"];
     [self request:post andWithUrl:url and:parm success:success faliure:faliure];
+}
+
+#pragma mark ----- 我的课程
+// /api-student/courseSchedule/queryStudentPracticeCourse
+
+/// 我的课程-陪练课
+/// @param post post
+/// @param classMonth 月份 yyyy-MM
+/// @param status 课程状态(NOT_START:未开始 ING:进行中 COMPLETE:已完成 CANCEL:已取消)
+/// @param subjectId 声部id
+/// @param page 页数
+/// @param rows 条数
+/// @param success 成功
+/// @param faliure 失败
++ (void)queryStudentPracticeCourse:(NSString *)post classMonth:(NSString *)classMonth status:(NSString *)status subjectId:(NSString *)subjectId page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
+    [self configRequestMethodJSON];
+    NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/courseSchedule/queryStudentPracticeCourse"];
+    NSMutableDictionary *parm = [NSMutableDictionary dictionary];
+    [parm setValue:classMonth forKey:@"classMonth"];
+    [parm setValue:status forKey:@"status"];
+    [parm setValue:subjectId forKey:@"subjectId"];
+    [parm setValue:@(page) forKey:@"page"];
+    [parm setValue:@(rows) forKey:@"rows"];
+    [parm setValue:UserDefault(UIDKey) forKey:@"studentId"];
+    [self request:post andWithUrl:url and:parm success:success faliure:faliure];
+}
 
+// /api-teacher/courseSchedule/queryTeacherLiveCourse
+/// 我的课程-直播课
+/// @param post post
+/// @param classDate 月份 yyyy-MM
+/// @param status 课程状态(NOT_START:未开始 ING:进行中 COMPLETE:已完成 CANCEL:已取消)
+/// @param subjectId 声部id
+/// @param page 页数
+/// @param rows 条数
+/// @param success 成功
+/// @param faliure 失败
++ (void)queryTeacherLiveCourse:(NSString *)post classDate:(NSString *)classDate status:(NSString *)status subjectId:(NSString *)subjectId page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
+    [self configRequestMethodJSON];
+    NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/courseSchedule/queryTeacherLiveCourse"];
+    NSMutableDictionary *parm = [NSMutableDictionary dictionary];
+    [parm setValue:classDate forKey:@"classDate"];
+    [parm setValue:status forKey:@"status"];
+    [parm setValue:subjectId forKey:@"subjectId"];
+    [parm setValue:@(page) forKey:@"page"];
+    [parm setValue:@(rows) forKey:@"rows"];
+    [parm setValue:UserDefault(UIDKey) forKey:@"studentId"];
+    [self request:post andWithUrl:url and:parm success:success faliure:faliure];
 }
 @end

+ 8 - 0
KulexiuForStudent/KulexiuForStudent/Common/Define/PrefixHeader.pch

@@ -96,6 +96,14 @@ dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)((_seconds_) * NSEC_PER
 shouldPrevent = NO; \
 }); \
 
+
+#define dispatch_main_sync_safe(block)\
+    if ([NSThread isMainThread]) {\
+        block();\
+    } else {\
+        dispatch_sync(dispatch_get_main_queue(), block);\
+    }
+
 // Include any system framework and library headers here that should be included in all compilation units.
 // You will also need to set the Prefix Header build setting of one or more of your targets to reference this file.
 

+ 5 - 4
KulexiuForStudent/KulexiuForStudent/Common/ThirdPart/MSSBrowse/MSSBrowseBaseViewController.m

@@ -193,10 +193,11 @@
         }];
         [cell longPress:^(MSSBrowseCollectionViewCell *browseCell) {
             __strong __typeof(weakSelf)strongSelf = weakSelf;
-            if([[SDImageCache sharedImageCache]diskImageExistsWithKey:browseItem.bigImageUrl])
-            {
-                [strongSelf longPress:browseCell];
-            }
+            [[SDImageCache sharedImageCache] diskImageExistsWithKey:browseItem.bigImageUrl completion:^(BOOL isInCache) {
+                if (isInCache) {
+                    [strongSelf longPress:browseCell];
+                }
+            }];
         }];
     }
     return cell;

+ 14 - 13
KulexiuForStudent/KulexiuForStudent/Common/ThirdPart/MSSBrowse/MSSBrowseNetworkViewController.m

@@ -8,9 +8,10 @@
 
 #import "MSSBrowseNetworkViewController.h"
 #import "SDImageCache.h"
-#import "UIImageView+WebCache.h"
 #import "UIView+MSSLayout.h"
 #import "UIImage+MSSScale.h"
+#import <SDWebImage/UIImageView+WebCache.h>
+#import <SDWebImage/UIView+WebCache.h>
 
 @implementation MSSBrowseNetworkViewController
 
@@ -19,18 +20,18 @@
     // 停止加载
     [cell.loadingView stopAnimation];
     // 判断大图是否存在
-    if([[SDImageCache sharedImageCache]diskImageExistsWithKey:browseItem.bigImageUrl])
-    {
-        // 显示大图
-        [self showBigImage:cell.zoomScrollView.zoomImageView browseItem:browseItem rect:bigImageRect];
-    }
-    // 如果大图不存在
-    else
-    {
-        self.isFirstOpen = NO;
-        // 加载大图
-        [self loadBigImageWithBrowseItem:browseItem cell:cell rect:bigImageRect];
-    }
+    [[SDImageCache sharedImageCache] diskImageExistsWithKey:browseItem.bigImageUrl completion:^(BOOL isInCache) {
+        if (isInCache) {
+            // 显示大图
+            [self showBigImage:cell.zoomScrollView.zoomImageView browseItem:browseItem rect:bigImageRect];
+        }
+        // 如果大图不存在
+        else {
+            self.isFirstOpen = NO;
+            // 加载大图
+            [self loadBigImageWithBrowseItem:browseItem cell:cell rect:bigImageRect];
+        }
+    }];
 }
 
 - (void)showBigImage:(UIImageView *)imageView browseItem:(MSSBrowseModel *)browseItem rect:(CGRect)rect

+ 3 - 1
KulexiuForStudent/KulexiuForStudent/Common/ThirdPart/SDCycleScrollView/SDCycleScrollView.m

@@ -521,7 +521,9 @@ typedef NS_ENUM(NSInteger, DragDirection) {
 
 + (void)clearImagesCache
 {
-    [[[SDWebImageManager sharedManager] imageCache] clearDisk];
+    [[[SDWebImageManager sharedManager] imageCache] clearWithCacheType:SDImageCacheTypeDisk completion:^{
+        
+    }];
     
 }
 

+ 1 - 1
KulexiuForStudent/KulexiuForStudent/Module/Course/AccompanyCourse/Controller/AccompanyDetailViewController.h

@@ -15,7 +15,7 @@ NS_ASSUME_NONNULL_BEGIN
 
 @property (nonatomic, strong) NSString *courseGroupId;
 
-@property (nonatomic, strong) NSString *studentId;
+@property (nonatomic, strong) NSString *teacherId;
 
 @property (nonatomic, assign) NSInteger joinRoomBeforeTime; // 上课开始时间
 

+ 512 - 1
KulexiuForStudent/KulexiuForStudent/Module/Course/AccompanyCourse/Controller/AccompanyDetailViewController.m

@@ -6,8 +6,46 @@
 //
 
 #import "AccompanyDetailViewController.h"
+#import "AccompanyCourseInfoCell.h"
+#import "AccompanyArrangeCell.h"
+#import "AccompanyHomeworkCell.h"
+#import "AccompanyRemarkCell.h"
+#import "AccompanyEvaluateCell.h"
+#import "AccompanyStudentEvaCell.h"
+#import "AccompanyDetailBottomView.h"
+#import "HomeworkDetailModel.h"
+#import "EvaluateDetailModel.h"
+#import "AccompanyAlertView.h"
+#import "KSChatConversationViewController.h"
+#import "WMPlayer.h"
+#import "RecordCheckManager.h"
+#import "KSPremissionAlert.h"
+#import "KSMediaManager.h"
 
-@interface AccompanyDetailViewController ()
+@interface AccompanyDetailViewController ()<UITableViewDelegate,UITableViewDataSource,WMPlayerDelegate>
+{
+    WMPlayer *_wmPlayer;
+    CGRect _playerFrame;
+}
+@property (nonatomic, strong) UIView *bgView;
+
+@property (nonatomic, assign) BOOL isRatation;
+
+@property (nonatomic, strong) UITableView *tableView;
+
+@property (nonatomic, strong) AccompanyAlertView *alertView;
+
+@property (nonatomic, strong) NSMutableArray *fileArray;
+
+@property (nonatomic, strong) KSMediaManager *mediaManager;
+
+@property (nonatomic, strong) HomeworkDetailModel *homeworkModel;
+
+@property (nonatomic, strong) EvaluateDetailModel *evaluateModel;
+
+@property (strong, nonatomic) MBProgressHUD *HUD;
+
+@property (nonatomic, strong) AccompanyDetailBottomView *bottomView;
 
 @end
 
@@ -16,8 +54,481 @@
 - (void)viewDidLoad {
     [super viewDidLoad];
     // Do any additional setup after loading the view.
+    [self allocTitle:@"课程详情"];
+    [self configUI];
+    [self requestCourseInfoMessage];
+}
+
+- (void)requestCourseInfoMessage {
+    [self requestHomeworkMessage];
+    [self requestEvaluateMessage];
+}
+
+- (void)requestHomeworkMessage {
+    [KSNetworkingManager homeworkDetailRequest:KS_GET courseId:self.courseId success:^(NSDictionary * _Nonnull dic) {
+        if ([dic integerValueForKey:@"code"] == 200 && [dic boolValueForKey:@"status"]) {
+            self.homeworkModel = [[HomeworkDetailModel alloc] initWithDictionary:[dic dictionaryValueForKey:@"data"]];
+            if (self.homeworkModel.submitHomework == 1) {
+                if (![NSString isEmptyString:self.homeworkModel.studentAttachments]) {
+                    self.fileArray = [NSMutableArray arrayWithArray:[self.homeworkModel.studentAttachments componentsSeparatedByString:@","]];
+                }
+                else {
+                    self.fileArray = [NSMutableArray array];
+                }
+            }
+            else {
+                self.fileArray = [NSMutableArray array];
+            }
+        }
+        else {
+            [self MBPShow:MESSAGEKEY];
+        }
+        [self.tableView reloadData];
+    } faliure:^(NSError * _Nonnull error) {
+        
+    }];
+}
+- (void)requestEvaluateMessage {
+    [KSNetworkingManager selectRepliedRequest:KS_POST courseGroupId:self.courseId courseScheduleId:self.courseGroupId success:^(NSDictionary * _Nonnull dic) {
+        if ([dic integerValueForKey:@"code"] == 200 && [dic boolValueForKey:@"status"]) {
+            self.evaluateModel = [[EvaluateDetailModel alloc] initWithDictionary:[dic dictionaryValueForKey:@"data"]];
+        }
+        else {
+            [self MBPShow:MESSAGEKEY];
+        }
+        [self.tableView reloadData];
+    } faliure:^(NSError * _Nonnull error) {
+        
+    }];
 }
 
+- (void)configUI {
+    [self.scrollView removeFromSuperview];
+    [self.view addSubview:self.tableView];
+    [self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.left.right.mas_equalTo(self.view);
+        make.top.mas_equalTo(self.view.mas_top);
+        make.bottom.mas_equalTo(self.view.mas_bottom).offset(-iPhoneXSafeBottomMargin);
+    }];
+}
+
+- (void)evaluateWithStatusLabel:(UILabel *)statusLabel {
+    if ([self.homeworkModel.courseStatus isEqualToString:@"COMPLETE"]) {
+        statusLabel.text = @"已结束";
+        statusLabel.textColor = HexRGB(0x999999);
+        // 学生未提交 或者 老师已点评作业 或者老师未布置作业
+        if (self.fileArray.count == 0 || self.homeworkModel.reviewHomework == 1 || self.homeworkModel.decorateHomework == 0) {
+            [self.bottomView.actionButton setTitle:@"确认提交" forState:UIControlStateNormal];
+            [self.bottomView.actionButton setBackgroundColor:HexRGB(0xe5e5e5)];
+            [self.bottomView.actionButton setTitleColor:HexRGB(0x666666) forState:UIControlStateNormal];
+        }
+        else {
+            [self.bottomView.actionButton setTitle:@"确认提交" forState:UIControlStateNormal];
+            [self.bottomView.actionButton setBackgroundColor:THEMECOLOR];
+            [self.bottomView.actionButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
+        }
+    }
+    else if ([self.homeworkModel.courseStatus isEqualToString:@"ING"]) {
+        statusLabel.text = @"进行中";
+        statusLabel.textColor = THEMECOLOR;
+        [self.bottomView.actionButton setTitle:@"进入教室" forState:UIControlStateNormal];
+        [self.bottomView.actionButton setBackgroundColor:THEMECOLOR];
+        [self.bottomView.actionButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
+    }
+    else {
+        statusLabel.text = @"未开始";
+        statusLabel.textColor = HexRGB(0xff802c);
+        [self.bottomView.actionButton setTitle:@"进入教室" forState:UIControlStateNormal];
+        [self.bottomView.actionButton setBackgroundColor:THEMECOLOR];
+        [self.bottomView.actionButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
+    }
+}
+
+#pragma mark --- table data source
+- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
+    return 6;
+}
+
+- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
+    if (indexPath.row == 0) {
+        AccompanyCourseInfoCell *cell = [tableView dequeueReusableCellWithIdentifier:@"AccompanyCourseInfoCell"];
+        cell.statusLabel.textColor = HexRGB(0x999999);
+        [self evaluateWithStatusLabel:cell.statusLabel];
+        [cell configWithStartTime:self.homeworkModel.startTime endTime:self.homeworkModel.endTime teacherAvatar:self.homeworkModel.teacherAvatar teacherName:self.homeworkModel.teacherName teacherId:self.homeworkModel.teacherId courseSubject:self.homeworkModel.subjectName];
+        cell.hideChatButton = YES;
+        return cell;
+    }
+    else if (indexPath.row == 1) {
+        AccompanyEvaluateCell *cell = [tableView dequeueReusableCellWithIdentifier:@"AccompanyEvaluateCell"];
+        NSString *message = self.evaluateModel.teacherReplied;
+        BOOL hasEvaluate = [NSString isEmptyString:self.evaluateModel.teacherReplied] ? NO : YES;
+        [cell configWithEvaluateMessage:message hasEvaluate:hasEvaluate];
+        return cell;
+    }
+    else if (indexPath.row == 2) {
+        AccompanyStudentEvaCell *cell = [tableView dequeueReusableCellWithIdentifier:@"AccompanyStudentEvaCell"];
+        NSString *message = self.evaluateModel.studentReplied;
+        BOOL hasEvaluate = [NSString isEmptyString:self.evaluateModel.studentReplied] ? NO : YES;
+        MJWeakSelf;
+        [cell configWithEvaluateMessage:message starNum:self.evaluateModel.score hasEvaluate:hasEvaluate callback:^{
+            [weakSelf evaluateCourse];
+        }];
+        return cell;
+    }
+    else if (indexPath.row == 3) {
+        AccompanyArrangeCell *cell  = [tableView dequeueReusableCellWithIdentifier:@"AccompanyArrangeCell"];
+        BOOL hasArrange = self.homeworkModel.decorateHomework == 1 ? YES : NO;
+        [cell configWithHomeworkContent:self.homeworkModel.content hasArrangeHomework:hasArrange];
+        return cell;
+    }
+    else if (indexPath.row == 4) {
+        // studentAttachments
+        BOOL canDisplay = self.homeworkModel.decorateHomework == 1 ? YES : NO;
+        AccompanyHomeworkCell *cell = [tableView dequeueReusableCellWithIdentifier:@"AccompanyHomeworkCell"];
+        MJWeakSelf;
+        [cell configWithAttachmentArray:self.fileArray canDisplaySubmitView:canDisplay callback:^(HOMEWORKACTION action, NSInteger viewIndex) {
+            [weakSelf operationActionWithType:action index:viewIndex];
+        }];
+        
+        return cell;
+    }
+    else {
+        AccompanyRemarkCell *cell = [tableView dequeueReusableCellWithIdentifier:@"AccompanyRemarkCell"];
+        BOOL hasEvaluate = self.homeworkModel.reviewHomework == 1? YES : NO;
+        [cell configWithRemarkMessage:self.homeworkModel.teacherReplied hasEvaluate:hasEvaluate];
+        return cell;
+    }
+}
+
+// 课程评价
+- (void)evaluateCourse {
+    if (![self.homeworkModel.courseStatus isEqualToString:@"COMPLETE"]) {
+        [self MBPShow:@"课程结束之后才可以评价哦~"];
+        return;
+    }
+    self.alertView = [AccompanyAlertView shareInstance];
+    self.alertView.alertTitle.text = @"课程评价";
+    self.alertView.tipsLabel.text = @"请输入您对本次课程的评价~";
+    self.alertView.frame = CGRectMake(0, 0, kScreenWidth, kScreenHeight);
+    [self.alertView showInView:[UIApplication sharedApplication].keyWindow showStarView:YES];
+    MJWeakSelf;
+    [self.alertView sureCallback:^(NSString * _Nonnull content, NSInteger starNum) {
+        [weakSelf evaluateAction:content starNum:starNum];
+    }];
+}
+
+- (void)evaluateAction:(NSString *)content starNum:(NSInteger)starNum {
+    if ([NSString isEmptyString:content]) {
+        [self MBPShow:@"请输入评价内容"];
+        return;
+    }
+    [self showhud];
+    [KSNetworkingManager accompanyCourseRepliedRequest:KS_POST courseScheduleId:self.courseId courseGroupId:self.courseGroupId studentReplied:content score:starNum success:^(NSDictionary * _Nonnull dic) {
+        [self removehub];
+        if ([dic integerValueForKey:@"code"] == 200 && [dic boolValueForKey:@"status"]) {
+            [self MBPShow:@"评价成功"];
+            [self requestCourseInfoMessage];
+        }
+        else {
+            [self MBPShow:MESSAGEKEY];
+        }
+    } faliure:^(NSError * _Nonnull error) {
+        [self removehub];
+    }];
+}
+
+- (void)operationActionWithType:(HOMEWORKACTION)action index:(NSInteger)viewIndex {
+    switch (action) {
+        case HOMEWORKACTION_PLAY:
+        {
+            [self playVideoIndex:viewIndex];
+        }
+            break;
+        case HOMEWORKACTION_DELETE:
+        {
+            [self deleteVideoIndex:viewIndex];
+        }
+            break;
+        case HOMEWORKACTION_ADD: // 选择视频作业
+        {
+            // 调用相册
+            self.mediaManager = [[KSMediaManager alloc] init];
+            self.mediaManager.mediaType = MEDIATYPE_VIDEO;
+            self.mediaManager.maxPhotoNumber = 1;
+            self.mediaManager.baseCtrl = self;
+            self.mediaManager.needCropImage = NO;
+            MJWeakSelf;
+            [self.mediaManager noAlertCallback:^(NSString * _Nullable videoUrl, NSMutableArray * _Nullable imageArray, NSMutableArray * _Nullable imageAsset) {
+                NSLog(@"%@", videoUrl);
+                // 上传视频
+                [weakSelf uploadVideoWithUrl:videoUrl];
+            }];
+            [self.mediaManager pushImagePickerController];
+        }
+        default:
+            break;
+    }
+}
+
+#pragma mark --- 上传视频文件
+- (void)uploadVideoWithUrl:(NSString *)videoUrl {
+    [self hudTipWillShow:YES];
+    NSData *fileData = [NSData dataWithContentsOfURL:[NSURL fileURLWithPath:videoUrl]];
+    [KSNetworkingManager videoFileUpload:KS_POST fileData:fileData progress:^(int64_t bytesWritten, int64_t totalBytes) {
+        dispatch_main_async_safe(^{
+            // 显示进度
+            if (self.HUD) {
+                self.HUD.progress = bytesWritten / totalBytes;// progress是回调进度
+            }
+        });
+    } success:^(NSDictionary * _Nonnull dic) {
+        [self hudTipWillShow:NO];
+        if ([dic integerValueForKey:@"code"] == 200 && [dic boolValueForKey:@"status"]) {
+            NSString *fileUrl = [[dic dictionaryValueForKey:@"data"] stringValueForKey:@"url"];
+            // 删除文件
+            [self removeVideoWithPath:videoUrl];
+            [self.fileArray addObject:fileUrl];
+            [self.tableView reloadData];
+        }
+        else {
+            [self MBPShow:MESSAGEKEY];
+            
+        }
+    } faliure:^(NSError * _Nonnull error) {
+        [self hudTipWillShow:NO];
+    }];
+}
+
+- (void)removeVideoWithPath:(NSString *)videoUrl {
+    NSFileManager *fileMamager = [NSFileManager defaultManager];
+    if ([fileMamager fileExistsAtPath:videoUrl]) {
+        [fileMamager removeItemAtPath:videoUrl error:nil];
+    }
+}
+
+// 播放
+- (void)playVideoIndex:(NSInteger)index {
+    if (self.fileArray.count > index) {
+        NSString *fileUrl = self.fileArray[index];
+        [self playVideoWithUrl:fileUrl];
+    }
+}
+// 删除
+- (void)deleteVideoIndex:(NSInteger)index {
+    if (self.fileArray.count > index) {
+        [self.fileArray removeObjectAtIndex:index];
+        [self.tableView reloadData];
+    }
+}
+
+#pragma mark ------ WMPlayer
+- (void)playVideoWithUrl:(NSString *)fileUrl {
+    fileUrl = [fileUrl stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
+    _playerFrame = CGRectMake(0, iPhoneXSafeTopMargin, kScreenWidth, kScreenHeight - iPhoneXSafeTopMargin - iPhoneXSafeBottomMargin);
+    _wmPlayer = [[WMPlayer alloc] initWithFrame:_playerFrame];
+    WMPlayerModel *playModel = [[WMPlayerModel alloc] init];
+    playModel.videoURL = [NSURL URLWithString:fileUrl];
+    _wmPlayer.playerModel = playModel;
+    _wmPlayer.delegate = self;
+    _bgView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, kScreenHeight)];
+    _bgView.backgroundColor = [UIColor blackColor];
+    [[UIApplication sharedApplication].keyWindow addSubview:_bgView];
+    [[UIApplication sharedApplication].keyWindow addSubview:_wmPlayer];
+    [[UIApplication sharedApplication].keyWindow bringSubviewToFront:_wmPlayer];
+    
+    [_wmPlayer play];
+}
+
+- (void)wmplayer:(WMPlayer *)wmplayer clickedCloseButton:(UIButton *)backBtn {
+    [wmplayer removePlayer];
+    [_bgView removeFromSuperview];
+    [self setNeedsStatusBarAppearanceUpdate];
+}
+
+- (void)wmplayer:(WMPlayer *)wmplayer clickedFullScreenButton:(UIButton *)fullScreenBtn {
+    self.isRatation = !self.isRatation;
+    
+    if (self.isRatation) {
+        [wmplayer removeFromSuperview];
+        [UIView animateWithDuration:1.0f animations:^{
+            wmplayer.transform = CGAffineTransformMakeRotation(M_PI_2);
+            
+        } completion:^(BOOL finished) {
+            wmplayer.frame = CGRectMake(0, iPhoneXSafeTopMargin, kScreenWidth, kScreenHeight - iPhoneXSafeTopMargin - iPhoneXSafeBottomMargin);
+            [[UIApplication sharedApplication].keyWindow addSubview:wmplayer];
+            [[UIApplication sharedApplication].keyWindow bringSubviewToFront:wmplayer];
+        }];
+    }
+    else {
+        [wmplayer removeFromSuperview];
+        
+        [UIView animateWithDuration:1.0f animations:^{
+            //        复原
+            wmplayer.transform = CGAffineTransformIdentity;
+            
+        } completion:^(BOOL finished) {
+            wmplayer.frame = CGRectMake(0, iPhoneXSafeTopMargin, kScreenWidth, kScreenHeight - iPhoneXSafeTopMargin - iPhoneXSafeBottomMargin);
+            [[UIApplication sharedApplication].keyWindow addSubview:wmplayer];
+            [[UIApplication sharedApplication].keyWindow bringSubviewToFront:wmplayer];
+        }];
+    }
+}
+
+- (void)bottomButtonAction {
+    // 判断
+    if ([self.homeworkModel.courseStatus isEqualToString:@"COMPLETE"]) { // 判断是否能提交作业
+        if (self.fileArray.count == 0 || self.homeworkModel.reviewHomework == 1 || self.homeworkModel.decorateHomework == 0) {
+            return;
+        }
+        else { // 提交作业
+            [self submitHomeworkAction];
+        }
+    }
+    else {
+        [self tryJoinRoom];
+    }
+}
+
+- (void)submitHomeworkAction {
+    if (self.fileArray.count == 0) {
+        [self MBPShow:@"请选择作业视频"];
+        return;
+    }
+    NSString *attachment = [self.fileArray componentsJoinedByString:@","];
+    [self showhud];
+    [KSNetworkingManager homeSubmitAction:KS_POST courseScheduleId:self.courseId attachment:attachment success:^(NSDictionary * _Nonnull dic) {
+        [self removehub];
+        if ([dic integerValueForKey:@"code"] == 200 && [dic boolValueForKey:@"status"]) {
+            [self MBPShow:@"作业提交成功"];
+            [self requestCourseInfoMessage];
+        }
+        else {
+            [self MBPShow:MESSAGEKEY];
+        }
+    } faliure:^(NSError * _Nonnull error) {
+        [self removehub];
+    }];
+}
+
+#pragma mark --- lazying
+- (AccompanyDetailBottomView *)bottomView {
+    if (!_bottomView) {
+        _bottomView = [AccompanyDetailBottomView shareInstance];
+        _bottomView.frame = CGRectMake(0, 0, kScreenWidth, 70);
+        MJWeakSelf;
+        [_bottomView sureAction:^{
+            [weakSelf bottomButtonAction];
+        }];
+    }
+    return _bottomView;
+}
+- (UITableView *)tableView {
+    if (!_tableView) {
+        _tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
+        _tableView.backgroundColor = [UIColor clearColor];
+        _tableView.delegate = self;
+        _tableView.dataSource = self;
+        _tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
+        _tableView.showsHorizontalScrollIndicator = NO;
+        _tableView.showsVerticalScrollIndicator = NO;
+        _tableView.rowHeight = UITableViewAutomaticDimension;
+        _tableView.estimatedRowHeight = 136.0f;
+        [_tableView registerNib:[UINib nibWithNibName:@"AccompanyCourseInfoCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"AccompanyCourseInfoCell"];
+        [_tableView registerNib:[UINib nibWithNibName:@"AccompanyEvaluateCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"AccompanyEvaluateCell"];
+        [_tableView registerNib:[UINib nibWithNibName:@"AccompanyStudentEvaCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"AccompanyStudentEvaCell"];
+        [_tableView registerNib:[UINib nibWithNibName:@"AccompanyArrangeCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"AccompanyArrangeCell"];
+        [_tableView registerNib:[UINib nibWithNibName:@"AccompanyHomeworkCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"AccompanyHomeworkCell"];
+        [_tableView registerNib:[UINib nibWithNibName:@"AccompanyRemarkCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"AccompanyRemarkCell"];
+        _tableView.tableFooterView = self.bottomView;
+        
+    }
+    return _tableView;
+}
+- (void)hudTipWillShow:(BOOL)willShow{
+    if (willShow) {
+        [self resignFirstResponder];
+        UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow;
+        if (!_HUD) {
+            _HUD = [MBProgressHUD showHUDAddedTo:keyWindow animated:YES];
+            _HUD.removeFromSuperViewOnHide = YES;
+            _HUD.mode = MBProgressHUDModeDeterminateHorizontalBar;
+            _HUD.label.text = @"正在上传视频文件...";
+            _HUD.contentColor = [UIColor whiteColor];
+            _HUD.bezelView.style = MBProgressHUDBackgroundStyleSolidColor;
+            _HUD.bezelView.backgroundColor = [UIColor colorWithHexString:@"#000000" alpha:0.8];
+        }else{
+            _HUD.progress = 0;
+            [keyWindow addSubview:_HUD];
+            [_HUD showAnimated:YES];
+        }
+    }else{
+        [_HUD hideAnimated:YES];
+    }
+}
+
+
+
+- (void)tryJoinRoom {
+    
+    NSDateFormatter *dateFormatter = [NSObject getDateformatter];
+    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
+    NSDate *beginDate = [dateFormatter dateFromString:self.homeworkModel.startTime];
+    NSDate *endDate = [dateFormatter dateFromString:self.homeworkModel.endTime];
+    NSDate *currentDate = [NSDate date];
+    NSTimeInterval beginTimeInterval = [beginDate timeIntervalSinceDate:currentDate];
+    NSTimeInterval endTimeInterval = [currentDate timeIntervalSinceDate:endDate];
+    if (beginTimeInterval <= self.joinRoomBeforeTime * 60 && endTimeInterval < 0) {
+        [self joinClassRoom];
+    }
+    else if (endTimeInterval > 0) {
+        [self MBPShow:@"该课程已结束"];
+    }
+    else {
+        NSString *tipsString = [NSString stringWithFormat:@"课程还未开始,请在上课前%zd分钟进入", self.joinRoomBeforeTime];
+        [self MBPShow:tipsString];
+    }
+}
+
+// 加入房间
+- (void)joinClassRoom {
+    // 加入房间前判断摄像头和麦克风逻辑
+    PREMISSIONTYPE micEnable = [RecordCheckManager checkPermissionShowAlert:NO showInView:nil];
+    PREMISSIONTYPE cameraEnable = [RecordCheckManager checkCameraPremissionAvaiable:NO showInView:nil];
+    if (micEnable == PREMISSIONTYPE_YES && cameraEnable == PREMISSIONTYPE_YES) {
+        // 进入教室
+        // 判断是否进行课前检测
+        
+//        [self.classManager joinRoomWithId:[NSString stringWithFormat:@"%zd", self.courseMessage.internalBaseClassIdentifier] subjectName:self.courseMessage.subjectName subjectId:self.courseMessage.subjectId classEndTime:self.courseMessage.endClassTime quitEndTime:self.quitRomeEndTime inViewController:self];
+    }
+    else {
+        if (micEnable == PREMISSIONTYPE_NO && cameraEnable == PREMISSIONTYPE_NO) { // 如果麦克风权限和摄像头权限都没有
+            [self showAlertWithMessage:@"请开启相机和麦克风访问权限" type:CHECKDEVICETYPE_BOTH];
+        }
+        else if (micEnable == PREMISSIONTYPE_NO) { // 如果没有麦克风权限
+            [self showAlertWithMessage:@"请开启麦克风访问权限" type:CHECKDEVICETYPE_MIC];
+        }
+        else if (cameraEnable == PREMISSIONTYPE_NO) { // 如果没有摄像头权限
+            [self showAlertWithMessage:@"请开启相机访问权限" type:CHECKDEVICETYPE_CAMREA];
+        }
+    }
+}
+
+- (void)showAlertWithMessage:(NSString *)message type:(CHECKDEVICETYPE)deviceType {
+    [KSPremissionAlert shareInstanceDisplayImage:deviceType message:message showInView:self.view cancel:^{
+        
+    } confirm:^{
+        [self openSettingView];
+    }];
+    
+}
+
+- (void)openSettingView {
+    if (@available(iOS 10, *)) {
+        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString] options:@{} completionHandler:nil];
+    } else {
+        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
+    }
+}
 /*
 #pragma mark - Navigation
 

+ 29 - 0
KulexiuForStudent/KulexiuForStudent/Module/Course/AccompanyCourse/Model/EvaluateDetailModel.h

@@ -0,0 +1,29 @@
+//
+//  EvaluateDetailModel.h
+//
+//  Created by Steven  on 2022/4/19
+//  Copyright (c) 2022 __MyCompanyName__. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+
+
+@interface EvaluateDetailModel : NSObject <NSCoding, NSCopying>
+
+@property (nonatomic, strong) NSString *courseGroupType;
+@property (nonatomic, strong) NSString *courseScheduleId;
+@property (nonatomic, strong) NSString *courseGroupId;
+@property (nonatomic, strong) NSString *updateTime;
+@property (nonatomic, strong) NSString *studentId;
+@property (nonatomic, strong) NSString *teacherReplied;
+@property (nonatomic, assign) double score;
+@property (nonatomic, strong) NSString *internalBaseClassIdentifier;
+@property (nonatomic, strong) NSString *createTime;
+@property (nonatomic, strong) NSString *studentReplied;
+
++ (instancetype)modelObjectWithDictionary:(NSDictionary *)dict;
+- (instancetype)initWithDictionary:(NSDictionary *)dict;
+- (NSDictionary *)dictionaryRepresentation;
+
+@end

+ 162 - 0
KulexiuForStudent/KulexiuForStudent/Module/Course/AccompanyCourse/Model/EvaluateDetailModel.m

@@ -0,0 +1,162 @@
+//
+//  EvaluateDetailModel.m
+//
+//  Created by Steven  on 2022/4/19
+//  Copyright (c) 2022 __MyCompanyName__. All rights reserved.
+//
+
+#import "EvaluateDetailModel.h"
+
+
+NSString *const kEvaluateDetailModelCourseGroupType = @"courseGroupType";
+NSString *const kEvaluateDetailModelCourseScheduleId = @"courseScheduleId";
+NSString *const kEvaluateDetailModelCourseGroupId = @"courseGroupId";
+NSString *const kEvaluateDetailModelUpdateTime = @"updateTime";
+NSString *const kEvaluateDetailModelStudentId = @"studentId";
+NSString *const kEvaluateDetailModelTeacherReplied = @"teacherReplied";
+NSString *const kEvaluateDetailModelScore = @"score";
+NSString *const kEvaluateDetailModelId = @"id";
+NSString *const kEvaluateDetailModelCreateTime = @"createTime";
+NSString *const kEvaluateDetailModelStudentReplied = @"studentReplied";
+
+
+@interface EvaluateDetailModel ()
+
+- (id)objectOrNilForKey:(id)aKey fromDictionary:(NSDictionary *)dict;
+
+@end
+
+@implementation EvaluateDetailModel
+
+@synthesize courseGroupType = _courseGroupType;
+@synthesize courseScheduleId = _courseScheduleId;
+@synthesize courseGroupId = _courseGroupId;
+@synthesize updateTime = _updateTime;
+@synthesize studentId = _studentId;
+@synthesize teacherReplied = _teacherReplied;
+@synthesize score = _score;
+@synthesize internalBaseClassIdentifier = _internalBaseClassIdentifier;
+@synthesize createTime = _createTime;
+@synthesize studentReplied = _studentReplied;
+
+
++ (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.courseGroupType = [self objectOrNilForKey:kEvaluateDetailModelCourseGroupType fromDictionary:dict];
+            self.courseScheduleId = [self objectOrNilForKey:kEvaluateDetailModelCourseScheduleId fromDictionary:dict];
+            self.courseGroupId = [self objectOrNilForKey:kEvaluateDetailModelCourseGroupId fromDictionary:dict];
+            self.updateTime = [self objectOrNilForKey:kEvaluateDetailModelUpdateTime fromDictionary:dict];
+            self.studentId = [self objectOrNilForKey:kEvaluateDetailModelStudentId fromDictionary:dict];
+            self.teacherReplied = [self objectOrNilForKey:kEvaluateDetailModelTeacherReplied fromDictionary:dict];
+            self.score = [[self objectOrNilForKey:kEvaluateDetailModelScore fromDictionary:dict] doubleValue];
+            self.internalBaseClassIdentifier = [self objectOrNilForKey:kEvaluateDetailModelId fromDictionary:dict];
+            self.createTime = [self objectOrNilForKey:kEvaluateDetailModelCreateTime fromDictionary:dict];
+            self.studentReplied = [self objectOrNilForKey:kEvaluateDetailModelStudentReplied fromDictionary:dict];
+
+    }
+    
+    return self;
+    
+}
+
+- (NSDictionary *)dictionaryRepresentation
+{
+    NSMutableDictionary *mutableDict = [NSMutableDictionary dictionary];
+    [mutableDict setValue:self.courseGroupType forKey:kEvaluateDetailModelCourseGroupType];
+    [mutableDict setValue:self.courseScheduleId forKey:kEvaluateDetailModelCourseScheduleId];
+    [mutableDict setValue:self.courseGroupId forKey:kEvaluateDetailModelCourseGroupId];
+    [mutableDict setValue:self.updateTime forKey:kEvaluateDetailModelUpdateTime];
+    [mutableDict setValue:self.studentId forKey:kEvaluateDetailModelStudentId];
+    [mutableDict setValue:self.teacherReplied forKey:kEvaluateDetailModelTeacherReplied];
+    [mutableDict setValue:[NSNumber numberWithDouble:self.score] forKey:kEvaluateDetailModelScore];
+    [mutableDict setValue:self.internalBaseClassIdentifier forKey:kEvaluateDetailModelId];
+    [mutableDict setValue:self.createTime forKey:kEvaluateDetailModelCreateTime];
+    [mutableDict setValue:self.studentReplied forKey:kEvaluateDetailModelStudentReplied];
+
+    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.courseGroupType = [aDecoder decodeObjectForKey:kEvaluateDetailModelCourseGroupType];
+    self.courseScheduleId = [aDecoder decodeObjectForKey:kEvaluateDetailModelCourseScheduleId];
+    self.courseGroupId = [aDecoder decodeObjectForKey:kEvaluateDetailModelCourseGroupId];
+    self.updateTime = [aDecoder decodeObjectForKey:kEvaluateDetailModelUpdateTime];
+    self.studentId = [aDecoder decodeObjectForKey:kEvaluateDetailModelStudentId];
+    self.teacherReplied = [aDecoder decodeObjectForKey:kEvaluateDetailModelTeacherReplied];
+    self.score = [aDecoder decodeDoubleForKey:kEvaluateDetailModelScore];
+    self.internalBaseClassIdentifier = [aDecoder decodeObjectForKey:kEvaluateDetailModelId];
+    self.createTime = [aDecoder decodeObjectForKey:kEvaluateDetailModelCreateTime];
+    self.studentReplied = [aDecoder decodeObjectForKey:kEvaluateDetailModelStudentReplied];
+    return self;
+}
+
+- (void)encodeWithCoder:(NSCoder *)aCoder
+{
+
+    [aCoder encodeObject:_courseGroupType forKey:kEvaluateDetailModelCourseGroupType];
+    [aCoder encodeObject:_courseScheduleId forKey:kEvaluateDetailModelCourseScheduleId];
+    [aCoder encodeObject:_courseGroupId forKey:kEvaluateDetailModelCourseGroupId];
+    [aCoder encodeObject:_updateTime forKey:kEvaluateDetailModelUpdateTime];
+    [aCoder encodeObject:_studentId forKey:kEvaluateDetailModelStudentId];
+    [aCoder encodeObject:_teacherReplied forKey:kEvaluateDetailModelTeacherReplied];
+    [aCoder encodeDouble:_score forKey:kEvaluateDetailModelScore];
+    [aCoder encodeObject:_internalBaseClassIdentifier forKey:kEvaluateDetailModelId];
+    [aCoder encodeObject:_createTime forKey:kEvaluateDetailModelCreateTime];
+    [aCoder encodeObject:_studentReplied forKey:kEvaluateDetailModelStudentReplied];
+}
+
+- (id)copyWithZone:(NSZone *)zone
+{
+    EvaluateDetailModel *copy = [[EvaluateDetailModel alloc] init];
+    
+    if (copy) {
+
+        copy.courseGroupType = [self.courseGroupType copyWithZone:zone];
+        copy.courseScheduleId = [self.courseScheduleId copyWithZone:zone];
+        copy.courseGroupId = [self.courseGroupId copyWithZone:zone];
+        copy.updateTime = [self.updateTime copyWithZone:zone];
+        copy.studentId = [self.studentId copyWithZone:zone];
+        copy.teacherReplied = [self.teacherReplied copyWithZone:zone];
+        copy.score = self.score;
+        copy.internalBaseClassIdentifier = [self.internalBaseClassIdentifier copyWithZone:zone];
+        copy.createTime = [self.createTime copyWithZone:zone];
+        copy.studentReplied = [self.studentReplied copyWithZone:zone];
+    }
+    
+    return copy;
+}
+
+
+@end

+ 24 - 0
KulexiuForStudent/KulexiuForStudent/Module/Course/AccompanyCourse/View/AccompanyDetailBottomView.h

@@ -0,0 +1,24 @@
+//
+//  AccompanyDetailBottomView.h
+//  KulexiuForStudent
+//
+//  Created by 王智 on 2022/4/20.
+//
+
+#import <UIKit/UIKit.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+typedef void(^AccompanyButtonAction)(void);
+
+@interface AccompanyDetailBottomView : UIView
+
+@property (weak, nonatomic) IBOutlet UIButton *actionButton;
+
++ (instancetype)shareInstance;
+
+- (void)sureAction:(AccompanyButtonAction)callback;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 42 - 0
KulexiuForStudent/KulexiuForStudent/Module/Course/AccompanyCourse/View/AccompanyDetailBottomView.m

@@ -0,0 +1,42 @@
+//
+//  AccompanyDetailBottomView.m
+//  KulexiuForStudent
+//
+//  Created by 王智 on 2022/4/20.
+//
+
+#import "AccompanyDetailBottomView.h"
+
+@interface AccompanyDetailBottomView ()
+
+@property (nonatomic, copy) AccompanyButtonAction callback;
+
+@end
+
+@implementation AccompanyDetailBottomView
+
++ (instancetype)shareInstance {
+    AccompanyDetailBottomView *view = [[[NSBundle mainBundle] loadNibNamed:@"AccompanyDetailBottomView" owner:nil options:nil] firstObject];
+    return view;
+}
+
+- (void)sureAction:(AccompanyButtonAction)callback {
+    if (callback) {
+        self.callback = callback;
+    }
+}
+
+- (IBAction)sureSubmitAction:(id)sender {
+    if (self.callback) {
+        self.callback();
+    }
+}
+/*
+// Only override drawRect: if you perform custom drawing.
+// An empty implementation adversely affects performance during animation.
+- (void)drawRect:(CGRect)rect {
+    // Drawing code
+}
+*/
+
+@end

+ 50 - 0
KulexiuForStudent/KulexiuForStudent/Module/Course/AccompanyCourse/View/AccompanyDetailBottomView.xib

@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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="20020"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
+        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
+        <view contentMode="scaleToFill" id="iN0-l3-epB" customClass="AccompanyDetailBottomView">
+            <rect key="frame" x="0.0" y="0.0" width="414" height="128"/>
+            <autoresizingMask key="autoresizingMask"/>
+            <subviews>
+                <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="oRU-Dt-UTR">
+                    <rect key="frame" x="113.5" y="15" width="187" height="44"/>
+                    <color key="backgroundColor" red="0.1764705882" green="0.78039215689999997" blue="0.66666666669999997" alpha="1" colorSpace="calibratedRGB"/>
+                    <constraints>
+                        <constraint firstAttribute="width" constant="187" id="8p2-Gl-Is8"/>
+                        <constraint firstAttribute="height" constant="44" id="kXD-lh-kn0"/>
+                    </constraints>
+                    <fontDescription key="fontDescription" type="system" pointSize="16"/>
+                    <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                    <state key="normal" title="进入教室"/>
+                    <userDefinedRuntimeAttributes>
+                        <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                            <real key="value" value="22"/>
+                        </userDefinedRuntimeAttribute>
+                    </userDefinedRuntimeAttributes>
+                    <connections>
+                        <action selector="sureSubmitAction:" destination="iN0-l3-epB" eventType="touchUpInside" id="3aD-l2-QCR"/>
+                    </connections>
+                </button>
+            </subviews>
+            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+            <constraints>
+                <constraint firstItem="oRU-Dt-UTR" firstAttribute="centerX" secondItem="iN0-l3-epB" secondAttribute="centerX" id="gJa-gF-SIm"/>
+                <constraint firstItem="oRU-Dt-UTR" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" constant="15" id="neC-CL-OHA"/>
+            </constraints>
+            <nil key="simulatedTopBarMetrics"/>
+            <nil key="simulatedBottomBarMetrics"/>
+            <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
+            <connections>
+                <outlet property="actionButton" destination="oRU-Dt-UTR" id="Rgp-07-cMN"/>
+            </connections>
+            <point key="canvasLocation" x="131.8840579710145" y="-179.46428571428569"/>
+        </view>
+    </objects>
+</document>

+ 19 - 0
KulexiuForStudent/KulexiuForStudent/Module/Course/AccompanyCourse/View/AccompanyEvaluateCell.h

@@ -0,0 +1,19 @@
+//
+//  AccompanyEvaluateCell.h
+//  KulexiuForTeacher
+//
+//  Created by 王智 on 2022/4/6.
+//
+
+#import <UIKit/UIKit.h>
+
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface AccompanyEvaluateCell : UITableViewCell
+
+- (void)configWithEvaluateMessage:(NSString *)evaluateMessage hasEvaluate:(BOOL)hasEvaluate;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 55 - 0
KulexiuForStudent/KulexiuForStudent/Module/Course/AccompanyCourse/View/AccompanyEvaluateCell.m

@@ -0,0 +1,55 @@
+//
+//  AccompanyEvaluateCell.m
+//  KulexiuForTeacher
+//
+//  Created by 王智 on 2022/4/6.
+//
+
+#import "AccompanyEvaluateCell.h"
+
+@interface AccompanyEvaluateCell ()
+
+@property (weak, nonatomic) IBOutlet UIView *emptyView;
+
+@property (weak, nonatomic) IBOutlet UILabel *contentLabel;
+
+
+@end
+
+@implementation AccompanyEvaluateCell
+
+- (void)awakeFromNib {
+    [super awakeFromNib];
+    // Initialization code
+    self.selectionStyle = UITableViewCellSelectionStyleNone;
+}
+
+- (void)configWithEvaluateMessage:(NSString *)evaluateMessage hasEvaluate:(BOOL)hasEvaluate {
+
+    if (hasEvaluate) {
+        self.emptyView.hidden = YES;
+        if (![NSString isEmptyString:evaluateMessage]) {
+            NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
+            [paragraphStyle setLineSpacing:4];//调整行间距
+            NSMutableAttributedString *attr = [[NSMutableAttributedString alloc] initWithString:evaluateMessage attributes:@{NSParagraphStyleAttributeName:paragraphStyle,NSFontAttributeName:[UIFont systemFontOfSize:13.0f],NSForegroundColorAttributeName:HexRGB(0x333333)}];
+            self.contentLabel.attributedText = attr;
+        }
+        else {
+            self.contentLabel.text = @"";
+        }
+    }
+    else {
+        self.emptyView.hidden = NO;
+        self.contentLabel.text = @"";
+    }
+}
+
+- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
+    [super setSelected:selected animated:animated];
+
+    // Configure the view for the selected state
+}
+
+
+
+@end

+ 139 - 0
KulexiuForStudent/KulexiuForStudent/Module/Course/AccompanyCourse/View/AccompanyEvaluateCell.xib

@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="20037" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+    <device id="retina6_1" orientation="portrait" appearance="light"/>
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="20020"/>
+        <capability name="Safe area layout guides" minToolsVersion="9.0"/>
+        <capability name="System colors in document resources" minToolsVersion="11.0"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
+        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
+        <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="196" id="KGk-i7-Jjw" customClass="AccompanyEvaluateCell">
+            <rect key="frame" x="0.0" y="0.0" width="354" height="196"/>
+            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+            <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
+                <rect key="frame" x="0.0" y="0.0" width="354" height="196"/>
+                <autoresizingMask key="autoresizingMask"/>
+                <subviews>
+                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="3vN-Vj-itp">
+                        <rect key="frame" x="14" y="0.0" width="326" height="184"/>
+                        <subviews>
+                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="accell_left" translatesAutoresizingMaskIntoConstraints="NO" id="lLF-ft-OTS">
+                                <rect key="frame" x="11" y="13" width="4" height="18"/>
+                            </imageView>
+                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="老师评价" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ksa-Jo-b55">
+                                <rect key="frame" x="20" y="12" width="58" height="20"/>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="20" id="Avw-hO-qFv"/>
+                                </constraints>
+                                <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/>
+                                <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
+                                <nil key="highlightedColor"/>
+                            </label>
+                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="UuA-Bs-h8B">
+                                <rect key="frame" x="11" y="40" width="306" height="134"/>
+                                <subviews>
+                                    <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="U8w-lC-fk1">
+                                        <rect key="frame" x="9" y="11" width="291" height="0.0"/>
+                                        <fontDescription key="fontDescription" type="system" pointSize="13"/>
+                                        <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
+                                        <nil key="highlightedColor"/>
+                                    </label>
+                                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="S3K-5J-eeD">
+                                        <rect key="frame" x="0.0" y="0.0" width="306" height="134"/>
+                                        <subviews>
+                                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="teacher_eva_placeholder" translatesAutoresizingMaskIntoConstraints="NO" id="t9e-tH-rcD">
+                                                <rect key="frame" x="33" y="28" width="79" height="78"/>
+                                                <constraints>
+                                                    <constraint firstAttribute="width" constant="79" id="MC1-fc-dSA"/>
+                                                    <constraint firstAttribute="height" constant="78" id="euG-yw-LPW"/>
+                                                </constraints>
+                                            </imageView>
+                                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" usesAttributedText="YES" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="PXm-gS-uTS">
+                                                <rect key="frame" x="120" y="50.5" width="136" height="33"/>
+                                                <attributedString key="attributedText">
+                                                    <fragment content="课程结束之后老师会对您的学习进行点评喔~">
+                                                        <attributes>
+                                                            <color key="NSColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
+                                                            <font key="NSFont" size="13" name=".PingFangSC-Regular"/>
+                                                            <paragraphStyle key="NSParagraphStyle" alignment="natural" lineBreakMode="wordWrapping" baseWritingDirection="natural" lineSpacing="4" tighteningFactorForTruncation="0.0"/>
+                                                        </attributes>
+                                                    </fragment>
+                                                </attributedString>
+                                                <nil key="highlightedColor"/>
+                                            </label>
+                                        </subviews>
+                                        <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                        <constraints>
+                                            <constraint firstItem="t9e-tH-rcD" firstAttribute="leading" secondItem="S3K-5J-eeD" secondAttribute="leading" constant="33" id="Bt8-vx-Q3r"/>
+                                            <constraint firstItem="PXm-gS-uTS" firstAttribute="centerY" secondItem="S3K-5J-eeD" secondAttribute="centerY" id="VCW-8L-Vye"/>
+                                            <constraint firstItem="PXm-gS-uTS" firstAttribute="leading" secondItem="t9e-tH-rcD" secondAttribute="trailing" constant="8" id="XCc-cW-yfS"/>
+                                            <constraint firstAttribute="trailing" secondItem="PXm-gS-uTS" secondAttribute="trailing" constant="50" id="ssV-Ms-RGn"/>
+                                            <constraint firstItem="t9e-tH-rcD" firstAttribute="centerY" secondItem="S3K-5J-eeD" secondAttribute="centerY" id="zxk-jN-tYt"/>
+                                        </constraints>
+                                    </view>
+                                </subviews>
+                                <color key="backgroundColor" red="0.96862745098039216" green="0.97254901960784312" blue="0.97647058823529409" alpha="1" colorSpace="calibratedRGB"/>
+                                <constraints>
+                                    <constraint firstItem="U8w-lC-fk1" firstAttribute="top" secondItem="UuA-Bs-h8B" secondAttribute="top" constant="11" id="2jE-g6-KEd"/>
+                                    <constraint firstAttribute="bottom" secondItem="S3K-5J-eeD" secondAttribute="bottom" id="5p5-El-879"/>
+                                    <constraint firstItem="S3K-5J-eeD" firstAttribute="top" secondItem="UuA-Bs-h8B" secondAttribute="top" id="7cu-oT-x1T"/>
+                                    <constraint firstAttribute="bottom" relation="greaterThanOrEqual" secondItem="U8w-lC-fk1" secondAttribute="bottom" constant="5" id="J8r-c3-V56"/>
+                                    <constraint firstItem="S3K-5J-eeD" firstAttribute="leading" secondItem="UuA-Bs-h8B" secondAttribute="leading" id="JeK-99-vdm"/>
+                                    <constraint firstAttribute="trailing" secondItem="U8w-lC-fk1" secondAttribute="trailing" constant="6" id="KT9-sZ-c8d"/>
+                                    <constraint firstAttribute="trailing" secondItem="S3K-5J-eeD" secondAttribute="trailing" id="TMQ-F6-3FF"/>
+                                    <constraint firstItem="U8w-lC-fk1" firstAttribute="leading" secondItem="UuA-Bs-h8B" secondAttribute="leading" constant="9" id="d1N-ST-HRP"/>
+                                    <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="88" id="tLV-Ud-O1J"/>
+                                </constraints>
+                                <userDefinedRuntimeAttributes>
+                                    <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                        <real key="value" value="4"/>
+                                    </userDefinedRuntimeAttribute>
+                                </userDefinedRuntimeAttributes>
+                            </view>
+                        </subviews>
+                        <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                        <constraints>
+                            <constraint firstItem="ksa-Jo-b55" firstAttribute="centerY" secondItem="lLF-ft-OTS" secondAttribute="centerY" id="4cQ-qj-M1R"/>
+                            <constraint firstItem="UuA-Bs-h8B" firstAttribute="leading" secondItem="3vN-Vj-itp" secondAttribute="leading" constant="11" id="4kZ-bC-zD8"/>
+                            <constraint firstItem="lLF-ft-OTS" firstAttribute="leading" secondItem="3vN-Vj-itp" secondAttribute="leading" constant="11" id="B3T-Uw-Liq"/>
+                            <constraint firstItem="lLF-ft-OTS" firstAttribute="top" secondItem="3vN-Vj-itp" secondAttribute="top" constant="13" id="P5a-xn-tTc"/>
+                            <constraint firstAttribute="bottom" secondItem="UuA-Bs-h8B" secondAttribute="bottom" constant="10" id="PEn-6P-tRY"/>
+                            <constraint firstItem="UuA-Bs-h8B" firstAttribute="top" secondItem="ksa-Jo-b55" secondAttribute="bottom" constant="8" id="dfO-BO-Wpw"/>
+                            <constraint firstAttribute="trailing" secondItem="UuA-Bs-h8B" secondAttribute="trailing" constant="9" id="jWf-Oo-FS8"/>
+                            <constraint firstItem="ksa-Jo-b55" firstAttribute="leading" secondItem="lLF-ft-OTS" secondAttribute="trailing" constant="5" id="lg5-g7-Y09"/>
+                        </constraints>
+                        <userDefinedRuntimeAttributes>
+                            <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                <real key="value" value="10"/>
+                            </userDefinedRuntimeAttribute>
+                        </userDefinedRuntimeAttributes>
+                    </view>
+                </subviews>
+                <constraints>
+                    <constraint firstAttribute="trailing" secondItem="3vN-Vj-itp" secondAttribute="trailing" constant="14" id="Ie9-9s-rXN"/>
+                    <constraint firstItem="3vN-Vj-itp" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="14" id="NIk-yq-2AB"/>
+                    <constraint firstAttribute="bottom" secondItem="3vN-Vj-itp" secondAttribute="bottom" constant="12" id="io4-AK-haa"/>
+                    <constraint firstItem="3vN-Vj-itp" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" id="n1T-1B-1Pq"/>
+                </constraints>
+            </tableViewCellContentView>
+            <viewLayoutGuide key="safeArea" id="aW0-zy-SZf"/>
+            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+            <connections>
+                <outlet property="contentLabel" destination="U8w-lC-fk1" id="u3c-7s-8cR"/>
+                <outlet property="emptyView" destination="S3K-5J-eeD" id="oee-sK-UVk"/>
+            </connections>
+            <point key="canvasLocation" x="155.07246376811597" y="127.90178571428571"/>
+        </tableViewCell>
+    </objects>
+    <resources>
+        <image name="accell_left" width="4" height="18"/>
+        <image name="teacher_eva_placeholder" width="79" height="78"/>
+        <systemColor name="systemBackgroundColor">
+            <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+        </systemColor>
+    </resources>
+</document>

+ 2 - 2
KulexiuForStudent/KulexiuForStudent/Module/Course/AccompanyCourse/View/AccompanyHomeworkCell.m

@@ -31,11 +31,11 @@
         self.callback = callback;
     }
     [self.videoContainer removeAllSubViews];
-    if (canDisplay) {
+    if (canDisplay) { // 如果已经布置作业
         self.emptyView.hidden = YES;
         [self configVideoViewWithSource:fileArray];
     }
-    else {
+    else { // 未布置
         self.emptyView.hidden = NO;
     }
 }

+ 1 - 1
KulexiuForStudent/KulexiuForStudent/Module/Course/AccompanyCourse/View/AccompanyHomeworkCell.xib

@@ -53,7 +53,7 @@
                                             <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" usesAttributedText="YES" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="xV1-w2-nqO">
                                                 <rect key="frame" x="120" y="54.5" width="146" height="33"/>
                                                 <attributedString key="attributedText">
-                                                    <fragment content="课程结束之后上传视频作业">
+                                                    <fragment content="课程结束之后上传视频作业">
                                                         <attributes>
                                                             <color key="NSColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
                                                             <font key="NSFont" size="13" name=".PingFangSC-Regular"/>

+ 20 - 0
KulexiuForStudent/KulexiuForStudent/Module/Course/AccompanyCourse/View/AccompanyStudentEvaCell.h

@@ -0,0 +1,20 @@
+//
+//  AccompanyStudentEvaCell.h
+//  KulexiuForTeacher
+//
+//  Created by 王智 on 2022/4/6.
+//
+
+#import <UIKit/UIKit.h>
+
+typedef void(^CourseEvaluateCallback)(void);
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface AccompanyStudentEvaCell : UITableViewCell
+
+- (void)configWithEvaluateMessage:(NSString *)evaluateMessage starNum:(NSInteger)starNum hasEvaluate:(BOOL)hasEvaluate callback:(CourseEvaluateCallback)callback;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 72 - 0
KulexiuForStudent/KulexiuForStudent/Module/Course/AccompanyCourse/View/AccompanyStudentEvaCell.m

@@ -0,0 +1,72 @@
+//
+//  AccompanyStudentEvaCell.m
+//  KulexiuForTeacher
+//
+//  Created by 王智 on 2022/4/6.
+//
+
+#import "AccompanyStudentEvaCell.h"
+#import "KSStarView.h"
+
+@interface AccompanyStudentEvaCell ()
+
+@property (weak, nonatomic) IBOutlet UIView *emptyView;
+
+@property (weak, nonatomic) IBOutlet KSStarView *starView;
+
+@property (weak, nonatomic) IBOutlet UILabel *contentLabel;
+
+@property (weak, nonatomic) IBOutlet UIView *evaluateView;
+@property (nonatomic, copy) CourseEvaluateCallback callback;
+
+@end
+
+@implementation AccompanyStudentEvaCell
+
+- (void)awakeFromNib {
+    [super awakeFromNib];
+    // Initialization code
+    self.selectionStyle = UITableViewCellSelectionStyleNone;
+    self.starView.allowMark = NO;
+}
+
+- (void)configWithEvaluateMessage:(NSString *)evaluateMessage starNum:(NSInteger)starNum hasEvaluate:(BOOL)hasEvaluate callback:(CourseEvaluateCallback)callback {
+    if (callback) {
+        self.callback = callback;
+    }
+    if (hasEvaluate) {
+        self.emptyView.hidden = YES;
+        self.starView.hidden = NO;
+        self.evaluateView.hidden = YES;
+        self.starView.rate = starNum / 5.0f;
+        if (![NSString isEmptyString:evaluateMessage]) {
+            NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
+            [paragraphStyle setLineSpacing:4];//调整行间距
+            NSMutableAttributedString *attr = [[NSMutableAttributedString alloc] initWithString:evaluateMessage attributes:@{NSParagraphStyleAttributeName:paragraphStyle,NSFontAttributeName:[UIFont systemFontOfSize:13.0f],NSForegroundColorAttributeName:HexRGB(0x333333)}];
+            self.contentLabel.attributedText = attr;
+        }
+        else {
+            self.contentLabel.text = @"";
+        }
+    }
+    else {
+        self.starView.hidden = YES;
+        self.emptyView.hidden = NO;
+        self.contentLabel.text = @"";
+        self.evaluateView.hidden = NO;
+    }
+}
+
+- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
+    [super setSelected:selected animated:animated];
+
+    // Configure the view for the selected state
+}
+
+- (IBAction)evaluateAction:(id)sender {
+    if (self.callback) {
+        self.callback();
+    }
+}
+
+@end

+ 193 - 0
KulexiuForStudent/KulexiuForStudent/Module/Course/AccompanyCourse/View/AccompanyStudentEvaCell.xib

@@ -0,0 +1,193 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="20037" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+    <device id="retina6_1" orientation="portrait" appearance="light"/>
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="20020"/>
+        <capability name="Safe area layout guides" minToolsVersion="9.0"/>
+        <capability name="System colors in document resources" minToolsVersion="11.0"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
+        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
+        <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="174" id="KGk-i7-Jjw" customClass="AccompanyStudentEvaCell">
+            <rect key="frame" x="0.0" y="0.0" width="375" height="149"/>
+            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+            <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
+                <rect key="frame" x="0.0" y="0.0" width="375" height="149"/>
+                <autoresizingMask key="autoresizingMask"/>
+                <subviews>
+                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Yyc-jU-e8w">
+                        <rect key="frame" x="14" y="0.0" width="347" height="137"/>
+                        <subviews>
+                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="accell_left" translatesAutoresizingMaskIntoConstraints="NO" id="ltT-kf-P7C">
+                                <rect key="frame" x="11" y="13" width="4" height="16"/>
+                            </imageView>
+                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="学员评价" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dMT-VK-l9k">
+                                <rect key="frame" x="20" y="11" width="58" height="20"/>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="20" id="eeO-LX-E6a"/>
+                                </constraints>
+                                <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/>
+                                <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
+                                <nil key="highlightedColor"/>
+                            </label>
+                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="CS9-1I-B48">
+                                <rect key="frame" x="11" y="39" width="327" height="88"/>
+                                <subviews>
+                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="EsB-Oa-Z2T">
+                                        <rect key="frame" x="9" y="11" width="312" height="0.0"/>
+                                        <fontDescription key="fontDescription" type="system" pointSize="13"/>
+                                        <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/>
+                                        <nil key="highlightedColor"/>
+                                    </label>
+                                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="hQW-1x-wjy">
+                                        <rect key="frame" x="0.0" y="0.0" width="327" height="88"/>
+                                        <subviews>
+                                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="student_eva_placeholder" translatesAutoresizingMaskIntoConstraints="NO" id="02q-N4-kCG">
+                                                <rect key="frame" x="33" y="5" width="79" height="78"/>
+                                                <constraints>
+                                                    <constraint firstAttribute="width" constant="79" id="MlY-YJ-AOo"/>
+                                                    <constraint firstAttribute="height" constant="78" id="oCq-z1-HJA"/>
+                                                </constraints>
+                                            </imageView>
+                                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" usesAttributedText="YES" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wp3-cL-Ihn">
+                                                <rect key="frame" x="120" y="27" width="157" height="34.5"/>
+                                                <attributedString key="attributedText">
+                                                    <fragment content="课程结束之后记得对老师的教学进行评价哦!">
+                                                        <attributes>
+                                                            <color key="NSColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
+                                                            <font key="NSFont" size="13" name="STSongti-SC-Regular"/>
+                                                            <paragraphStyle key="NSParagraphStyle" alignment="natural" lineBreakMode="wordWrapping" baseWritingDirection="natural" lineSpacing="4" tighteningFactorForTruncation="0.0"/>
+                                                        </attributes>
+                                                    </fragment>
+                                                </attributedString>
+                                                <nil key="highlightedColor"/>
+                                            </label>
+                                        </subviews>
+                                        <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                        <constraints>
+                                            <constraint firstItem="02q-N4-kCG" firstAttribute="centerY" secondItem="hQW-1x-wjy" secondAttribute="centerY" id="BgW-k9-Ivr"/>
+                                            <constraint firstItem="wp3-cL-Ihn" firstAttribute="leading" secondItem="02q-N4-kCG" secondAttribute="trailing" constant="8" id="Dgs-Qc-Mif"/>
+                                            <constraint firstItem="wp3-cL-Ihn" firstAttribute="centerY" secondItem="hQW-1x-wjy" secondAttribute="centerY" id="JKg-4q-J7B"/>
+                                            <constraint firstItem="02q-N4-kCG" firstAttribute="leading" secondItem="hQW-1x-wjy" secondAttribute="leading" constant="33" id="ber-ic-edm"/>
+                                            <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="88" id="dsX-S1-b1e"/>
+                                            <constraint firstAttribute="trailing" secondItem="wp3-cL-Ihn" secondAttribute="trailing" constant="50" id="fTl-x6-xY9"/>
+                                        </constraints>
+                                    </view>
+                                </subviews>
+                                <color key="backgroundColor" red="0.96862745100000003" green="0.97254901959999995" blue="0.97647058819999999" alpha="1" colorSpace="calibratedRGB"/>
+                                <constraints>
+                                    <constraint firstAttribute="trailing" secondItem="EsB-Oa-Z2T" secondAttribute="trailing" constant="6" id="5xt-b6-PGZ"/>
+                                    <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="88" id="7RR-SG-Yi9"/>
+                                    <constraint firstAttribute="bottom" secondItem="hQW-1x-wjy" secondAttribute="bottom" id="GJe-TE-bSx"/>
+                                    <constraint firstItem="EsB-Oa-Z2T" firstAttribute="leading" secondItem="CS9-1I-B48" secondAttribute="leading" constant="9" id="GLF-Re-FzW"/>
+                                    <constraint firstItem="hQW-1x-wjy" firstAttribute="top" secondItem="CS9-1I-B48" secondAttribute="top" id="O7C-Vg-7Zq"/>
+                                    <constraint firstItem="hQW-1x-wjy" firstAttribute="leading" secondItem="CS9-1I-B48" secondAttribute="leading" id="a1e-ZX-t0w"/>
+                                    <constraint firstItem="EsB-Oa-Z2T" firstAttribute="top" secondItem="CS9-1I-B48" secondAttribute="top" constant="11" id="jYU-qf-rxd"/>
+                                    <constraint firstAttribute="bottom" relation="greaterThanOrEqual" secondItem="EsB-Oa-Z2T" secondAttribute="bottom" constant="5" id="pqA-5s-uyS"/>
+                                    <constraint firstAttribute="trailing" secondItem="hQW-1x-wjy" secondAttribute="trailing" id="rAJ-YZ-OLt"/>
+                                </constraints>
+                                <userDefinedRuntimeAttributes>
+                                    <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                        <real key="value" value="4"/>
+                                    </userDefinedRuntimeAttribute>
+                                </userDefinedRuntimeAttributes>
+                            </view>
+                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="9CO-NU-fBc">
+                                <rect key="frame" x="285" y="3" width="51" height="36"/>
+                                <subviews>
+                                    <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="accompany_edit" translatesAutoresizingMaskIntoConstraints="NO" id="Eli-XV-2VU">
+                                        <rect key="frame" x="5" y="12" width="12" height="12"/>
+                                        <constraints>
+                                            <constraint firstAttribute="height" constant="12" id="gus-sG-BTd"/>
+                                            <constraint firstAttribute="width" constant="12" id="tlq-ny-kG5"/>
+                                        </constraints>
+                                    </imageView>
+                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="评价" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gWn-lJ-nkZ">
+                                        <rect key="frame" x="22" y="9.5" width="29" height="17"/>
+                                        <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/>
+                                        <color key="textColor" red="0.1764705882" green="0.78039215689999997" blue="0.66666666669999997" alpha="1" colorSpace="calibratedRGB"/>
+                                        <nil key="highlightedColor"/>
+                                    </label>
+                                    <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="eYV-h9-uyL">
+                                        <rect key="frame" x="0.0" y="0.0" width="51" height="36"/>
+                                        <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                                        <connections>
+                                            <action selector="evaluateAction:" destination="KGk-i7-Jjw" eventType="touchUpInside" id="4vd-rl-Nn9"/>
+                                        </connections>
+                                    </button>
+                                </subviews>
+                                <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                                <constraints>
+                                    <constraint firstItem="gWn-lJ-nkZ" firstAttribute="centerY" secondItem="9CO-NU-fBc" secondAttribute="centerY" id="5CO-hB-hkZ"/>
+                                    <constraint firstAttribute="trailing" secondItem="eYV-h9-uyL" secondAttribute="trailing" id="6np-ej-fq3"/>
+                                    <constraint firstItem="Eli-XV-2VU" firstAttribute="leading" secondItem="9CO-NU-fBc" secondAttribute="leading" constant="5" id="DA7-Tq-nws"/>
+                                    <constraint firstItem="eYV-h9-uyL" firstAttribute="top" secondItem="9CO-NU-fBc" secondAttribute="top" id="Fg9-wP-EMQ"/>
+                                    <constraint firstItem="eYV-h9-uyL" firstAttribute="leading" secondItem="9CO-NU-fBc" secondAttribute="leading" id="Inr-LN-A0o"/>
+                                    <constraint firstItem="Eli-XV-2VU" firstAttribute="centerY" secondItem="9CO-NU-fBc" secondAttribute="centerY" id="Iv4-mH-G9a"/>
+                                    <constraint firstItem="gWn-lJ-nkZ" firstAttribute="leading" secondItem="Eli-XV-2VU" secondAttribute="trailing" constant="5" id="S23-UK-R61"/>
+                                    <constraint firstAttribute="bottom" secondItem="eYV-h9-uyL" secondAttribute="bottom" id="Sbx-4c-hXn"/>
+                                    <constraint firstAttribute="trailing" secondItem="gWn-lJ-nkZ" secondAttribute="trailing" id="UW7-ac-w43"/>
+                                </constraints>
+                            </view>
+                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ay0-L4-b3f" customClass="KSStarView">
+                                <rect key="frame" x="84" y="11.5" width="95" height="19"/>
+                                <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="19" id="eW0-fj-mRq"/>
+                                    <constraint firstAttribute="width" constant="95" id="nK2-cu-ogo"/>
+                                </constraints>
+                            </view>
+                        </subviews>
+                        <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                        <constraints>
+                            <constraint firstAttribute="trailing" secondItem="9CO-NU-fBc" secondAttribute="trailing" constant="11" id="3JL-Rb-GL4"/>
+                            <constraint firstItem="ltT-kf-P7C" firstAttribute="top" secondItem="Yyc-jU-e8w" secondAttribute="top" constant="13" id="7Pc-Cn-W9q"/>
+                            <constraint firstItem="CS9-1I-B48" firstAttribute="leading" secondItem="Yyc-jU-e8w" secondAttribute="leading" constant="11" id="Gq6-4H-5L7"/>
+                            <constraint firstItem="9CO-NU-fBc" firstAttribute="centerY" secondItem="dMT-VK-l9k" secondAttribute="centerY" id="MIb-jS-DNJ"/>
+                            <constraint firstAttribute="trailing" secondItem="CS9-1I-B48" secondAttribute="trailing" constant="9" id="Nlt-hE-n6i"/>
+                            <constraint firstAttribute="bottom" secondItem="CS9-1I-B48" secondAttribute="bottom" constant="10" id="Qcs-io-hc9"/>
+                            <constraint firstItem="CS9-1I-B48" firstAttribute="top" secondItem="9CO-NU-fBc" secondAttribute="bottom" id="Yue-o1-bKx"/>
+                            <constraint firstItem="ltT-kf-P7C" firstAttribute="leading" secondItem="Yyc-jU-e8w" secondAttribute="leading" constant="11" id="gf9-Gz-x7R"/>
+                            <constraint firstItem="ay0-L4-b3f" firstAttribute="centerY" secondItem="dMT-VK-l9k" secondAttribute="centerY" id="jIr-kE-YQZ"/>
+                            <constraint firstItem="dMT-VK-l9k" firstAttribute="leading" secondItem="ltT-kf-P7C" secondAttribute="trailing" constant="5" id="nVb-RO-bhR"/>
+                            <constraint firstItem="ay0-L4-b3f" firstAttribute="leading" secondItem="dMT-VK-l9k" secondAttribute="trailing" constant="6" id="utq-Wc-6C9"/>
+                            <constraint firstItem="CS9-1I-B48" firstAttribute="top" secondItem="dMT-VK-l9k" secondAttribute="bottom" constant="8" id="vO4-d5-COg"/>
+                            <constraint firstItem="dMT-VK-l9k" firstAttribute="centerY" secondItem="ltT-kf-P7C" secondAttribute="centerY" id="zc4-aL-rgC"/>
+                        </constraints>
+                        <userDefinedRuntimeAttributes>
+                            <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                <real key="value" value="10"/>
+                            </userDefinedRuntimeAttribute>
+                        </userDefinedRuntimeAttributes>
+                    </view>
+                </subviews>
+                <constraints>
+                    <constraint firstItem="Yyc-jU-e8w" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" id="BiI-Fu-zpx"/>
+                    <constraint firstAttribute="bottom" secondItem="Yyc-jU-e8w" secondAttribute="bottom" constant="12" id="fKP-es-hX3"/>
+                    <constraint firstItem="Yyc-jU-e8w" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="14" id="gbI-kt-2tm"/>
+                    <constraint firstAttribute="trailing" secondItem="Yyc-jU-e8w" secondAttribute="trailing" constant="14" id="xvS-tX-CKJ"/>
+                </constraints>
+            </tableViewCellContentView>
+            <viewLayoutGuide key="safeArea" id="aW0-zy-SZf"/>
+            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+            <connections>
+                <outlet property="contentLabel" destination="EsB-Oa-Z2T" id="1cB-Q6-0hE"/>
+                <outlet property="emptyView" destination="hQW-1x-wjy" id="6lZ-04-MNt"/>
+                <outlet property="evaluateView" destination="9CO-NU-fBc" id="9pG-cY-mLe"/>
+                <outlet property="starView" destination="ay0-L4-b3f" id="CV2-cE-TLq"/>
+            </connections>
+            <point key="canvasLocation" x="131.15942028985509" y="120.87053571428571"/>
+        </tableViewCell>
+    </objects>
+    <resources>
+        <image name="accell_left" width="4" height="18"/>
+        <image name="accompany_edit" width="12" height="12"/>
+        <image name="student_eva_placeholder" width="79" height="78"/>
+        <systemColor name="systemBackgroundColor">
+            <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+        </systemColor>
+    </resources>
+</document>

+ 1 - 15
KulexiuForStudent/KulexiuForStudent/Module/Course/Controller/CourseViewController.m

@@ -411,11 +411,6 @@
             [self chatAction:source.userId groupName:source.name isGroup:NO];
         }
             break;
-        case ACCOMPANY_TYPE_ADJUST:
-        {
-            [self adjustCourseAction:source];
-        }
-            break;
         case ACCOMPANY_DETAIL:
         {
             [self showAccompanyDetailAction:source];
@@ -426,20 +421,11 @@
     }
 }
 
-- (void)adjustCourseAction:(TableCourseModel *)source {
-    KSFullDatePicker *adjustPicker = [[KSFullDatePicker alloc] initWithTitle:@"课程调整" date:[NSDate date] pickMode:KSDATEPICKER_MODE_DAY_TIME selectDateBlock:^(NSString *date) {
-        
-    } cancleBlock:^{
-        
-    }];
-    [adjustPicker show];
-}
-
 - (void)showAccompanyDetailAction:(TableCourseModel *)source {
     AccompanyDetailViewController *detailVC = [[AccompanyDetailViewController alloc] init];
     detailVC.courseId = source.courseId;
     detailVC.courseGroupId = source.courseGoupId;
-    detailVC.studentId = source.userId;
+    detailVC.teacherId = source.userId;
     [self.navigationController pushViewController:detailVC animated:YES];
 }
 

+ 0 - 1
KulexiuForStudent/KulexiuForStudent/Module/Course/View/AccompanyCourseCell.h

@@ -12,7 +12,6 @@
 typedef NS_ENUM(NSInteger, ACCOMPANY_TYPE) {
     ACCOMPANY_TYPE_CHAT,
     ACCOMPANY_DETAIL,
-    ACCOMPANY_TYPE_ADJUST,
 };
 
 typedef void(^AccompanyCourseCallback)(ACCOMPANY_TYPE type, AccompanyLessonModel * _Nonnull source);

+ 11 - 38
KulexiuForStudent/KulexiuForStudent/Module/Course/View/AccompanyCourseCell.m

@@ -55,22 +55,12 @@
     if ([model.status isEqualToString:@"NOT_START"]) { // 未开始
         self.courseStatus.text = @"未开始";
         self.courseStatus.textColor = HexRGB(0xff802C);
-        // 判断按钮显示调课还是进入教室
-        BOOL canChange = NO;
-        if (canChange) {
-            self.type = ACCOMPANY_TYPE_ADJUST;
-            self.opreationButton.userInteractionEnabled = YES;
-            [self.opreationButton setTitle:@"调课" forState:UIControlStateNormal];
-            [self.opreationButton setTitleColor:THEMECOLOR forState:UIControlStateNormal];
-            [self.opreationButton setBackgroundColor:HexRGB(0xffffff)];
-        }
-        else {
-            self.type = ACCOMPANY_DETAIL;
-            self.opreationButton.userInteractionEnabled = YES;
-            [self.opreationButton setTitle:@"进入教室" forState:UIControlStateNormal];
-            [self.opreationButton setTitleColor:HexRGB(0xffffff) forState:UIControlStateNormal];
-            [self.opreationButton setBackgroundColor:THEMECOLOR];
-        }
+        
+        self.type = ACCOMPANY_DETAIL;
+        self.opreationButton.userInteractionEnabled = YES;
+        [self.opreationButton setTitle:@"进入教室" forState:UIControlStateNormal];
+        [self.opreationButton setTitleColor:HexRGB(0xffffff) forState:UIControlStateNormal];
+        [self.opreationButton setBackgroundColor:THEMECOLOR];
     }
     else if ([model.status isEqualToString:@"ING"]) { // 进行中
         self.courseStatus.text = @"进行中";
@@ -120,28 +110,11 @@
         self.courseStatus.text = @"未开始";
         self.courseStatus.textColor = HexRGB(0xff802C);
         
-        // 判断按钮显示调课还是进入教室
-        NSDate *currentDate = [NSDate date];
-        NSDate *beginDate = [self getCourseBeginDate:model.startTime];
-        NSTimeInterval beginTimeInterval = [beginDate timeIntervalSinceDate:currentDate];
-        BOOL canChange = NO;
-        if (beginTimeInterval > beforeTime * 60) {
-            canChange = YES;
-        }
-        if (canChange) {
-            self.type = ACCOMPANY_TYPE_ADJUST;
-            self.opreationButton.userInteractionEnabled = YES;
-            [self.opreationButton setTitle:@"调课" forState:UIControlStateNormal];
-            [self.opreationButton setTitleColor:THEMECOLOR forState:UIControlStateNormal];
-            [self.opreationButton setBackgroundColor:HexRGB(0xffffff)];
-        }
-        else {
-            self.type = ACCOMPANY_DETAIL;
-            self.opreationButton.userInteractionEnabled = YES;
-            [self.opreationButton setTitle:@"进入教室" forState:UIControlStateNormal];
-            [self.opreationButton setTitleColor:HexRGB(0xffffff) forState:UIControlStateNormal];
-            [self.opreationButton setBackgroundColor:THEMECOLOR];
-        }
+        self.type = ACCOMPANY_DETAIL;
+        self.opreationButton.userInteractionEnabled = YES;
+        [self.opreationButton setTitle:@"进入教室" forState:UIControlStateNormal];
+        [self.opreationButton setTitleColor:HexRGB(0xffffff) forState:UIControlStateNormal];
+        [self.opreationButton setBackgroundColor:THEMECOLOR];
     }
     else if ([model.status isEqualToString:@"ING"]) { // 进行中
         self.courseStatus.text = @"进行中";

+ 6 - 3
KulexiuForStudent/KulexiuForStudent/Module/Mine/Homework/Controller/HomeworkDetailViewController.m

@@ -99,11 +99,13 @@
     }
     // 老师布置过作业且没有点评 可以点击
     if (self.detailModel.reviewHomework == 1 || self.detailModel.decorateHomework == 0) {
+        self.canModify = NO;
         self.bottomView.sureButton.userInteractionEnabled = NO;
         self.bottomView.sureButton.backgroundColor = HexRGB(0xe5e5e5);
         [self.bottomView.sureButton setTitleColor:HexRGB(0x666666) forState:UIControlStateNormal];
     }
     else {
+        self.canModify = YES;
         self.bottomView.sureButton.userInteractionEnabled = YES;
         self.bottomView.sureButton.backgroundColor = THEMECOLOR;
         [self.bottomView.sureButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
@@ -134,10 +136,11 @@
     }
     else if (indexPath.row == 2) { // 作业视频
         // studentAttachments
-        BOOL canDisplay = self.detailModel.decorateHomework == 1 ? YES : NO;
+        BOOL hasArrangeHomework = self.detailModel.decorateHomework == 1 ? YES : NO;
         AccompanyHomeworkCell *cell = [tableView dequeueReusableCellWithIdentifier:@"AccompanyHomeworkCell"];
+        cell.canSubmit = self.canModify;
         MJWeakSelf;
-        [cell configWithAttachmentArray:self.fileArray canDisplaySubmitView:canDisplay callback:^(HOMEWORKACTION action, NSInteger viewIndex) {
+        [cell configWithAttachmentArray:self.fileArray canDisplaySubmitView:hasArrangeHomework callback:^(HOMEWORKACTION action, NSInteger viewIndex) {
             [weakSelf operationActionWithType:action index:viewIndex];
         }];
         
@@ -163,7 +166,7 @@
             [self deleteVideoIndex:viewIndex];
         }
             break;
-        case HOMEWORKACTION_ADD: // 选择曲目
+        case HOMEWORKACTION_ADD: // 选择视频作业
         {
             // 调用相册
             self.mediaManager = [[KSMediaManager alloc] init];

+ 0 - 14
KulexiuForStudent/KulexiuForStudent/Module/Mine/MineCourse/View/MyLessonBodyView.m

@@ -385,11 +385,6 @@
             [self.naviController pushViewController:conversationVC animated:YES];
         }
             break;
-        case ACCOMPANY_TYPE_ADJUST: // 调整
-        {
-            [self showAdjustPicker:model];
-        }
-            break;
         case ACCOMPANY_DETAIL:  // 陪练课详情
         {
             [self showAccompanyDetail:model];
@@ -405,15 +400,6 @@
     
 }
 
-- (void)showAdjustPicker:(AccompanyLessonModel *)model {
-    
-    KSFullDatePicker *picker = [[KSFullDatePicker alloc] initWithTitle:@"课时调整" date:[NSDate date] pickMode:KSDATEPICKER_MODE_DAY_TIME selectDateBlock:^(NSString *date) {
-        [self courseAdjustAction:model];
-    } cancleBlock:^{
-        
-    }];
-    [picker show];
-}
 
 - (void)courseAdjustAction:(AccompanyLessonModel *)model {
     

+ 2 - 1
KulexiuForStudent/KulexiuForStudent/Module/Mine/Setting/View/VeriCheckView.m

@@ -8,6 +8,7 @@
 
 #import "VeriCheckView.h"
 #import "UIButton+EnlargeEdge.h"
+#import <SDWebImage/SDImageCache.h>
 
 @interface VeriCheckView ()<UIGestureRecognizerDelegate,UITextFieldDelegate>
 
@@ -105,7 +106,7 @@
 
 - (void)disPlayImageWithPhone:(NSString *)phoneNo {
     self.phoneNo = phoneNo;
-    NSString *url = [NSString stringWithFormat:@"%@%@?phone=%@",hostURL, @"/api-teacher/code/getImageCode",phoneNo];
+    NSString *url = [NSString stringWithFormat:@"%@%@?phone=%@",hostURL, @"/api-student/code/getImageCode",phoneNo];
     [[SDImageCache sharedImageCache] removeImageForKey:url withCompletion:^{
         [self.checkImage sd_setImageWithURL:[NSURL URLWithString:url] placeholderImage:[UIImage imageNamed:@"image_placeholder"] options:SDWebImageRefreshCached];
     }];

BIN
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Assets.car


BIN
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Info.plist


BIN
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/KulexiuForStudent


+ 66 - 11
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/_CodeSignature/CodeResources

@@ -24,21 +24,41 @@
 		<data>
 		X7q2Pt+1SpPQBoT9EBeSzMbupHc=
 		</data>
+		<key>AccompanyDetailBottomView.nib</key>
+		<data>
+		vw+php7b3ZXCCUn/xlLQ9nm4dtI=
+		</data>
+		<key>AccompanyEvaluateCell.nib</key>
+		<data>
+		xkg9NsmEadIKYKXbsoZGJlLy2tA=
+		</data>
 		<key>AccompanyHomeworkCell.nib</key>
 		<data>
-		umL1Jzavon8laOza1gNfzrsqglc=
+		sUfEFYMOTVq4p5LwjVm2Z1r9q1g=
 		</data>
 		<key>AccompanyRemarkCell.nib</key>
 		<data>
 		ep0H5ZKPJQi+QTyO8H0uhb9XUpM=
 		</data>
+		<key>AccompanyStudentEvaCell.nib</key>
+		<data>
+		Jf3YUFwrYeiS53J4nsxYxfU+5Us=
+		</data>
+		<key>AppIcon60x60@2x.png</key>
+		<data>
+		in/65AJJc9HeALkYhQEZVdwHQ7U=
+		</data>
+		<key>AppIcon76x76@2x~ipad.png</key>
+		<data>
+		I+uaxAkmE6REGrRqdREQaq9WCpo=
+		</data>
 		<key>ApplyBottomView.nib</key>
 		<data>
 		pAlHRvcXMjhMTMJp18pADu6K1D4=
 		</data>
 		<key>Assets.car</key>
 		<data>
-		hhHSt08X8ThMvv/808gM8VZHYOY=
+		objls3W6gsUpJoSpVLyYyeqBiPM=
 		</data>
 		<key>Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib</key>
 		<data>
@@ -985,9 +1005,9 @@
 		<data>
 		s76l2l9SMXN1N7ijJZ7KOJLmRqQ=
 		</data>
-		<key>HomeBottomView.nib</key>
+		<key>HomeworkBottomView.nib</key>
 		<data>
-		HlupzGppuycCpGMlMDeto+XpRuU=
+		8qBsFshDeGTSF7FMXMxpy950b/k=
 		</data>
 		<key>HomeworkListCell.nib</key>
 		<data>
@@ -999,11 +1019,11 @@
 		</data>
 		<key>HomeworkVideoView.nib</key>
 		<data>
-		+eCw87oolYZsr2Cv7S+RR38+wBA=
+		xOHUlwgT4G5QIjOmusOgHSDP+m4=
 		</data>
 		<key>Info.plist</key>
 		<data>
-		r6iWcJTZ/HjQOnsSWJhEM6kMlAo=
+		EdB9sHcKlH/OT3BexGlAzsa5uW4=
 		</data>
 		<key>InstrumentChooseView.nib</key>
 		<data>
@@ -3653,11 +3673,25 @@
 			YpLotWzj6nnuK4MRZvdJWn1g5faRuoYc45T3IvRfP98=
 			</data>
 		</dict>
+		<key>AccompanyDetailBottomView.nib</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			mljYdQS6vS+bu4GzGSCG+57bCsLpDPR1FdyDXPnnYmI=
+			</data>
+		</dict>
+		<key>AccompanyEvaluateCell.nib</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			S9xPUo1GHB7EVikKEyU0UZFyfxBle3NeZ2kITQgu400=
+			</data>
+		</dict>
 		<key>AccompanyHomeworkCell.nib</key>
 		<dict>
 			<key>hash2</key>
 			<data>
-			OaZSel0P+n0Dbs+iNaryHcS7k9D8z6PIeoJslkFG3es=
+			aK+HByTTIBg4lHUDwpLNSKhLSC1YRN0oERNbrLa5qw0=
 			</data>
 		</dict>
 		<key>AccompanyRemarkCell.nib</key>
@@ -3667,6 +3701,27 @@
 			PuQORiO/mFG3ZaiJFfpAkqIXMeT8z0KM670lTkTtry8=
 			</data>
 		</dict>
+		<key>AccompanyStudentEvaCell.nib</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			kX5OgQRvUpOimyg1fpSWHAMYYptzVS7MphC0j3M5X/Q=
+			</data>
+		</dict>
+		<key>AppIcon60x60@2x.png</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			13lIYaCdqqMS9jjrIYcApNUWAL38AOXUKvsizZe80FE=
+			</data>
+		</dict>
+		<key>AppIcon76x76@2x~ipad.png</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			YMuk3t34w6uCBY9Ezv3fT6yLURFAzRZ1x1ZhvqfCrns=
+			</data>
+		</dict>
 		<key>ApplyBottomView.nib</key>
 		<dict>
 			<key>hash2</key>
@@ -3678,7 +3733,7 @@
 		<dict>
 			<key>hash2</key>
 			<data>
-			u+wNmDKyZlr0HldFSlA5EB15uOoekMoaHjUZ/neRUlc=
+			6tTJk3wqBPcUmq/v1s0wqxeHHLE4FbZVLZ43UDvb1Jw=
 			</data>
 		</dict>
 		<key>Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib</key>
@@ -5004,11 +5059,11 @@
 			yP0dtKD/a5iI3UgHMgNxWp+fEcu/9lccgRY54iTR2tE=
 			</data>
 		</dict>
-		<key>HomeBottomView.nib</key>
+		<key>HomeworkBottomView.nib</key>
 		<dict>
 			<key>hash2</key>
 			<data>
-			nRhX2Woxy3T6WLD1165/odUix2Iag9Tb7y1SfZl8pgo=
+			qztJ5T1ydpfpkx0U9UHpQrTm/vD9qB7qaR9ednR8Rx8=
 			</data>
 		</dict>
 		<key>HomeworkListCell.nib</key>
@@ -5029,7 +5084,7 @@
 		<dict>
 			<key>hash2</key>
 			<data>
-			Cb4hcMHFW+fokYLBftw2h3JSOpQqXlsYnLi7dIXj8BU=
+			L+WDM2rJWI109MGzZuumRtNhdCeknzafmZWCnW4R9gI=
 			</data>
 		</dict>
 		<key>InstrumentChooseView.nib</key>

BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/KulexiuForStudent-project-headers.hmap


BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/ClassTitleView.o


BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/ClassVideoListCell.o


BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/ClassVideoListView.o


BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/Classroom.o


BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/ClassroomMainContainer.o


BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/ClassroomTitleView.o


BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/CourseViewController.o


BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KSBaseViewController.o


BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KSEnterLiveroomManager.o


BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KSImageButton.o


BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KSLiveStreamVideo.o


BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KSMediaManager.o


BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KSNetworkingManager.o


BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KSWebSocketManager.o


BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KSWhiteboardView.o


+ 5 - 1
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KulexiuForStudent.LinkFileList

@@ -98,6 +98,7 @@
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/kSJXCollectionView.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/CoinModel.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KSRCIMDataSource.o
+/Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/AccompanyEvaluateCell.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/AccompanyDetailViewController.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/LiveroomTimeManager.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/TZProgressView.o
@@ -227,6 +228,7 @@
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/FastForwardView.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/LiveLessonModel.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KSBaseTableViewController.o
+/Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/EvaluateDetailModel.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KLTNavigationController.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/DeviceCheckView.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/OnlineClassManager.o
@@ -254,6 +256,7 @@
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/InstrumentDescView.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/FeedbackViewController.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KSUpdateManager.o
+/Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/AccompanyStudentEvaCell.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/HTTPResult.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KSSegmentControl.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/AccompanyLessonModel.o
@@ -269,6 +272,7 @@
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/VoLRUManager.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/UIColor+Hex.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KSLiveChatroomLeave.o
+/Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/HomeworkBottomView.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KSWebSocketManager.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/MSSBrowseRemindView.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/YKNodeModel.o
@@ -423,6 +427,7 @@
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/LiveSeatApplyView.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KeyChainTools.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KSSearchResultModel.o
+/Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/AccompanyDetailBottomView.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/WeakWebViewScriptMessageDelegate.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/UITextView+ZWPlaceHolder.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/UIButton+Property.o
@@ -431,7 +436,6 @@
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/NSObject+KSSwizzling.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/UIView+AddConstraints.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/TAPageControl.o
-/Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/HomeBottomView.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/LiveRoomHeadView.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/ChatAddressViewController.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/AboutUsBodyView.o

BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KulexiuForStudent_dependency_info.dat


BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/LiveVideoRoomViewController.o


BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/LoginHelper.o


BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/MBProgressHUD+KSShow.o


BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/MSSBrowseBaseViewController.o


BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/MSSBrowseNetworkViewController.o


BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/MainContainerView.o


BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/NewClassRoomViewController.o


BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/RTCService.o


BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/RecentSharedVideoCell.o


BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/RecentSharedView.o


BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/SDCycleScrollView.o


BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/SubjectChooseViewController.o


BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/ToolPanelView.o


BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/UIView+XIBView.dia


BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/VeriCheckView.o


BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/VideoListCell.o


BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/VideoListView.o


BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/assetcatalog_dependencies


+ 27 - 1
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/assetcatalog_generated_info.plist

@@ -1,5 +1,31 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
-<dict/>
+<dict>
+	<key>CFBundleIcons</key>
+	<dict>
+		<key>CFBundlePrimaryIcon</key>
+		<dict>
+			<key>CFBundleIconFiles</key>
+			<array>
+				<string>AppIcon60x60</string>
+			</array>
+			<key>CFBundleIconName</key>
+			<string>AppIcon</string>
+		</dict>
+	</dict>
+	<key>CFBundleIcons~ipad</key>
+	<dict>
+		<key>CFBundlePrimaryIcon</key>
+		<dict>
+			<key>CFBundleIconFiles</key>
+			<array>
+				<string>AppIcon60x60</string>
+				<string>AppIcon76x76</string>
+			</array>
+			<key>CFBundleIconName</key>
+			<string>AppIcon</string>
+		</dict>
+	</dict>
+</dict>
 </plist>

BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/AFNetworking.build/AFNetworking-all-non-framework-target-headers.hmap


BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/AFNetworking.build/AFNetworking-all-target-headers.hmap


BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/CHIPageControl.build/CHIPageControl-all-non-framework-target-headers.hmap


BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/CHIPageControl.build/CHIPageControl-all-target-headers.hmap


BIN
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: [1650427658, 17879009]
-build_end_time: [1650427658, 180215835]
+build_start_time: [1650442917, 284811019]
+build_end_time: [1650442917, 458616971]
 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]

BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/IQKeyboardManager.build/IQKeyboardManager-all-target-headers.hmap


BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/JXCategoryView.build/JXCategoryView-all-non-framework-target-headers.hmap


BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/JXCategoryView.build/JXCategoryView-all-target-headers.hmap


BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/JXPagingView.build/JXPagingView-all-target-headers.hmap


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