增加房间
2
Podfile
@@ -21,6 +21,8 @@ pod 'SVGAPlayer'
|
||||
pod 'Nuke'
|
||||
pod "NSObject+Rx"
|
||||
pod 'Qiniu'
|
||||
#文字自动滚动
|
||||
pod 'MarqueeLabel'
|
||||
pod 'NIMSDK_LITE', '9.6.1'
|
||||
|
||||
pod 'TZImagePickerController'
|
||||
|
@@ -35,6 +35,19 @@
|
||||
2311D6DD2B9204EF001C70AB /* logoBg.png in Resources */ = {isa = PBXBuildFile; fileRef = 2311D6DC2B9204EF001C70AB /* logoBg.png */; };
|
||||
2311D6DF2B9207AA001C70AB /* StoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2311D6DE2B9207AA001C70AB /* StoreKit.framework */; };
|
||||
233E515B2B8C849600582F9C /* PlanetStarClickItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 233E515A2B8C849600582F9C /* PlanetStarClickItemView.swift */; };
|
||||
234E2DF02B98425800433CF7 /* RoomVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 234E2DEF2B98425800433CF7 /* RoomVC.swift */; };
|
||||
234E2DF42B9847A700433CF7 /* RoomBackgroundView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 234E2DF32B9847A700433CF7 /* RoomBackgroundView.swift */; };
|
||||
234E2DF72B984FB200433CF7 /* RoomTopView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 234E2DF62B984FB200433CF7 /* RoomTopView.swift */; };
|
||||
234E2DFA2B9851F000433CF7 /* UIButton+.swift in Sources */ = {isa = PBXBuildFile; fileRef = 234E2DF92B9851F000433CF7 /* UIButton+.swift */; };
|
||||
234E2DFD2B985A7300433CF7 /* UILabel+.swift in Sources */ = {isa = PBXBuildFile; fileRef = 234E2DFC2B985A7300433CF7 /* UILabel+.swift */; };
|
||||
234E2E022B986D7600433CF7 /* RoomQuitView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 234E2E012B986D7600433CF7 /* RoomQuitView.swift */; };
|
||||
234E2E042B986D8400433CF7 /* RoomQuitModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 234E2E032B986D8400433CF7 /* RoomQuitModel.swift */; };
|
||||
234E2E062B986E2100433CF7 /* Enum.swift in Sources */ = {isa = PBXBuildFile; fileRef = 234E2E052B986E2100433CF7 /* Enum.swift */; };
|
||||
234E2E082B98738D00433CF7 /* RoomQuitUserInfoCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 234E2E072B98738D00433CF7 /* RoomQuitUserInfoCell.swift */; };
|
||||
234E2E0A2B98779900433CF7 /* RoomQuitUserInfoEmptyCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 234E2E092B98779900433CF7 /* RoomQuitUserInfoEmptyCell.swift */; };
|
||||
234E2E0C2B9879D400433CF7 /* RoomQuitClickCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 234E2E0B2B9879D400433CF7 /* RoomQuitClickCell.swift */; };
|
||||
234E2E0E2B99A24F00433CF7 /* RoomQuitItemModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 234E2E0D2B99A24F00433CF7 /* RoomQuitItemModel.swift */; };
|
||||
234E2E112B99B50400433CF7 /* RoomQuitViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 234E2E102B99B50400433CF7 /* RoomQuitViewModel.swift */; };
|
||||
25C63BC8F805551E8754E409 /* Pods_yinmeng_ios.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B2F175918AD0811681497739 /* Pods_yinmeng_ios.framework */; };
|
||||
E81A7BAE2B885B20009E736E /* Base64.m in Sources */ = {isa = PBXBuildFile; fileRef = E81A7BAA2B885B20009E736E /* Base64.m */; };
|
||||
E81A7BAF2B885B20009E736E /* MAIDESEncryptTool.m in Sources */ = {isa = PBXBuildFile; fileRef = E81A7BAB2B885B20009E736E /* MAIDESEncryptTool.m */; };
|
||||
@@ -135,6 +148,19 @@
|
||||
2311D6DC2B9204EF001C70AB /* logoBg.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = logoBg.png; sourceTree = "<group>"; };
|
||||
2311D6DE2B9207AA001C70AB /* StoreKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = StoreKit.framework; path = System/Library/Frameworks/StoreKit.framework; sourceTree = SDKROOT; };
|
||||
233E515A2B8C849600582F9C /* PlanetStarClickItemView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlanetStarClickItemView.swift; sourceTree = "<group>"; };
|
||||
234E2DEF2B98425800433CF7 /* RoomVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomVC.swift; sourceTree = "<group>"; };
|
||||
234E2DF32B9847A700433CF7 /* RoomBackgroundView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomBackgroundView.swift; sourceTree = "<group>"; };
|
||||
234E2DF62B984FB200433CF7 /* RoomTopView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomTopView.swift; sourceTree = "<group>"; };
|
||||
234E2DF92B9851F000433CF7 /* UIButton+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIButton+.swift"; sourceTree = "<group>"; };
|
||||
234E2DFC2B985A7300433CF7 /* UILabel+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UILabel+.swift"; sourceTree = "<group>"; };
|
||||
234E2E012B986D7600433CF7 /* RoomQuitView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomQuitView.swift; sourceTree = "<group>"; };
|
||||
234E2E032B986D8400433CF7 /* RoomQuitModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomQuitModel.swift; sourceTree = "<group>"; };
|
||||
234E2E052B986E2100433CF7 /* Enum.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Enum.swift; sourceTree = "<group>"; };
|
||||
234E2E072B98738D00433CF7 /* RoomQuitUserInfoCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomQuitUserInfoCell.swift; sourceTree = "<group>"; };
|
||||
234E2E092B98779900433CF7 /* RoomQuitUserInfoEmptyCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomQuitUserInfoEmptyCell.swift; sourceTree = "<group>"; };
|
||||
234E2E0B2B9879D400433CF7 /* RoomQuitClickCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomQuitClickCell.swift; sourceTree = "<group>"; };
|
||||
234E2E0D2B99A24F00433CF7 /* RoomQuitItemModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomQuitItemModel.swift; sourceTree = "<group>"; };
|
||||
234E2E102B99B50400433CF7 /* RoomQuitViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomQuitViewModel.swift; sourceTree = "<group>"; };
|
||||
A9FB906EB4D17C552C15A2B3 /* Pods-yinmeng-ios.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-yinmeng-ios.debug.xcconfig"; path = "Target Support Files/Pods-yinmeng-ios/Pods-yinmeng-ios.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
B2F175918AD0811681497739 /* Pods_yinmeng_ios.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_yinmeng_ios.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
CB0AC98C54C1D41FA4CA102B /* Pods-yinmeng-ios.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-yinmeng-ios.release.xcconfig"; path = "Target Support Files/Pods-yinmeng-ios/Pods-yinmeng-ios.release.xcconfig"; sourceTree = "<group>"; };
|
||||
@@ -237,6 +263,135 @@
|
||||
path = Pay;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
234E2DE92B98411800433CF7 /* Room */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
234E2DEA2B98411800433CF7 /* VM */,
|
||||
234E2DEB2B98411800433CF7 /* VC */,
|
||||
234E2DEC2B98411800433CF7 /* Model */,
|
||||
234E2DED2B98411800433CF7 /* View */,
|
||||
234E2DEE2B98411800433CF7 /* Tool */,
|
||||
);
|
||||
path = Room;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
234E2DEA2B98411800433CF7 /* VM */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
);
|
||||
path = VM;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
234E2DEB2B98411800433CF7 /* VC */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
234E2DEF2B98425800433CF7 /* RoomVC.swift */,
|
||||
);
|
||||
path = VC;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
234E2DEC2B98411800433CF7 /* Model */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
);
|
||||
path = Model;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
234E2DED2B98411800433CF7 /* View */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
234E2DFE2B986D6600433CF7 /* RoomQuitView */,
|
||||
234E2DF52B984FA800433CF7 /* RoomTopView */,
|
||||
234E2DF22B98479B00433CF7 /* RoomBackgroundView */,
|
||||
234E2DF12B98473800433CF7 /* SubView */,
|
||||
);
|
||||
path = View;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
234E2DEE2B98411800433CF7 /* Tool */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
);
|
||||
path = Tool;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
234E2DF12B98473800433CF7 /* SubView */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
);
|
||||
path = SubView;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
234E2DF22B98479B00433CF7 /* RoomBackgroundView */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
234E2DF32B9847A700433CF7 /* RoomBackgroundView.swift */,
|
||||
);
|
||||
path = RoomBackgroundView;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
234E2DF52B984FA800433CF7 /* RoomTopView */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
234E2DF62B984FB200433CF7 /* RoomTopView.swift */,
|
||||
);
|
||||
path = RoomTopView;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
234E2DF82B9851D300433CF7 /* UIButton */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
234E2DF92B9851F000433CF7 /* UIButton+.swift */,
|
||||
);
|
||||
path = UIButton;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
234E2DFB2B985A3D00433CF7 /* UILabel */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
234E2DFC2B985A7300433CF7 /* UILabel+.swift */,
|
||||
);
|
||||
path = UILabel;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
234E2DFE2B986D6600433CF7 /* RoomQuitView */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
234E2E0F2B99B4DD00433CF7 /* VM */,
|
||||
234E2DFF2B986D6600433CF7 /* Model */,
|
||||
234E2E002B986D6600433CF7 /* View */,
|
||||
);
|
||||
path = RoomQuitView;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
234E2DFF2B986D6600433CF7 /* Model */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
234E2E032B986D8400433CF7 /* RoomQuitModel.swift */,
|
||||
234E2E0D2B99A24F00433CF7 /* RoomQuitItemModel.swift */,
|
||||
);
|
||||
path = Model;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
234E2E002B986D6600433CF7 /* View */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
234E2E012B986D7600433CF7 /* RoomQuitView.swift */,
|
||||
234E2E072B98738D00433CF7 /* RoomQuitUserInfoCell.swift */,
|
||||
234E2E092B98779900433CF7 /* RoomQuitUserInfoEmptyCell.swift */,
|
||||
234E2E0B2B9879D400433CF7 /* RoomQuitClickCell.swift */,
|
||||
);
|
||||
path = View;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
234E2E0F2B99B4DD00433CF7 /* VM */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
234E2E102B99B50400433CF7 /* RoomQuitViewModel.swift */,
|
||||
);
|
||||
path = VM;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4B36689ACEFDA475774E1FD5 /* Pods */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@@ -337,6 +492,8 @@
|
||||
E86A43AB2B85DFC20084C04D /* Extension */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
234E2DFB2B985A3D00433CF7 /* UILabel */,
|
||||
234E2DF82B9851D300433CF7 /* UIButton */,
|
||||
E8E4AB192B901AEA0096D77C /* UIView */,
|
||||
E8479E442B8DD5B5009AF878 /* Date */,
|
||||
E8D15AA42B89B0BA00369467 /* List */,
|
||||
@@ -358,6 +515,7 @@
|
||||
E86A43B12B85E1FC0084C04D /* Modules */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
234E2DE92B98411800433CF7 /* Room */,
|
||||
2311D6B82B908CDB001C70AB /* Pay */,
|
||||
E8D15AB92B8B004000369467 /* User */,
|
||||
E8D15AB42B8B001900369467 /* Chat */,
|
||||
@@ -408,6 +566,7 @@
|
||||
E86A43D22B8773C90084C04D /* APPUtils.swift */,
|
||||
E8D15AE92B8CD77800369467 /* H5Utils.swift */,
|
||||
E8FF28B32B90ADBE005D2BE7 /* AppKeys.swift */,
|
||||
234E2E052B986E2100433CF7 /* Enum.swift */,
|
||||
);
|
||||
path = Utils;
|
||||
sourceTree = "<group>";
|
||||
@@ -770,6 +929,7 @@
|
||||
E8D15A9F2B89AED600369467 /* AuthManager.swift in Sources */,
|
||||
E8479E382B8DC5CD009AF878 /* ChatListVC.swift in Sources */,
|
||||
E89F19AF2B91C00F0098E797 /* BindMobileVC.swift in Sources */,
|
||||
234E2DFA2B9851F000433CF7 /* UIButton+.swift in Sources */,
|
||||
E86A43B02B85E11B0084C04D /* BaseNavigationViewController.swift in Sources */,
|
||||
E86A43E82B884C5E0084C04D /* String+.swift in Sources */,
|
||||
2311D6D12B91DDDF001C70AB /* UserPayViewModel.swift in Sources */,
|
||||
@@ -784,13 +944,18 @@
|
||||
2311D6AD2B9058AA001C70AB /* HomeVoiceModel.swift in Sources */,
|
||||
2311D6AB2B9024A9001C70AB /* HomeVoicePlayMusicItemView.swift in Sources */,
|
||||
E8D15AA62B89B0C600369467 /* List+.swift in Sources */,
|
||||
234E2E042B986D8400433CF7 /* RoomQuitModel.swift in Sources */,
|
||||
234E2E0A2B98779900433CF7 /* RoomQuitUserInfoEmptyCell.swift in Sources */,
|
||||
E81A7BAE2B885B20009E736E /* Base64.m in Sources */,
|
||||
2311D6D72B91EF62001C70AB /* PlanetStarPopUpView.swift in Sources */,
|
||||
E8479E462B8DD5BF009AF878 /* Date+.swift in Sources */,
|
||||
E81A7BB22B886299009E736E /* HUDTool.swift in Sources */,
|
||||
234E2E082B98738D00433CF7 /* RoomQuitUserInfoCell.swift in Sources */,
|
||||
E8E4AAB52B8F8E3A0096D77C /* AuthItmeButton.swift in Sources */,
|
||||
234E2E112B99B50400433CF7 /* RoomQuitViewModel.swift in Sources */,
|
||||
E86A43BC2B85FA640084C04D /* AuthForgetVC.swift in Sources */,
|
||||
E86A43C32B8628AF0084C04D /* BaseTabBarViewController.swift in Sources */,
|
||||
234E2E022B986D7600433CF7 /* RoomQuitView.swift in Sources */,
|
||||
E8479E3B2B8DC5FA009AF878 /* ChatViewModel.swift in Sources */,
|
||||
E8479E412B8DC6BC009AF878 /* ChatBaseObject.swift in Sources */,
|
||||
E86A43AA2B85DFA90084C04D /* BaseViewController.swift in Sources */,
|
||||
@@ -800,6 +965,7 @@
|
||||
E8D15AEA2B8CD77800369467 /* H5Utils.swift in Sources */,
|
||||
E8D15AAA2B8ACC6B00369467 /* YMNetworkFun.swift in Sources */,
|
||||
E8D15AB82B8B003C00369467 /* UserInfoVC.swift in Sources */,
|
||||
234E2DF72B984FB200433CF7 /* RoomTopView.swift in Sources */,
|
||||
E86A43B82B85F0B80084C04D /* AuthLaunchVC.swift in Sources */,
|
||||
E8E4AB252B901E400096D77C /* ChatMoreMenuCell.swift in Sources */,
|
||||
2311D6BA2B908D01001C70AB /* UserPayViewController.swift in Sources */,
|
||||
@@ -808,11 +974,14 @@
|
||||
E8D15AE82B8CD47100369467 /* WebViewController.swift in Sources */,
|
||||
E89F194B2B919ECB0098E797 /* ChatImageCell.swift in Sources */,
|
||||
E8D15AA12B89AF4F00369467 /* UserTokenObject.swift in Sources */,
|
||||
234E2E0E2B99A24F00433CF7 /* RoomQuitItemModel.swift in Sources */,
|
||||
233E515B2B8C849600582F9C /* PlanetStarClickItemView.swift in Sources */,
|
||||
E8FF28B42B90ADBE005D2BE7 /* AppKeys.swift in Sources */,
|
||||
2311D6A92B8F405F001C70AB /* HomeVoiceChooseTypeView.swift in Sources */,
|
||||
234E2DF42B9847A700433CF7 /* RoomBackgroundView.swift in Sources */,
|
||||
E89F19B52B91E3A50098E797 /* PasswordSetView.swift in Sources */,
|
||||
E89F19492B919EB80098E797 /* ChatVoiceCell.swift in Sources */,
|
||||
234E2E062B986E2100433CF7 /* Enum.swift in Sources */,
|
||||
E8D15AB62B8B002700369467 /* ChatVC.swift in Sources */,
|
||||
E8E4AB182B9019E50096D77C /* ChatKeyboardView.swift in Sources */,
|
||||
E8E4AB232B901E0C0096D77C /* ChatMoreMnueConfig.swift in Sources */,
|
||||
@@ -820,6 +989,8 @@
|
||||
E8E4AB212B901CD50096D77C /* ChatMoreMenuView.swift in Sources */,
|
||||
E86A43D32B8773C90084C04D /* APPUtils.swift in Sources */,
|
||||
E86A43CB2B874C6F0084C04D /* AuthPrivacyView.swift in Sources */,
|
||||
234E2E0C2B9879D400433CF7 /* RoomQuitClickCell.swift in Sources */,
|
||||
234E2DFD2B985A7300433CF7 /* UILabel+.swift in Sources */,
|
||||
E8D15AC52B8C90D400369467 /* AboutUsVC.swift in Sources */,
|
||||
2311D6B32B906EDA001C70AB /* HomeVoiceGuideView.swift in Sources */,
|
||||
E8D15ABF2B8B885700369467 /* UserObject.swift in Sources */,
|
||||
@@ -833,6 +1004,7 @@
|
||||
E8D15AA82B89B74700369467 /* YMRequestX.swift in Sources */,
|
||||
E8E4AB1D2B901B9D0096D77C /* ChatKeyboard+.swift in Sources */,
|
||||
2311D6C62B917949001C70AB /* HomeVoiceRecordBtnView.swift in Sources */,
|
||||
234E2DF02B98425800433CF7 /* RoomVC.swift in Sources */,
|
||||
2311D6A72B8F2CFA001C70AB /* HomeVoiceChooseItemVeiw.swift in Sources */,
|
||||
E8D15AB02B8AFFCE00369467 /* HomeVoiceVC.swift in Sources */,
|
||||
E8E4AB282B902A9C0096D77C /* ChatListCell.swift in Sources */,
|
||||
|
22
yinmeng-ios/Assets.xcassets/public/yin_default_avatar.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "yin_default_avatar@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "yin_default_avatar@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
yinmeng-ios/Assets.xcassets/public/yin_default_avatar.imageset/yin_default_avatar@2x.png
vendored
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
yinmeng-ios/Assets.xcassets/public/yin_default_avatar.imageset/yin_default_avatar@3x.png
vendored
Normal file
After Width: | Height: | Size: 3.5 KiB |
6
yinmeng-ios/Assets.xcassets/room/Contents.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
22
yinmeng-ios/Assets.xcassets/room/yib_room_quit_heat_icon.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "yib_room_quit_heat_icon@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "yib_room_quit_heat_icon@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
yinmeng-ios/Assets.xcassets/room/yib_room_quit_heat_icon.imageset/yib_room_quit_heat_icon@2x.png
vendored
Normal file
After Width: | Height: | Size: 848 B |
BIN
yinmeng-ios/Assets.xcassets/room/yib_room_quit_heat_icon.imageset/yib_room_quit_heat_icon@3x.png
vendored
Normal file
After Width: | Height: | Size: 1.4 KiB |
21
yinmeng-ios/Assets.xcassets/room/yin_room_bg.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "yin_room_bg@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
yinmeng-ios/Assets.xcassets/room/yin_room_bg.imageset/yin_room_bg@2x.png
vendored
Normal file
After Width: | Height: | Size: 339 KiB |
22
yinmeng-ios/Assets.xcassets/room/yin_room_quit_icon.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "yin_room_quit_icon@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "yin_room_quit_icon@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
yinmeng-ios/Assets.xcassets/room/yin_room_quit_icon.imageset/yin_room_quit_icon@2x.png
vendored
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
yinmeng-ios/Assets.xcassets/room/yin_room_quit_icon.imageset/yin_room_quit_icon@3x.png
vendored
Normal file
After Width: | Height: | Size: 1.9 KiB |
22
yinmeng-ios/Assets.xcassets/room/yin_room_report_icon.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "yin_room_report_icon@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "yin_room_report_icon@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
yinmeng-ios/Assets.xcassets/room/yin_room_report_icon.imageset/yin_room_report_icon@2x.png
vendored
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
yinmeng-ios/Assets.xcassets/room/yin_room_report_icon.imageset/yin_room_report_icon@3x.png
vendored
Normal file
After Width: | Height: | Size: 2.4 KiB |
22
yinmeng-ios/Assets.xcassets/room/yin_room_top_gift_icon.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "yin_room_top_gift_icon@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "yin_room_top_gift_icon@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
yinmeng-ios/Assets.xcassets/room/yin_room_top_gift_icon.imageset/yin_room_top_gift_icon@2x.png
vendored
Normal file
After Width: | Height: | Size: 492 B |
BIN
yinmeng-ios/Assets.xcassets/room/yin_room_top_gift_icon.imageset/yin_room_top_gift_icon@3x.png
vendored
Normal file
After Width: | Height: | Size: 718 B |
22
yinmeng-ios/Assets.xcassets/room/yin_room_top_lock_icon.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "yin_room_top_lock_icon@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "yin_room_top_lock_icon@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
yinmeng-ios/Assets.xcassets/room/yin_room_top_lock_icon.imageset/yin_room_top_lock_icon@2x.png
vendored
Normal file
After Width: | Height: | Size: 356 B |
BIN
yinmeng-ios/Assets.xcassets/room/yin_room_top_lock_icon.imageset/yin_room_top_lock_icon@3x.png
vendored
Normal file
After Width: | Height: | Size: 491 B |
22
yinmeng-ios/Assets.xcassets/room/yin_room_top_right.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "yin_room_top_right@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "yin_room_top_right@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
yinmeng-ios/Assets.xcassets/room/yin_room_top_right.imageset/yin_room_top_right@2x.png
vendored
Normal file
After Width: | Height: | Size: 374 B |
BIN
yinmeng-ios/Assets.xcassets/room/yin_room_top_right.imageset/yin_room_top_right@3x.png
vendored
Normal file
After Width: | Height: | Size: 198 B |
@@ -98,8 +98,8 @@ class YMNetworkHelper: NSObject {
|
||||
if ResultMo.keys.contains("message") { messageIn = ResultMo["message"] as? String ?? "" }
|
||||
fail3?(codeNum,messageIn)
|
||||
}
|
||||
} else if ResultMo.keys.contains("errno") {
|
||||
let CodeNum :Int = ResultMo["errno"] as? Int ?? 0
|
||||
} else if ResultMo.keys.contains("erron") {
|
||||
let CodeNum :Int = ResultMo["erron"] as? Int ?? 0
|
||||
if CodeNum == 0 {
|
||||
if ResultMo.keys.contains("data") {
|
||||
let dataSc = ResultMo["data"] as Any
|
||||
|
14
yinmeng-ios/Base/Utils/Enum.swift
Normal file
@@ -0,0 +1,14 @@
|
||||
//
|
||||
// Enum.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/6.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import HandyJSON
|
||||
///用户性别
|
||||
enum UserSexType: Int, HandyJSONEnum {
|
||||
case Boy = 1,Girl
|
||||
}
|
||||
|
@@ -7,28 +7,94 @@
|
||||
|
||||
import Foundation
|
||||
|
||||
private var isSafeScreen: Bool {
|
||||
if #available(iOS 11, *) {
|
||||
guard let w = UIApplication.shared.delegate?.window, let unwrapedWindow = w else {
|
||||
return false
|
||||
}
|
||||
if unwrapedWindow.safeAreaInsets.left > 0 || unwrapedWindow.safeAreaInsets.bottom > 0 {
|
||||
print(unwrapedWindow.safeAreaInsets)
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
|
||||
let ScreenWidth = UIScreen.main.bounds.size.width
|
||||
let ScreenHeight = UIScreen.main.bounds.size.height
|
||||
let StatusBarHeight = UIApplication.shared.statusBarFrame.height
|
||||
let SafeAraeBottomHeight = isSafeScreen ? 34.0 : 0.0
|
||||
let SafeAraeTopmHeight = isSafeScreen ? 24.0 : 0.0
|
||||
let NavHeight = (StatusBarHeight + 44)
|
||||
let TabHeight = (49)
|
||||
let StatusBarHeight = UIDevice.yinStatusBarHeight()
|
||||
let SafeAraeBottomHeight = UIDevice.yinSafeDistanceBottom()
|
||||
let SafeAraeTopmHeight = UIDevice.yinSafeDistanceTop()
|
||||
let NavHeight = UIDevice.yinNavigationFullHeight()
|
||||
let TabHeight = UIDevice.yinTabBarHeight()
|
||||
let keyWindow = UIApplication.shared.windows.first!
|
||||
|
||||
|
||||
let DesKey = "1ea53d260ecf11e7b56e00163e046a26"
|
||||
|
||||
let H5_URL = "http://beta.h5.ymlive.fun"
|
||||
|
||||
|
||||
|
||||
extension UIFont{
|
||||
static func getScaleFont(ofSize:CGFloat,weight:Weight)->UIFont{
|
||||
return UIFont.systemFont(ofSize: UIDevice.scaleWidth(width: ofSize), weight: weight)
|
||||
}
|
||||
}
|
||||
extension UIDevice {
|
||||
|
||||
static func scaleWidth(width:CGFloat)->CGFloat{
|
||||
return round(ScreenWidth / 375 * width)
|
||||
}
|
||||
static func scaleHeighth(width:CGFloat)->CGFloat{
|
||||
return round(ScreenHeight / 812 * width)
|
||||
}
|
||||
/// 顶部安全区高度
|
||||
static func yinSafeDistanceTop() -> CGFloat {
|
||||
if #available(iOS 13.0, *) {
|
||||
let scene = UIApplication.shared.connectedScenes.first
|
||||
guard let windowScene = scene as? UIWindowScene else { return 0 }
|
||||
guard let window = windowScene.windows.first else { return 0 }
|
||||
return window.safeAreaInsets.top
|
||||
}
|
||||
guard let window = UIApplication.shared.windows.first else { return 0 }
|
||||
return window.safeAreaInsets.top
|
||||
|
||||
}
|
||||
|
||||
/// 底部安全区高度
|
||||
static func yinSafeDistanceBottom() -> CGFloat {
|
||||
if #available(iOS 13.0, *) {
|
||||
let scene = UIApplication.shared.connectedScenes.first
|
||||
guard let windowScene = scene as? UIWindowScene else { return 0 }
|
||||
guard let window = windowScene.windows.first else { return 0 }
|
||||
return window.safeAreaInsets.bottom
|
||||
}
|
||||
guard let window = UIApplication.shared.windows.first else { return 0 }
|
||||
return window.safeAreaInsets.bottom
|
||||
|
||||
}
|
||||
|
||||
/// 顶部状态栏高度(包括安全区)
|
||||
static func yinStatusBarHeight() -> CGFloat {
|
||||
var statusBarHeight: CGFloat = 0
|
||||
if #available(iOS 13.0, *) {
|
||||
let scene = UIApplication.shared.connectedScenes.first
|
||||
guard let windowScene = scene as? UIWindowScene else { return 0 }
|
||||
guard let statusBarManager = windowScene.statusBarManager else { return 0 }
|
||||
statusBarHeight = statusBarManager.statusBarFrame.height
|
||||
} else {
|
||||
statusBarHeight = UIApplication.shared.statusBarFrame.height
|
||||
}
|
||||
return statusBarHeight
|
||||
}
|
||||
|
||||
/// 导航栏高度
|
||||
static func yinNavigationBarHeight() -> CGFloat {
|
||||
return 44.0
|
||||
}
|
||||
|
||||
/// 状态栏+导航栏的高度
|
||||
static func yinNavigationFullHeight() -> CGFloat {
|
||||
return UIDevice.yinStatusBarHeight() + UIDevice.yinNavigationBarHeight()
|
||||
}
|
||||
|
||||
/// 底部导航栏高度
|
||||
static func yinTabBarHeight() -> CGFloat {
|
||||
return 49.0
|
||||
}
|
||||
|
||||
/// 底部导航栏高度(包括安全区)
|
||||
static func yinTabBarFullHeight() -> CGFloat {
|
||||
return UIDevice.yinTabBarHeight() + UIDevice.yinSafeDistanceBottom()
|
||||
}
|
||||
}
|
||||
|
67
yinmeng-ios/Extension/UIButton/UIButton+.swift
Normal file
@@ -0,0 +1,67 @@
|
||||
//
|
||||
// UIButtom+.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/6.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
||||
extension UIButton {
|
||||
private static var clickRadius = "YinClickRadius"
|
||||
|
||||
var setBtnClickRadius: UIEdgeInsets? {
|
||||
set {
|
||||
objc_setAssociatedObject(self, &Self.clickRadius, newValue, objc_AssociationPolicy.OBJC_ASSOCIATION_COPY)
|
||||
}
|
||||
get {
|
||||
return objc_getAssociatedObject(self, &Self.clickRadius) as? UIEdgeInsets ?? UIEdgeInsets.zero
|
||||
}
|
||||
}
|
||||
|
||||
/// 重写系统方法修改点击区域
|
||||
override open func point(inside point: CGPoint, with event: UIEvent?) -> Bool {
|
||||
guard let inset = setBtnClickRadius else {
|
||||
return super.point(inside: point, with: event)
|
||||
}
|
||||
var bounds = self.bounds
|
||||
|
||||
let x: CGFloat = -inset.left
|
||||
let y: CGFloat = -inset.top
|
||||
let width: CGFloat = bounds.width + inset.left + inset.right
|
||||
let height: CGFloat = bounds.height + inset.top + inset.bottom
|
||||
bounds = CGRect(x: x, y: y, width: width, height: height) // 负值是方法响应范围
|
||||
|
||||
return bounds.contains(point)
|
||||
}
|
||||
|
||||
static func getCustomBtn(text:String? = nil,selectedText:String? = nil,font:UIFont? = nil,color:UIColor? = nil,selectedColor:UIColor? = nil,image:UIImage? = nil,selectedImage:UIImage? = nil,bgImage:UIImage? = nil) -> UIButton{
|
||||
let customBtn = UIButton()
|
||||
if let _text = text{
|
||||
customBtn.setTitle(text, for: .normal)
|
||||
}
|
||||
if let _selectedText = selectedText{
|
||||
customBtn.setTitle(selectedText, for: .selected)
|
||||
}
|
||||
if let _font = font{
|
||||
customBtn.titleLabel?.font = font
|
||||
}
|
||||
if let _color = color{
|
||||
customBtn.setTitleColor(color, for: .normal)
|
||||
}
|
||||
if let _selectedColor = selectedColor{
|
||||
customBtn.setTitleColor(selectedColor, for: .selected)
|
||||
}
|
||||
if let _image = image{
|
||||
customBtn.setImage(_image, for: .normal)
|
||||
}
|
||||
if let _selectedImage = selectedImage{
|
||||
customBtn.setImage(_selectedImage, for: .selected)
|
||||
}
|
||||
if let _bgImage = bgImage{
|
||||
customBtn.setBackgroundImage(_bgImage, for: .normal)
|
||||
}
|
||||
return customBtn
|
||||
}
|
||||
|
||||
}
|
@@ -121,3 +121,9 @@ extension UIImage{
|
||||
return image
|
||||
}
|
||||
}
|
||||
|
||||
extension UIImage{
|
||||
static func getDefaultAvatar() -> UIImage?{
|
||||
return UIImage(named: "yin_default_avatar") ?? nil
|
||||
}
|
||||
}
|
||||
|
44
yinmeng-ios/Extension/UILabel/UILabel+.swift
Normal file
@@ -0,0 +1,44 @@
|
||||
//
|
||||
// UILabel+.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/6.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
extension UILabel{
|
||||
static func getCustomLabel(text:String? = "",font:UIFont? = nil,color:UIColor? = nil,textAlignment:NSTextAlignment? = .left)->UILabel{
|
||||
let customView = UILabel()
|
||||
if let _text = text {
|
||||
customView.text = text
|
||||
}
|
||||
if let _font = font {
|
||||
customView.font = _font
|
||||
}
|
||||
if let _color = color {
|
||||
customView.textColor = _color
|
||||
}
|
||||
if let _textAlignment = textAlignment{
|
||||
customView.textAlignment = _textAlignment
|
||||
}
|
||||
return customView
|
||||
}
|
||||
static func getLabelHeigth(text:String,width:CGFloat,font:UIFont)-> CGFloat{
|
||||
let label:UILabel = UILabel(frame: CGRect(x: 0, y: 0, width: width, height: CGFloat.greatestFiniteMagnitude))
|
||||
label.numberOfLines = 0
|
||||
label.lineBreakMode = NSLineBreakMode.byWordWrapping
|
||||
label.font = font
|
||||
label.text = text
|
||||
label.sizeToFit()
|
||||
return label.frame.height
|
||||
}
|
||||
static func getLabelWidth(text:String,heigth:CGFloat,font:UIFont)-> CGFloat{
|
||||
let label:UILabel = UILabel(frame: CGRect(x: 0, y: 0, width: CGFloat.greatestFiniteMagnitude, height:heigth ))
|
||||
label.numberOfLines = 0
|
||||
label.lineBreakMode = NSLineBreakMode.byWordWrapping
|
||||
label.font = font
|
||||
label.text = text
|
||||
label.sizeToFit()
|
||||
return label.frame.width
|
||||
}
|
||||
}
|
30
yinmeng-ios/Modules/Room/VC/RoomVC.swift
Normal file
@@ -0,0 +1,30 @@
|
||||
//
|
||||
// RoomVC.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/6.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
||||
class RoomVC: BaseViewController, HiddenNavigationBarProtocol {
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
setUILayout()
|
||||
}
|
||||
private func setUILayout(){
|
||||
view.addSubview(backgroundView)
|
||||
backgroundView.snp.makeConstraints { make in
|
||||
make.edges.equalTo(self.view)
|
||||
}
|
||||
}
|
||||
private func requestData(){
|
||||
|
||||
}
|
||||
//MARK: - 懒加载
|
||||
private lazy var backgroundView:RoomBackgroundView = {
|
||||
let _backgroundView = RoomBackgroundView(frame: .zero)
|
||||
return _backgroundView
|
||||
}()
|
||||
}
|
@@ -0,0 +1,33 @@
|
||||
//
|
||||
// RoomBackgroundView.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/6.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
||||
class RoomBackgroundView: UIView {
|
||||
|
||||
override init(frame: CGRect) {
|
||||
super.init(frame: frame)
|
||||
setUILayout()
|
||||
|
||||
}
|
||||
|
||||
required init?(coder: NSCoder) {
|
||||
fatalError("init(coder:) has not been implemented")
|
||||
}
|
||||
private func setUILayout(){
|
||||
addSubview(bgImageView)
|
||||
bgImageView.snp.makeConstraints { make in
|
||||
make.edges.equalTo(self)
|
||||
}
|
||||
}
|
||||
//MARK: - 懒加载
|
||||
private lazy var bgImageView:UIImageView = {
|
||||
let _bgImageView = UIImageView()
|
||||
_bgImageView.image = UIImage(named: "yin_room_bg")
|
||||
return _bgImageView
|
||||
}()
|
||||
}
|
@@ -0,0 +1,18 @@
|
||||
//
|
||||
// RoomQuitItemModel.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/7.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
||||
enum RoomQuitClickType {
|
||||
case quit,report
|
||||
}
|
||||
|
||||
class RoomQuitItemModel: NSObject {
|
||||
var type:RoomQuitClickType = .quit
|
||||
var text = ""
|
||||
var image = ""
|
||||
}
|
@@ -0,0 +1,25 @@
|
||||
//
|
||||
// RoomQuitView.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/6.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import HandyJSON
|
||||
|
||||
struct RoomQuitModel: HandyJSON {
|
||||
var roomId = 0
|
||||
var uid = 0
|
||||
var isPermitRoom = 0
|
||||
var title = ""
|
||||
var onlineNum = 0
|
||||
var micUserCount = 0
|
||||
var tagPict = ""
|
||||
var roomTag = ""
|
||||
var avatar = ""
|
||||
var gender:UserSexType = .Boy
|
||||
var infoUid = ""
|
||||
var nick = ""
|
||||
var roomPwd = ""
|
||||
}
|
@@ -0,0 +1,12 @@
|
||||
//
|
||||
// RoomQuitViewModel.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/7.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
import RxSwift
|
||||
class RoomQuitViewModel: NSObject {
|
||||
|
||||
}
|
@@ -0,0 +1,63 @@
|
||||
//
|
||||
// RoomQuitClickCell.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/6.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
import Nuke
|
||||
class RoomQuitClickCell: UICollectionViewCell {
|
||||
override init(frame: CGRect) {
|
||||
super.init(frame: frame)
|
||||
setUILayout()
|
||||
|
||||
}
|
||||
|
||||
required init?(coder: NSCoder) {
|
||||
fatalError("init(coder:) has not been implemented")
|
||||
}
|
||||
private func setUILayout(){
|
||||
contentView.addSubview(avatarView)
|
||||
contentView.addSubview(nameView)
|
||||
|
||||
avatarView.snp.makeConstraints { make in
|
||||
make.width.height.equalTo(UIDevice.scaleWidth(width: 52))
|
||||
make.top.equalTo(self)
|
||||
make.centerX.equalTo(self)
|
||||
}
|
||||
nameView.snp.makeConstraints { make in
|
||||
make.top.equalTo(self.avatarView.snp.bottom).offset(UIDevice.scaleWidth(width: 4))
|
||||
make.centerX.equalTo(self)
|
||||
make.height.equalTo(UIDevice.scaleWidth(width: 12))
|
||||
}
|
||||
}
|
||||
var model:RoomQuitItemModel{
|
||||
didSet{
|
||||
avatarView.image = UIImage(named: model.image)
|
||||
nameView.text = model.text
|
||||
}
|
||||
}
|
||||
//MARK: - set/get
|
||||
var text:String = ""{
|
||||
didSet{
|
||||
nameView.text = text
|
||||
}
|
||||
}
|
||||
var image:String = ""{
|
||||
didSet{
|
||||
Nuke.loadImage(with: image, into: avatarView, completion: nil)
|
||||
}
|
||||
}
|
||||
//MARK: - 懒加载
|
||||
private lazy var avatarView:UIImageView = {
|
||||
let _avatarView = UIImageView()
|
||||
|
||||
return _avatarView
|
||||
}()
|
||||
private lazy var nameView:UILabel = {
|
||||
let _nameView = UILabel.getCustomLabel(font: UIFont.systemFont(ofSize: 10),color: .white)
|
||||
|
||||
return _nameView
|
||||
}()
|
||||
}
|
@@ -0,0 +1,96 @@
|
||||
//
|
||||
// RoomQuitUserInfoCell.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/6.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
import Nuke
|
||||
|
||||
class RoomQuitUserInfoCell: UITableViewCell {
|
||||
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
|
||||
super.init(style: style, reuseIdentifier: reuseIdentifier)
|
||||
setUILayout()
|
||||
}
|
||||
|
||||
required init?(coder: NSCoder) {
|
||||
fatalError("init(coder:) has not been implemented")
|
||||
}
|
||||
private func setUILayout(){
|
||||
backgroundColor = .clear
|
||||
selectionStyle = .none
|
||||
contentView.addSubview(avatarView)
|
||||
contentView.addSubview(roomNameView)
|
||||
contentView.addSubview(typeIconView)
|
||||
contentView.addSubview(heatImageView)
|
||||
contentView.addSubview(heatNumView)
|
||||
|
||||
avatarView.snp.makeConstraints { make in
|
||||
make.top.equalTo(UIDevice.scaleWidth(width: 12))
|
||||
make.leading.equalTo(UIDevice.scaleWidth(width: 15))
|
||||
make.width.height.equalTo(UIDevice.scaleWidth(width: 72))
|
||||
}
|
||||
roomNameView.snp.makeConstraints { make in
|
||||
make.top.equalTo(avatarView.snp.bottom).offset(UIDevice.scaleWidth(width: 12))
|
||||
make.leading.equalTo(avatarView.snp.trailing).offset((UIDevice.scaleWidth(width: 7)))
|
||||
make.height.equalTo(UIDevice.scaleWidth(width: 14))
|
||||
make.trailing.equalTo(-UIDevice.scaleWidth(width: 0))
|
||||
}
|
||||
typeIconView.snp.makeConstraints { make in
|
||||
make.width.equalTo(UIDevice.scaleWidth(width: 34))
|
||||
make.height.equalTo(UIDevice.scaleWidth(width: 18))
|
||||
make.top.equalTo(roomNameView.snp.bottom).offset(UIDevice.scaleWidth(width: 12))
|
||||
make.leading.equalTo(roomNameView)
|
||||
}
|
||||
heatImageView.snp.makeConstraints { make in
|
||||
make.width.height.equalTo(UIDevice.scaleWidth(width: 13))
|
||||
make.leading.equalTo(typeIconView.snp.trailing).offset((UIDevice.scaleWidth(width: 12)))
|
||||
make.centerY.equalTo(typeIconView)
|
||||
}
|
||||
heatNumView.snp.makeConstraints { make in
|
||||
make.leading.equalTo(heatImageView.snp.trailing).offset((UIDevice.scaleWidth(width: 3)))
|
||||
make.centerY.equalTo(typeIconView)
|
||||
make.trailing.equalTo(-UIDevice.scaleWidth(width: 0))
|
||||
make.height.equalTo(UIDevice.scaleWidth(width: 12))
|
||||
}
|
||||
}
|
||||
//MARK: - 赋值
|
||||
var model:RoomQuitModel? = nil {
|
||||
didSet{
|
||||
guard let _model = model else {return}
|
||||
Nuke.loadImage(with: _model.avatar, into: avatarView, completion: nil)
|
||||
roomNameView.text = _model.title
|
||||
Nuke.loadImage(with: _model.tagPict, into: typeIconView, completion: nil)
|
||||
heatNumView.text = "\(_model.onlineNum)"
|
||||
}
|
||||
}
|
||||
//MARK: - 懒加载
|
||||
private lazy var avatarView:UIImageView = {
|
||||
let _avatarView = UIImageView()
|
||||
_avatarView.layer.cornerRadius = UIDevice.scaleWidth(width: 8)
|
||||
_avatarView.layer.masksToBounds = true
|
||||
return _avatarView
|
||||
}()
|
||||
|
||||
private lazy var typeIconView:UIImageView = {
|
||||
let _typeIconView = UIImageView()
|
||||
|
||||
return _typeIconView
|
||||
}()
|
||||
private lazy var heatImageView:UIImageView = {
|
||||
let _heatImageView = UIImageView()
|
||||
_heatImageView.image = UIImage(named: "yib_room_quit_heat_icon")
|
||||
return _heatImageView
|
||||
}()
|
||||
private lazy var roomNameView:UILabel = {
|
||||
let _roomNameView = UILabel.getCustomLabel(font: UIFont.getScaleFont(ofSize: 14, weight: .semibold),color: .white)
|
||||
|
||||
return _roomNameView
|
||||
}()
|
||||
private lazy var heatNumView:UILabel = {
|
||||
let _heatNumView = UILabel.getCustomLabel(font: UIFont.getScaleFont(ofSize: 12, weight: .regular),color: .white)
|
||||
|
||||
return _heatNumView
|
||||
}()
|
||||
}
|
@@ -0,0 +1,34 @@
|
||||
//
|
||||
// RoomQuitUserInfoEmptyCell.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/6.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
||||
class RoomQuitUserInfoEmptyCell: UITableViewCell {
|
||||
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
|
||||
super.init(style: style, reuseIdentifier: reuseIdentifier)
|
||||
setUILayout()
|
||||
}
|
||||
|
||||
required init?(coder: NSCoder) {
|
||||
fatalError("init(coder:) has not been implemented")
|
||||
}
|
||||
private func setUILayout(){
|
||||
backgroundColor = .clear
|
||||
selectionStyle = .none
|
||||
contentView.addSubview(textView)
|
||||
textView.snp.makeConstraints { make in
|
||||
make.leading.trailing.equalTo(self.contentView)
|
||||
make.centerY.equalTo(self)
|
||||
}
|
||||
}
|
||||
//MARK: - 懒加载
|
||||
private lazy var textView:UILabel = {
|
||||
let _textView = UILabel.getCustomLabel(text: "暂无房间", font: UIFont.getScaleFont(ofSize: 14, weight: .regular), color: .white, textAlignment: .center)
|
||||
|
||||
return _textView
|
||||
}()
|
||||
}
|
@@ -0,0 +1,140 @@
|
||||
//
|
||||
// RoomQuitView.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/6.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
||||
protocol RoomQuitViewProtocol{
|
||||
func didClickTypeWithModel(clickModel:RoomQuitItemModel) -> Void
|
||||
func didChooseRoomWithModel(roomModel:RoomQuitModel?) -> Void
|
||||
}
|
||||
|
||||
class RoomQuitView: UIView {
|
||||
|
||||
override init(frame: CGRect) {
|
||||
super.init(frame: frame)
|
||||
setUILayout()
|
||||
registerCell()
|
||||
}
|
||||
|
||||
required init?(coder: NSCoder) {
|
||||
fatalError("init(coder:) has not been implemented")
|
||||
}
|
||||
private func setUILayout(){
|
||||
addSubview(bgMaskView)
|
||||
addSubview(collectionView)
|
||||
addSubview(textView)
|
||||
addSubview(tableView)
|
||||
|
||||
bgMaskView.snp.makeConstraints { make in
|
||||
make.edges.equalTo(self)
|
||||
}
|
||||
collectionView.snp.makeConstraints { make in
|
||||
make.leading.trailing.equalTo(self).inset(0)
|
||||
make.top.equalTo(UIDevice.scaleWidth(width: 8) + StatusBarHeight)
|
||||
make.height.equalTo(UIDevice.scaleWidth(width: 164))
|
||||
}
|
||||
textView.snp.makeConstraints { make in
|
||||
make.top.equalTo(collectionView.snp.bottom).offset(UIDevice.scaleWidth(width: 16))
|
||||
make.leading.equalTo(UIDevice.scaleWidth(width: 11))
|
||||
|
||||
}
|
||||
tableView.snp.makeConstraints { make in
|
||||
make.leading.trailing.bottom.equalTo(0)
|
||||
make.top.equalTo(textView.snp.bottom).offset(UIDevice.scaleWidth(width: 0))
|
||||
}
|
||||
}
|
||||
private func registerCell(){
|
||||
collectionView.register(RoomQuitClickCell.self, forCellWithReuseIdentifier: "RoomQuitClickCell")
|
||||
|
||||
collectionView.delegate = self
|
||||
collectionView.dataSource = self
|
||||
tableView.register(RoomQuitUserInfoEmptyCell.self, forCellReuseIdentifier: "RoomQuitUserInfoEmptyCell")
|
||||
tableView.register(RoomQuitUserInfoCell.self, forCellReuseIdentifier: "RoomQuitUserInfoEmptyCell")
|
||||
tableView.delegate = self
|
||||
tableView.dataSource = self
|
||||
}
|
||||
|
||||
//MARK: - 懒加载
|
||||
let emptyCellHeight = ScreenHeight - StatusBarHeight - UIDevice.scaleWidth(width: 128)
|
||||
var delegate:RoomQuitViewProtocol?
|
||||
var clickModelList:[RoomQuitItemModel] {
|
||||
let quitModel = RoomQuitItemModel()
|
||||
quitModel.text = "退出房间"
|
||||
quitModel.image = "yin_room_quit_icon"
|
||||
let reportModel = RoomQuitItemModel()
|
||||
reportModel.text = "举报房间"
|
||||
reportModel.type = .report
|
||||
reportModel.image = "yin_room_report_icon"
|
||||
return [quitModel,reportModel]
|
||||
}
|
||||
var roomModelList:[RoomQuitModel] = []
|
||||
private lazy var bgMaskView:UIVisualEffectView = {
|
||||
var _bgMaskView = UIVisualEffectView()
|
||||
let blurEffect = UIBlurEffect(style: .dark)
|
||||
_bgMaskView = UIVisualEffectView(effect: blurEffect)
|
||||
return _bgMaskView
|
||||
}()
|
||||
private lazy var collectionView:UICollectionView = {
|
||||
let layout = UICollectionViewFlowLayout()
|
||||
layout.scrollDirection = .vertical
|
||||
layout.minimumLineSpacing = UIDevice.scaleWidth(width: 14)
|
||||
let spacing = UIDevice.scaleWidth(width: 94) / 4
|
||||
layout.minimumInteritemSpacing = spacing
|
||||
layout.itemSize = CGSize(width: UIDevice.scaleWidth(width: 52), height: UIDevice.scaleWidth(width: 68))
|
||||
layout.sectionInset = UIEdgeInsets(top: 0, left: spacing, bottom: 0, right: spacing)
|
||||
let _collectionView = UICollectionView(frame: .zero, collectionViewLayout: layout)
|
||||
_collectionView.backgroundColor = .clear
|
||||
return _collectionView
|
||||
}()
|
||||
private lazy var tableView:UITableView = {
|
||||
let _tableView = UITableView.init(frame: .zero, style: .plain)
|
||||
_tableView.separatorStyle = .none
|
||||
_tableView.showsVerticalScrollIndicator = false
|
||||
_tableView.showsHorizontalScrollIndicator = false
|
||||
_tableView.backgroundColor = .clear
|
||||
return _tableView
|
||||
}()
|
||||
private lazy var textView:UILabel = {
|
||||
let _textView = UILabel.getCustomLabel(text:"为你推荐",font: UIFont.getScaleFont(ofSize: 14, weight: .medium),color: .white)
|
||||
|
||||
return _textView
|
||||
}()
|
||||
}
|
||||
|
||||
extension RoomQuitView:UICollectionViewDelegate ,UICollectionViewDataSource{
|
||||
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
|
||||
return clickModelList.count
|
||||
}
|
||||
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
|
||||
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "RoomQuitClickCell", for: indexPath) as! RoomQuitClickCell
|
||||
cell.model = clickModelList[indexPath.row]
|
||||
return cell
|
||||
}
|
||||
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
|
||||
self.delegate?.didClickTypeWithModel(clickModel: clickModelList[indexPath.row])
|
||||
}
|
||||
}
|
||||
extension RoomQuitView:UITableViewDelegate,UITableViewDataSource{
|
||||
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
|
||||
return roomModelList.isEmpty ? 1 : roomModelList.count
|
||||
}
|
||||
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
|
||||
return !roomModelList.isEmpty ? UIDevice.scaleWidth(width: 84) : emptyCellHeight
|
||||
}
|
||||
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
|
||||
if roomModelList.isEmpty {
|
||||
let cell = tableView.dequeueReusableCell(withIdentifier: "RoomQuitUserInfoEmptyCell", for: indexPath) as! RoomQuitUserInfoEmptyCell
|
||||
return cell
|
||||
}
|
||||
let cell = tableView.dequeueReusableCell(withIdentifier: "RoomQuitUserInfoCell", for: indexPath) as! RoomQuitUserInfoCell
|
||||
cell.model = roomModelList[safe:indexPath.row]
|
||||
return cell
|
||||
}
|
||||
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
|
||||
self.delegate?.didChooseRoomWithModel(roomModel: roomModelList[safe: indexPath.row])
|
||||
}
|
||||
}
|
142
yinmeng-ios/Modules/Room/View/RoomTopView/RoomTopView.swift
Normal file
@@ -0,0 +1,142 @@
|
||||
//
|
||||
// RoomTopView.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/6.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
import MarqueeLabel
|
||||
|
||||
class RoomTopView: UIView {
|
||||
|
||||
override init(frame: CGRect) {
|
||||
super.init(frame: frame)
|
||||
setUILayout()
|
||||
|
||||
}
|
||||
|
||||
required init?(coder: NSCoder) {
|
||||
fatalError("init(coder:) has not been implemented")
|
||||
}
|
||||
private func setUILayout(){
|
||||
|
||||
}
|
||||
|
||||
//MARK: - bntTarget
|
||||
@objc func colectRoomAction(){
|
||||
|
||||
}
|
||||
|
||||
//MARK: - 懒加载
|
||||
private lazy var settingBnt:UIButton = {
|
||||
let _settingBtn = UIButton.getCustomBtn(image: UIImage(named: "yin_room_top_right"))
|
||||
_settingBtn.setBtnClickRadius = UIEdgeInsets(top: 8, left: 8, bottom: 8, right: 8)
|
||||
return _settingBtn
|
||||
}()
|
||||
private lazy var colectRoomBtn:UIButton = {
|
||||
let image = UIImage.image(color: ThemeColor(hexStr: "#FFDA24"))
|
||||
let _colectRoomBtn = UIButton.getCustomBtn(text: "收藏",selectedText:"已收藏",font: UIFont.getScaleFont(ofSize: 11, weight: .medium),color: .white,bgImage: image)
|
||||
_colectRoomBtn.layer.cornerRadius = UIDevice.scaleWidth(width: 10)
|
||||
_colectRoomBtn.layer.masksToBounds = true
|
||||
_colectRoomBtn.contentEdgeInsets = UIEdgeInsets(top: 0, left: UIDevice.scaleWidth(width: 7), bottom: 0, right: UIDevice.scaleWidth(width: 7))
|
||||
_colectRoomBtn.addTarget(self, action: #selector(colectRoomAction), for: .touchUpInside)
|
||||
_colectRoomBtn.isHidden = true
|
||||
return _colectRoomBtn
|
||||
}()
|
||||
private lazy var nameStackView:UIStackView = {
|
||||
let _nameStackView = UIStackView()
|
||||
_nameStackView.axis = .vertical
|
||||
_nameStackView.distribution = .fill
|
||||
_nameStackView.alignment = .leading
|
||||
return _nameStackView
|
||||
}()
|
||||
private lazy var textStackView:UIStackView = {
|
||||
let _textStackView = UIStackView()
|
||||
_textStackView.axis = .horizontal
|
||||
_textStackView.distribution = .fill
|
||||
_textStackView.alignment = .center
|
||||
_textStackView.spacing = UIDevice.scaleWidth(width: 5)
|
||||
return _textStackView
|
||||
}()
|
||||
private lazy var textView:MarqueeLabel = {
|
||||
let _textView = MarqueeLabel()
|
||||
_textView.speed = .duration(8)
|
||||
_textView.fadeLength = UIDevice.scaleWidth(width: 6)
|
||||
_textView.font = UIFont.getScaleFont(ofSize: 12, weight: .medium)
|
||||
_textView.textColor = .white
|
||||
_textView.isUserInteractionEnabled = true
|
||||
return _textView
|
||||
}()
|
||||
private lazy var giftIconView:UIImageView = {
|
||||
let _giftIconView = UIImageView()
|
||||
_giftIconView.image = UIImage(named: "yin_room_top_gift_icon")
|
||||
_giftIconView.isUserInteractionEnabled = true
|
||||
return _giftIconView
|
||||
}()
|
||||
private lazy var lockIconView:UIImageView = {
|
||||
let _lockIconView = UIImageView()
|
||||
_lockIconView.image = UIImage(named: "yin_room_top_lock_icon")
|
||||
_lockIconView.isUserInteractionEnabled = true
|
||||
_lockIconView.isHidden = true
|
||||
return _lockIconView
|
||||
}()
|
||||
|
||||
private lazy var onlineNumStackView:UIStackView = {
|
||||
let _onlineNumStackView = UIStackView()
|
||||
_onlineNumStackView.axis = .horizontal
|
||||
_onlineNumStackView.distribution = .fill
|
||||
_onlineNumStackView.alignment = .center
|
||||
_onlineNumStackView.spacing = UIDevice.scaleWidth(width: 2)
|
||||
return _onlineNumStackView
|
||||
}()
|
||||
private lazy var greenPointView:UIView = {
|
||||
let _greenPointView = UIView()
|
||||
_greenPointView.backgroundColor = ThemeColor(hexStr: "#3EFED7")
|
||||
_greenPointView.layer.cornerRadius = UIDevice.scaleWidth(width: 3)/2
|
||||
_greenPointView.layer.masksToBounds = true
|
||||
|
||||
return _greenPointView
|
||||
}()
|
||||
private lazy var userIdView:UILabel = {
|
||||
let _userIdView = UILabel.getCustomLabel(font: UIFont.getScaleFont(ofSize: 10, weight: .regular),color: .white)
|
||||
return _userIdView
|
||||
}()
|
||||
private lazy var onlineNumView:UILabel = {
|
||||
let _onlineNumView = UILabel.getCustomLabel(font: UIFont.getScaleFont(ofSize: 10, weight: .regular),color: .white)
|
||||
|
||||
return _onlineNumView
|
||||
}()
|
||||
private lazy var avatarView:UIImageView = {
|
||||
let _avatarView = UIImageView()
|
||||
_avatarView.isUserInteractionEnabled = true
|
||||
_avatarView.layer.masksToBounds = true
|
||||
_avatarView.layer.cornerRadius = UIDevice.scaleWidth(width: 17)
|
||||
_avatarView.contentMode = .scaleAspectFill
|
||||
return _avatarView
|
||||
}()
|
||||
private lazy var superStackView:UIStackView = {
|
||||
let _superStackView = UIStackView()
|
||||
_superStackView.axis = .horizontal
|
||||
_superStackView.distribution = .fill
|
||||
_superStackView.alignment = .center
|
||||
_superStackView.spacing = UIDevice.scaleWidth(width: 4)
|
||||
_superStackView.backgroundColor = UIColor(white: 1, alpha: 0.1)
|
||||
_superStackView.layer.cornerRadius = UIDevice.scaleWidth(width: 17)
|
||||
return _superStackView
|
||||
}()
|
||||
private lazy var quitView:RoomQuitView = {
|
||||
let _quitView = RoomQuitView(frame: .zero)
|
||||
_quitView.delegate = self
|
||||
return _quitView
|
||||
}()
|
||||
}
|
||||
|
||||
extension RoomTopView:RoomQuitViewProtocol{
|
||||
func didChooseRoomWithModel(roomModel: RoomQuitModel?) {
|
||||
|
||||
}
|
||||
func didClickTypeWithModel(clickModel: RoomQuitItemModel) {
|
||||
|
||||
}
|
||||
}
|
@@ -31,6 +31,7 @@ class UserInfoVC: BaseViewController, HiddenNavigationBarProtocol {
|
||||
view.addSubview(backImgView)
|
||||
view.addSubview(titleLb)
|
||||
view.addSubview(rechargeView)
|
||||
view.addSubview(myRoomView)
|
||||
view.addSubview(mobileView)
|
||||
view.addSubview(passwordView)
|
||||
view.addSubview(aboutView)
|
||||
@@ -48,11 +49,15 @@ class UserInfoVC: BaseViewController, HiddenNavigationBarProtocol {
|
||||
}
|
||||
|
||||
rechargeView.snp.makeConstraints { make in
|
||||
make.left.right.equalTo(view).inset(28)
|
||||
make.left.equalTo(view).inset(28)
|
||||
make.height.equalTo(68)
|
||||
make.right.equalTo(myRoomView.snp.left).offset(-11)
|
||||
make.top.equalTo(view).offset(NavHeight + 20)
|
||||
}
|
||||
|
||||
myRoomView.snp.makeConstraints { make in
|
||||
make.centerY.height.width.equalTo(rechargeView)
|
||||
make.right.equalTo(view).offset(-28)
|
||||
}
|
||||
mobileView.snp.makeConstraints { make in
|
||||
make.left.equalTo(view).offset(28)
|
||||
make.height.equalTo(68)
|
||||
@@ -111,7 +116,13 @@ class UserInfoVC: BaseViewController, HiddenNavigationBarProtocol {
|
||||
view.item = item
|
||||
return view
|
||||
}()
|
||||
|
||||
private lazy var myRoomView: UserFunctionView = {
|
||||
let _myRoomView = UserFunctionView()
|
||||
_myRoomView.delegate = self
|
||||
let item = UserFunctionItem(title: "我的房间", isHiddenIcon: true ,itmeType: .myRoom)
|
||||
_myRoomView.item = item
|
||||
return _myRoomView
|
||||
}()
|
||||
private lazy var mobileView: UserFunctionView = {
|
||||
let view = UserFunctionView()
|
||||
view.delegate = self
|
||||
@@ -164,10 +175,15 @@ class UserInfoVC: BaseViewController, HiddenNavigationBarProtocol {
|
||||
extension UserInfoVC: UserFunctionViewProtocol{
|
||||
func didClickItem(type: UserFunctionType) {
|
||||
switch type {
|
||||
|
||||
case .recharge:
|
||||
let vc = UserPayViewController()
|
||||
self.navigationController?.pushViewController(vc, animated: true)
|
||||
print("aaa")
|
||||
case .myRoom:
|
||||
let vc = RoomVC()
|
||||
vc.modalPresentationStyle = .fullScreen
|
||||
self.present(vc, animated: true, completion: nil)
|
||||
case .mobile:
|
||||
if self.info?.isBindPhone == true {
|
||||
HUDTool.show(with: "您已绑定手机号")
|
||||
|
@@ -9,6 +9,7 @@ import Foundation
|
||||
|
||||
enum UserFunctionType:Int {
|
||||
case recharge
|
||||
case myRoom
|
||||
case mobile
|
||||
case password
|
||||
case about
|
||||
|