Quellcode durchsuchen

1.3.4 线上版本发布

Steven vor 2 Jahren
Ursprung
Commit
890aa26dc2
20 geänderte Dateien mit 147 neuen und 305 gelöschten Zeilen
  1. 4 4
      KulexiuForStudent/KulexiuForStudent.xcodeproj/project.pbxproj
  2. BIN
      KulexiuForStudent/KulexiuForStudent.xcworkspace/xcuserdata/wangzhi.xcuserdatad/UserInterfaceState.xcuserstate
  3. 4 196
      KulexiuForStudent/KulexiuForStudent.xcworkspace/xcuserdata/wangzhi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
  4. 1 1
      KulexiuForStudent/KulexiuForStudent/AppDelegate.m
  5. 22 0
      KulexiuForStudent/KulexiuForStudent/Assets.xcassets/Home/delete_white_image.imageset/Contents.json
  6. BIN
      KulexiuForStudent/KulexiuForStudent/Assets.xcassets/Home/delete_white_image.imageset/delete_white_image@2x.png
  7. BIN
      KulexiuForStudent/KulexiuForStudent/Assets.xcassets/Home/delete_white_image.imageset/delete_white_image@3x.png
  8. 2 0
      KulexiuForStudent/KulexiuForStudent/Common/Base/AccompanyLoadingView.m
  9. 14 14
      KulexiuForStudent/KulexiuForStudent/Common/Define/PrefixHeader.pch
  10. 2 2
      KulexiuForStudent/KulexiuForStudent/Module/Home/Controller/HomeViewController.m
  11. 2 2
      KulexiuForStudent/KulexiuForStudent/Module/Home/View/HotAlbum/HomeHotAlbumView.xib
  12. 2 2
      KulexiuForStudent/KulexiuForStudent/Module/Home/View/HotMusic/HomeHotMusicView.xib
  13. 4 4
      KulexiuForStudent/KulexiuForStudent/Module/Live/Controller/LiveVideoRoomViewController.h
  14. 61 61
      KulexiuForStudent/KulexiuForStudent/Module/Live/Controller/LiveVideoRoomViewController.m
  15. 6 6
      KulexiuForStudent/KulexiuForStudent/Module/Live/LiveRoomMessage/KSLiveChatroomSeatApply.h
  16. 1 1
      KulexiuForStudent/KulexiuForStudent/Module/Live/LiveRoomMessage/KSLiveChatroomSeatApply.m
  17. 5 5
      KulexiuForStudent/KulexiuForStudent/Module/Live/LiveRoomMessage/KSLiveChatroomSeatResponse.h
  18. 1 1
      KulexiuForStudent/KulexiuForStudent/Module/Live/LiveRoomMessage/KSLiveChatroomSeatResponse.m
  19. 1 1
      KulexiuForStudent/KulexiuForStudent/Module/Live/View/KSChatroomTextCell.m
  20. 15 5
      KulexiuForStudent/KulexiuForStudent/Module/Live/View/SeatContentView.m

+ 4 - 4
KulexiuForStudent/KulexiuForStudent.xcodeproj/project.pbxproj

@@ -7210,7 +7210,7 @@
 				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
 				CODE_SIGN_ENTITLEMENTS = KulexiuForStudent/KulexiuForStudent.entitlements;
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 1.3.3;
+				CURRENT_PROJECT_VERSION = 1.3.4;
 				DEVELOPMENT_TEAM = B2AP53HHTU;
 				ENABLE_BITCODE = NO;
 				FRAMEWORK_SEARCH_PATHS = (
@@ -7266,7 +7266,7 @@
 					"$(PROJECT_DIR)/KulexiuForStudent/Common/ThirdPart/UMSocialSDK/share/share_ios_6.10.5/SocialLibraries/Sina/SinaSDK",
 					"$(PROJECT_DIR)/KulexiuForStudent/Common/ThirdPart/UMSocialSDK/share/share_ios_6.10.5/UMSocialSDKPlugin",
 				);
-				MARKETING_VERSION = 1.3.3;
+				MARKETING_VERSION = 1.3.4;
 				PRODUCT_BUNDLE_IDENTIFIER = com.Colexiu.KulexiuForStudent;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				SWIFT_EMIT_LOC_STRINGS = YES;
@@ -7282,7 +7282,7 @@
 				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
 				CODE_SIGN_ENTITLEMENTS = KulexiuForStudent/KulexiuForStudent.entitlements;
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 1.3.3;
+				CURRENT_PROJECT_VERSION = 1.3.4;
 				DEVELOPMENT_TEAM = B2AP53HHTU;
 				ENABLE_BITCODE = NO;
 				FRAMEWORK_SEARCH_PATHS = (
@@ -7338,7 +7338,7 @@
 					"$(PROJECT_DIR)/KulexiuForStudent/Common/ThirdPart/UMSocialSDK/share/share_ios_6.10.5/SocialLibraries/Sina/SinaSDK",
 					"$(PROJECT_DIR)/KulexiuForStudent/Common/ThirdPart/UMSocialSDK/share/share_ios_6.10.5/UMSocialSDKPlugin",
 				);
