diff --git a/Pods/Pods.xcodeproj/xcuserdata/qixing.xcuserdatad/xcschemes/xcschememanagement.plist b/Pods/Pods.xcodeproj/xcuserdata/qixing.xcuserdatad/xcschemes/xcschememanagement.plist index b19d11a..43abbe3 100644 --- a/Pods/Pods.xcodeproj/xcuserdata/qixing.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/Pods/Pods.xcodeproj/xcuserdata/qixing.xcuserdatad/xcschemes/xcschememanagement.plist @@ -8,428 +8,306 @@ isShown - orderHint - 2 AgoraComponetLog.xcscheme isShown - orderHint - 3 AgoraInfra_iOS.xcscheme isShown - orderHint - 4 AgoraLyricsScore-AgoraLyricsScoreBundle.xcscheme isShown - orderHint - 6 AgoraLyricsScore.xcscheme isShown - orderHint - 5 AgoraRtcEngine_iOS.xcscheme isShown - orderHint - 7 AlipaySDK-iOS.xcscheme isShown - orderHint - 8 AliyunOSSiOS-AliyunOSSiOS_Privacy.xcscheme isShown - orderHint - 10 AliyunOSSiOS.xcscheme isShown - orderHint - 9 AvoidCrash.xcscheme isShown - orderHint - 11 BRPickerView-BRPickerView.Privacy.xcscheme isShown - orderHint - 13 BRPickerView.xcscheme isShown - orderHint - 12 Bugly.xcscheme isShown - orderHint - 14 FMDB-FMDB_Privacy.xcscheme isShown - orderHint - 16 FMDB.xcscheme isShown - orderHint - 15 JXCategoryView-JXCategoryView.xcscheme isShown - orderHint - 18 JXCategoryView.xcscheme isShown - orderHint - 17 JXPagingView-JXPagerView.xcscheme isShown - orderHint - 20 JXPagingView.xcscheme isShown - orderHint - 19 LLDebugTool.xcscheme isShown - orderHint - 22 MBProgressHUD.xcscheme isShown - orderHint - 24 MJRefresh-MJRefresh.Privacy.xcscheme isShown - orderHint - 26 MJRefresh.xcscheme isShown - orderHint - 25 MQTTClient.xcscheme isShown - orderHint - 27 Masonry.xcscheme isShown - orderHint - 23 Pods-QXLive.xcscheme isShown - orderHint - 28 Pods-QXLiveDev.xcscheme isShown - orderHint - 29 Protobuf-Protobuf_Privacy.xcscheme isShown - orderHint - 31 Protobuf.xcscheme isShown - orderHint - 30 QGVAPlayer.xcscheme isShown - orderHint - 32 ReactiveObjC.xcscheme isShown - orderHint - 33 SDCycleScrollView.xcscheme isShown - orderHint - 34 SDWebImage-SDWebImage.xcscheme isShown - orderHint - 36 SDWebImage.xcscheme isShown - orderHint - 35 SDWebImageWebPCoder.xcscheme isShown - orderHint - 37 SSZipArchive.xcscheme isShown - orderHint - 38 SVGAPlayer.xcscheme isShown - orderHint - 39 TIMCommon-TIMCommon_Privacy.xcscheme isShown - orderHint - 42 TIMCommon.xcscheme isShown - orderHint - 41 TIMPush-TIMPush_Privacy.xcscheme isShown - orderHint - 44 TIMPush.xcscheme isShown - orderHint - 43 TUIChat-TUIChat_Privacy.xcscheme isShown - orderHint - 46 TUIChat.xcscheme isShown - orderHint - 45 TUIConversation-TUIConversation_Privacy.xcscheme isShown - orderHint - 48 TUIConversation.xcscheme isShown - orderHint - 47 TUICore-TUICore_Privacy.xcscheme isShown - orderHint - 50 TUICore.xcscheme isShown - orderHint - 49 TXIMSDK_Plus_iOS_XCFramework-TXIMSDK_Plus_iOS_XCFramework_Privacy.xcscheme isShown - orderHint - 52 TXIMSDK_Plus_iOS_XCFramework.xcscheme isShown - orderHint - 51 TZImagePickerController.xcscheme isShown - orderHint - 53 TencentCloudHuiyanSDKFace_framework.xcscheme isShown - orderHint - 40 WechatOpenSDK-XCFramework.xcscheme isShown - orderHint - 54 YBImageBrowser.xcscheme isShown - orderHint - 55 YYCache.xcscheme isShown - orderHint - 56 YYCategories.xcscheme isShown - orderHint - 57 YYImage.xcscheme isShown - orderHint - 58 YYModel.xcscheme isShown - orderHint - 59 YYText.xcscheme isShown - orderHint - 60 YYWebImage.xcscheme isShown - orderHint - 61 Zip.xcscheme isShown - orderHint - 62 libwebp.xcscheme isShown - orderHint - 21 SuppressBuildableAutocreation diff --git a/QXLive.xcodeproj/project.pbxproj b/QXLive.xcodeproj/project.pbxproj index f6b5841..24b83d9 100644 --- a/QXLive.xcodeproj/project.pbxproj +++ b/QXLive.xcodeproj/project.pbxproj @@ -7,14 +7,15 @@ objects = { /* Begin PBXBuildFile section */ - 78070522CA904B290E0D5B8D /* (null) in Frameworks */ = {isa = PBXBuildFile; }; + 95946C092E56B76F00ECFA94 /* Pods_QXLive.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95946C082E56B76F00ECFA94 /* Pods_QXLive.framework */; }; + 95946C0B2E56B78700ECFA94 /* Pods_QXLiveDev.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95946C0A2E56B78700ECFA94 /* Pods_QXLiveDev.framework */; }; + 95946C0C2E56B9FA00ECFA94 /* QXLiveScreenDev.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 95C3274A2E4C4068004B2D82 /* QXLiveScreenDev.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; 95C29E9E2E19166700F2524D /* ReplayKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95C2925B2E18BBF800F2524D /* ReplayKit.framework */; }; 95C29EA62E19166700F2524D /* QXLiveScreen.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 95C29E9D2E19166700F2524D /* QXLiveScreen.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; 95C29EAB2E19173300F2524D /* AgoraReplayKitExtension.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95C292A42E18ED0C00F2524D /* AgoraReplayKitExtension.xcframework */; }; 95C29EAD2E191D6800F2524D /* ReplayKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95C2925B2E18BBF800F2524D /* ReplayKit.framework */; }; 95C327442E4C4068004B2D82 /* AgoraReplayKitExtension.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95C292A42E18ED0C00F2524D /* AgoraReplayKitExtension.xcframework */; }; 95C327452E4C4068004B2D82 /* ReplayKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95C2925B2E18BBF800F2524D /* ReplayKit.framework */; }; - 95C327502E4C40AB004B2D82 /* QXLiveScreenDev.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 95C3274A2E4C4068004B2D82 /* QXLiveScreenDev.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; 95C3EFEF2E49F44A004B2D82 /* ReplayKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95C2925B2E18BBF800F2524D /* ReplayKit.framework */; }; 95C3EFF02E49F44A004B2D82 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 95F205062DEF0AD20031E710 /* libz.tbd */; }; 95C3EFF12E49F44A004B2D82 /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95F205042DEF0AC20031E710 /* CoreTelephony.framework */; }; @@ -23,10 +24,6 @@ 95C3EFF42E49F44A004B2D82 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95F204FE2DEF0AB20031E710 /* SystemConfiguration.framework */; }; 95C3EFF52E49F44A004B2D82 /* libiconv.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 95F204FC2DEF0AAC0031E710 /* libiconv.tbd */; }; 95C3EFF62E49F44A004B2D82 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95F204FA2DEF0AA10031E710 /* Security.framework */; }; - 95C3EFF72E49F44A004B2D82 /* (null) in Frameworks */ = {isa = PBXBuildFile; }; - 95C3EFF82E49F44A004B2D82 /* (null) in Frameworks */ = {isa = PBXBuildFile; }; - 95C3EFF92E49F44A004B2D82 /* Pods_QXLive.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 98CA0F917710DFFD98725970 /* Pods_QXLive.framework */; }; - 95C3F2602E49F6E7004B2D82 /* AgoraReplayKitExtension.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95C292A42E18ED0C00F2524D /* AgoraReplayKitExtension.xcframework */; }; 95F204FB2DEF0AA10031E710 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95F204FA2DEF0AA10031E710 /* Security.framework */; }; 95F204FD2DEF0AAC0031E710 /* libiconv.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 95F204FC2DEF0AAC0031E710 /* libiconv.tbd */; }; 95F204FF2DEF0AB20031E710 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95F204FE2DEF0AB20031E710 /* SystemConfiguration.framework */; }; @@ -34,8 +31,6 @@ 95F205032DEF0ABD0031E710 /* libsqlite3.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 95F205022DEF0ABD0031E710 /* libsqlite3.tbd */; }; 95F205052DEF0AC20031E710 /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95F205042DEF0AC20031E710 /* CoreTelephony.framework */; }; 95F205072DEF0AD20031E710 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 95F205062DEF0AD20031E710 /* libz.tbd */; }; - A1B3F48CEADC04AE7D5AE48B /* Pods_QXLive.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 98CA0F917710DFFD98725970 /* Pods_QXLive.framework */; }; - C5F9FD21F2F63A6022CAAF48 /* (null) in Frameworks */ = {isa = PBXBuildFile; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -53,6 +48,13 @@ remoteGlobalIDString = 9593D7162DB9C95C0082CA57; remoteInfo = QXLive; }; + 95946C0D2E56BA0000ECFA94 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 9593D70F2DB9C95C0082CA57 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 95C327412E4C4068004B2D82; + remoteInfo = QXLiveScreenDev; + }; 95C29EA42E19166700F2524D /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 9593D70F2DB9C95C0082CA57 /* Project object */; @@ -60,13 +62,6 @@ remoteGlobalIDString = 95C29E9C2E19166700F2524D; remoteInfo = QXLiveScreen; }; - 95C3274E2E4C4099004B2D82 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 9593D70F2DB9C95C0082CA57 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 95C327412E4C4068004B2D82; - remoteInfo = QXLiveScreenDev; - }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -87,7 +82,7 @@ dstPath = ""; dstSubfolderSpec = 13; files = ( - 95C327502E4C40AB004B2D82 /* QXLiveScreenDev.appex in Embed Foundation Extensions */, + 95946C0C2E56B9FA00ECFA94 /* QXLiveScreenDev.appex in Embed Foundation Extensions */, ); name = "Embed Foundation Extensions"; runOnlyForDeploymentPostprocessing = 0; @@ -97,9 +92,16 @@ /* Begin PBXFileReference section */ 2D163E917E90CDC07837F1A7 /* Pods_QXLiveDev.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_QXLiveDev.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 7270179B583CF68223E0AC0A /* Pods-QXLiveDev.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-QXLiveDev.debug.xcconfig"; path = "Target Support Files/Pods-QXLiveDev/Pods-QXLiveDev.debug.xcconfig"; sourceTree = ""; }; + 9537146C2E56B56C00569E1E /* CoreAudioTypes.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudioTypes.framework; path = System/Library/Frameworks/CoreAudioTypes.framework; sourceTree = SDKROOT; }; + 9537146F2E56B59100569E1E /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; + 953714712E56B59B00569E1E /* CoreAudioKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudioKit.framework; path = System/Library/Frameworks/CoreAudioKit.framework; sourceTree = SDKROOT; }; + 953714732E56B5BA00569E1E /* libswiftCoreAudio.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libswiftCoreAudio.tbd; path = usr/lib/swift/libswiftCoreAudio.tbd; sourceTree = SDKROOT; }; 9593D7172DB9C95C0082CA57 /* QXLive.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = QXLive.app; sourceTree = BUILT_PRODUCTS_DIR; }; 9593D7322DB9C95E0082CA57 /* QXLiveTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = QXLiveTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 9593D73C2DB9C95E0082CA57 /* QXLiveUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = QXLiveUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 959466212E56B6E500ECFA94 /* Pods_QXLiveDev.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Pods_QXLiveDev.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 95946C082E56B76F00ECFA94 /* Pods_QXLive.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Pods_QXLive.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 95946C0A2E56B78700ECFA94 /* Pods_QXLiveDev.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Pods_QXLiveDev.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 95C2925B2E18BBF800F2524D /* ReplayKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ReplayKit.framework; path = System/Library/Frameworks/ReplayKit.framework; sourceTree = SDKROOT; }; 95C292682E18BBF800F2524D /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; 95C292A42E18ED0C00F2524D /* AgoraReplayKitExtension.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = AgoraReplayKitExtension.xcframework; path = Pods/AgoraRtcEngine_iOS/AgoraReplayKitExtension.xcframework; sourceTree = ""; }; @@ -118,7 +120,6 @@ 95F205022DEF0ABD0031E710 /* libsqlite3.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libsqlite3.tbd; path = usr/lib/libsqlite3.tbd; sourceTree = SDKROOT; }; 95F205042DEF0AC20031E710 /* CoreTelephony.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreTelephony.framework; path = System/Library/Frameworks/CoreTelephony.framework; sourceTree = SDKROOT; }; 95F205062DEF0AD20031E710 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; }; - 98CA0F917710DFFD98725970 /* Pods_QXLive.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_QXLive.framework; sourceTree = BUILT_PRODUCTS_DIR; }; C9712338C60B86BE40C57C07 /* Pods-QXLiveDev.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-QXLiveDev.release.xcconfig"; path = "Target Support Files/Pods-QXLiveDev/Pods-QXLiveDev.release.xcconfig"; sourceTree = ""; }; DB46C80395B0DD337551A591 /* Pods-QXLive.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-QXLive.release.xcconfig"; path = "Target Support Files/Pods-QXLive/Pods-QXLive.release.xcconfig"; sourceTree = ""; }; F5E37D2ED830731B446A7058 /* Pods-QXLive.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-QXLive.debug.xcconfig"; path = "Target Support Files/Pods-QXLive/Pods-QXLive.debug.xcconfig"; sourceTree = ""; }; @@ -152,14 +153,6 @@ membershipExceptions = ( Info.plist, Other/Info.plist, - Other/QXHelper.swift, - ); - target = 95C3EFE92E49F44A004B2D82 /* QXLiveDev */; - }; - 95C3F25C2E49F646004B2D82 /* Exceptions for "QXLiveScreen" folder in "QXLiveDev" target */ = { - isa = PBXFileSystemSynchronizedBuildFileExceptionSet; - membershipExceptions = ( - SampleHandler.m, ); target = 95C3EFE92E49F44A004B2D82 /* QXLiveDev */; }; @@ -189,7 +182,6 @@ isa = PBXFileSystemSynchronizedRootGroup; exceptions = ( 95C29EAA2E19166700F2524D /* Exceptions for "QXLiveScreen" folder in "QXLiveScreen" target */, - 95C3F25C2E49F646004B2D82 /* Exceptions for "QXLiveScreen" folder in "QXLiveDev" target */, 95C3274B2E4C4068004B2D82 /* Exceptions for "QXLiveScreen" folder in "QXLiveScreenDev" target */, ); path = QXLiveScreen; @@ -202,6 +194,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 95946C092E56B76F00ECFA94 /* Pods_QXLive.framework in Frameworks */, 95C29EAD2E191D6800F2524D /* ReplayKit.framework in Frameworks */, 95F205072DEF0AD20031E710 /* libz.tbd in Frameworks */, 95F205052DEF0AC20031E710 /* CoreTelephony.framework in Frameworks */, @@ -210,9 +203,6 @@ 95F204FF2DEF0AB20031E710 /* SystemConfiguration.framework in Frameworks */, 95F204FD2DEF0AAC0031E710 /* libiconv.tbd in Frameworks */, 95F204FB2DEF0AA10031E710 /* Security.framework in Frameworks */, - 78070522CA904B290E0D5B8D /* (null) in Frameworks */, - C5F9FD21F2F63A6022CAAF48 /* (null) in Frameworks */, - A1B3F48CEADC04AE7D5AE48B /* Pods_QXLive.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -252,7 +242,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 95C3F2602E49F6E7004B2D82 /* AgoraReplayKitExtension.xcframework in Frameworks */, + 95946C0B2E56B78700ECFA94 /* Pods_QXLiveDev.framework in Frameworks */, 95C3EFEF2E49F44A004B2D82 /* ReplayKit.framework in Frameworks */, 95C3EFF02E49F44A004B2D82 /* libz.tbd in Frameworks */, 95C3EFF12E49F44A004B2D82 /* CoreTelephony.framework in Frameworks */, @@ -261,9 +251,6 @@ 95C3EFF42E49F44A004B2D82 /* SystemConfiguration.framework in Frameworks */, 95C3EFF52E49F44A004B2D82 /* libiconv.tbd in Frameworks */, 95C3EFF62E49F44A004B2D82 /* Security.framework in Frameworks */, - 95C3EFF72E49F44A004B2D82 /* (null) in Frameworks */, - 95C3EFF82E49F44A004B2D82 /* (null) in Frameworks */, - 95C3EFF92E49F44A004B2D82 /* Pods_QXLive.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -284,6 +271,13 @@ 4B6F40DB8328A2B2BB1BF79D /* Frameworks */ = { isa = PBXGroup; children = ( + 95946C0A2E56B78700ECFA94 /* Pods_QXLiveDev.framework */, + 95946C082E56B76F00ECFA94 /* Pods_QXLive.framework */, + 959466212E56B6E500ECFA94 /* Pods_QXLiveDev.framework */, + 953714732E56B5BA00569E1E /* libswiftCoreAudio.tbd */, + 953714712E56B59B00569E1E /* CoreAudioKit.framework */, + 9537146F2E56B59100569E1E /* CoreAudio.framework */, + 9537146C2E56B56C00569E1E /* CoreAudioTypes.framework */, 95C292AE2E18ED6300F2524D /* Accelerate.framework */, 95C292AB2E18ED4A00F2524D /* MetalKit.framework */, 95C292A92E18ED3C00F2524D /* libc++.tbd */, @@ -299,7 +293,6 @@ 2D163E917E90CDC07837F1A7 /* Pods_QXLiveDev.framework */, 95C2925B2E18BBF800F2524D /* ReplayKit.framework */, 95C292682E18BBF800F2524D /* UIKit.framework */, - 98CA0F917710DFFD98725970 /* Pods_QXLive.framework */, ); name = Frameworks; sourceTree = ""; @@ -456,7 +449,7 @@ buildRules = ( ); dependencies = ( - 95C3274F2E4C4099004B2D82 /* PBXTargetDependency */, + 95946C0E2E56BA0000ECFA94 /* PBXTargetDependency */, ); fileSystemSynchronizedGroups = ( 9593D7192DB9C95C0082CA57 /* QXLive */, @@ -618,7 +611,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-QXLive-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-QXLiveDev-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -631,15 +624,15 @@ files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-QXLive/Pods-QXLive-frameworks-${CONFIGURATION}-input-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-QXLiveDev/Pods-QXLiveDev-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-QXLive/Pods-QXLive-frameworks-${CONFIGURATION}-output-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-QXLiveDev/Pods-QXLiveDev-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-QXLive/Pods-QXLive-frameworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-QXLiveDev/Pods-QXLiveDev-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; 95C3EFFC2E49F44A004B2D82 /* [CP] Copy Pods Resources */ = { @@ -648,15 +641,15 @@ files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-QXLive/Pods-QXLive-resources-${CONFIGURATION}-input-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-QXLiveDev/Pods-QXLiveDev-resources-${CONFIGURATION}-input-files.xcfilelist", ); name = "[CP] Copy Pods Resources"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-QXLive/Pods-QXLive-resources-${CONFIGURATION}-output-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-QXLiveDev/Pods-QXLiveDev-resources-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-QXLive/Pods-QXLive-resources.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-QXLiveDev/Pods-QXLiveDev-resources.sh\"\n"; showEnvVarsInLog = 0; }; E69B725D5CF59CD6582C8AA8 /* [CP] Embed Pods Frameworks */ = { @@ -734,16 +727,16 @@ target = 9593D7162DB9C95C0082CA57 /* QXLive */; targetProxy = 9593D73D2DB9C95E0082CA57 /* PBXContainerItemProxy */; }; + 95946C0E2E56BA0000ECFA94 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 95C327412E4C4068004B2D82 /* QXLiveScreenDev */; + targetProxy = 95946C0D2E56BA0000ECFA94 /* PBXContainerItemProxy */; + }; 95C29EA52E19166700F2524D /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 95C29E9C2E19166700F2524D /* QXLiveScreen */; targetProxy = 95C29EA42E19166700F2524D /* PBXContainerItemProxy */; }; - 95C3274F2E4C4099004B2D82 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 95C327412E4C4068004B2D82 /* QXLiveScreenDev */; - targetProxy = 95C3274E2E4C4099004B2D82 /* PBXContainerItemProxy */; - }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ @@ -1158,7 +1151,7 @@ }; 95C3F0002E49F44A004B2D82 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F5E37D2ED830731B446A7058 /* Pods-QXLive.debug.xcconfig */; + baseConfigurationReference = 7270179B583CF68223E0AC0A /* Pods-QXLiveDev.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; @@ -1200,6 +1193,10 @@ "$(inherited)", "@executable_path/Frameworks", ); + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(SDKROOT)/usr/lib/swift", + ); MARKETING_VERSION = 1.0.0; PRODUCT_BUNDLE_IDENTIFIER = com.qxcm.qxlive.test; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1218,7 +1215,7 @@ }; 95C3F0012E49F44A004B2D82 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DB46C80395B0DD337551A591 /* Pods-QXLive.release.xcconfig */; + baseConfigurationReference = C9712338C60B86BE40C57C07 /* Pods-QXLiveDev.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; @@ -1260,6 +1257,10 @@ "$(inherited)", "@executable_path/Frameworks", ); + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(SDKROOT)/usr/lib/swift", + ); MARKETING_VERSION = 1.0.0; PRODUCT_BUNDLE_IDENTIFIER = com.qxcm.qxlive.test; PRODUCT_NAME = "$(TARGET_NAME)"; diff --git a/QXLive.xcworkspace/xcuserdata/qixing.xcuserdatad/UserInterfaceState.xcuserstate b/QXLive.xcworkspace/xcuserdata/qixing.xcuserdatad/UserInterfaceState.xcuserstate index 97baae5..64f95ff 100644 Binary files a/QXLive.xcworkspace/xcuserdata/qixing.xcuserdatad/UserInterfaceState.xcuserstate and b/QXLive.xcworkspace/xcuserdata/qixing.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/QXLive.xcworkspace/xcuserdata/qixing.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/QXLive.xcworkspace/xcuserdata/qixing.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist index 70fa8eb..b84a6f9 100644 --- a/QXLive.xcworkspace/xcuserdata/qixing.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/QXLive.xcworkspace/xcuserdata/qixing.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -26,8 +26,8 @@ filePath = "QXLive/Config/QXRoomMessageManager.m" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "627" - endingLineNumber = "627" + startingLineNumber = "680" + endingLineNumber = "680" landmarkName = "-sendC2CMessage:messageType:userId:" landmarkType = "7"> @@ -179,48 +179,32 @@ - - - - diff --git a/QXLive/Base/QXGlobal.h b/QXLive/Base/QXGlobal.h index 8c05d2b..2d70eef 100644 --- a/QXLive/Base/QXGlobal.h +++ b/QXLive/Base/QXGlobal.h @@ -15,16 +15,6 @@ typedef void (^closeBlock)(void); typedef void (^showFinishBlock)(void); -typedef NS_ENUM(NSInteger) { - /// 房主 - QXRoomRoleTypeOwner = 0, - /// 主持 - QXRoomRoleTypeCompere, - /// 管理员 - QXRoomRoleTypeManager, - /// 观众 - QXRoomRoleTypeAudience, -}QXRoomRoleType; @interface QXGlobal : NSObject diff --git a/QXLive/Base/QXGlobal.m b/QXLive/Base/QXGlobal.m index 66f9604..f024fe0 100644 --- a/QXLive/Base/QXGlobal.m +++ b/QXLive/Base/QXGlobal.m @@ -263,6 +263,9 @@ [[QXAgoraEngine sharedEngine] destroyEngine]; /// 退出直播群 [[QXRoomMessageManager shared] quitGroupWithRoomId:roomId]; + if (_roomVC) { + [_roomVC.seatContentView destroyViews]; + } self.roomId = nil; _roomVC = nil; /// 业务http退出 diff --git a/QXLive/Config/QXRoomMessageManager.h b/QXLive/Config/QXRoomMessageManager.h index b50bc01..2bcd6df 100644 --- a/QXLive/Config/QXRoomMessageManager.h +++ b/QXLive/Config/QXRoomMessageManager.h @@ -8,6 +8,7 @@ #import #import "QXRoomChatListView.h" #import "QXRoomModel.h" +#import "QXRoomFriendRelationModel.h" typedef NS_ENUM(NSInteger) { /// 清空消息 @@ -98,6 +99,21 @@ typedef NS_ENUM(NSInteger) { QXRoomMessageTypeRoomBlindBox = 1038, /// 房间已被封禁 QXRoomMessageTypeRoomDidFire = 1039, + + /// 交友房阶段发生变化 + QXRoomMessageTypeRoomFriendPartDidChanged = 1049, + /// 交友房时间发生延时 + QXRoomMessageTypeRoomFriendDelayTime = 1050, + /// 交友房卡关系完成 + QXRoomMessageTypeRoomFriendCreateRelation = 1051, + /// 私密小屋结束时间发生延时 + QXRoomMessageTypeCabinTimeDelay = 1052, + /// 麦位发生变化 + QXRoomMessageTypeSeatDidChanged = 1053, + /// 心动值发生变化 + QXRoomMessageTypeHeartDidChanged = 1054, + /// 交友房私密小屋有人退出房间 + QXRoomMessageTypeFriendRoomQuit = 1055, }QXRoomMessageType; NS_ASSUME_NONNULL_BEGIN @protocol QXRoomMessageManagerDelegate @@ -195,7 +211,23 @@ NS_ASSUME_NONNULL_BEGIN /// 查询用户状态 --(void)getUserStatusWithUsers:(NSArray *)users; +//-(void)getUserStatusWithUsers:(NSArray *)users; + +/// 交友房 +/// 交友房阶段发生变化 step 阶段 1等待 2心动 3牵手 friend_id 场次id +-(void)friendPartDidChangedWithType:(NSString*)step friend_id:(NSString*)friend_id end_time:(NSString*)end_time relationModel:(QXRoomFriendRelationModel*)relationModel; +/// 交友房时间发生延时 end_time 截止时间 +-(void)friendTimeDelayWithTime:(NSString*)end_time; +/// 交友房麦位发生变化 +-(void)friendSeatDidChanged:(NSArray*)pitArray; +/// 心动值发生变化 +-(void)friendHeartNumberDidChanged:(NSArray*)heartArray; +/// 关系创建完成 +-(void)friendRelationIsCreatedWithrelationModel:(QXRoomFriendRelationModel*)relationModel; +/// 有人退出交友房私密小屋 +-(void)friendCabinRoomIsQuit; +/// 私密小屋时间发生延时 +-(void)friendCabinRoomTimeDelayWithTime:(NSString*)end_time; @end @interface QXRoomMessageManager : NSObject diff --git a/QXLive/Config/QXRoomMessageManager.m b/QXLive/Config/QXRoomMessageManager.m index 604b59c..56a25c7 100644 --- a/QXLive/Config/QXRoomMessageManager.m +++ b/QXLive/Config/QXRoomMessageManager.m @@ -486,7 +486,7 @@ case QXRoomMessageTypeRoomBlindBox:{ QXRoomChatListModel *model = [QXRoomChatListModel yy_modelWithJSON:msg.Text]; - model.messageType = QXRoomChatMessageTypeChat; + model.messageType = QXRoomChatMessageTypeGift; if (self.delegate && [self.delegate respondsToSelector:@selector(didInsertMessge:)]) { [self.delegate didInsertMessge:model]; } @@ -498,6 +498,59 @@ if (self.delegate && [self.delegate respondsToSelector:@selector(roomUserInfoDidChanged:)]) { [self.delegate roomUserInfoDidChanged:model.FromUserInfo]; } + } + break; + /// 交友房 + case QXRoomMessageTypeRoomFriendPartDidChanged:{ + QXRoomChatListModel *model = [QXRoomChatListModel yy_modelWithJSON:msg.Text]; + if (self.delegate && [self.delegate respondsToSelector:@selector(friendPartDidChangedWithType:friend_id:end_time:relationModel:)]) { + [self.delegate friendPartDidChangedWithType:model.step friend_id:model.friend_id end_time:model.end_time relationModel:model.friend_user]; + } + if (self.delegate && [self.delegate respondsToSelector:@selector(didInsertMessge:)]) { + model.messageType = QXRoomChatMessageTypeSystem; + [self.delegate didInsertMessge:model]; + } + } + break; + case QXRoomMessageTypeRoomFriendDelayTime:{ + NSString *end_time = [NSString stringWithFormat:@"%@",msg.Text[@"end_time"]]; + if (self.delegate && [self.delegate respondsToSelector:@selector(friendTimeDelayWithTime:)]) { + [self.delegate friendTimeDelayWithTime:end_time]; + } + } + break; + case QXRoomMessageTypeSeatDidChanged:{ + NSArray *pitArray = [NSArray yy_modelArrayWithClass:[QXRoomPitModel class] json:msg.Text[@"list"]]; + if (self.delegate && [self.delegate respondsToSelector:@selector(friendSeatDidChanged:)]) { + [self.delegate friendSeatDidChanged:pitArray]; + } + } + break; + case QXRoomMessageTypeHeartDidChanged:{ + NSArray *heartArray = [NSArray yy_modelArrayWithClass:[QXRoomFriendHeartListModel class] json:msg.Text[@"list"]]; + if (self.delegate && [self.delegate respondsToSelector:@selector(friendHeartNumberDidChanged:)]) { + [self.delegate friendHeartNumberDidChanged:heartArray]; + } + } + break; + case QXRoomMessageTypeRoomFriendCreateRelation:{ + QXRoomFriendRelationModel *relationModel = [QXRoomFriendRelationModel yy_modelWithJSON:msg.Text[@"relation"]]; + if (self.delegate && [self.delegate respondsToSelector:@selector(friendRelationIsCreatedWithrelationModel:)]) { + [self.delegate friendRelationIsCreatedWithrelationModel:relationModel]; + } + } + break; + case QXRoomMessageTypeFriendRoomQuit:{ + if (self.delegate && [self.delegate respondsToSelector:@selector(friendCabinRoomIsQuit)]) { + [self.delegate friendCabinRoomIsQuit]; + } + } + break; + case QXRoomMessageTypeCabinTimeDelay:{ + NSString *end_time = [NSString stringWithFormat:@"%@",msg.Text[@"time_day"]]; + if (self.delegate && [self.delegate respondsToSelector:@selector(friendCabinRoomTimeDelayWithTime:)]) { + [self.delegate friendCabinRoomTimeDelayWithTime:end_time]; + } } break; default: diff --git a/QXLive/Dynamic(语圈)/View/QXSendGiftView.h b/QXLive/Dynamic(语圈)/View/QXSendGiftView.h index 0fce55d..2e3119e 100644 --- a/QXLive/Dynamic(语圈)/View/QXSendGiftView.h +++ b/QXLive/Dynamic(语圈)/View/QXSendGiftView.h @@ -18,6 +18,8 @@ typedef NS_ENUM(NSInteger) { QXSendGiftViewTypeRoom , /// 拍卖 QXSendGiftViewTypeAuction , + /// 交友房 + QXSendGiftViewTypeFriend , }QXSendGiftViewType; NS_ASSUME_NONNULL_BEGIN @@ -41,10 +43,12 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic,strong)NSString* dynamicId; /// 拍卖id @property (nonatomic,strong)NSString* auctionId; +/// 交友房助力id +@property (nonatomic,strong)NSString* heartId; @property (nonatomic,copy)void(^sendSuccessBlock)(NSString*dynamicId); -@property (nonatomic,copy)void(^roomSendSuccessBlock)(BOOL isAuction, QXGiftModel*giftModel,NSString*userId, NSString*auctionId); +@property (nonatomic,copy)void(^roomSendSuccessBlock)(QXSendGiftViewType sendType, QXGiftModel*giftModel,NSString*userId, NSString*optionId); -(void)reloadData; -(void)showInView:(UIView *)view; @@ -107,9 +111,10 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic,strong)UIButton *sendBtn; @property (nonatomic,strong)QXGiftModel *giftModel; -@property (nonatomic,assign)BOOL isAuction; +@property (nonatomic,assign)QXSendGiftViewType sendType; @property (nonatomic,strong)NSString *userId; @property (nonatomic,strong)NSString *auctionId; +@property (nonatomic,strong)NSString *heartId; @property (nonatomic,strong)NSString *roomId; @property (nonatomic,strong)CABasicAnimation *animation; diff --git a/QXLive/Dynamic(语圈)/View/QXSendGiftView.m b/QXLive/Dynamic(语圈)/View/QXSendGiftView.m index 79c3650..671559c 100644 --- a/QXLive/Dynamic(语圈)/View/QXSendGiftView.m +++ b/QXLive/Dynamic(语圈)/View/QXSendGiftView.m @@ -100,7 +100,8 @@ } break; case QXSendGiftViewTypeRoom: - case QXSendGiftViewTypeAuction:{ + case QXSendGiftViewTypeAuction: + case QXSendGiftViewTypeFriend:{ if (_userListView) { [_userListView removeFromSuperview]; _userListView = nil; @@ -295,28 +296,44 @@ showToast(@"请选择送礼对象"); return; } + self.heartId = @""; + self.auctionId = @""; /// 2为背包 NSString *userId = [self.pitUserListView.selectedArray componentsJoinedByString:@","]; NSString *type = self.categoryView.selectedIndex==0?@"2":@"1"; - [QXMineNetwork roomSendGiftWithRoomId:self.roomId gift_id:self.giftModel.gift_id gift_num:self.giftCount to_uid:userId type:type pit_number:@"" successBlock:^(NSDictionary * _Nonnull dict) { + [QXMineNetwork roomSendGiftWithRoomId:self.roomId gift_id:self.giftModel.gift_id gift_num:self.giftCount to_uid:userId heart_id:self.heartId type:type pit_number:@"" successBlock:^(NSDictionary * _Nonnull dict) { [weakSelf hide]; if (weakSelf.roomSendSuccessBlock) { - weakSelf.roomSendSuccessBlock(NO,weakSelf.giftModel,userId,@""); + weakSelf.roomSendSuccessBlock(self.type,weakSelf.giftModel,userId,@""); } } failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) { showToast(msg) }]; }else if (self.type == QXSendGiftViewTypeAuction) { + self.heartId = @""; /// 2为背包 NSString *type = self.categoryView.selectedIndex==0?@"2":@"1"; [QXMineNetwork roomAuctionJoinWithAuctionId:self.auctionId user_id:[QXGlobal shareGlobal].loginModel.user_id gift_id:self.giftModel.gift_id num:self.giftCount type:type successBlock:^(NSDictionary * _Nonnull dict) { [weakSelf hide]; if (weakSelf.roomSendSuccessBlock) { - weakSelf.roomSendSuccessBlock(YES,weakSelf.giftModel,[QXGlobal shareGlobal].loginModel.user_id,weakSelf.auctionId); + weakSelf.roomSendSuccessBlock(self.type,weakSelf.giftModel,[QXGlobal shareGlobal].loginModel.user_id,weakSelf.auctionId); } } failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) { showToast(msg); }]; + }else if (self.type == QXSendGiftViewTypeFriend) { + self.auctionId = @""; + /// 2为背包 + NSString *userId = [self.pitUserListView.selectedArray componentsJoinedByString:@","]; + NSString *type = self.categoryView.selectedIndex==0?@"2":@"1"; + [QXMineNetwork roomSendGiftWithRoomId:self.roomId gift_id:self.giftModel.gift_id gift_num:self.giftCount to_uid:userId heart_id:self.heartId type:type pit_number:@"" successBlock:^(NSDictionary * _Nonnull dict) { + [weakSelf hide]; + if (weakSelf.roomSendSuccessBlock) { + weakSelf.roomSendSuccessBlock(self.type,weakSelf.giftModel,userId,weakSelf.heartId); + } + } failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) { + showToast(msg) + }]; }else{ /// 2为背包 NSString *type = self.categoryView.selectedIndex==0?@"2":@"1"; @@ -996,20 +1013,31 @@ _animation = nil; [self.circleLayer addAnimation:self.animation forKey:@"circleAnimation"]; [[QXGlobal shareGlobal] vibrationFeedback]; - if (self.isAuction) { - [QXMineNetwork roomAuctionJoinWithAuctionId:self.auctionId user_id:self.userId gift_id:self.giftModel.gift_id num:@"1" type:@"1" successBlock:^(NSDictionary * _Nonnull dict) { - - } failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) { - showToast(msg) - }]; - }else{ - [QXMineNetwork roomSendGiftWithRoomId:self.roomId gift_id:self.giftModel.gift_id gift_num:@"1" to_uid:self.userId type:@"1" pit_number:@"" successBlock:^(NSDictionary * _Nonnull dict) { - - } failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) { - showToast(msg) - }]; - } - + switch (self.sendType) { + case QXSendGiftViewTypeRoom: + [QXMineNetwork roomSendGiftWithRoomId:self.roomId gift_id:self.giftModel.gift_id gift_num:@"1" to_uid:self.userId heart_id:self.heartId type:@"1" pit_number:@"" successBlock:^(NSDictionary * _Nonnull dict) { + + } failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) { + showToast(msg) + }]; + break; + case QXSendGiftViewTypeAuction: + [QXMineNetwork roomAuctionJoinWithAuctionId:self.auctionId user_id:self.userId gift_id:self.giftModel.gift_id num:@"1" type:@"1" successBlock:^(NSDictionary * _Nonnull dict) { + + } failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) { + showToast(msg) + }]; + break; + case QXSendGiftViewTypeFriend: + [QXMineNetwork roomSendGiftWithRoomId:self.roomId gift_id:self.giftModel.gift_id gift_num:@"1" to_uid:self.userId heart_id:self.heartId type:@"1" pit_number:@"" successBlock:^(NSDictionary * _Nonnull dict) { + + } failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) { + showToast(msg) + }]; + break; + default: + break; + } } -(CABasicAnimation *)animation{ if (!_animation) { diff --git a/QXLive/HomePage(声播)/Controlller/QXRankHomeSubVC.m b/QXLive/HomePage(声播)/Controlller/QXRankHomeSubVC.m index c4e82cd..55c41d1 100644 --- a/QXLive/HomePage(声播)/Controlller/QXRankHomeSubVC.m +++ b/QXLive/HomePage(声播)/Controlller/QXRankHomeSubVC.m @@ -15,6 +15,7 @@ #import "QXRankCPListCell.h" #import "QXRankCPTopThreeView.h" #import "QXHomePageNetwork.h" +#import "QXUserHomePageViewController.h" @interface QXRankHomeSubVC () @property (nonatomic,strong)QXRankTypeView *rankTypeView; @@ -189,6 +190,19 @@ } } -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ + QXMyRankModel *model = self.dataArray[indexPath.row]; +// if (self.rankType == 0) { +// if ([model.room_id isExist]) { +// [[QXGlobal shareGlobal] joinRoomWithRoomId:model.room_id isRejoin:NO navagationController:self.navigationController]; +// } +// return; +// } + if (self.rankType == 1 || self.rankType == 2) { + QXUserHomePageViewController *vc = [[QXUserHomePageViewController alloc] init]; + vc.user_id = model.user_id; + [self.navigationController pushViewController:vc animated:YES]; + return; + } // if (self.rankType != 4) {//CP // QXHomeRoomListModel *model = self.dataArray[indexPath.row]; // SRPersonalViewController *pvc = [[SRPersonalViewController alloc] initWithUserId:[model.user_id longLongValue]]; diff --git a/QXLive/HomePage(声播)/Controlller/房间/QXRoomViewController+Friend.h b/QXLive/HomePage(声播)/Controlller/房间/QXRoomViewController+Friend.h new file mode 100644 index 0000000..bffa268 --- /dev/null +++ b/QXLive/HomePage(声播)/Controlller/房间/QXRoomViewController+Friend.h @@ -0,0 +1,22 @@ +// +// QXRoomViewController+Friend.h +// QXLive +// +// Created by 启星 on 2025/8/20. +// + +#import "QXRoomViewController.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface QXRoomViewController (Friend) +/// 重置麦位视图 +-(void)resetFriendViews; + +/// 交友房阶段发生变化 step 阶段 1等待 2心动 3牵手 friend_id 场次id +//-(void)friendPartDidChangedWithType:(NSString*)step friend_id:(NSString*)friend_id; +///// 交友房时间发生延时 end_time 截止时间 +//-(void)friendTimeDelayWithTime:(NSString*)end_time; +@end + +NS_ASSUME_NONNULL_END diff --git a/QXLive/HomePage(声播)/Controlller/房间/QXRoomViewController+Friend.m b/QXLive/HomePage(声播)/Controlller/房间/QXRoomViewController+Friend.m new file mode 100644 index 0000000..e8a9ec5 --- /dev/null +++ b/QXLive/HomePage(声播)/Controlller/房间/QXRoomViewController+Friend.m @@ -0,0 +1,87 @@ +// +// QXRoomViewController+Friend.m +// QXLive +// +// Created by 启星 on 2025/8/20. +// + +#import "QXRoomViewController+Friend.h" +#import "QXAgoraEngine.h" +@implementation QXRoomViewController (Friend) + +-(void)resetFriendViews{ + [self.seatContentView setType:QXRoomSeatViewTypeFriend]; + [self.seatContentView mas_remakeConstraints:^(MASConstraintMaker *make) { + make.left.right.equalTo(self.view); + make.top.mas_equalTo(self.titleView.bottom); + make.height.mas_equalTo(ScaleWidth(377)); + }]; + [self.chatListView mas_remakeConstraints:^(MASConstraintMaker *make) { + make.bottom.equalTo(self.bottomView.mas_top); + make.left.equalTo(self.view); + make.top.equalTo(self.seatContentView.mas_bottom); + // make.right.equalTo(self.soundBtn.mas_left).offset(-16); + make.width.mas_equalTo(ScaleWidth(280)); + }]; +} +-(void)friendPartDidChangedWithType:(NSString*)step friend_id:(NSString*)friend_id end_time:(NSString*)end_time relationModel:(nonnull QXRoomFriendRelationModel *)relationModel{ + [self.seatContentView friendPartDidChangedWithType:step friend_id:friend_id end_time:end_time relationModel:relationModel]; +} + +-(void)friendTimeDelayWithTime:(NSString *)end_time{ + [self.seatContentView friendTimeDelayWithTime:end_time]; +} +-(void)friendSeatDidChanged:(NSArray *)pitArray{ + BOOL haveMe = NO; + if (self.seatContentView.myPitNumber == 9 || self.seatContentView.myPitNumber == 10) { + haveMe = YES; + } + for (QXRoomPitModel*md in pitArray) { + if ([md.user_id isEqualToString:QXGlobal.shareGlobal.loginModel.user_id]) { + self.seatContentView.myPitNumber = md.pit_number.integerValue; + haveMe = YES; + break; + } + } + if (haveMe == NO) { + self.bottomView.status = 1; + [[QXAgoraEngine sharedEngine] setClientRoleBroadcaster:NO]; + }else{ + self.bottomView.status = 2; + if ([QXAgoraEngine sharedEngine].isOpenMic) { + [self.bottomView setMuteAudioStatus:1]; + }else{ + [self.bottomView setMuteAudioStatus:0]; + } + } + [self.seatContentView friendSeatDidChanged:pitArray]; +} +-(void)friendPowerSendGiftWithUser:(QXRoomPitModel *)user heartId:(NSString *)heartId{ + self.sendGiftView.type = QXSendGiftViewTypeFriend; + QXRoomPitModel *model = [[QXRoomPitModel alloc] init]; + model.pit_number = user.pit_number; + model.user_id = user.user_id; + model.nickname = user.nickname; + model.avatar = user.avatar; + self.sendGiftView.userModel = model; + self.sendGiftView.heartId = heartId; + self.sendGiftView.roomId = self.roomId; + [self.sendGiftView showInView:self.view]; +} +-(void)friendHeartNumberDidChanged:(NSArray *)heartArray{ + [self.seatContentView friendHeartNumberDidChanged:heartArray]; +} +/// 关系创建完成 +-(void)friendRelationIsCreatedWithrelationModel:(QXRoomFriendRelationModel*)relationModel{ + [self.seatContentView friendRelationIsCreatedWithrelationModel:relationModel]; +} +/// 有人退出交友房私密小屋 +-(void)friendCabinRoomIsQuit{ + [[QXGlobal shareGlobal] quitRoomWithRoomId:self.roomId]; + [self.navigationController popViewControllerAnimated:YES]; +} +/// 私密小屋时间发生延时 +-(void)friendCabinRoomTimeDelayWithTime:(NSString*)end_time{ + [self.seatContentView friendCabinRoomTimeDelayWithTime:end_time]; +} +@end diff --git a/QXLive/HomePage(声播)/Controlller/房间/QXRoomViewController.h b/QXLive/HomePage(声播)/Controlller/房间/QXRoomViewController.h index 57ca694..7b8dd9b 100644 --- a/QXLive/HomePage(声播)/Controlller/房间/QXRoomViewController.h +++ b/QXLive/HomePage(声播)/Controlller/房间/QXRoomViewController.h @@ -6,13 +6,33 @@ // #import "QXBaseViewController.h" - +#import "QXGlobal.h" +#import "QXRoomSeatView.h" +#import "QXRoomChatListView.h" +#import "QXRoomTitleView.h" +#import "QXRoomBottomView.h" +#import "QXRoomMessageManager.h" +#import "QXSendGiftView.h" NS_ASSUME_NONNULL_BEGIN -@interface QXRoomViewController : QXBaseViewController +@interface QXRoomViewController : QXBaseViewController @property (nonatomic,strong)NSString *roomId; /// 是否为最小化房间进来 @property (nonatomic,assign)BOOL isReJoin; + + +/// 麦位视图 +@property (nonatomic,strong)QXRoomSeatView *seatContentView; +/// 聊天列表 +@property (nonatomic,strong)QXRoomChatListView *chatListView; +/// 顶部房间信息 +@property (nonatomic,strong)QXRoomTitleView *titleView; +/// 底部工具栏 +@property (nonatomic,strong)QXRoomBottomView *bottomView; +/// 发送礼物 +@property (nonatomic,strong)QXSendGiftView *sendGiftView; + +-(void)configBottomTools; @end NS_ASSUME_NONNULL_END diff --git a/QXLive/HomePage(声播)/Controlller/房间/QXRoomViewController.m b/QXLive/HomePage(声播)/Controlller/房间/QXRoomViewController.m index c500beb..f169825 100644 --- a/QXLive/HomePage(声播)/Controlller/房间/QXRoomViewController.m +++ b/QXLive/HomePage(声播)/Controlller/房间/QXRoomViewController.m @@ -6,16 +6,10 @@ // #import "QXRoomViewController.h" -#import "QXRoomTitleView.h" -#import "QXRoomSeatView.h" -#import "QXRoomBottomView.h" -#import "QXRoomChatListView.h" #import "QXRoomSongListView.h" -#import "QXSendGiftView.h" #import "QXSoundListView.h" #import "QXUpSeatView.h" #import "QXMineNetwork.h" -#import "QXRoomMessageManager.h" #import "QXGiftPlayerManager.h" #import "QXAgoraEngine.h" #import "QXRoomSettingView.h" @@ -34,29 +28,18 @@ #import "QXReportViewController.h" #import "QXMessageViewController.h" #import "QXRoomSubsidyViewController.h" +#import "QXRoomViewController+Friend.h" @interface QXRoomViewController ()< QXRoomBottomViewDelegate, -QXRoomMessageManagerDelegate, QXRoomSettingViewDelegate, QXAgoraEngineMediaPlayerDelegate, -QXRoomSeatDelegate, QXRoomUserInfoViewDelegate > @property (nonatomic,strong)UIImageView *roomBgImageView; @property (nonatomic,strong)UIView *roomBgCoverView; -/// 顶部房间信息 -@property (nonatomic,strong)QXRoomTitleView *titleView; -/// 麦位视图 -@property (nonatomic,strong)QXRoomSeatView *seatContentView; -/// 底部工具栏 -@property (nonatomic,strong)QXRoomBottomView *bottomView; -/// 聊天列表 -@property (nonatomic,strong)QXRoomChatListView *chatListView; /// 点唱view @property (nonatomic,strong)QXRoomSongListView *songListView; -/// 发送礼物 -@property (nonatomic,strong)QXSendGiftView *sendGiftView; /// 声音特效 @property (nonatomic,strong)QXSoundListView *soundListView; /// 申请上麦 @@ -388,6 +371,9 @@ QXRoomUserInfoViewDelegate make.width.mas_equalTo(ScaleWidth(280)); }]; [self.view insertSubview:self.movieView atIndex:0]; + }else if (self.roomModel.room_info.type_id.intValue == 7) { + /// 交友房 + [self resetFriendViews]; } if (self.roomModel.room_info.last_pk_room_id.isExist) { @@ -542,9 +528,9 @@ QXRoomUserInfoViewDelegate if ((self.roomModel.room_info.type_id.intValue == 1 || self.roomModel.room_info.type_id.intValue == 3 || self.roomModel.room_info.type_id.intValue == 4) && self.roomModel.room_info.label_id.intValue == 1) { hasPK = YES; } - BOOL hasSong = YES; - if (self.roomModel.room_info.type_id.intValue == 2){ - hasSong = NO; + BOOL hasSong = NO; + if (self.roomModel.room_info.type_id.intValue == 1 || self.roomModel.room_info.type_id.intValue == 3 || self.roomModel.room_info.type_id.intValue == 4){ + hasSong = YES; } /// 普通麦位 if (self.seatContentView.myPitNumber <= 0) { @@ -1597,14 +1583,28 @@ QXRoomUserInfoViewDelegate _sendGiftView.roomId = self.roomId; // [_sendGiftView reloadData]; MJWeakSelf - _sendGiftView.roomSendSuccessBlock = ^(BOOL isAuction, QXGiftModel * _Nonnull giftModel, NSString * _Nonnull userId, NSString * _Nonnull auctionId) { + _sendGiftView.roomSendSuccessBlock = ^(QXSendGiftViewType sendType, QXGiftModel * _Nonnull giftModel, NSString * _Nonnull userId, NSString * _Nonnull optionId) { if (self->_continuousView == nil) { [weakSelf.view addSubview:weakSelf.continuousView]; } weakSelf.continuousView.giftModel = giftModel; - weakSelf.continuousView.isAuction = isAuction; + weakSelf.continuousView.sendType = sendType; weakSelf.continuousView.userId = userId; - weakSelf.continuousView.auctionId = auctionId; + switch (sendType) { + case QXSendGiftViewTypeFriend:{ + weakSelf.continuousView.heartId = optionId; + weakSelf.continuousView.auctionId = @""; + } + break; + case QXSendGiftViewTypeAuction:{ + weakSelf.continuousView.auctionId = optionId; + weakSelf.continuousView.heartId = @""; + } + break; + default: + break; + } + }; } return _sendGiftView; diff --git a/QXLive/HomePage(声播)/Model/QXRoomFriendRelationModel.h b/QXLive/HomePage(声播)/Model/QXRoomFriendRelationModel.h new file mode 100644 index 0000000..c01fd01 --- /dev/null +++ b/QXLive/HomePage(声播)/Model/QXRoomFriendRelationModel.h @@ -0,0 +1,28 @@ +// +// QXRoomFriendRelationModel.h +// QXLive +// +// Created by 启星 on 2025/8/21. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface QXRoomFriendRelationModel : NSObject +@property (nonatomic,strong)NSString *user1_id; +@property (nonatomic,strong)NSString *user1_avatar; +@property (nonatomic,strong)NSString *user1_nickname; + +@property (nonatomic,strong)NSString *user2_id; +@property (nonatomic,strong)NSString *user2_avatar; +@property (nonatomic,strong)NSString *user2_nickname; + +@property (nonatomic,strong)NSString *heart_value; +@property (nonatomic,strong)NSString *heart_id; + +@property (nonatomic,strong)NSString *room_id; +@property (nonatomic,strong)NSString *relation_name; +@end + +NS_ASSUME_NONNULL_END diff --git a/QXLive/HomePage(声播)/Model/QXRoomFriendRelationModel.m b/QXLive/HomePage(声播)/Model/QXRoomFriendRelationModel.m new file mode 100644 index 0000000..9cc4434 --- /dev/null +++ b/QXLive/HomePage(声播)/Model/QXRoomFriendRelationModel.m @@ -0,0 +1,12 @@ +// +// QXRoomFriendRelationModel.m +// QXLive +// +// Created by 启星 on 2025/8/21. +// + +#import "QXRoomFriendRelationModel.h" + +@implementation QXRoomFriendRelationModel + +@end diff --git a/QXLive/HomePage(声播)/View/房间/QXRoomBottomView.h b/QXLive/HomePage(声播)/View/房间/QXRoomBottomView.h index 0f60c2f..0b9acd5 100644 --- a/QXLive/HomePage(声播)/View/房间/QXRoomBottomView.h +++ b/QXLive/HomePage(声播)/View/房间/QXRoomBottomView.h @@ -7,6 +7,7 @@ #import #import "QXRoomModel.h" +#import "NoitceAndKey.h" typedef NS_ENUM(NSInteger) { /// 静音 diff --git a/QXLive/HomePage(声播)/View/房间/QXRoomChatListView.h b/QXLive/HomePage(声播)/View/房间/QXRoomChatListView.h index 74989dc..2dc2f62 100644 --- a/QXLive/HomePage(声播)/View/房间/QXRoomChatListView.h +++ b/QXLive/HomePage(声播)/View/房间/QXRoomChatListView.h @@ -10,6 +10,7 @@ #import "QXGiftModel.h" #import "QXSongListModel.h" #import "QXRoomSeatDelegate.h" +#import "QXRoomFriendRelationModel.h" NS_ASSUME_NONNULL_BEGIN typedef NS_ENUM(NSInteger) { @@ -80,5 +81,12 @@ typedef NS_ENUM(NSInteger) { @property (nonatomic,assign)BOOL havBubble; @property (nonatomic,strong)NSString* total; + +/// 交友房新增 +@property (nonatomic,strong)NSString* step; +@property (nonatomic,strong)NSString* friend_id; +@property (nonatomic,strong)NSString* end_time; + +@property (nonatomic,strong)QXRoomFriendRelationModel* friend_user; @end NS_ASSUME_NONNULL_END diff --git a/QXLive/HomePage(声播)/View/房间/QXRoomChatListView.m b/QXLive/HomePage(声播)/View/房间/QXRoomChatListView.m index 4c23817..8a2a39c 100644 --- a/QXLive/HomePage(声播)/View/房间/QXRoomChatListView.m +++ b/QXLive/HomePage(声播)/View/房间/QXRoomChatListView.m @@ -751,7 +751,8 @@ NSInteger maxMessageCount = 20; return @{@"GiftInfo" : @"QXGiftModel", @"FromUserInfo":@"QXUserHomeModel", @"nextInfo":@"QXSongListModel", - @"songInfo":@"QXSongListModel" + @"songInfo":@"QXSongListModel", + @"friend_user":@"QXRoomFriendRelationModel" }; } diff --git a/QXLive/HomePage(声播)/View/房间/QXRoomSeatSettingView.h b/QXLive/HomePage(声播)/View/房间/QXRoomSeatSettingView.h index 330d0f8..ad19127 100644 --- a/QXLive/HomePage(声播)/View/房间/QXRoomSeatSettingView.h +++ b/QXLive/HomePage(声播)/View/房间/QXRoomSeatSettingView.h @@ -18,7 +18,7 @@ typedef NS_ENUM(NSInteger) { NS_ASSUME_NONNULL_BEGIN @interface QXRoomSeatSettingView : UIView -//@property (nonatomic,assign)BOOL isLockMic; +@property (nonatomic,assign)BOOL isNoHaveLockMic; //@property (nonatomic,assign)BOOL isMuteMic; @property (nonatomic,strong) QXRoomPitModel *pitModel; @property (nonatomic,strong) NSString *roomId; diff --git a/QXLive/HomePage(声播)/View/房间/QXRoomSeatSettingView.m b/QXLive/HomePage(声播)/View/房间/QXRoomSeatSettingView.m index 572ab42..8fa1925 100644 --- a/QXLive/HomePage(声播)/View/房间/QXRoomSeatSettingView.m +++ b/QXLive/HomePage(声播)/View/房间/QXRoomSeatSettingView.m @@ -47,6 +47,12 @@ _pitModel = pitModel; [self.tableView reloadData]; } +-(void)setIsNoHaveLockMic:(BOOL)isNoHaveLockMic{ + _isNoHaveLockMic = isNoHaveLockMic; + self.bgView.height = ScaleWidth(42); + self.tableView.height = ScaleWidth(42); + [self.tableView reloadData]; +} -(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{ return touch.view == self; } @@ -64,24 +70,31 @@ } -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ // return 3; + if (self.isNoHaveLockMic) { + return 1; + } return 2; } -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ QXRoomSeatSettingCell *cell = [QXRoomSeatSettingCell cellWithTableView:tableView]; cell.roomId = self.roomId; cell.pitModel = self.pitModel; - if (indexPath.row == 0) { -// cell.isOn = self.pitModel.is_mute.intValue == 1; -// cell.settingType = QXRoomSeatSettingMuteMic; - cell.isOn = self.pitModel.is_lock.intValue == 1; - cell.settingType = QXRoomSeatSettingLockMic; - } -// else if(indexPath.row == 1){ -// cell.isOn = self.pitModel.is_lock.intValue == 1; -// cell.settingType = QXRoomSeatSettingLockMic; -// } - else{ + if (self.isNoHaveLockMic) { cell.settingType = QXRoomSeatSettingHugMic; + }else{ + if (indexPath.row == 0) { + // cell.isOn = self.pitModel.is_mute.intValue == 1; + // cell.settingType = QXRoomSeatSettingMuteMic; + cell.isOn = self.pitModel.is_lock.intValue == 1; + cell.settingType = QXRoomSeatSettingLockMic; + } + // else if(indexPath.row == 1){ + // cell.isOn = self.pitModel.is_lock.intValue == 1; + // cell.settingType = QXRoomSeatSettingLockMic; + // } + else{ + cell.settingType = QXRoomSeatSettingHugMic; + } } MJWeakSelf cell.setSuccessBlock = ^(QXRoomPitModel * _Nonnull pitModel) { @@ -90,6 +103,13 @@ return cell; } -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ + if (self.isNoHaveLockMic) { + [self hide]; + if (self.clickHugBlock) { + self.clickHugBlock(self.pitModel); + } + return; + } if (indexPath.row == 1) { [self hide]; if (self.clickHugBlock) { diff --git a/QXLive/HomePage(声播)/View/房间/交友房/QXFriendCPSuccessView.h b/QXLive/HomePage(声播)/View/房间/交友房/QXFriendCPSuccessView.h new file mode 100644 index 0000000..0302c62 --- /dev/null +++ b/QXLive/HomePage(声播)/View/房间/交友房/QXFriendCPSuccessView.h @@ -0,0 +1,25 @@ +// +// QXFriendCPSuccessView.h +// IsLandVoice +// +// Created by 启星 on 2025/3/10. +// + +#import + +NS_ASSUME_NONNULL_BEGIN +@protocol QXFriendCPSuccessViewDelegate + +@optional +-(void)animateIsFinishedWithModel:(QXRoomFriendRelationModel*)model; + +@end + +@interface QXFriendCPSuccessView : UIView +@property (nonatomic,weak)iddelegate; +-(void)setDataWithRelationModel:(QXRoomFriendRelationModel *)model cpName:(NSString*)cpName; +-(void)showInView:(UIView*)view; +-(void)hide; +@end + +NS_ASSUME_NONNULL_END diff --git a/QXLive/HomePage(声播)/View/房间/交友房/QXFriendCPSuccessView.m b/QXLive/HomePage(声播)/View/房间/交友房/QXFriendCPSuccessView.m new file mode 100644 index 0000000..a0c2503 --- /dev/null +++ b/QXLive/HomePage(声播)/View/房间/交友房/QXFriendCPSuccessView.m @@ -0,0 +1,129 @@ +// +// QXFriendCPSuccessView.m +// IsLandVoice +// +// Created by 启星 on 2025/3/10. +// + +#import "QXFriendCPSuccessView.h" +@interface QXFriendCPSuccessView() +@property (nonatomic,strong)UIView *bgView; +@property (nonatomic,strong)UIImageView *bgImageView; +@property (nonatomic,strong)UIImageView *headerLeftImageView; +@property (nonatomic,strong)UIImageView *leftNameBgImageView; +@property (nonatomic,strong)UILabel *leftNameLabel; + +@property (nonatomic,strong)UIImageView *headerRightImageView; +@property (nonatomic,strong)UIImageView *rightNameBgImageView; +@property (nonatomic,strong)UILabel *rightNameLabel; + +/// 关系 +@property (nonatomic,strong)UILabel *relationLabel; + +@property (nonatomic,strong)QXRoomFriendRelationModel *model; +@end + +@implementation QXFriendCPSuccessView + +- (instancetype)init +{ + self = [super init]; + if (self) { + self.frame = CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT); + [self createViews]; + } + return self; +} +-(void)createViews{ + self.backgroundColor = [UIColor colorWithWhite:0.0 alpha:0.3]; + self.bgView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, ScaleWidth(420))]; + self.bgView.centerY = self.centerY; + self.bgView.alpha = 0; + [self addSubview:self.bgView]; + + self.bgImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"room_friend_success_bg"]]; + self.bgImageView.frame = CGRectMake(0, 0, self.bgView.width, self.bgView.height); + [self.bgView addSubview:self.bgImageView]; + + self.headerLeftImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"user_header_placehoulder"]]; + self.headerLeftImageView.frame = CGRectMake(self.bgView.width/2-ScaleWidth(75)-15, 60, ScaleWidth(75), ScaleWidth(75)); + self.headerLeftImageView.layer.masksToBounds = YES; + self.headerLeftImageView.layer.cornerRadius = self.headerLeftImageView.height/2.0; + self.headerLeftImageView.layer.borderColor = RGB16(0x7781F5).CGColor; + self.headerLeftImageView.layer.borderWidth = 3; + [self.bgView addSubview:self.headerLeftImageView]; + + self.leftNameBgImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"room_friend_success_name_bg"]]; + self.leftNameBgImageView.frame = CGRectMake(0, self.headerLeftImageView.bottom+5, 104, 20); + self.leftNameBgImageView.centerX = self.headerLeftImageView.centerX; + [self.bgView addSubview:self.leftNameBgImageView]; + + self.leftNameLabel = [[UILabel alloc] initWithFrame:self.leftNameBgImageView.frame]; + self.leftNameLabel.textColor = RGB16(0xffffff); + self.leftNameLabel.textAlignment = NSTextAlignmentCenter; + self.leftNameLabel.font = [UIFont fontWithName:@"YouSheBiaoTiHei" size:14]; + [self.bgView addSubview:self.leftNameLabel]; + + + self.headerRightImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"user_header_placehoulder"]]; + self.headerRightImageView.frame = CGRectMake(self.bgView.width/2+15, self.headerLeftImageView.top, ScaleWidth(75), ScaleWidth(75)); + self.headerRightImageView.layer.masksToBounds = YES; + self.headerRightImageView.layer.cornerRadius = self.headerRightImageView.height/2.0; + self.headerRightImageView.layer.borderColor = RGB16(0x7781F5).CGColor; + self.headerRightImageView.layer.borderWidth = 3; + [self.bgView addSubview:self.headerRightImageView]; + + self.rightNameBgImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"room_friend_success_name_bg"]]; + self.rightNameBgImageView.frame = CGRectMake(0, self.headerLeftImageView.bottom+5, 104, 20); + self.rightNameBgImageView.centerX = self.headerRightImageView.centerX; + [self.bgView addSubview:self.rightNameBgImageView]; + + self.rightNameLabel = [[UILabel alloc] initWithFrame:self.rightNameBgImageView.frame]; + self.rightNameLabel.textColor = RGB16(0xffffff); + self.rightNameLabel.textAlignment = NSTextAlignmentCenter; + self.rightNameLabel.font = [UIFont fontWithName:@"YouSheBiaoTiHei" size:14]; + [self.bgView addSubview:self.rightNameLabel]; + + [self.bgView addSubview:self.relationLabel]; + self.relationLabel.text = @"兄弟牵手成功"; +} + +-(void)setDataWithRelationModel:(QXRoomFriendRelationModel *)model cpName:(NSString *)cpName{ + _model = model; + [self.headerLeftImageView sd_setImageWithURL:[NSURL URLWithString:model.user1_avatar] placeholderImage:[UIImage imageNamed:@"room_friend_success_name_bg"]]; + self.leftNameLabel.text = model.user1_nickname; + + [self.headerRightImageView sd_setImageWithURL:[NSURL URLWithString:model.user2_avatar] placeholderImage:[UIImage imageNamed:@"room_friend_success_name_bg"]]; + self.rightNameLabel.text = model.user2_nickname; + self.relationLabel.text = [NSString stringWithFormat:@"%@牵手成功",cpName]; +} +-(void)showInView:(UIView *)view{ + [view addSubview:self]; + [UIView animateWithDuration:1.5 animations:^{ + self.bgView.alpha = 1; + } completion:^(BOOL finished) { + [self performSelector:@selector(hide) withObject:nil afterDelay:3]; + }]; +} + +-(void)hide{ + [UIView animateWithDuration:1 animations:^{ + self.bgView.alpha = 0; + } completion:^(BOOL finished) { + [self removeFromSuperview]; + if (self.delegate && [self.delegate respondsToSelector:@selector(animateIsFinishedWithModel:)]) { + [self.delegate animateIsFinishedWithModel:self.model]; + } + }]; +} +- (UILabel *)relationLabel{ + if (!_relationLabel) { + _relationLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, self.bgView.height/2, self.bgView.width, 35)]; + _relationLabel.textAlignment = NSTextAlignmentCenter; + _relationLabel.font = [UIFont fontWithName:@"YouSheBiaoTiHei" size:28]; + _relationLabel.textColor = [UIColor colorWithHexString:@"#FFEBC3"]; + } + return _relationLabel; +} + +@end diff --git a/QXLive/HomePage(声播)/View/房间/交友房/QXFriendCPView.h b/QXLive/HomePage(声播)/View/房间/交友房/QXFriendCPView.h new file mode 100644 index 0000000..fef4e47 --- /dev/null +++ b/QXLive/HomePage(声播)/View/房间/交友房/QXFriendCPView.h @@ -0,0 +1,29 @@ +// +// QXFriendCPView.h +// IsLandVoice +// +// Created by 启星 on 2025/3/10. +// + +#import +#import "QXRoomFriendRelationModel.h" +NS_ASSUME_NONNULL_BEGIN + +@interface QXFriendCPView : UIView +@property (nonatomic,strong)QXRoomFriendRelationModel *model; +@property (nonatomic,strong)NSMutableArray *dataArray; +@property (nonatomic,copy)void(^commitBlock)(QXRoomFriendRelationModel*relationModel,NSString*selectedCpId,NSString*selectedCpName); +-(void)showInView:(UIView*)view; +-(void)hide; +-(void)getRelationShipList; +@end + +@interface QXFriendCPTypeCell : UICollectionViewCell +/// 1 创建房间 2 礼物 +@property (nonatomic,assign)NSInteger type; +@property (nonatomic,strong)UIButton *titleBtn; +@property (nonatomic,strong)NSString *title; +@property (nonatomic,assign)BOOL isSelected; +@end + +NS_ASSUME_NONNULL_END diff --git a/QXLive/HomePage(声播)/View/房间/交友房/QXFriendCPView.m b/QXLive/HomePage(声播)/View/房间/交友房/QXFriendCPView.m new file mode 100644 index 0000000..d252dac --- /dev/null +++ b/QXLive/HomePage(声播)/View/房间/交友房/QXFriendCPView.m @@ -0,0 +1,311 @@ +// +// QXFriendCPView.m +// IsLandVoice +// +// Created by 启星 on 2025/3/10. +// + +#import "QXFriendCPView.h" +#import +#import "QXMineNetwork.h" + +@class QXFriendCPTypeCell; +@interface QXFriendCPView() + +@property (nonatomic,strong)UIView *bgView; +@property (nonatomic,strong)UIImageView *bgImageView; + +@property (nonatomic,strong)UIImageView *headerLeftImageView; +@property (nonatomic,strong)UILabel *headerLeftNameLabel; +@property (nonatomic,strong)UIImageView *lineImageView; +/// 心动值 +@property (nonatomic,strong)UILabel *heartValueLabel; +@property (nonatomic,strong)UIImageView *headerRightImageView; +@property (nonatomic,strong)UILabel *headerRightNameLabel; + +@property (nonatomic,strong)UILabel *titleLabel; + +@property (nonatomic,strong)UICollectionView *collectionView; + +@property (nonatomic,strong)UIButton *cancelBtn; +@property (nonatomic,strong)UIButton *commitBtn; + +@property (nonatomic,assign)NSInteger selectedIndex; + +@property (nonatomic, strong) SVGAPlayer *svgaPlayer; +@property (nonatomic , strong) SVGAParser *parser; + +@end +@implementation QXFriendCPView +- (instancetype)initWithFrame:(CGRect)frame +{ + self = [super initWithFrame:frame]; + if (self) { + self.frame = CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT); + [self createViews]; + } + return self; +} +-(void)createViews{ + self.selectedIndex = -1; + + self.backgroundColor = [UIColor colorWithWhite:0.0 alpha:0.5]; + self.bgView = [[UIView alloc] initWithFrame:CGRectMake((self.width-ScaleWidth(275))/2.0,-SCREEN_HEIGHT, ScaleWidth(275), ScaleWidth(466))]; + [self addSubview:self.bgView]; + self.bgImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"room_friend_create_relation_bg"]]; + self.bgImageView.contentMode = UIViewContentModeScaleToFill; + self.bgImageView.frame = self.bgView.bounds; + [self.bgView addSubview:self.bgImageView]; + [self.bgView addSubview:self.headerLeftImageView]; + [self.bgView addSubview:self.headerLeftNameLabel]; + [self.bgView addSubview:self.headerRightImageView]; + [self.bgView addSubview:self.headerRightNameLabel]; + [self.bgView addSubview:self.lineImageView]; + [self.bgView addSubview:self.heartValueLabel]; + + self.titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(16, self.headerLeftNameLabel.bottom+15, 200, 24)]; + self.titleLabel.text = @"关系列表"; + self.titleLabel.font = [UIFont boldSystemFontOfSize:16]; + self.titleLabel.textColor = [UIColor colorWithHexString:@"#333333"]; + [self.bgView addSubview:self.titleLabel]; + + self.cancelBtn = [[UIButton alloc] initWithFrame:CGRectMake(16, ScaleWidth(466)-42-40, (self.bgView.width-16*3-18)/2.0, 42)]; + self.cancelBtn.backgroundColor = [UIColor colorWithHexString:@"#333333"]; + [self.cancelBtn setTitle:@"取消" forState:(UIControlStateNormal)]; + self.cancelBtn.titleLabel.font = [UIFont systemFontOfSize:14]; + [self.cancelBtn setTitleColor:[UIColor colorWithHexString:@"#ffffff"] forState:(UIControlStateNormal)]; + [self.cancelBtn addTarget:self action:@selector(closeAction) forControlEvents:(UIControlEventTouchUpInside)]; + self.cancelBtn.layer.masksToBounds = YES; + self.cancelBtn.layer.cornerRadius = 21; + [self.bgView addSubview:self.cancelBtn]; + + self.commitBtn = [[UIButton alloc] initWithFrame:CGRectMake(self.cancelBtn.right+20, self.cancelBtn.top, self.cancelBtn.width, 42)]; + self.commitBtn.backgroundColor = QXConfig.themeColor; + [self.commitBtn setTitle:@"确认" forState:(UIControlStateNormal)]; + self.commitBtn.titleLabel.font = [UIFont systemFontOfSize:14]; + [self.commitBtn setTitleColor:QXConfig.btnTextColor forState:(UIControlStateNormal)]; + [self.commitBtn addTarget:self action:@selector(commitAction) forControlEvents:(UIControlEventTouchUpInside)]; + self.commitBtn.layer.masksToBounds = YES; + self.commitBtn.layer.cornerRadius = 21; + [self.bgView addSubview:self.commitBtn]; + + UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init]; + CGFloat itemWidth = (self.bgView.width - 48 - 3*12)/3.0; + layout.itemSize = CGSizeMake(itemWidth, 34); + layout.minimumInteritemSpacing = 12; + layout.minimumLineSpacing = 12; + layout.sectionInset = UIEdgeInsetsMake(0, 18, 0, 30); + self.collectionView = [[UICollectionView alloc] initWithFrame:CGRectMake(0, self.titleLabel.bottom+10, self.bgView.width, self.commitBtn.top-self.titleLabel.bottom-30) collectionViewLayout:layout]; + self.collectionView.delegate = self; + self.collectionView.backgroundColor = [UIColor clearColor]; + self.collectionView.dataSource = self; + [self.collectionView registerClass:[QXFriendCPTypeCell class] forCellWithReuseIdentifier:@"QXFriendCPTypeCell"]; + [self.bgView addSubview:self.collectionView]; + [self getRelationShipList]; +} +-(void)getRelationShipList{ + MJWeakSelf + [QXMineNetwork roomRelationListWithType:@"2" successBlock:^(NSArray * _Nonnull list) { + [weakSelf.dataArray removeAllObjects]; + [weakSelf.dataArray addObjectsFromArray:list]; + [weakSelf.collectionView reloadData]; + } failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) { + + }]; +} +-(void)setModel:(QXRoomFriendRelationModel *)model{ + _model = model; + [self.headerLeftImageView sd_setImageWithURL:[NSURL URLWithString:model.user1_avatar] placeholderImage:[UIImage imageNamed:@"user_header_placehoulder"]]; + [self.headerRightImageView sd_setImageWithURL:[NSURL URLWithString:model.user2_avatar] placeholderImage:[UIImage imageNamed:@"user_header_placehoulder"]]; + + self.headerLeftNameLabel.text = model.user1_nickname; + self.headerRightNameLabel.text = model.user2_nickname; + + self.heartValueLabel.text = model.heart_value; +} + +-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView{ + return 1; +} +-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{ + return self.dataArray.count; +} +-(__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{ + QXFriendCPTypeCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"QXFriendCPTypeCell" forIndexPath:indexPath]; + QXRoomRelationModel *model = self.dataArray[indexPath.row]; + cell.title = model.name; + if (indexPath.row == self.selectedIndex) { + cell.isSelected = YES; + }else{ + cell.isSelected = NO; + } + return cell; +} +-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{ + self.selectedIndex = indexPath.row; + [self.collectionView reloadData]; +} + +-(void)commitAction{ +// QXFriendCPSuccessView *successView = [[QXFriendCPSuccessView alloc] init]; +// for (UIWindow *w in [UIApplication sharedApplication].windows) { +// if ([w isKeyWindow]) { +// [successView showInView:w]; +// break; +// } +// } + QXRoomRelationModel *md = self.dataArray[self.selectedIndex]; + if (self.commitBlock) { + self.commitBlock(self.model,md.relation_id,md.name); + } +} + +-(void)closeAction{ + [self hide]; +} + +-(void)showInView:(UIView *)view{ + [view addSubview:self]; + [UIView animateWithDuration:0.3 delay:0 usingSpringWithDamping:0.5 initialSpringVelocity:1.0 options:UIViewAnimationOptionCurveEaseInOut animations:^{ + self.bgView.centerY = self.centerY; + } completion:^(BOOL finished) { + + }]; +} + +-(void)hide{ + [UIView animateWithDuration:0.3 delay:0 usingSpringWithDamping:0.5 initialSpringVelocity:1.0 options:UIViewAnimationOptionCurveEaseInOut animations:^{ + self.bgView.y = SCREEN_HEIGHT; + } completion:^(BOOL finished) { + [self removeFromSuperview]; + }]; +} +- (UIImageView *)headerLeftImageView{ + if (!_headerLeftImageView) { + _headerLeftImageView = [[UIImageView alloc] initWithFrame:CGRectMake(18, ScaleWidth(130), ScaleWidth(50), ScaleWidth(50))]; + _headerLeftImageView.image = [UIImage imageNamed:@"user_header_placehoulder"]; + _headerLeftImageView.contentMode = UIViewContentModeScaleAspectFill; + _headerLeftImageView.layer.masksToBounds = YES; + _headerLeftImageView.layer.cornerRadius = ScaleWidth(50)/2.0; + } + return _headerLeftImageView; +} +-(UILabel *)headerLeftNameLabel{ + if (!_headerLeftNameLabel) { + _headerLeftNameLabel = [[UILabel alloc] initWithFrame:CGRectMake(self.headerLeftImageView.left, self.headerLeftImageView.bottom, 100, 20)]; + _headerLeftNameLabel.textColor = [UIColor colorWithHexString:@"#333333"]; + _headerLeftNameLabel.font = [UIFont systemFontOfSize:12]; + _headerLeftNameLabel.textAlignment = NSTextAlignmentLeft; + } + return _headerLeftNameLabel; +} +- (UIImageView *)headerRightImageView{ + if (!_headerRightImageView) { + _headerRightImageView = [[UIImageView alloc] initWithFrame:CGRectMake(self.bgView.width-30-ScaleWidth(50), self.headerLeftImageView.top, ScaleWidth(50), ScaleWidth(50))]; + _headerRightImageView.image = [UIImage imageNamed:@"user_header_placehoulder"]; + _headerRightImageView.contentMode = UIViewContentModeScaleAspectFill; + _headerRightImageView.layer.masksToBounds = YES; + _headerRightImageView.layer.cornerRadius = ScaleWidth(50)/2.0; + } + return _headerRightImageView; +} +-(UILabel *)headerRightNameLabel{ + if (!_headerRightNameLabel) { + _headerRightNameLabel = [[UILabel alloc] initWithFrame:CGRectMake(self.headerRightImageView.right-100, self.headerLeftImageView.bottom, 100, 20)]; + _headerRightNameLabel.textColor = [UIColor colorWithHexString:@"#333333"]; + _headerRightNameLabel.font = [UIFont systemFontOfSize:12]; + _headerRightNameLabel.textAlignment = NSTextAlignmentRight; + } + return _headerRightNameLabel; +} +-(UIImageView *)lineImageView{ + if (!_lineImageView) { + _lineImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"room_friend_relation_heart"]]; + _lineImageView.frame = CGRectMake(self.headerLeftImageView.right, 0, self.headerRightImageView.left-self.headerLeftImageView.right, ScaleWidth(50)); + _lineImageView.centerY = self.headerLeftImageView.centerY; + } + return _lineImageView; +} +- (UILabel *)heartValueLabel{ + if (!_heartValueLabel) { + _heartValueLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 80, 18)]; + _heartValueLabel.centerY = self.lineImageView.centerY; + _heartValueLabel.centerX = self.lineImageView.centerX; + _heartValueLabel.backgroundColor = [UIColor colorWithHexString:@"#FE8EC8"]; + _heartValueLabel.layer.masksToBounds = YES; + _heartValueLabel.layer.cornerRadius = 9; + _heartValueLabel.layer.borderColor = [UIColor whiteColor].CGColor; + _heartValueLabel.layer.borderWidth = 1; + _heartValueLabel.textColor = [UIColor whiteColor]; + _heartValueLabel.textAlignment = NSTextAlignmentCenter; + _heartValueLabel.font = [UIFont boldSystemFontOfSize:12]; + } + return _heartValueLabel; +} +-(NSMutableArray *)dataArray{ + if (!_dataArray) { + _dataArray = [NSMutableArray array]; + } + return _dataArray; +} +@end + + +@implementation QXFriendCPTypeCell + +- (instancetype)initWithFrame:(CGRect)frame +{ + self = [super initWithFrame:frame]; + if (self) { + [self createViews]; + } + return self; +} +-(void)setIsSelected:(BOOL)isSelected{ + _isSelected = isSelected; + self.titleBtn.selected = isSelected; + if (self.isSelected) { + self.titleBtn.titleLabel.font = [UIFont systemFontOfSize:16]; + }else{ + self.titleBtn.titleLabel.font = [UIFont systemFontOfSize:14]; + } +} +-(void)setType:(NSInteger)type{ + _type = type; + if (type == 1) { + self.titleBtn.layer.cornerRadius = 17; + UIImage *normalImage = [UIImage imageWithColor:[UIColor colorWithHexString:@"#F6F6F6"]]; + [self.titleBtn setBackgroundImage:normalImage forState:(UIControlStateNormal)]; + }if (type == 2){ + self.titleBtn.layer.cornerRadius = 0; + [self.titleBtn setBackgroundImage:nil forState:(UIControlStateNormal)]; + [self.titleBtn setTitleColor:[UIColor colorWithHexString:@"#999999"] forState:(UIControlStateNormal)]; + [self.titleBtn setTitleColor:[UIColor colorWithHexString:@"#ffffff"] forState:(UIControlStateSelected)]; + [self.titleBtn setBackgroundImage:nil forState:(UIControlStateNormal)]; + [self.titleBtn setBackgroundImage:nil forState:(UIControlStateSelected)]; + self.titleBtn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft; + } +} +-(void)setTitle:(NSString *)title{ + _title = title; + [self.titleBtn setTitle:title forState:(UIControlStateNormal)]; +} +-(void)createViews{ + self.titleBtn = [[UIButton alloc] init]; + UIImage *selectedImage = [UIImage imageWithColor:QXConfig.themeColor]; + UIImage *normalImage = [UIImage imageWithColor:[UIColor colorWithHexString:@"#FFFFFF"]]; + [self.titleBtn setBackgroundImage:selectedImage forState:(UIControlStateSelected)]; + [self.titleBtn setBackgroundImage:normalImage forState:(UIControlStateNormal)]; + [self.titleBtn setTitleColor:[UIColor colorWithHexString:@"#333333"] forState:(UIControlStateNormal)]; + [self.titleBtn setTitleColor:QXConfig.btnTextColor forState:(UIControlStateSelected)]; + self.titleBtn.titleLabel.font = [UIFont systemFontOfSize:14]; + self.titleBtn.layer.masksToBounds = YES; + self.titleBtn.layer.cornerRadius = 4; + [self.contentView addSubview:self.titleBtn]; + self.titleBtn.userInteractionEnabled = NO; + [self.titleBtn mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.top.bottom.equalTo(self.contentView); + }]; +} + +@end diff --git a/QXLive/HomePage(声播)/View/房间/设置/QXRoomSettingView.h b/QXLive/HomePage(声播)/View/房间/设置/QXRoomSettingView.h index 3f20573..a6a4eb1 100644 --- a/QXLive/HomePage(声播)/View/房间/设置/QXRoomSettingView.h +++ b/QXLive/HomePage(声播)/View/房间/设置/QXRoomSettingView.h @@ -18,6 +18,8 @@ typedef NS_ENUM(NSInteger) { QXRoomSettingTypeRoomTypeBoy = 12, /// 女神房 QXRoomSettingTypeRoomTypeGirl = 13, + /// 交友房 + QXRoomSettingTypeRoomTypeFriend = 14, /// 常用工具 /// 房间补贴 diff --git a/QXLive/HomePage(声播)/View/房间/设置/QXRoomSettingView.m b/QXLive/HomePage(声播)/View/房间/设置/QXRoomSettingView.m index 524ccb4..d7f3528 100644 --- a/QXLive/HomePage(声播)/View/房间/设置/QXRoomSettingView.m +++ b/QXLive/HomePage(声播)/View/房间/设置/QXRoomSettingView.m @@ -34,6 +34,8 @@ @property (nonatomic,strong)QXRoomSettingModel *roomTypeBoy; /// 女神房 @property (nonatomic,strong)QXRoomSettingModel *roomTypeGirl; +/// 交友房 +@property (nonatomic,strong)QXRoomSettingModel *roomTypeFriend; /// 常用工具 /// 房间补贴 @@ -178,12 +180,12 @@ // } if ((self.roomModel.room_info.type_id.intValue == 1 || self.roomModel.room_info.type_id.intValue == 3 || self.roomModel.room_info.type_id.intValue == 4) && self.roomModel.room_info.label_id.intValue == 2) { toolsArr = @[self.roomSubsidy,self.roomMessage,self.roomOrderMic,self.roomBgImage]; - roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeBoy,self.roomTypeGirl]; + roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeBoy,self.roomTypeGirl,self.roomTypeFriend]; // moreArr = @[self.roomLeave,self.roomShare,self.roomVoiceSet,self.roomSetting,self.roomWelcome,self.roomEffects,self.roomReport]; moreArr = @[self.roomLeave,self.roomVoiceSet,self.roomSetting,self.roomEffects,self.roomReport]; }else{ toolsArr = @[self.roomSubsidy,self.roomMessage,self.roomOrderMic,self.roomBgMusic,self.roomBgImage]; - roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeBoy,self.roomTypeGirl]; + roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeBoy,self.roomTypeGirl,self.roomTypeFriend]; // moreArr = @[self.roomLeave,self.roomShare,self.roomVoiceSet,self.roomSetting,self.roomWelcome,self.roomEffects,self.roomReport]; moreArr = @[self.roomLeave,self.roomVoiceSet,self.roomSetting,self.roomEffects,self.roomReport]; } @@ -212,7 +214,7 @@ toolsArr = @[self.roomSubsidy,self.roomCompere,self.roomMessage,self.roomOrderMic,self.roomBgMusic,self.roomBgImage]; } - roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeBoy,self.roomTypeGirl]; + roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeBoy,self.roomTypeGirl,self.roomTypeFriend]; // moreArr = @[self.roomLeave,self.roomShare,self.roomVoiceSet,self.roomSetting,self.roomWelcome,self.roomEffects,self.roomReport]; moreArr = @[self.roomLeave,self.roomVoiceSet,self.roomSetting,self.roomEffects,self.roomReport]; self.titles = @[QXText(@"房间类型"),QXText(@"常用工具"),QXText(@"更多操作")]; @@ -230,7 +232,7 @@ }else{ toolsArr = @[self.roomSubsidy,self.roomCompere,self.roomMessage,self.roomOrderMic,self.roomBgMusic,self.roomBgImage]; } - roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeBoy,self.roomTypeGirl]; + roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeBoy,self.roomTypeGirl,self.roomTypeFriend]; // moreArr = @[self.roomLeave,self.roomShare,self.roomVoiceSet,self.roomSetting,self.roomWelcome,self.roomEffects,self.roomReport]; moreArr = @[self.roomLeave,self.roomVoiceSet,self.roomSetting,self.roomEffects,self.roomReport]; self.titles = @[QXText(@"房间类型"),QXText(@"常用工具"),QXText(@"更多操作")]; @@ -313,7 +315,7 @@ // [self.welcomeView showInView:self.viewController.view]; return; } - if (model.type == QXRoomSettingTypeRoomTypeAuction || model.type == QXRoomSettingTypeRoomTypeSing || model.type == QXRoomSettingTypeRoomTypeBoy || model.type == QXRoomSettingTypeRoomTypeGirl) { + if (model.type == QXRoomSettingTypeRoomTypeAuction || model.type == QXRoomSettingTypeRoomTypeSing || model.type == QXRoomSettingTypeRoomTypeBoy || model.type == QXRoomSettingTypeRoomTypeGirl || model.type == QXRoomSettingTypeRoomTypeFriend) { self.alertView.message = [NSString stringWithFormat:@"您确定要修改为%@房吗?",model.name]; [[QXGlobal shareGlobal] showView:self.alertView controller:self.viewController popType:(PopViewTypeTopToCenter) tapDismiss:NO finishBlock:^{ @@ -339,6 +341,8 @@ type = @"3"; }else if (roomType == QXRoomSettingTypeRoomTypeGirl) { type = @"4"; + }else if (roomType == QXRoomSettingTypeRoomTypeFriend) { + type = @"7"; } [QXMineNetwork changeRoomTypeWithRoomId:self.roomModel.room_info.room_id type:type successBlock:^(NSDictionary * _Nonnull dict) { @@ -400,6 +404,16 @@ return _roomTypeGirl; } +-(QXRoomSettingModel *)roomTypeFriend{ + if (!_roomTypeFriend) { + _roomTypeFriend = [[QXRoomSettingModel alloc] init]; + _roomTypeFriend.name = QXText(@"交友"); + _roomTypeFriend.type = QXRoomSettingTypeRoomTypeFriend; + _roomTypeFriend.icon = @"room_set_room_type_friend"; + } + return _roomTypeFriend; +} + -(QXRoomSettingModel *)roomSubsidy{ if (!_roomSubsidy) { _roomSubsidy = [[QXRoomSettingModel alloc] init]; diff --git a/QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatContentView.h b/QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatContentView.h index 0740935..ec3c88a 100644 --- a/QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatContentView.h +++ b/QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatContentView.h @@ -12,7 +12,9 @@ typedef NS_ENUM(NSInteger) { /// 名称名称在下显示魅力 QXRoomSeatContentViewTypeNormal = 0, /// 名称在右 - QXRoomSeatContentViewTypeAuction + QXRoomSeatContentViewTypeAuction = 1, + /// 交友房 + QXRoomSeatContentViewTypeFriend }QXRoomSeatContentViewType; NS_ASSUME_NONNULL_BEGIN diff --git a/QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatContentView.m b/QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatContentView.m index 234edd2..695fc14 100644 --- a/QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatContentView.m +++ b/QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatContentView.m @@ -285,6 +285,29 @@ }]; } break; + case QXRoomSeatContentViewTypeFriend:{ + self.charmBgView.backgroundColor = RGB16A(0x000000,0.65); +// self.charmBgView.hidden = NO; + [self.charmBgView mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.equalTo(self); + make.top.equalTo(self.noUserImageView.mas_bottom).offset(-8); + make.height.mas_equalTo(ScaleWidth(15)); + }]; + [self.nameLabel mas_remakeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(self.charmBgView.mas_bottom).offset(0); + // make.centerX.equalTo(self.noUserImageView); + make.height.mas_equalTo(18); + make.left.right.equalTo(self); + }]; + self.nameLabel.textColor = RGB16(0xEFEAFF); +// self.numberLabel.backgroundColor = RGB16(0xdb7fff); + [self.numberLabel mas_remakeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(self.charmBgView.mas_bottom).offset(0); + make.centerX.equalTo(self.noUserImageView); + make.height.mas_equalTo(18); + }]; + } + break; default: break; } diff --git a/QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatDelegate.h b/QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatDelegate.h index 85ea23b..7ddc4ad 100644 --- a/QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatDelegate.h +++ b/QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatDelegate.h @@ -27,4 +27,7 @@ /// 查看个人信息 -(void)previewUserInfoWithUserId:(NSString*)userId; +/// 助力 +-(void)friendPowerSendGiftWithUser:(QXRoomPitModel *)user heartId:(NSString*)heartId; + @end diff --git a/QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatTypeCabinView.h b/QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatTypeCabinView.h index 9c4bef4..8079f66 100644 --- a/QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatTypeCabinView.h +++ b/QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatTypeCabinView.h @@ -15,6 +15,8 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic,strong)QXRoomModel *roomModel; -(void)cabinRoomHotValueDidChanged:(NSString*)hot_value; +-(void)friendCabinRoomTimeDelayWithTime:(NSString*)end_time; +-(void)destroyViews; @end NS_ASSUME_NONNULL_END diff --git a/QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatTypeCabinView.m b/QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatTypeCabinView.m index 0be75d1..7892177 100644 --- a/QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatTypeCabinView.m +++ b/QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatTypeCabinView.m @@ -17,6 +17,7 @@ @property (nonatomic,strong)QXRoomSeatContentView *leftSeatView; +@property (nonatomic,strong)UIImageView *bgImageView; @property (nonatomic,strong)UIImageView *heartCenterImageView; @property (nonatomic,strong)UILabel *numberLabel; @@ -71,16 +72,52 @@ make.centerY.equalTo(self.titleLabel); }]; - - self.timeDownBgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"room_cabin_timedown_bg"]]; - self.timeDownBgView.contentMode = UIViewContentModeScaleToFill; - [self addSubview:self.timeDownBgView]; - [self.timeDownBgView mas_makeConstraints:^(MASConstraintMaker *make) { - make.left.mas_equalTo(96); - make.top.mas_equalTo(ScaleWidth(102)); - make.width.mas_equalTo(SCREEN_WIDTH-96*2); - make.height.mas_equalTo(24); + self.bgImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"room_friend_cabin_bg"]]; + self.bgImageView.contentMode = UIViewContentModeScaleToFill; + [self addSubview:self.bgImageView]; + [self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.top.equalTo(self); + make.height.mas_equalTo(ScaleWidth(330)); }]; + + self.heartCenterImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"room_cabin_heart"]]; + [self addSubview:self.heartCenterImageView]; + [self.heartCenterImageView mas_makeConstraints:^(MASConstraintMaker *make) { + make.centerX.equalTo(self.bgImageView); + make.centerY.equalTo(self.bgImageView); + make.height.mas_equalTo(ScaleWidth(80)); + make.width.mas_equalTo(ScaleWidth(160)); + }]; + + self.numberLabel = [[UILabel alloc] init]; + self.numberLabel.text = @"0"; + self.numberLabel.textAlignment = NSTextAlignmentCenter; + self.numberLabel.textColor = [UIColor colorWithHexString:@"#ffffff"]; + self.numberLabel.font = [UIFont fontWithName:@"DIN Alternate" size:18]; + [self addSubview:self.numberLabel]; + [self.numberLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.centerY.equalTo(self.heartCenterImageView).offset(-18); + make.centerX.equalTo(self.heartCenterImageView); + }]; + + self.leftSeatView = [[QXRoomSeatContentView alloc] init]; + [self addSubview:self.leftSeatView]; + [self.leftSeatView mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.equalTo(self.heartCenterImageView.mas_left); + make.width.mas_equalTo(ScaleWidth(75)); + make.height.mas_equalTo(ScaleWidth(75)+25); + make.top.equalTo(self.heartCenterImageView).offset(-5); + }]; + + self.rightSeatView = [[QXRoomSeatContentView alloc] init]; + [self addSubview:self.rightSeatView]; + [self.rightSeatView mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.equalTo(self.heartCenterImageView.mas_right); + make.width.mas_equalTo(ScaleWidth(75)); + make.height.mas_equalTo(ScaleWidth(75)+25); + make.top.equalTo(self.leftSeatView); + }]; + self.timeDownLabel = [[UILabel alloc] initWithFrame:self.timeDownBgView.frame]; self.timeDownLabel.textColor = [UIColor colorWithHexString:@"#ffffff"]; self.timeDownLabel.font = [UIFont systemFontOfSize:12]; @@ -88,50 +125,20 @@ self.timeDownLabel.textAlignment = NSTextAlignmentCenter; [self addSubview:self.timeDownLabel]; [self.timeDownLabel mas_makeConstraints:^(MASConstraintMaker *make) { - make.left.top.bottom.right.equalTo(self.timeDownBgView); + make.centerX.equalTo(self); + make.top.equalTo(self.heartCenterImageView.mas_bottom).offset(21); + make.height.mas_equalTo(24); }]; + self.timeDownBgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"room_cabin_timedown_bg"]]; + self.timeDownBgView.contentMode = UIViewContentModeScaleToFill; + [self addSubview:self.timeDownBgView]; + [self.timeDownBgView mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self.timeDownLabel); + }]; + - self.leftSeatView = [[QXRoomSeatContentView alloc] init]; - [self addSubview:self.leftSeatView]; - [self.leftSeatView mas_makeConstraints:^(MASConstraintMaker *make) { - make.left.mas_equalTo(36); - make.width.mas_equalTo(ScaleWidth(65)); - make.height.mas_equalTo(ScaleWidth(65)+25); - make.top.equalTo(self.timeDownBgView.mas_bottom).offset(24); - }]; - - self.rightSeatView = [[QXRoomSeatContentView alloc] init]; - [self addSubview:self.rightSeatView]; - [self.rightSeatView mas_makeConstraints:^(MASConstraintMaker *make) { - make.top.equalTo(self.leftSeatView); - make.left.mas_equalTo(SCREEN_WIDTH-ScaleWidth(65)-36); - make.width.mas_equalTo(ScaleWidth(65)); - make.height.mas_equalTo(ScaleWidth(65)+25); - - }]; -// -// -// - self.heartCenterImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"room_cabin_heart"]]; - [self addSubview:self.heartCenterImageView]; - [self.heartCenterImageView mas_makeConstraints:^(MASConstraintMaker *make) { - make.left.equalTo(self.leftSeatView.mas_right); - make.right.equalTo(self.rightSeatView.mas_left); - make.height.mas_equalTo(ScaleWidth(76)); - make.centerY.equalTo(self.leftSeatView).offset(-15); - }]; - self.numberLabel = [[UILabel alloc] init]; - self.numberLabel.text = @"0"; - self.numberLabel.textAlignment = NSTextAlignmentCenter; - self.numberLabel.textColor = [UIColor colorWithHexString:@"#ffffff"]; - self.numberLabel.font = [UIFont systemFontOfSize:12]; - [self addSubview:self.numberLabel]; - [self.numberLabel mas_makeConstraints:^(MASConstraintMaker *make) { - make.centerY.equalTo(self.heartCenterImageView).offset(15); - make.centerX.equalTo(self.heartCenterImageView); - }]; CGFloat margin = (SCREEN_WIDTH-77*3)/4; self.micBtn = [[UIButton alloc] init]; @@ -205,11 +212,16 @@ self.titleLabel.text = self.roomModel.room_info.room_name; self.numberLabel.text = self.roomModel.room_info.hot_value; - - NSTimeInterval timeInterval = [[NSDate date] timeIntervalSince1970]; - long long milliseconds = (long long)(timeInterval); - long long time = roomModel.cp_user.time_day.longLongValue - milliseconds; - self.timeDownLabel.text = [NSString stringWithFormat:@"到期时间:%@",[NSString getTimeWithSecond:time]]; + + if ([self.roomModel.room_info.label_id isEqualToString:@"5"]) { + /// 交友房私密小屋 + [self startTimer]; + }else{ + NSTimeInterval timeInterval = [[NSDate date] timeIntervalSince1970]; + long long milliseconds = (long long)(timeInterval); + long long time = roomModel.cp_user.time_day.longLongValue - milliseconds; + self.timeDownLabel.text = [NSString stringWithFormat:@"到期时间:%@",[NSString getTimeWithSecond:time]]; + } if (![roomModel.room_owner.user_id isEqualToString:QXGlobal.shareGlobal.loginModel.user_id]) { self.movieBtn.hidden = YES; CGFloat margin = (SCREEN_WIDTH-77*2)/3; @@ -252,12 +264,46 @@ // 开启屏幕采集 [[QXAgoraEngine sharedEngine] startScreenCapture]; } - - +-(void)startTimer{ + MJWeakSelf + NSTimeInterval timeInterval = [[NSDate date] timeIntervalSince1970]; + // 将秒转换为毫秒 + long long milliseconds = (long long)(timeInterval); + self.startTime = self.roomModel.cp_user.time_day.longLongValue - milliseconds; + if (self.startTime <= 0) { + //时间错误不进行倒计时 + self.timeDownLabel.text = @"倒计时:00:00:00"; + return; + } + [self stopTimer]; + _timer = [QXTimer scheduledTimerWithTimeInterval:1 repeats:YES queue:dispatch_get_main_queue() block:^{ + dispatch_async(dispatch_get_main_queue(), ^{ + weakSelf.startTime--; + NSInteger hour = self.startTime/60/60; + NSInteger min = (self.startTime % 3600) / 60; + NSInteger second = self.startTime % 60; + weakSelf.timeDownLabel.text = [NSString stringWithFormat:@"倒计时:%02ld:%02ld:%02ld",hour,min,(long)second]; + if (weakSelf.startTime<=0) { + [weakSelf stopTimer]; + weakSelf.timeDownLabel.text = @"00:00:00"; + } + }); + }]; +} +-(void)stopTimer{ + if (_timer) { + [self->_timer invalidate]; + self->_timer= nil; + } +} -(void)cabinRoomHotValueDidChanged:(NSString *)hot_value{ self.roomModel.room_info.hot_value = hot_value; self.numberLabel.text = self.roomModel.room_info.hot_value; } +-(void)friendCabinRoomTimeDelayWithTime:(NSString*)end_time{ + self.roomModel.cp_user.time_day = end_time; + [self startTimer]; +} -(void)closeAction{ MJWeakSelf UIAlertController *al = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:(UIAlertControllerStyleActionSheet)]; @@ -283,4 +329,15 @@ // self.navigationController.interactivePopGestureRecognizer.enabled = YES; [self.navigationController popViewControllerAnimated:YES]; } +-(void)destroyViews{ + if (_leftSeatView) { + [_leftSeatView destroyViews]; + _leftSeatView = nil; + } + if (_rightSeatView) { + [_rightSeatView destroyViews]; + _rightSeatView = nil; + } + [self stopTimer]; +} @end diff --git a/QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatTypeFrientView.h b/QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatTypeFrientView.h new file mode 100644 index 0000000..0b42b49 --- /dev/null +++ b/QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatTypeFrientView.h @@ -0,0 +1,65 @@ +// +// QXRoomSeatTypeFrientView.h +// QXLive +// +// Created by 启星 on 2025/8/18. +// + +#import +#import "QXUserModel.h" +#import "QXRoomModel.h" +#import "QXRoomSeatDelegate.h" +#import "QXRoomSeatContentView.h" + +typedef NS_ENUM(NSInteger) { + /// 等待 + QXSeatTypeFrientPartTypeWait = 1, + /// 心动 + QXSeatTypeFrientPartTypeHeart = 2, + /// 牵手 + QXSeatTypeFrientPartTypeHand = 3, +}QXSeatTypeFrientPartType; + + +@interface QXRoomSeatTypeFrientView : UIView +/// 房间数据 +@property (nonatomic,strong)QXRoomModel *roomModel; +/// 我自己的麦位 +@property (nonatomic,assign)NSInteger myPitNumber; +@property (nonatomic,weak)iddelegate; + +/// 上下麦 +-(void)didUpDownSeatWithUser:(QXUserHomeModel *)user isUpSeat:(BOOL)isUpSeat pit_number:(NSInteger)pit_number; +/// 交友房阶段发生变化 step 阶段 1等待 2心动 3牵手 friend_id 场次id +-(void)friendPartDidChangedWithType:(NSString*)step friend_id:(NSString*)friend_id end_time:(NSString*)end_time relationModel:(QXRoomFriendRelationModel*)relationModel; +/// 交友房时间发生延时 end_time 截止时间 +-(void)friendTimeDelayWithTime:(NSString*)end_time; +/// 交友房麦位发生变化 +-(void)friendSeatDidChanged:(NSArray*)pitArray; +/// 交友心动发生变化 [1000,100,50] 三组数据 +-(void)friendHeartNumberDidChanged:(NSArray *)heartArray; +/// 关系创建完成 +-(void)friendRelationIsCreatedWithrelationModel:(QXRoomFriendRelationModel*)relationModel; + + +/// 清除魅力 +-(void)clearCharm; +/// 设置魅力 +-(void)setSeatCharmWithUser:(QXUserHomeModel*)model; +/// 用户信息发生改变 +-(void)roomUserInfoDidChanged:(QXUserHomeModel *)user; + +/// 销毁视图 +-(void)destroyViews; +@end + + +@interface QXFrientSeatView : UIView + +@property (nonatomic,strong)QXRoomSeatContentView *contentView; +@property (nonatomic,strong)UIButton *powerBtn; +@property (nonatomic,assign)BOOL isLeft; +@property (nonatomic,weak)iddelegate; +@property (nonatomic,strong)QXRoomFriendHeartListModel *heartModel; +@end + diff --git a/QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatTypeFrientView.m b/QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatTypeFrientView.m new file mode 100644 index 0000000..07911ef --- /dev/null +++ b/QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatTypeFrientView.m @@ -0,0 +1,1349 @@ +// +// QXRoomSeatTypeFrientView.m +// QXLive +// +// Created by 启星 on 2025/8/18. +// + +#import "QXRoomSeatTypeFrientView.h" +#import "QXMineNetwork.h" +#import +#import "QXRoomSeatSettingView.h" +#import "QXMineNetwork.h" +#import "QXTimer.h" +#import "QXFriendCPView.h" +#import "QXFriendCPSuccessView.h" + +@interface QXRoomSeatTypeFrientView() +@property (nonatomic,strong)UIImageView *bigBgImageView; +/// 主持 +@property (nonatomic,strong)QXRoomSeatContentView *compereView; +/// 嘉宾 +@property (nonatomic,strong)QXRoomSeatContentView *guestView; + +@property (nonatomic,strong)QXFrientSeatView *leftSeatView1; +@property (nonatomic,strong)QXFrientSeatView *leftSeatView2; +@property (nonatomic,strong)QXFrientSeatView *leftSeatView3; +@property (nonatomic,strong)QXFrientSeatView *rightSeatView1; +@property (nonatomic,strong)QXFrientSeatView *rightSeatView2; +@property (nonatomic,strong)QXFrientSeatView *rightSeatView3; + +@property (nonatomic,strong)UIImageView *bgImageView; +@property (nonatomic,strong)UIImageView *bgTopImageView; + +/// 三个阶段 +@property (nonatomic,strong)UIButton *waitBtn; +@property (nonatomic,strong)UIButton *heartBtn; +@property (nonatomic,strong)UIButton *handBtn; + +/// 开始 延时 结束 +@property (nonatomic,strong)UIButton *startBtn; +@property (nonatomic, strong)UIImageView *heartDotImageView1; +@property (nonatomic,strong)UIButton *endBtn; +@property (nonatomic, strong)UIImageView *heartDotImageView2; +@property (nonatomic,strong)UIButton *delayBtn; + +/// 倒计时 +@property (nonatomic,strong)UIView *timeBgView; +@property (nonatomic,strong)UIImageView *timeBgImageView; +@property (nonatomic,strong)UILabel *timeLabel; +@property (nonatomic,strong)UILabel *tenSecondLabel; + +/// 心动连线 +@property (nonatomic, strong) UIImageView *heartTopImageView; +@property (nonatomic, strong) UIImageView *heartTopLineImageView; +@property (nonatomic, strong) UIImageView *heartCenterImageView; +@property (nonatomic, strong) UIImageView *heartCenterLineImageView; +@property (nonatomic, strong) UIImageView *heartBottomImageView; +@property (nonatomic, strong) UIImageView *heartBottomLineImageView; +@property (nonatomic, strong) UILabel *heartTopLabel; +@property (nonatomic, strong) UIImageView *heartCenterValueBgImageView; +@property (nonatomic, strong) UILabel *heartCenterLabel; +@property (nonatomic, strong) UILabel *heartBottomLabel; +@property (nonatomic, strong) SVGAPlayer *heartTopLinePlayer; +@property (nonatomic , strong) SVGAParser *heartTopLineParser; +@property (nonatomic, strong) SVGAPlayer *heartCenterLinePlayer; +@property (nonatomic , strong) SVGAParser *heartCenterLineParser; +@property (nonatomic, strong) SVGAPlayer *heartBottomLinePlayer; +@property (nonatomic , strong) SVGAParser *heartBottomLineParser; + +@property (nonatomic,strong)NSMutableArray *allSeatViewArray; +@property (nonatomic,strong)QXRoomSeatSettingView *settingView; +@property (nonatomic,strong)QXTimer *timer; +@property (nonatomic,assign)long startTime; + +@property (nonatomic,assign)BOOL topIsAnimate; +@property (nonatomic,assign)BOOL centerIsAnimate; +@property (nonatomic,assign)BOOL bottomIsAnimate; + +@property (nonatomic,strong)QXFriendCPView *cpView; +@property (nonatomic , strong)QXFriendCPSuccessView *successView; +@end + +@implementation QXRoomSeatTypeFrientView + +- (instancetype)init +{ + self = [super init]; + if (self) { + [self initSubviews]; + } + return self; +} +-(void)initSubviews{ + MJWeakSelf + self.bigBgImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"room_friend_below_bg"]]; + self.bigBgImageView.contentMode = UIViewContentModeScaleToFill; + [self addSubview:self.bigBgImageView]; + [self.bigBgImageView mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self); + }]; + + + self.compereView = [[QXRoomSeatContentView alloc] init]; + [self.compereView addTapBlock:^(id _Nonnull obj) { + [weakSelf didClickSeatView:obj]; + }]; + self.compereView.tagString = QXText(@"主持"); + self.compereView.number = 9; + [self addSubview:self.compereView]; + CGFloat margin = 25; + [self.compereView mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(self); + make.width.mas_equalTo(ScaleWidth(55)); + make.height.mas_equalTo(ScaleWidth(55-10)+51); + make.left.mas_equalTo(margin); + }]; + + + self.guestView = [[QXRoomSeatContentView alloc] init]; + self.guestView.tagString = QXText(@"嘉宾"); + self.guestView.number = 10; + [self.guestView addTapBlock:^(id _Nonnull obj) { + [weakSelf didClickSeatView:obj]; + }]; + [self addSubview:self.guestView]; + [self.guestView mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(self); + make.width.mas_equalTo(ScaleWidth(55)); + make.height.mas_equalTo(ScaleWidth(55-10)+51); + make.right.mas_equalTo(-margin); + }]; + + self.heartBtn = [[UIButton alloc] init]; + [self.heartBtn setTitle:@"心动连线" forState:(UIControlStateNormal)]; + [self.heartBtn setTitleColor:RGB16A(0xffffff, 0.4) forState:(UIControlStateNormal)]; + [self.heartBtn setTitleColor:RGB16(0xffffff) forState:(UIControlStateSelected)]; + self.heartBtn.titleLabel.font = [UIFont systemFontOfSize:12]; + [self.heartBtn setBackgroundImage:[UIImage imageWithColor:RGB16(0xA33CBB)] forState:(UIControlStateSelected)]; + [self.heartBtn setBackgroundImage:[UIImage imageWithColor:RGB16A(0x000000,0.3)] forState:(UIControlStateNormal)]; + [self.heartBtn addRoundedCornersWithRadius:10]; + self.heartBtn.userInteractionEnabled = NO; + [self addSubview:self.heartBtn]; + [self.heartBtn mas_makeConstraints:^(MASConstraintMaker *make) { + make.centerX.equalTo(self); + make.width.mas_offset(60); + make.height.mas_offset(20); + make.top.equalTo(self.compereView).offset(13); + }]; + + + + self.waitBtn = [[UIButton alloc] init]; + [self.waitBtn setTitle:@"等待邂逅" forState:(UIControlStateNormal)]; + [self.waitBtn setTitleColor:RGB16A(0xffffff, 0.4) forState:(UIControlStateNormal)]; + [self.waitBtn setTitleColor:RGB16(0xffffff) forState:(UIControlStateSelected)]; + self.waitBtn.titleLabel.font = [UIFont systemFontOfSize:12]; + [self.waitBtn setBackgroundImage:[UIImage imageWithColor:RGB16(0xA33CBB)] forState:(UIControlStateSelected)]; + [self.waitBtn setBackgroundImage:[UIImage imageWithColor:RGB16A(0x000000,0.3)] forState:(UIControlStateNormal)]; + [self.waitBtn addRoundedCornersWithRadius:ScaleWidth(10)]; + self.waitBtn.userInteractionEnabled = NO; + self.waitBtn.selected = YES; + [self addSubview:self.waitBtn]; + [self.waitBtn mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.equalTo(self.heartBtn.mas_left).offset(-23); + make.width.mas_offset(60); + make.height.mas_offset(20); + make.centerY.equalTo(self.heartBtn); + }]; + + + self.handBtn = [[UIButton alloc] init]; + self.handBtn.titleLabel.font = [UIFont systemFontOfSize:12]; + [self.handBtn setTitle:@"牵手良缘" forState:(UIControlStateNormal)]; + [self.handBtn setTitleColor:RGB16A(0xffffff, 0.4) forState:(UIControlStateNormal)]; + [self.handBtn setTitleColor:RGB16(0xffffff) forState:(UIControlStateSelected)]; + [self.handBtn setBackgroundImage:[UIImage imageWithColor:RGB16(0xA33CBB)] forState:(UIControlStateSelected)]; + [self.handBtn setBackgroundImage:[UIImage imageWithColor:RGB16A(0x000000,0.3)] forState:(UIControlStateNormal)]; + [self.handBtn addRoundedCornersWithRadius:ScaleWidth(10)]; + self.handBtn.userInteractionEnabled = NO; + [self addSubview:self.handBtn]; + [self.handBtn mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.equalTo(self.heartBtn.mas_right).offset(23); + make.width.mas_offset(60); + make.height.mas_offset(20); + make.centerY.equalTo(self.heartBtn); + }]; + + self.heartDotImageView1 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"room_friend_part_dot"]]; + self.heartDotImageView1.contentMode = UIViewContentModeScaleAspectFit; + [self addSubview:self.heartDotImageView1]; + [self.heartDotImageView1 mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.equalTo(self.waitBtn.mas_right); + make.right.equalTo(self.heartBtn.mas_left); + make.centerY.equalTo(self.heartBtn); + }]; + + self.heartDotImageView2 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"room_friend_part_dot"]]; + self.heartDotImageView2.contentMode = UIViewContentModeScaleAspectFit; + [self addSubview:self.heartDotImageView2]; + [self.heartDotImageView2 mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.equalTo(self.heartBtn.mas_right); + make.right.equalTo(self.handBtn.mas_left); + make.centerY.equalTo(self.heartBtn); + }]; + + + + self.bgImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"room_friend_heart_bg"]]; + self.bgImageView.contentMode = UIViewContentModeScaleToFill; + [self addSubview:self.bgImageView]; + [self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) { + make.width.mas_equalTo(ScaleWidth(375)); + make.height.mas_equalTo(ScaleWidth(230)); + make.centerX.equalTo(self); + make.top.equalTo(self.compereView.mas_bottom).offset(18); + }]; +// self.bgTopImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"room_friend_top_heart_bg"]]; +// self.bgTopImageView.contentMode = UIViewContentModeScaleToFill; +// [self addSubview:self.bgTopImageView]; +// [self.bgTopImageView mas_makeConstraints:^(MASConstraintMaker *make) { +// make.edges.equalTo(self.bgImageView); +// }]; + + self.leftSeatView1 = [[QXFrientSeatView alloc] init]; + self.leftSeatView1.isLeft = YES; + self.leftSeatView1.contentView.number = 1; + [self addSubview:self.leftSeatView1]; + [self.leftSeatView1 mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(self.compereView.mas_bottom); +// make.left.equalTo(self.compereView.mas_right); + make.left.mas_equalTo(self.compereView.mas_right); + make.width.mas_equalTo(ScaleWidth(55)); + make.height.mas_equalTo(ScaleWidth(55-10)+51); + }]; + + self.rightSeatView1 = [[QXFrientSeatView alloc] init]; + self.rightSeatView1.isLeft = NO; + self.rightSeatView1.contentView.number = 6; + [self addSubview:self.rightSeatView1]; + [self.rightSeatView1 mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(self.compereView.mas_bottom); + make.right.equalTo(self.guestView.mas_left); + make.width.mas_equalTo(ScaleWidth(55)); + make.height.mas_equalTo(ScaleWidth(55-10)+51); + }]; + + self.leftSeatView2 = [[QXFrientSeatView alloc] init]; + self.leftSeatView2.isLeft = YES; + self.leftSeatView2.contentView.number = 2; + [self addSubview:self.leftSeatView2]; + [self.leftSeatView2 mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(self.leftSeatView1.mas_bottom); + make.left.equalTo(self.compereView); + make.width.mas_equalTo(ScaleWidth(55)); + make.height.mas_equalTo(ScaleWidth(55-10)+51); + }]; + + self.rightSeatView2 = [[QXFrientSeatView alloc] init]; + self.rightSeatView2.isLeft = NO; + self.rightSeatView2.contentView.number = 5; + [self addSubview:self.rightSeatView2]; + [self.rightSeatView2 mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(self.rightSeatView1.mas_bottom); + make.right.equalTo(self.guestView); + make.width.mas_equalTo(ScaleWidth(55)); + make.height.mas_equalTo(ScaleWidth(55-10)+51); + }]; + + self.leftSeatView3 = [[QXFrientSeatView alloc] init]; + self.leftSeatView3.isLeft = YES; + self.leftSeatView3.contentView.number = 3; + [self addSubview:self.leftSeatView3]; + [self.leftSeatView3 mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(self.leftSeatView2.mas_bottom); + make.left.equalTo(self.leftSeatView1); + make.width.mas_equalTo(ScaleWidth(55)); + make.height.mas_equalTo(ScaleWidth(55-10)+51); + }]; + + self.rightSeatView3 = [[QXFrientSeatView alloc] init]; + self.rightSeatView3.isLeft = NO; + self.rightSeatView3.contentView.number = 4; + [self addSubview:self.rightSeatView3]; + [self.rightSeatView3 mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(self.rightSeatView2.mas_bottom); + make.right.equalTo(self.rightSeatView1); + make.width.mas_equalTo(ScaleWidth(55)); + make.height.mas_equalTo(ScaleWidth(55-10)+51); + }]; + self.leftSeatView1.delegate = self; + self.leftSeatView2.delegate = self; + self.leftSeatView3.delegate = self; + self.rightSeatView1.delegate = self; + self.rightSeatView2.delegate = self; + self.rightSeatView3.delegate = self; + + + self.startBtn = [[UIButton alloc] init]; + [self.startBtn setTitle:@"开始" forState:(UIControlStateNormal)]; + self.startBtn.titleLabel.font = [UIFont systemFontOfSize:12]; + [self.startBtn setTitleColor:UIColor.whiteColor forState:(UIControlStateNormal)]; + [self.startBtn setBackgroundImage:[UIImage imageNamed:@"room_friend_start_btn_bg"] forState:(UIControlStateNormal)]; + [self.startBtn addTarget:self action:@selector(startAction) forControlEvents:(UIControlEventTouchUpInside)]; + [self addSubview:self.startBtn]; + [self.startBtn mas_makeConstraints:^(MASConstraintMaker *make) { + make.centerX.equalTo(self.heartBtn); + make.width.mas_offset(70); + make.height.mas_offset(22); + make.top.equalTo(self.heartBtn.mas_bottom).offset(9); + }]; + + self.timeBgView = [[UIView alloc] init]; + self.timeBgView.hidden = YES; + [self addSubview:self.timeBgView]; + [self.timeBgView mas_makeConstraints:^(MASConstraintMaker *make) { + make.width.mas_equalTo(156); + make.height.mas_equalTo(22); + make.top.equalTo(self.startBtn); + make.centerX.equalTo(self.heartBtn); + }]; + + self.timeBgImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"room_friend_time_bg"]]; + [self.timeBgView addSubview:self.timeBgImageView]; + [self.timeBgImageView mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self.timeBgView); + }]; + + self.timeLabel = [[UILabel alloc] init]; + self.timeLabel.text = @"倒计时:00:00:00"; + self.timeLabel.font = [UIFont systemFontOfSize:12]; + self.timeLabel.textColor = RGB16(0xD7CBFF); + self.timeLabel.textAlignment = NSTextAlignmentCenter; + [self.timeBgView addSubview:self.timeLabel]; + [self.timeLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self.timeBgView); + }]; + + [self addSubview:self.tenSecondLabel]; + [self.tenSecondLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.centerX.centerY.equalTo(self); + }]; + + + self.endBtn = [[UIButton alloc] init]; + self.endBtn.hidden = YES; + [self.endBtn setTitle:@"结束" forState:(UIControlStateNormal)]; + self.endBtn.titleLabel.font = [UIFont systemFontOfSize:12]; + [self.endBtn setTitleColor:UIColor.whiteColor forState:(UIControlStateNormal)]; + [self.endBtn setBackgroundImage:[UIImage imageNamed:@"room_friend_end_btn_bg"] forState:(UIControlStateNormal)]; + [self.endBtn addTarget:self action:@selector(endAction) forControlEvents:(UIControlEventTouchUpInside)]; + [self addSubview:self.endBtn]; + [self.endBtn mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.mas_equalTo(SCREEN_WIDTH/2); + make.width.mas_offset(90); + make.height.mas_offset(24); + make.bottom.equalTo(self.rightSeatView3.mas_top); + }]; + + self.delayBtn = [[UIButton alloc] init]; + self.delayBtn.hidden = YES; + [self.delayBtn setTitle:@"延时" forState:(UIControlStateNormal)]; + self.delayBtn.titleLabel.font = [UIFont systemFontOfSize:12]; + [self.delayBtn setTitleColor:UIColor.whiteColor forState:(UIControlStateNormal)]; + [self.delayBtn setBackgroundImage:[UIImage imageNamed:@"room_friend_delay_btn_bg"] forState:(UIControlStateNormal)]; + [self.delayBtn addTarget:self action:@selector(delayAction) forControlEvents:(UIControlEventTouchUpInside)]; + [self addSubview:self.delayBtn]; + [self.delayBtn mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.equalTo(self.endBtn.mas_left); + make.width.mas_offset(90); + make.height.mas_offset(24); + make.centerY.equalTo(self.endBtn); + }]; + + + self.heartTopLineImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"heart_line_31"]]; + [self addSubview:self.heartTopLineImageView]; + [self.heartTopLineImageView mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.equalTo(self.leftSeatView1.mas_right).offset(-5); + make.right.equalTo(self.rightSeatView1.mas_left).offset(5); + make.height.mas_equalTo(33); + make.top.equalTo(self.leftSeatView1).offset(22); + }]; + self.heartTopImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"room_friend_nor_heart"]]; + [self addSubview:self.heartTopImageView]; + [self.heartTopImageView mas_makeConstraints:^(MASConstraintMaker *make) { + make.centerX.equalTo(self); + make.width.mas_equalTo(43); + make.height.mas_equalTo(36); + make.centerY.equalTo(self.heartTopLineImageView); + }]; + self.heartTopLabel = [[UILabel alloc] init]; +// DIN Alternate +// DIN Condensed + self.heartTopLabel.font = [UIFont fontWithName:@"DIN Alternate" size:16]; + self.heartTopLabel.text = @"0"; + self.heartTopLabel.textColor = [UIColor whiteColor]; + self.heartTopLabel.textAlignment = NSTextAlignmentCenter; + [self addSubview:self.heartTopLabel]; + [self.heartTopLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.centerX.centerY.equalTo(self.heartTopImageView); + }]; + + self.heartTopLinePlayer.hidden = YES; + [self insertSubview:self.heartTopLinePlayer belowSubview:self.heartTopImageView]; + [self.heartTopLinePlayer mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self.heartTopLineImageView); + }]; + + self.heartCenterLineImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"heart_line_31"]]; + [self addSubview:self.heartCenterLineImageView]; + [self.heartCenterLineImageView mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.equalTo(self.leftSeatView2.mas_right).offset(-5); + make.right.equalTo(self.rightSeatView2.mas_left).offset(5); + make.height.mas_equalTo(33); + make.top.equalTo(self.leftSeatView2).offset(22); + }]; + self.heartCenterImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"room_friend_top_heart_bg"]]; + [self addSubview:self.heartCenterImageView]; + [self.heartCenterImageView mas_makeConstraints:^(MASConstraintMaker *make) { + make.centerX.equalTo(self); + make.width.mas_equalTo(118); + make.height.mas_equalTo(72); + make.centerY.equalTo(self.heartCenterLineImageView).offset(-20); + }]; + + + self.heartCenterValueBgImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"room_friend_center_value_bg"]]; + self.heartCenterValueBgImageView.contentMode = UIViewContentModeScaleToFill; + [self addSubview:self.heartCenterValueBgImageView]; + + self.heartCenterLabel = [[UILabel alloc] init]; +// DIN Alternate +// DIN Condensed + self.heartCenterLabel.font = [UIFont fontWithName:@"DIN Condensed" size:32]; + self.heartCenterLabel.text = @"0"; + self.heartCenterLabel.textAlignment = NSTextAlignmentCenter; + self.heartCenterLabel.textColor = RGB16(0x853CFF); + [self addSubview:self.heartCenterLabel]; + + + + + + + self.heartCenterLinePlayer.hidden = YES; + [self insertSubview:self.heartCenterLinePlayer belowSubview:self.heartCenterImageView]; + [self.heartCenterLinePlayer mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self.heartCenterLineImageView); + }]; + [self.heartCenterLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.centerX.equalTo(self.heartCenterImageView); + make.centerY.equalTo(self.heartCenterLinePlayer); + }]; + [self.heartCenterValueBgImageView mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.equalTo(self.heartCenterLabel).offset(-5); + make.right.equalTo(self.heartCenterLabel).offset(5); + make.height.mas_equalTo(35); + make.centerY.equalTo(self.heartCenterLabel).offset(-2); + }]; + + self.heartBottomLineImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"heart_line_31"]]; + [self addSubview:self.heartBottomLineImageView]; + [self.heartBottomLineImageView mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.equalTo(self.leftSeatView3.mas_right).offset(-5); + make.right.equalTo(self.rightSeatView3.mas_left).offset(5); + make.height.mas_equalTo(33); + make.top.equalTo(self.leftSeatView3).offset(22); + }]; + self.heartBottomImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"room_friend_nor_heart"]]; + [self addSubview:self.heartBottomImageView]; + [self.heartBottomImageView mas_makeConstraints:^(MASConstraintMaker *make) { + make.centerX.equalTo(self); + make.width.mas_equalTo(43); + make.height.mas_equalTo(36); + make.centerY.equalTo(self.heartBottomLineImageView); + }]; + self.heartBottomLabel = [[UILabel alloc] init]; +// DIN Alternate +// DIN Condensed + self.heartBottomLabel.font = [UIFont fontWithName:@"DIN Alternate" size:16]; + self.heartBottomLabel.text = @"0"; + self.heartBottomLabel.textColor = [UIColor whiteColor]; + [self addSubview:self.heartBottomLabel]; + [self.heartBottomLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.centerX.centerY.equalTo(self.heartBottomImageView); + }]; + + self.heartBottomLinePlayer.hidden = YES; + [self insertSubview:self.heartBottomLinePlayer belowSubview:self.heartBottomImageView]; + [self.heartBottomLinePlayer mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self.heartBottomLineImageView); + }]; + + [self.leftSeatView1.contentView addTapBlock:^(id _Nonnull obj) { + [weakSelf didClickSeatView:obj]; + }]; + [self.leftSeatView2.contentView addTapBlock:^(id _Nonnull obj) { + [weakSelf didClickSeatView:obj]; + }]; + [self.leftSeatView3.contentView addTapBlock:^(id _Nonnull obj) { + [weakSelf didClickSeatView:obj]; + }]; + [self.rightSeatView1.contentView addTapBlock:^(id _Nonnull obj) { + [weakSelf didClickSeatView:obj]; + }]; + [self.rightSeatView2.contentView addTapBlock:^(id _Nonnull obj) { + [weakSelf didClickSeatView:obj]; + }]; + [self.rightSeatView3.contentView addTapBlock:^(id _Nonnull obj) { + [weakSelf didClickSeatView:obj]; + }]; + + + [self.allSeatViewArray replaceObjectAtIndex:8 withObject:self.compereView]; + [self.allSeatViewArray replaceObjectAtIndex:9 withObject:self.guestView]; + [self.allSeatViewArray replaceObjectAtIndex:0 withObject:self.leftSeatView1.contentView]; + [self.allSeatViewArray replaceObjectAtIndex:1 withObject:self.leftSeatView2.contentView]; + [self.allSeatViewArray replaceObjectAtIndex:2 withObject:self.leftSeatView3.contentView]; + [self.allSeatViewArray replaceObjectAtIndex:3 withObject:self.rightSeatView3.contentView]; + [self.allSeatViewArray replaceObjectAtIndex:4 withObject:self.rightSeatView2.contentView]; + [self.allSeatViewArray replaceObjectAtIndex:5 withObject:self.rightSeatView1.contentView]; + self.heartTopLineImageView.hidden = YES; + self.heartCenterLineImageView.hidden = YES; + self.heartBottomLineImageView.hidden = YES; + + + self.heartTopImageView.hidden = YES; + self.heartCenterImageView.hidden = YES; + self.heartBottomImageView.hidden = YES; +} +#pragma mark - QXRoomSeatDelegate +-(void)friendPowerSendGiftWithUser:(QXRoomPitModel *)user heartId:(NSString *)heartId{ + if ([self.delegate respondsToSelector:@selector(friendPowerSendGiftWithUser:heartId:)]) { + [self.delegate friendPowerSendGiftWithUser:user heartId:heartId]; + } +} + +-(void)setRoomModel:(QXRoomModel *)roomModel{ + _roomModel = roomModel; + for (int i = 0; i < roomModel.room_info.pit_list.count; i++) { + QXRoomPitModel*model = roomModel.room_info.pit_list[i]; + if (model.pit_number.integerValue == 7 || model.pit_number.integerValue == 8) { + continue; + } + if (model.pit_number.integerValue > 10) { + continue; + } + id object = self.allSeatViewArray[model.pit_number.integerValue-1]; + if ([object isKindOfClass:[QXRoomSeatContentView class]]) { + QXRoomSeatContentView *contentView = (QXRoomSeatContentView *)object; + contentView.pitModel = model; + }else{ + continue; + } + } + if (self.roomModel.user_info.pit_number.intValue > 0) { + self.myPitNumber = roomModel.user_info.pit_number.integerValue; + }else{ + self.myPitNumber = -1; + } + [self configStep]; + [self configGameOptionBtn]; + [self configTime]; + [self configHeart]; + [self configPowerBtn]; +} +// 配置操作按钮 +-(void)configGameOptionBtn{ + /// 开始 、 结束、延时按钮 + if (self.myPitNumber == 9){ +// || (self.roomModel.user_info.is_host.intValue == 1) || (self.roomModel.user_info.is_management.intValue == 1) || (self.roomModel.user_info.is_room_owner.intValue == 1)) { + /// 我在9号麦 或者 我有主持、管理、房主权限 + if (self.roomModel.friend_info.step.integerValue == 1) { + // 当前为等待邂逅环节 显示开始按钮 隐藏延时、结束按钮 + self.startBtn.hidden = NO; + self.endBtn.hidden = YES; + self.delayBtn.hidden = YES; + }else if (self.roomModel.friend_info.step.integerValue == 2) { + // 当前为心动连线环节 隐藏开始按钮 显示延时、结束按钮 + self.startBtn.hidden = YES; + self.endBtn.hidden = NO; + self.delayBtn.hidden = NO; + }else{ + // 其他环节按钮均不显示 + self.startBtn.hidden = YES; + self.delayBtn.hidden = YES; + self.endBtn.hidden = YES; + } + }else{ + // 所有观众均无按钮操作权限 + self.startBtn.hidden = YES; + self.delayBtn.hidden = YES; + self.endBtn.hidden = YES; + } +} +// 倒计时显示配置 +-(void)configTime{ + if (self.roomModel.friend_info.step.integerValue == 1) { + // 当前为等待邂逅环节 隐藏倒计时显示 停止定时器 + self.timeBgView.hidden = YES; + [self stopTimer]; + }else{ + /// 其余两个阶段显示倒计时 + self.timeBgView.hidden = NO; + } + if (self.roomModel.friend_info.step.intValue == 2) { + /// 心动连线时启动定时器 + [self startTimer]; + } + if (self.roomModel.friend_info.step.intValue == 3) { + /// 牵手良缘时溶质定时器 + [self stopTimer]; + self.timeLabel.text = @"倒计时:00:00:00"; + } +} +/// 配置三个阶段 +-(void)configStep{ + if (self.roomModel.friend_info.step.integerValue == 1) { + /// 等待邂逅 选中 其余两个不选中 + self.waitBtn.selected = YES; + self.heartBtn.selected = NO; + self.handBtn.selected = NO; + }else if (self.roomModel.friend_info.step.integerValue == 2) { + /// 等待 、 心动选中 牵手不选中 + self.waitBtn.selected = YES; + self.heartBtn.selected = YES; + self.handBtn.selected = NO; + }else{ + /// 三个阶段全部选中 + self.waitBtn.selected = YES; + self.heartBtn.selected = YES; + self.handBtn.selected = YES; + } +} +/// 配置 +-(void)configHeart{ + if (self.roomModel.friend_info.step.intValue == 1) { + /// 隐藏中间心动值 、心动背景 、隐藏连线 连线停止动画 + self.heartTopImageView.hidden = YES; + self.heartCenterImageView.hidden = YES; + self.heartBottomImageView.hidden = YES; + self.heartCenterLabel.hidden = YES; + self.heartCenterValueBgImageView.hidden = YES; + self.heartTopLabel.hidden = YES; + self.heartBottomLabel.hidden = YES; + self.heartTopLinePlayer.hidden = YES; + [self.heartTopLinePlayer stopAnimation]; + self.heartCenterLinePlayer.hidden = YES; + [self.heartCenterLinePlayer stopAnimation]; + self.heartBottomLinePlayer.hidden = YES; + [self.heartBottomLinePlayer stopAnimation]; + self.topIsAnimate = NO; + self.centerIsAnimate = NO; + self.bottomIsAnimate = NO; + self.rightSeatView1.heartModel = nil; + self.rightSeatView2.heartModel = nil; + self.rightSeatView3.heartModel = nil; + self.leftSeatView1.heartModel = nil; + self.leftSeatView2.heartModel = nil; + self.leftSeatView3.heartModel = nil; + }else if (self.roomModel.friend_info.step.intValue == 2 || self.roomModel.friend_info.step.intValue == 3) { + QXRoomFriendHeartListModel *md1; + QXRoomFriendHeartListModel *md2; + QXRoomFriendHeartListModel *md3; + /// 获取三组心动值 (以下三个if判断 分别判断数组长度是否大于3 2 1 防止服务端数据错乱时闪退) + if (self.roomModel.friend_info.heart_list.count>=3) { + md1 = self.roomModel.friend_info.heart_list.firstObject; + md2 = self.roomModel.friend_info.heart_list[1]; + md3 = self.roomModel.friend_info.heart_list[2]; + } + if (self.roomModel.friend_info.heart_list.count==2) { + md1 = self.roomModel.friend_info.heart_list.firstObject; + md2 = self.roomModel.friend_info.heart_list[1]; + } + if (self.roomModel.friend_info.heart_list.count==1) { + md1 = self.roomModel.friend_info.heart_list.firstObject; + } + @weakify(self); + if (md1.heartNum.longValue>0) { + /// 第一组心动值大于1 + self.heartCenterLabel.text = md1.heartNum; + self.heartCenterLabel.hidden = NO; + self.heartCenterValueBgImageView.hidden = NO; + self.heartCenterImageView.hidden = NO; + self.heartCenterLinePlayer.hidden = NO; + if (self.centerIsAnimate == NO) { + [self.heartCenterLineParser parseWithNamed:@"heart_line_31" inBundle:nil completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) { + if (videoItem != nil) { + @strongify(self); + self.heartCenterLinePlayer.videoItem = videoItem; + [self.heartCenterLinePlayer startAnimation]; + self.centerIsAnimate = YES; + } + } failureBlock:^(NSError * _Nonnull error) { + + }]; + } + }else{ + self.heartCenterImageView.hidden = YES; + self.heartCenterLabel.hidden = YES; + self.heartCenterValueBgImageView.hidden = YES; + self.heartCenterLinePlayer.hidden = YES; + [self.heartCenterLinePlayer stopAnimation]; + } + if (md2.heartNum.longValue>0) { + self.heartTopLabel.text = md2.heartNum; + self.heartTopLabel.hidden = NO; + self.heartTopImageView.hidden = NO; + self.heartTopLinePlayer.hidden = NO; + if (self.topIsAnimate == NO) { + [self.heartTopLineParser parseWithNamed:@"heart_line_31" inBundle:nil completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) { + if (videoItem != nil) { + @strongify(self); + self.heartTopLinePlayer.videoItem = videoItem; + [self.heartTopLinePlayer startAnimation]; + self.topIsAnimate = YES; + } + } failureBlock:^(NSError * _Nonnull error) { + + }]; + } + }else{ + self.heartTopImageView.hidden = YES; + self.heartTopLabel.hidden = YES; + self.heartTopLinePlayer.hidden = YES; + [self.heartTopLinePlayer stopAnimation]; + } + if (md3.heartNum.longValue>0) { + self.heartBottomLabel.text = md3.heartNum; + self.heartBottomLabel.hidden = NO; + self.heartBottomImageView.hidden = NO; + self.heartBottomLinePlayer.hidden = NO; + if (self.bottomIsAnimate == NO) { + [self.heartBottomLineParser parseWithNamed:@"heart_line_31" inBundle:nil completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) { + if (videoItem != nil) { + @strongify(self); + self.heartBottomLinePlayer.videoItem = videoItem; + [self.heartBottomLinePlayer startAnimation]; + self.bottomIsAnimate = YES; + } + } failureBlock:^(NSError * _Nonnull error) { + + }]; + } + }else{ + self.heartBottomImageView.hidden = YES; + self.heartBottomLabel.hidden = YES; + self.heartBottomLinePlayer.hidden = YES; + [self.heartBottomLinePlayer stopAnimation]; + } + + } + +} + +-(void)configPowerBtn{ + QXRoomFriendHeartListModel *md1; + QXRoomFriendHeartListModel *md2; + QXRoomFriendHeartListModel *md3; + if (self.roomModel.friend_info.heart_list.count>=3) { + md1 = self.roomModel.friend_info.heart_list.firstObject; + md2 = self.roomModel.friend_info.heart_list[1]; + md3 = self.roomModel.friend_info.heart_list[2]; + } + if (self.roomModel.friend_info.heart_list.count==2) { + md1 = self.roomModel.friend_info.heart_list.firstObject; + md2 = self.roomModel.friend_info.heart_list[1]; + } + if (self.roomModel.friend_info.heart_list.count==1) { + md1 = self.roomModel.friend_info.heart_list.firstObject; + } + if (md1.heartNum.longValue>0) { + if ([self.leftSeatView2.contentView.pitModel.user_id isEqualToString:QXGlobal.shareGlobal.loginModel.user_id]) { + self.leftSeatView2.powerBtn.hidden = YES; + }else{ + self.leftSeatView2.powerBtn.hidden = NO; + } + if ([self.rightSeatView2.contentView.pitModel.user_id isEqualToString:QXGlobal.shareGlobal.loginModel.user_id]) { + self.rightSeatView2.powerBtn.hidden = YES; + }else{ + self.rightSeatView2.powerBtn.hidden = NO; + } + self.leftSeatView2.heartModel = md1; + self.rightSeatView2.heartModel = md1; + }else{ + self.leftSeatView2.powerBtn.hidden = YES; + self.rightSeatView2.powerBtn.hidden = YES; + } + + if (md2.heartNum.longValue>0) { + if ([self.leftSeatView1.contentView.pitModel.user_id isEqualToString:QXGlobal.shareGlobal.loginModel.user_id]) { + self.leftSeatView1.powerBtn.hidden = YES; + }else{ + self.leftSeatView1.powerBtn.hidden = NO; + } + if ([self.rightSeatView1.contentView.pitModel.user_id isEqualToString:QXGlobal.shareGlobal.loginModel.user_id]) { + self.rightSeatView1.powerBtn.hidden = YES; + }else{ + self.rightSeatView1.powerBtn.hidden = NO; + } + self.leftSeatView1.heartModel = md2; + self.rightSeatView1.heartModel = md2; + }else{ + self.leftSeatView1.powerBtn.hidden = YES; + self.rightSeatView1.powerBtn.hidden = YES; + } + + if (md3.heartNum.longValue>0) { + if ([self.leftSeatView3.contentView.pitModel.user_id isEqualToString:QXGlobal.shareGlobal.loginModel.user_id]) { + self.leftSeatView3.powerBtn.hidden = YES; + }else{ + self.leftSeatView3.powerBtn.hidden = NO; + } + if ([self.rightSeatView3.contentView.pitModel.user_id isEqualToString:QXGlobal.shareGlobal.loginModel.user_id]) { + self.rightSeatView3.powerBtn.hidden = YES; + }else{ + self.rightSeatView3.powerBtn.hidden = NO; + } + self.leftSeatView3.heartModel = md3; + self.rightSeatView3.heartModel = md3; + }else{ + self.leftSeatView3.powerBtn.hidden = YES; + self.rightSeatView3.powerBtn.hidden = YES; + } +} + +-(void)didUpDownSeatWithUser:(QXUserHomeModel *)user isUpSeat:(BOOL)isUpSeat pit_number:(NSInteger)pit_number{ + if (pit_number > 10) { + return; + } + id object = self.allSeatViewArray[pit_number-1]; + if (![object isKindOfClass:[QXRoomSeatContentView class]]) { + return; + } + QXRoomSeatContentView *contentView = (QXRoomSeatContentView *)object; + QXRoomPitModel *model = contentView.pitModel; + if (isUpSeat) { + model.user_id = user.user_id; + model.avatar = user.avatar; + model.dress = user.dress; + model.sex = user.sex; + model.nickname = user.nickname; + model.user_code = user.user_code; + model.charm = user.charm; + }else{ + model.user_id = @"0"; + model.avatar = @""; + model.dress = @""; + model.sex = @""; + model.nickname = @""; + model.user_code = @""; + model.charm = @""; + if (contentView.isSeatSpeaking) { + [contentView stopAudioAnimation]; + } + } + if ([user.user_id isEqualToString:[QXGlobal shareGlobal].loginModel.user_id]) { + if (isUpSeat) { + self.myPitNumber = pit_number; + }else{ + self.myPitNumber = -1; + } + } + contentView.pitModel = model; + [self configGameOptionBtn]; +} +-(void)didClickSeatView:(QXRoomSeatContentView*)seatView{ + + NSString *pit_number = [NSString stringWithFormat:@"%ld",seatView.number] ; + QXLOG(@"点击了%ld麦位",seatView.number); + if (seatView.pitModel.user_id.longLongValue > 0) { + if (self.delegate && [self.delegate respondsToSelector:@selector(didClickUserHeaderWithPitModel:userModel:isPkRoom:pkRoomId:isNoTakeOff:)]) { + [self.delegate didClickUserHeaderWithPitModel:seatView.pitModel userModel:nil isPkRoom:NO pkRoomId:@"" isNoTakeOff:NO]; + } + }else{ + + if (seatView.number == 9) { + /// 麦位没人时点9号麦直接请求上麦 + [QXMineNetwork roomUpSeatWithRoomId:self.roomModel.room_info.room_id pit_number:pit_number isUpSeat:YES successBlock:^(NSDictionary * _Nonnull dict) { + + } failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) { + showToast(msg); + }]; + return; + }else if (seatView.number == 10) { + if (self.myPitNumber == 9 || self.roomModel.user_info.is_room_owner.intValue == 1 || self.roomModel.user_info.is_management.intValue == 1) { + if (self.delegate && [self.delegate respondsToSelector:@selector(didHugSeatWithPitNumber:)]) { + [self.delegate didHugSeatWithPitNumber:@"10"]; + } + }else{ + showToast(@"请等待主持抱麦"); + } + return; + }else{ + if (self.myPitNumber == 9) { + // 排麦模式 弹出上麦 + if (self.myPitNumber == 9 || self.roomModel.user_info.is_room_owner.intValue == 1 || self.roomModel.user_info.is_management.intValue == 1 || self.roomModel.user_info.is_host.intValue == 1) { + MJWeakSelf + /// 自己在9号麦 管理麦位 + QXRoomPitModel *pitModel = seatView.pitModel; + self.settingView.roomId = self.roomModel.room_info.room_id; + self.settingView.isNoHaveLockMic = YES; + self.settingView.pitModel = pitModel; + self.settingView.setSuccessBlock = ^(QXRoomPitModel * _Nonnull pitModel) { + seatView.pitModel = pitModel; + // if (self.isPKMyRoom || self.isPKOtherRoom) { + // [seatView hideCharm]; + // } + }; + self.settingView.clickHugBlock = ^(QXRoomPitModel * _Nonnull pitModel) { + // [weakSelf showOnlineListWithPitNumber:pitModel.pit_number]; + if (weakSelf.delegate && [weakSelf.delegate respondsToSelector:@selector(didHugSeatWithPitNumber:)]) { + [weakSelf.delegate didHugSeatWithPitNumber:pitModel.pit_number]; + } + }; + [self.settingView showInView:self.viewController.view]; + } + }else{ + if (self.roomModel.room_info.room_up_pit_type.intValue == 2) { + /// 自由麦请求 + [QXMineNetwork roomUpSeatWithRoomId:self.roomModel.room_info.room_id pit_number:pit_number isUpSeat:YES successBlock:^(NSDictionary * _Nonnull dict) { + + } failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) { + showToast(msg); + }]; + }else{ + /// 排麦模式 + // 排麦模式 弹出上麦 + if (self.myPitNumber == 9 || self.roomModel.user_info.is_room_owner.intValue == 1 || self.roomModel.user_info.is_management.intValue == 1 || self.roomModel.user_info.is_host.intValue == 1) { + MJWeakSelf + /// 自己在9号麦 管理麦位 + QXRoomPitModel *pitModel = seatView.pitModel; + self.settingView.roomId = self.roomModel.room_info.room_id; + self.settingView.isNoHaveLockMic = YES; + self.settingView.pitModel = pitModel; + self.settingView.setSuccessBlock = ^(QXRoomPitModel * _Nonnull pitModel) { + seatView.pitModel = pitModel; + // if (self.isPKMyRoom || self.isPKOtherRoom) { + // [seatView hideCharm]; + // } + }; + self.settingView.clickHugBlock = ^(QXRoomPitModel * _Nonnull pitModel) { + // [weakSelf showOnlineListWithPitNumber:pitModel.pit_number]; + if (weakSelf.delegate && [weakSelf.delegate respondsToSelector:@selector(didHugSeatWithPitNumber:)]) { + [weakSelf.delegate didHugSeatWithPitNumber:pitModel.pit_number]; + } + }; + [self.settingView showInView:self.viewController.view]; + } + } + } + } + } +} +-(void)startAction{ +// [self.successView showInView:KEYWINDOW]; +// return;; + [QXMineNetwork friendRoomStartWithRoomId:self.roomModel.room_info.room_id successBlock:^(NSDictionary * _Nonnull dict) { + + } failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) { + showToast(msg); + }]; +} + +-(void)endAction{ + [QXMineNetwork friendRoomEndWithRoomId:self.roomModel.room_info.room_id friendId:self.roomModel.friend_info.friend_id successBlock:^(NSDictionary * _Nonnull dict) { + + } failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) { + showToast(msg); + }]; +} + +-(void)delayAction{ + [QXMineNetwork friendRoomDelayWithRoomId:self.roomModel.room_info.room_id friendId:self.roomModel.friend_info.friend_id successBlock:^(NSDictionary * _Nonnull dict) { + + } failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) { + showToast(msg); + }]; +} +-(void)createRelationActionWithRelationModel:(QXRoomFriendRelationModel*)relationModel relationId:(NSString*)relationId selectedCpName:(NSString *) selectedCpName{ + MJWeakSelf + [QXMineNetwork friendRoomCreateRelationWithRoomId:self.roomModel.room_info.room_id + friendId:self.roomModel.friend_info.friend_id + user1Id:relationModel.user1_id + user2Id:relationModel.user2_id + relationId:relationId successBlock:^(NSDictionary * _Nonnull dict) { + [weakSelf.cpView hide]; + } failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) { + showToast(msg); + }]; +} + +-(void)friendSeatDidChanged:(NSArray *)pitArray{ + if (self.myPitNumber ==9 || self.myPitNumber == 10) { + + }else{ + self.myPitNumber = -1; + } + for (QXRoomPitModel*model in pitArray) { + QXRoomSeatContentView *contentView = self.allSeatViewArray[model.pit_number.intValue-1]; + QXRoomPitModel *md = contentView.pitModel; + md.user_id = model.user_id; + md.avatar = model.avatar; + md.dress = model.dress; + md.sex = model.sex; + md.nickname = model.nickname; + md.user_code = model.user_code; + md.charm = model.charm; + contentView.pitModel = md; + if (contentView.isSeatSpeaking) { + [contentView stopAudioAnimation]; + } + if ([md.user_id isEqualToString:QXGlobal.shareGlobal.loginModel.user_id]) { + self.myPitNumber = md.pit_number.integerValue; + } + } +} + +/// 交友房阶段发生变化 step 阶段 1等待 2心动 3牵手 friend_id 场次id +-(void)friendPartDidChangedWithType:(NSString*)step friend_id:(NSString*)friend_id end_time:(NSString*)end_time relationModel:(nonnull QXRoomFriendRelationModel *)relationModel{ + if (step.intValue == 1) { + self.roomModel.friend_info.heart_list = @[]; + } + self.roomModel.friend_info.step = [NSString stringWithFormat:@"%@",step]; + self.roomModel.friend_info.friend_id = friend_id; + self.roomModel.friend_info.end_time = end_time.longLongValue; + [self configStep]; + [self configGameOptionBtn]; + [self configTime]; + [self configHeart]; + [self configPowerBtn]; + if (step.intValue == 3 && relationModel != nil) { + if (self.myPitNumber == 9) { + if (self.cpView.dataArray.count == 0) { + [self.cpView getRelationShipList]; + } + self.cpView.model = relationModel; + [self.cpView showInView:KEYWINDOW]; + } + } +} +/// 交友房时间发生延时 end_time 截止时间 +-(void)friendTimeDelayWithTime:(NSString*)end_time{ + self.roomModel.friend_info.end_time = end_time.longLongValue; + [self startTimer]; +} +/// 心动值发生变化 +-(void)friendHeartNumberDidChanged:(NSArray *)heartArray{ + self.roomModel.friend_info.heart_list = heartArray; + [self configHeart]; + [self configPowerBtn]; +} +// 关系创建完成 +-(void)friendRelationIsCreatedWithrelationModel:(QXRoomFriendRelationModel*)relationModel{ + [self.successView setDataWithRelationModel:relationModel cpName:relationModel.relation_name]; + [self.successView showInView:KEYWINDOW]; +} + + +-(void)clearCharm{ + for (id object in self.allSeatViewArray) { + if ([object isKindOfClass:[QXRoomSeatContentView class]]) { + QXRoomSeatContentView *contentView = (QXRoomSeatContentView *)object; + QXRoomPitModel *model = contentView.pitModel; + model.charm = @"0"; + contentView.pitModel = model; + } + } +} +-(void)setSeatCharmWithUser:(QXUserHomeModel *)model{ + for (QXRoomSeatContentView *seatView in self.allSeatViewArray) { + QXRoomPitModel *md = seatView.pitModel; + if ([model.user_id isEqualToString:md.user_id]) { + md.charm = model.charm; + seatView.pitModel = md; + break; + } + } +} + +-(void)roomUserInfoDidChanged:(QXUserHomeModel *)user{ + for (QXRoomSeatContentView *seatView in self.allSeatViewArray) { + QXRoomPitModel *md = seatView.pitModel; + if ([user.user_id isEqualToString:md.user_id]) { + md.dress = user.dress; + md.nickname = user.nickname; + md.sex = user.sex; + md.avatar = user.avatar; + seatView.pitModel = md; + break; + } + } +} +-(void)animateIsFinishedWithModel:(QXRoomFriendRelationModel *)model{ + if ([model.room_id isExist]) { + if ([model.user1_id isEqualToString:QXGlobal.shareGlobal.loginModel.user_id] || [model.user2_id isEqualToString:QXGlobal.shareGlobal.loginModel.user_id]) { + [[QXGlobal shareGlobal] joinRoomWithRoomId:model.room_id isRejoin:NO navagationController:self.viewController.navigationController]; + } + } + if (_successView) { + _successView.delegate = nil; + _successView = nil; + } +} +-(void)startTimer{ + MJWeakSelf + NSTimeInterval timeInterval = [[NSDate date] timeIntervalSince1970]; + // 将秒转换为毫秒 + long long milliseconds = (long long)(timeInterval); + self.startTime = self.roomModel.friend_info.end_time - milliseconds; + if (self.startTime <= 0) { + //时间错误不进行倒计时 + self.timeLabel.text = @"倒计时:00:00:00"; + return; + } + [self stopTimer]; + _timer = [QXTimer scheduledTimerWithTimeInterval:1 repeats:YES queue:dispatch_get_main_queue() block:^{ + dispatch_async(dispatch_get_main_queue(), ^{ + weakSelf.startTime--; + NSInteger hour = self.startTime/60/60; + NSInteger min = (self.startTime % 3600) / 60; + NSInteger second = self.startTime % 60; + if (weakSelf.startTime <= 10) { + weakSelf.tenSecondLabel.text = [NSString stringWithFormat:@"%ld",weakSelf.startTime]; + weakSelf.tenSecondLabel.hidden = NO; + [weakSelf addBoomAnimateWithView:weakSelf.tenSecondLabel isRepeat:NO duration:0.3 removedOnCompletion:YES]; + }else{ + weakSelf.tenSecondLabel.hidden = YES; + } + weakSelf.timeLabel.text = [NSString stringWithFormat:@"倒计时:%02ld:%02ld:%02ld",hour,min,(long)second]; + if (weakSelf.startTime<=0) { + [weakSelf stopTimer]; + weakSelf.tenSecondLabel.hidden = YES; + weakSelf.timeLabel.text = @"00:00:00"; + } + }); + }]; +} +-(void)addBoomAnimateWithView:(UIView*)view isRepeat:(BOOL)isRepeat duration:(CGFloat)duration removedOnCompletion:(BOOL)removedOnCompletion{ + CABasicAnimation *anima = [CABasicAnimation animation]; + anima.keyPath = @"transform.scale"; + anima.fromValue = @1.0; + anima.toValue = @1.3; + if (isRepeat) { + anima.repeatCount = 99999; + }else{ + anima.repeatCount = 1; + } + anima.duration = duration==0?0.15:duration; + anima.autoreverses = YES; + anima.removedOnCompletion = removedOnCompletion; + [view.layer addAnimation:anima forKey:nil]; +} +-(void)stopTimer{ + if (_timer) { + [self->_timer invalidate]; + self->_timer= nil; + } +} + +//- (SVGAPlayer *)svgaPlayer { +// if (_svgaPlayer == nil) { +// _svgaPlayer = [[SVGAPlayer alloc] init]; +// _svgaPlayer.loops = 1; +// _svgaPlayer.clearsAfterStop = YES; +// _svgaPlayer.delegate = self; +// _svgaPlayer.contentMode = UIViewContentModeScaleAspectFill; +// +// // [self.sweetRoomContentView.resultSvgaView addSubview:_resultPlayer]; +// // [_svgaPlayer mas_makeConstraints:^(MASConstraintMaker *make) { +// // make.edges.mas_equalTo(0); +// // }]; +// } +// return _svgaPlayer; +//} +//- (SVGAParser *)parser { +// if (!_parser) { +// _parser = [[SVGAParser alloc] init]; +// } +// return _parser; +//} +-(SVGAPlayer *)heartTopLinePlayer{ + if (_heartTopLinePlayer == nil) { + _heartTopLinePlayer = [[SVGAPlayer alloc] init]; + _heartTopLinePlayer.loops = 99999; + _heartTopLinePlayer.clearsAfterStop = YES; + _heartTopLinePlayer.delegate = self; + _heartTopLinePlayer.contentMode = UIViewContentModeScaleToFill; + } + return _heartTopLinePlayer; +} +-(SVGAParser *)heartTopLineParser{ + if (!_heartTopLineParser) { + _heartTopLineParser = [[SVGAParser alloc] init]; + } + return _heartTopLineParser; +} +-(SVGAPlayer *)heartCenterLinePlayer{ + if (_heartCenterLinePlayer == nil) { + _heartCenterLinePlayer = [[SVGAPlayer alloc] init]; + _heartCenterLinePlayer.loops = 99999; + _heartCenterLinePlayer.clearsAfterStop = YES; + _heartCenterLinePlayer.delegate = self; + _heartCenterLinePlayer.contentMode = UIViewContentModeScaleToFill; + } + return _heartCenterLinePlayer; +} +-(SVGAParser *)heartCenterLineParser{ + if (!_heartCenterLineParser) { + _heartCenterLineParser = [[SVGAParser alloc] init]; + } + return _heartCenterLineParser; +} +-(SVGAPlayer *)heartBottomLinePlayer{ + if (_heartBottomLinePlayer == nil) { + _heartBottomLinePlayer = [[SVGAPlayer alloc] init]; + _heartBottomLinePlayer.loops = 99999; + _heartBottomLinePlayer.clearsAfterStop = YES; + _heartBottomLinePlayer.delegate = self; + _heartBottomLinePlayer.contentMode = UIViewContentModeScaleToFill; + } + return _heartBottomLinePlayer; +} +-(SVGAParser *)heartBottomLineParser{ + if (!_heartBottomLineParser) { + _heartBottomLineParser = [[SVGAParser alloc] init]; + } + return _heartBottomLineParser; +} + +-(NSMutableArray *)allSeatViewArray{ + if (!_allSeatViewArray) { + _allSeatViewArray = [NSMutableArray arrayWithArray:@[ + @"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"10" + ]]; + } + return _allSeatViewArray; +} +-(QXTimer *)timer{ + if (!_timer) { + MJWeakSelf + _timer = [QXTimer scheduledTimerWithTimeInterval:1 repeats:YES queue:dispatch_get_main_queue() block:^{ + weakSelf.startTime--; + if (weakSelf.startTime<=0) { + [weakSelf stopTimer]; + } + }]; + } + return _timer; +} + +-(QXRoomSeatSettingView *)settingView{ + if (!_settingView) { + _settingView = [[QXRoomSeatSettingView alloc] init]; + } + return _settingView; +} +-(UILabel *)tenSecondLabel{ + if (!_tenSecondLabel) { + _tenSecondLabel = [[UILabel alloc] init]; + _tenSecondLabel.font = [UIFont boldSystemFontOfSize:110]; + _tenSecondLabel.textColor = [UIColor whiteColor]; + _tenSecondLabel.hidden = YES; + _tenSecondLabel.textAlignment = NSTextAlignmentCenter; + } + return _tenSecondLabel; +} +-(QXFriendCPView *)cpView{ + if (!_cpView) { + _cpView = [[QXFriendCPView alloc] init]; + MJWeakSelf + _cpView.commitBlock = ^(QXRoomFriendRelationModel * _Nonnull relationModel, NSString * _Nonnull selectedCpId, NSString * _Nonnull selectedCpName) { + [weakSelf createRelationActionWithRelationModel:relationModel relationId:selectedCpId selectedCpName:selectedCpName]; + }; + } + return _cpView; +} +-(QXFriendCPSuccessView *)successView{ + if (!_successView) { + _successView = [[QXFriendCPSuccessView alloc] init]; + _successView.delegate = self; + } + return _successView; +} + + +-(void)destroyViews{ + for (id object in self.allSeatViewArray) { + if ([object isKindOfClass:[QXRoomSeatContentView class]]) { + QXRoomSeatContentView *contentView = (QXRoomSeatContentView *)object; + [contentView destroyViews]; + } + } +} +@end + + + +@implementation QXFrientSeatView + +- (instancetype)init +{ + self = [super init]; + if (self) { + [self initSubviews]; + } + return self; +} +-(void)initSubviews{ + self.powerBtn = [[UIButton alloc] init]; + [self.powerBtn setTitle:@"助力" forState:(UIControlStateNormal)]; + [self.powerBtn addRoundedCornersWithRadius:10]; + [self.powerBtn addTarget:self action:@selector(powerAction) forControlEvents:(UIControlEventTouchUpInside)]; + self.powerBtn.hidden = YES; + [self.powerBtn setTitleColor:UIColor.whiteColor forState:(UIControlStateNormal)]; + self.powerBtn.titleLabel.font = [UIFont systemFontOfSize:12]; + [self addSubview:self.powerBtn]; + [self.powerBtn mas_makeConstraints:^(MASConstraintMaker *make) { + make.centerX.equalTo(self); + make.bottom.equalTo(self); + make.height.mas_equalTo(20); + make.width.mas_equalTo(44); + }]; + + self.contentView = [[QXRoomSeatContentView alloc] init]; + self.contentView.type = QXRoomSeatContentViewTypeFriend; + [self addSubview:self.contentView]; + [self.contentView mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.top.equalTo(self); + make.bottom.equalTo(self.powerBtn.mas_top).offset(-3); + }]; + + +} +-(void)setHeartModel:(QXRoomFriendHeartListModel *)heartModel{ + _heartModel = heartModel; +} +-(void)powerAction{ + if (self.delegate && [self.delegate respondsToSelector:@selector(friendPowerSendGiftWithUser:heartId:)]) { + [self.delegate friendPowerSendGiftWithUser:self.contentView.pitModel heartId:self.heartModel.heartId]; + } +} + +-(void)setIsLeft:(BOOL)isLeft{ + _isLeft = isLeft; + [self.powerBtn setBackgroundColor:isLeft?RGB16(0xD449E4):RGB16(0x4965E4)]; + self.contentView.noUserImageView.image = [UIImage imageNamed:isLeft?@"room_friend_left_seat":@"room_friend_right_seat"]; +} +@end diff --git a/QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatView.h b/QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatView.h index 40c400d..0507a77 100644 --- a/QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatView.h +++ b/QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatView.h @@ -9,6 +9,7 @@ #import "QXRoomSeatTypeNormalView.h" #import "QXRoomModel.h" #import "QXRoomSeatDelegate.h" +#import "QXRoomFriendRelationModel.h" NS_ASSUME_NONNULL_BEGIN typedef NS_ENUM(NSInteger) { @@ -23,6 +24,8 @@ typedef NS_ENUM(NSInteger) { QXRoomSeatViewTypeCabin, /// pk QXRoomSeatViewTypePK, + /// 交友房 + QXRoomSeatViewTypeFriend, }QXRoomSeatViewType; @@ -55,6 +58,8 @@ typedef NS_ENUM(NSInteger) { /// 房间内用户信息发生变化 -(void)roomUserInfoDidChanged:(QXUserHomeModel *)user; + + /// 拍卖位上下麦 -(void)didAuctiontUpDownSeatWithUser:(QXUserHomeModel *)user isUpSeat:(BOOL)isUpSeat; /// 开始拍卖 @@ -65,6 +70,9 @@ typedef NS_ENUM(NSInteger) { -(void)auctionDelayTimeWithEndTime:(NSString *)endTime; /// 拍卖类型发生变化 -(void)auctionTypeDidChanged:(NSString *)type; + + + /// 私密小屋心动值发生变化 -(void)cabinRoomHotValueDidChanged:(NSString*)hot_value; @@ -82,6 +90,23 @@ typedef NS_ENUM(NSInteger) { victory_cover:(NSString*)victory_cover defeated_name:(NSString*)defeated_name defeated_cover:(NSString*)defeated_cover; + + + +/// 交友房阶段发生变化 step 阶段 1等待 2心动 3牵手 friend_id 场次id +-(void)friendPartDidChangedWithType:(NSString*)step friend_id:(NSString*)friend_id end_time:(NSString*)end_time relationModel:(QXRoomFriendRelationModel*)relationModel; +/// 交友房时间发生延时 end_time 截止时间 +-(void)friendTimeDelayWithTime:(NSString*)end_time; +/// 交友房麦位发生变化 +-(void)friendSeatDidChanged:(NSArray*)pitArray; +/// 心动值发生变化 +-(void)friendHeartNumberDidChanged:(NSArray *)heartArray; +/// 关系创建完成 +-(void)friendRelationIsCreatedWithrelationModel:(QXRoomFriendRelationModel*)relationModel; +/// 有人退出交友房私密小屋 +-(void)friendCabinRoomIsQuit; +/// 私密小屋时间发生延时 +-(void)friendCabinRoomTimeDelayWithTime:(NSString*)end_time; @end NS_ASSUME_NONNULL_END diff --git a/QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatView.m b/QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatView.m index 07527f4..932d196 100644 --- a/QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatView.m +++ b/QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatView.m @@ -12,6 +12,7 @@ #import "QXRoomOnlineUserListView.h" #import "QXRoomSeatTypeCabinView.h" #import "QXRoomSeatPKView.h" +#import "QXRoomSeatTypeFrientView.h" @interface QXRoomSeatView() @property (nonatomic,strong)QXRoomSeatTypeNormalView *normalSeatView; @@ -24,6 +25,8 @@ @property (nonatomic,strong)QXRoomSeatTypeCabinView *cabinView; @property (nonatomic,strong)QXRoomSeatPKView *roomPkView; + +@property (nonatomic,strong)QXRoomSeatTypeFrientView *roomFriendView; @end @@ -151,6 +154,39 @@ }]; return; } + if (_roomFriendView) { + _roomFriendView.transform = CGAffineTransformIdentity; + // 弹性动画 + [UIView animateWithDuration:0.5 + delay:0 + usingSpringWithDamping:0.9 + initialSpringVelocity:0.1 + options:UIViewAnimationOptionCurveEaseOut + animations:^{ + self->_roomFriendView.transform = CGAffineTransformMakeScale(0.01, 0.01); + } completion:^(BOOL finished) { + [self->_roomFriendView destroyViews]; + [self->_roomFriendView removeFromSuperview]; + self->_roomFriendView = nil; + [self addSubview:self.normalSeatView]; + [self.normalSeatView mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.top.bottom.equalTo(self); + }]; + self.normalSeatView.transform = CGAffineTransformMakeScale(0.01, 0.01); + // 弹性动画 + [UIView animateWithDuration:0.5 + delay:0 + usingSpringWithDamping:0.9 + initialSpringVelocity:0.1 + options:UIViewAnimationOptionCurveEaseOut + animations:^{ + self.normalSeatView.transform = CGAffineTransformIdentity; + } completion:^(BOOL finished) { + + }]; + }]; + return; + } [self addSubview:self.normalSeatView]; [self.normalSeatView mas_makeConstraints:^(MASConstraintMaker *make) { make.left.right.top.bottom.equalTo(self); @@ -263,6 +299,39 @@ }]; return; } + if (_roomFriendView) { + _roomFriendView.transform = CGAffineTransformIdentity; + // 弹性动画 + [UIView animateWithDuration:0.5 + delay:0 + usingSpringWithDamping:0.9 + initialSpringVelocity:0.1 + options:UIViewAnimationOptionCurveEaseOut + animations:^{ + self->_roomFriendView.transform = CGAffineTransformMakeScale(0.01, 0.01); + } completion:^(BOOL finished) { + [self->_roomFriendView destroyViews]; + [self->_roomFriendView removeFromSuperview]; + self->_roomFriendView = nil; + [self addSubview:self.auctionView]; + [self.auctionView mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.top.bottom.equalTo(self); + }]; + self.auctionView.transform = CGAffineTransformMakeScale(0.01, 0.01); + // 弹性动画 + [UIView animateWithDuration:0.5 + delay:0 + usingSpringWithDamping:0.9 + initialSpringVelocity:0.1 + options:UIViewAnimationOptionCurveEaseOut + animations:^{ + self.auctionView.transform = CGAffineTransformIdentity; + } completion:^(BOOL finished) { + + }]; + }]; + return; + } [self addSubview:self.auctionView]; [self.auctionView mas_makeConstraints:^(MASConstraintMaker *make) { make.left.right.top.bottom.equalTo(self); @@ -372,7 +441,39 @@ }]; return; } - + if (_roomFriendView) { + _roomFriendView.transform = CGAffineTransformIdentity; + // 弹性动画 + [UIView animateWithDuration:0.5 + delay:0 + usingSpringWithDamping:0.9 + initialSpringVelocity:0.1 + options:UIViewAnimationOptionCurveEaseOut + animations:^{ + self->_roomFriendView.transform = CGAffineTransformMakeScale(0.01, 0.01); + } completion:^(BOOL finished) { + [self->_roomFriendView destroyViews]; + [self->_roomFriendView removeFromSuperview]; + self->_roomFriendView = nil; + [self addSubview:self.songView]; + [self.songView mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.top.bottom.equalTo(self); + }]; + self.songView.transform = CGAffineTransformMakeScale(0.01, 0.01); + // 弹性动画 + [UIView animateWithDuration:0.5 + delay:0 + usingSpringWithDamping:0.9 + initialSpringVelocity:0.1 + options:UIViewAnimationOptionCurveEaseOut + animations:^{ + self.songView.transform = CGAffineTransformIdentity; + } completion:^(BOOL finished) { + + }]; + }]; + return; + } [self addSubview:self.songView]; [self.songView mas_makeConstraints:^(MASConstraintMaker *make) { make.left.right.top.bottom.equalTo(self); @@ -456,6 +557,113 @@ make.left.right.top.bottom.equalTo(self); }]; } +-(void)initRoomFriendView{ + if (_normalSeatView) { + // [_normalSeatView removeFromSuperview]; + // _normalSeatView = nil; + _normalSeatView.transform = CGAffineTransformIdentity; + // 弹性动画 + [UIView animateWithDuration:0.5 + delay:0 + usingSpringWithDamping:0.9 + initialSpringVelocity:0.1 + options:UIViewAnimationOptionCurveEaseOut + animations:^{ + self->_normalSeatView.transform = CGAffineTransformMakeScale(0.01, 0.01); + } completion:^(BOOL finished) { + [self->_normalSeatView destroyViews]; + [self->_normalSeatView removeFromSuperview]; + self->_normalSeatView = nil; + [self addSubview:self.roomFriendView]; + [self.roomFriendView mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.top.bottom.equalTo(self); + }]; + self.roomFriendView.transform = CGAffineTransformMakeScale(0.01, 0.01); + // 弹性动画 + [UIView animateWithDuration:0.5 + delay:0 + usingSpringWithDamping:0.9 + initialSpringVelocity:0.1 + options:UIViewAnimationOptionCurveEaseOut + animations:^{ + self.roomFriendView.transform = CGAffineTransformIdentity; + } completion:^(BOOL finished) { + + }]; + }]; + return; + } + if (_auctionView) { + _auctionView.transform = CGAffineTransformIdentity; + // 弹性动画 + [UIView animateWithDuration:0.5 + delay:0 + usingSpringWithDamping:0.9 + initialSpringVelocity:0.1 + options:UIViewAnimationOptionCurveEaseOut + animations:^{ + self->_auctionView.transform = CGAffineTransformMakeScale(0.01, 0.01); + } completion:^(BOOL finished) { + [self->_auctionView destroyViews]; + [self->_auctionView removeFromSuperview]; + self->_auctionView = nil; + [self addSubview:self.roomFriendView]; + [self.roomFriendView mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.top.bottom.equalTo(self); + }]; + self.roomFriendView.transform = CGAffineTransformMakeScale(0.01, 0.01); + // 弹性动画 + [UIView animateWithDuration:0.5 + delay:0 + usingSpringWithDamping:0.9 + initialSpringVelocity:0.1 + options:UIViewAnimationOptionCurveEaseOut + animations:^{ + self.roomFriendView.transform = CGAffineTransformIdentity; + } completion:^(BOOL finished) { + + }]; + }]; + return; + } + if (_songView) { + _songView.transform = CGAffineTransformIdentity; + // 弹性动画 + [UIView animateWithDuration:0.5 + delay:0 + usingSpringWithDamping:0.9 + initialSpringVelocity:0.1 + options:UIViewAnimationOptionCurveEaseOut + animations:^{ + self->_songView.transform = CGAffineTransformMakeScale(0.01, 0.01); + } completion:^(BOOL finished) { + [self->_songView destroyViews]; + [self->_songView removeFromSuperview]; + self->_songView = nil; + [self addSubview:self.roomFriendView]; + [self.roomFriendView mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.top.bottom.equalTo(self); + }]; + self.roomFriendView.transform = CGAffineTransformMakeScale(0.01, 0.01); + // 弹性动画 + [UIView animateWithDuration:0.5 + delay:0 + usingSpringWithDamping:0.9 + initialSpringVelocity:0.1 + options:UIViewAnimationOptionCurveEaseOut + animations:^{ + self.roomFriendView.transform = CGAffineTransformIdentity; + } completion:^(BOOL finished) { + + }]; + }]; + return; + } + [self addSubview:self.roomFriendView]; + [self.roomFriendView mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.top.bottom.equalTo(self); + }]; +} - (void)initCabinView{ self.cabinView = [[QXRoomSeatTypeCabinView alloc] init]; @@ -483,11 +691,15 @@ case QXRoomSeatViewTypePK: self.roomPkView.myPitNumber = myPitNumber; break; + case QXRoomSeatViewTypeFriend: + self.roomFriendView.myPitNumber = myPitNumber; + break; default: break; } } + -(void)setType:(QXRoomSeatViewType)type{ _type = type; switch (type) { @@ -517,6 +729,10 @@ [self initRoomPKView]; } break; + case QXRoomSeatViewTypeFriend:{ + [self initRoomFriendView]; + } + break; default: break; } @@ -574,6 +790,9 @@ case QXRoomSeatViewTypePK: self.roomPkView.roomModel = roomModel; break; + case QXRoomSeatViewTypeFriend: + self.roomFriendView.roomModel = roomModel; + break; default: break; } @@ -637,6 +856,9 @@ case QXRoomSeatViewTypePK: [self.roomPkView clearCharm]; break; + case QXRoomSeatViewTypeFriend: + [self.roomFriendView clearCharm]; + break; default: break; } @@ -658,6 +880,9 @@ case QXRoomSeatViewTypePK: [self.roomPkView setSeatCharmWithUser:model]; break; + case QXRoomSeatViewTypeFriend: + [self.roomFriendView setSeatCharmWithUser:model]; + break; default: break; } @@ -707,6 +932,83 @@ } } +#pragma mark - 交友房 +/// 交友房阶段发生变化 step 阶段 1等待 2心动 3牵手 friend_id 场次id +-(void)friendPartDidChangedWithType:(NSString*)step friend_id:(NSString*)friend_id end_time:(NSString*)end_time relationModel:(QXRoomFriendRelationModel*)relationModel{ + switch (self.type) { + case QXRoomSeatViewTypeFriend:{ + [self.roomFriendView friendPartDidChangedWithType:step friend_id:friend_id end_time:end_time relationModel:relationModel]; + } + break; + default: + break; + } +} +/// 交友房时间发生延时 end_time 截止时间 +-(void)friendTimeDelayWithTime:(NSString*)end_time{ + switch (self.type) { + case QXRoomSeatViewTypeFriend:{ + [self.roomFriendView friendTimeDelayWithTime:end_time]; + } + break; + default: + break; + } +} +-(void)friendSeatDidChanged:(NSArray *)pitArray{ + switch (self.type) { + case QXRoomSeatViewTypeFriend:{ + [self.roomFriendView friendSeatDidChanged:pitArray]; + } + break; + default: + break; + } +} +-(void)friendHeartNumberDidChanged:(NSArray *)heartArray{ + switch (self.type) { + case QXRoomSeatViewTypeFriend:{ + [self.roomFriendView friendHeartNumberDidChanged:heartArray]; + } + break; + default: + break; + } +} +/// 关系创建完成 +-(void)friendRelationIsCreatedWithrelationModel:(QXRoomFriendRelationModel*)relationModel{ + switch (self.type) { + case QXRoomSeatViewTypeFriend:{ + [self.roomFriendView friendRelationIsCreatedWithrelationModel:relationModel]; + } + break; + default: + break; + } +} +/// 有人退出交友房私密小屋 +-(void)friendCabinRoomIsQuit{ + +} +/// 私密小屋时间发生延时 +-(void)friendCabinRoomTimeDelayWithTime:(NSString*)end_time{ + switch (self.type) { + case QXRoomSeatViewTypeCabin:{ + [self.cabinView friendCabinRoomTimeDelayWithTime:end_time]; + } + break; + default: + break; + } +} + +/// 助力 +-(void)friendPowerSendGiftWithUser:(QXRoomPitModel *)user heartId:(NSString *)heartId{ + if ([self.delegate respondsToSelector:@selector(friendPowerSendGiftWithUser:heartId:)]) { + [self.delegate friendPowerSendGiftWithUser:user heartId:heartId]; + } +} + -(QXRoomSeatTypeNormalView *)normalSeatView{ if (!_normalSeatView) { _normalSeatView = [[QXRoomSeatTypeNormalView alloc] init]; @@ -756,6 +1058,9 @@ case QXRoomSeatViewTypePK: [self.roomPkView didUpDownSeatWithUser:user isUpSeat:isUpSeat pit_number:pit_number]; break; + case QXRoomSeatViewTypeFriend: + [self.roomFriendView didUpDownSeatWithUser:user isUpSeat:isUpSeat pit_number:pit_number]; + break; default: break; } @@ -829,6 +1134,9 @@ case QXRoomSeatViewTypePK: [self.roomPkView roomUserInfoDidChanged:user]; break; + case QXRoomSeatViewTypeFriend: + [self.roomFriendView roomUserInfoDidChanged:user]; + break; default: break; } @@ -837,15 +1145,26 @@ -(void)destroyViews{ if (_normalSeatView) { [self.normalSeatView destroyViews]; + _normalSeatView = nil; } if (_songView) { [self.songView destroyViews]; + _songView = nil; } if (_auctionView) { [self.auctionView destroyViews]; } if (_roomPkView) { [self.roomPkView destroyViews]; + _roomPkView = nil; + } + if (_roomFriendView) { + [self.roomFriendView destroyViews]; + _roomFriendView = nil; + } + if (_cabinView) { + [self.cabinView destroyViews]; + _cabinView = nil; } } @@ -871,4 +1190,11 @@ } return _roomPkView; } +-(QXRoomSeatTypeFrientView *)roomFriendView{ + if (!_roomFriendView) { + _roomFriendView = [[QXRoomSeatTypeFrientView alloc] init]; + _roomFriendView.delegate = self; + } + return _roomFriendView; +} @end diff --git a/QXLive/HomePage(声播)/View/首页/排行榜/QXRankTopThreeView.m b/QXLive/HomePage(声播)/View/首页/排行榜/QXRankTopThreeView.m index 33c2750..61c8865 100644 --- a/QXLive/HomePage(声播)/View/首页/排行榜/QXRankTopThreeView.m +++ b/QXLive/HomePage(声播)/View/首页/排行榜/QXRankTopThreeView.m @@ -6,7 +6,12 @@ // #import "QXRankTopThreeView.h" - +#import "QXUserHomePageViewController.h" +@interface QXRankTopThreeView() +@property (nonatomic,strong)QXMyRankModel *firstModel; +@property (nonatomic,strong)QXMyRankModel *secondModel; +@property (nonatomic,strong)QXMyRankModel *thirdModel; +@end @implementation QXRankTopThreeView - (instancetype)initWithFrame:(CGRect)frame @@ -14,6 +19,31 @@ self = [super initWithFrame:frame]; if (self) { self = [[[NSBundle mainBundle]loadNibNamed:@"QXRankTopThreeView" owner:nil options:nil] lastObject]; + MJWeakSelf + [self.firstHeaderImage addTapBlock:^(id _Nonnull obj) { + if ([self.firstModel.user_id isExist]) { + QXUserHomePageViewController *vc = [[QXUserHomePageViewController alloc] init]; + vc.user_id = self.firstModel.user_id; + [weakSelf.navigationController pushViewController:vc animated:YES]; + } + return; + }]; + [self.secondHeaderImage addTapBlock:^(id _Nonnull obj) { + if ([self.secondModel.user_id isExist]) { + QXUserHomePageViewController *vc = [[QXUserHomePageViewController alloc] init]; + vc.user_id = self.secondModel.user_id; + [weakSelf.navigationController pushViewController:vc animated:YES]; + } + return; + }]; + [self.thirdHeaderImage addTapBlock:^(id _Nonnull obj) { + if ([self.thirdModel.user_id isExist]) { + QXUserHomePageViewController *vc = [[QXUserHomePageViewController alloc] init]; + vc.user_id = self.thirdModel.user_id; + [weakSelf.navigationController pushViewController:vc animated:YES]; + } + return; + }]; self.frame = frame; } return self; @@ -59,6 +89,9 @@ self.thirdRankValueLabel.text = [NSString qx_showHotCountNum:thirdModel.total.longLongValue]; self.thirdRankValueLabel.adjustsFontSizeToFitWidth = YES; } + self.firstModel = firstModel; + self.secondModel = secondModel; + self.thirdModel = thirdModel; } -(void)resetView{ self.firstHeaderImage.image = [UIImage imageNamed:@"user_header_placehoulder"]; @@ -113,6 +146,9 @@ self.thirdRankValueLabel.text = [NSString qx_showHotCountNum:thirdModel.total.longLongValue]; self.thirdRankValueLabel.adjustsFontSizeToFitWidth = YES; } + self.firstModel = firstModel; + self.secondModel = secondModel; + self.thirdModel = thirdModel; } -(void)setGuildList:(NSArray *)guildList{ _guildList = guildList; diff --git a/QXLive/Login(登录)/Controlller/QXLoginViewController.m b/QXLive/Login(登录)/Controlller/QXLoginViewController.m index 85c4894..44c21fb 100644 --- a/QXLive/Login(登录)/Controlller/QXLoginViewController.m +++ b/QXLive/Login(登录)/Controlller/QXLoginViewController.m @@ -75,7 +75,7 @@ [self.backBtn addTarget:self action:@selector(backAction) forControlEvents:(UIControlEventTouchUpInside)]; [self.view addSubview:self.backBtn]; -// self.isCodeLogin = YES; + self.isCodeLogin = YES; // self.welcomeLabel = [[UILabel alloc] initWithFrame:CGRectMake(16, kSafeAreaTop+86, SCREEN_WIDTH-32, 36)]; // self.welcomeLabel.font = [UIFont boldSystemFontOfSize:24]; //// self.welcomeLabel.text = QXText(@"欢迎来到秘地"); diff --git a/QXLive/Mine(音域)/Model/QXRoomModel.h b/QXLive/Mine(音域)/Model/QXRoomModel.h index 4d6c54e..ac100df 100644 --- a/QXLive/Mine(音域)/Model/QXRoomModel.h +++ b/QXLive/Mine(音域)/Model/QXRoomModel.h @@ -10,7 +10,7 @@ #import "QXSongListModel.h" NS_ASSUME_NONNULL_BEGIN -@class QXRoomInfoModel,QXRoomPitModel,QXRoomOwnerModel,QXHeadLineModel,QXRoomAuction,QXRoomAuctionUser,QXRoomCpUser,QXRoomPkInfo; +@class QXRoomInfoModel,QXRoomPitModel,QXRoomOwnerModel,QXHeadLineModel,QXRoomAuction,QXRoomAuctionUser,QXRoomCpUser,QXRoomPkInfo,QXRoomFriendInfo,QXRoomFriendHeartListModel; @interface QXRoomModel : NSObject /// 房间信息 @property (nonatomic,strong)QXRoomInfoModel *room_info; @@ -28,6 +28,8 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic,strong)QXRoomCpUser *cp_user; /// pk信息 @property (nonatomic,strong)QXRoomPkInfo *pk_info; +/// 交友房信息 +@property (nonatomic,strong)QXRoomFriendInfo *friend_info; /// k歌麦位 @property (nonatomic,strong)NSArray< QXRoomPitModel*> *song_pit_list; @end @@ -49,7 +51,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic,strong)NSString *room_cover; /// 房间公告 @property (nonatomic,strong)NSString *room_intro; -/// 房间类型 type_id 1 点唱 2 拍卖 3男神 4女神 6小黑屋 +/// 房间类型 type_id 1 点唱 2 拍卖 3男神 4女神 6小黑屋 7 交友房 @property (nonatomic,strong)NSString *type_id; /// 房间子类型 label_id 1聊天 2 k歌 拍卖时 1真爱 2亲密 @property (nonatomic,strong)NSString *label_id; @@ -321,4 +323,23 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic,strong)NSString *is_pk; @end + +@interface QXRoomFriendInfo : NSObject +/// 当前在哪个阶段 1 等待邂逅 2心动连线 3 牵手良缘 +@property (nonatomic,strong)NSString *step; +/// 心动值 +@property (nonatomic,strong)NSArray *heart_list; +/// 场次id +@property (nonatomic,strong)NSString *friend_id; +/// 心动连线剩余时间 +@property (nonatomic,assign)long end_time; +/// 在线cp数 +@property (nonatomic,strong)NSString *room_on_line_cp; +@end + +@interface QXRoomFriendHeartListModel : NSObject +/// 心动值 +@property (nonatomic,strong)NSString *heartNum; +@property (nonatomic,strong)NSString *heartId; +@end NS_ASSUME_NONNULL_END diff --git a/QXLive/Mine(音域)/Model/QXRoomModel.m b/QXLive/Mine(音域)/Model/QXRoomModel.m index 5f4be42..ca1cea1 100644 --- a/QXLive/Mine(音域)/Model/QXRoomModel.m +++ b/QXLive/Mine(音域)/Model/QXRoomModel.m @@ -18,7 +18,8 @@ @"room_auction":@"QXRoomAuction", @"cp_user": @"QXRoomCpUser", @"pk_info" : @"QXRoomPkInfo", - @"song_pit_list":@"QXRoomPitModel" + @"song_pit_list":@"QXRoomPitModel", + @"friend_info":@"QXRoomFriendInfo", }; } @@ -114,3 +115,18 @@ @end + + + +@implementation QXRoomFriendInfo ++(NSDictionary *)modelContainerPropertyGenericClass{ + return @{ + @"heart_list" : @"QXRoomFriendHeartListModel" + }; +} + +@end + +@implementation QXRoomFriendHeartListModel + +@end diff --git a/QXLive/Mine(音域)/Services/QXMineNetwork.h b/QXLive/Mine(音域)/Services/QXMineNetwork.h index caefff7..22f4f65 100644 --- a/QXLive/Mine(音域)/Services/QXMineNetwork.h +++ b/QXLive/Mine(音域)/Services/QXMineNetwork.h @@ -327,6 +327,7 @@ NS_ASSUME_NONNULL_BEGIN gift_id:(NSString*)gift_id gift_num:(NSString*)gift_num to_uid:(NSString*)to_uid + heart_id:(NSString*)heart_id type:(NSString*)type pit_number:(NSString*)pit_number successBlock:(void (^)(NSDictionary* dict))successBlock @@ -969,6 +970,49 @@ NS_ASSUME_NONNULL_BEGIN successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock; +#pragma mark - 交友房 +/** + 交友房开始 + */ ++(void)friendRoomStartWithRoomId:(NSString*)room_id + successBlock:(void (^)(NSDictionary* dict))successBlock + failBlock:(void (^)(NSError * error, NSString * msg))failBlock; + + +/** + 交友房结束 + */ ++(void)friendRoomEndWithRoomId:(NSString*)room_id + friendId:(NSString*)friend_id + successBlock:(void (^)(NSDictionary* dict))successBlock + failBlock:(void (^)(NSError * error, NSString * msg))failBlock; + + +/** + 交友房延时 + */ ++(void)friendRoomDelayWithRoomId:(NSString*)room_id + friendId:(NSString*)friend_id + successBlock:(void (^)(NSDictionary* dict))successBlock + failBlock:(void (^)(NSError * error, NSString * msg))failBlock; + +/** + 交友房创建关系 + */ ++(void)friendRoomCreateRelationWithRoomId:(NSString*)room_id + friendId:(NSString*)friend_id + user1Id:(NSString*)user1_id + user2Id:(NSString*)user2_id + relationId:(NSString*)relation_id + successBlock:(void (^)(NSDictionary* dict))successBlock + failBlock:(void (^)(NSError * error, NSString * msg))failBlock; + +/** + 退出私密小屋 + */ ++(void)friendRoomQuitWithRoomid:(NSString*)room_id + successBlock:(void (^)(NSDictionary* dict))successBlock + failBlock:(void (^)(NSError * error, NSString * msg))failBlock; @end diff --git a/QXLive/Mine(音域)/Services/QXMineNetwork.m b/QXLive/Mine(音域)/Services/QXMineNetwork.m index b2a5874..f046176 100644 --- a/QXLive/Mine(音域)/Services/QXMineNetwork.m +++ b/QXLive/Mine(音域)/Services/QXMineNetwork.m @@ -661,17 +661,19 @@ gift_id:(NSString*)gift_id gift_num:(NSString*)gift_num to_uid:(NSString*)to_uid + heart_id:(NSString*)heart_id type:(NSString*)type pit_number:(NSString*)pit_number successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ - @"room_id":room_id, - @"gift_id":gift_id, - @"gift_num":gift_num, - @"to_uid":to_uid, - @"type":type, - @"pit_number":pit_number, + @"room_id":room_id?room_id:@"", + @"gift_id":gift_id?gift_id:@"", + @"gift_num":gift_num?gift_num:@"", + @"to_uid":to_uid?to_uid:@"", + @"type":type?type:@"", + @"pit_number":pit_number?pit_number:@"", + @"heart_id":heart_id?heart_id:@"" }; [[QXRequset shareInstance] postWithUrl:QXSendGift parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { @@ -1889,4 +1891,110 @@ failBlock(error,msg); }]; } + + +#pragma mark - 交友房 +/** + 交友房开始 + */ ++(void)friendRoomStartWithRoomId:(NSString*)room_id + successBlock:(void (^)(NSDictionary* dict))successBlock + failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ + NSDictionary *parameters =@{ + @"room_id":room_id?room_id:@"", + }; + [[QXRequset shareInstance] postWithUrl:QXRoomFriendStart parameters:parameters needCache:NO success:^(id responseObject) { + if (successBlock) { + successBlock(responseObject[@"data"]); + } + } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { + failBlock(error,msg); + }]; +} + + +/** + 交友房结束 + */ ++(void)friendRoomEndWithRoomId:(NSString*)room_id + friendId:(NSString*)friend_id + successBlock:(void (^)(NSDictionary* dict))successBlock + failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ + NSDictionary *parameters =@{ + @"room_id":room_id?room_id:@"", + @"friend_id":friend_id?friend_id:@"" + }; + [[QXRequset shareInstance] postWithUrl:QXRoomFriendEnd parameters:parameters needCache:NO success:^(id responseObject) { + if (successBlock) { + successBlock(responseObject[@"data"]); + } + } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { + failBlock(error,msg); + }]; +} + + +/** + 交友房延时 + */ ++(void)friendRoomDelayWithRoomId:(NSString*)room_id + friendId:(NSString*)friend_id + successBlock:(void (^)(NSDictionary* dict))successBlock + failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ + NSDictionary *parameters =@{ + @"room_id":room_id?room_id:@"", + @"friend_id":friend_id?friend_id:@"" + }; + [[QXRequset shareInstance] postWithUrl:QXRoomFriendDelay parameters:parameters needCache:NO success:^(id responseObject) { + if (successBlock) { + successBlock(responseObject[@"data"]); + } + } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { + failBlock(error,msg); + }]; +} + +/** + 交友房创建关系 + */ ++(void)friendRoomCreateRelationWithRoomId:(NSString*)room_id + friendId:(NSString*)friend_id + user1Id:(NSString*)user1_id + user2Id:(NSString*)user2_id + relationId:(NSString*)relation_id + successBlock:(void (^)(NSDictionary* dict))successBlock + failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ + NSDictionary *parameters =@{ + @"room_id":room_id?room_id:@"", + @"friend_id":friend_id?friend_id:@"", + @"user1_id":user1_id?user1_id:@"", + @"user2_id":user2_id?user2_id:@"", + @"relation_id":relation_id?relation_id:@"", + }; + [[QXRequset shareInstance] postWithUrl:QXRoomFriendCreateRelation parameters:parameters needCache:NO success:^(id responseObject) { + if (successBlock) { + successBlock(responseObject[@"data"]); + } + } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { + failBlock(error,msg); + }]; +} + +/** + 退出私密小屋 + */ ++(void)friendRoomQuitWithRoomid:(NSString*)room_id + successBlock:(void (^)(NSDictionary* dict))successBlock + failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ + NSDictionary *parameters =@{ + @"room_id":room_id?room_id:@"", + }; + [[QXRequset shareInstance] postWithUrl:QXRoomFriendRoomQuit parameters:parameters needCache:NO success:^(id responseObject) { + if (successBlock) { + successBlock(responseObject[@"data"]); + } + } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { + failBlock(error,msg); + }]; +} @end diff --git a/QXLive/Network/QXRequest.m b/QXLive/Network/QXRequest.m index 8b42ef3..c554787 100644 --- a/QXLive/Network/QXRequest.m +++ b/QXLive/Network/QXRequest.m @@ -206,7 +206,7 @@ static NSInteger HTTP_ERROR_CODE = 0; if (fail)fail(NOT_NETWORK_ERROR,@"无网络",nil); return nil; } - if (![urlString hasPrefix:@"http"] || ![urlString hasPrefix:@"https"]) { + if (!([urlString hasPrefix:@"http"] || [urlString hasPrefix:@"https"])) { urlString = [NSString stringWithFormat:@"%@%@",ServerUrl,urlString]; } NSLog(@"发起请求 --- URL : %@",urlString); diff --git a/QXLive/Other/AppDelegate.m b/QXLive/Other/AppDelegate.m index f6b0162..472dcf8 100644 --- a/QXLive/Other/AppDelegate.m +++ b/QXLive/Other/AppDelegate.m @@ -26,6 +26,11 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { +// for (NSString *str in [UIFont familyNames]) { +// +// NSLog(@"UIFont_Name------------:%@",str); +// +// } // Override point for customization after application launch. [QXConfig defaultConfig]; self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; diff --git a/QXLive/Other/Assets.xcassets/home/room/cp_room_bg.imageset/Contents.json b/QXLive/Other/Assets.xcassets/home/room/cp_room_bg.imageset/Contents.json index 434f0c2..25755ac 100644 --- a/QXLive/Other/Assets.xcassets/home/room/cp_room_bg.imageset/Contents.json +++ b/QXLive/Other/Assets.xcassets/home/room/cp_room_bg.imageset/Contents.json @@ -5,7 +5,7 @@ "scale" : "1x" }, { - "filename" : "cp_room_bg@2x.png", + "filename" : "私密小屋背景@2x.png", "idiom" : "universal", "scale" : "2x" }, diff --git a/QXLive/Other/Assets.xcassets/home/room/cp_room_bg.imageset/cp_room_bg@2x.png b/QXLive/Other/Assets.xcassets/home/room/cp_room_bg.imageset/cp_room_bg@2x.png deleted file mode 100644 index 465f6c6..0000000 Binary files a/QXLive/Other/Assets.xcassets/home/room/cp_room_bg.imageset/cp_room_bg@2x.png and /dev/null differ diff --git a/QXLive/Other/Assets.xcassets/home/room/cp_room_bg.imageset/私密小屋背景@2x.png b/QXLive/Other/Assets.xcassets/home/room/cp_room_bg.imageset/私密小屋背景@2x.png new file mode 100644 index 0000000..d1f3e4b Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/cp_room_bg.imageset/私密小屋背景@2x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_auction_gift_love.imageset/Contents.json b/QXLive/Other/Assets.xcassets/home/room/room_auction_gift_love.imageset/Contents.json index 5b89bf5..1706a2e 100644 --- a/QXLive/Other/Assets.xcassets/home/room/room_auction_gift_love.imageset/Contents.json +++ b/QXLive/Other/Assets.xcassets/home/room/room_auction_gift_love.imageset/Contents.json @@ -5,12 +5,12 @@ "scale" : "1x" }, { - "filename" : "room_auction_gift_love@2x.png", + "filename" : "Frame 1321316211@2x.png", "idiom" : "universal", "scale" : "2x" }, { - "filename" : "room_auction_gift_love@3x.png", + "filename" : "Frame 1321316211@3x.png", "idiom" : "universal", "scale" : "3x" } diff --git a/QXLive/Other/Assets.xcassets/home/room/room_auction_gift_love.imageset/Frame 1321316211@2x.png b/QXLive/Other/Assets.xcassets/home/room/room_auction_gift_love.imageset/Frame 1321316211@2x.png new file mode 100644 index 0000000..0bfbde9 Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_auction_gift_love.imageset/Frame 1321316211@2x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_auction_gift_love.imageset/Frame 1321316211@3x.png b/QXLive/Other/Assets.xcassets/home/room/room_auction_gift_love.imageset/Frame 1321316211@3x.png new file mode 100644 index 0000000..e4dae37 Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_auction_gift_love.imageset/Frame 1321316211@3x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_auction_gift_love.imageset/room_auction_gift_love@2x.png b/QXLive/Other/Assets.xcassets/home/room/room_auction_gift_love.imageset/room_auction_gift_love@2x.png deleted file mode 100644 index 95dce06..0000000 Binary files a/QXLive/Other/Assets.xcassets/home/room/room_auction_gift_love.imageset/room_auction_gift_love@2x.png and /dev/null differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_auction_gift_love.imageset/room_auction_gift_love@3x.png b/QXLive/Other/Assets.xcassets/home/room/room_auction_gift_love.imageset/room_auction_gift_love@3x.png deleted file mode 100644 index 115a9c1..0000000 Binary files a/QXLive/Other/Assets.xcassets/home/room/room_auction_gift_love.imageset/room_auction_gift_love@3x.png and /dev/null differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_auction_relationship_love.imageset/Contents.json b/QXLive/Other/Assets.xcassets/home/room/room_auction_relationship_love.imageset/Contents.json index bf0620d..2c3f231 100644 --- a/QXLive/Other/Assets.xcassets/home/room/room_auction_relationship_love.imageset/Contents.json +++ b/QXLive/Other/Assets.xcassets/home/room/room_auction_relationship_love.imageset/Contents.json @@ -5,12 +5,12 @@ "scale" : "1x" }, { - "filename" : "room_auction_relationship_love@2x.png", + "filename" : "Frame 1321316213@2x.png", "idiom" : "universal", "scale" : "2x" }, { - "filename" : "room_auction_relationship_love@3x.png", + "filename" : "Frame 1321316213@3x.png", "idiom" : "universal", "scale" : "3x" } diff --git a/QXLive/Other/Assets.xcassets/home/room/room_auction_relationship_love.imageset/Frame 1321316213@2x.png b/QXLive/Other/Assets.xcassets/home/room/room_auction_relationship_love.imageset/Frame 1321316213@2x.png new file mode 100644 index 0000000..b2b8712 Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_auction_relationship_love.imageset/Frame 1321316213@2x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_auction_relationship_love.imageset/Frame 1321316213@3x.png b/QXLive/Other/Assets.xcassets/home/room/room_auction_relationship_love.imageset/Frame 1321316213@3x.png new file mode 100644 index 0000000..aaf41b4 Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_auction_relationship_love.imageset/Frame 1321316213@3x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_auction_relationship_love.imageset/room_auction_relationship_love@2x.png b/QXLive/Other/Assets.xcassets/home/room/room_auction_relationship_love.imageset/room_auction_relationship_love@2x.png deleted file mode 100644 index a5074b7..0000000 Binary files a/QXLive/Other/Assets.xcassets/home/room/room_auction_relationship_love.imageset/room_auction_relationship_love@2x.png and /dev/null differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_auction_relationship_love.imageset/room_auction_relationship_love@3x.png b/QXLive/Other/Assets.xcassets/home/room/room_auction_relationship_love.imageset/room_auction_relationship_love@3x.png deleted file mode 100644 index c81971e..0000000 Binary files a/QXLive/Other/Assets.xcassets/home/room/room_auction_relationship_love.imageset/room_auction_relationship_love@3x.png and /dev/null differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_auction_seat_bg.imageset/Contents.json b/QXLive/Other/Assets.xcassets/home/room/room_auction_seat_bg.imageset/Contents.json index 02dba32..ed28e01 100644 --- a/QXLive/Other/Assets.xcassets/home/room/room_auction_seat_bg.imageset/Contents.json +++ b/QXLive/Other/Assets.xcassets/home/room/room_auction_seat_bg.imageset/Contents.json @@ -5,12 +5,12 @@ "scale" : "1x" }, { - "filename" : "room_auction_seat_bg@2x.png", + "filename" : "Group 7527@2x.png", "idiom" : "universal", "scale" : "2x" }, { - "filename" : "room_auction_seat_bg@3x.png", + "filename" : "Group 7527@3x.png", "idiom" : "universal", "scale" : "3x" } diff --git a/QXLive/Other/Assets.xcassets/home/room/room_auction_seat_bg.imageset/Group 7527@2x.png b/QXLive/Other/Assets.xcassets/home/room/room_auction_seat_bg.imageset/Group 7527@2x.png new file mode 100644 index 0000000..f19e892 Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_auction_seat_bg.imageset/Group 7527@2x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_auction_seat_bg.imageset/Group 7527@3x.png b/QXLive/Other/Assets.xcassets/home/room/room_auction_seat_bg.imageset/Group 7527@3x.png new file mode 100644 index 0000000..0d8af74 Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_auction_seat_bg.imageset/Group 7527@3x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_auction_seat_bg.imageset/room_auction_seat_bg@2x.png b/QXLive/Other/Assets.xcassets/home/room/room_auction_seat_bg.imageset/room_auction_seat_bg@2x.png deleted file mode 100644 index 2d1a2a7..0000000 Binary files a/QXLive/Other/Assets.xcassets/home/room/room_auction_seat_bg.imageset/room_auction_seat_bg@2x.png and /dev/null differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_auction_seat_bg.imageset/room_auction_seat_bg@3x.png b/QXLive/Other/Assets.xcassets/home/room/room_auction_seat_bg.imageset/room_auction_seat_bg@3x.png deleted file mode 100644 index b9a524b..0000000 Binary files a/QXLive/Other/Assets.xcassets/home/room/room_auction_seat_bg.imageset/room_auction_seat_bg@3x.png and /dev/null differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_auction_seat_love_bg.imageset/Contents.json b/QXLive/Other/Assets.xcassets/home/room/room_auction_seat_love_bg.imageset/Contents.json index 82e1efe..166c19e 100644 --- a/QXLive/Other/Assets.xcassets/home/room/room_auction_seat_love_bg.imageset/Contents.json +++ b/QXLive/Other/Assets.xcassets/home/room/room_auction_seat_love_bg.imageset/Contents.json @@ -5,12 +5,12 @@ "scale" : "1x" }, { - "filename" : "room_auction_seat_love_bg@2x.png", + "filename" : "Group 7523@2x.png", "idiom" : "universal", "scale" : "2x" }, { - "filename" : "room_auction_seat_love_bg@3x.png", + "filename" : "Group 7523@3x.png", "idiom" : "universal", "scale" : "3x" } diff --git a/QXLive/Other/Assets.xcassets/home/room/room_auction_seat_love_bg.imageset/Group 7523@2x.png b/QXLive/Other/Assets.xcassets/home/room/room_auction_seat_love_bg.imageset/Group 7523@2x.png new file mode 100644 index 0000000..cef2bc1 Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_auction_seat_love_bg.imageset/Group 7523@2x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_auction_seat_love_bg.imageset/Group 7523@3x.png b/QXLive/Other/Assets.xcassets/home/room/room_auction_seat_love_bg.imageset/Group 7523@3x.png new file mode 100644 index 0000000..1235722 Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_auction_seat_love_bg.imageset/Group 7523@3x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_auction_seat_love_bg.imageset/room_auction_seat_love_bg@2x.png b/QXLive/Other/Assets.xcassets/home/room/room_auction_seat_love_bg.imageset/room_auction_seat_love_bg@2x.png deleted file mode 100644 index 4a039a8..0000000 Binary files a/QXLive/Other/Assets.xcassets/home/room/room_auction_seat_love_bg.imageset/room_auction_seat_love_bg@2x.png and /dev/null differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_auction_seat_love_bg.imageset/room_auction_seat_love_bg@3x.png b/QXLive/Other/Assets.xcassets/home/room/room_auction_seat_love_bg.imageset/room_auction_seat_love_bg@3x.png deleted file mode 100644 index 3ec82f7..0000000 Binary files a/QXLive/Other/Assets.xcassets/home/room/room_auction_seat_love_bg.imageset/room_auction_seat_love_bg@3x.png and /dev/null differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_auction_time_love.imageset/Contents.json b/QXLive/Other/Assets.xcassets/home/room/room_auction_time_love.imageset/Contents.json index 50f405a..110acee 100644 --- a/QXLive/Other/Assets.xcassets/home/room/room_auction_time_love.imageset/Contents.json +++ b/QXLive/Other/Assets.xcassets/home/room/room_auction_time_love.imageset/Contents.json @@ -5,12 +5,12 @@ "scale" : "1x" }, { - "filename" : "room_auction_time_love@2x.png", + "filename" : "Frame 1321316212@2x.png", "idiom" : "universal", "scale" : "2x" }, { - "filename" : "room_auction_time_love@3x.png", + "filename" : "Frame 1321316212@3x.png", "idiom" : "universal", "scale" : "3x" } diff --git a/QXLive/Other/Assets.xcassets/home/room/room_auction_time_love.imageset/Frame 1321316212@2x.png b/QXLive/Other/Assets.xcassets/home/room/room_auction_time_love.imageset/Frame 1321316212@2x.png new file mode 100644 index 0000000..45b365b Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_auction_time_love.imageset/Frame 1321316212@2x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_auction_time_love.imageset/Frame 1321316212@3x.png b/QXLive/Other/Assets.xcassets/home/room/room_auction_time_love.imageset/Frame 1321316212@3x.png new file mode 100644 index 0000000..41477a1 Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_auction_time_love.imageset/Frame 1321316212@3x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_auction_time_love.imageset/room_auction_time_love@2x.png b/QXLive/Other/Assets.xcassets/home/room/room_auction_time_love.imageset/room_auction_time_love@2x.png deleted file mode 100644 index 312a378..0000000 Binary files a/QXLive/Other/Assets.xcassets/home/room/room_auction_time_love.imageset/room_auction_time_love@2x.png and /dev/null differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_auction_time_love.imageset/room_auction_time_love@3x.png b/QXLive/Other/Assets.xcassets/home/room/room_auction_time_love.imageset/room_auction_time_love@3x.png deleted file mode 100644 index 7b4977e..0000000 Binary files a/QXLive/Other/Assets.xcassets/home/room/room_auction_time_love.imageset/room_auction_time_love@3x.png and /dev/null differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_cabin_timedown_bg.imageset/Contents.json b/QXLive/Other/Assets.xcassets/home/room/room_cabin_timedown_bg.imageset/Contents.json index 2284117..abf2830 100644 --- a/QXLive/Other/Assets.xcassets/home/room/room_cabin_timedown_bg.imageset/Contents.json +++ b/QXLive/Other/Assets.xcassets/home/room/room_cabin_timedown_bg.imageset/Contents.json @@ -5,12 +5,12 @@ "scale" : "1x" }, { - "filename" : "Frame 1279@2x.png", + "filename" : "倒计时背景@2x.png", "idiom" : "universal", "scale" : "2x" }, { - "filename" : "Frame 1279@3x.png", + "filename" : "倒计时背景@3x.png", "idiom" : "universal", "scale" : "3x" } diff --git a/QXLive/Other/Assets.xcassets/home/room/room_cabin_timedown_bg.imageset/Frame 1279@2x.png b/QXLive/Other/Assets.xcassets/home/room/room_cabin_timedown_bg.imageset/Frame 1279@2x.png deleted file mode 100644 index cb3ac06..0000000 Binary files a/QXLive/Other/Assets.xcassets/home/room/room_cabin_timedown_bg.imageset/Frame 1279@2x.png and /dev/null differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_cabin_timedown_bg.imageset/Frame 1279@3x.png b/QXLive/Other/Assets.xcassets/home/room/room_cabin_timedown_bg.imageset/Frame 1279@3x.png deleted file mode 100644 index 7ff646d..0000000 Binary files a/QXLive/Other/Assets.xcassets/home/room/room_cabin_timedown_bg.imageset/Frame 1279@3x.png and /dev/null differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_cabin_timedown_bg.imageset/倒计时背景@2x.png b/QXLive/Other/Assets.xcassets/home/room/room_cabin_timedown_bg.imageset/倒计时背景@2x.png new file mode 100644 index 0000000..580249e Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_cabin_timedown_bg.imageset/倒计时背景@2x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_cabin_timedown_bg.imageset/倒计时背景@3x.png b/QXLive/Other/Assets.xcassets/home/room/room_cabin_timedown_bg.imageset/倒计时背景@3x.png new file mode 100644 index 0000000..dfde00e Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_cabin_timedown_bg.imageset/倒计时背景@3x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/Contents.json b/QXLive/Other/Assets.xcassets/home/room/room_friend/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/QXLive/Other/Assets.xcassets/home/room/room_friend/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_below_bg.imageset/Contents.json b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_below_bg.imageset/Contents.json new file mode 100644 index 0000000..5c30895 --- /dev/null +++ b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_below_bg.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "room_friend_below_bg@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "room_friend_below_bg@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_below_bg.imageset/room_friend_below_bg@2x.png b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_below_bg.imageset/room_friend_below_bg@2x.png new file mode 100644 index 0000000..5595064 Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_below_bg.imageset/room_friend_below_bg@2x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_below_bg.imageset/room_friend_below_bg@3x.png b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_below_bg.imageset/room_friend_below_bg@3x.png new file mode 100644 index 0000000..47e7d4c Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_below_bg.imageset/room_friend_below_bg@3x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_center_value_bg.imageset/Contents.json b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_center_value_bg.imageset/Contents.json new file mode 100644 index 0000000..35008cb --- /dev/null +++ b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_center_value_bg.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "room_friend_center_value_bg@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "room_friend_center_value_bg@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_center_value_bg.imageset/room_friend_center_value_bg@2x.png b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_center_value_bg.imageset/room_friend_center_value_bg@2x.png new file mode 100644 index 0000000..790fc5c Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_center_value_bg.imageset/room_friend_center_value_bg@2x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_center_value_bg.imageset/room_friend_center_value_bg@3x.png b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_center_value_bg.imageset/room_friend_center_value_bg@3x.png new file mode 100644 index 0000000..f79d3ed Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_center_value_bg.imageset/room_friend_center_value_bg@3x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_create_relation_bg.imageset/Contents.json b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_create_relation_bg.imageset/Contents.json new file mode 100644 index 0000000..9ceba8f --- /dev/null +++ b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_create_relation_bg.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "room_friend_create_relation_bg@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "room_friend_create_relation_bg@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_create_relation_bg.imageset/room_friend_create_relation_bg@2x.png b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_create_relation_bg.imageset/room_friend_create_relation_bg@2x.png new file mode 100644 index 0000000..93a4de8 Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_create_relation_bg.imageset/room_friend_create_relation_bg@2x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_create_relation_bg.imageset/room_friend_create_relation_bg@3x.png b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_create_relation_bg.imageset/room_friend_create_relation_bg@3x.png new file mode 100644 index 0000000..845a31c Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_create_relation_bg.imageset/room_friend_create_relation_bg@3x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_delay_btn_bg.imageset/Contents.json b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_delay_btn_bg.imageset/Contents.json new file mode 100644 index 0000000..1029d7a --- /dev/null +++ b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_delay_btn_bg.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "room_friend_delay_btn_bg@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "room_friend_delay_btn_bg@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_delay_btn_bg.imageset/room_friend_delay_btn_bg@2x.png b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_delay_btn_bg.imageset/room_friend_delay_btn_bg@2x.png new file mode 100644 index 0000000..f836a2a Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_delay_btn_bg.imageset/room_friend_delay_btn_bg@2x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_delay_btn_bg.imageset/room_friend_delay_btn_bg@3x.png b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_delay_btn_bg.imageset/room_friend_delay_btn_bg@3x.png new file mode 100644 index 0000000..5c9ce95 Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_delay_btn_bg.imageset/room_friend_delay_btn_bg@3x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_end_btn_bg.imageset/Contents.json b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_end_btn_bg.imageset/Contents.json new file mode 100644 index 0000000..3bc4894 --- /dev/null +++ b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_end_btn_bg.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "room_friend_end_btn_bg@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "room_friend_end_btn_bg@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_end_btn_bg.imageset/room_friend_end_btn_bg@2x.png b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_end_btn_bg.imageset/room_friend_end_btn_bg@2x.png new file mode 100644 index 0000000..3365f1a Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_end_btn_bg.imageset/room_friend_end_btn_bg@2x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_end_btn_bg.imageset/room_friend_end_btn_bg@3x.png b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_end_btn_bg.imageset/room_friend_end_btn_bg@3x.png new file mode 100644 index 0000000..ff73f2d Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_end_btn_bg.imageset/room_friend_end_btn_bg@3x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_heart_bg.imageset/Contents.json b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_heart_bg.imageset/Contents.json new file mode 100644 index 0000000..388455d --- /dev/null +++ b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_heart_bg.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "爱心地盘1 (1).png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_heart_bg.imageset/爱心地盘1 (1).png b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_heart_bg.imageset/爱心地盘1 (1).png new file mode 100644 index 0000000..dd39703 Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_heart_bg.imageset/爱心地盘1 (1).png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_left_seat.imageset/Contents.json b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_left_seat.imageset/Contents.json new file mode 100644 index 0000000..b993348 --- /dev/null +++ b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_left_seat.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "room_friend_left_seat@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "room_friend_left_seat@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_left_seat.imageset/room_friend_left_seat@2x.png b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_left_seat.imageset/room_friend_left_seat@2x.png new file mode 100644 index 0000000..bf98636 Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_left_seat.imageset/room_friend_left_seat@2x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_left_seat.imageset/room_friend_left_seat@3x.png b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_left_seat.imageset/room_friend_left_seat@3x.png new file mode 100644 index 0000000..dbc7b0e Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_left_seat.imageset/room_friend_left_seat@3x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_nor_heart.imageset/Contents.json b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_nor_heart.imageset/Contents.json new file mode 100644 index 0000000..d3bb61e --- /dev/null +++ b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_nor_heart.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "room_friend_nor_heart@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "room_friend_nor_heart@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_nor_heart.imageset/room_friend_nor_heart@2x.png b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_nor_heart.imageset/room_friend_nor_heart@2x.png new file mode 100644 index 0000000..75a7b5e Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_nor_heart.imageset/room_friend_nor_heart@2x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_nor_heart.imageset/room_friend_nor_heart@3x.png b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_nor_heart.imageset/room_friend_nor_heart@3x.png new file mode 100644 index 0000000..2353e07 Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_nor_heart.imageset/room_friend_nor_heart@3x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_part_dot.imageset/Contents.json b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_part_dot.imageset/Contents.json new file mode 100644 index 0000000..6d08ba5 --- /dev/null +++ b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_part_dot.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "room_friend_part_dot@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "room_friend_part_dot@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_part_dot.imageset/room_friend_part_dot@2x.png b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_part_dot.imageset/room_friend_part_dot@2x.png new file mode 100644 index 0000000..79c114e Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_part_dot.imageset/room_friend_part_dot@2x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_part_dot.imageset/room_friend_part_dot@3x.png b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_part_dot.imageset/room_friend_part_dot@3x.png new file mode 100644 index 0000000..453d0b3 Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_part_dot.imageset/room_friend_part_dot@3x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_relation_heart.imageset/Contents.json b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_relation_heart.imageset/Contents.json new file mode 100644 index 0000000..d8d6425 --- /dev/null +++ b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_relation_heart.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "Group 7039@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "Group 7039@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_relation_heart.imageset/Group 7039@2x.png b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_relation_heart.imageset/Group 7039@2x.png new file mode 100644 index 0000000..32a150f Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_relation_heart.imageset/Group 7039@2x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_relation_heart.imageset/Group 7039@3x.png b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_relation_heart.imageset/Group 7039@3x.png new file mode 100644 index 0000000..7467967 Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_relation_heart.imageset/Group 7039@3x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_right_seat.imageset/Contents.json b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_right_seat.imageset/Contents.json new file mode 100644 index 0000000..b83d764 --- /dev/null +++ b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_right_seat.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "room_friend_right_seat@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "room_friend_right_seat@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_right_seat.imageset/room_friend_right_seat@2x.png b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_right_seat.imageset/room_friend_right_seat@2x.png new file mode 100644 index 0000000..d71190c Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_right_seat.imageset/room_friend_right_seat@2x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_right_seat.imageset/room_friend_right_seat@3x.png b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_right_seat.imageset/room_friend_right_seat@3x.png new file mode 100644 index 0000000..5754984 Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_right_seat.imageset/room_friend_right_seat@3x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_start_btn_bg.imageset/Contents.json b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_start_btn_bg.imageset/Contents.json new file mode 100644 index 0000000..30ee8ab --- /dev/null +++ b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_start_btn_bg.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "room_friend_start_btn_bg@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "room_friend_start_btn_bg@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_start_btn_bg.imageset/room_friend_start_btn_bg@2x.png b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_start_btn_bg.imageset/room_friend_start_btn_bg@2x.png new file mode 100644 index 0000000..69af6f0 Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_start_btn_bg.imageset/room_friend_start_btn_bg@2x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_start_btn_bg.imageset/room_friend_start_btn_bg@3x.png b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_start_btn_bg.imageset/room_friend_start_btn_bg@3x.png new file mode 100644 index 0000000..6dff060 Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_start_btn_bg.imageset/room_friend_start_btn_bg@3x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_success_bg.imageset/Contents.json b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_success_bg.imageset/Contents.json new file mode 100644 index 0000000..9749f65 --- /dev/null +++ b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_success_bg.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "room_friend_success_bg@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "room_friend_success_bg@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_success_bg.imageset/room_friend_success_bg@2x.png b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_success_bg.imageset/room_friend_success_bg@2x.png new file mode 100644 index 0000000..bf7a121 Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_success_bg.imageset/room_friend_success_bg@2x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_success_bg.imageset/room_friend_success_bg@3x.png b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_success_bg.imageset/room_friend_success_bg@3x.png new file mode 100644 index 0000000..1770101 Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_success_bg.imageset/room_friend_success_bg@3x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_success_name_bg.imageset/Contents.json b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_success_name_bg.imageset/Contents.json new file mode 100644 index 0000000..aa6573c --- /dev/null +++ b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_success_name_bg.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "room_friend_success_name_bg@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "room_friend_success_name_bg@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_success_name_bg.imageset/room_friend_success_name_bg@2x.png b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_success_name_bg.imageset/room_friend_success_name_bg@2x.png new file mode 100644 index 0000000..a9a8c01 Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_success_name_bg.imageset/room_friend_success_name_bg@2x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_success_name_bg.imageset/room_friend_success_name_bg@3x.png b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_success_name_bg.imageset/room_friend_success_name_bg@3x.png new file mode 100644 index 0000000..08a93a3 Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_success_name_bg.imageset/room_friend_success_name_bg@3x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_time_bg.imageset/Contents.json b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_time_bg.imageset/Contents.json new file mode 100644 index 0000000..5a5efb4 --- /dev/null +++ b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_time_bg.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "room_friend_time_bg@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "room_friend_time_bg@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_time_bg.imageset/room_friend_time_bg@2x.png b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_time_bg.imageset/room_friend_time_bg@2x.png new file mode 100644 index 0000000..5c711a2 Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_time_bg.imageset/room_friend_time_bg@2x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_time_bg.imageset/room_friend_time_bg@3x.png b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_time_bg.imageset/room_friend_time_bg@3x.png new file mode 100644 index 0000000..f2b922c Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_time_bg.imageset/room_friend_time_bg@3x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_top_heart_bg.imageset/Contents.json b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_top_heart_bg.imageset/Contents.json new file mode 100644 index 0000000..3aa5b9a --- /dev/null +++ b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_top_heart_bg.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "room_friend_top_heart_bg@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "room_friend_top_heart_bg@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_top_heart_bg.imageset/room_friend_top_heart_bg@2x.png b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_top_heart_bg.imageset/room_friend_top_heart_bg@2x.png new file mode 100644 index 0000000..dd89066 Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_top_heart_bg.imageset/room_friend_top_heart_bg@2x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_top_heart_bg.imageset/room_friend_top_heart_bg@3x.png b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_top_heart_bg.imageset/room_friend_top_heart_bg@3x.png new file mode 100644 index 0000000..f5d196c Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_friend/room_friend_top_heart_bg.imageset/room_friend_top_heart_bg@3x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend_cabin_bg.imageset/Contents.json b/QXLive/Other/Assets.xcassets/home/room/room_friend_cabin_bg.imageset/Contents.json new file mode 100644 index 0000000..34bf3de --- /dev/null +++ b/QXLive/Other/Assets.xcassets/home/room/room_friend_cabin_bg.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "room_friend_cabin_bg@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "room_friend_cabin_bg@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend_cabin_bg.imageset/room_friend_cabin_bg@2x.png b/QXLive/Other/Assets.xcassets/home/room/room_friend_cabin_bg.imageset/room_friend_cabin_bg@2x.png new file mode 100644 index 0000000..4d13f6e Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_friend_cabin_bg.imageset/room_friend_cabin_bg@2x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_friend_cabin_bg.imageset/room_friend_cabin_bg@3x.png b/QXLive/Other/Assets.xcassets/home/room/room_friend_cabin_bg.imageset/room_friend_cabin_bg@3x.png new file mode 100644 index 0000000..c74155f Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_friend_cabin_bg.imageset/room_friend_cabin_bg@3x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_seat_auction_icon.imageset/Contents.json b/QXLive/Other/Assets.xcassets/home/room/room_seat_auction_icon.imageset/Contents.json index b6dfaca..9f214ff 100644 --- a/QXLive/Other/Assets.xcassets/home/room/room_seat_auction_icon.imageset/Contents.json +++ b/QXLive/Other/Assets.xcassets/home/room/room_seat_auction_icon.imageset/Contents.json @@ -5,12 +5,12 @@ "scale" : "1x" }, { - "filename" : "room_seat_auction_icon@2x.png", + "filename" : "Group 7411@2x.png", "idiom" : "universal", "scale" : "2x" }, { - "filename" : "room_seat_auction_icon@3x.png", + "filename" : "Group 7411@3x.png", "idiom" : "universal", "scale" : "3x" } diff --git a/QXLive/Other/Assets.xcassets/home/room/room_seat_auction_icon.imageset/Group 7411@2x.png b/QXLive/Other/Assets.xcassets/home/room/room_seat_auction_icon.imageset/Group 7411@2x.png new file mode 100644 index 0000000..26954f1 Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_seat_auction_icon.imageset/Group 7411@2x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_seat_auction_icon.imageset/Group 7411@3x.png b/QXLive/Other/Assets.xcassets/home/room/room_seat_auction_icon.imageset/Group 7411@3x.png new file mode 100644 index 0000000..7e5d5b1 Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_seat_auction_icon.imageset/Group 7411@3x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_seat_auction_icon.imageset/room_seat_auction_icon@2x.png b/QXLive/Other/Assets.xcassets/home/room/room_seat_auction_icon.imageset/room_seat_auction_icon@2x.png deleted file mode 100644 index 5064d0a..0000000 Binary files a/QXLive/Other/Assets.xcassets/home/room/room_seat_auction_icon.imageset/room_seat_auction_icon@2x.png and /dev/null differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_seat_auction_icon.imageset/room_seat_auction_icon@3x.png b/QXLive/Other/Assets.xcassets/home/room/room_seat_auction_icon.imageset/room_seat_auction_icon@3x.png deleted file mode 100644 index 76801c5..0000000 Binary files a/QXLive/Other/Assets.xcassets/home/room/room_seat_auction_icon.imageset/room_seat_auction_icon@3x.png and /dev/null differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_seat_auction_love_icon.imageset/Contents.json b/QXLive/Other/Assets.xcassets/home/room/room_seat_auction_love_icon.imageset/Contents.json index b008a4c..9f214ff 100644 --- a/QXLive/Other/Assets.xcassets/home/room/room_seat_auction_love_icon.imageset/Contents.json +++ b/QXLive/Other/Assets.xcassets/home/room/room_seat_auction_love_icon.imageset/Contents.json @@ -5,12 +5,12 @@ "scale" : "1x" }, { - "filename" : "room_seat_auction_love_icon@2x.png", + "filename" : "Group 7411@2x.png", "idiom" : "universal", "scale" : "2x" }, { - "filename" : "room_seat_auction_love_icon@3x.png", + "filename" : "Group 7411@3x.png", "idiom" : "universal", "scale" : "3x" } diff --git a/QXLive/Other/Assets.xcassets/home/room/room_seat_auction_love_icon.imageset/Group 7411@2x.png b/QXLive/Other/Assets.xcassets/home/room/room_seat_auction_love_icon.imageset/Group 7411@2x.png new file mode 100644 index 0000000..f9793b5 Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_seat_auction_love_icon.imageset/Group 7411@2x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_seat_auction_love_icon.imageset/Group 7411@3x.png b/QXLive/Other/Assets.xcassets/home/room/room_seat_auction_love_icon.imageset/Group 7411@3x.png new file mode 100644 index 0000000..b8dcadd Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_seat_auction_love_icon.imageset/Group 7411@3x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_seat_auction_love_icon.imageset/room_seat_auction_love_icon@2x.png b/QXLive/Other/Assets.xcassets/home/room/room_seat_auction_love_icon.imageset/room_seat_auction_love_icon@2x.png deleted file mode 100644 index 92864d5..0000000 Binary files a/QXLive/Other/Assets.xcassets/home/room/room_seat_auction_love_icon.imageset/room_seat_auction_love_icon@2x.png and /dev/null differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_seat_auction_love_icon.imageset/room_seat_auction_love_icon@3x.png b/QXLive/Other/Assets.xcassets/home/room/room_seat_auction_love_icon.imageset/room_seat_auction_love_icon@3x.png deleted file mode 100644 index 65e63c4..0000000 Binary files a/QXLive/Other/Assets.xcassets/home/room/room_seat_auction_love_icon.imageset/room_seat_auction_love_icon@3x.png and /dev/null differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_set_room_type_friend.imageset/Contents.json b/QXLive/Other/Assets.xcassets/home/room/room_set_room_type_friend.imageset/Contents.json new file mode 100644 index 0000000..3e76e0d --- /dev/null +++ b/QXLive/Other/Assets.xcassets/home/room/room_set_room_type_friend.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "room_set_room_type_friend@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "room_set_room_type_friend@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/QXLive/Other/Assets.xcassets/home/room/room_set_room_type_friend.imageset/room_set_room_type_friend@2x.png b/QXLive/Other/Assets.xcassets/home/room/room_set_room_type_friend.imageset/room_set_room_type_friend@2x.png new file mode 100644 index 0000000..c923747 Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_set_room_type_friend.imageset/room_set_room_type_friend@2x.png differ diff --git a/QXLive/Other/Assets.xcassets/home/room/room_set_room_type_friend.imageset/room_set_room_type_friend@3x.png b/QXLive/Other/Assets.xcassets/home/room/room_set_room_type_friend.imageset/room_set_room_type_friend@3x.png new file mode 100644 index 0000000..d33d39e Binary files /dev/null and b/QXLive/Other/Assets.xcassets/home/room/room_set_room_type_friend.imageset/room_set_room_type_friend@3x.png differ diff --git a/QXLive/Other/D-DIN-PRO-600-SemiBold.otf b/QXLive/Other/D-DIN-PRO-600-SemiBold.otf new file mode 100644 index 0000000..5f94c23 Binary files /dev/null and b/QXLive/Other/D-DIN-PRO-600-SemiBold.otf differ diff --git a/QXLive/Other/NoitceAndKey.h b/QXLive/Other/NoitceAndKey.h index 41232d4..e8f288e 100644 --- a/QXLive/Other/NoitceAndKey.h +++ b/QXLive/Other/NoitceAndKey.h @@ -7,6 +7,16 @@ #ifndef NoitceAndKey_h #define NoitceAndKey_h +typedef NS_ENUM(NSInteger) { + /// 房主 + QXRoomRoleTypeOwner = 0, + /// 主持 + QXRoomRoleTypeCompere, + /// 管理员 + QXRoomRoleTypeManager, + /// 观众 + QXRoomRoleTypeAudience, +}QXRoomRoleType; // 三方平台 #if DEVELOPENT == 1 static NSString *const WechatAppId = @"wx9b6db036ca1073a2"; diff --git a/QXLive/Other/QXApi.h b/QXLive/Other/QXApi.h index bd1d95e..1a5a6eb 100644 --- a/QXLive/Other/QXApi.h +++ b/QXLive/Other/QXApi.h @@ -8,7 +8,7 @@ #ifndef Api_h #define Api_h #if DEVELOPENT == 1 -static NSString* ServerUrl = @"https://vschat.qxmier.com/"; +static NSString* ServerUrl = @"http://tmd.qixing2.top/"; static NSString* H5ServerUrl = @"https://chatvespa.qxmier.com/"; #else static NSString* ServerUrl = @"https://chat.qxmier.com/"; @@ -409,4 +409,17 @@ static NSString * QXRoomUserGiveCoin = @"api/User/give_coin"; static NSString * QXAppFirstRechargeGiftList = @"api/Activities/first_charge_gift"; /// 首充好礼弹框权限 static NSString * QXAppFirstRechargePermission = @"api/Activities/first_charge_gift_permission"; + + +#pragma mark - 交友房 +/// 交友房开始 +static NSString * QXRoomFriendStart = @"api/Friend/start_friend"; +/// 交友房结束 +static NSString * QXRoomFriendEnd = @"api/Friend/end_friend"; +/// 交友房延时 +static NSString * QXRoomFriendDelay = @"api/Friend/delay"; +/// 卡关系 +static NSString * QXRoomFriendCreateRelation = @"api/Friend/create_relation"; +/// 退出私密房间 +static NSString * QXRoomFriendRoomQuit = @"api/Friend/out_room"; #endif /* Api_h */ diff --git a/QXLive/Other/heart_line_31.png b/QXLive/Other/heart_line_31.png new file mode 100644 index 0000000..fb3dd38 Binary files /dev/null and b/QXLive/Other/heart_line_31.png differ diff --git a/QXLive/Other/heart_line_31.svga b/QXLive/Other/heart_line_31.svga new file mode 100644 index 0000000..e0fe898 Binary files /dev/null and b/QXLive/Other/heart_line_31.svga differ