-				MARKETING_VERSION = 1.3.3;
+				MARKETING_VERSION = 1.3.4;
 				PRODUCT_BUNDLE_IDENTIFIER = com.Colexiu.KulexiuForStudent;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				SWIFT_EMIT_LOC_STRINGS = YES;

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


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

@@ -119,22 +119,6 @@
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
-            uuid = "4A8E528F-160D-4E33-80AE-27A9D27CA5AC"
-            shouldBeEnabled = "No"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Module/Live/Controller/LiveVideoRoomViewController.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "708"
-            endingLineNumber = "708"
-            landmarkName = "-countMemberCount"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
             uuid = "042CD8D0-51BC-4B36-8962-88F4A3CC0D8E"
             shouldBeEnabled = "Yes"
             ignoreCount = "0"
@@ -471,22 +455,6 @@
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
-            uuid = "BC893046-7BBE-47D7-9C82-A0579FCE0066"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Module/Live/Controller/LiveVideoRoomViewController.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "643"
-            endingLineNumber = "643"
-            landmarkName = "-connectHostWithStatus:"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
             uuid = "09BECFEC-866D-4A1F-B953-C759DA4F4E13"
             shouldBeEnabled = "Yes"
             ignoreCount = "0"
@@ -503,118 +471,6 @@
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
-            uuid = "6A779C41-B368-4644-A567-8BF717DAE151"
-            shouldBeEnabled = "No"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Module/Live/Controller/LiveVideoRoomViewController.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "1120"
-            endingLineNumber = "1120"
-            landmarkName = "-displayCloseView"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "8CC6F8FD-6841-4923-8FDB-B8F040B84FB5"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Module/Live/Controller/LiveVideoRoomViewController.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "1353"
-            endingLineNumber = "1353"
-            landmarkName = "-didReceiveMessageNotification:"
-            landmarkType = "7">
-            <Locations>
-               <Location
-                  uuid = "8CC6F8FD-6841-4923-8FDB-B8F040B84FB5 - 37facbaa101cbd35"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "-[LiveVideoRoomViewController didReceiveMessageNotification:]"
-                  moduleName = "KulexiuForStudent"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/Live/Controller/LiveVideoRoomViewController.m"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "1493"
-                  endingLineNumber = "1493"
-                  offsetFromSymbolStart = "1184">
-               </Location>
-               <Location
-                  uuid = "8CC6F8FD-6841-4923-8FDB-B8F040B84FB5 - 37facbaa101cbd35"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "-[LiveVideoRoomViewController didReceiveMessageNotification:]"
-                  moduleName = "KulexiuForStudent"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/Live/Controller/LiveVideoRoomViewController.m"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "1493"
-                  endingLineNumber = "1493"
-                  offsetFromSymbolStart = "1188">
-               </Location>
-            </Locations>
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "93ED4FCE-5D2E-4D6D-ACD7-640638F3C144"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Module/Live/Controller/LiveVideoRoomViewController.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "1343"
-            endingLineNumber = "1343"
-            landmarkName = "-didReceiveMessageNotification:"
-            landmarkType = "7">
-            <Locations>
-               <Location
-                  uuid = "93ED4FCE-5D2E-4D6D-ACD7-640638F3C144 - 37facbaa101cbd35"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "-[LiveVideoRoomViewController didReceiveMessageNotification:]"
-                  moduleName = "KulexiuForStudent"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/Live/Controller/LiveVideoRoomViewController.m"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "1493"
-                  endingLineNumber = "1493"
-                  offsetFromSymbolStart = "1184">
-               </Location>
-               <Location
-                  uuid = "93ED4FCE-5D2E-4D6D-ACD7-640638F3C144 - 37facbaa101cbd35"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "-[LiveVideoRoomViewController didReceiveMessageNotification:]"
-                  moduleName = "KulexiuForStudent"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/Live/Controller/LiveVideoRoomViewController.m"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "1493"
-                  endingLineNumber = "1493"
-                  offsetFromSymbolStart = "1188">
-               </Location>
-            </Locations>
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
             uuid = "1E3F226F-38FA-46AA-9F8D-283D33C1F695"
             shouldBeEnabled = "No"
             ignoreCount = "0"
@@ -622,8 +478,8 @@
             filePath = "KulexiuForStudent/Module/Live/Controller/LiveVideoRoomViewController.m"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "1270"
-            endingLineNumber = "1270"
+            startingLineNumber = "1282"
+            endingLineNumber = "1282"
             landmarkName = "-sendLeaveMessageCallback:"
             landmarkType = "7">
          </BreakpointContent>
@@ -631,38 +487,6 @@
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
-            uuid = "E4B6561E-126D-4140-B2B7-84FB5FF41267"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Common/Base/KSAccompanyWebViewController.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "647"
-            endingLineNumber = "647"
-            landmarkName = "-userContentController:didReceiveScriptMessage:"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "FC352D59-3F71-4ABC-972B-D35C29F45704"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Common/Base/KSAccompanyWebViewController.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "1107"
-            endingLineNumber = "1107"
-            landmarkName = "-showCustomLoading"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
             uuid = "9A08094F-35E5-4ADD-9EF1-C45E09861E3D"
             shouldBeEnabled = "Yes"
             ignoreCount = "0"
@@ -670,27 +494,11 @@
             filePath = "KulexiuForStudent/Common/Base/AccompanyLoadingView.m"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "43"
-            endingLineNumber = "43"
+            startingLineNumber = "44"
+            endingLineNumber = "44"
             landmarkName = "-showLoading"
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "F407B7D6-93C9-469A-9BAD-A75B982ABBDE"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Module/Home/Controller/HomeViewController.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "657"
-            endingLineNumber = "657"
-            landmarkName = "-requestInformationList"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
    </Breakpoints>
 </Bucket>

+ 1 - 1
KulexiuForStudent/KulexiuForStudent/AppDelegate.m

@@ -323,7 +323,7 @@
     RCKitConfigCenter.message.disableMessageAlertSound = YES;
     
     // 设置断线重连时是否踢出重连设备
-    //    [[RCIMClient sharedRCIMClient] setReconnectKickEnable:YES];
+        [[RCIMClient sharedRCIMClient] setReconnectKickEnable:YES];
     
     // 左右上角按钮颜色
     RCKitConfigCenter.ui.globalNavigationBarTintColor = HexRGB(0x000000);

+ 22 - 0
KulexiuForStudent/KulexiuForStudent/Assets.xcassets/Home/delete_white_image.imageset/Contents.json

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

BIN
KulexiuForStudent/KulexiuForStudent/Assets.xcassets/Home/delete_white_image.imageset/delete_white_image@2x.png


BIN
KulexiuForStudent/KulexiuForStudent/Assets.xcassets/Home/delete_white_image.imageset/delete_white_image@3x.png


+ 2 - 0
KulexiuForStudent/KulexiuForStudent/Common/Base/AccompanyLoadingView.m

@@ -36,6 +36,7 @@
 
 + (instancetype)shareInstance {
     AccompanyLoadingView *view = [[[NSBundle mainBundle] loadNibNamed:@"AccompanyLoadingView" owner:nil options:nil] firstObject];
+    view.backgroundColor = [UIColor redColor];
     return view;
 }
 
@@ -49,6 +50,7 @@
             make.left.right.top.bottom.mas_equalTo(self.loadContainer);
         }];
     }
+    self.layer.opacity = 1.0f;
     [self.animationView play];
 }
 

+ 14 - 14
KulexiuForStudent/KulexiuForStudent/Common/Define/PrefixHeader.pch

@@ -117,24 +117,24 @@ shouldPrevent = NO; \
 
 //#ifdef DEBUG
 
-#define hostURL (@"https://dev.colexiu.com")
-#define SEALCLASSHOST (@"https://dev.colexiu.com/api-classroom")
-#define WEBHOST (@"https://dev.colexiu.com/student")
-#define SOCKET_URL (@"wss://dev.colexiu.com/audioAnalysis")
-#define JSPUSH_ENVIRONMENT (NO)
-#define RCIM_KEY (@"0vnjpoad0jbdz")
-#define SUBMIT_UUID (YES)
+//#define hostURL (@"https://dev.colexiu.com")
+//#define SEALCLASSHOST (@"https://dev.colexiu.com/api-classroom")
+//#define WEBHOST (@"https://dev.colexiu.com/student")
+//#define SOCKET_URL (@"wss://dev.colexiu.com/audioAnalysis")
+//#define JSPUSH_ENVIRONMENT (NO)
+//#define RCIM_KEY (@"0vnjpoad0jbdz")
+//#define SUBMIT_UUID (YES)
 
 
 //#else
 
-//#define hostURL (@"https://online.colexiu.com")
-//#define SEALCLASSHOST (@"https://online.colexiu.com/api-classroom")
-//#define WEBHOST (@"https://online.colexiu.com/student")
-//#define SOCKET_URL (@"wss://online.colexiu.com/audioAnalysis")
-//#define JSPUSH_ENVIRONMENT (YES)
-//#define RCIM_KEY (@"e5t4ouvpe42pa")
-//#define SUBMIT_UUID (YES)
+#define hostURL (@"https://online.colexiu.com")
+#define SEALCLASSHOST (@"https://online.colexiu.com/api-classroom")
+#define WEBHOST (@"https://online.colexiu.com/student")
+#define SOCKET_URL (@"wss://online.colexiu.com/audioAnalysis")
+#define JSPUSH_ENVIRONMENT (YES)
+#define RCIM_KEY (@"e5t4ouvpe42pa")
+#define SUBMIT_UUID (YES)
 
 //#endif
 

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

@@ -1273,10 +1273,10 @@
         return CGSizeMake(110, 150);
     }
     else if (collectionView == self.videoCollectionView) {
-        return CGSizeMake((KPortraitWidth - 28 - 11) / 2.0f, 157);
+        return CGSizeMake(168, 157);
     }
     else {
-        return CGSizeMake((KPortraitWidth - 28 - 11) / 2.0f, 157);
+        return CGSizeMake(168, 157);
     }
 }
 

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

@@ -32,11 +32,11 @@
                     <nil key="highlightedColor"/>
                 </label>
                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="热门专辑" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="u9G-3b-Wgt">
-                    <rect key="frame" x="29" y="30" width="65.5" height="22"/>
+                    <rect key="frame" x="29" y="30" width="73.5" height="22"/>
                     <constraints>
                         <constraint firstAttribute="height" constant="22" id="mNH-cs-reJ"/>
                     </constraints>
-                    <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/>
+                    <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="18"/>
                     <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
                     <nil key="highlightedColor"/>
                 </label>

+ 2 - 2
KulexiuForStudent/KulexiuForStudent/Module/Home/View/HotMusic/HomeHotMusicView.xib

@@ -27,11 +27,11 @@
                     </userDefinedRuntimeAttributes>
                 </view>
                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="热门曲目" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="t7j-WY-6gF">
-                    <rect key="frame" x="24" y="30" width="65.5" height="22"/>
+                    <rect key="frame" x="24" y="30" width="73.5" height="22"/>
                     <constraints>
                         <constraint firstAttribute="height" constant="22" id="5Zd-6z-MkK"/>
                     </constraints>
-                    <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/>
+                    <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="18"/>
                     <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
                     <nil key="highlightedColor"/>
                 </label>

+ 4 - 4
KulexiuForStudent/KulexiuForStudent/Module/Live/Controller/LiveVideoRoomViewController.h

@@ -18,15 +18,15 @@ NS_ASSUME_NONNULL_BEGIN
 @property (nonatomic, strong) NSString *roomId;
 
 /*!
- 身份状态 主讲人/观众
+ 身份状态 老师/观众
  */
 @property (nonatomic, assign) RCRTCLiveRoleType liveRoleType;
 
-/// 主讲人id
+/// 老师id
 @property (nonatomic, strong) NSString *createrId;
-/// 主讲人名称
+/// 老师名称
 @property (nonatomic, strong) NSString *createrName;
-/// 主讲人头像
+/// 老师头像
 @property (nonatomic, strong) NSString *createrAvatal;
 
 @property (nonatomic, assign) NSInteger likeCount;

+ 61 - 61
KulexiuForStudent/KulexiuForStudent/Module/Live/Controller/LiveVideoRoomViewController.m

@@ -103,7 +103,7 @@ typedef NS_ENUM(NSInteger, MICSTATUS) {
 
 @property (nonatomic, assign) BOOL isImConnected;
 
-/// 主讲人是否在房间
+/// 老师是否在房间
 @property (nonatomic, assign) BOOL isCreaterInRoom;
 
 @property (nonatomic, assign) BOOL isCreaterVideoEnable;
@@ -149,6 +149,8 @@ typedef NS_ENUM(NSInteger, MICSTATUS) {
  
 @property (nonatomic, strong) LiveApplyingView *applyingView; // 申请中
 
+@property (nonatomic, assign) BOOL isPauseLive;
+
 @end
 
 //  用于记录点赞消息连续点击的次数
@@ -169,7 +171,7 @@ static int clickPraiseBtnTimes  = 0;
     self.enableSeat = YES;
     self.enableLike = YES;
     self.micStatus = MICSTATUS_NOMAL;
-    self.isCreaterInRoom = NO; // 默认主讲人不在房间
+    self.isCreaterInRoom = NO; // 默认老师不在房间
     self.isImConnected = [USER_MANAGER checkIMConnected];
     self.isCloseRoom = NO;
     self.isOtherLogin = NO;
@@ -234,15 +236,26 @@ static int clickPraiseBtnTimes  = 0;
         [joinChatroomMessage setMsgId:[RCIM sharedRCIM].currentUserInfo.userId];
         MJWeakSelf;
         [self sendMessage:joinChatroomMessage displayMessage:NO callback:^(BOOL success) {
-            NSString *contentString = [NSString stringWithFormat:@"%@ 进入直播间",UserDefault(NicknameKey)];
-            [weakSelf showAnimationView:YES showMessag:contentString];
-            [weakSelf joinRTCRoom];
+            [weakSelf showEnterMessageAndJoinRTCRoom];
         }];
     } error:^(RCErrorCode status) {
         NSLog(@"error code %zd" ,status);
     }];
 }
 
+- (void)showEnterMessageAndJoinRTCRoom {
+    
+    NSString *contentString = [NSString stringWithFormat:@"%@ 进入直播间",UserDefault(NicknameKey)];
+    [self showAnimationView:YES showMessag:contentString];
+    [self joinRTCRoom];
+}
+
+- (void)leaveRTCRoomCallback:(void(^)(BOOL success))callback {
+    [[RCRTCEngine sharedInstance] leaveRoom:^(BOOL isSuccess, RCRTCCode code) {
+        callback(isSuccess);
+    }];
+}
+
 - (void)joinRTCRoom {
     
     // 如果当前加入了房间 只刷新或者退出
@@ -731,7 +744,7 @@ static int clickPraiseBtnTimes  = 0;
         // 渲染主播的流 优先显示主播的共享流
         KSLiveStreamVideo *mainVideo = nil;
         for (KSLiveStreamVideo *videoSource in steamArray) {
-            if ([videoSource.userId isEqualToString:self.createrId]) { // 主屏只渲染主讲人
+            if ([videoSource.userId isEqualToString:self.createrId]) { // 主屏只渲染老师
                 if ([videoSource.streamTag isEqualToString:@"screenshare"]) { // 如果是共享流
                     if (![self.videoView.streamId isEqualToString:videoSource.streamId]) { // 主屏渲染不同 则重新渲染
                         mainVideo = videoSource;
@@ -823,10 +836,14 @@ static int clickPraiseBtnTimes  = 0;
             return;
         }
         
+        
         // 创建并设置远端视频预览视图
         for (RCRTCInputStream *stream in streams) {
+            if ([stream.userId isEqualToString:self.createrId]) {
+                self.isPauseLive = NO;
+            }
             if (stream.mediaType == RTCMediaTypeVideo) {
-                if ([stream.userId isEqualToString:self.createrId]) { // 只渲染主讲人的流
+                if ([stream.userId isEqualToString:self.createrId]) { // 只渲染老师的流
                     self.isCreaterVideoEnable = YES;
                     [self setupRemoteViewWithStream:stream];
                 }
@@ -944,7 +961,7 @@ static int clickPraiseBtnTimes  = 0;
     if ([user.userId isEqualToString:self.createrId]) { // 当主播重新进入房间需要重置连麦状态
         self.isCreaterInRoom = YES;
         // 重置连麦状态
-        [self resetMicWaitToNomal];
+//        [self resetMicWaitToNomal];
         // 刷新顶部视图
     }
     else {
@@ -956,11 +973,13 @@ static int clickPraiseBtnTimes  = 0;
 // 主播离开房间 (观众接收)
 - (void)didLeaveUser:(RCRTCRemoteUser *)user {
     [self removeRemoteVideoWithUserId:user.userId]; // 移除对应的视频
-    if ([user.userId isEqualToString:self.createrId]) { // 如果是主讲人
+    if ([user.userId isEqualToString:self.createrId]) { // 如果是老师
+        
         self.isCreaterInRoom = NO;
         [self resetMicWaitToNomal];
         [self tipsTeacherLeaveRoom];
         [self clearVideoView];
+        [self hideTipsView];
         [self showEmptyViewDisplay:NO];
     }
     else {
@@ -1005,7 +1024,7 @@ static int clickPraiseBtnTimes  = 0;
 }
 
 - (void)tipsTeacherLeaveRoom {
-    [self MBPShow:@"主讲人已离开房间"];
+    [self MBPShow:@"老师已离开房间"];
 }
 
 
@@ -1043,13 +1062,9 @@ static int clickPraiseBtnTimes  = 0;
         [self MBPShow:@"聊天消息需在40个字以内哦"];
         return;
     }
-//    if (self.enableChat) {
-        self.lastSendMsgTime = currentInterval;
-        [self touristSendMessage:text];
-//    }
-//    else {
-//        [self setDefaultBottomViewStatus];
-//    }
+    self.lastSendMsgTime = currentInterval;
+    [self touristSendMessage:text];
+    
 }
 
 - (void)touristSendMessage:(NSString *)text {
@@ -1063,8 +1078,7 @@ static int clickPraiseBtnTimes  = 0;
 
 #pragma mark ---- RTC
 - (void)joinLiveRoom {
-//    self.liveRoleType = RCRTCLiveRoleTypeAudience;
-//    self.micStatus = MICSTATUS_NOMAL;
+
     // 1.配置房间
     RCRTCRoomConfig *config = [[RCRTCRoomConfig alloc] init];
     config.roomType = RCRTCRoomTypeLive;
@@ -1076,8 +1090,6 @@ static int clickPraiseBtnTimes  = 0;
             __strong typeof(weakSelf) strongSelf = weakSelf;
             if (code == RCRTCCodeSignalServerNotConnect || code == RCRTCCodeParameterError || code == RCRTCCodeNotInRTCRoom || code == RCRTCCodeRTCTokenIsNull || code == RCRTCCodeHttpTimeoutError || code == RCRTCCodeHttpError || code == RCRTCCodeVoIPNotAvailable) {
                 NSLog(@"%@",[NSString stringWithFormat:@"加入失败 code %ld",code]);
-//                [strongSelf MBPShow:@"加入直播间失败"];
-//                [strongSelf.navigationController dismissViewControllerAnimated:YES completion:nil];
             }
             else { // 加入直播间成功
                 [strongSelf notiferJoinSuccessToServiceCallback:^{
@@ -1191,7 +1203,7 @@ static int clickPraiseBtnTimes  = 0;
     NSString *descMessage = @"";
     if (isPublish) {
         imageName = @"liveVideo_close";
-        descMessage = @"主讲人已关闭画面!";
+        descMessage = @"老师已关闭画面!";
     }
     else {
         imageName = @"liveroom_empty";
@@ -1303,10 +1315,7 @@ static int clickPraiseBtnTimes  = 0;
             if (rcMessage) {
                 // 👍🏻消息
                 if ([rcMessage.content isMemberOfClass:[KSLiveChatroomLike class]]) {
-                    KSLiveChatroomLike *likeMessage = (KSLiveChatroomLike *)rcMessage.content;
-                    // 统计点赞数量
-                    //                    __blockSelf.likeCount += likeMessage.counts;
-                    //                    [__blockSelf countLikeMessageCount];
+                    return;
                 }
                 else if ([rcMessage.content isMemberOfClass:[RCChatroomLikeCount class]]) {
                     RCChatroomLikeCount *likeCountMessage = (RCChatroomLikeCount *)rcMessage.content;
@@ -1319,9 +1328,9 @@ static int clickPraiseBtnTimes  = 0;
                     if ([rcMessage.senderUserId isEqualToString:UserDefault(UIDKey)]) {
                         return;
                     }
-                    if ([rcMessage.senderUserId isEqual:self.createrId]) { // 如果是老师 重置连麦申请状态
-                        [__blockSelf resetMicWaitToNomal];
-                    }
+//                    if ([rcMessage.senderUserId isEqual:self.createrId]) { // 如果是老师 重置连麦申请状态
+//                        [__blockSelf resetMicWaitToNomal];
+//                    }
                     
                     RCUserInfo *userInfo = rcMessage.content.senderUserInfo;
                     NSString *userName = [userInfo.name stringByAppendingString:@""];
@@ -1352,17 +1361,6 @@ static int clickPraiseBtnTimes  = 0;
                     [__blockSelf countMemberCount];
                     return;
                 }
-                //                // 禁言控制
-                //                else if ([rcMessage.content isMemberOfClass:[RCChatroomChatBan class]]) {
-                //                    RCChatroomChatBan *banMessage = (RCChatroomChatBan *)rcMessage.content;
-                //                    if (banMessage.chatBan) { // 禁止发言
-                //                        __blockSelf.enableChat = NO;
-                //                    }
-                //                    else { // 开启发言
-                //                        __blockSelf.enableChat = YES;
-                //                    }
-                //                    [__blockSelf insertMessage:rcMessage userInfo:notification.userInfo];
-                //                }
                 // 连麦控制消息
                 else if ([rcMessage.content isMemberOfClass:[RCChatroomSeatsControl class]]) {
                     RCChatroomSeatsControl *seatControlMessage = (RCChatroomSeatsControl *)rcMessage.content;
@@ -1390,17 +1388,17 @@ static int clickPraiseBtnTimes  = 0;
                         // 刷新麦序
                         return;
                     }
-                    if (seatApplyMessage.type == SEATHANDLE_INVITE) { // 主讲人发起申请
+                    if (seatApplyMessage.type == SEATHANDLE_INVITE) { // 老师发起申请
                         NSString *titles = [NSString stringWithFormat:@"%@邀请您连麦",[NSString returnNoNullStringWithString:seatApplyMessage.teacherName]];
                         [__blockSelf showInviteAlertMessage:titles];
                     }
-                    else if (seatApplyMessage.type == SEATHANDLE_DISINVITE) { // 主讲人撤回邀请
-                        [__blockSelf MBPShow:@"主讲人撤回了连麦邀请"];
+                    else if (seatApplyMessage.type == SEATHANDLE_DISINVITE) { // 老师撤回邀请
+                        [__blockSelf MBPShow:@"老师撤回了连麦邀请"];
                         if (__blockSelf.alertView && __blockSelf.alertView.isShow) {
                             [__blockSelf.alertView dismissAlertView];
                         }
                     }
-                    else if (seatApplyMessage.type == SEATHANDLE_KICKSEAT) { // 主讲人将麦上观众抱下麦
+                    else if (seatApplyMessage.type == SEATHANDLE_KICKSEAT) { // 老师将麦上观众抱下麦
                         [__blockSelf kickSeatWithMessage:@"您已被抱下麦"];
                     }
                     [__blockSelf hideApplyingView];
@@ -1412,15 +1410,16 @@ static int clickPraiseBtnTimes  = 0;
                     if (![seatResponseMessage.audienceId isEqualToString:UserDefault(UIDKey)]) { // 只处理和自己相关的消息
                         return;
                     }
-                    if (seatResponseMessage.type == SEATRESPONSE_TEACHERAPPROVE) { //
+                    if (seatResponseMessage.type == SEATRESPONSE_TEACHERAPPROVE && __blockSelf.micStatus == MICSTATUS_WAITING) { //
+                        [__blockSelf hideApplyingView];
                         [__blockSelf connectHostWithStatus:YES];
+                        [__blockSelf insertMessage:rcMessage userInfo:notification.userInfo];
                     }
                     else if (seatResponseMessage.type == SEATRESPONSE_TEACHERREJECT) {
-                        [__blockSelf MBPShow:@"主讲人拒绝了您的连麦申请"];
+                        [__blockSelf MBPShow:@"老师拒绝了您的连麦申请"];
                         __blockSelf.micStatus = MICSTATUS_NOMAL;
+                        [__blockSelf insertMessage:rcMessage userInfo:notification.userInfo];
                     }
-                    [__blockSelf hideApplyingView];
-                    [__blockSelf insertMessage:rcMessage userInfo:notification.userInfo];
                 }
                 else if ([rcMessage.content isMemberOfClass:[KSLiveChatroomDownSeat class]]) { // 成员下麦消息
                     return;
@@ -1442,8 +1441,9 @@ static int clickPraiseBtnTimes  = 0;
                 else if ([rcMessage.content isMemberOfClass:[RCTextMessage class]]) {
                     [__blockSelf insertMessage:rcMessage userInfo:notification.userInfo];
                 }
-                else if ([rcMessage.content isMemberOfClass:[KSRCPauseLiveMessage class]]) { // 主讲人暂停直播
-                    [__blockSelf MBPShow:@"主讲人已暂停直播"];
+                else if ([rcMessage.content isMemberOfClass:[KSRCPauseLiveMessage class]]) { // 老师暂停直播
+                    __blockSelf.isPauseLive = YES;
+                    [__blockSelf MBPShow:@"老师已暂停直播"];
                     if (__blockSelf.micStatus == MICSTATUS_WAITING) {
                         [__blockSelf sendSeatMessageApply:NO];
                     }
@@ -1481,7 +1481,7 @@ static int clickPraiseBtnTimes  = 0;
                 }
                 else if ([rcMessage.content isMemberOfClass:[KSRejectAllSeatMessage class]]) { // 拒绝所有连麦申请
                     if (__blockSelf.micStatus == MICSTATUS_WAITING) {
-                        [__blockSelf MBPShow:@"主讲人拒绝了您的连麦申请"];
+                        [__blockSelf MBPShow:@"老师拒绝了您的连麦申请"];
                         // 处理连麦状态
                         __blockSelf.micStatus = MICSTATUS_NOMAL;
                         [__blockSelf insertMessage:rcMessage userInfo:notification.userInfo];
@@ -1934,13 +1934,10 @@ static int clickPraiseBtnTimes  = 0;
                 [self MBPShow:@"您已被老师禁言"];
                 return;
             }
-//            if (self.enableChat) { // 判断是否全员禁言
-                [_inputBar setHidden:NO];
-                [_inputBar setInputBarStatus:KSBottomBarStatusKeyboard];
-//            }
-//            else {
-//                [self MBPShow:@"老师关闭聊天"];
-//            }
+            
+            [_inputBar setHidden:NO];
+            [_inputBar setInputBarStatus:KSBottomBarStatusKeyboard];
+            
         }
             break;
         case LIVEROOMACTION_SEAT: // // 连麦按钮
@@ -1966,10 +1963,13 @@ static int clickPraiseBtnTimes  = 0;
                      return;
                 }
                 if (self.isCreaterInRoom == NO) {
-                    [self MBPShow:@"主讲人不在直播间"];
+                    [self MBPShow:@"老师不在直播间"];
+                    return;
+                }
+                if (self.isPauseLive == YES) {
+                    [self MBPShow:@"老师暂停中,暂时无法接受邀请"];
                     return;
                 }
-                
                 if (self.enableSeat) {
                     // 显示弹窗
                     [self displaySeatApplyView];
@@ -1991,7 +1991,7 @@ static int clickPraiseBtnTimes  = 0;
                 [self praiseBtnPressed];
             }
             else {
-                [self MBPShow:@"主讲人不在直播间"];
+                [self MBPShow:@"老师不在直播间"];
             }
         }
             break;

+ 6 - 6
KulexiuForStudent/KulexiuForStudent/Module/Live/LiveRoomMessage/KSLiveChatroomSeatApply.h

@@ -10,22 +10,22 @@
 NS_ASSUME_NONNULL_BEGIN
 
 typedef NS_ENUM(NSInteger, SEATHANDLE) {
-    SEATHANDLE_INVITE = 1,     // 主讲人邀请连麦
-    SEATHANDLE_DISINVITE = 2,  // 主讲人取消邀请
+    SEATHANDLE_INVITE = 1,     // 老师邀请连麦
+    SEATHANDLE_DISINVITE = 2,  // 老师取消邀请
     SEATHANDLE_APPLY = 3,      // 观众申请连麦
     SEATHANDLE_CANCELAPPLY = 4,// 观众取消申请
-    SEATHANDLE_KICKSEAT = 5,   // 主讲人将连麦人抱下麦
+    SEATHANDLE_KICKSEAT = 5,   // 老师将连麦人抱下麦
 };
 
 /// 连麦邀请或申请操作
 @interface KSLiveChatroomSeatApply : RCMessageContent
 /**
- 操作类型 1 主讲人邀请 2 主讲人取消邀请 3 观众申请 4 观众取消申请
+ 操作类型 1 老师邀请 2 老师取消邀请 3 观众申请 4 观众取消申请
  */
 @property (nonatomic, assign) SEATHANDLE type;
-// 主讲人名称
+// 老师名称
 @property (nonatomic, strong) NSString *teacherName;
-// 主讲人id
+// 老师id
 @property (nonatomic, strong) NSString *teacherId;
 // 观众名称
 @property (nonatomic, strong) NSString *audienceName;

+ 1 - 1
KulexiuForStudent/KulexiuForStudent/Module/Live/LiveRoomMessage/KSLiveChatroomSeatApply.m

@@ -11,7 +11,7 @@
 
 - (NSData *)encode {
     NSMutableDictionary *mutableDict = [NSMutableDictionary dictionary];
-    // 主讲人
+    // 老师
     if (![NSString isEmptyString:self.teacherName]) {
         [mutableDict setObject:self.teacherName forKey:@"teacherName"];
     } else {

+ 5 - 5
KulexiuForStudent/KulexiuForStudent/Module/Live/LiveRoomMessage/KSLiveChatroomSeatResponse.h

@@ -10,8 +10,8 @@
 NS_ASSUME_NONNULL_BEGIN
 
 typedef NS_ENUM(NSInteger, SEATRESPONSE) {
-    SEATRESPONSE_TEACHERAPPROVE = 1,       // 主讲人同意连麦
-    SEATRESPONSE_TEACHERREJECT = 2,        // 主讲人拒绝连麦
+    SEATRESPONSE_TEACHERAPPROVE = 1,       // 老师同意连麦
+    SEATRESPONSE_TEACHERREJECT = 2,        // 老师拒绝连麦
     SEATRESPONSE_AUDIENCEAPPROVE = 3,      // 观众同意连麦
     SEATRESPONSE_AUDIENCEREJECT = 4,       // 观众拒绝连麦
 };
@@ -20,12 +20,12 @@ typedef NS_ENUM(NSInteger, SEATRESPONSE) {
 @interface KSLiveChatroomSeatResponse : RCMessageContent
 
 /**
- 操作类型 1 主讲人同意 2 主讲人拒绝 3 观众同意 4 观众拒绝
+ 操作类型 1 老师同意 2 老师拒绝 3 观众同意 4 观众拒绝
  */
 @property (nonatomic, assign) SEATRESPONSE type;
-// 主讲人名称
+// 老师名称
 @property (nonatomic, strong) NSString *teacherName;
-// 主讲人id
+// 老师id
 @property (nonatomic, strong) NSString *teacherId;
 // 观众名称
 @property (nonatomic, strong) NSString *audienceName;

+ 1 - 1
KulexiuForStudent/KulexiuForStudent/Module/Live/LiveRoomMessage/KSLiveChatroomSeatResponse.m

@@ -11,7 +11,7 @@
 
 - (NSData *)encode {
     NSMutableDictionary *mutableDict = [NSMutableDictionary dictionary];
-    // 主讲人
+    // 老师
     if (self.teacherName) {
         [mutableDict setObject:self.teacherName forKey:@"teacherName"];
     } else {

+ 1 - 1
KulexiuForStudent/KulexiuForStudent/Module/Live/View/KSChatroomTextCell.m

@@ -157,7 +157,7 @@
         KSLiveChatroomLike *likeMessage = (KSLiveChatroomLike *)model.content;
         RCUserInfo *userInfo = model.userInfo;
         NSString *userName = [userInfo.name stringByAppendingString:@""];
-        NSString *localizedMessage = [NSString stringWithFormat:@"给主讲人点了%d个赞",likeMessage.counts];
+        NSString *localizedMessage = [NSString stringWithFormat:@"给老师点了%d个赞",likeMessage.counts];
         NSString *str =[NSString stringWithFormat:@"%@",userName];
         NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:str];
         

+ 15 - 5
KulexiuForStudent/KulexiuForStudent/Module/Live/View/SeatContentView.m

@@ -101,13 +101,22 @@
     [KSNetworkingManager imUserFriendQueryDetail:KS_POST userId:userId success:^(NSDictionary * _Nonnull dic) {
         if ([dic integerValueForKey:@"code"] == 200 && [dic boolValueForKey:@"status"]) {
             NSDictionary *result = [dic dictionaryValueForKey:@"data"];
-            self.nameLabel.text = [result stringValueForKey:@"friendNickname"];
+            if (self) {
+                self.nameLabel.text = [result stringValueForKey:@"friendNickname"];
+            }
+            else {
+                NSLog(@"-delloc------");
+            }
         }
         else {
-            self.nameLabel.text = @"连麦用户";
+            if (self) {
+                self.nameLabel.text = @"连麦用户";
+            }
         }
     } faliure:^(NSError * _Nonnull error) {
-        self.nameLabel.text = @"连麦用户";
+        if (self) {
+            self.nameLabel.text = @"连麦用户";
+        }
     }];
 }
 
@@ -128,8 +137,9 @@
     CGFloat space = 10;
     CGFloat width = 54;
     CGFloat height = 70;
-    for (NSInteger index = 0; index < self.seatMemberArray.count; index++) {
-        NSString *userId = self.seatMemberArray[index];
+    NSMutableArray *seatArray = [self.seatMemberArray mutableCopy];
+    for (NSInteger index = 0; index < seatArray.count; index++) {
+        NSString *userId = seatArray[index];
         CGRect frame = CGRectMake(space + index * (width + space), space, width, height);
         SeatMemberView *memberView = [[SeatMemberView alloc] initViewWithFrame:frame useId:userId];
         [self addSubview:memberView];