diff --git a/YuMi.xcodeproj/project.pbxproj b/YuMi.xcodeproj/project.pbxproj index f07e3f9e..9934269b 100644 --- a/YuMi.xcodeproj/project.pbxproj +++ b/YuMi.xcodeproj/project.pbxproj @@ -173,6 +173,8 @@ 2331C1B82A60F32D00E1D940 /* XPRoomHalfWebView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2331C1A62A60F32D00E1D940 /* XPRoomHalfWebView.m */; }; 2331C1B92A60F32D00E1D940 /* Api+CandyTree.m in Sources */ = {isa = PBXBuildFile; fileRef = 2331C1A82A60F32D00E1D940 /* Api+CandyTree.m */; }; 2331C1BD2A60F69E00E1D940 /* UILabel+Utils.m in Sources */ = {isa = PBXBuildFile; fileRef = 2331C1BC2A60F69E00E1D940 /* UILabel+Utils.m */; }; + 23B2AEC12A64E9C200543D17 /* LoginForgetEditView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23B2AEC02A64E9C200543D17 /* LoginForgetEditView.m */; }; + 23B2AEC42A6516C200543D17 /* LoginForgetPasswordViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 23B2AEC22A6516C200543D17 /* LoginForgetPasswordViewController.m */; }; 23BA165B2A5D2ACF0030C5A3 /* PIBaseAnimationViewModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 23BA165A2A5D2ACF0030C5A3 /* PIBaseAnimationViewModel.m */; }; 73FFADDC93E195344047A2EC /* Pods_YuMi.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CACF623970097D653132D69A /* Pods_YuMi.framework */; }; 9B0086C627BA392B0032BD2B /* AnchorStageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B0086C527BA392B0032BD2B /* AnchorStageView.m */; }; @@ -220,7 +222,6 @@ 9B42869C28C1FD3D009034D2 /* XPOpenRedPacketCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B42869B28C1FD3D009034D2 /* XPOpenRedPacketCell.m */; }; 9B4C5B86292F81FA00CEA41B /* XPSessionListFansPartyModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B4C5B85292F81FA00CEA41B /* XPSessionListFansPartyModel.m */; }; 9B4D449328F15765002572D5 /* XPGiftLuckyGiftBroadcastView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B4D449228F15765002572D5 /* XPGiftLuckyGiftBroadcastView.m */; }; - 9B4D449628F15EE7002572D5 /* XPGiftWeekStarBroadcastView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B4D449528F15EE7002572D5 /* XPGiftWeekStarBroadcastView.m */; }; 9B4E920028E57A620033419E /* XPGiftHeadTypeView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B4E91FF28E57A620033419E /* XPGiftHeadTypeView.m */; }; 9B6B3AAB278C2EA7005551EC /* XPRoomNobleLevelUpView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B6B3AAA278C2EA7005551EC /* XPRoomNobleLevelUpView.m */; }; 9B6E856A281A982A0041A321 /* XPRoomRecommendView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B6E8569281A982A0041A321 /* XPRoomRecommendView.m */; }; @@ -1574,6 +1575,11 @@ 2331C1A92A60F32D00E1D940 /* Api+CandyTree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Api+CandyTree.h"; sourceTree = ""; }; 2331C1BB2A60F69E00E1D940 /* UILabel+Utils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UILabel+Utils.h"; sourceTree = ""; }; 2331C1BC2A60F69E00E1D940 /* UILabel+Utils.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UILabel+Utils.m"; sourceTree = ""; }; + 23352A0D2A669D57001DB9B5 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; + 23B2AEBF2A64E9C200543D17 /* LoginForgetEditView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoginForgetEditView.h; sourceTree = ""; }; + 23B2AEC02A64E9C200543D17 /* LoginForgetEditView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LoginForgetEditView.m; sourceTree = ""; }; + 23B2AEC22A6516C200543D17 /* LoginForgetPasswordViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LoginForgetPasswordViewController.m; sourceTree = ""; }; + 23B2AEC32A6516C200543D17 /* LoginForgetPasswordViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoginForgetPasswordViewController.h; sourceTree = ""; }; 23BA16592A5D2ACF0030C5A3 /* PIBaseAnimationViewModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIBaseAnimationViewModel.h; sourceTree = ""; }; 23BA165A2A5D2ACF0030C5A3 /* PIBaseAnimationViewModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIBaseAnimationViewModel.m; sourceTree = ""; }; 7DB00EC07F1D0ADFF900B38D /* Pods-YuMi.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-YuMi.debug.xcconfig"; path = "Target Support Files/Pods-YuMi/Pods-YuMi.debug.xcconfig"; sourceTree = ""; }; @@ -1667,8 +1673,6 @@ 9B4C5B85292F81FA00CEA41B /* XPSessionListFansPartyModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPSessionListFansPartyModel.m; sourceTree = ""; }; 9B4D449128F15765002572D5 /* XPGiftLuckyGiftBroadcastView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPGiftLuckyGiftBroadcastView.h; sourceTree = ""; }; 9B4D449228F15765002572D5 /* XPGiftLuckyGiftBroadcastView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPGiftLuckyGiftBroadcastView.m; sourceTree = ""; }; - 9B4D449428F15EE7002572D5 /* XPGiftWeekStarBroadcastView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPGiftWeekStarBroadcastView.h; sourceTree = ""; }; - 9B4D449528F15EE7002572D5 /* XPGiftWeekStarBroadcastView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPGiftWeekStarBroadcastView.m; sourceTree = ""; }; 9B4E91FE28E57A620033419E /* XPGiftHeadTypeView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPGiftHeadTypeView.h; sourceTree = ""; }; 9B4E91FF28E57A620033419E /* XPGiftHeadTypeView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPGiftHeadTypeView.m; sourceTree = ""; }; 9B6B3AA9278C2EA7005551EC /* XPRoomNobleLevelUpView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomNobleLevelUpView.h; sourceTree = ""; }; @@ -4096,6 +4100,8 @@ E81366F226F0B7C80076364C /* LoginFullInfoViewController.m */, E824543326F57D6E00BE8163 /* XPLoginVerifBindPhoneViewController.h */, E824543426F57D6E00BE8163 /* XPLoginVerifBindPhoneViewController.m */, + 23B2AEC32A6516C200543D17 /* LoginForgetPasswordViewController.h */, + 23B2AEC22A6516C200543D17 /* LoginForgetPasswordViewController.m */, ); path = View; sourceTree = ""; @@ -4519,20 +4525,20 @@ 2331C1912A60F32D00E1D940 /* View */ = { isa = PBXGroup; children = ( - 2331C1922A60F32D00E1D940 /* XPCandyTreeRankView.m */, - 2331C1932A60F32D00E1D940 /* XPCandyTreeMoreView.m */, - 2331C1942A60F32D00E1D940 /* XPCandyTreeViewController.h */, - 2331C1952A60F32D00E1D940 /* XPCandyTreeInsufficientBalanceView.h */, - 2331C1962A60F32D00E1D940 /* XPCandyTreeGiftView.m */, - 2331C1972A60F32D00E1D940 /* XPRoomHalfWebView.h */, - 2331C1982A60F32D00E1D940 /* XPCandyRankContainerView.h */, 2331C1992A60F32D00E1D940 /* Cell */, - 2331C1A02A60F32D00E1D940 /* XPCandyTreeRankView.h */, - 2331C1A12A60F32D00E1D940 /* XPCandyTreeViewController.m */, - 2331C1A22A60F32D00E1D940 /* XPCandyTreeMoreView.h */, - 2331C1A32A60F32D00E1D940 /* XPCandyTreeGiftView.h */, - 2331C1A42A60F32D00E1D940 /* XPCandyTreeInsufficientBalanceView.m */, + 2331C1982A60F32D00E1D940 /* XPCandyRankContainerView.h */, 2331C1A52A60F32D00E1D940 /* XPCandyRankContainerView.m */, + 2331C1A32A60F32D00E1D940 /* XPCandyTreeGiftView.h */, + 2331C1962A60F32D00E1D940 /* XPCandyTreeGiftView.m */, + 2331C1952A60F32D00E1D940 /* XPCandyTreeInsufficientBalanceView.h */, + 2331C1A42A60F32D00E1D940 /* XPCandyTreeInsufficientBalanceView.m */, + 2331C1A22A60F32D00E1D940 /* XPCandyTreeMoreView.h */, + 2331C1932A60F32D00E1D940 /* XPCandyTreeMoreView.m */, + 2331C1A02A60F32D00E1D940 /* XPCandyTreeRankView.h */, + 2331C1922A60F32D00E1D940 /* XPCandyTreeRankView.m */, + 2331C1942A60F32D00E1D940 /* XPCandyTreeViewController.h */, + 2331C1A12A60F32D00E1D940 /* XPCandyTreeViewController.m */, + 2331C1972A60F32D00E1D940 /* XPRoomHalfWebView.h */, 2331C1A62A60F32D00E1D940 /* XPRoomHalfWebView.m */, ); path = View; @@ -7046,6 +7052,8 @@ E872308A26E89D5100B90D4F /* CustomView */ = { isa = PBXGroup; children = ( + 23B2AEBF2A64E9C200543D17 /* LoginForgetEditView.h */, + 23B2AEC02A64E9C200543D17 /* LoginForgetEditView.m */, E872309126E8D31500B90D4F /* LoginVerifCodeView.h */, E872309226E8D31500B90D4F /* LoginVerifCodeView.m */, E824543B26F58C3A00BE8163 /* XPLoginBindSuccessView.h */, @@ -7317,8 +7325,6 @@ E8901CF528B38D89001E9A92 /* XPGraffitiGiftView.m */, 9B4D449128F15765002572D5 /* XPGiftLuckyGiftBroadcastView.h */, 9B4D449228F15765002572D5 /* XPGiftLuckyGiftBroadcastView.m */, - 9B4D449428F15EE7002572D5 /* XPGiftWeekStarBroadcastView.h */, - 9B4D449528F15EE7002572D5 /* XPGiftWeekStarBroadcastView.m */, E8D4DE422940462C00EC788D /* XPGiftTwelveStarBroadcastView.h */, E8D4DE432940462C00EC788D /* XPGiftTwelveStarBroadcastView.m */, ); @@ -9003,6 +9009,7 @@ en, Base, "zh-Hant", + "zh-Hans", ); mainGroup = 189DD52026DE255300AB55B1; productRefGroup = 189DD52A26DE255300AB55B1 /* Products */; @@ -9303,6 +9310,7 @@ E801275827E347FD00BAC3F2 /* RoomPKRecordModel.m in Sources */, E8E0DAE0285C20E500566A2F /* MessageContentFindNewGreetView.m in Sources */, E8A3540128FEAC5E0014A784 /* XPWishGiftTableViewCell.m in Sources */, + 23B2AEC12A64E9C200543D17 /* LoginForgetEditView.m in Sources */, E8EEB90326FC31DC007C6EBA /* XPMineUserInfoProtocol.h in Sources */, E8232603274E4AA0003A3332 /* ThemeColor+UserCard.m in Sources */, E87A24F1272935920086A794 /* XPMessageRemoteExtModel.m in Sources */, @@ -9925,7 +9933,6 @@ 9BD798B4292632FE003E03E6 /* XPSessionListHeadItemView.m in Sources */, E8E20BE828169BDC0033B688 /* XPMineLoginPasswordPresenter.m in Sources */, E85E7B3F2A4EB0D300B6D00A /* XPGuildSingleRoomIncomeTableViewCell.m in Sources */, - 9B4D449628F15EE7002572D5 /* XPGiftWeekStarBroadcastView.m in Sources */, E84150C227747BF700A7F548 /* FirstRechargeModel.m in Sources */, 9B1EF3D227E81C0600554295 /* XPMineDressUpBubbleViewController.m in Sources */, 2331C1AB2A60F32D00E1D940 /* CandyTreeResultModel.m in Sources */, @@ -10010,6 +10017,7 @@ E8AB632C28AE19600023B0D2 /* XPMonentsMineViewController.m in Sources */, E87AE8C1284E184300CAFBB3 /* RoomNewUserGreetModel.m in Sources */, 9BC5C91C277C8A7B007C8719 /* XPReleaseRadioViewController.m in Sources */, + 23B2AEC42A6516C200543D17 /* LoginForgetPasswordViewController.m in Sources */, 186A534C26FC6ED900D67B2C /* TTAlertView.m in Sources */, E8A3540428FEB7100014A784 /* XPWishGiftHistoryViewController.m in Sources */, E85E7B332A4EB0D300B6D00A /* XPGuildIncomeSectionView.m in Sources */, @@ -10295,6 +10303,7 @@ isa = PBXVariantGroup; children = ( E80E09AA2A40B70100CD2BE7 /* zh-Hant */, + 23352A0D2A669D57001DB9B5 /* zh-Hans */, ); name = Localizable.strings; sourceTree = ""; diff --git a/YuMi/Assets.xcassets/middle/gift_constellationBanner_bg.imageset/Contents.json b/YuMi/Assets.xcassets/Login/login_arrow.imageset/Contents.json similarity index 70% rename from YuMi/Assets.xcassets/middle/gift_constellationBanner_bg.imageset/Contents.json rename to YuMi/Assets.xcassets/Login/login_arrow.imageset/Contents.json index abce1bf7..c3233654 100644 --- a/YuMi/Assets.xcassets/middle/gift_constellationBanner_bg.imageset/Contents.json +++ b/YuMi/Assets.xcassets/Login/login_arrow.imageset/Contents.json @@ -5,12 +5,12 @@ "scale" : "1x" }, { - "filename" : "gift_constellationBanner_bg@2x.png", + "filename" : "login_arrow@2x.png", "idiom" : "universal", "scale" : "2x" }, { - "filename" : "gift_constellationBanner_bg@3x.png", + "filename" : "login_arrow@3x.png", "idiom" : "universal", "scale" : "3x" } diff --git a/YuMi/Assets.xcassets/Login/login_arrow.imageset/login_arrow@2x.png b/YuMi/Assets.xcassets/Login/login_arrow.imageset/login_arrow@2x.png new file mode 100644 index 00000000..046278bb Binary files /dev/null and b/YuMi/Assets.xcassets/Login/login_arrow.imageset/login_arrow@2x.png differ diff --git a/YuMi/Assets.xcassets/Login/login_arrow.imageset/login_arrow@3x.png b/YuMi/Assets.xcassets/Login/login_arrow.imageset/login_arrow@3x.png new file mode 100644 index 00000000..32e4c8fc Binary files /dev/null and b/YuMi/Assets.xcassets/Login/login_arrow.imageset/login_arrow@3x.png differ diff --git a/YuMi/Assets.xcassets/Login/login_forget_password_hidden.imageset/Contents.json b/YuMi/Assets.xcassets/Login/login_forget_password_hidden.imageset/Contents.json new file mode 100644 index 00000000..2af2952b --- /dev/null +++ b/YuMi/Assets.xcassets/Login/login_forget_password_hidden.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "login_forget_password_hidden@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "login_forget_password_hidden@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/YuMi/Assets.xcassets/Login/login_forget_password_hidden.imageset/login_forget_password_hidden@2x.png b/YuMi/Assets.xcassets/Login/login_forget_password_hidden.imageset/login_forget_password_hidden@2x.png new file mode 100644 index 00000000..83ef5198 Binary files /dev/null and b/YuMi/Assets.xcassets/Login/login_forget_password_hidden.imageset/login_forget_password_hidden@2x.png differ diff --git a/YuMi/Assets.xcassets/Login/login_forget_password_hidden.imageset/login_forget_password_hidden@3x.png b/YuMi/Assets.xcassets/Login/login_forget_password_hidden.imageset/login_forget_password_hidden@3x.png new file mode 100644 index 00000000..a2e7a6b4 Binary files /dev/null and b/YuMi/Assets.xcassets/Login/login_forget_password_hidden.imageset/login_forget_password_hidden@3x.png differ diff --git a/YuMi/Assets.xcassets/Login/login_forget_password_show.imageset/Contents.json b/YuMi/Assets.xcassets/Login/login_forget_password_show.imageset/Contents.json new file mode 100644 index 00000000..f970aea6 --- /dev/null +++ b/YuMi/Assets.xcassets/Login/login_forget_password_show.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "login_forget_password_show@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "login_forget_password_show@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/YuMi/Assets.xcassets/Login/login_forget_password_show.imageset/login_forget_password_show@2x.png b/YuMi/Assets.xcassets/Login/login_forget_password_show.imageset/login_forget_password_show@2x.png new file mode 100644 index 00000000..bd159a95 Binary files /dev/null and b/YuMi/Assets.xcassets/Login/login_forget_password_show.imageset/login_forget_password_show@2x.png differ diff --git a/YuMi/Assets.xcassets/Login/login_forget_password_show.imageset/login_forget_password_show@3x.png b/YuMi/Assets.xcassets/Login/login_forget_password_show.imageset/login_forget_password_show@3x.png new file mode 100644 index 00000000..d95f1a37 Binary files /dev/null and b/YuMi/Assets.xcassets/Login/login_forget_password_show.imageset/login_forget_password_show@3x.png differ diff --git a/YuMi/Assets.xcassets/jm/Noble/room_gift_noble_entrance.imageset/Contents.json b/YuMi/Assets.xcassets/jm/Noble/room_gift_noble_entrance.imageset/Contents.json new file mode 100644 index 00000000..9710f08b --- /dev/null +++ b/YuMi/Assets.xcassets/jm/Noble/room_gift_noble_entrance.imageset/Contents.json @@ -0,0 +1,25 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "room_gift_noble_entrance@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "room_gift_noble_entrance@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "localizable" : true + } +} diff --git a/YuMi/Assets.xcassets/jm/Noble/room_gift_noble_entrance.imageset/room_gift_noble_entrance@2x.png b/YuMi/Assets.xcassets/jm/Noble/room_gift_noble_entrance.imageset/room_gift_noble_entrance@2x.png new file mode 100644 index 00000000..0ad71f92 Binary files /dev/null and b/YuMi/Assets.xcassets/jm/Noble/room_gift_noble_entrance.imageset/room_gift_noble_entrance@2x.png differ diff --git a/YuMi/Assets.xcassets/jm/Noble/room_gift_noble_entrance.imageset/room_gift_noble_entrance@3x.png b/YuMi/Assets.xcassets/jm/Noble/room_gift_noble_entrance.imageset/room_gift_noble_entrance@3x.png new file mode 100644 index 00000000..d0c781e9 Binary files /dev/null and b/YuMi/Assets.xcassets/jm/Noble/room_gift_noble_entrance.imageset/room_gift_noble_entrance@3x.png differ diff --git a/YuMi/Assets.xcassets/jm/Setting/mine_setting_modif_pay_pwd_hidden.imageset/mine_setting_modif_pay_pwd_hidden@2x.png b/YuMi/Assets.xcassets/jm/Setting/mine_setting_modif_pay_pwd_hidden.imageset/mine_setting_modif_pay_pwd_hidden@2x.png index 9de7f52c..b00baf95 100644 Binary files a/YuMi/Assets.xcassets/jm/Setting/mine_setting_modif_pay_pwd_hidden.imageset/mine_setting_modif_pay_pwd_hidden@2x.png and b/YuMi/Assets.xcassets/jm/Setting/mine_setting_modif_pay_pwd_hidden.imageset/mine_setting_modif_pay_pwd_hidden@2x.png differ diff --git a/YuMi/Assets.xcassets/jm/Setting/mine_setting_modif_pay_pwd_hidden.imageset/mine_setting_modif_pay_pwd_hidden@3x.png b/YuMi/Assets.xcassets/jm/Setting/mine_setting_modif_pay_pwd_hidden.imageset/mine_setting_modif_pay_pwd_hidden@3x.png index 82abbb50..91e03d23 100644 Binary files a/YuMi/Assets.xcassets/jm/Setting/mine_setting_modif_pay_pwd_hidden.imageset/mine_setting_modif_pay_pwd_hidden@3x.png and b/YuMi/Assets.xcassets/jm/Setting/mine_setting_modif_pay_pwd_hidden.imageset/mine_setting_modif_pay_pwd_hidden@3x.png differ diff --git a/YuMi/Assets.xcassets/jm/Setting/mine_setting_modif_pay_pwd_show.imageset/mine_setting_modif_pay_pwd_show@2x.png b/YuMi/Assets.xcassets/jm/Setting/mine_setting_modif_pay_pwd_show.imageset/mine_setting_modif_pay_pwd_show@2x.png index 00a2f451..7e520214 100644 Binary files a/YuMi/Assets.xcassets/jm/Setting/mine_setting_modif_pay_pwd_show.imageset/mine_setting_modif_pay_pwd_show@2x.png and b/YuMi/Assets.xcassets/jm/Setting/mine_setting_modif_pay_pwd_show.imageset/mine_setting_modif_pay_pwd_show@2x.png differ diff --git a/YuMi/Assets.xcassets/jm/Setting/mine_setting_modif_pay_pwd_show.imageset/mine_setting_modif_pay_pwd_show@3x.png b/YuMi/Assets.xcassets/jm/Setting/mine_setting_modif_pay_pwd_show.imageset/mine_setting_modif_pay_pwd_show@3x.png index 320b3a61..3b2438be 100644 Binary files a/YuMi/Assets.xcassets/jm/Setting/mine_setting_modif_pay_pwd_show.imageset/mine_setting_modif_pay_pwd_show@3x.png and b/YuMi/Assets.xcassets/jm/Setting/mine_setting_modif_pay_pwd_show.imageset/mine_setting_modif_pay_pwd_show@3x.png differ diff --git a/YuMi/Assets.xcassets/middle/GiftWeekStarTab/gift_twelve_star_Banner_arrow.imageset/Contents.json b/YuMi/Assets.xcassets/middle/GiftWeekStarTab/gift_twelve_star_Banner_arrow.imageset/Contents.json new file mode 100644 index 00000000..4fa391f6 --- /dev/null +++ b/YuMi/Assets.xcassets/middle/GiftWeekStarTab/gift_twelve_star_Banner_arrow.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "gift_twelve_star_Banner_arrow@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "gift_twelve_star_Banner_arrow@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/YuMi/Assets.xcassets/middle/GiftWeekStarTab/gift_twelve_star_Banner_arrow.imageset/gift_twelve_star_Banner_arrow@2x.png b/YuMi/Assets.xcassets/middle/GiftWeekStarTab/gift_twelve_star_Banner_arrow.imageset/gift_twelve_star_Banner_arrow@2x.png new file mode 100644 index 00000000..ebf2a116 Binary files /dev/null and b/YuMi/Assets.xcassets/middle/GiftWeekStarTab/gift_twelve_star_Banner_arrow.imageset/gift_twelve_star_Banner_arrow@2x.png differ diff --git a/YuMi/Assets.xcassets/middle/GiftWeekStarTab/gift_twelve_star_Banner_arrow.imageset/gift_twelve_star_Banner_arrow@3x.png b/YuMi/Assets.xcassets/middle/GiftWeekStarTab/gift_twelve_star_Banner_arrow.imageset/gift_twelve_star_Banner_arrow@3x.png new file mode 100644 index 00000000..60fb2c65 Binary files /dev/null and b/YuMi/Assets.xcassets/middle/GiftWeekStarTab/gift_twelve_star_Banner_arrow.imageset/gift_twelve_star_Banner_arrow@3x.png differ diff --git a/YuMi/Assets.xcassets/middle/GiftWeekStarTab/gift_twelve_star_Banner_naming_bg.imageset/Contents.json b/YuMi/Assets.xcassets/middle/GiftWeekStarTab/gift_twelve_star_Banner_naming_bg.imageset/Contents.json new file mode 100644 index 00000000..e7d223a2 --- /dev/null +++ b/YuMi/Assets.xcassets/middle/GiftWeekStarTab/gift_twelve_star_Banner_naming_bg.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "gift_twelve_star_Banner_naming_bg@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "gift_twelve_star_Banner_naming_bg@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/YuMi/Assets.xcassets/middle/GiftWeekStarTab/gift_twelve_star_Banner_naming_bg.imageset/gift_twelve_star_Banner_naming_bg@2x.png b/YuMi/Assets.xcassets/middle/GiftWeekStarTab/gift_twelve_star_Banner_naming_bg.imageset/gift_twelve_star_Banner_naming_bg@2x.png new file mode 100644 index 00000000..728dce66 Binary files /dev/null and b/YuMi/Assets.xcassets/middle/GiftWeekStarTab/gift_twelve_star_Banner_naming_bg.imageset/gift_twelve_star_Banner_naming_bg@2x.png differ diff --git a/YuMi/Assets.xcassets/middle/GiftWeekStarTab/gift_twelve_star_Banner_naming_bg.imageset/gift_twelve_star_Banner_naming_bg@3x.png b/YuMi/Assets.xcassets/middle/GiftWeekStarTab/gift_twelve_star_Banner_naming_bg.imageset/gift_twelve_star_Banner_naming_bg@3x.png new file mode 100644 index 00000000..529435a9 Binary files /dev/null and b/YuMi/Assets.xcassets/middle/GiftWeekStarTab/gift_twelve_star_Banner_naming_bg.imageset/gift_twelve_star_Banner_naming_bg@3x.png differ diff --git a/YuMi/Assets.xcassets/middle/GiftWeekStarTab/gift_twelve_star_Banner_rich_bg.imageset/Contents.json b/YuMi/Assets.xcassets/middle/GiftWeekStarTab/gift_twelve_star_Banner_rich_bg.imageset/Contents.json new file mode 100644 index 00000000..c01aa5df --- /dev/null +++ b/YuMi/Assets.xcassets/middle/GiftWeekStarTab/gift_twelve_star_Banner_rich_bg.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "gift_twelve_star_Banner_rich_bg@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "gift_twelve_star_Banner_rich_bg@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/YuMi/Assets.xcassets/middle/GiftWeekStarTab/gift_twelve_star_Banner_rich_bg.imageset/gift_twelve_star_Banner_rich_bg@2x.png b/YuMi/Assets.xcassets/middle/GiftWeekStarTab/gift_twelve_star_Banner_rich_bg.imageset/gift_twelve_star_Banner_rich_bg@2x.png new file mode 100644 index 00000000..3347c73f Binary files /dev/null and b/YuMi/Assets.xcassets/middle/GiftWeekStarTab/gift_twelve_star_Banner_rich_bg.imageset/gift_twelve_star_Banner_rich_bg@2x.png differ diff --git a/YuMi/Assets.xcassets/middle/GiftWeekStarTab/gift_twelve_star_Banner_rich_bg.imageset/gift_twelve_star_Banner_rich_bg@3x.png b/YuMi/Assets.xcassets/middle/GiftWeekStarTab/gift_twelve_star_Banner_rich_bg.imageset/gift_twelve_star_Banner_rich_bg@3x.png new file mode 100644 index 00000000..52aa4e6d Binary files /dev/null and b/YuMi/Assets.xcassets/middle/GiftWeekStarTab/gift_twelve_star_Banner_rich_bg.imageset/gift_twelve_star_Banner_rich_bg@3x.png differ diff --git a/YuMi/Assets.xcassets/middle/gift_constellationBanner_bg.imageset/gift_constellationBanner_bg@2x.png b/YuMi/Assets.xcassets/middle/gift_constellationBanner_bg.imageset/gift_constellationBanner_bg@2x.png deleted file mode 100644 index 07bf4002..00000000 Binary files a/YuMi/Assets.xcassets/middle/gift_constellationBanner_bg.imageset/gift_constellationBanner_bg@2x.png and /dev/null differ diff --git a/YuMi/Assets.xcassets/middle/gift_constellationBanner_bg.imageset/gift_constellationBanner_bg@3x.png b/YuMi/Assets.xcassets/middle/gift_constellationBanner_bg.imageset/gift_constellationBanner_bg@3x.png deleted file mode 100644 index 392f0d4b..00000000 Binary files a/YuMi/Assets.xcassets/middle/gift_constellationBanner_bg.imageset/gift_constellationBanner_bg@3x.png and /dev/null differ diff --git a/YuMi/Assets.xcassets/utils/common_empty_avatar.imageset/Contents.json b/YuMi/Assets.xcassets/utils/common_empty_avatar.imageset/Contents.json index 17e37a5b..bcd123e8 100644 --- a/YuMi/Assets.xcassets/utils/common_empty_avatar.imageset/Contents.json +++ b/YuMi/Assets.xcassets/utils/common_empty_avatar.imageset/Contents.json @@ -5,12 +5,11 @@ "scale" : "1x" }, { - "filename" : "common_empty_avatar@2x.png", + "filename" : "common_avatar@2x.png", "idiom" : "universal", "scale" : "2x" }, { - "filename" : "common_empty_avatar@3x.png", "idiom" : "universal", "scale" : "3x" } diff --git a/YuMi/Assets.xcassets/utils/common_empty_avatar.imageset/common_avatar@2x.png b/YuMi/Assets.xcassets/utils/common_empty_avatar.imageset/common_avatar@2x.png new file mode 100644 index 00000000..835da9ad Binary files /dev/null and b/YuMi/Assets.xcassets/utils/common_empty_avatar.imageset/common_avatar@2x.png differ diff --git a/YuMi/Assets.xcassets/utils/common_empty_avatar.imageset/common_empty_avatar@2x.png b/YuMi/Assets.xcassets/utils/common_empty_avatar.imageset/common_empty_avatar@2x.png deleted file mode 100644 index 7edea0a2..00000000 Binary files a/YuMi/Assets.xcassets/utils/common_empty_avatar.imageset/common_empty_avatar@2x.png and /dev/null differ diff --git a/YuMi/Assets.xcassets/utils/common_empty_avatar.imageset/common_empty_avatar@3x.png b/YuMi/Assets.xcassets/utils/common_empty_avatar.imageset/common_empty_avatar@3x.png deleted file mode 100644 index a085ebb3..00000000 Binary files a/YuMi/Assets.xcassets/utils/common_empty_avatar.imageset/common_empty_avatar@3x.png and /dev/null differ diff --git a/YuMi/CustomUI/DJDKMIMOMColor.m b/YuMi/CustomUI/DJDKMIMOMColor.m index 45658fc9..324e19c9 100644 --- a/YuMi/CustomUI/DJDKMIMOMColor.m +++ b/YuMi/CustomUI/DJDKMIMOMColor.m @@ -95,7 +95,7 @@ } /// 按钮不可点击文字颜色 0xF9F9F9 + (UIColor *)disableButtonTextColor { - return UIColorFromRGB(0x5FCCE4); + return UIColorFromRGB(0xB3B3C3); } /* ------Button 相关颜色 END------ */ diff --git a/YuMi/Global/YUMIHtmlUrl.h b/YuMi/Global/YUMIHtmlUrl.h index 5d462e00..16874981 100644 --- a/YuMi/Global/YUMIHtmlUrl.h +++ b/YuMi/Global/YUMIHtmlUrl.h @@ -90,6 +90,8 @@ typedef NS_ENUM(NSUInteger, URLType) { kXinZuoStarURL, ///收益记录 kMineEarningsRecord, + ///金币收益记录 + kGoldEarningsRecord }; NSString * const URLWithType(URLType type); diff --git a/YuMi/Global/YUMIHtmlUrl.m b/YuMi/Global/YUMIHtmlUrl.m index 5b3d5882..5b4be760 100644 --- a/YuMi/Global/YUMIHtmlUrl.m +++ b/YuMi/Global/YUMIHtmlUrl.m @@ -18,11 +18,18 @@ NSString * const URLWithType(URLType type) { prefix = [NSString stringWithFormat:@"%@o",prefix]; if(type == kNobleRankURL){ - NSDictionary *dic = @{@(kNobleRankURL):@"modules/noble/index.html"};///排行榜} + NSDictionary *dic = @{@(kNobleRankURL):@"modules/noble/index.html"};///排行榜 NSString * url = [dic objectForKey:@(type)]; return [NSString stringWithFormat:@"%@/%@",prefix, url]; + }else if(type == kGoldEarningsRecord){ + NSDictionary *dic = @{@(kGoldEarningsRecord):@"modules/myincome/index.html#/GoldLog"};///金币收益记录; + NSString * url = [dic objectForKey:@(type)]; + return [NSString stringWithFormat:@"%@/%@",prefix, url]; + } + + NSDictionary * dic = @{ @(kPrivacyURL) : @"sPa8x4YF1hFEeCeH5v+RMOulemxgjjZLbxkN8ZrBSM8=",//隐私政策 modules/rule/privacy-wap.html @@ -70,6 +77,8 @@ NSString * const URLWithType(URLType type) { @(kRedPacketRuleURL) : @"nRMNKGz9zmwOEcoRr/bGneWzsrl+qHbvUGgXJhFAfVGcldkazbiNrc/v2rR0HFw+",///红包规则 modules/rule/red-packet-rule.html @(kXinZuoStarURL) : @"3l3NxeDKO2bNAESpzjZ76mvJa2D26Bgqy+nNusiuH1UHYM+bYk+MM/TNM4VRqk1K",///星座礼物 activity/act-constellation/index.html @(kMineEarningsRecord) : @"0HJ5o+40NtYGeHo1KRoQE3VdLhFQnvGyqgph9CCLjyU53rS29T2nD7UEh3CpX2BG",///收益记录 + + }; NSString * url = [dic objectForKey:@(type)]; NSString * webUrl = [AESUtils aesDecrypt:url]; diff --git a/YuMi/Modules/YMLogin/Api/Api+Login.h b/YuMi/Modules/YMLogin/Api/Api+Login.h index 09a0ef85..a6d768ca 100644 --- a/YuMi/Modules/YMLogin/Api/Api+Login.h +++ b/YuMi/Modules/YMLogin/Api/Api+Login.h @@ -46,7 +46,7 @@ NS_ASSUME_NONNULL_BEGIN + (void)resetPasswordWithPhone:(HttpRequestHelperCompletion)complction phone:(NSString *)phone newPwd:(NSString *)newPwd - smsCode:(NSString *)smsCode; + smsCode:(NSString *)smsCode phoneAreaCode:(NSString *)phoneAreaCode; /// 第三方登录 /// @param complction 完成 @@ -72,7 +72,7 @@ NS_ASSUME_NONNULL_BEGIN + (void)bindMoblieCode:(HttpRequestHelperCompletion)complection phone:(NSString *)phone code:(NSString *)code - ticket:(NSString *)ticket; + ticket:(NSString *)ticket phoneAreaCode:(NSString *)phoneAreaCode; +(void)getPhoneAreaCodeList:(HttpRequestHelperCompletion)complection; @end diff --git a/YuMi/Modules/YMLogin/Api/Api+Login.m b/YuMi/Modules/YMLogin/Api/Api+Login.m index 0a45436e..b689f2b1 100644 --- a/YuMi/Modules/YMLogin/Api/Api+Login.m +++ b/YuMi/Modules/YMLogin/Api/Api+Login.m @@ -37,9 +37,9 @@ /// @param phone 手机号 /// @param newPwd 新的密码 /// @param smsCode 验证码 -+ (void)resetPasswordWithPhone:(HttpRequestHelperCompletion)completion phone:(NSString *)phone newPwd:(NSString *)newPwd smsCode:(NSString *)smsCode { ++ (void)resetPasswordWithPhone:(HttpRequestHelperCompletion)completion phone:(NSString *)phone newPwd:(NSString *)newPwd smsCode:(NSString *)smsCode phoneAreaCode:(NSString *)phoneAreaCode{ NSString * fang = [NSString stringFromBase64String:@"YWNjL3B3ZC9yZXNldA=="];/// acc/pwd/reset - [self makeRequest:fang method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, phone, newPwd, smsCode, nil]; + [self makeRequest:fang method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, phone, newPwd, smsCode,phoneAreaCode, nil]; } @@ -69,9 +69,9 @@ + (void)bindMoblieCode:(HttpRequestHelperCompletion)complection phone:(NSString *)phone code:(NSString *)code - ticket:(NSString *)ticket { + ticket:(NSString *)ticket phoneAreaCode:(NSString *)phoneAreaCode{ NSString * fang = [NSString stringFromBase64String:@"d2l0aERyYXcvcGhvbmU="];///withDraw/phone - [self makeRequest:fang method:HttpRequestHelperMethodPOST completion:complection, __FUNCTION__, phone, code, ticket, nil]; + [self makeRequest:fang method:HttpRequestHelperMethodPOST completion:complection, __FUNCTION__, phone, code, ticket,phoneAreaCode, nil]; } +(void)getPhoneAreaCodeList:(HttpRequestHelperCompletion)complection{ diff --git a/YuMi/Modules/YMLogin/Presenter/LoginForgetPasswordPresent.h b/YuMi/Modules/YMLogin/Presenter/LoginForgetPasswordPresent.h index 2ca2dc09..69f05256 100644 --- a/YuMi/Modules/YMLogin/Presenter/LoginForgetPasswordPresent.h +++ b/YuMi/Modules/YMLogin/Presenter/LoginForgetPasswordPresent.h @@ -19,7 +19,7 @@ NS_ASSUME_NONNULL_BEGIN /// @param phone 手机号 /// @param newPwd 新的密码 /// @param smsCode 验证码 -- (void)resetPassword:(NSString *)phone newPwd:(NSString *)newPwd smsCode:(NSString *)smsCode; +- (void)resetPassword:(NSString *)phone newPwd:(NSString *)newPwd smsCode:(NSString *)smsCode phoneAreaCode:(NSString *)phoneAreaCode; @end NS_ASSUME_NONNULL_END diff --git a/YuMi/Modules/YMLogin/Presenter/LoginForgetPasswordPresent.m b/YuMi/Modules/YMLogin/Presenter/LoginForgetPasswordPresent.m index 20c269bb..ef8f8212 100644 --- a/YuMi/Modules/YMLogin/Presenter/LoginForgetPasswordPresent.m +++ b/YuMi/Modules/YMLogin/Presenter/LoginForgetPasswordPresent.m @@ -38,12 +38,12 @@ /// @param phone 手机号 /// @param newPwd 新的密码 /// @param smsCode 验证码 -- (void)resetPassword:(NSString *)phone newPwd:(NSString *)newPwd smsCode:(NSString *)smsCode { +- (void)resetPassword:(NSString *)phone newPwd:(NSString *)newPwd smsCode:(NSString *)smsCode phoneAreaCode:(NSString *)phoneAreaCode{ NSString * desPassword = [DESEncrypt encryptUseDES:newPwd key:KeyWithType(KeyType_PasswordEncode)]; NSString * desPhone = [DESEncrypt encryptUseDES:phone key:KeyWithType(KeyType_PasswordEncode)]; [Api resetPasswordWithPhone:[self createHttpCompletion:^(BaseModel * _Nonnull data) { [[self getView] resetPasswrodSuccess]; - } showLoading:YES] phone:desPhone newPwd:desPassword smsCode:smsCode]; + } showLoading:YES] phone:desPhone newPwd:desPassword smsCode:smsCode phoneAreaCode:phoneAreaCode]; } @end diff --git a/YuMi/Modules/YMLogin/Presenter/LoginVerifCodePresent.h b/YuMi/Modules/YMLogin/Presenter/LoginVerifCodePresent.h index 867d2167..ec483fed 100644 --- a/YuMi/Modules/YMLogin/Presenter/LoginVerifCodePresent.h +++ b/YuMi/Modules/YMLogin/Presenter/LoginVerifCodePresent.h @@ -23,7 +23,7 @@ NS_ASSUME_NONNULL_BEGIN /// 绑定手机号 /// @param phone 手机号 /// @param code 验证码 -- (void)bindWithPhone:(NSString *)phone code:(NSString *)code; +- (void)bindWithPhone:(NSString *)phone code:(NSString *)code phoneAreaCode:(NSString *)phoneAreaCode; @end diff --git a/YuMi/Modules/YMLogin/Presenter/LoginVerifCodePresent.m b/YuMi/Modules/YMLogin/Presenter/LoginVerifCodePresent.m index 4178efef..114a969e 100644 --- a/YuMi/Modules/YMLogin/Presenter/LoginVerifCodePresent.m +++ b/YuMi/Modules/YMLogin/Presenter/LoginVerifCodePresent.m @@ -55,12 +55,12 @@ /// 绑定手机号 /// @param phone 手机号 /// @param code 验证码 -- (void)bindWithPhone:(NSString *)phone code:(NSString *)code { +- (void)bindWithPhone:(NSString *)phone code:(NSString *)code phoneAreaCode:(NSString *)phoneAreaCode{ NSString * ticket = [[AccountInfoStorage instance] getTicket]; NSString * desPhone = [DESEncrypt encryptUseDES:phone key:KeyWithType(KeyType_PasswordEncode)]; [Api bindMoblieCode:[self createHttpCompletion:^(BaseModel * _Nonnull data) { [[self getView] bindPhoneSuccess]; - } showLoading:YES] phone:desPhone code:code ticket:ticket]; + } showLoading:YES] phone:desPhone code:code ticket:ticket phoneAreaCode:phoneAreaCode]; } @end diff --git a/YuMi/Modules/YMLogin/Presenter/XPLoginVerifBindPhonePresenter.h b/YuMi/Modules/YMLogin/Presenter/XPLoginVerifBindPhonePresenter.h index a3b9c680..92b0e999 100644 --- a/YuMi/Modules/YMLogin/Presenter/XPLoginVerifBindPhonePresenter.h +++ b/YuMi/Modules/YMLogin/Presenter/XPLoginVerifBindPhonePresenter.h @@ -19,12 +19,12 @@ NS_ASSUME_NONNULL_BEGIN /// 校验手机验证码接口 /// @param moblieNum 手机号码 /// @param code 验证码 -- (void)checkMoblieCodeWithMoblie:(NSString *)moblieNum code:(NSString *)code; +- (void)checkMoblieCodeWithMoblie:(NSString *)moblieNum code:(NSString *)code phoneAreaCode:(NSString *)phoneAreaCode; /// 绑定手机验证码接口 /// @param moblieNum 手机号码 /// @param code 验证码 -- (void)bindkMoblieCodeWithMoblie:(NSString *)moblieNum code:(NSString *)code; +- (void)bindkMoblieCodeWithMoblie:(NSString *)moblieNum code:(NSString *)code phoneAreaCode:(NSString *)phoneAreaCode; @end NS_ASSUME_NONNULL_END diff --git a/YuMi/Modules/YMLogin/Presenter/XPLoginVerifBindPhonePresenter.m b/YuMi/Modules/YMLogin/Presenter/XPLoginVerifBindPhonePresenter.m index b537dec6..63d973a4 100644 --- a/YuMi/Modules/YMLogin/Presenter/XPLoginVerifBindPhonePresenter.m +++ b/YuMi/Modules/YMLogin/Presenter/XPLoginVerifBindPhonePresenter.m @@ -31,23 +31,23 @@ /// 校验手机验证码接口 /// @param moblieNum 手机号码 /// @param code 验证码 -- (void)checkMoblieCodeWithMoblie:(NSString *)moblieNum code:(NSString *)code { +- (void)checkMoblieCodeWithMoblie:(NSString *)moblieNum code:(NSString *)code phoneAreaCode:(NSString *)phoneAreaCode{ NSString * uid = [[AccountInfoStorage instance] getUid]; NSString * ticket = [[AccountInfoStorage instance] getTicket]; NSString * desPhone = [DESEncrypt encryptUseDES:moblieNum key:KeyWithType(KeyType_PasswordEncode)]; [Api checkMoblieCode:[self createHttpCompletion:^(BaseModel * _Nonnull data) { [[self getView] checkMoblieCodeWithMoblieSuccess]; - }] mobile:desPhone code:code uid:uid ticket:ticket]; + }] mobile:desPhone code:code uid:uid ticket:ticket phoneAreaCode:phoneAreaCode]; } /// 绑定手机验证码接口 /// @param moblieNum 手机号码 /// @param code 验证码 -- (void)bindkMoblieCodeWithMoblie:(NSString *)moblieNum code:(NSString *)code { +- (void)bindkMoblieCodeWithMoblie:(NSString *)moblieNum code:(NSString *)code phoneAreaCode:(NSString *)phoneAreaCode{ NSString * ticket = [[AccountInfoStorage instance] getTicket]; NSString * desPhone = [DESEncrypt encryptUseDES:moblieNum key:KeyWithType(KeyType_PasswordEncode)]; [Api bindMoblieCode:[self createHttpCompletion:^(BaseModel * _Nonnull data) { [[self getView] bindMoblieCodeWithMoblieSuccess]; - }] phone:desPhone code:code ticket:ticket]; + }] phone:desPhone code:code ticket:ticket phoneAreaCode:phoneAreaCode]; } @end diff --git a/YuMi/Modules/YMLogin/View/CustomView/LoginForgetEditView.h b/YuMi/Modules/YMLogin/View/CustomView/LoginForgetEditView.h new file mode 100644 index 00000000..304d3027 --- /dev/null +++ b/YuMi/Modules/YMLogin/View/CustomView/LoginForgetEditView.h @@ -0,0 +1,36 @@ +// +// LoginForgetEditView.h +// xplan-ios +// +// Created by 冯硕 on 2021/9/10. +// + +#import +#import "XPTextField.h" +NS_ASSUME_NONNULL_BEGIN + +typedef enum : NSUInteger { + LoginForgetEditViewTypeNormal, // 普通类型 + LoginForgetEditViewTypeSms, // 短信验证码类型 + LoginForgetEditViewTypePassword, ///密码 +} LoginForgetEditViewType; + +@interface LoginForgetEditView : UIView +/** textField */ +@property (nonatomic, strong, readonly) XPTextField *textField; +/** rightButton */ +@property (nonatomic, strong, readonly) UIButton *rightButton; +/** 验证码 */ +@property (nonatomic, strong, readonly) UIButton *authCodeButton; +///选择区号 +@property (nonatomic,strong,readonly) UILabel *codeView; +///倒计时 +@property (nonatomic, strong, readonly) UILabel *cutdownLabel; +///类型 +@property (nonatomic, assign) LoginForgetEditViewType type; +///展位图 +@property (nonatomic,copy) NSString *placeholder; +@property (nonatomic,copy) NSString *areaCode; +@end + +NS_ASSUME_NONNULL_END diff --git a/YuMi/Modules/YMLogin/View/CustomView/LoginForgetEditView.m b/YuMi/Modules/YMLogin/View/CustomView/LoginForgetEditView.m new file mode 100644 index 00000000..7af35fc2 --- /dev/null +++ b/YuMi/Modules/YMLogin/View/CustomView/LoginForgetEditView.m @@ -0,0 +1,206 @@ +// +// LoginForgetEditView.m +// xplan-ios +// +// Created by 冯硕 on 2021/9/10. +// + +#import "LoginForgetEditView.h" + +///第三方 +#import +///Tool + + +@interface LoginForgetEditView() + + +///容器 +@property (nonatomic,strong) UIStackView *stackView; +///倒计时 +@property (nonatomic, strong) UILabel *cutdownLabel; +///选择区号 +@property (nonatomic,strong) UILabel *codeView; +/** textField */ +@property (nonatomic, strong) XPTextField *textField; +/** rightButton */ +@property (nonatomic, strong) UIButton *rightButton; +/** 验证码 */ +@property (nonatomic, strong) UIButton *authCodeButton; + +@end + +@implementation LoginForgetEditView + +#pragma mark - life cycle +- (instancetype)initWithFrame:(CGRect)frame { + if (self = [super initWithFrame:frame]) { + [self initView]; + [self initConstrations]; + + } + return self; +} + +#pragma mark - private method +- (void)initView { + self.backgroundColor = UIColorFromRGB(0xF0F5F6); + self.layer.masksToBounds = YES; + self.layer.cornerRadius = kGetScaleWidth(24); + + [self addSubview:self.stackView]; + + [self.stackView addArrangedSubview:self.codeView]; + [self.stackView addArrangedSubview:self.textField]; + [self.stackView addArrangedSubview:self.rightButton]; + [self.stackView addArrangedSubview:self.cutdownLabel]; + [self.stackView addArrangedSubview:self.authCodeButton]; +} + +- (void)initConstrations { + [self.stackView mas_makeConstraints:^(MASConstraintMaker *make) { + make.leading.mas_equalTo(kGetScaleWidth(20)); + make.trailing.mas_equalTo(-kGetScaleWidth(20)); + make.top.bottom.equalTo(self); + }]; + + [self.codeView mas_makeConstraints:^(MASConstraintMaker *make) { + make.width.mas_lessThanOrEqualTo(kGetScaleWidth(70)); + }]; + [self.textField mas_makeConstraints:^(MASConstraintMaker *make) { + make.leading.equalTo(self.codeView.mas_trailing).mas_offset(10); + }]; + [self.authCodeButton mas_makeConstraints:^(MASConstraintMaker *make) { + make.width.mas_lessThanOrEqualTo(kGetScaleWidth(120)); + }]; + [self.rightButton mas_makeConstraints:^(MASConstraintMaker *make) { + make.width.height.mas_equalTo(kGetScaleWidth(24)); + }]; + [self.cutdownLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.width.mas_lessThanOrEqualTo(kGetScaleWidth(120)); + }]; +} + +#pragma mark - getters and setters +- (void)setType:(LoginForgetEditViewType)type { + switch (type) { + case LoginForgetEditViewTypeNormal: + self.codeView.hidden = NO; + self.rightButton.hidden = YES; + self.authCodeButton.hidden = YES; + self.cutdownLabel.hidden = YES; + self.textField.isValidation = YES; + break; + case LoginForgetEditViewTypeSms: + self.authCodeButton.hidden = NO; + self.rightButton.hidden = YES; + self.cutdownLabel.hidden = YES; + self.codeView.hidden = YES; + self.textField.isValidation = YES; + break; + case LoginForgetEditViewTypePassword: + self.authCodeButton.hidden = YES; + self.cutdownLabel.hidden = YES; + self.codeView.hidden = YES; + self.rightButton.hidden = NO; + self.textField.isValidation = NO; + break; + default: + break; + } +} +-(NSMutableAttributedString *)getChooseCodeText:(NSString *)code{ + NSMutableAttributedString *codeAtt = [[NSMutableAttributedString alloc]initWithString:[NSString stringWithFormat:@"%@ ",code] attributes:@{NSFontAttributeName:kFontSemibold(15),NSForegroundColorAttributeName:[DJDKMIMOMColor inputTextColor]}]; + NSTextAttachment * attachment = [[NSTextAttachment alloc] init]; + UIImage *iconImage = [UIImage imageNamed:@"login_arrow"];; + attachment.bounds = CGRectMake(0, roundf(self.codeView.font.capHeight - iconImage.size.height)/2.f, iconImage.size.width, iconImage.size.height); + attachment.image = iconImage; + [codeAtt appendAttributedString:[NSMutableAttributedString attributedStringWithAttachment:attachment]]; + return codeAtt; + +} +-(void)setAreaCode:(NSString *)areaCode{ + _areaCode = areaCode; + _codeView.attributedText = [self getChooseCodeText:_areaCode]; +} +- (void)setPlaceholder:(NSString *)placeholder { + _placeholder = placeholder; + if (_placeholder) { + NSMutableParagraphStyle *style = [[NSMutableParagraphStyle alloc] init]; + NSDictionary *dic = @{ + NSParagraphStyleAttributeName:style, + NSFontAttributeName:kFontRegular(15), + NSForegroundColorAttributeName:[DJDKMIMOMColor disableButtonTextColor]}; + if (placeholder == nil || placeholder.length == 0) { + placeholder = @""; + } + self.textField.attributedPlaceholder = [[NSAttributedString alloc] initWithString:placeholder attributes:dic]; + } +} + +#pragma mark -懒加载 + +- (UILabel *)codeView{ + if (!_codeView){ + _codeView = [UILabel new]; + _codeView.userInteractionEnabled = YES; + _codeView.attributedText = [self getChooseCodeText:@"+852"]; + + } + return _codeView; +} + +- (XPTextField *)textField { + if (!_textField) { + _textField = [[XPTextField alloc]initWithFrame:CGRectZero]; + _textField.font = kFontRegular(15); + _textField.textColor = [DJDKMIMOMColor inputTextColor]; + _textField.adjustsFontSizeToFitWidth = YES; + + } + return _textField; +} + +- (UIButton *)rightButton { + if (!_rightButton) { + _rightButton = [UIButton buttonWithType:UIButtonTypeCustom]; + [_rightButton setImage:[UIImage imageNamed:@"login_forget_password_hidden"] forState:UIControlStateNormal]; + [_rightButton setImage:[UIImage imageNamed:@"login_forget_password_show"] forState:UIControlStateSelected]; + } + return _rightButton; +} +- (UILabel *)cutdownLabel { + if (!_cutdownLabel) { + _cutdownLabel = [[UILabel alloc] init]; + _cutdownLabel.textAlignment = NSTextAlignmentRight; + _cutdownLabel.font = kFontRegular(15); + _cutdownLabel.textColor = UIColorFromRGB(0x9168FA); + _cutdownLabel.hidden = NO; + } + return _cutdownLabel; +} + +- (UIButton *)authCodeButton { + if (!_authCodeButton) { + _authCodeButton = [UIButton buttonWithType:UIButtonTypeCustom]; + _authCodeButton.titleLabel.font = kFontRegular(15); + [_authCodeButton setTitle:YMLocalizedString(@"LoginForgetEditView0") forState:UIControlStateNormal]; + _authCodeButton.titleLabel.numberOfLines = 0; + _authCodeButton.titleLabel.adjustsFontSizeToFitWidth = YES; + [_authCodeButton setTitleColor:[DJDKMIMOMColor inputTextColor] forState:UIControlStateNormal]; + } + return _authCodeButton; +} + +- (UIStackView *)stackView { + if (!_stackView) { + _stackView = [[UIStackView alloc] init]; + _stackView.axis = UILayoutConstraintAxisHorizontal; + _stackView.distribution = UIStackViewDistributionFill; + _stackView.alignment = UIStackViewAlignmentFill; + _stackView.spacing = 10; + } + return _stackView; +} + +@end diff --git a/YuMi/Modules/YMLogin/View/LoginForgetPasswordViewController.h b/YuMi/Modules/YMLogin/View/LoginForgetPasswordViewController.h new file mode 100644 index 00000000..32c56d9d --- /dev/null +++ b/YuMi/Modules/YMLogin/View/LoginForgetPasswordViewController.h @@ -0,0 +1,17 @@ +// +// LoginForgetPasswordViewController.h +// xplan-ios +// +// Created by 冯硕 on 2021/9/10. +// + +#import "MvpViewController.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface LoginForgetPasswordViewController : MvpViewController +@property (nonatomic,copy) NSString *phoneAreaCode; +@property (nonatomic,assign) BOOL isLogout; +@end + +NS_ASSUME_NONNULL_END diff --git a/YuMi/Modules/YMLogin/View/LoginForgetPasswordViewController.m b/YuMi/Modules/YMLogin/View/LoginForgetPasswordViewController.m new file mode 100644 index 00000000..f18f4a9c --- /dev/null +++ b/YuMi/Modules/YMLogin/View/LoginForgetPasswordViewController.m @@ -0,0 +1,237 @@ +// +// LoginForgetPasswordViewController.m +// xplan-ios +// +// Created by 冯硕 on 2021/9/10. +// + +#import "LoginForgetPasswordViewController.h" +///第三方 +#import +#import +///Tool +#import "CountDownHelper.h" + +#import "UIImage+Utils.h" +///Presenter +#import "LoginForgetPasswordPresent.h" +#import "LoginForgetPasswordProtocol.h" +///View +#import "LoginForgetEditView.h" +#import "XPLoginAraeViewController.h" + + +@interface LoginForgetPasswordViewController () +///容器 +@property (nonatomic,strong) UIStackView *stackView; +///手机号 +@property (nonatomic,strong) LoginForgetEditView *phoneView; +///验证码 +@property (nonatomic,strong) LoginForgetEditView *codeView; +///密码 +@property (nonatomic,strong) LoginForgetEditView *passwordView; +///完成 +@property (nonatomic,strong) UIButton *finishButton; + +@end + +@implementation LoginForgetPasswordViewController + +- (void)dealloc { + [[CountDownHelper shareHelper] stopCountDown]; +} + +- (LoginForgetPasswordPresent *)createPresenter { + return [[LoginForgetPasswordPresent alloc] init]; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + self.phoneAreaCode = @"852"; + [self initSubViews]; + [self initSubViewConstraints]; + [self initEvents]; +} + +- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { + [self.view endEditing:NO]; +} + +- (void)viewDidDisappear:(BOOL)animated { + [super viewDidDisappear:animated]; + [[CountDownHelper shareHelper] stopCountDown]; +} + +#pragma mark - Private Method +- (void)initSubViews { + self.title = YMLocalizedString(@"LoginForgetPasswordViewController0"); + self.view.backgroundColor = [UIColor whiteColor]; + [CountDownHelper shareHelper].delegate = self; + [self.view addSubview:self.stackView]; + [self.view addSubview:self.finishButton]; + + [self.stackView addArrangedSubview:self.phoneView]; + [self.stackView addArrangedSubview:self.codeView]; + [self.stackView addArrangedSubview:self.passwordView]; +} + +- (void)initSubViewConstraints { + [self.stackView mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.mas_equalTo(self.view).mas_offset(kGetScaleWidth(30)); + make.leading.trailing.equalTo(self.view).inset(kGetScaleWidth(15)); + }]; + + [self.finishButton mas_makeConstraints:^(MASConstraintMaker *make) { + make.leading.trailing.mas_equalTo(self.view).inset(kGetScaleWidth(15)); + make.height.mas_equalTo(45); + make.top.mas_equalTo(self.stackView.mas_bottom).offset(kGetScaleWidth(51)); + }]; + + [self.phoneView mas_makeConstraints:^(MASConstraintMaker *make) { + make.height.mas_equalTo(kGetScaleWidth(48)); + }]; + + [self.codeView mas_makeConstraints:^(MASConstraintMaker *make) { + make.height.mas_equalTo(self.phoneView); + }]; + + [self.passwordView mas_makeConstraints:^(MASConstraintMaker *make) { + make.height.mas_equalTo(self.phoneView); + }]; +} + +- (void)initEvents { + @weakify(self); + RAC(self.finishButton, enabled) = [RACSignal combineLatest:@[self.phoneView.textField.rac_textSignal, self.codeView.textField.rac_textSignal, self.passwordView.textField.rac_textSignal] reduce:^id _Nonnull(NSString *phone, NSString *code, NSString *password){ + return @(phone.length > 0 && code.length > 0 && password.length >= 6 && password.length <= 16); + }]; +} +#pragma mark - XPChooseAreaCodeVCDelegate +-(void)chooseAreaCodeSuccess:(NSString *)code{ + self.phoneAreaCode = code; + self.phoneView.areaCode = [NSString stringWithFormat:@"+%@",code]; +} +#pragma mark - LoginForgetPasswordProtocol +///请求手机号的验证码成功 +- (void)phoneSmsCodeSuccess { + [self hideHUD]; + self.codeView.authCodeButton.enabled= NO; + [self showSuccessToast:YMLocalizedString(@"LoginForgetPasswordViewController1")]; + [[CountDownHelper shareHelper] openCountdownWithTime:60]; +} +///重置密码成功 +- (void)resetPasswrodSuccess { + [[CountDownHelper shareHelper] stopCountDown]; + [self showSuccessToast:YMLocalizedString(@"LoginForgetPasswordViewController2")]; + if(self.isLogout == YES){ + dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)); + dispatch_after(popTime, dispatch_get_main_queue(), ^(void){ + [self.presenter logout]; + }); + + }else{ + [self.navigationController popViewControllerAnimated:YES]; + } + +} + #pragma mark - CountDownHelperDelegate +///倒计时进行中 +- (void)onCountdownOpen:(int)time { + [self.codeView.authCodeButton setTitle:[NSString stringWithFormat:YMLocalizedString(@"LoginForgetPasswordViewController3"), time] forState:UIControlStateDisabled]; +} +///倒计时结束 +- (void)onCountdownFinish { + self.codeView.authCodeButton.enabled= YES; + [self.codeView.authCodeButton setTitle:YMLocalizedString(@"LoginForgetPasswordViewController4") forState:UIControlStateNormal]; +} +#pragma mark - Event Response +- (void)finishButtonAction:(UIButton *)sender { + [self.view endEditing:YES]; + [self.presenter resetPassword:[NSString stringWithFormat:@"%@%@",self.phoneAreaCode,self.phoneView.textField.text] newPwd:self.passwordView.textField.text smsCode:self.codeView.textField.text phoneAreaCode:self.phoneAreaCode]; +} + +- (void)authCodeButtonAction:(UIButton *)sender { + if(self.phoneView.textField.text.length == 0){ + [self showErrorToast:YMLocalizedString(@"LoginForgetPasswordViewController7")]; + return; + } + [self.view endEditing:YES]; + [self showLoading]; + [self.presenter phoneSmsCode:[NSString stringWithFormat:@"%@%@",self.phoneAreaCode,self.phoneView.textField.text] type:GetSmsType_Reset_Password phoneAreaCode:self.phoneAreaCode]; + +} +-(void)chooseAreaCodeAction{ + XPLoginAraeViewController *codeVC = [XPLoginAraeViewController new]; + codeVC.delegate = self; + [self.navigationController pushViewController:codeVC animated:YES]; +} +-(void)hidePasswordAction{ + self.passwordView.rightButton.selected = !self.passwordView.rightButton.selected; + self.passwordView.textField.secureTextEntry = !self.passwordView.rightButton.selected; +} +#pragma mark - Getters And Setters +- (UIButton *)finishButton{ + if (!_finishButton) { + _finishButton = [UIButton buttonWithType:UIButtonTypeCustom]; + _finishButton.layer.masksToBounds = YES; + _finishButton.layer.cornerRadius = kGetScaleWidth(24); + [_finishButton setTitle:YMLocalizedString(@"LoginForgetPasswordViewController6") forState:UIControlStateNormal]; + _finishButton.titleLabel.font = kFontRegular(16); + [_finishButton setTitleColor:[DJDKMIMOMColor confirmButtonTextColor] forState:UIControlStateNormal]; + _finishButton.enabled = NO; + UIImage *image = [UIImage gradientColorImageFromColors:@[[DJDKMIMOMColor confirmButtonGradientStartColor],[DJDKMIMOMColor confirmButtonGradientMiddleColor], [DJDKMIMOMColor confirmButtonGradientEndColor]] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(kGetScaleWidth(345), kGetScaleWidth(46))]; + [_finishButton setBackgroundImage:image forState:UIControlStateNormal]; + [_finishButton addTarget:self action:@selector(finishButtonAction:) forControlEvents:UIControlEventTouchUpInside]; + } + return _finishButton; +} + + +- (UIStackView *)stackView { + if (!_stackView) { + _stackView = [[UIStackView alloc] init]; + _stackView.axis = UILayoutConstraintAxisVertical; + _stackView.distribution = UIStackViewDistributionFill; + _stackView.alignment = UIStackViewAlignmentFill; + _stackView.spacing = kGetScaleWidth(25); + } + return _stackView; +} + +- (LoginForgetEditView *)phoneView { + if (!_phoneView) { + _phoneView = [[LoginForgetEditView alloc] init]; +// _phoneView.placeholder = YMLocalizedString(@"LoginForgetPasswordViewController7"); + _phoneView.textField.keyboardType = UIKeyboardTypeNumberPad; + _phoneView.type = LoginForgetEditViewTypeNormal; + UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(chooseAreaCodeAction)]; + [_phoneView.codeView addGestureRecognizer:tap]; + } + return _phoneView; +} + +- (LoginForgetEditView *)codeView { + if (!_codeView) { + _codeView = [[LoginForgetEditView alloc] init]; + _codeView.placeholder = YMLocalizedString(@"LoginForgetPasswordViewController8"); + _codeView.type = LoginForgetEditViewTypeSms; + _codeView.textField.keyboardType = UIKeyboardTypeNumberPad; + [_codeView.authCodeButton addTarget:self action:@selector(authCodeButtonAction:) forControlEvents:UIControlEventTouchUpInside]; + } + return _codeView; +} + +- (LoginForgetEditView *)passwordView { + if (!_passwordView) { + _passwordView = [[LoginForgetEditView alloc] init]; + _passwordView.textField.secureTextEntry = YES; + _passwordView.placeholder = YMLocalizedString(@"LoginForgetPasswordViewController9"); + _passwordView.type = LoginForgetEditViewTypePassword; + _passwordView.textField.keyboardType = UIKeyboardTypeASCIICapable; + _passwordView.textField.clearButtonMode = UITextFieldViewModeAlways; + [_passwordView.rightButton addTarget:self action:@selector(hidePasswordAction) forControlEvents:UIControlEventTouchUpInside]; + } + return _passwordView; +} + +@end diff --git a/YuMi/Modules/YMLogin/View/NewLogin/XPForgetPwdViewController.m b/YuMi/Modules/YMLogin/View/NewLogin/XPForgetPwdViewController.m index 460d43cf..64948e38 100644 --- a/YuMi/Modules/YMLogin/View/NewLogin/XPForgetPwdViewController.m +++ b/YuMi/Modules/YMLogin/View/NewLogin/XPForgetPwdViewController.m @@ -96,7 +96,7 @@ NSString *phone = self.phoneInputView.inputTextField.text; NSString *smsCode = self.codeInputView.inputTextField.text; NSString *password = self.pwdInputView.inputTextField.text; - [self.presenter resetPassword:phone newPwd:password smsCode:smsCode]; + [self.presenter resetPassword:phone newPwd:password smsCode:smsCode phoneAreaCode:@""]; } #pragma mark - XPLoginInputViewDelegate diff --git a/YuMi/Modules/YMLogin/View/XPLoginBindPhoneResultViewController.m b/YuMi/Modules/YMLogin/View/XPLoginBindPhoneResultViewController.m index 2a486904..f5954523 100644 --- a/YuMi/Modules/YMLogin/View/XPLoginBindPhoneResultViewController.m +++ b/YuMi/Modules/YMLogin/View/XPLoginBindPhoneResultViewController.m @@ -1,8 +1,8 @@ // -// YMLoginBindPhoneResultViewController.m -// YUMI +// XPLoginBindPhoneResultViewController.m +// xplan-ios // -// Created by YUMI on 2021/9/17. +// Created by 冯硕 on 2021/9/17. // #import "XPLoginBindPhoneResultViewController.h" @@ -10,7 +10,6 @@ #import #import ///Tool -#import "DJDKMIMOMColor.h" #import "UIImage+Utils.h" ///Model #import "UserInfoModel.h" @@ -20,7 +19,6 @@ @property (nonatomic, strong) UIView *containerView; @property (nonatomic, strong) UIImageView *iconImageView; -@property (nonatomic, strong) UILabel *titleLabel; @property (nonatomic, strong) UILabel *phoneLabel; @property (nonatomic, strong) UIButton *changePhoneBtn; @@ -30,114 +28,99 @@ - (void)viewDidLoad { - [super viewDidLoad]; - [self initViews]; - [self setUpConstraints]; - [self setConfigs]; + [super viewDidLoad]; + [self initViews]; + [self setUpConstraints]; + [self setConfigs]; } #pragma mark - Private Method - (void)initViews { - [self.view addSubview:self.containerView]; - [self.containerView addSubview:self.iconImageView]; - [self.containerView addSubview:self.titleLabel]; - [self.containerView addSubview:self.phoneLabel]; - [self.containerView addSubview:self.changePhoneBtn]; + [self.view addSubview:self.containerView]; + [self.containerView addSubview:self.iconImageView]; + [self.containerView addSubview:self.phoneLabel]; + [self.containerView addSubview:self.changePhoneBtn]; } - (void)setConfigs { - self.title = YMLocalizedString(@"XPLoginBindPhoneResultViewController0"); - self.phoneLabel.text = self.userInfo.phone; + self.title = YMLocalizedString(@"XPLoginBindPhoneResultViewController0"); + NSMutableAttributedString *titleAtt = [[NSMutableAttributedString alloc]initWithString:YMLocalizedString(@"XPLoginBindPhoneResultViewController1") attributes:@{NSFontAttributeName:kFontSemibold(16),NSForegroundColorAttributeName:[DJDKMIMOMColor inputTextColor]}]; + NSAttributedString *phoneAtt = [[NSAttributedString alloc]initWithString:[NSString stringWithFormat:@"\n%@ %@",self.userInfo.phoneAreaCode,self.userInfo.phone] attributes:@{NSFontAttributeName:kFontSemibold(16),NSForegroundColorAttributeName:UIColorFromRGB(0x9168FA)}]; + [titleAtt appendAttributedString:phoneAtt]; + self.phoneLabel.attributedText = titleAtt; } - (void)setUpConstraints { - [self.containerView mas_makeConstraints:^(MASConstraintMaker *make) { - make.top.mas_equalTo(49); - make.left.right.bottom.mas_equalTo(0); - }]; - - [self.iconImageView mas_makeConstraints:^(MASConstraintMaker *make) { - make.top.mas_equalTo(50); - make.centerX.mas_equalTo(0); - make.size.mas_equalTo(CGSizeMake(135, 130)); - }]; - - [self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) { - make.centerX.mas_equalTo(0); - make.top.mas_equalTo(self.iconImageView.mas_bottom).offset(39); - }]; - - [self.phoneLabel mas_makeConstraints:^(MASConstraintMaker *make) { - make.centerX.mas_equalTo(0); - make.top.mas_equalTo(self.titleLabel.mas_bottom).offset(11); - }]; - - [self.changePhoneBtn mas_makeConstraints:^(MASConstraintMaker *make) { - make.top.mas_equalTo(self.phoneLabel.mas_bottom).offset(41); - make.left.right.mas_equalTo(0).inset(32); - make.centerX.mas_equalTo(0); - make.height.mas_equalTo(45); - }]; + [self.containerView mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self.view); + }]; + + [self.iconImageView mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.mas_equalTo(kGetScaleWidth(30)); + make.centerX.mas_equalTo(0); + make.size.mas_equalTo(CGSizeMake(kGetScaleWidth(164), kGetScaleWidth(112))); + }]; + + + + [self.phoneLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.mas_equalTo(kGetScaleWidth(184)); + make.centerX.equalTo(self.containerView); + }]; + [self.changePhoneBtn mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.mas_equalTo(self.phoneLabel.mas_bottom).offset(kGetScaleWidth(47)); + make.leading.trailing.mas_equalTo(0).inset(15); + make.centerX.mas_equalTo(0); + make.height.mas_equalTo(kGetScaleWidth(46)); + }]; } #pragma mark - Event Response - (void)changePhoneBtnAction:(UIButton *)sender { - XPLoginVerifBindPhoneViewController *vc = [[XPLoginVerifBindPhoneViewController alloc] init]; - vc.userInfo = self.userInfo; - vc.bindingPhoneNumType = XPBindingPhoneNumTypeConfirm; - [self.navigationController pushViewController:vc animated:YES]; + XPLoginVerifBindPhoneViewController *vc = [[XPLoginVerifBindPhoneViewController alloc] init]; + vc.userInfo = self.userInfo; + vc.bindingPhoneNumType = XPBindingPhoneNumTypeConfirm; + [self.navigationController pushViewController:vc animated:YES]; } #pragma mark - Getters And Setters - (UIView *)containerView{ - if (!_containerView) { - _containerView = [[UIView alloc] init]; - _containerView.backgroundColor = [DJDKMIMOMColor appBackgroundColor]; - } - return _containerView; + if (!_containerView) { + _containerView = [[UIView alloc] init]; + _containerView.backgroundColor = [UIColor whiteColor]; + } + return _containerView; } - (UIImageView *)iconImageView{ - if (!_iconImageView) { - _iconImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"login_bind_phone_bg"]]; - } - return _iconImageView; + if (!_iconImageView) { + _iconImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"login_bind_phone_bg"]]; + } + return _iconImageView; } -- (UILabel *)titleLabel{ - if (!_titleLabel) { - _titleLabel = [[UILabel alloc] init]; - _titleLabel.text = YMLocalizedString(@"XPLoginBindPhoneResultViewController1"); - _titleLabel.textColor = [DJDKMIMOMColor secondTextColor]; - _titleLabel.font = [UIFont systemFontOfSize:14.f]; - _titleLabel.adjustsFontSizeToFitWidth = YES; - _titleLabel.textAlignment = NSTextAlignmentCenter; - } - return _titleLabel; -} + - (UILabel *)phoneLabel{ - if (!_phoneLabel) { - _phoneLabel = [[UILabel alloc] init]; - _phoneLabel.textColor = [DJDKMIMOMColor mainTextColor]; - _phoneLabel.font = [UIFont boldSystemFontOfSize:18.f]; - _phoneLabel.adjustsFontSizeToFitWidth = YES; - _phoneLabel.textAlignment = NSTextAlignmentCenter; - } - return _phoneLabel; + if (!_phoneLabel) { + _phoneLabel = [[UILabel alloc] init]; + _phoneLabel.textAlignment = NSTextAlignmentCenter; + _phoneLabel.numberOfLines = 0; + } + return _phoneLabel; } - (UIButton *)changePhoneBtn { - if (!_changePhoneBtn) { - _changePhoneBtn = [UIButton buttonWithType:UIButtonTypeCustom]; - [_changePhoneBtn setTitle:YMLocalizedString(@"XPLoginBindPhoneResultViewController2") forState:UIControlStateNormal]; - [_changePhoneBtn setTitleColor:[DJDKMIMOMColor confirmButtonTextColor] forState:UIControlStateNormal]; - [_changePhoneBtn.titleLabel setFont:[UIFont fontWithName:@"PingFang-SC-Medium" size:18]]; - [_changePhoneBtn setBackgroundImage:[UIImage gradientColorImageFromColors:@[[DJDKMIMOMColor confirmButtonGradientStartColor], [DJDKMIMOMColor confirmButtonGradientEndColor]] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(10, 10)] forState:UIControlStateNormal]; - _changePhoneBtn.layer.masksToBounds = YES; - _changePhoneBtn.layer.cornerRadius = 22.5; - [_changePhoneBtn addTarget:self action:@selector(changePhoneBtnAction:) forControlEvents:UIControlEventTouchUpInside]; - } - return _changePhoneBtn; + if (!_changePhoneBtn) { + _changePhoneBtn = [UIButton buttonWithType:UIButtonTypeCustom]; + [_changePhoneBtn setTitle:YMLocalizedString(@"XPLoginBindPhoneResultViewController2") forState:UIControlStateNormal]; + [_changePhoneBtn setTitleColor:[DJDKMIMOMColor confirmButtonTextColor] forState:UIControlStateNormal]; + [_changePhoneBtn.titleLabel setFont:kFontRegular(16)]; + [_changePhoneBtn setBackgroundImage:[UIImage gradientColorImageFromColors:@[[DJDKMIMOMColor confirmButtonGradientStartColor], [DJDKMIMOMColor confirmButtonGradientEndColor]] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(10, 10)] forState:UIControlStateNormal]; + _changePhoneBtn.layer.masksToBounds = YES; + _changePhoneBtn.layer.cornerRadius = kGetScaleWidth(23); + [_changePhoneBtn addTarget:self action:@selector(changePhoneBtnAction:) forControlEvents:UIControlEventTouchUpInside]; + } + return _changePhoneBtn; } diff --git a/YuMi/Modules/YMLogin/View/XPLoginVerifBindPhoneViewController.h b/YuMi/Modules/YMLogin/View/XPLoginVerifBindPhoneViewController.h index e675dc53..c24d1d9d 100644 --- a/YuMi/Modules/YMLogin/View/XPLoginVerifBindPhoneViewController.h +++ b/YuMi/Modules/YMLogin/View/XPLoginVerifBindPhoneViewController.h @@ -1,8 +1,8 @@ // -// YMLoginVerifBindPhoneViewController.h -// YUMI +// XPLoginVerifBindPhoneViewController.h +// xplan-ios // -// Created by YUMI on 2021/9/18. +// Created by 冯硕 on 2021/9/18. // #import "MvpViewController.h" @@ -15,13 +15,14 @@ NS_ASSUME_NONNULL_BEGIN - TTBindingPhoneNumTypeConfirm : 验证状态:验证已绑定的手机 */ typedef NS_ENUM(NSUInteger, TTBindingPhoneNumType) { - XPBindingPhoneNumTypeNormal = 0, - XPBindingPhoneNumTypeEdit = 1, - XPBindingPhoneNumTypeConfirm = 2, + XPBindingPhoneNumTypeNormal = 0, + XPBindingPhoneNumTypeEdit = 1, + XPBindingPhoneNumTypeConfirm = 2, }; @class UserInfoModel; @interface XPLoginVerifBindPhoneViewController : MvpViewController @property (nonatomic, assign) TTBindingPhoneNumType bindingPhoneNumType; + ///用户信息 @property (nonatomic, strong) UserInfoModel *userInfo; @end diff --git a/YuMi/Modules/YMLogin/View/XPLoginVerifBindPhoneViewController.m b/YuMi/Modules/YMLogin/View/XPLoginVerifBindPhoneViewController.m index 96d98b9f..402cc3e7 100644 --- a/YuMi/Modules/YMLogin/View/XPLoginVerifBindPhoneViewController.m +++ b/YuMi/Modules/YMLogin/View/XPLoginVerifBindPhoneViewController.m @@ -1,8 +1,8 @@ // -// YMLoginVerifBindPhoneViewController.m -// YUMI +// XPLoginVerifBindPhoneViewController.m +// xplan-ios // -// Created by YUMI on 2021/9/18. +// Created by 冯硕 on 2021/9/18. // #import "XPLoginVerifBindPhoneViewController.h" @@ -10,9 +10,8 @@ #import #import ///Tool -#import "DJDKMIMOMColor.h" -#import "YUMIConstant.h" -#import "YUMIMacroUitls.h" + + #import "UIImage+Utils.h" #import "CountDownHelper.h" ///Model @@ -25,409 +24,254 @@ #import "XPMineSettingViewController.h" ///View #import "XPLoginBindSuccessView.h" +#import "LoginForgetEditView.h" +#import "XPLoginAraeViewController.h" -@interface XPLoginVerifBindPhoneViewController () -@property (nonatomic, strong) UIView *containerView; -@property (nonatomic, strong) UILabel *areaLabel; -@property (nonatomic, strong) UIButton *countryBtn; -@property (nonatomic, strong) UIView *areaLineView; +@interface XPLoginVerifBindPhoneViewController () -@property (nonatomic, strong) UIView *phoneLineView; -@property (nonatomic, strong) UIView *authLineView; -@property (nonatomic, strong) UILabel *areaCodeLabel; - -@property (nonatomic, strong) UIButton *authCodeBtn; -@property (nonatomic, strong) UITextField *phoneNumTextField; -@property (nonatomic, strong) UITextField *authCodeTextField; - -@property (nonatomic, strong) UIButton *confirmBtn; // 确认按钮 - -@property (nonatomic, strong) UILabel *tipsLabel; // 手机号丢失 -@property (nonatomic, assign) BOOL isResetPhone; // 重新绑定手机 +///手机号 +@property (nonatomic,strong) LoginForgetEditView *phoneView; +///验证码 +@property (nonatomic,strong) LoginForgetEditView *codeView; +///手机区号 +@property (nonatomic,copy)NSString *phoneAreaCode; +// 确认按钮 +@property (nonatomic, strong) UIButton *confirmBtn; +// 重新绑定手机 +@property (nonatomic, assign) BOOL isResetPhone; @end @implementation XPLoginVerifBindPhoneViewController - (void)dealloc { - [[CountDownHelper shareHelper] stopCountDown]; + [[CountDownHelper shareHelper] stopCountDown]; } - (XPLoginVerifBindPhonePresenter *)createPresenter { - return [[XPLoginVerifBindPhonePresenter alloc] init]; + return [[XPLoginVerifBindPhonePresenter alloc] init]; } - (void)viewDidLoad { [super viewDidLoad]; - [self initSubViews]; - [self initSubViewConstraints]; - [self setConfigs]; - [self setEvents]; + self.phoneAreaCode = @"852"; + [self initSubViews]; + [self initSubViewConstraints]; + [self setConfigs]; + [self setEvents]; } - (void)viewDidDisappear:(BOOL)animated { - [super viewDidDisappear:animated]; - [[CountDownHelper shareHelper] stopCountDown]; + [super viewDidDisappear:animated]; + [[CountDownHelper shareHelper] stopCountDown]; + self.codeView.authCodeButton.enabled= YES; + [self.codeView.authCodeButton setTitle:YMLocalizedString(@"XPLoginVerifBindPhoneViewController11") forState:UIControlStateNormal]; } #pragma mark - Private Method - (void)initSubViews { - [CountDownHelper shareHelper].delegate = self; - [self.view addSubview:self.containerView]; - [self.containerView addSubview:self.areaLabel]; - [self.containerView addSubview:self.countryBtn]; - - [self.containerView addSubview:self.areaLineView]; - [self.containerView addSubview:self.areaCodeLabel]; - [self.containerView addSubview:self.phoneNumTextField]; - [self.containerView addSubview:self.phoneLineView]; - - [self.containerView addSubview:self.authCodeBtn]; - [self.containerView addSubview:self.authCodeTextField]; - [self.containerView addSubview:self.authLineView]; - - [self.containerView addSubview:self.confirmBtn]; - [self.containerView addSubview:self.tipsLabel]; + [CountDownHelper shareHelper].delegate = self; + self.view.backgroundColor = [UIColor whiteColor]; + [self.view addSubview:self.codeView]; + [self.view addSubview:self.phoneView]; + [self.view addSubview:self.confirmBtn]; + } - (void)initSubViewConstraints { - [self.containerView mas_makeConstraints:^(MASConstraintMaker *make) { - make.top.mas_equalTo(0); - make.left.right.bottom.mas_equalTo(0); - }]; - - [self.areaLabel mas_makeConstraints:^(MASConstraintMaker *make) { - make.left.mas_equalTo(32); - make.top.mas_equalTo(20); - }]; - - [self.countryBtn mas_makeConstraints:^(MASConstraintMaker *make) { - make.right.mas_equalTo(-32); - make.centerY.mas_equalTo(self.areaLabel); - }]; - - [self.areaLineView mas_makeConstraints:^(MASConstraintMaker *make) { - make.top.mas_equalTo(self.areaLabel.mas_bottom).offset(18); - make.left.right.mas_equalTo(0).inset(32); - make.height.mas_equalTo(1); - }]; - - [self.areaCodeLabel mas_makeConstraints:^(MASConstraintMaker *make) { - make.top.mas_equalTo(self.areaLineView.mas_bottom).offset(18); - make.left.mas_equalTo(self.areaLabel); - }]; - - [self.phoneNumTextField mas_makeConstraints:^(MASConstraintMaker *make) { - make.left.mas_equalTo(80); - make.centerY.mas_equalTo(self.areaCodeLabel); - make.right.mas_equalTo(self.authCodeBtn.mas_left).offset(-20); - }]; - - [self.authCodeBtn mas_makeConstraints:^(MASConstraintMaker *make) { - make.right.mas_equalTo(-32); - make.centerY.mas_equalTo(self.areaCodeLabel); - }]; - - [self.phoneLineView mas_makeConstraints:^(MASConstraintMaker *make) { - make.left.right.height.mas_equalTo(self.areaLineView); - make.top.mas_equalTo(self.areaCodeLabel.mas_bottom).offset(18); - }]; - - [self.authCodeTextField mas_makeConstraints:^(MASConstraintMaker *make) { - make.left.right.mas_equalTo(0).inset(32); - make.height.mas_equalTo(48); - make.top.mas_equalTo(self.phoneLineView.mas_bottom); - }]; - - [self.authLineView mas_makeConstraints:^(MASConstraintMaker *make) { - make.height.left.right.mas_equalTo(self.areaLineView); - make.top.mas_equalTo(self.authCodeTextField.mas_bottom); - }]; - - [self.confirmBtn mas_makeConstraints:^(MASConstraintMaker *make) { - make.left.right.mas_equalTo(0).inset(32); - make.top.mas_equalTo(self.authLineView.mas_bottom).offset(70); - make.height.mas_equalTo(45); - }]; - - [self.tipsLabel mas_makeConstraints:^(MASConstraintMaker *make) { - make.top.mas_equalTo(self.confirmBtn.mas_bottom).offset(36); - make.centerX.mas_equalTo(0); - }]; + [self.phoneView mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.mas_equalTo(kGetScaleWidth(30)); + make.leading.trailing.equalTo(self.view).inset(kGetScaleWidth(15)); + make.height.mas_equalTo(kGetScaleWidth(48)); + }]; + [self.codeView mas_makeConstraints:^(MASConstraintMaker *make) { + make.leading.trailing.height.equalTo(self.phoneView); + make.top.equalTo(self.phoneView.mas_bottom).mas_offset(kGetScaleWidth(25)); + }]; + [self.confirmBtn mas_makeConstraints:^(MASConstraintMaker *make) { + make.leading.trailing.equalTo(self.view).inset(kGetScaleWidth(15)); + make.height.mas_equalTo(kGetScaleWidth(46)); + make.top.mas_equalTo(kGetScaleWidth(275)); + }]; } #pragma mark -配置 - (void)setConfigs { - switch (self.bindingPhoneNumType) { - case XPBindingPhoneNumTypeEdit:{ - self.navigationItem.title = YMLocalizedString(@"XPLoginVerifBindPhoneViewController0"); - } - break; - case XPBindingPhoneNumTypeNormal:{ - self.navigationItem.title = YMLocalizedString(@"XPLoginVerifBindPhoneViewController1"); - } - break; - case XPBindingPhoneNumTypeConfirm:{ - self.tipsLabel.hidden = NO; - self.navigationItem.title = YMLocalizedString(@"XPLoginVerifBindPhoneViewController2"); - [self.confirmBtn setTitle:YMLocalizedString(@"XPLoginVerifBindPhoneViewController3") forState:UIControlStateNormal]; - if (self.userInfo.isBindPhone) { - self.phoneNumTextField.enabled = NO; - self.phoneNumTextField.text = self.userInfo.phone; - } - } - break; - default: - break; - } - - RAC(self.confirmBtn,enabled) = [RACSignal combineLatest:@[self.phoneNumTextField.rac_textSignal,self.authCodeTextField.rac_textSignal] reduce:^(NSString *phone,NSString *code){ - return @(phone.length == 11 && code.length == 5); - }]; - + switch (self.bindingPhoneNumType) { + case XPBindingPhoneNumTypeEdit:{ + self.navigationItem.title = YMLocalizedString(@"XPLoginVerifBindPhoneViewController0"); + } + break; + case XPBindingPhoneNumTypeNormal:{ + self.navigationItem.title = YMLocalizedString(@"XPLoginVerifBindPhoneViewController1"); + } + break; + case XPBindingPhoneNumTypeConfirm:{ + + self.navigationItem.title = YMLocalizedString(@"XPLoginVerifBindPhoneViewController2"); + [self.confirmBtn setTitle:YMLocalizedString(@"XPLoginVerifBindPhoneViewController3") forState:UIControlStateNormal]; + if (self.userInfo.isBindPhone) { +// self.phoneNumTextField.enabled = NO; +// self.phoneNumTextField.text = self.userInfo.phone; + } + } + break; + default: + break; + } + + RAC(self.confirmBtn,enabled) = [RACSignal combineLatest:@[self.phoneView.textField.rac_textSignal,self.codeView.textField.rac_textSignal] reduce:^(NSString *phone,NSString *code){ + return @(phone.length > 0 && code.length == 5); + }]; + } - +#pragma mark - XPChooseAreaCodeVCDelegate +-(void)chooseAreaCodeSuccess:(NSString *)code{ + self.phoneAreaCode = code; + self.phoneView.areaCode = [NSString stringWithFormat:@"+%@",code]; +} +-(void)chooseAreaCodeAction{ + XPLoginAraeViewController *codeVC = [XPLoginAraeViewController new]; + codeVC.delegate = self; + [self.navigationController pushViewController:codeVC animated:YES]; +} #pragma mark 交互事件 - (void)setEvents { - @weakify(self) - // 获取验证码点击事件 - [[[self.authCodeBtn rac_signalForControlEvents:UIControlEventTouchUpInside] filter:^BOOL(__kindof UIControl * _Nullable value) { - // 获取验证码 - if (self.phoneNumTextField.text.length == 0) { - [self showErrorToast:YMLocalizedString(@"XPLoginVerifBindPhoneViewController4")]; - return NO; - }else if (self.phoneNumTextField.text.length < 11) { - [self showErrorToast:YMLocalizedString(@"XPLoginVerifBindPhoneViewController5")]; - return NO; - }else { - return YES; - } - }] subscribeNext:^(id _Nullable x) { - @strongify(self); - [self.presenter phoneSmsCode:self.phoneNumTextField.text type:self.bindingPhoneNumType == XPBindingPhoneNumTypeConfirm ? GetSmsType_Unbind_Phone : GetSmsType_Bind_Phone phoneAreaCode:@""]; - }]; - - - // 绑定和验证 - [[[self.confirmBtn rac_signalForControlEvents:UIControlEventTouchUpInside] filter:^BOOL(__kindof UIControl * _Nullable value) { - @strongify(self) - // 确认绑定手机号 - if (self.phoneNumTextField.text.length == 0) { - [self showErrorToast:YMLocalizedString(@"XPLoginVerifBindPhoneViewController6")]; - return NO; - }else if (self.authCodeTextField.text.length == 0) { - [self showErrorToast:YMLocalizedString(@"XPLoginVerifBindPhoneViewController7")]; - return NO; - }else { - return YES; - } - }] subscribeNext:^(id _Nullable x) { - @strongify(self) - if (self.bindingPhoneNumType == XPBindingPhoneNumTypeConfirm) { - [self.presenter checkMoblieCodeWithMoblie:self.phoneNumTextField.text code:self.authCodeTextField.text]; - } else { - [self.presenter bindkMoblieCodeWithMoblie:self.phoneNumTextField.text code:self.authCodeTextField.text]; - } - } error:^(NSError * _Nullable error) { - - }]; + @weakify(self) + // 获取验证码点击事件 + [[[self.codeView.authCodeButton rac_signalForControlEvents:UIControlEventTouchUpInside] filter:^BOOL(__kindof UIControl * _Nullable value) { + // 获取验证码 + if (self.phoneView.textField.text.length == 0) { + [self showErrorToast:YMLocalizedString(@"XPLoginVerifBindPhoneViewController4")]; + return NO; + } + return YES; + }] subscribeNext:^(id _Nullable x) { + @strongify(self); + [self.presenter phoneSmsCode:[NSString stringWithFormat:@"%@%@",self.phoneAreaCode,self.phoneView.textField.text] type:self.bindingPhoneNumType == XPBindingPhoneNumTypeConfirm ? GetSmsType_Unbind_Phone : GetSmsType_Bind_Phone phoneAreaCode:self.phoneAreaCode]; + }]; + +// // 绑定和验证 + [[[self.confirmBtn rac_signalForControlEvents:UIControlEventTouchUpInside] filter:^BOOL(__kindof UIControl * _Nullable value) { + @strongify(self) + // 确认绑定手机号 + if (self.phoneView.textField.text.length == 0) { + [self showErrorToast:YMLocalizedString(@"XPLoginVerifBindPhoneViewController6")]; + return NO; + }else if (self.codeView.textField.text.length == 0) { + [self showErrorToast:YMLocalizedString(@"XPLoginVerifBindPhoneViewController7")]; + return NO; + }else { + return YES; + } + }] subscribeNext:^(id _Nullable x) { + @strongify(self) + [self.view endEditing:YES]; + if (self.bindingPhoneNumType == XPBindingPhoneNumTypeConfirm) { + [self.presenter checkMoblieCodeWithMoblie:[NSString stringWithFormat:@"%@%@",self.phoneAreaCode,self.phoneView.textField.text] code:self.codeView.textField.text phoneAreaCode:self.phoneAreaCode]; + } else { + [self.presenter bindkMoblieCodeWithMoblie:[NSString stringWithFormat:@"%@%@",self.phoneAreaCode,self.phoneView.textField.text] code:self.codeView.textField.text phoneAreaCode:self.phoneAreaCode]; + } + } error:^(NSError * _Nullable error) { + + }]; } #pragma mark - XPLoginVerifBindPhoneProtocol - (void)phoneSmsCodeSuccess { - self.authCodeBtn.enabled = NO; - [self showSuccessToast:YMLocalizedString(@"XPLoginVerifBindPhoneViewController8")]; - [[CountDownHelper shareHelper] openCountdownWithTime:60]; + self.codeView.authCodeButton.enabled = NO; + [self showSuccessToast:YMLocalizedString(@"XPLoginVerifBindPhoneViewController8")]; + [[CountDownHelper shareHelper] openCountdownWithTime:60]; } - (void)checkMoblieCodeWithMoblieSuccess { - [self showSuccessToast:YMLocalizedString(@"XPLoginVerifBindPhoneViewController9")]; - [[CountDownHelper shareHelper] stopCountDown]; - XPLoginVerifBindPhoneViewController *vc = [[XPLoginVerifBindPhoneViewController alloc] init]; - vc.bindingPhoneNumType = XPBindingPhoneNumTypeEdit; - vc.userInfo = self.userInfo; - [self.navigationController pushViewController:vc animated:YES]; + [self showSuccessToast:YMLocalizedString(@"XPLoginVerifBindPhoneViewController9")]; + [[CountDownHelper shareHelper] stopCountDown]; + XPLoginVerifBindPhoneViewController *vc = [[XPLoginVerifBindPhoneViewController alloc] init]; + vc.bindingPhoneNumType = XPBindingPhoneNumTypeEdit; + vc.userInfo = self.userInfo; + [self.navigationController pushViewController:vc animated:YES]; } - (void)bindMoblieCodeWithMoblieSuccess { - [[CountDownHelper shareHelper] stopCountDown]; - // 修改绑定信息 - if (self.bindingPhoneNumType == XPBindingPhoneNumTypeEdit) { - @weakify(self); - [XPLoginBindSuccessView showBindSuccessViewWithHandler:^{ - @strongify(self); - // 返回设置页面 - __block __kindof UIViewController *vc; - [self.navigationController.childViewControllers enumerateObjectsUsingBlock:^(__kindof UIViewController * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { - if ([obj isKindOfClass:[XPMineSettingViewController class]]) { - vc = obj; // 导航控制器中有设置VC - } - }]; - - if ([self.navigationController.childViewControllers containsObject:vc]) { - [self.navigationController popToViewController:vc animated:YES]; - } else { - [self.navigationController popViewControllerAnimated:YES]; - } - }]; - } else if (self.bindingPhoneNumType == XPBindingPhoneNumTypeNormal) { - @weakify(self); - [XPLoginBindSuccessView showBindSuccessViewWithHandler:^{ - @strongify(self); - [self.navigationController popViewControllerAnimated:YES]; - }]; - } - self.confirmBtn.enabled = YES; // 打开交互 + + [[CountDownHelper shareHelper] stopCountDown]; + // 修改绑定信息 + if (self.bindingPhoneNumType == XPBindingPhoneNumTypeEdit) { + @weakify(self); + [XPLoginBindSuccessView showBindSuccessViewWithHandler:^{ + @strongify(self); + // 返回设置页面 + __block __kindof UIViewController *vc; + [self.navigationController.childViewControllers enumerateObjectsUsingBlock:^(__kindof UIViewController * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { + if ([obj isKindOfClass:[XPMineSettingViewController class]]) { + vc = obj; // 导航控制器中有设置VC + } + }]; + + if ([self.navigationController.childViewControllers containsObject:vc]) { + [self.navigationController popToViewController:vc animated:YES]; + } else { + [self.navigationController popViewControllerAnimated:YES]; + } + }]; + } else if (self.bindingPhoneNumType == XPBindingPhoneNumTypeNormal) { + @weakify(self); + [XPLoginBindSuccessView showBindSuccessViewWithHandler:^{ + @strongify(self); + [self.navigationController popViewControllerAnimated:YES]; + }]; + } + self.confirmBtn.enabled = YES; // 打开交互 } #pragma mark - CountDownHelperDelegate ///倒计时进行中 - (void)onCountdownOpen:(int)time { - [self.authCodeBtn setTitle:[NSString stringWithFormat:YMLocalizedString(@"XPLoginVerifBindPhoneViewController10"), time] forState:UIControlStateDisabled]; + [self.codeView.authCodeButton setTitle:[NSString stringWithFormat:YMLocalizedString(@"XPLoginVerifBindPhoneViewController10"), time] forState:UIControlStateDisabled]; } ///倒计时结束 - (void)onCountdownFinish { - self.authCodeBtn.enabled= YES; - [self.authCodeBtn setTitle:YMLocalizedString(@"XPLoginVerifBindPhoneViewController11") forState:UIControlStateNormal]; + self.codeView.authCodeButton.enabled= YES; + [self.codeView.authCodeButton setTitle:YMLocalizedString(@"XPLoginVerifBindPhoneViewController11") forState:UIControlStateNormal]; } #pragma mark - Getters And Setters -- (UIView *)containerView{ - if (!_containerView) { - _containerView = [[UIView alloc] init]; - _containerView.backgroundColor = [DJDKMIMOMColor appBackgroundColor]; - } - return _containerView; -} - -- (UILabel *)areaLabel{ - if (!_areaLabel) { - _areaLabel = [[UILabel alloc] init]; - _areaLabel.text = YMLocalizedString(@"XPLoginVerifBindPhoneViewController12"); - _areaLabel.textColor = [DJDKMIMOMColor secondTextColor]; - _areaLabel.font = [UIFont systemFontOfSize:14.f]; - _areaLabel.adjustsFontSizeToFitWidth = YES; - } - return _areaLabel; -} - -- (UILabel *)areaCodeLabel{ - if (!_areaCodeLabel) { - _areaCodeLabel = [[UILabel alloc] init]; - _areaCodeLabel.text = @"+852"; - _areaCodeLabel.textColor = [DJDKMIMOMColor secondTextColor]; - _areaCodeLabel.font = [UIFont systemFontOfSize:14.f]; - _areaCodeLabel.adjustsFontSizeToFitWidth = YES; - } - return _areaCodeLabel; -} - -- (UIButton *)countryBtn { - if (!_countryBtn) { - _countryBtn = [UIButton buttonWithType:UIButtonTypeCustom]; - [_countryBtn setTitle:YMLocalizedString(@"XPLoginVerifBindPhoneViewController13") forState:UIControlStateNormal]; - [_countryBtn setImage:[UIImage imageNamed:@"mine_item_arrow"] forState:UIControlStateNormal]; - _countryBtn.transform = CGAffineTransformMakeScale(-1.0, 1.0); - _countryBtn.titleLabel.transform = CGAffineTransformMakeScale(-1.0, 1.0); - _countryBtn.imageView.transform = CGAffineTransformMakeScale(-1.0, 1.0); - _countryBtn.imageEdgeInsets = UIEdgeInsetsMake(0, -10, 0, 0); - [_countryBtn setTitleColor:[DJDKMIMOMColor secondTextColor] forState:UIControlStateNormal]; - [_countryBtn.titleLabel setFont:[UIFont systemFontOfSize:14.f]]; - } - return _countryBtn; -} - (UIButton *)confirmBtn { - if (!_confirmBtn) { - _confirmBtn = [UIButton buttonWithType:UIButtonTypeCustom]; - [_confirmBtn setTitle:YMLocalizedString(@"XPLoginVerifBindPhoneViewController14") forState:UIControlStateNormal]; - [_confirmBtn setTitleColor:[DJDKMIMOMColor confirmButtonTextColor] forState:UIControlStateNormal]; - [_confirmBtn setTitleColor:[DJDKMIMOMColor disableButtonTextColor] forState:UIControlStateDisabled]; - [_confirmBtn.titleLabel setFont:[UIFont fontWithName:@"PingFang-SC-Medium" size:18]]; - _confirmBtn.layer.cornerRadius = 22.5f; - _confirmBtn.layer.masksToBounds = YES; - _confirmBtn.enabled = NO; - [_confirmBtn setBackgroundImage:[UIImage gradientColorImageFromColors:@[[DJDKMIMOMColor confirmButtonGradientStartColor], [DJDKMIMOMColor confirmButtonGradientEndColor]] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(10, 10)] forState:UIControlStateNormal]; - [_confirmBtn setBackgroundImage:[UIImage gradientColorImageFromColors:@[[DJDKMIMOMColor disableButtonColor], [DJDKMIMOMColor disableButtonColor]] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(10, 10)] forState:UIControlStateDisabled]; - } - return _confirmBtn; + if (!_confirmBtn) { + _confirmBtn = [UIButton buttonWithType:UIButtonTypeCustom]; + [_confirmBtn setTitle:YMLocalizedString(@"XPLoginVerifBindPhoneViewController14") forState:UIControlStateNormal]; + [_confirmBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; + [_confirmBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateDisabled]; + [_confirmBtn.titleLabel setFont:kFontRegular(16)]; + _confirmBtn.layer.cornerRadius = kGetScaleWidth(23); + _confirmBtn.layer.masksToBounds = YES; + _confirmBtn.enabled = NO; + [_confirmBtn setBackgroundImage:[UIImage gradientColorImageFromColors:@[[DJDKMIMOMColor confirmButtonGradientStartColor], [DJDKMIMOMColor confirmButtonGradientEndColor]] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(10, 10)] forState:UIControlStateNormal]; + + } + return _confirmBtn; } -- (UIButton *)authCodeBtn { - if (!_authCodeBtn) { - _authCodeBtn = [UIButton buttonWithType:UIButtonTypeCustom]; - [_authCodeBtn setTitle:YMLocalizedString(@"XPLoginVerifBindPhoneViewController15") forState:UIControlStateNormal]; - [_authCodeBtn setTitleColor:[DJDKMIMOMColor appMainColor] forState:UIControlStateNormal]; - [_authCodeBtn setTitleColor:[DJDKMIMOMColor secondTextColor] forState:UIControlStateDisabled]; - [_authCodeBtn.titleLabel setFont:[UIFont systemFontOfSize:12.f]]; - } - return _authCodeBtn; +- (LoginForgetEditView *)phoneView { + if (!_phoneView) { + _phoneView = [[LoginForgetEditView alloc] init]; +// _phoneView.placeholder = YMLocalizedString(@"LoginForgetPasswordViewController7"); + _phoneView.type = LoginForgetEditViewTypeNormal; + UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(chooseAreaCodeAction)]; + [_phoneView.codeView addGestureRecognizer:tap]; + } + return _phoneView; } -- (UITextField *)phoneNumTextField { - if (!_phoneNumTextField) { - _phoneNumTextField = [[UITextField alloc] init]; - _phoneNumTextField.textColor = [DJDKMIMOMColor mainTextColor]; - _phoneNumTextField.font = [UIFont systemFontOfSize:14.f]; - _phoneNumTextField.attributedPlaceholder = [[NSAttributedString alloc] initWithString:YMLocalizedString(@"XPLoginVerifBindPhoneViewController16")attributes:@{NSForegroundColorAttributeName: [DJDKMIMOMColor secondTextColor]}]; - _phoneNumTextField.clearButtonMode = UITextFieldViewModeWhileEditing; - _phoneNumTextField.borderStyle = UITextBorderStyleNone; - _phoneNumTextField.keyboardType = UIKeyboardTypeNumberPad; - _phoneNumTextField.tintColor = [DJDKMIMOMColor mainTextColor]; - } - return _phoneNumTextField; -} - - -- (UITextField *)authCodeTextField { - if (!_authCodeTextField) { - _authCodeTextField = [[UITextField alloc] init]; - _authCodeTextField.textColor = [DJDKMIMOMColor mainTextColor]; - _authCodeTextField.font = [UIFont systemFontOfSize:14.f]; - _authCodeTextField.attributedPlaceholder = [[NSAttributedString alloc] initWithString:YMLocalizedString(@"XPLoginVerifBindPhoneViewController17")attributes:@{NSForegroundColorAttributeName: [DJDKMIMOMColor secondTextColor]}]; - _authCodeTextField.clearButtonMode = UITextFieldViewModeWhileEditing; - _authCodeTextField.borderStyle = UITextBorderStyleNone; - _authCodeTextField.keyboardType = UIKeyboardTypeNumberPad; - _authCodeTextField.tintColor = [DJDKMIMOMColor mainTextColor]; - } - return _authCodeTextField; -} - -- (UIView *)areaLineView { - if (!_areaLineView) { - _areaLineView = [[UIView alloc] init]; - _areaLineView.backgroundColor = [DJDKMIMOMColor dividerColor]; - } - return _areaLineView; -} - -- (UIView *)phoneLineView { - if (!_phoneLineView) { - _phoneLineView = [[UIView alloc] init]; - _phoneLineView.backgroundColor = [DJDKMIMOMColor dividerColor]; - } - return _phoneLineView; -} - -- (UIView *)authLineView { - if (!_authLineView) { - _authLineView = [[UIView alloc] init]; - _authLineView.backgroundColor = [DJDKMIMOMColor dividerColor]; - } - return _authLineView; -} - -- (UILabel *)tipsLabel{ - if (!_tipsLabel) { - _tipsLabel = [[UILabel alloc] init]; - _tipsLabel.text = [NSString stringWithFormat:@"如果您的手机号已丢失\n请咨询客服,ID:%@", @"88001"]; - _tipsLabel.textColor = [DJDKMIMOMColor textThirdColor]; - _tipsLabel.font = [UIFont systemFontOfSize:14.f]; - _tipsLabel.adjustsFontSizeToFitWidth = YES; - _tipsLabel.numberOfLines = 0; - _tipsLabel.hidden = YES; - } - return _tipsLabel; +- (LoginForgetEditView *)codeView { + if (!_codeView) { + _codeView = [[LoginForgetEditView alloc] init]; + _codeView.placeholder = YMLocalizedString(@"XPLoginVerifBindPhoneViewController17"); + _codeView.type = LoginForgetEditViewTypeSms; + } + return _codeView; } @end diff --git a/YuMi/Modules/YMMine/Presenter/XPMineVerifIdentityPresenter.h b/YuMi/Modules/YMMine/Presenter/XPMineVerifIdentityPresenter.h index 9f2662aa..bafa349c 100644 --- a/YuMi/Modules/YMMine/Presenter/XPMineVerifIdentityPresenter.h +++ b/YuMi/Modules/YMMine/Presenter/XPMineVerifIdentityPresenter.h @@ -20,7 +20,7 @@ NS_ASSUME_NONNULL_BEGIN /// 校验手机验证码接口 /// @param moblieNum 手机号码 /// @param code 验证码 -- (void)checkMoblieCodeWithMoblie:(NSString *)moblieNum code:(NSString *)code; +- (void)checkMoblieCodeWithMoblie:(NSString *)moblieNum code:(NSString *)code phoneAreaCode:(NSString *)phoneAreaCode; @end NS_ASSUME_NONNULL_END diff --git a/YuMi/Modules/YMMine/Presenter/XPMineVerifIdentityPresenter.m b/YuMi/Modules/YMMine/Presenter/XPMineVerifIdentityPresenter.m index f6b05135..17b16c50 100644 --- a/YuMi/Modules/YMMine/Presenter/XPMineVerifIdentityPresenter.m +++ b/YuMi/Modules/YMMine/Presenter/XPMineVerifIdentityPresenter.m @@ -35,13 +35,13 @@ /// 校验手机验证码接口 /// @param moblieNum 手机号码 /// @param code 验证码 -- (void)checkMoblieCodeWithMoblie:(NSString *)moblieNum code:(NSString *)code { +- (void)checkMoblieCodeWithMoblie:(NSString *)moblieNum code:(NSString *)code phoneAreaCode:(NSString *)phoneAreaCode{ NSString * uid = [[AccountInfoStorage instance] getUid]; NSString * ticket = [[AccountInfoStorage instance] getTicket]; NSString * desPhone = [DESEncrypt encryptUseDES:moblieNum key:KeyWithType(KeyType_PasswordEncode)]; [Api checkMoblieCode:[self createHttpCompletion:^(BaseModel * _Nonnull data) { [[self getView] checkMoblieCodeWithMoblieSuccess]; - }] mobile:desPhone code:code uid:uid ticket:ticket]; + }] mobile:desPhone code:code uid:uid ticket:ticket phoneAreaCode:phoneAreaCode]; } @end diff --git a/YuMi/Modules/YMMine/View/IncomeRecord/XPIncomeRecordVC.m b/YuMi/Modules/YMMine/View/IncomeRecord/XPIncomeRecordVC.m index 0371d32a..5810a265 100644 --- a/YuMi/Modules/YMMine/View/IncomeRecord/XPIncomeRecordVC.m +++ b/YuMi/Modules/YMMine/View/IncomeRecord/XPIncomeRecordVC.m @@ -29,7 +29,7 @@ ///金币 @property (nonatomic,strong) XPIncomeRecordView *goldView; ///model -@property (nonatomic,strong) XPIncomeRecordModel *recordModel; +@property (nonatomic,strong) XPIncomeRecordModel *recordModel; @end @implementation XPIncomeRecordVC @@ -63,7 +63,7 @@ [self.goldView mas_makeConstraints:^(MASConstraintMaker *make) { make.left.right.equalTo(self.diamondView); make.top.equalTo(self.diamondView.mas_bottom).mas_offset(kGetScaleWidth(20)); - make.height.mas_equalTo(!self.goldView.isClanPresident ? kGetScaleWidth( 144) : kGetScaleWidth(90)); + make.height.mas_equalTo( kGetScaleWidth(144)); }]; } #pragma mark - XPExchangeDiamondsVCDelegate @@ -92,15 +92,15 @@ self.goldView.hidden = self.recordModel.roomType == 4; self.diamondView.number = @(model.diamonds).stringValue; self.goldView.number = [NSString stringWithFormat:@"%.2f",model.golds]; - NSString * myUid = [AccountInfoStorage instance].getUid; - if(![self.clanInfo.clan.elderUid isEqualToString:myUid]){ - self.goldView.isClanPresident = !self.recordModel.hasGoldExchangeAuth; - if(self.recordModel.hasGoldExchangeAuth == YES){ - [self.goldView mas_updateConstraints:^(MASConstraintMaker *make) { - make.height.mas_equalTo(kGetScaleWidth( 144)); - }]; - } - } + // NSString * myUid = [AccountInfoStorage instance].getUid; + // if(![self.clanInfo.clan.elderUid isEqualToString:myUid]){ + // self.goldView.isClanPresident = !self.recordModel.hasGoldExchangeAuth; + // if(self.recordModel.hasGoldExchangeAuth == YES){ + // [self.goldView mas_updateConstraints:^(MASConstraintMaker *make) { + // make.height.mas_equalTo(kGetScaleWidth( 144)); + // }]; + // } + // } } @@ -117,7 +117,7 @@ } case ClickType_Diamond_Pay: { - XPIAPRechargeViewController * webVC =[[XPIAPRechargeViewController alloc] init]; + XPIAPRechargeViewController * webVC =[[XPIAPRechargeViewController alloc] init]; [self.navigationController pushViewController:webVC animated:YES]; break; } @@ -131,12 +131,21 @@ } [self showLoading]; [self.presenter getExchangeDiamondInformation]; - + break; } default: { + + NSString * myUid = [AccountInfoStorage instance].getUid; + if(![self.clanInfo.clan.elderUid isEqualToString:myUid]){ + XPWebViewController * webVC =[[XPWebViewController alloc] init]; + webVC.url = URLWithType(kGoldEarningsRecord); + [self.navigationController pushViewController:webVC animated:YES]; + return; + + } XPIncomeRecordGoldDetailsVC *goldDetailVC = [XPIncomeRecordGoldDetailsVC new]; [self.navigationController pushViewController:goldDetailVC animated:YES]; break; diff --git a/YuMi/Modules/YMMine/View/IncomeRecord/XPIncomeRecordView.m b/YuMi/Modules/YMMine/View/IncomeRecord/XPIncomeRecordView.m index a45e1d59..11261c77 100644 --- a/YuMi/Modules/YMMine/View/IncomeRecord/XPIncomeRecordView.m +++ b/YuMi/Modules/YMMine/View/IncomeRecord/XPIncomeRecordView.m @@ -90,8 +90,8 @@ } -(void)setIsClanPresident:(BOOL)isClanPresident{ _isClanPresident = isClanPresident; - _exchangeBtn.hidden = _isClanPresident; - _detailView.hidden = !_isClanPresident; +// _exchangeBtn.hidden = _isClanPresident; +// _detailView.hidden = !_isClanPresident; } #pragma mark - btnClick -(void)clickDetailViewAction{ diff --git a/YuMi/Modules/YMMine/View/Setting/XPMineLoginPasswordViewController.m b/YuMi/Modules/YMMine/View/Setting/XPMineLoginPasswordViewController.m index 8f482a94..5a03e7b7 100644 --- a/YuMi/Modules/YMMine/View/Setting/XPMineLoginPasswordViewController.m +++ b/YuMi/Modules/YMMine/View/Setting/XPMineLoginPasswordViewController.m @@ -1,8 +1,8 @@ // -// YMMineLoginPasswordViewController.m -// YUMI +// XPMineLoginPasswordViewController.m +// xplan-ios // -// Created by YUMI on 2022/4/25. +// Created by 冯硕 on 2022/4/25. // #import "XPMineLoginPasswordViewController.h" @@ -10,7 +10,7 @@ #import #import ///Tool -#import "DJDKMIMOMColor.h" + #import "UIButton+EnlargeTouchArea.h" #import "UIImage+Utils.h" ///Model @@ -22,6 +22,7 @@ #import "XPMineLoginPasswordProtocol.h" ///VC #import "XPMineSettingViewController.h" +#import "LoginForgetPasswordViewController.h" #import "XPMineResetLoginPwdViewController.h" @interface XPMineLoginPasswordViewController () @@ -50,194 +51,200 @@ @implementation XPMineLoginPasswordViewController - (XPMineLoginPasswordPresenter *)createPresenter { - return [[XPMineLoginPasswordPresenter alloc] init]; + return [[XPMineLoginPasswordPresenter alloc] init]; } - (void)viewDidLoad { - [super viewDidLoad]; - [self initSubViews]; - [self initSubViewConstraints]; + [super viewDidLoad]; + [self initSubViews]; + [self initSubViewConstraints]; } #pragma mark - Private Method - (void)initSubViews { - [self.view addSubview:self.stackView]; - [self.view addSubview:self.limitLabel]; - [self.view addSubview:self.forgetButton]; - [self.view addSubview:self.submitButton]; - [self.stackView addArrangedSubview:self.currentPwdView]; - [self.stackView addArrangedSubview:self.newsPwdView]; - [self.stackView addArrangedSubview:self.checkPwdView]; + self.view.backgroundColor = [UIColor whiteColor]; + [self.view addSubview:self.stackView]; + [self.view addSubview:self.limitLabel]; + [self.view addSubview:self.forgetButton]; + [self.view addSubview:self.submitButton]; + [self.stackView addArrangedSubview:self.currentPwdView]; + [self.stackView addArrangedSubview:self.newsPwdView]; + [self.stackView addArrangedSubview:self.checkPwdView]; } - (void)initSubViewConstraints { - [self.stackView mas_makeConstraints:^(MASConstraintMaker *make) { - make.left.right.top.mas_equalTo(self.view); - }]; - - [self.limitLabel mas_makeConstraints:^(MASConstraintMaker *make) { - make.left.mas_equalTo(self.view).offset(15); - make.top.mas_equalTo(self.stackView.mas_bottom).offset(10); - }]; - - [self.forgetButton mas_makeConstraints:^(MASConstraintMaker *make) { - make.right.mas_equalTo(self.view).offset(-15); - make.top.mas_equalTo(self.submitButton.mas_bottom).offset(15); - }]; - [self.submitButton mas_makeConstraints:^(MASConstraintMaker *make) { - make.top.mas_equalTo(self.limitLabel.mas_bottom).offset(20); - make.right.mas_equalTo(self.view).offset(-32); - make.left.mas_equalTo(self.view).offset(32); - make.height.mas_equalTo(45); - }]; + [self.stackView mas_makeConstraints:^(MASConstraintMaker *make) { + make.leading.trailing.mas_equalTo(self.view); + make.top.mas_equalTo(30); + }]; + + [self.limitLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.leading.mas_equalTo(self.view).offset(20); + make.trailing.mas_equalTo(-20); + make.top.mas_equalTo(self.stackView.mas_bottom).offset(10); + }]; + + [self.forgetButton mas_makeConstraints:^(MASConstraintMaker *make) { + make.trailing.mas_equalTo(self.view).offset(-20); + make.top.mas_equalTo(self.submitButton.mas_bottom).offset(15); + }]; + [self.submitButton mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.mas_equalTo(self.limitLabel.mas_bottom).offset(20); + make.trailing.mas_equalTo(self.view).offset(-32); + make.leading.mas_equalTo(self.view).offset(32); + make.height.mas_equalTo(45); + }]; } #pragma mark - XPMineLoginPasswordProtocol - (void)setLoginPasswordSuccess { - [self showSuccessToast:YMLocalizedString(@"XPMineLoginPasswordViewController0")]; - [self.navigationController popViewControllerAnimated:YES]; + [self showSuccessToast:YMLocalizedString(@"XPMineLoginPasswordViewController0")]; + [self.navigationController popViewControllerAnimated:YES]; } - (void)modifyLoginPasswordSuccess { - [self showSuccessToast:YMLocalizedString(@"XPMineLoginPasswordViewController1")]; - [self.navigationController popViewControllerAnimated:YES]; + [self showSuccessToast:YMLocalizedString(@"XPMineLoginPasswordViewController1")]; + [self.navigationController popViewControllerAnimated:YES]; } #pragma mark - Event Response - (void)forgetButtonAction:(UIButton *)sender { - XPMineResetLoginPwdViewController * VC= [[XPMineResetLoginPwdViewController alloc] init]; - VC.userInfo = self.userInfo; - [self.navigationController pushViewController:VC animated:YES]; + + LoginForgetPasswordViewController *forgetPawVC = [LoginForgetPasswordViewController new]; + forgetPawVC.isLogout = YES; + [self.navigationController pushViewController:forgetPawVC animated:YES]; + } - (void)submitButtonAction:(UIButton *)sender { - if (![self.newsPwdView.contentTextField.text isEqualToString:self.checkPwdView.contentTextField.text]) { - [self showErrorToast:YMLocalizedString(@"XPMineLoginPasswordViewController2")]; - return; - } - if (self.isModifiPwd) { - [self.presenter modifyLoginPassword:self.userInfo.phone newPwd:self.newsPwd pwd:self.currentPwd]; - } else { - [self.presenter setLoginPassword:self.userInfo.phone newPwd:self.newsPwd]; - } + if (![self.newsPwdView.contentTextField.text isEqualToString:self.checkPwdView.contentTextField.text]) { + [self showErrorToast:YMLocalizedString(@"XPMineLoginPasswordViewController2")]; + return; + } + if (self.isModifiPwd) { + [self.presenter modifyLoginPassword:self.userInfo.phone newPwd:self.newsPwd pwd:self.currentPwd]; + } else { + [self.presenter setLoginPassword:self.userInfo.phone newPwd:self.newsPwd]; + } } - (void)textFieldDidChange:(UITextField *)textfield { - if (textfield == self.currentPwdView.contentTextField) { - self.currentPwd = textfield.text; - } else if (textfield == self.newsPwdView.contentTextField) { - self.newsPwd = textfield.text; - } else { - self.checkPwd = textfield.text; - } - - if (self.isModifiPwd) { - if (self.currentPwd.length >= 6 && self.newsPwd.length >= 6 && self.checkPwd.length >= 6) { - self.submitButton.enabled = YES; - } else { - self.submitButton.enabled = NO; - } - } else { - if (self.newsPwd.length >= 6 && self.checkPwd.length >= 6) { - self.submitButton.enabled = YES; - } else { - self.submitButton.enabled = NO; - } - } + if (textfield == self.currentPwdView.contentTextField) { + self.currentPwd = textfield.text; + } else if (textfield == self.newsPwdView.contentTextField) { + self.newsPwd = textfield.text; + } else { + self.checkPwd = textfield.text; + } + + if (self.isModifiPwd) { + if (self.currentPwd.length >= 6 && self.newsPwd.length >= 6 && self.checkPwd.length >= 6) { + self.submitButton.enabled = YES; + } else { + self.submitButton.enabled = NO; + } + } else { + if (self.newsPwd.length >= 6 && self.checkPwd.length >= 6) { + self.submitButton.enabled = YES; + } else { + self.submitButton.enabled = NO; + } + } } #pragma mark - Getters And Setters - (void)setIsModifiPwd:(BOOL)isModifiPwd { - _isModifiPwd = isModifiPwd; - if (_isModifiPwd) { - self.currentPwdView.hidden = NO; - self.currentPwdView.placeholder = YMLocalizedString(@"XPMineLoginPasswordViewController3"); - self.newsPwdView.placeholder = YMLocalizedString(@"XPMineLoginPasswordViewController4"); - self.checkPwdView.placeholder = YMLocalizedString(@"XPMineLoginPasswordViewController5"); - self.title = YMLocalizedString(@"XPMineLoginPasswordViewController6"); - } else { - self.currentPwdView.hidden = YES; - self.newsPwdView.placeholder = YMLocalizedString(@"XPMineLoginPasswordViewController7"); - self.checkPwdView.placeholder = YMLocalizedString(@"XPMineLoginPasswordViewController8"); - self.forgetButton.hidden = YES; - self.title = YMLocalizedString(@"XPMineLoginPasswordViewController9"); - } - self.currentPwdView.hidden = !_isModifiPwd; + _isModifiPwd = isModifiPwd; + if (_isModifiPwd) { + self.currentPwdView.hidden = NO; + self.currentPwdView.placeholder = YMLocalizedString(@"XPMineLoginPasswordViewController3"); + self.newsPwdView.placeholder = YMLocalizedString(@"XPMineLoginPasswordViewController4"); + self.checkPwdView.placeholder = YMLocalizedString(@"XPMineLoginPasswordViewController5"); + self.title = YMLocalizedString(@"XPMineLoginPasswordViewController6"); + } else { + self.currentPwdView.hidden = YES; + self.newsPwdView.placeholder = YMLocalizedString(@"XPMineLoginPasswordViewController7"); + self.checkPwdView.placeholder = YMLocalizedString(@"XPMineLoginPasswordViewController8"); + self.forgetButton.hidden = YES; + self.title = YMLocalizedString(@"XPMineLoginPasswordViewController9"); + } + self.currentPwdView.hidden = !_isModifiPwd; } - (UIStackView *)stackView { - if (!_stackView) { - _stackView = [[UIStackView alloc] init]; - _stackView.axis = UILayoutConstraintAxisVertical; - _stackView.distribution = UIStackViewDistributionFill; - _stackView.alignment = UIStackViewAlignmentFill; - _stackView.spacing = 0; - } - return _stackView; + if (!_stackView) { + _stackView = [[UIStackView alloc] init]; + _stackView.axis = UILayoutConstraintAxisVertical; + _stackView.distribution = UIStackViewDistributionFill; + _stackView.alignment = UIStackViewAlignmentFill; + _stackView.spacing = 25; + } + return _stackView; } - (XPMineModifPayPwdView *)currentPwdView { - if (!_currentPwdView) { - _currentPwdView = [[XPMineModifPayPwdView alloc] init]; - [_currentPwdView.contentTextField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged]; - _currentPwdView.hidden = YES; - } - return _currentPwdView; + if (!_currentPwdView) { + _currentPwdView = [[XPMineModifPayPwdView alloc] init]; + [_currentPwdView.contentTextField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged]; + _currentPwdView.hidden = YES; + } + return _currentPwdView; } - (XPMineModifPayPwdView *)newsPwdView { - if (!_newsPwdView) { - _newsPwdView = [[XPMineModifPayPwdView alloc] init]; - [_newsPwdView.contentTextField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged]; - } - return _newsPwdView; + if (!_newsPwdView) { + _newsPwdView = [[XPMineModifPayPwdView alloc] init]; + [_newsPwdView.contentTextField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged]; + } + return _newsPwdView; } - (XPMineModifPayPwdView *)checkPwdView { - if (!_checkPwdView) { - _checkPwdView = [[XPMineModifPayPwdView alloc] init]; - [_checkPwdView.contentTextField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged]; - } - return _checkPwdView; + if (!_checkPwdView) { + _checkPwdView = [[XPMineModifPayPwdView alloc] init]; + [_checkPwdView.contentTextField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged]; + } + return _checkPwdView; } - (UIButton *)submitButton { - if (!_submitButton) { - _submitButton = [UIButton buttonWithType:UIButtonTypeCustom]; - [_submitButton setTitleColor:[DJDKMIMOMColor confirmButtonTextColor] forState:UIControlStateNormal]; - [_submitButton setTitleColor:[DJDKMIMOMColor disableButtonTextColor] forState:UIControlStateDisabled]; - [_submitButton setTitle:YMLocalizedString(@"XPMineLoginPasswordViewController10") forState:UIControlStateNormal]; - _submitButton.titleLabel.font = [UIFont fontWithName:@"PingFang-SC-Medium" size:18]; - _submitButton.layer.masksToBounds = YES; - _submitButton.layer.cornerRadius = 45/2; - _submitButton.enabled = YES; - [_submitButton setBackgroundImage:[UIImage gradientColorImageFromColors:@[[DJDKMIMOMColor confirmButtonGradientStartColor], [DJDKMIMOMColor confirmButtonGradientEndColor]] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(10, 10)] forState:UIControlStateNormal]; - [_submitButton setBackgroundImage:[UIImage gradientColorImageFromColors:@[[DJDKMIMOMColor disableButtonColor], [DJDKMIMOMColor disableButtonColor]] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(10, 10)] forState:UIControlStateDisabled]; - [_submitButton addTarget:self action:@selector(submitButtonAction:) forControlEvents:UIControlEventTouchUpInside]; - } - return _submitButton; + if (!_submitButton) { + _submitButton = [UIButton buttonWithType:UIButtonTypeCustom]; + [_submitButton setTitleColor:[DJDKMIMOMColor confirmButtonTextColor] forState:UIControlStateNormal]; + [_submitButton setTitleColor:[DJDKMIMOMColor disableButtonTextColor] forState:UIControlStateDisabled]; + [_submitButton setTitle:YMLocalizedString(@"XPMineLoginPasswordViewController10") forState:UIControlStateNormal]; + _submitButton.titleLabel.font = [UIFont fontWithName:@"PingFang-SC-Medium" size:18]; + _submitButton.layer.masksToBounds = YES; + _submitButton.layer.cornerRadius = 45/2; + [_submitButton setBackgroundImage:[UIImage gradientColorImageFromColors:@[[DJDKMIMOMColor confirmButtonGradientStartColor], [DJDKMIMOMColor confirmButtonGradientEndColor]] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(10, 10)] forState:UIControlStateNormal]; + [_submitButton setBackgroundImage:[UIImage gradientColorImageFromColors:@[[DJDKMIMOMColor disableButtonColor], [DJDKMIMOMColor disableButtonColor]] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(10, 10)] forState:UIControlStateDisabled]; + [_submitButton addTarget:self action:@selector(submitButtonAction:) forControlEvents:UIControlEventTouchUpInside]; + _submitButton.enabled = NO; + } + return _submitButton; } - (UIButton *)forgetButton { - if (!_forgetButton) { - _forgetButton = [UIButton buttonWithType:UIButtonTypeCustom]; - [_forgetButton setEnlargeEdgeWithTop:5 right:5 bottom:5 left:5]; - [_forgetButton setTitleColor:[DJDKMIMOMColor secondTextColor] forState:UIControlStateNormal]; - [_forgetButton setTitle:@"忘记密码?" forState:UIControlStateNormal]; - _forgetButton.titleLabel.font = [UIFont systemFontOfSize:13]; - [_forgetButton addTarget:self action:@selector(forgetButtonAction:) forControlEvents:UIControlEventTouchUpInside]; - } - return _forgetButton; + if (!_forgetButton) { + _forgetButton = [UIButton buttonWithType:UIButtonTypeCustom]; + [_forgetButton setEnlargeEdgeWithTop:5 right:5 bottom:5 left:5]; + [_forgetButton setTitleColor:[DJDKMIMOMColor secondTextColor] forState:UIControlStateNormal]; + [_forgetButton setTitle:YMLocalizedString(@"XPMineLoginPasswordViewController11") forState:UIControlStateNormal]; + _forgetButton.titleLabel.font = [UIFont systemFontOfSize:13]; + [_forgetButton addTarget:self action:@selector(forgetButtonAction:) forControlEvents:UIControlEventTouchUpInside]; + } + return _forgetButton; } - (UILabel *)limitLabel { - if (!_limitLabel) { - _limitLabel = [[UILabel alloc] init]; - _limitLabel.font = [UIFont systemFontOfSize:13]; - _limitLabel.textColor = [DJDKMIMOMColor secondTextColor]; - _limitLabel.text = @"密码必须使用6-16个字符内的数字和英文字母组合哦!"; - } - return _limitLabel; + if (!_limitLabel) { + _limitLabel = [[UILabel alloc] init]; + _limitLabel.font = [UIFont systemFontOfSize:13]; + _limitLabel.textColor = [DJDKMIMOMColor secondTextColor]; + _limitLabel.text = YMLocalizedString(@"XPMineLoginPasswordViewController12"); + _limitLabel.numberOfLines = 0; + } + return _limitLabel; } @end diff --git a/YuMi/Modules/YMMine/View/Setting/XPMineModifPayPwdViewController.m b/YuMi/Modules/YMMine/View/Setting/XPMineModifPayPwdViewController.m index 4eac4411..9d37492d 100644 --- a/YuMi/Modules/YMMine/View/Setting/XPMineModifPayPwdViewController.m +++ b/YuMi/Modules/YMMine/View/Setting/XPMineModifPayPwdViewController.m @@ -1,8 +1,8 @@ // -// YMMineModifPayPwdViewController.m -// YUMI +// XPMineModifPayPwdViewController.m +// xplan-ios // -// Created by YUMI on 2021/9/18. +// Created by 冯硕 on 2021/9/18. // #import "XPMineModifPayPwdViewController.h" @@ -10,7 +10,7 @@ #import #import ///Tool -#import "DJDKMIMOMColor.h" + #import "UIButton+EnlargeTouchArea.h" #import "UIImage+Utils.h" ///View @@ -40,159 +40,174 @@ @implementation XPMineModifPayPwdViewController - (XPMineModifPayPwdPresenter *)createPresenter { - return [[XPMineModifPayPwdPresenter alloc] init]; + return [[XPMineModifPayPwdPresenter alloc] init]; } - (void)viewDidLoad { [super viewDidLoad]; - [self initSubViews]; - [self initSubViewConstraints]; - [self initEvents]; + [self initSubViews]; + [self initSubViewConstraints]; + [self initEvents]; } #pragma mark - Private Method - (void)initSubViews { - self.title = YMLocalizedString(@"XPMineModifPayPwdViewController0"); - [self.view addSubview:self.stackView]; - [self.view addSubview:self.forgetBtn]; - [self.view addSubview:self.submitBtn]; - [self.stackView addArrangedSubview:self.currentPwdView]; - [self.stackView addArrangedSubview:self.newsPwdView]; - [self.stackView addArrangedSubview:self.checkPwdView]; + self.view.backgroundColor = [UIColor whiteColor]; + self.title = YMLocalizedString(@"XPMineModifPayPwdViewController0"); + [self.view addSubview:self.stackView]; + [self.view addSubview:self.forgetBtn]; + [self.view addSubview:self.submitBtn]; + [self.stackView addArrangedSubview:self.currentPwdView]; + [self.stackView addArrangedSubview:self.newsPwdView]; + [self.stackView addArrangedSubview:self.checkPwdView]; } - (void)initSubViewConstraints { - [self.stackView mas_makeConstraints:^(MASConstraintMaker *make) { - make.left.right.top.mas_equalTo(self.view); - }]; - - [self.forgetBtn mas_makeConstraints:^(MASConstraintMaker *make) { - make.right.mas_equalTo(self.view).offset(-32); - make.top.mas_equalTo(self.stackView.mas_bottom).offset(8); - }]; - [self.submitBtn mas_makeConstraints:^(MASConstraintMaker *make) { - make.top.mas_equalTo(self.stackView.mas_bottom).offset(45); - make.right.mas_equalTo(self.view).offset(-32); - make.left.mas_equalTo(self.view).offset(32); - make.height.mas_equalTo(45); - }]; + [self.stackView mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.mas_equalTo(30); + make.leading.trailing.mas_equalTo(self.view); + }]; + + [self.forgetBtn mas_makeConstraints:^(MASConstraintMaker *make) { + make.trailing.mas_equalTo(self.view).offset(-32); + make.top.mas_equalTo(self.stackView.mas_bottom).offset(8); + }]; + [self.submitBtn mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.mas_equalTo(275); + make.trailing.mas_equalTo(self.view).offset(-15); + make.leading.mas_equalTo(self.view).offset(15); + make.height.mas_equalTo(46); + }]; } - (void)initEvents { - RAC(self.submitBtn, enabled) = [RACSignal combineLatest:@[self.currentPwdView.contentTextField.rac_textSignal, self.newsPwdView.contentTextField.rac_textSignal, self.checkPwdView.contentTextField.rac_textSignal] reduce:^id _Nonnull(NSString *currentPassword, NSString *newsPassword, NSString *checkPassword){ - return @(currentPassword.length == 6 && newsPassword.length == 6 && checkPassword.length == 6); - }]; + RAC(self.submitBtn, enabled) = [RACSignal combineLatest:@[self.currentPwdView.contentTextField.rac_textSignal, self.newsPwdView.contentTextField.rac_textSignal, self.checkPwdView.contentTextField.rac_textSignal] reduce:^id _Nonnull(NSString *currentPassword, NSString *newsPassword, NSString *checkPassword){ + return @(currentPassword.length == 6 && newsPassword.length == 6 && checkPassword.length == 6); + }]; } ///判断一个字符串是纯数字 - (BOOL)isPureNum:(NSString *)text { - if (!text) { - return NO; - } - NSScanner *scan = [NSScanner scannerWithString:text]; - int val; - return [scan scanInt:&val] && [scan isAtEnd]; + if (!text) { + return NO; + } + NSScanner *scan = [NSScanner scannerWithString:text]; + int val; + return [scan scanInt:&val] && [scan isAtEnd]; } #pragma mark - XPMineModifPayProtocol - (void)modifPayPasswordSuccess { - [self showSuccessToast:YMLocalizedString(@"XPMineModifPayPwdViewController1")]; - for (UIViewController *VC in self.navigationController.viewControllers) { - if ([VC isKindOfClass:[XPMineSettingViewController class]]) { - [self.navigationController popToViewController:VC animated:YES]; - return; - } - } - [self.navigationController popViewControllerAnimated:YES]; + [self showSuccessToast:YMLocalizedString(@"XPMineModifPayPwdViewController1")]; + for (UIViewController *VC in self.navigationController.viewControllers) { + if ([VC isKindOfClass:[XPMineSettingViewController class]]) { + [self.navigationController popToViewController:VC animated:YES]; + return; + } + } + [self.navigationController popViewControllerAnimated:YES]; } #pragma mark - Event Response - (void)forgetBtnAction:(UIButton *)sender { - XPMineVerifIdentityViewController * VC= [[XPMineVerifIdentityViewController alloc] init]; - VC.userInfo = self.userInfo; - [self.navigationController pushViewController:VC animated:YES]; + + TTAlertConfig * config = [[TTAlertConfig alloc] init]; + config.title = YMLocalizedString(@"PKIDLoginViewController2"); + config.message = YMLocalizedString(@"PKIDLoginViewController3"); + config.actionStyle = TTAlertActionConfirmStyle; + config.confirmButtonConfig.title = YMLocalizedString(@"PKIDLoginViewController4"); + [TTPopup alertWithConfig:config confirmHandler:^{ + + } cancelHandler:^{ + + }]; + + return; + XPMineVerifIdentityViewController * VC= [[XPMineVerifIdentityViewController alloc] init]; + VC.userInfo = self.userInfo; + [self.navigationController pushViewController:VC animated:YES]; } - (void)submitBtnAction:(UIButton *)sender { - if (![self.newsPwdView.contentTextField.text isEqual:self.checkPwdView.contentTextField.text]) { - [self showErrorToast:YMLocalizedString(@"XPMineModifPayPwdViewController2")]; - return; - } - - if (![self isPureNum:self.checkPwdView.contentTextField.text] || ![self isPureNum:self.newsPwdView.contentTextField.text]) { - [self showErrorToast:YMLocalizedString(@"XPMineModifPayPwdViewController3")]; - return; - } - - [self.presenter modifyPaymentPasswordWitholdPassword:self.currentPwdView.contentTextField.text newPassword:self.newsPwdView.contentTextField.text]; + if (![self.newsPwdView.contentTextField.text isEqual:self.checkPwdView.contentTextField.text]) { + [self showErrorToast:YMLocalizedString(@"XPMineModifPayPwdViewController2")]; + return; + } + + if (![self isPureNum:self.checkPwdView.contentTextField.text] || ![self isPureNum:self.newsPwdView.contentTextField.text]) { + [self showErrorToast:YMLocalizedString(@"XPMineModifPayPwdViewController3")]; + return; + } + + [self.presenter modifyPaymentPasswordWitholdPassword:self.currentPwdView.contentTextField.text newPassword:self.newsPwdView.contentTextField.text]; } #pragma mark - Getters And Setters - (UIStackView *)stackView { - if (!_stackView) { - _stackView = [[UIStackView alloc] init]; - _stackView.axis = UILayoutConstraintAxisVertical; - _stackView.distribution = UIStackViewDistributionFill; - _stackView.alignment = UIStackViewAlignmentFill; - _stackView.spacing = 0; - } - return _stackView; + if (!_stackView) { + _stackView = [[UIStackView alloc] init]; + _stackView.axis = UILayoutConstraintAxisVertical; + _stackView.distribution = UIStackViewDistributionFill; + _stackView.alignment = UIStackViewAlignmentFill; + _stackView.spacing = 25; + } + return _stackView; } - (XPMineModifPayPwdView *)currentPwdView { - if (!_currentPwdView) { - _currentPwdView = [[XPMineModifPayPwdView alloc] init]; - _currentPwdView.placeholder = YMLocalizedString(@"XPMineModifPayPwdViewController4"); - _currentPwdView.contentTextField.keyboardType = UIKeyboardTypeNumberPad; - } - return _currentPwdView; + if (!_currentPwdView) { + _currentPwdView = [[XPMineModifPayPwdView alloc] init]; + _currentPwdView.placeholder = YMLocalizedString(@"XPMineModifPayPwdViewController4"); + _currentPwdView.contentTextField.keyboardType = UIKeyboardTypeNumberPad; + } + return _currentPwdView; } - (XPMineModifPayPwdView *)newsPwdView { - if (!_newsPwdView) { - _newsPwdView = [[XPMineModifPayPwdView alloc] init]; - _newsPwdView.placeholder = YMLocalizedString(@"XPMineModifPayPwdViewController5"); - _newsPwdView.contentTextField.keyboardType = UIKeyboardTypeNumberPad; - } - return _newsPwdView; + if (!_newsPwdView) { + _newsPwdView = [[XPMineModifPayPwdView alloc] init]; + _newsPwdView.placeholder = YMLocalizedString(@"XPMineModifPayPwdViewController5"); + _newsPwdView.contentTextField.keyboardType = UIKeyboardTypeNumberPad; + } + return _newsPwdView; } - (XPMineModifPayPwdView *)checkPwdView { - if (!_checkPwdView) { - _checkPwdView = [[XPMineModifPayPwdView alloc] init]; - _checkPwdView.placeholder = YMLocalizedString(@"XPMineModifPayPwdViewController6"); - _checkPwdView.contentTextField.keyboardType = UIKeyboardTypeNumberPad; - } - return _checkPwdView; + if (!_checkPwdView) { + _checkPwdView = [[XPMineModifPayPwdView alloc] init]; + _checkPwdView.placeholder = YMLocalizedString(@"XPMineModifPayPwdViewController6"); + _checkPwdView.contentTextField.keyboardType = UIKeyboardTypeNumberPad; + } + return _checkPwdView; } - (UIButton *)submitBtn { - if (!_submitBtn) { - _submitBtn = [UIButton buttonWithType:UIButtonTypeCustom]; - [_submitBtn setTitleColor:[DJDKMIMOMColor confirmButtonTextColor] forState:UIControlStateNormal]; - [_submitBtn setTitleColor:[DJDKMIMOMColor disableButtonTextColor] forState:UIControlStateDisabled]; - [_submitBtn setTitle:YMLocalizedString(@"XPMineModifPayPwdViewController7") forState:UIControlStateNormal]; - _submitBtn.titleLabel.font = [UIFont fontWithName:@"PingFang-SC-Medium" size:18]; - _submitBtn.layer.masksToBounds = YES; - _submitBtn.layer.cornerRadius = 45/2; - _submitBtn.enabled = YES; - [_submitBtn setBackgroundImage:[UIImage gradientColorImageFromColors:@[[DJDKMIMOMColor confirmButtonGradientStartColor], [DJDKMIMOMColor confirmButtonGradientEndColor]] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(10, 10)] forState:UIControlStateNormal]; - [_submitBtn setBackgroundImage:[UIImage gradientColorImageFromColors:@[[DJDKMIMOMColor disableButtonColor], [DJDKMIMOMColor disableButtonColor]] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(10, 10)] forState:UIControlStateDisabled]; - [_submitBtn addTarget:self action:@selector(submitBtnAction:) forControlEvents:UIControlEventTouchUpInside]; - } - return _submitBtn; + if (!_submitBtn) { + _submitBtn = [UIButton buttonWithType:UIButtonTypeCustom]; + [_submitBtn setTitleColor:[DJDKMIMOMColor disableButtonTextColor] forState:UIControlStateDisabled]; + [_submitBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; + [_submitBtn setTitle:YMLocalizedString(@"XPMineModifPayPwdViewController7") forState:UIControlStateNormal]; + _submitBtn.titleLabel.font = [UIFont systemFontOfSize:16 weight:UIFontWeightRegular]; + _submitBtn.layer.masksToBounds = YES; + _submitBtn.layer.cornerRadius = 45/2; + _submitBtn.enabled = YES; + [_submitBtn setBackgroundImage:[UIImage gradientColorImageFromColors:@[[DJDKMIMOMColor disableButtonColor], [DJDKMIMOMColor disableButtonColor]] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(10, 10)] forState:UIControlStateDisabled]; + [_submitBtn setBackgroundImage:[UIImage gradientColorImageFromColors:@[[DJDKMIMOMColor confirmButtonGradientStartColor],[DJDKMIMOMColor confirmButtonGradientMiddleColor],[DJDKMIMOMColor confirmButtonGradientEndColor]] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(10, 10)] forState:UIControlStateNormal]; + [_submitBtn addTarget:self action:@selector(submitBtnAction:) forControlEvents:UIControlEventTouchUpInside]; + } + return _submitBtn; } - (UIButton *)forgetBtn { - if (!_forgetBtn) { - _forgetBtn = [UIButton buttonWithType:UIButtonTypeCustom]; - [_forgetBtn setEnlargeEdgeWithTop:5 right:5 bottom:5 left:5]; - [_forgetBtn setTitleColor:[DJDKMIMOMColor secondTextColor] forState:UIControlStateNormal]; - [_forgetBtn setTitle:@"忘记密码?" forState:UIControlStateNormal]; - _forgetBtn.titleLabel.font = [UIFont systemFontOfSize:13]; - [_forgetBtn addTarget:self action:@selector(forgetBtnAction:) forControlEvents:UIControlEventTouchUpInside]; - } - return _forgetBtn; + if (!_forgetBtn) { + _forgetBtn = [UIButton buttonWithType:UIButtonTypeCustom]; + [_forgetBtn setEnlargeEdgeWithTop:5 right:5 bottom:5 left:5]; + [_forgetBtn setTitleColor:[DJDKMIMOMColor secondTextColor] forState:UIControlStateNormal]; + [_forgetBtn setTitle:YMLocalizedString(@"XPMineModifPayPwdViewController8") forState:UIControlStateNormal]; + _forgetBtn.titleLabel.font = [UIFont systemFontOfSize:13]; + [_forgetBtn addTarget:self action:@selector(forgetBtnAction:) forControlEvents:UIControlEventTouchUpInside]; + } + return _forgetBtn; } @end diff --git a/YuMi/Modules/YMMine/View/Setting/XPMineVerifIdentityViewController.h b/YuMi/Modules/YMMine/View/Setting/XPMineVerifIdentityViewController.h index 4795dbcb..1ba9063c 100644 --- a/YuMi/Modules/YMMine/View/Setting/XPMineVerifIdentityViewController.h +++ b/YuMi/Modules/YMMine/View/Setting/XPMineVerifIdentityViewController.h @@ -1,8 +1,8 @@ // -// YMMineVerifIdentityViewController.h -// YUMI +// XPMineVerifIdentityViewController.h +// xplan-ios // -// Created by YUMI on 2021/9/18. +// Created by 冯硕 on 2021/9/18. // 验证身份 #import "MvpViewController.h" diff --git a/YuMi/Modules/YMMine/View/Setting/XPMineVerifIdentityViewController.m b/YuMi/Modules/YMMine/View/Setting/XPMineVerifIdentityViewController.m index f3912c0f..65a61509 100644 --- a/YuMi/Modules/YMMine/View/Setting/XPMineVerifIdentityViewController.m +++ b/YuMi/Modules/YMMine/View/Setting/XPMineVerifIdentityViewController.m @@ -1,8 +1,8 @@ // -// YMMineVerifIdentityViewController.m -// YUMI +// XPMineVerifIdentityViewController.m +// xplan-ios // -// Created by YUMI on 2021/9/18. +// Created by 冯硕 on 2021/9/18. // #import "XPMineVerifIdentityViewController.h" @@ -10,7 +10,7 @@ #import #import ///Tool -#import "DJDKMIMOMColor.h" + #import "CountDownHelper.h" #import "UIImage+Utils.h" ///Model @@ -36,77 +36,77 @@ @implementation XPMineVerifIdentityViewController - (void)dealloc { - [[CountDownHelper shareHelper] stopCountDown]; + [[CountDownHelper shareHelper] stopCountDown]; } - (XPMineVerifIdentityPresenter *)createPresenter { - return [[XPMineVerifIdentityPresenter alloc] init];; + return [[XPMineVerifIdentityPresenter alloc] init];; } - (void)viewDidLoad { [super viewDidLoad]; - [self initSubViews]; - [self initSubViewConstraints]; - [self initEvents]; + [self initSubViews]; + [self initSubViewConstraints]; + [self initEvents]; } - (void)viewDidDisappear:(BOOL)animated { - [super viewDidDisappear:animated]; - [[CountDownHelper shareHelper] stopCountDown]; + [super viewDidDisappear:animated]; + [[CountDownHelper shareHelper] stopCountDown]; } #pragma mark - Private Method - (void)initSubViews { - self.title = YMLocalizedString(@"XPMineVerifIdentityViewController0"); - self.phoneView.contentTextField.text = self.userInfo.phone; - self.phoneView.contentTextField.enabled = self.userInfo.phone.length > 0; - [CountDownHelper shareHelper].delegate = self; - [self.view addSubview:self.stackView]; - [self.view addSubview:self.nextButton]; - - [self.stackView addArrangedSubview:self.phoneView]; - [self.stackView addArrangedSubview:self.smsCodeView]; + self.title = YMLocalizedString(@"XPMineVerifIdentityViewController0"); + self.phoneView.contentTextField.text = self.userInfo.phone; + self.phoneView.contentTextField.enabled = self.userInfo.phone.length > 0; + [CountDownHelper shareHelper].delegate = self; + [self.view addSubview:self.stackView]; + [self.view addSubview:self.nextButton]; + + [self.stackView addArrangedSubview:self.phoneView]; + [self.stackView addArrangedSubview:self.smsCodeView]; } - (void)initSubViewConstraints { - [self.stackView mas_makeConstraints:^(MASConstraintMaker *make) { - make.left.right.top.mas_equalTo(self.view); - }]; - - [self.nextButton mas_makeConstraints:^(MASConstraintMaker *make) { - make.top.mas_equalTo(self.stackView.mas_bottom).offset(45); - make.right.mas_equalTo(self.view).offset(-32); - make.left.mas_equalTo(self.view).offset(32); - make.height.mas_equalTo(45); - }]; + [self.stackView mas_makeConstraints:^(MASConstraintMaker *make) { + make.leading.trailing.top.mas_equalTo(self.view); + }]; + + [self.nextButton mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.mas_equalTo(self.stackView.mas_bottom).offset(45); + make.trailing.mas_equalTo(self.view).offset(-32); + make.leading.mas_equalTo(self.view).offset(32); + make.height.mas_equalTo(45); + }]; } - (void)initEvents { - @weakify(self); - RAC(self.nextButton, enabled) = [RACSignal combineLatest:@[self.phoneView.contentTextField.rac_textSignal, self.smsCodeView.contentTextField.rac_textSignal] reduce:^id _Nonnull(NSString *phone, NSString * code){ - return @(phone.length > 0 && code.length > 0); - }]; - - self.smsCodeView.smsCodeBlock = ^(UIButton * _Nonnull sender) { - @strongify(self); - if (self.phoneView.contentTextField.text.length > 0) { - [self.presenter phoneSmsCode:self.phoneView.contentTextField.text type:GetSmsType_Unbind_Phone phoneAreaCode:@""]; - } else { - [self showErrorToast:YMLocalizedString(@"XPMineVerifIdentityViewController1")]; - } - }; + @weakify(self); + RAC(self.nextButton, enabled) = [RACSignal combineLatest:@[self.phoneView.contentTextField.rac_textSignal, self.smsCodeView.contentTextField.rac_textSignal] reduce:^id _Nonnull(NSString *phone, NSString * code){ + return @(phone.length > 0 && code.length > 0); + }]; + + self.smsCodeView.smsCodeBlock = ^(UIButton * _Nonnull sender) { + @strongify(self); + if (self.phoneView.contentTextField.text.length > 0) { + [self.presenter phoneSmsCode:self.phoneView.contentTextField.text type:GetSmsType_Unbind_Phone phoneAreaCode:@""]; + } else { + [self showErrorToast:YMLocalizedString(@"XPMineVerifIdentityViewController1")]; + } + }; } #pragma mark - XPMineVerifIdentityProtocol - (void)phoneSmsCodeSuccess { - self.smsCodeView.smsCodeButton.enabled = NO; - [self showSuccessToast:YMLocalizedString(@"XPMineVerifIdentityViewController2")]; - [[CountDownHelper shareHelper] openCountdownWithTime:60]; + self.smsCodeView.smsCodeButton.enabled = NO; + [self showSuccessToast:YMLocalizedString(@"XPMineVerifIdentityViewController2")]; + [[CountDownHelper shareHelper] openCountdownWithTime:60]; } - (void)checkMoblieCodeWithMoblieSuccess { - [self showErrorToast:YMLocalizedString(@"XPMineVerifIdentityViewController3")]; - [[CountDownHelper shareHelper] stopCountDown]; - XPMineResetPayPwdViewController * vc = [[XPMineResetPayPwdViewController alloc] init]; - [self.navigationController pushViewController:vc animated:YES]; + [self showErrorToast:YMLocalizedString(@"XPMineVerifIdentityViewController3")]; + [[CountDownHelper shareHelper] stopCountDown]; + XPMineResetPayPwdViewController * vc = [[XPMineResetPayPwdViewController alloc] init]; + [self.navigationController pushViewController:vc animated:YES]; } #pragma mark - CountDownHelperDelegate @@ -122,56 +122,56 @@ #pragma mark - Event Response - (void)nextButtonAction:(UIButton *)sender { - [self.presenter checkMoblieCodeWithMoblie:self.phoneView.contentTextField.text code:self.smsCodeView.contentTextField.text]; + [self.presenter checkMoblieCodeWithMoblie:self.phoneView.contentTextField.text code:self.smsCodeView.contentTextField.text phoneAreaCode:@""]; } #pragma mark - Getters And Setters - (UIButton *)nextButton { - if (!_nextButton) { - _nextButton = [UIButton buttonWithType:UIButtonTypeCustom]; - [_nextButton setTitleColor:[DJDKMIMOMColor confirmButtonTextColor] forState:UIControlStateNormal]; - [_nextButton setTitleColor:[DJDKMIMOMColor disableButtonTextColor] forState:UIControlStateDisabled]; - [_nextButton setTitle:YMLocalizedString(@"XPMineVerifIdentityViewController6") forState:UIControlStateNormal]; - _nextButton.titleLabel.font = [UIFont fontWithName:@"PingFang-SC-Medium" size:18]; - _nextButton.layer.masksToBounds = YES; - _nextButton.layer.cornerRadius = 45/2; - _nextButton.enabled = NO; - [_nextButton setBackgroundImage:[UIImage gradientColorImageFromColors:@[[DJDKMIMOMColor confirmButtonGradientStartColor], [DJDKMIMOMColor confirmButtonGradientEndColor]] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(10, 10)] forState:UIControlStateNormal]; - [_nextButton setBackgroundImage:[UIImage gradientColorImageFromColors:@[[DJDKMIMOMColor disableButtonColor], [DJDKMIMOMColor disableButtonColor]] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(10, 10)] forState:UIControlStateDisabled]; - [_nextButton addTarget:self action:@selector(nextButtonAction:) forControlEvents:UIControlEventTouchUpInside]; - } - return _nextButton; + if (!_nextButton) { + _nextButton = [UIButton buttonWithType:UIButtonTypeCustom]; + [_nextButton setTitleColor:[DJDKMIMOMColor confirmButtonTextColor] forState:UIControlStateNormal]; + [_nextButton setTitleColor:[DJDKMIMOMColor disableButtonTextColor] forState:UIControlStateDisabled]; + [_nextButton setTitle:YMLocalizedString(@"XPMineVerifIdentityViewController6") forState:UIControlStateNormal]; + _nextButton.titleLabel.font = [UIFont fontWithName:@"PingFang-SC-Medium" size:18]; + _nextButton.layer.masksToBounds = YES; + _nextButton.layer.cornerRadius = 45/2; + _nextButton.enabled = NO; + [_nextButton setBackgroundImage:[UIImage gradientColorImageFromColors:@[[DJDKMIMOMColor confirmButtonGradientStartColor], [DJDKMIMOMColor confirmButtonGradientEndColor]] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(10, 10)] forState:UIControlStateNormal]; + [_nextButton setBackgroundImage:[UIImage gradientColorImageFromColors:@[[DJDKMIMOMColor disableButtonColor], [DJDKMIMOMColor disableButtonColor]] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(10, 10)] forState:UIControlStateDisabled]; + [_nextButton addTarget:self action:@selector(nextButtonAction:) forControlEvents:UIControlEventTouchUpInside]; + } + return _nextButton; } - (UIStackView *)stackView { - if (!_stackView) { - _stackView = [[UIStackView alloc] init]; - _stackView.axis = UILayoutConstraintAxisVertical; - _stackView.distribution = UIStackViewDistributionFill; - _stackView.alignment = UIStackViewAlignmentFill; - _stackView.spacing = 0; - } - return _stackView; + if (!_stackView) { + _stackView = [[UIStackView alloc] init]; + _stackView.axis = UILayoutConstraintAxisVertical; + _stackView.distribution = UIStackViewDistributionFill; + _stackView.alignment = UIStackViewAlignmentFill; + _stackView.spacing = 0; + } + return _stackView; } - (XPMineVerifIdentityView *)phoneView { - if (!_phoneView) { - _phoneView = [[XPMineVerifIdentityView alloc] init]; - _phoneView.type = XPMineVerifIdentityType_Phone; - _phoneView.placeholder = YMLocalizedString(@"XPMineVerifIdentityViewController7"); - _phoneView.contentTextField.secureTextEntry = NO; - } - return _phoneView; + if (!_phoneView) { + _phoneView = [[XPMineVerifIdentityView alloc] init]; + _phoneView.type = XPMineVerifIdentityType_Phone; + _phoneView.placeholder = YMLocalizedString(@"XPMineVerifIdentityViewController7"); + _phoneView.contentTextField.secureTextEntry = NO; + } + return _phoneView; } - (XPMineVerifIdentityView *)smsCodeView { - if (!_smsCodeView) { - _smsCodeView = [[XPMineVerifIdentityView alloc] init]; - _smsCodeView.type = XPMineVerifIdentityType_Sms; - _smsCodeView.placeholder = YMLocalizedString(@"XPMineVerifIdentityViewController8"); - _smsCodeView.contentTextField.secureTextEntry = NO; - } - return _smsCodeView; + if (!_smsCodeView) { + _smsCodeView = [[XPMineVerifIdentityView alloc] init]; + _smsCodeView.type = XPMineVerifIdentityType_Sms; + _smsCodeView.placeholder = YMLocalizedString(@"XPMineVerifIdentityViewController8"); + _smsCodeView.contentTextField.secureTextEntry = NO; + } + return _smsCodeView; } @end diff --git a/YuMi/Modules/YMMine/View/SubViews/XPMineModifPayPwdView.m b/YuMi/Modules/YMMine/View/SubViews/XPMineModifPayPwdView.m index cb3e5fbf..9a692dfc 100644 --- a/YuMi/Modules/YMMine/View/SubViews/XPMineModifPayPwdView.m +++ b/YuMi/Modules/YMMine/View/SubViews/XPMineModifPayPwdView.m @@ -1,15 +1,15 @@ // -// YMMineModifPayPwdView.m -// YUMI +// XPMineModifPayPwdView.m +// xplan-ios // -// Created by YUMI on 2021/9/18. +// Created by 冯硕 on 2021/9/18. // #import "XPMineModifPayPwdView.h" ///Third #import ///Tool -#import "DJDKMIMOMColor.h" + #import "UIButton+EnlargeTouchArea.h" @interface XPMineModifPayPwdView () @@ -17,97 +17,102 @@ @property (nonatomic,strong) UITextField *contentTextField; ///控制显示或者隐藏 @property (nonatomic,strong) UIButton *commandButton; -///分割线 -@property (nonatomic,strong) UIView * partLineView; +///背景 +@property (nonatomic,strong) UIView * bgView; @end @implementation XPMineModifPayPwdView - (instancetype)initWithFrame:(CGRect)frame { - self = [super initWithFrame:frame]; - if (self) { - [self initSubViews]; - [self initSubViewConstraints]; - } - return self; + self = [super initWithFrame:frame]; + if (self) { + [self initSubViews]; + [self initSubViewConstraints]; + } + return self; } #pragma mark - Response - (void)onClickHiddenBtn:(UIButton *)btn { - btn.selected = !btn.selected; - self.contentTextField.secureTextEntry = !self.contentTextField.secureTextEntry; + btn.selected = !btn.selected; + self.contentTextField.secureTextEntry = !self.contentTextField.secureTextEntry; } #pragma mark - Private Method - (void)initSubViews { - self.backgroundColor = [DJDKMIMOMColor appCellBackgroundColor]; - [self addSubview:self.contentTextField]; - [self addSubview:self.commandButton]; - [self addSubview:self.partLineView]; + self.backgroundColor = [UIColor clearColor]; + [self addSubview:self.bgView]; + [self.bgView addSubview:self.contentTextField]; + [self.bgView addSubview:self.commandButton]; + } - (void)initSubViewConstraints { - [self mas_makeConstraints:^(MASConstraintMaker *make) { - make.height.mas_equalTo(50); - }]; - - [self.contentTextField mas_makeConstraints:^(MASConstraintMaker *make) { - make.left.mas_equalTo(self).offset(15); - make.top.bottom.mas_equalTo(self); - }]; - - [self.commandButton mas_makeConstraints:^(MASConstraintMaker *make) { - make.right.mas_equalTo(self).offset(-32); - make.centerY.mas_equalTo(self.contentTextField); - make.left.mas_equalTo(self.contentTextField.mas_right).offset(10); - }]; - - [self.partLineView mas_makeConstraints:^(MASConstraintMaker *make) { - make.left.mas_equalTo(self).offset(5); - make.right.mas_equalTo(self).offset(-5); - make.bottom.mas_equalTo(self); - make.height.mas_equalTo(0.5); - }]; + [self mas_makeConstraints:^(MASConstraintMaker *make) { + make.height.mas_equalTo(48); + }]; + [self.bgView mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.bottom.equalTo(self); + make.leading.mas_offset(15); + make.trailing.mas_equalTo(-15); + }]; + [self.contentTextField mas_makeConstraints:^(MASConstraintMaker *make) { + make.leading.mas_equalTo(20); + make.trailing.mas_equalTo(-54); + make.top.bottom.mas_equalTo(self.bgView); + }]; + + [self.commandButton mas_makeConstraints:^(MASConstraintMaker *make) { + make.trailing.mas_equalTo(-20); + make.width.height.mas_equalTo(24); + make.centerY.mas_equalTo(self.contentTextField); + make.leading.mas_equalTo(self.contentTextField.mas_trailing).offset(10); + }]; + + } #pragma mark - Getters And Setters - (void)setPlaceholder:(NSString *)placeholder { - _placeholder = placeholder; - self.contentTextField.attributedPlaceholder = [[NSAttributedString alloc] initWithString:placeholder attributes:@{NSFontAttributeName : self.contentTextField.font, NSForegroundColorAttributeName : [DJDKMIMOMColor secondTextColor]}]; + _placeholder = placeholder; + NSMutableParagraphStyle *style = [[NSMutableParagraphStyle alloc] init]; + self.contentTextField.attributedPlaceholder = [[NSAttributedString alloc] initWithString:placeholder attributes:@{NSFontAttributeName : self.contentTextField.font, NSForegroundColorAttributeName : [DJDKMIMOMColor disableButtonTextColor], NSParagraphStyleAttributeName: style}]; } -- (UIView *)partLineView { - if (!_partLineView) { - _partLineView = [[UIView alloc] init]; - _partLineView.backgroundColor = [DJDKMIMOMColor dividerColor]; - } - return _partLineView; +- (UIView *)bgView { + if (!_bgView) { + _bgView = [[UIView alloc] init]; + _bgView.backgroundColor = UIColorFromRGB(0xF0F5F6); + _bgView.layer.cornerRadius = 24; + _bgView.layer.masksToBounds = YES; + } + return _bgView; } - (UITextField *)contentTextField { - if (!_contentTextField) { - _contentTextField = [[UITextField alloc] init]; - _contentTextField.secureTextEntry = YES; - _contentTextField.font = [UIFont systemFontOfSize:13]; - _contentTextField.textColor = [DJDKMIMOMColor mainTextColor]; - _contentTextField.tintColor = [DJDKMIMOMColor appMainColor]; - } - return _contentTextField; + if (!_contentTextField) { + _contentTextField = [[UITextField alloc] init]; + _contentTextField.secureTextEntry = YES; + _contentTextField.font = [UIFont systemFontOfSize:15]; + _contentTextField.textColor = [DJDKMIMOMColor inputTextColor]; + _contentTextField.tintColor = [DJDKMIMOMColor appMainColor]; + } + return _contentTextField; } - (UIButton *)commandButton { - if (!_commandButton) { - _commandButton = [UIButton buttonWithType:UIButtonTypeCustom]; - [_commandButton setEnlargeEdgeWithTop:20 right:20 bottom:20 left:20]; - [_commandButton addTarget:self action:@selector(onClickHiddenBtn:) forControlEvents:UIControlEventTouchUpInside]; - [_commandButton setImage:[UIImage imageNamed:@"mine_setting_modif_pay_pwd_hidden"] forState:UIControlStateNormal]; - [_commandButton setImage:[UIImage imageNamed:@"mine_setting_modif_pay_pwd_show"] forState:UIControlStateSelected]; - _commandButton.titleLabel.font = [UIFont systemFontOfSize:12]; - [_commandButton setContentHuggingPriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisHorizontal]; - } - return _commandButton; + if (!_commandButton) { + _commandButton = [UIButton buttonWithType:UIButtonTypeCustom]; + [_commandButton setEnlargeEdgeWithTop:20 right:20 bottom:20 left:20]; + [_commandButton addTarget:self action:@selector(onClickHiddenBtn:) forControlEvents:UIControlEventTouchUpInside]; + [_commandButton setImage:[UIImage imageNamed:@"mine_setting_modif_pay_pwd_hidden"] forState:UIControlStateNormal]; + [_commandButton setImage:[UIImage imageNamed:@"mine_setting_modif_pay_pwd_show"] forState:UIControlStateSelected]; + _commandButton.titleLabel.font = [UIFont systemFontOfSize:12]; + [_commandButton setContentHuggingPriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisHorizontal]; + } + return _commandButton; } diff --git a/YuMi/Modules/YMMine/View/XPMineViewController.m b/YuMi/Modules/YMMine/View/XPMineViewController.m index 2b90f5f1..046df1f8 100644 --- a/YuMi/Modules/YMMine/View/XPMineViewController.m +++ b/YuMi/Modules/YMMine/View/XPMineViewController.m @@ -627,6 +627,7 @@ UIKIT_EXTERN NSString *kRequestRicket; _tableView.delegate = self; _tableView.dataSource = self; _tableView.showsVerticalScrollIndicator = NO; + _tableView.contentInset = UIEdgeInsetsMake(0, 0, 100, 0); _tableView.separatorStyle = UITableViewCellSeparatorStyleNone;; [_tableView registerClass:[XPMineTheGuildCell class] forCellReuseIdentifier:NSStringFromClass([XPMineTheGuildCell class])]; [_tableView registerClass:[XPMinePersonalCenterCell class] forCellReuseIdentifier:NSStringFromClass([XPMinePersonalCenterCell class])]; diff --git a/YuMi/Modules/YMMonents/View/XPMonentsAttentionViewController.m b/YuMi/Modules/YMMonents/View/XPMonentsAttentionViewController.m index e8d856e2..65be828a 100644 --- a/YuMi/Modules/YMMonents/View/XPMonentsAttentionViewController.m +++ b/YuMi/Modules/YMMonents/View/XPMonentsAttentionViewController.m @@ -260,6 +260,7 @@ _tableView.delegate = self; _tableView.dataSource = self; _tableView.tableFooterView = [UIView new]; + _tableView.contentInset = UIEdgeInsetsMake(0, 0, 100, 0); _tableView.separatorStyle = UITableViewCellSeparatorStyleNone; _tableView.backgroundColor = [UIColor clearColor]; if (@available(iOS 11.0, *)) { diff --git a/YuMi/Modules/YMMonents/View/XPMonentsLatestViewController.m b/YuMi/Modules/YMMonents/View/XPMonentsLatestViewController.m index 3deb52da..a914c7ec 100644 --- a/YuMi/Modules/YMMonents/View/XPMonentsLatestViewController.m +++ b/YuMi/Modules/YMMonents/View/XPMonentsLatestViewController.m @@ -266,6 +266,7 @@ _tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain]; _tableView.delegate = self; _tableView.dataSource = self; + _tableView.contentInset = UIEdgeInsetsMake(0, 0, 100, 0); _tableView.tableFooterView = [UIView new]; _tableView.separatorStyle = UITableViewCellSeparatorStyleNone; _tableView.backgroundColor = [UIColor clearColor]; diff --git a/YuMi/Modules/YMMonents/View/XPMonentsRecommendViewController.m b/YuMi/Modules/YMMonents/View/XPMonentsRecommendViewController.m index 89d761ff..3699fc15 100644 --- a/YuMi/Modules/YMMonents/View/XPMonentsRecommendViewController.m +++ b/YuMi/Modules/YMMonents/View/XPMonentsRecommendViewController.m @@ -280,6 +280,7 @@ _tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain]; _tableView.delegate = self; _tableView.dataSource = self; + _tableView.contentInset = UIEdgeInsetsMake(0, 0, 100, 0); _tableView.tableFooterView = [UIView new]; _tableView.separatorStyle = UITableViewCellSeparatorStyleNone; _tableView.backgroundColor = [UIColor clearColor]; diff --git a/YuMi/Modules/YMNewHome/View/XPHomePartyViewController.m b/YuMi/Modules/YMNewHome/View/XPHomePartyViewController.m index c8f83c9d..f5bb1422 100644 --- a/YuMi/Modules/YMNewHome/View/XPHomePartyViewController.m +++ b/YuMi/Modules/YMNewHome/View/XPHomePartyViewController.m @@ -205,6 +205,7 @@ _tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain]; _tableView.delegate = self; _tableView.dataSource = self; + _tableView.contentInset = UIEdgeInsetsMake(0, 0, 100, 0); UIView *headView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, KScreenWidth, 18)]; _tableView.tableHeaderView = headView; _tableView.tableFooterView = [UIView new]; diff --git a/YuMi/Modules/YMNewHome/View/XPHomeRecommendViewController.m b/YuMi/Modules/YMNewHome/View/XPHomeRecommendViewController.m index 061637f0..10606ff5 100644 --- a/YuMi/Modules/YMNewHome/View/XPHomeRecommendViewController.m +++ b/YuMi/Modules/YMNewHome/View/XPHomeRecommendViewController.m @@ -426,6 +426,7 @@ UIKIT_EXTERN NSString * const kShieldingNotification; _tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStyleGrouped]; _tableView.delegate = self; _tableView.dataSource = self; + _tableView.contentInset = UIEdgeInsetsMake(0, 0, 100, 0); _tableView.tableFooterView = [UIView new]; _tableView.separatorStyle = UITableViewCellSeparatorStyleNone; _tableView.backgroundColor = [UIColor clearColor]; diff --git a/YuMi/Modules/YMRoom/View/AnimationView/XPRoomAnimationView.m b/YuMi/Modules/YMRoom/View/AnimationView/XPRoomAnimationView.m index 7827beac..fe17a8d0 100644 --- a/YuMi/Modules/YMRoom/View/AnimationView/XPRoomAnimationView.m +++ b/YuMi/Modules/YMRoom/View/AnimationView/XPRoomAnimationView.m @@ -1280,7 +1280,7 @@ GiftReceiveInfoModel *giftNotifyInfo = [GiftReceiveInfoModel modelWithJSON:attachment.data]; ///年度飘屏是广播 在tabbar中监听 if (giftNotifyInfo.ceremonyGift)return; - if(giftNotifyInfo.isHomeShow == YES)return; ///房间外飘屏 在tabbar中监听 +// if(giftNotifyInfo.isHomeShow == YES)return; ///房间外飘屏 在tabbar中监听 if(giftNotifyInfo.roomUid == self.delegate.getRoomInfo.uid)return; ///自己的房间跨房间飘屏不用走 if (self.animationListA.count == 0 && self.isPlayOfB == NO && self.isPlayOfA == NO) { [self createGiftBroadcastViewAnimation:giftNotifyInfo]; @@ -1364,7 +1364,7 @@ #pragma mark - 福袋中 四级奖品 - (void)receiveLuckyGiftBigPrize:(AttachmentModel *)attachment { if ([self isInSudGame]) {return;} - if (attachment.second == Custom_Message_Sub_Room_Gift_LuckBag || attachment.second == Custom_Message_Sub_Room_Gift_LuckBag_Server) { + PIBaseAnimationViewModel * prizeModel = [PIBaseAnimationViewModel modelWithDictionary:attachment.data]; prizeModel.type = GiftBannerType_Lucky; prizeModel.isInRoomVisiable = attachment.second == Custom_Message_Sub_Room_Gift_LuckBag; @@ -1374,7 +1374,7 @@ } [self.animationListB addObject:prizeModel]; - } + } @@ -1668,6 +1668,38 @@ make.height.mas_equalTo(KScreenHeight); }]; } + NSString *baseFileName = @"/GiftSvga"; + NSString *filePath = [[[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:baseFileName] stringByAppendingPathComponent:vggUrl]; + NSFileManager *fileManager = [NSFileManager defaultManager]; + if ([fileManager fileExistsAtPath:filePath]){ + NSData *data=[NSData dataWithContentsOfFile:filePath options:0 error:NULL]; + [self.parser parseWithData:data cacheKey:nil completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) { + if (videoItem != nil) { + CGFloat width = videoItem.videoSize.width; + CGFloat height = videoItem.videoSize.height; + if (width > height) { + self.giftEffectView.contentMode = UIViewContentModeScaleAspectFit; + } else {//高大于宽 + CGFloat resizeH = KScreenWidth * height / width;//按照屏幕的宽度去缩放,获得高度 + if (resizeH > KScreenHeight) {//如果大于屏幕高度,填充 + self.giftEffectView.contentMode = UIViewContentModeScaleAspectFill; + } else {//小于屏幕高度, + self.giftEffectView.contentMode = UIViewContentModeScaleAspectFit; + } + } + self.giftEffectView.alpha = 1; + self.giftEffectView.loops = 1; + self.giftEffectView.clearsAfterStop = YES; + self.giftEffectView.videoItem = videoItem; + [self.giftEffectView startAnimation]; + } + } failureBlock:^(NSError * _Nonnull error) { + self.giftEffectView.hidden = YES; + }]; + return; + + }; + [self.parser parseWithURL:[NSURL URLWithString:vggUrl] completionBlock:^(SVGAVideoEntity * _Nullable videoItem) { if (videoItem != nil) { CGFloat width = videoItem.videoSize.width; @@ -1704,6 +1736,12 @@ make.height.mas_equalTo(KScreenHeight); }]; } + NSString *baseFileName = @"/GiftMp4"; + NSString *filePath = [[[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:baseFileName] stringByAppendingPathComponent:vapUrl]; + NSFileManager *fileManager = [NSFileManager defaultManager]; + if ([fileManager fileExistsAtPath:filePath]){ + vapUrl = filePath; + } [self.vapParser parseWithURL:vapUrl completionBlock:^(NSString * _Nullable videoUrl) { if (videoUrl.length) { [self.vapGiftEffectView setMute:YES]; @@ -1726,6 +1764,40 @@ make.height.mas_equalTo(KScreenHeight); }]; } + + NSString *baseFileName = @"/GiftSvga"; + NSString *filePath = [[[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:baseFileName] stringByAppendingPathComponent:vggUrl.absoluteString]; + NSFileManager *fileManager = [NSFileManager defaultManager]; + if ([fileManager fileExistsAtPath:filePath]){ + NSData *data=[NSData dataWithContentsOfFile:filePath options:0 error:NULL]; + [self.parser parseWithData:data cacheKey:@"" completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) { + if (videoItem != nil) { + CGFloat width = videoItem.videoSize.width; + CGFloat height = videoItem.videoSize.height; + if (width > height) { + self.luckyGiftEffectView.contentMode = UIViewContentModeScaleAspectFit; + } else {//高大于宽 + CGFloat resizeH = KScreenWidth * height / width;//按照屏幕的宽度去缩放,获得高度 + if (resizeH > KScreenHeight) {//如果大于屏幕高度,填充 + self.luckyGiftEffectView.contentMode = UIViewContentModeScaleAspectFill; + } else {//小于屏幕高度, + self.luckyGiftEffectView.contentMode = UIViewContentModeScaleAspectFit; + } + } + self.luckyGiftEffectView.alpha = 1; + self.luckyGiftEffectView.loops = 1; + self.luckyGiftEffectView.clearsAfterStop = YES; + self.luckyGiftEffectView.videoItem = videoItem; + [self.luckyGiftEffectView startAnimation]; + } + } failureBlock:^(NSError * _Nonnull error) { + self.luckyGiftEffectView.hidden = YES; + }]; + return; + + }; + + [self.parser parseWithURL:vggUrl completionBlock:^(SVGAVideoEntity * _Nullable videoItem) { if (videoItem != nil) { CGFloat width = videoItem.videoSize.width; @@ -1762,6 +1834,12 @@ make.height.mas_equalTo(KScreenHeight); }]; } + NSString *baseFileName = @"/GiftMp4"; + NSString *filePath = [[[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:baseFileName] stringByAppendingPathComponent:vapUrl]; + NSFileManager *fileManager = [NSFileManager defaultManager]; + if ([fileManager fileExistsAtPath:filePath]){ + vapUrl = filePath; + } [self.vapParser parseWithURL:vapUrl completionBlock:^(NSString * _Nullable videoUrl) { if (videoUrl.length) { [self.luckyVapGiftEffectView setMute:YES]; diff --git a/YuMi/Modules/YMRoom/View/AnimationView/XPRoomCandyGiftView.m b/YuMi/Modules/YMRoom/View/AnimationView/XPRoomCandyGiftView.m index ecde8423..263a0937 100644 --- a/YuMi/Modules/YMRoom/View/AnimationView/XPRoomCandyGiftView.m +++ b/YuMi/Modules/YMRoom/View/AnimationView/XPRoomCandyGiftView.m @@ -1,28 +1,26 @@ // -// YMRoomCandyGiftView.m -// YUMI +// XPRoomCandyGiftView.m +// xplan-ios // -// Created by YUMI on 2021/12/10. +// Created by 冯硕 on 2021/12/10. // #import "XPRoomCandyGiftView.h" ///Third #import #import -#import "XPSVGAPlayer.h" -#import "YUMIMacroUitls.h" #import "ThemeColor+Room.h" #import "CandyTreeResultModel.h" #import "NSObject+MJExtension.h" + + @interface XPRoomCandyGiftView () ///动画管理类 @property (strong, nonatomic) SVGAParser *parser; ///糖果树特效 -@property (nonatomic,strong) XPSVGAPlayer *candyTreeView; +@property (nonatomic,strong) SVGAImageView *candyTreeView; ///背景图 @property (nonatomic,strong) UIImageView *backImageView; -///容器 -@property (nonatomic,strong) UIView *titleView; ///显示文本内容 @property (nonatomic,strong) UILabel *titleLabel; @end @@ -30,134 +28,116 @@ @implementation XPRoomCandyGiftView - (instancetype)initWithFrame:(CGRect)frame { - self = [super initWithFrame:frame]; - if (self) { - [self initSubViews]; - [self initSubViewConstraints]; - } - return self; + self = [super initWithFrame:frame]; + if (self) { + [self initSubViews]; + [self initSubViewConstraints]; + } + return self; } #pragma mark - Private Method - (void)initSubViews { - [self addSubview:self.candyTreeView]; - [self addSubview:self.backImageView]; - [self.backImageView addSubview:self.titleView]; - - [self.titleView addSubview:self.titleLabel]; + [self addSubview:self.candyTreeView]; + [self addSubview:self.backImageView]; + [self addSubview:self.titleLabel]; } - (void)initSubViewConstraints { - [self.candyTreeView mas_makeConstraints:^(MASConstraintMaker *make) { - make.edges.equalTo(self); - }]; - - [self.backImageView mas_makeConstraints:^(MASConstraintMaker *make) { - make.edges.equalTo(self); - }]; - - [self.titleView mas_makeConstraints:^(MASConstraintMaker *make) { - make.width.mas_equalTo(260); - make.height.mas_equalTo(28); - make.top.mas_equalTo(self.backImageView).offset(23); - make.centerX.mas_equalTo(self.backImageView); - }]; - - [self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) { - make.left.right.mas_equalTo(self.titleView); - make.centerY.mas_equalTo(self.titleView); - }]; + [self.candyTreeView mas_makeConstraints:^(MASConstraintMaker *make) { + make.leading.trailing.top.mas_equalTo(self); + make.height.mas_equalTo(kGetScaleWidth(55)); + }]; + + [self.backImageView mas_makeConstraints:^(MASConstraintMaker *make) { + make.leading.trailing.top.mas_equalTo(self.candyTreeView); + make.height.mas_equalTo(kGetScaleWidth(55)); + }]; + + [self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.mas_equalTo(self.backImageView); + }]; } - (NSAttributedString *)createAttribute:(NSString * )text color:(UIColor *)color fontSize:(CGFloat)fonSize { - NSDictionary * attribute = @{NSFontAttributeName:[UIFont systemFontOfSize:fonSize], NSForegroundColorAttributeName:color}; - NSMutableAttributedString *attr = [[NSMutableAttributedString alloc] initWithString:text attributes:attribute]; - return attr; + if(text.length == 0)return nil; + NSDictionary * attribute = @{NSFontAttributeName:[UIFont systemFontOfSize:fonSize], NSForegroundColorAttributeName:color}; + NSMutableAttributedString *attr = [[NSMutableAttributedString alloc] initWithString:text attributes:attribute]; + return attr; } #pragma mark - Getters And Setters - (void)setCandyInfo:(NSDictionary *)candyInfo { - if (candyInfo) { - CandyTreeGiftInfoModel * giftInfo = [CandyTreeGiftInfoModel modelWithDictionary:candyInfo]; - NSMutableAttributedString * attribute = [[NSMutableAttributedString alloc] init]; - CGFloat fontSize = self.isMaxLargeGift ? 22 : 13; - [attribute appendAttributedString:[self createAttribute:@"厉害了! " color:[UIColor whiteColor] fontSize:fontSize]]; - [attribute appendAttributedString:[self createAttribute:giftInfo.nick color:[DJDKMIMOMColor colorWithHexString:@"#FEF23E"] fontSize:fontSize]]; - [attribute appendAttributedString:[self createAttribute:@"摘下糖果得 " color:[UIColor whiteColor] fontSize:fontSize]]; - [attribute appendAttributedString:[self createAttribute:giftInfo.prizeName color:[DJDKMIMOMColor colorWithHexString:@"#FEF23E"] fontSize:fontSize]]; - if (giftInfo.prizeNum > 1) { - [attribute appendAttributedString:[self createAttribute:[NSString stringWithFormat:@" X%d", giftInfo.prizeNum] color:[UIColor whiteColor] fontSize:fontSize]]; - } - - NSMutableParagraphStyle *paragraphStyle = [NSMutableParagraphStyle new]; - paragraphStyle.lineBreakMode = NSLineBreakByCharWrapping; - paragraphStyle.lineSpacing = 4.0f;//行间距 - paragraphStyle.alignment = NSTextAlignmentCenter; - paragraphStyle.baseWritingDirection = NSWritingDirectionLeftToRight; - [attribute addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, attribute.length)]; - [self.candyTreeView setAttributedText:attribute forKey:@"tgs_copywriting"]; - if (self.isMaxLargeGift) { - self.backImageView.hidden = YES; - self.candyTreeView.hidden = NO; - @kWeakify(self); - NSString * anatomiser1Name = [NSString stringWithFormat:@"%@/candyTree_banner.svga", API_Image_URL]; - [self.parser parseWithURL:[NSURL URLWithString:anatomiser1Name] completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) { - @kStrongify(self); - self.candyTreeView.loops = 1; - self.candyTreeView.clearsAfterStop = NO; - self.candyTreeView.videoItem = videoItem; - - [self.candyTreeView startAnimation]; - } failureBlock:^(NSError * _Nonnull error) { - - }]; - } else { - self.backImageView.hidden = NO; - self.candyTreeView.hidden = YES; - self.titleLabel.attributedText = attribute; - self.titleLabel.textAlignment = NSTextAlignmentCenter; - } - } + if (candyInfo) { + CandyTreeGiftInfoModel * giftInfo = [CandyTreeGiftInfoModel modelWithDictionary:candyInfo]; + NSMutableAttributedString * attribute = [[NSMutableAttributedString alloc] init]; + + if(giftInfo.nick.length > 5){ + giftInfo.nick = [NSString stringWithFormat:@"%@...",[giftInfo.nick substringToIndex:5]]; + } + CGFloat fontSize = self.isMaxLargeGift ? 20 : 12; + [attribute appendAttributedString:[self createAttribute:YMLocalizedString(@"XPRoomCandyGiftView0") color:[UIColor whiteColor] fontSize:fontSize]]; + [attribute appendAttributedString:[self createAttribute:giftInfo.nick color:UIColorFromRGB(0xFEF23E) fontSize:fontSize]]; + [attribute appendAttributedString:[self createAttribute:YMLocalizedString(@"XPRoomCandyGiftView1") color:[UIColor whiteColor] fontSize:fontSize]]; + [attribute appendAttributedString:[self createAttribute:giftInfo.prizeName color:UIColorFromRGB(0x00EAFF) fontSize:fontSize]]; + if (giftInfo.prizeNum > 1) { + [attribute appendAttributedString:[self createAttribute:[NSString stringWithFormat:@" X%d", giftInfo.prizeNum] color:UIColorFromRGB(0x00EAFF) fontSize:fontSize]]; + } + + if (self.isMaxLargeGift) { + self.backImageView.hidden = YES; + self.candyTreeView.hidden = NO; + @kWeakify(self); + NSString * anatomiser1Name = [NSString stringWithFormat:@"%@/candyTree_banner.svga", API_Image_URL]; + [self.parser parseWithURL:[NSURL URLWithString:anatomiser1Name] completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) { + @kStrongify(self); + self.candyTreeView.loops = 1; + self.candyTreeView.clearsAfterStop = NO; + self.candyTreeView.videoItem = videoItem; + [self.candyTreeView setAttributedText:attribute forKey:@"noble_text_tx"]; + [self.candyTreeView startAnimation]; + } failureBlock:^(NSError * _Nonnull error) { + + }]; + } else { + self.backImageView.hidden = NO; + self.candyTreeView.hidden = YES; + self.titleLabel.attributedText = attribute; + self.titleLabel.textAlignment = NSTextAlignmentCenter; + } + } } -- (XPSVGAPlayer *)candyTreeView { - if (!_candyTreeView) { - _candyTreeView = [[XPSVGAPlayer alloc]init]; - _candyTreeView.backgroundColor = [UIColor clearColor]; - _candyTreeView.userInteractionEnabled = NO; - } - return _candyTreeView; +- (SVGAImageView *)candyTreeView { + if (!_candyTreeView) { + _candyTreeView = [[SVGAImageView alloc]init]; + _candyTreeView.backgroundColor = [UIColor clearColor]; + _candyTreeView.userInteractionEnabled = NO; + } + return _candyTreeView; } - (SVGAParser *)parser { - if (!_parser) { - _parser = [[SVGAParser alloc]init]; - } - return _parser; -} - -- (UIView *)titleView { - if (!_titleView) { - _titleView = [[UIView alloc] init]; - _titleView.backgroundColor = [UIColor clearColor]; - } - return _titleView; + if (!_parser) { + _parser = [[SVGAParser alloc]init]; + } + return _parser; } - (UIImageView *)backImageView { - if (!_backImageView) { - _backImageView = [[UIImageView alloc] init]; - _backImageView.userInteractionEnabled = YES; - _backImageView.image = [UIImage imageNamed:@"room_candytree_large_gift_bg"]; - } - return _backImageView; + if (!_backImageView) { + _backImageView = [[UIImageView alloc] init]; + _backImageView.userInteractionEnabled = YES; + _backImageView.image = [UIImage imageNamed:@"room_candytree_large_gift_bg"]; + } + return _backImageView; } - (UILabel *)titleLabel { - if (!_titleLabel) { - _titleLabel = [[UILabel alloc] init]; - _titleLabel.numberOfLines = 2; - } - return _titleLabel; + if (!_titleLabel) { + _titleLabel = [[UILabel alloc] init]; + _titleLabel.textAlignment = NSTextAlignmentCenter; + } + return _titleLabel; } @end diff --git a/YuMi/Modules/YMRoom/View/MessageContainerView/Tool/XPRoomMessageParser.m b/YuMi/Modules/YMRoom/View/MessageContainerView/Tool/XPRoomMessageParser.m index 83dcc18a..e1210caf 100644 --- a/YuMi/Modules/YMRoom/View/MessageContainerView/Tool/XPRoomMessageParser.m +++ b/YuMi/Modules/YMRoom/View/MessageContainerView/Tool/XPRoomMessageParser.m @@ -796,7 +796,7 @@ #pragma mark - 分享房间 - (XPMessageInfoModel *)createShareOrAttentionRoomAttribute:(AttachmentModel *)attachment sendInfo:(XPMessageRemoteExtModel *)sendInfo uid:(NSString *)uid messageInfo:(XPMessageInfoModel *)messageInfo{ NSMutableAttributedString * attribute = [[NSMutableAttributedString alloc] init]; - NSDictionary *data = attachment.data[@"data"]; + NSDictionary *data = attachment.data; NSString *nick = [NSString stringWithFormat:@"%@",data[@"nick"]]; [attribute appendAttributedString:[self createTextAttribute:nick color:[DJDKMIMOMColor messageNickColor] font:kRoomMessageDefalutFont]]; NSString *tipString = @""; diff --git a/YuMi/Modules/YMRoom/View/MoreView/Presenter/XPMoreMenuPresenter.m b/YuMi/Modules/YMRoom/View/MoreView/Presenter/XPMoreMenuPresenter.m index f9c93485..9895b752 100644 --- a/YuMi/Modules/YMRoom/View/MoreView/Presenter/XPMoreMenuPresenter.m +++ b/YuMi/Modules/YMRoom/View/MoreView/Presenter/XPMoreMenuPresenter.m @@ -206,7 +206,9 @@ NSString * uid = [AccountInfoStorage instance].getUid; [Api closeRoomGiftValue:[self createHttpCompletion:^(BaseModel * _Nonnull data) { [[self getView] closeRoomGiftValueSuccess]; - }] uid:uid roomUid:roomUid]; + }fail:^(NSInteger code, NSString * _Nullable msg) { + NSLog(@"%@",msg); + }] uid:uid roomUid:roomUid]; } diff --git a/YuMi/Modules/YMRoom/View/SendGiftView/Model/XPWeekStarRankUserModel.h b/YuMi/Modules/YMRoom/View/SendGiftView/Model/XPWeekStarRankUserModel.h index a0826a93..d9de9821 100644 --- a/YuMi/Modules/YMRoom/View/SendGiftView/Model/XPWeekStarRankUserModel.h +++ b/YuMi/Modules/YMRoom/View/SendGiftView/Model/XPWeekStarRankUserModel.h @@ -10,7 +10,8 @@ NS_ASSUME_NONNULL_BEGIN @interface XPWeekStarRankUserModel : NSObject - +///0:冠名,1、神豪 +@property(nonatomic,assign) int type; ///头像 @property (nonatomic, copy) NSString *avatar; ///榜单值 diff --git a/YuMi/Modules/YMRoom/View/SendGiftView/View/XPGiftBarView.m b/YuMi/Modules/YMRoom/View/SendGiftView/View/XPGiftBarView.m index 7c24e2a9..2a3ffc21 100644 --- a/YuMi/Modules/YMRoom/View/SendGiftView/View/XPGiftBarView.m +++ b/YuMi/Modules/YMRoom/View/SendGiftView/View/XPGiftBarView.m @@ -298,7 +298,8 @@ } - (void)setIsShowFirstRecharge:(BOOL)isShowFirstRecharge { - self.firstRechargeButton.hidden = !isShowFirstRecharge; +// self.firstRechargeButton.hidden = !isShowFirstRecharge; + self.firstRechargeButton.hidden = YES; } - (void)setType:(GiftSegmentType)type { diff --git a/YuMi/Modules/YMRoom/View/SendGiftView/View/XPGiftHeadTypeView.m b/YuMi/Modules/YMRoom/View/SendGiftView/View/XPGiftHeadTypeView.m index bfa19842..cb2177b0 100644 --- a/YuMi/Modules/YMRoom/View/SendGiftView/View/XPGiftHeadTypeView.m +++ b/YuMi/Modules/YMRoom/View/SendGiftView/View/XPGiftHeadTypeView.m @@ -47,6 +47,8 @@ static NSString *kHideGiftViewInteractDot = @"kHideGiftViewInteractDot";//是否 #pragma mark - Private Method - (void)initSubViews { + self.titleArray = [[NSMutableArray alloc]initWithArray:@[YMLocalizedString(@"XPGiftHeadTypeView4")]]; + self.cycleScrollView.imageURLStringsGroup = @[@"room_gift_noble_entrance"]; [self addSubview:self.giftButton]; // [self addSubview:self.devideView]; // [self addSubview:self.interactButton]; @@ -163,10 +165,10 @@ static NSString *kHideGiftViewInteractDot = @"kHideGiftViewInteractDot";//是否 #pragma mark - setter - (void)setIsShowFirstRecharge:(BOOL)isShowFirstRecharge { if (isShowFirstRecharge) { - self.titleArray = [NSMutableArray arrayWithObjects:YMLocalizedString(@"XPGiftHeadTypeView1"), nil]; - self.cycleScrollView.imageURLStringsGroup = @[@"gift_first_recharge_bg"]; - } else { - + [self.titleArray addObject:YMLocalizedString(@"XPGiftHeadTypeView1")]; + NSMutableArray *imageList = [[NSMutableArray alloc]initWithArray:self.cycleScrollView.imageURLStringsGroup]; + [imageList addObject:@"gift_first_recharge_bg"]; + self.cycleScrollView.imageURLStringsGroup = imageList; } } diff --git a/YuMi/Modules/YMRoom/View/SendGiftView/View/XPGiftInfoView.m b/YuMi/Modules/YMRoom/View/SendGiftView/View/XPGiftInfoView.m index 21a78465..ba059045 100644 --- a/YuMi/Modules/YMRoom/View/SendGiftView/View/XPGiftInfoView.m +++ b/YuMi/Modules/YMRoom/View/SendGiftView/View/XPGiftInfoView.m @@ -40,6 +40,8 @@ static NSString *kSendGiftViewHidePunishNewIcon = @"kSendGiftViewHidePunishNewIc @property (nonatomic,strong) UIButton *luckyGiftButton; ///周星礼物 @property (nonatomic, strong) UIButton *weekStarButton; +///贵族礼物 +@property(nonatomic,strong) UIButton *nobleGiftButton; ///涂鸦礼物 @property (nonatomic,strong) UIButton *graffitiButton; ///惩罚礼物 @@ -107,6 +109,7 @@ static NSString *kSendGiftViewHidePunishNewIcon = @"kSendGiftViewHidePunishNewIc self.graffitiButton.selected = NO; self.anchorButton.selected = NO; self.punishButton.selected = NO; + self.nobleGiftButton.selected = NO; sender.selected = !sender.selected; self.segmentType = sender.tag; } @@ -172,6 +175,7 @@ static NSString *kSendGiftViewHidePunishNewIcon = @"kSendGiftViewHidePunishNewIc [self.segmentStackView addArrangedSubview:self.normalGiftButton]; [self.segmentStackView addArrangedSubview:self.luckyGiftButton]; [self.segmentStackView addArrangedSubview:self.weekStarButton]; + [self.segmentStackView addArrangedSubview:self.nobleGiftButton]; [self.segmentStackView addArrangedSubview:self.anchorButton]; ///礼物 [self.giftStackView addArrangedSubview:self.giftcollectionView]; @@ -358,6 +362,9 @@ static NSString *kSendGiftViewHidePunishNewIcon = @"kSendGiftViewHidePunishNewIc #pragma mark - XPGiftWeekStarCollectionViewCellDelegate - (void)xPGiftWeekStarCollectionViewCell:(XPGiftWeekStarCollectionViewCell *)view didSelectGift:(GiftInfoModel *)giftInfo { [self dealSelectGift:giftInfo]; + if (self.delegate && [self.delegate respondsToSelector:@selector(xPGiftInfoView:didClickItem:type:)]) { + [self.delegate xPGiftInfoView:self didClickItem:giftInfo type:self.segmentType]; + } } #pragma mark - Getters And Setters @@ -777,5 +784,17 @@ static NSString *kSendGiftViewHidePunishNewIcon = @"kSendGiftViewHidePunishNewIc return _segmentBgView; } - +- (UIButton *)nobleGiftButton{ + if(!_nobleGiftButton){ + _nobleGiftButton = [UIButton buttonWithType:UIButtonTypeCustom]; + [_nobleGiftButton setTitle:YMLocalizedString(@"XPGiftInfoView9") forState:UIControlStateNormal]; + [_nobleGiftButton setTitleColor:[DJDKMIMOMColor giftSegmentSelectTitleColor] forState:UIControlStateSelected]; + [_nobleGiftButton setTitleColor:[DJDKMIMOMColor giftSegmentNormalTitleColor] forState:UIControlStateNormal]; + _nobleGiftButton.titleLabel.font = [UIFont systemFontOfSize:13 weight:UIFontWeightSemibold]; + _nobleGiftButton.tag = GiftSegmentType_Noble; + _nobleGiftButton.selected = NO; + [_nobleGiftButton addTarget:self action:@selector(didClickGiftSegmentAction:) forControlEvents:UIControlEventTouchUpInside]; + } + return _nobleGiftButton; +} @end diff --git a/YuMi/Modules/YMRoom/View/SendGiftView/View/XPGiftLuckyGiftBroadcastView.m b/YuMi/Modules/YMRoom/View/SendGiftView/View/XPGiftLuckyGiftBroadcastView.m index 54cda75b..ebc7fc37 100644 --- a/YuMi/Modules/YMRoom/View/SendGiftView/View/XPGiftLuckyGiftBroadcastView.m +++ b/YuMi/Modules/YMRoom/View/SendGiftView/View/XPGiftLuckyGiftBroadcastView.m @@ -64,6 +64,7 @@ } [attribute appendAttributedString:[self createTextAttribute:[NSString stringWithFormat:@"%@ " , nick] color:[DJDKMIMOMColor colorWithHexString:@"#FFE785"]]]; [attribute appendAttributedString:[self createTextAttribute:[NSString stringWithFormat:YMLocalizedString(@"XPGiftLuckyGiftBroadcastCell1"), giftInfo.luckyBagName] color:[UIColor whiteColor]]]; + [attribute addAttributes:@{NSForegroundColorAttributeName:[DJDKMIMOMColor colorWithHexString:@"#FFE785"]} range:[attribute.string rangeOfString:giftInfo.luckyBagName]]; [attribute appendAttributedString:[self createTextAttribute:[NSString stringWithFormat:@"%@ " , _giftInfo.giftName] color:[DJDKMIMOMColor colorWithHexString:@"#FFE785"]]]; self.titleLabel.attributedText = attribute; } @@ -154,7 +155,9 @@ if (_records.count > 0) { NSMutableArray * array = [NSMutableArray array]; for (GiftLuckyBroadcastModel * item in _records) { - [array addObject:item.giftName]; + if(item.nick.length > 0){ + [array addObject:item.nick]; + } } if (array.count > 0) { self.cycleScrollView.imageURLStringsGroup = array; diff --git a/YuMi/Modules/YMRoom/View/SendGiftView/View/XPGiftTwelveStarBroadcastView.h b/YuMi/Modules/YMRoom/View/SendGiftView/View/XPGiftTwelveStarBroadcastView.h index 84b16ab5..96d89011 100644 --- a/YuMi/Modules/YMRoom/View/SendGiftView/View/XPGiftTwelveStarBroadcastView.h +++ b/YuMi/Modules/YMRoom/View/SendGiftView/View/XPGiftTwelveStarBroadcastView.h @@ -6,9 +6,9 @@ // #import - +#import "GiftInfoModel.h" NS_ASSUME_NONNULL_BEGIN -@class GiftTwelveStarFirstModel, XPGiftTwelveStarBroadcastView; +@class XPGiftTwelveStarBroadcastView; @protocol XPGiftTwelveStarBroadcastViewDelegate @@ -17,11 +17,21 @@ NS_ASSUME_NONNULL_BEGIN @interface XPGiftTwelveStarBroadcastView : UIView -@property (nonatomic, strong) GiftTwelveStarFirstModel *giftInfo; - +@property (nonatomic, strong) GiftInfoModel *giftInfo; +@property (nonatomic,strong) NSMutableArray *records; ///代理 @property (nonatomic,weak) id delegate; @end + + + + + + +@interface XPGiftTwelveStarBroadcastCell : UICollectionViewCell +@property(nonatomic,strong) XPWeekStarRankUserModel *userModel; +@property(nonatomic,strong) UIButton *skipBtn; +@end NS_ASSUME_NONNULL_END diff --git a/YuMi/Modules/YMRoom/View/SendGiftView/View/XPGiftTwelveStarBroadcastView.m b/YuMi/Modules/YMRoom/View/SendGiftView/View/XPGiftTwelveStarBroadcastView.m index 57444f7a..bc0580af 100644 --- a/YuMi/Modules/YMRoom/View/SendGiftView/View/XPGiftTwelveStarBroadcastView.m +++ b/YuMi/Modules/YMRoom/View/SendGiftView/View/XPGiftTwelveStarBroadcastView.m @@ -15,28 +15,14 @@ #import "XPWebViewController.h" #import "YUMIHtmlUrl.h" #import "NetImageView.h" +#import ///Model #import "GiftTwelveStarFirstModel.h" -@interface XPGiftTwelveStarBroadcastView() +@interface XPGiftTwelveStarBroadcastView() -@property (nonatomic, strong) UIView *mainView; -///背景 -@property (nonatomic, strong) UIImageView *bgImageView; -///活动入口 -@property (nonatomic, strong) UIButton *weekStarButton; -///魅力头像 -@property (nonatomic, strong) NetImageView *iconImageView; -///贡献头像 -@property (nonatomic, strong) NetImageView *avatarImageView; -///魅力标题 -@property (nonatomic, strong) UILabel *charmLabel; -///贡献标题 -@property (nonatomic, strong) UILabel *contributeLabel; - -@property (nonatomic, strong) UIImageView *sexImageView; - -@property (nonatomic, strong) UILabel *desLabel; +///轮播 +@property (nonatomic, strong) SDCycleScrollView *cycleScrollView; @end @@ -53,196 +39,203 @@ #pragma mark - Private Method - (void)initSubViews { - [self addSubview:self.bgImageView]; - [self addSubview:self.mainView]; - [self.mainView addSubview:self.weekStarButton]; - [self.mainView addSubview:self.iconImageView]; - [self.mainView addSubview:self.avatarImageView]; - [self.mainView addSubview:self.charmLabel]; - [self.mainView addSubview:self.sexImageView]; - [self.mainView addSubview:self.contributeLabel]; - [self.mainView addSubview:self.desLabel]; - - self.iconImageView.hidden = YES; - self.avatarImageView.hidden = YES; - self.charmLabel.hidden = YES; - self.contributeLabel.hidden = YES; - self.sexImageView.hidden = YES; + [self addSubview:self.cycleScrollView]; } - (void)initSubViewConstraints { - [self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) { - make.centerX.mas_equalTo(self); - make.width.mas_equalTo(355); - make.top.bottom.mas_equalTo(self); - }]; - [self.mainView mas_makeConstraints:^(MASConstraintMaker *make) { - make.left.right.mas_equalTo(self.bgImageView); - make.height.mas_equalTo(36); - make.bottom.mas_equalTo(0); - }]; - [self.iconImageView mas_makeConstraints:^(MASConstraintMaker *make) { - make.left.mas_equalTo(self.mainView).mas_offset(33); - make.width.height.mas_equalTo(30); - make.centerY.mas_equalTo(self.mainView); - }]; - [self.avatarImageView mas_makeConstraints:^(MASConstraintMaker *make) { - make.left.mas_equalTo(self.iconImageView.mas_right).mas_offset(8); - make.width.height.mas_equalTo(24); - make.centerY.mas_equalTo(self.mainView); - }]; - [self.charmLabel mas_makeConstraints:^(MASConstraintMaker *make) { - make.height.mas_equalTo(14); - make.bottom.mas_equalTo(self.avatarImageView.mas_centerY); - make.left.mas_equalTo(self.avatarImageView.mas_right).mas_offset(8); - }]; - - [self.contributeLabel mas_makeConstraints:^(MASConstraintMaker *make) { - make.height.mas_equalTo(14); - make.top.mas_equalTo(self.charmLabel.mas_bottom); - make.left.mas_equalTo(self.charmLabel); - }]; - [self.sexImageView mas_makeConstraints:^(MASConstraintMaker *make) { - make.width.height.mas_equalTo(10); - make.left.mas_equalTo(self.contributeLabel.mas_right).mas_offset(2); - make.centerY.mas_equalTo(self.contributeLabel); - }]; - [self.weekStarButton mas_makeConstraints:^(MASConstraintMaker *make) { - make.height.mas_equalTo(18); - make.centerY.mas_equalTo(self.mainView); - make.right.mas_equalTo(self.mainView).mas_offset(-25); - make.width.mas_equalTo(64); - }]; - [self.desLabel mas_makeConstraints:^(MASConstraintMaker *make) { - make.centerY.mas_equalTo(self.mainView); - make.left.mas_equalTo(self.mainView).mas_offset(54); - }]; + [self.cycleScrollView mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.mas_equalTo(kGetScaleWidth(10)); + make.right.mas_equalTo(-kGetScaleWidth(10)); + make.top.bottom.mas_equalTo(self); + }]; +} +-(void)setGiftInfo:(GiftInfoModel *)giftInfo{ + _giftInfo = giftInfo; + if (_giftInfo.firstCharmRankUser) { + _giftInfo.firstCharmRankUser.type = 0; + [self.records addObject:_giftInfo.firstCharmRankUser]; + } else { + XPWeekStarRankUserModel *rankModel = [XPWeekStarRankUserModel new]; + rankModel.type = 0; + rankModel.avatar = @"common_empty_avatar"; + rankModel.nick = YMLocalizedString(@"XPGiftWeekStarBroadcastView0"); + [self.records addObject:rankModel]; + } + + if (_giftInfo.firstLevelRankUser) { + _giftInfo.firstLevelRankUser.type = 1; + [self.records addObject:_giftInfo.firstLevelRankUser]; + } else { + XPWeekStarRankUserModel *rankModel = [XPWeekStarRankUserModel new]; + rankModel.type = 1; + rankModel.avatar = @"common_empty_avatar"; + rankModel.nick = YMLocalizedString(@"XPGiftWeekStarBroadcastView0"); + [self.records addObject:rankModel]; + } + if (_records.count > 0) { + NSMutableArray * array = [NSMutableArray array]; + for (XPWeekStarRankUserModel * item in _records) { + [array addObject:item.avatar]; + } + if (array.count > 0) { + self.cycleScrollView.imageURLStringsGroup = array; + [self.cycleScrollView autoScroll]; + } + } } - #pragma mark - action -- (void)playButtonAction:(UIButton *)sender { - if (self.delegate && [self.delegate respondsToSelector:@selector(xPGiftTwelveStarBroadcastView:didClickDetail:)]) { - [self.delegate xPGiftTwelveStarBroadcastView:self didClickDetail:sender]; - } +-(void)skipBtnAction:(UIButton *)sender{ + if (self.delegate && [self.delegate respondsToSelector:@selector(xPGiftTwelveStarBroadcastView:didClickDetail:)]) { + [self.delegate xPGiftTwelveStarBroadcastView:self didClickDetail:sender]; + } } -- (void)setGiftInfo:(GiftTwelveStarFirstModel *)giftInfo { - if (giftInfo.nick) { - self.iconImageView.imageUrl = giftInfo.markUrl; - self.avatarImageView.imageUrl = giftInfo.avatar; - self.charmLabel.text = [NSString stringWithFormat:YMLocalizedString(@"XPGiftTwelveStarBroadcastView0"), giftInfo.twelveStarName]; - self.contributeLabel.text = giftInfo.nick; - NSString *imageName = giftInfo.gender == 1 ? @"common_sex_male" : @"common_sex_female"; - self.sexImageView.image = [UIImage imageNamed:imageName]; - self.iconImageView.hidden = NO; - self.avatarImageView.hidden = NO; - self.charmLabel.hidden = NO; - self.contributeLabel.hidden = NO; - self.sexImageView.hidden = NO; - self.desLabel.hidden = YES; - } else { - self.iconImageView.hidden = YES; - self.avatarImageView.hidden = YES; - self.charmLabel.hidden = YES; - self.contributeLabel.hidden = YES; - self.sexImageView.hidden = YES; - self.desLabel.hidden = NO; - } +#pragma mark - SDCycleScrollViewDelegate +- (Class)customCollectionViewCellClassForCycleScrollView:(SDCycleScrollView *)view { + return XPGiftTwelveStarBroadcastCell.class; } -- (UIView *)mainView { - if (!_mainView) { - _mainView = [[UIView alloc] init]; - } - return _mainView; -} +- (void)setupCustomCell:(UICollectionViewCell *)cell forIndex:(NSInteger)index cycleScrollView:(SDCycleScrollView *)view { + XPGiftTwelveStarBroadcastCell *myCell = (XPGiftTwelveStarBroadcastCell *)cell; + XPWeekStarRankUserModel * info = [self.records safeObjectAtIndex1:index]; + [myCell.skipBtn addTarget:self action:@selector(skipBtnAction:) forControlEvents:UIControlEventTouchUpInside]; + myCell.userModel = info; -- (UIImageView *)bgImageView { - if (!_bgImageView) { - _bgImageView = [[UIImageView alloc] init]; - _bgImageView.image = [UIImage imageNamed:@"gift_constellationBanner_bg"]; - _bgImageView.contentMode = UIViewContentModeScaleAspectFill; - _bgImageView.userInteractionEnabled = YES; - } - return _bgImageView; } - -- (NetImageView *)iconImageView { - if (!_iconImageView) { - NetImageConfig * config = [[NetImageConfig alloc]init]; - config.imageType = ImageTypeUserIcon; - config.placeHolder = [UIImageConstant defaultAvatarPlaceholder]; - _iconImageView = [[NetImageView alloc] initWithConfig:config]; - _iconImageView.userInteractionEnabled = YES; - } - return _iconImageView; +- (SDCycleScrollView *)cycleScrollView { + if (!_cycleScrollView) { + _cycleScrollView = [[SDCycleScrollView alloc] init]; + _cycleScrollView.backgroundColor = [UIColor clearColor]; + _cycleScrollView.layer.masksToBounds = YES; + _cycleScrollView.delegate = self; + _cycleScrollView.showPageControl = NO; + _cycleScrollView.autoScrollTimeInterval = 5; + [_cycleScrollView disableScrollGesture]; + } + return _cycleScrollView; } - -- (UILabel *)charmLabel { - if (!_charmLabel) { - UILabel *label = [[UILabel alloc] init]; - label.font = [UIFont systemFontOfSize:10 weight:UIFontWeightMedium]; - label.textColor = UIColorFromRGB(0xFDE19B); - label.text = YMLocalizedString(@"XPGiftTwelveStarBroadcastView1"); - _charmLabel = label; - } - return _charmLabel; +- (NSMutableArray *)records{ + if(!_records){ + _records = [NSMutableArray array]; + } + return _records; +} +@end + + +@interface XPGiftTwelveStarBroadcastCell () +@property(nonatomic,strong) UIImageView *bgImageView; +@property(nonatomic,strong) NetImageView *headView; +@property(nonatomic,strong) UILabel *nameView; + +@property(nonatomic,strong) UIImageView *arrowView; +@end + +@implementation XPGiftTwelveStarBroadcastCell + +- (instancetype)initWithFrame:(CGRect)frame { + self = [super initWithFrame:frame]; + if (self) { + [self initSubViews]; + [self initSubViewConstraints]; + } + return self; +} + +#pragma mark - Private Method +- (void)initSubViews { + [self.contentView addSubview:self.bgImageView]; + [self.contentView addSubview:self.headView]; + [self.contentView addSubview:self.nameView]; + [self.contentView addSubview:self.skipBtn]; + [self.contentView addSubview:self.arrowView]; +} +-(void)setUserModel:(XPWeekStarRankUserModel *)userModel{ + _userModel = userModel; + _bgImageView.image = _userModel.type == 0 ? kImage(@"gift_twelve_star_Banner_naming_bg"):kImage(@"gift_twelve_star_Banner_rich_bg"); + NSString *name = _userModel.nick; + _nameView.text = name; + if(_userModel.type == 1){ + [self.headView mas_updateConstraints:^(MASConstraintMaker *make) { + make.leading.mas_equalTo(kGetScaleWidth(205)); + }]; + + }else{ + [self.headView mas_updateConstraints:^(MASConstraintMaker *make) { + make.leading.mas_equalTo(kGetScaleWidth(194)); + }]; + } + _headView.imageUrl = _userModel.avatar; +} +- (void)initSubViewConstraints { + [self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self.contentView); + }]; + [self.headView mas_makeConstraints:^(MASConstraintMaker *make) { + make.leading.mas_equalTo(kGetScaleWidth(194)); + make.width.height.mas_equalTo(kGetScaleWidth(22)); + make.centerY.equalTo(self.contentView); + }]; + [self.arrowView mas_makeConstraints:^(MASConstraintMaker *make) { + make.width.height.mas_equalTo(kGetScaleWidth(8)); + make.trailing.mas_equalTo(-kGetScaleWidth(10)); + make.centerY.equalTo(self.contentView); + }]; + [self.skipBtn mas_makeConstraints:^(MASConstraintMaker *make) { + make.trailing.equalTo(self.arrowView.mas_leading).mas_offset(-kGetScaleWidth(2)); + make.centerY.equalTo(self.contentView); + make.width.mas_equalTo(kGetScaleWidth(32)); + make.height.mas_equalTo(kGetScaleWidth(14)); + }]; + [self.nameView mas_makeConstraints:^(MASConstraintMaker *make) { + make.leading.equalTo(self.headView.mas_trailing).mas_offset(kGetScaleWidth(4)); + make.centerY.equalTo(self.contentView); + make.trailing.equalTo(self.skipBtn.mas_leading).mas_offset(-kGetScaleWidth(2)); + }]; +} + + + +#pragma mark - Getters And Setters +- (UIImageView *)bgImageView{ + if(!_bgImageView){ + _bgImageView = [UIImageView new]; + _bgImageView.userInteractionEnabled = YES; + } + return _bgImageView; +} + +- (NetImageView *)headView{ + if(!_headView){ + NetImageConfig *config = [[NetImageConfig alloc]init]; + config.placeHolder = kImage(@"common_empty_avatar"); + _headView = [[NetImageView alloc]initWithConfig:config]; + _headView.layer.cornerRadius = kGetScaleWidth(22)/2; + _headView.layer.masksToBounds = YES; + } + return _headView; +} +- (UILabel *)nameView{ + if(!_nameView){ + + _nameView = [UILabel labelInitWithText:@"" font:kFontMedium(12) textColor:[UIColor whiteColor]]; + } + return _nameView; +} +- (UIButton *)skipBtn{ + if(!_skipBtn){ + _skipBtn = [UIButton new]; + [_skipBtn setTitle:YMLocalizedString(@"XPGiftLuckyGiftBroadcastCell6") forState:UIControlStateNormal]; + _skipBtn.titleLabel.font = kFontRegular(10); + [_skipBtn setTitleColor:UIColorFromRGB(0xFFE694) forState:UIControlStateNormal]; + } + return _skipBtn; +} +- (UIImageView *)arrowView{ + if(!_arrowView){ + _arrowView = [UIImageView new]; + _arrowView.image = kImage(@"gift_twelve_star_Banner_arrow"); + } + return _arrowView; } - -- (NetImageView *)avatarImageView { - if (!_avatarImageView) { - NetImageConfig * config = [[NetImageConfig alloc]init]; - config.imageType = ImageTypeUserIcon; - config.placeHolder = [UIImageConstant defaultAvatarPlaceholder]; - _avatarImageView = [[NetImageView alloc] initWithConfig:config]; - _avatarImageView.layer.masksToBounds = YES; - _avatarImageView.layer.cornerRadius = 12; - _avatarImageView.userInteractionEnabled = YES; - } - return _avatarImageView; -} - -- (UILabel *)contributeLabel { - if (!_contributeLabel) { - UILabel *label = [[UILabel alloc] init]; - label.font = [UIFont systemFontOfSize:10]; - label.textColor = [UIColor whiteColor]; - label.text = YMLocalizedString(@"XPGiftTwelveStarBroadcastView2"); - _contributeLabel = label; - } - return _contributeLabel; -} - -- (UIButton *)weekStarButton { - if (!_weekStarButton) { - UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; - button.backgroundColor = UIColorRGBAlpha(0x000000, 0.36); - [button addTarget:self action:@selector(playButtonAction:) forControlEvents:UIControlEventTouchUpInside]; - [button setTitle:@"活动详情 >" forState:UIControlStateNormal]; - [button setTitleColor:UIColorFromRGB(0x00EEFF) forState:UIControlStateNormal]; - button.titleLabel.font = [UIFont systemFontOfSize:10]; - button.layer.masksToBounds = YES; - button.layer.cornerRadius = 9; - _weekStarButton = button; - } - return _weekStarButton; -} - -- (UIImageView *)sexImageView { - if (!_sexImageView) { - _sexImageView = [[UIImageView alloc] init]; - } - return _sexImageView; -} - -- (UILabel *)desLabel { - if (!_desLabel) { - _desLabel = [[UILabel alloc] init]; - _desLabel.text = @"星座物语,限定开启星座月!"; - _desLabel.font = [UIFont systemFontOfSize:12 weight:UIFontWeightMedium]; - _desLabel.textColor = UIColorFromRGB(0xFDE19B); - } - return _desLabel; -} - @end diff --git a/YuMi/Modules/YMRoom/View/SendGiftView/View/XPGiftWeekStarBroadcastView.h b/YuMi/Modules/YMRoom/View/SendGiftView/View/XPGiftWeekStarBroadcastView.h deleted file mode 100644 index 5f07541b..00000000 --- a/YuMi/Modules/YMRoom/View/SendGiftView/View/XPGiftWeekStarBroadcastView.h +++ /dev/null @@ -1,28 +0,0 @@ -// -// YMGiftWeekStarBroadcastView.h -// YUMI -// -// Created by YUMI on 2022/10/8. -// - -#import -#import "GiftInfoModel.h" - -NS_ASSUME_NONNULL_BEGIN - -@protocol XPGiftWeekStarBroadcastViewDelegate - -///点击了周星榜入口 -- (void)xPGiftWeekStarBroadcastViewWeekStarClick; - -@end - -@interface XPGiftWeekStarBroadcastView : UIView - -@property (nonatomic, weak) id delegate; - -@property (nonatomic, strong) GiftInfoModel *giftInfo; - -@end - -NS_ASSUME_NONNULL_END diff --git a/YuMi/Modules/YMRoom/View/SendGiftView/View/XPGiftWeekStarBroadcastView.m b/YuMi/Modules/YMRoom/View/SendGiftView/View/XPGiftWeekStarBroadcastView.m deleted file mode 100644 index f99a6840..00000000 --- a/YuMi/Modules/YMRoom/View/SendGiftView/View/XPGiftWeekStarBroadcastView.m +++ /dev/null @@ -1,261 +0,0 @@ -// -// YMGiftWeekStarBroadcastView.m -// YUMI -// -// Created by YUMI on 2022/10/8. -// - -#import "XPGiftWeekStarBroadcastView.h" -///Third -#import -///Tool -#import "DJDKMIMOMColor.h" -#import "NetImageView.h" - -@interface XPGiftWeekStarBroadcastView() - -///背景 -@property (nonatomic, strong) UIImageView *bgImageView; -///周星榜入口 -@property (nonatomic, strong) UIButton *weekStarButton; -///魅力头像 -@property (nonatomic, strong) NetImageView *charmImageView; -///贡献头像 -@property (nonatomic, strong) NetImageView *contributeImageView; -///魅力标题 -@property (nonatomic, strong) UILabel *charmLabel; -///贡献标题 -@property (nonatomic, strong) UILabel *contributeLabel; -///魅力昵称背景 -@property (nonatomic, strong) UIView *charmBgView; -///魅力昵称 -@property (nonatomic, strong) UILabel *charmNickLabel; -///贡献昵称背景 -@property (nonatomic, strong) UIView *contributeBgView; -///贡献昵称 -@property (nonatomic, strong) UILabel *contributeNickLabel; - -@end - -@implementation XPGiftWeekStarBroadcastView - -- (instancetype)initWithFrame:(CGRect)frame { - self = [super initWithFrame:frame]; - if (self) { - [self initSubViews]; - [self initSubViewConstraints]; - } - return self; -} - -#pragma mark - Private Method -- (void)initSubViews { - [self addSubview:self.bgImageView]; - [self addSubview:self.weekStarButton]; - [self addSubview:self.charmImageView]; - [self addSubview:self.charmLabel]; - [self addSubview:self.charmBgView]; - [self addSubview:self.charmNickLabel]; - [self addSubview:self.contributeImageView]; - [self addSubview:self.contributeLabel]; - [self addSubview:self.contributeBgView]; - [self addSubview:self.contributeNickLabel]; -} - -- (void)initSubViewConstraints { - [self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) { - make.top.mas_equalTo(0); - make.left.right.mas_equalTo(self).inset(10); - make.height.mas_equalTo(44); - }]; - [self.charmImageView mas_makeConstraints:^(MASConstraintMaker *make) { - make.left.mas_equalTo(self.bgImageView).mas_offset(10); - make.width.height.mas_equalTo(30); - make.centerY.mas_equalTo(self.bgImageView); - }]; - [self.charmLabel mas_makeConstraints:^(MASConstraintMaker *make) { - make.top.mas_equalTo(self.charmImageView); - make.height.mas_equalTo(12); - make.left.mas_equalTo(self.charmImageView.mas_right).mas_offset(12); - }]; - [self.charmBgView mas_makeConstraints:^(MASConstraintMaker *make) { - make.centerY.mas_equalTo(self.charmNickLabel); - make.height.mas_equalTo(16); - make.left.right.mas_equalTo(self.charmNickLabel).inset(-6); - }]; - [self.charmNickLabel mas_makeConstraints:^(MASConstraintMaker *make) { - make.top.mas_equalTo(self.charmLabel.mas_bottom).mas_offset(6); - make.height.mas_equalTo(12); - make.left.mas_equalTo(self.charmLabel); - }]; - - [self.contributeImageView mas_makeConstraints:^(MASConstraintMaker *make) { - make.left.mas_equalTo(self.charmLabel.mas_right).mas_offset(24); - make.width.height.mas_equalTo(30); - make.centerY.mas_equalTo(self.bgImageView); - }]; - [self.contributeLabel mas_makeConstraints:^(MASConstraintMaker *make) { - make.top.mas_equalTo(self.contributeImageView); - make.height.mas_equalTo(12); - make.left.mas_equalTo(self.contributeImageView.mas_right).mas_offset(12); - }]; - [self.contributeBgView mas_makeConstraints:^(MASConstraintMaker *make) { - make.centerY.mas_equalTo(self.contributeNickLabel); - make.height.mas_equalTo(16); - make.left.right.mas_equalTo(self.contributeNickLabel).inset(-6); - }]; - [self.contributeNickLabel mas_makeConstraints:^(MASConstraintMaker *make) { - make.top.mas_equalTo(self.contributeLabel.mas_bottom).mas_offset(6); - make.height.mas_equalTo(12); - make.left.mas_equalTo(self.contributeLabel); - }]; - [self.weekStarButton mas_makeConstraints:^(MASConstraintMaker *make) { - make.height.mas_equalTo(30); - make.centerY.mas_equalTo(self.bgImageView); - make.right.mas_equalTo(self.bgImageView).mas_offset(-7); - make.width.mas_equalTo(38); - }]; -} - -#pragma mark - action -- (void)playButtonAction:(UIButton *)sender { - if (self.delegate && [self.delegate respondsToSelector:@selector(xPGiftWeekStarBroadcastViewWeekStarClick)]) { - [self.delegate xPGiftWeekStarBroadcastViewWeekStarClick]; - } -} - -- (void)setGiftInfo:(GiftInfoModel *)giftInfo { - if (giftInfo.firstCharmRankUser) { - self.charmImageView.imageUrl = giftInfo.firstCharmRankUser.avatar; - NSString * nick = giftInfo.firstCharmRankUser.nick; - if (nick.length > 8) { - nick = [nick substringFromIndex:8]; - } - self.charmNickLabel.text = nick; - } else { - self.charmImageView.image = [UIImageConstant defaultEmptyAvatarPlaceholder]; - self.charmNickLabel.text = YMLocalizedString(@"XPGiftWeekStarBroadcastView0"); - } - - if (giftInfo.firstLevelRankUser) { - self.contributeImageView.imageUrl = giftInfo.firstLevelRankUser.avatar; - NSString * nick = giftInfo.firstLevelRankUser.nick; - if (nick.length > 8) { - nick = [nick substringFromIndex:8]; - } - self.contributeNickLabel.text = nick; - } else { - self.contributeImageView.image = [UIImageConstant defaultEmptyAvatarPlaceholder]; - self.contributeNickLabel.text = YMLocalizedString(@"XPGiftWeekStarBroadcastView1"); - } -} - -- (UIImageView *)bgImageView { - if (!_bgImageView) { - _bgImageView = [[UIImageView alloc] init]; - _bgImageView.image = [UIImage imageNamed:@"gift_weekStar_background"]; - _bgImageView.contentMode = UIViewContentModeScaleAspectFill; - } - return _bgImageView; -} - -- (NetImageView *)charmImageView { - if (!_charmImageView) { - NetImageConfig *config = [[NetImageConfig alloc] init]; - config.placeHolder = [UIImageConstant defaultEmptyAvatarPlaceholder]; - _charmImageView = [[NetImageView alloc] initWithConfig:config]; - _charmImageView.userInteractionEnabled = YES; - _charmImageView.layer.masksToBounds = YES; - _charmImageView.layer.cornerRadius = 15; - } - return _charmImageView; -} - -- (UILabel *)charmLabel { - if (!_charmLabel) { - UILabel *label = [[UILabel alloc] init]; - label.font = [UIFont systemFontOfSize:10]; - label.textColor = [DJDKMIMOMColor mainTextColor]; - label.text = YMLocalizedString(@"XPGiftWeekStarBroadcastView2"); - _charmLabel = label; - } - return _charmLabel; -} - -- (UIView *)charmBgView { - if (!_charmBgView) { - UIView *view = [[UIView alloc] init]; - view.backgroundColor = UIColorRGBAlpha(0xffffff, 0.2); - view.layer.cornerRadius = 8; - view.layer.masksToBounds = YES; - _charmBgView = view; - } - return _charmBgView; -} - -- (UILabel *)charmNickLabel { - if (!_charmNickLabel) { - UILabel *label = [[UILabel alloc] init]; - label.font = [UIFont systemFontOfSize:10]; - label.textColor = [UIColor whiteColor]; - label.text = YMLocalizedString(@"XPGiftWeekStarBroadcastView3"); - _charmNickLabel = label; - } - return _charmNickLabel; -} - -- (NetImageView *)contributeImageView { - if (!_contributeImageView) { - NetImageConfig *config = [[NetImageConfig alloc] init]; - config.placeHolder = [UIImageConstant defaultEmptyAvatarPlaceholder]; - _contributeImageView = [[NetImageView alloc] initWithConfig:config]; - _contributeImageView.userInteractionEnabled = YES; - _contributeImageView.layer.masksToBounds = YES; - _contributeImageView.layer.cornerRadius = 15; - } - return _contributeImageView; -} - -- (UILabel *)contributeLabel { - if (!_contributeLabel) { - UILabel *label = [[UILabel alloc] init]; - label.font = [UIFont systemFontOfSize:10]; - label.textColor = [DJDKMIMOMColor mainTextColor]; - label.text = YMLocalizedString(@"XPGiftWeekStarBroadcastView4"); - _contributeLabel = label; - } - return _contributeLabel; -} - -- (UIView *)contributeBgView { - if (!_contributeBgView) { - UIView *view = [[UIView alloc] init]; - view.backgroundColor = UIColorRGBAlpha(0xffffff, 0.2); - view.layer.cornerRadius = 8; - view.layer.masksToBounds = YES; - _contributeBgView = view; - } - return _contributeBgView; -} -- (UILabel *)contributeNickLabel { - if (!_contributeNickLabel) { - UILabel *label = [[UILabel alloc] init]; - label.font = [UIFont systemFontOfSize:10]; - label.textColor = [UIColor whiteColor]; - label.text = YMLocalizedString(@"XPGiftWeekStarBroadcastView5"); - _contributeNickLabel = label; - } - return _contributeNickLabel; -} - -- (UIButton *)weekStarButton { - if (!_weekStarButton) { - UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; - [button setImage:[UIImage imageNamed:@"gift_weekStar_entrance"] forState:UIControlStateNormal]; - [button addTarget:self action:@selector(playButtonAction:) forControlEvents:UIControlEventTouchUpInside]; - _weekStarButton = button; - } - return _weekStarButton; -} - -@end diff --git a/YuMi/Modules/YMRoom/View/SendGiftView/View/XPSendGiftView.m b/YuMi/Modules/YMRoom/View/SendGiftView/View/XPSendGiftView.m index 5cb4b1ff..37e4eeee 100644 --- a/YuMi/Modules/YMRoom/View/SendGiftView/View/XPSendGiftView.m +++ b/YuMi/Modules/YMRoom/View/SendGiftView/View/XPSendGiftView.m @@ -39,6 +39,7 @@ #import "XPGiftHeadTypeView.h" #import "XPGiftLuckyGiftBroadcastView.h" #import "XPGiftTwelveStarBroadcastView.h" +#import "XPNobleCenterViewController.h" ///P #import "XPGiftProtocol.h" ///VC @@ -457,8 +458,8 @@ UIKIT_EXTERN NSString * kShowFirstRechargeView; - (void)xPGiftHeadTypeViewDidClickNoble:(XPGiftHeadTypeView *)view { [self dismissViewControllerAnimated:NO completion:^{ [StatisticsServiceHelper trackEventWithKey:StatisticsServiceEventvipEntranceGiftClick]; -// XPNobleCenterViewController * nobleVC = [[XPNobleCenterViewController alloc] initWithRoomUid:self.delegate.getRoomInfo.uid]; -// [[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController pushViewController:nobleVC animated:YES]; + XPNobleCenterViewController * nobleVC = [[XPNobleCenterViewController alloc] initWithRoomUid:self.delegate.getRoomInfo.uid]; + [[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController pushViewController:nobleVC animated:YES]; }]; } ///点击了首充 @@ -504,19 +505,20 @@ UIKIT_EXTERN NSString * kShowFirstRechargeView; } } else if(type == GiftSegmentType_WeekStar) { [self.luckyBroadcastView removeFromSuperview]; - if ([ClientConfig shareConfig].configInfo.twelveStarSwitch) { +// if ([ClientConfig shareConfig].configInfo.twelveStarSwitch) { self.constellationBanner.hidden = NO; if (!self.constellationBanner.superview) { [self.view addSubview:self.constellationBanner]; [self.constellationBanner mas_makeConstraints:^(MASConstraintMaker *make) { make.bottom.mas_equalTo(self.contentView.mas_top); make.left.right.mas_equalTo(0); - make.height.mas_equalTo(75); + make.height.mas_equalTo(kGetScaleWidth(56)); }]; } - } else { - self.constellationBanner.hidden = YES; - } + +// } else { +// self.constellationBanner.hidden = YES; +// } } else { [self.luckyBroadcastView removeFromSuperview]; [self.constellationBanner removeFromSuperview]; @@ -537,7 +539,10 @@ UIKIT_EXTERN NSString * kShowFirstRechargeView; self.giftInfoView.hidden = NO; } }]; - } else { + }else if(type == GiftSegmentType_WeekStar){ + self.constellationBanner.giftInfo = info; + } + else { self.giftBarView.drawGiftCount = 10; } } @@ -571,7 +576,7 @@ UIKIT_EXTERN NSString * kShowFirstRechargeView; - (void)xPGiftTwelveStarBroadcastView:(XPGiftTwelveStarBroadcastView *)view didClickDetail:(UIButton *)sender { [self dismissViewControllerAnimated:NO completion:^{ XPWebViewController * webVC = [[XPWebViewController alloc] init]; - webVC.url = URLWithType(kXinZuoStarURL); + webVC.url = URLWithType(kNewWeekStarURL); [[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController pushViewController:webVC animated:YES]; }]; } @@ -667,10 +672,10 @@ UIKIT_EXTERN NSString * kShowFirstRechargeView; - (void)luckyGiftBroadcastRecordSuccess:(NSArray *)records { self.records = records; self.luckyBroadcastView.records = records; -} +} - (void)getTwelveStarLastRankFirstSuccess:(GiftTwelveStarFirstModel *)model { - self.constellationBanner.giftInfo = model; + } #pragma mark - Event Response @@ -797,7 +802,7 @@ UIKIT_EXTERN NSString * kShowFirstRechargeView; - (XPGiftTwelveStarBroadcastView *)constellationBanner { if (!_constellationBanner) { - _constellationBanner = [[XPGiftTwelveStarBroadcastView alloc] init]; + _constellationBanner = [[XPGiftTwelveStarBroadcastView alloc] initWithFrame:CGRectZero]; _constellationBanner.delegate = self; } return _constellationBanner; diff --git a/YuMi/Modules/YMRoom/View/StageView/StageView.m b/YuMi/Modules/YMRoom/View/StageView/StageView.m index 9ac33769..6304d651 100644 --- a/YuMi/Modules/YMRoom/View/StageView/StageView.m +++ b/YuMi/Modules/YMRoom/View/StageView/StageView.m @@ -362,7 +362,12 @@ } - (void)onRoomUpdate { - self.isMiniEnter = NO; + self.isMiniEnter = NO; + RoomInfoModel * roomInfo = self.hostDelegate.getRoomInfo; + for (int i = 0; i < self.countOfMircoView; i++) { + UIView * view = [self findMicroViewByIndex:i]; + [view showGiftValueMode:roomInfo.showGiftValue]; + } // [self microQueueUpdated]; } diff --git a/YuMi/Modules/YMTabbar/View/PIFullScreenBannerAnimation.m b/YuMi/Modules/YMTabbar/View/PIFullScreenBannerAnimation.m index de1ec671..3fe3878c 100644 --- a/YuMi/Modules/YMTabbar/View/PIFullScreenBannerAnimation.m +++ b/YuMi/Modules/YMTabbar/View/PIFullScreenBannerAnimation.m @@ -204,7 +204,7 @@ #pragma mark - 福袋中 四级奖品 - (void)receiveLuckyGiftBigPrize:(AttachmentModel *)attachment { - if (attachment.second == Custom_Message_Sub_Room_Gift_LuckBag || attachment.second == Custom_Message_Sub_Room_Gift_LuckBag_Server) { + if ( attachment.second == Custom_Message_Sub_Room_Gift_LuckBag_FullScree) { PIBaseAnimationViewModel * prizeModel = [PIBaseAnimationViewModel modelWithDictionary:attachment.data]; prizeModel.type = GiftBannerType_Lucky; prizeModel.isInRoomVisiable = attachment.second == Custom_Message_Sub_Room_Gift_LuckBag; diff --git a/YuMi/Modules/YMTabbar/View/TabbarViewController.m b/YuMi/Modules/YMTabbar/View/TabbarViewController.m index 7314a587..0b9f4fd2 100644 --- a/YuMi/Modules/YMTabbar/View/TabbarViewController.m +++ b/YuMi/Modules/YMTabbar/View/TabbarViewController.m @@ -12,6 +12,7 @@ #import #import #import +#import ///Tool #import "YUMIMacroUitls.h" #import "DJDKMIMOMColor.h" @@ -81,6 +82,7 @@ #import "XPSkillCardPlayerManager.h" #import "PIFullScreenBannerAnimation.h" #import +#import "Api+Gift.h" UIKIT_EXTERN NSString * kUserCompleteInfoFinishKey; NSString * const kUserFirstLoginKey = @"kUserFirstLoginKey"; NSString * const kHadLaunchApp = @"kHadLaunchApp"; @@ -124,46 +126,47 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey; @implementation TabbarViewController - (void)viewDidLoad { - [super viewDidLoad]; + [super viewDidLoad]; XPTabBar *tabBar = [[XPTabBar alloc] init]; [self setValue:tabBar forKey:@"tabBar"]; [self configTheme]; [self initTabs:NO]; - [[ClientConfig shareConfig] clientInit]; + [[ClientConfig shareConfig] clientInit]; [[NIMSDK sharedSDK].loginManager addDelegate:self]; - [[NIMSDK sharedSDK].chatManager addDelegate:self]; - [[NIMSDK sharedSDK].systemNotificationManager addDelegate:self]; - [[NIMSDK sharedSDK].broadcastManager addDelegate:self]; - [self.presenter juliandAdCallBackApi]; - [self networkReachability]; - [self.view addSubview:self.roomMineView]; - [[NSNotificationCenter defaultCenter] addObserverForName:kRoomMiniNotificationKey object:nil queue:nil usingBlock:^(NSNotification * _Nonnull note) { - [self configRoomMiniNView:note.userInfo]; - }]; - - [[NSNotificationCenter defaultCenter] addObserverForName:kUserCompleteInfoFinishKey object:nil queue:nil usingBlock:^(NSNotification * _Nonnull note) { - [self completeUserInfoFinish:note.object]; - }]; - - [[NSNotificationCenter defaultCenter] addObserverForName:@"reloadnewtab" object:nil queue:nil usingBlock:^(NSNotification * _Nonnull note) { - if (self.isReload) { - [self initTabs:YES]; - self.isReload = YES; - } - }]; + [[NIMSDK sharedSDK].chatManager addDelegate:self]; + [[NIMSDK sharedSDK].systemNotificationManager addDelegate:self]; + [[NIMSDK sharedSDK].broadcastManager addDelegate:self]; + [self.presenter juliandAdCallBackApi]; + [self networkReachability]; + [self.view addSubview:self.roomMineView]; + [[NSNotificationCenter defaultCenter] addObserverForName:kRoomMiniNotificationKey object:nil queue:nil usingBlock:^(NSNotification * _Nonnull note) { + [self configRoomMiniNView:note.userInfo]; + }]; + + [[NSNotificationCenter defaultCenter] addObserverForName:kUserCompleteInfoFinishKey object:nil queue:nil usingBlock:^(NSNotification * _Nonnull note) { + [self completeUserInfoFinish:note.object]; + }]; + + [[NSNotificationCenter defaultCenter] addObserverForName:@"reloadnewtab" object:nil queue:nil usingBlock:^(NSNotification * _Nonnull note) { + if (self.isReload) { + [self initTabs:YES]; + self.isReload = YES; + } + }]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(showNewUserRecharge) name:kNewUserRechargeKey object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(showAnchorCardKey:) name:kTabShowAnchorCardKey object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(teenagerStatusChange:) name:kTeenagerStatusChange object:nil]; + } - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [self.navigationController setNavigationBarHidden:YES animated:YES]; [self.presenter autoLogin]; - if ([XPRoomMiniManager shareManager].getRoomInfo == nil) { - [self.roomMineView hiddenRoomMiniView]; - } + if ([XPRoomMiniManager shareManager].getRoomInfo == nil) { + [self.roomMineView hiddenRoomMiniView]; + } } - (void)viewWillDisappear:(BOOL)animated { @@ -183,48 +186,48 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey; /** 登录成功(通过token且换取ticket后)。 - 1. 登录云信。 - 2. 获取用户信息。 - 3. 其实目前多余回调V层,可以在P层里自行做这个逻辑。 + 1. 登录云信。 + 2. 获取用户信息。 + 3. 其实目前多余回调V层,可以在P层里自行做这个逻辑。 */ - (void)autoLoginSuccess { [self.presenter loginNIM]; [self.presenter getUserInfo]; - ///登录成功之后 在验证是否有漏单的行为 - [self.presenter checkTranscation]; - ///检查更新 - if ([ClientConfig shareConfig].canOpen) { - [self.presenter getVersionUpdate]; - - if (self.inviteCode && self.inviteCode.length > 0) { - ///邀请码进房 - [self.presenter checkInviteUserInfo:self.inviteCode]; - } - } - - - ///主要功能:给主播分流 -// [self clientStartApp]; - -// ///开启心跳 记录用户登录状态 -// [[ClientConfig shareConfig] addHeartBratTimer]; - - XPAdImageTool.shareImageTool.isImLogin = YES; - - if ([ClientConfig shareConfig].canOpen) { - if ([self hadLaunchApp] && [self canShowAnchorCard]) { - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - if (self.view.window && self.isViewLoaded) { - [self.presenter getAnchorCardInfo]; - } - }); - } - if (self.needShowAnchorCard && !self.delayShowAnchorCard && !self.parentMode) { - [self.presenter getAnchorCardInfo]; - [[NSUserDefaults standardUserDefaults] setBool:YES forKey:kHadLaunchApp];///第一次弹主播卡片 - [[NSUserDefaults standardUserDefaults] synchronize]; - } - } + ///登录成功之后 在验证是否有漏单的行为 + [self.presenter checkTranscation]; + ///检查更新 + if ([ClientConfig shareConfig].canOpen) { + [self.presenter getVersionUpdate]; + + if (self.inviteCode && self.inviteCode.length > 0) { + ///邀请码进房 + [self.presenter checkInviteUserInfo:self.inviteCode]; + } + } + [self requestGiftList]; + + ///主要功能:给主播分流 + // [self clientStartApp]; + + // ///开启心跳 记录用户登录状态 + // [[ClientConfig shareConfig] addHeartBratTimer]; + + XPAdImageTool.shareImageTool.isImLogin = YES; + + if ([ClientConfig shareConfig].canOpen) { + if ([self hadLaunchApp] && [self canShowAnchorCard]) { + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + if (self.view.window && self.isViewLoaded) { + [self.presenter getAnchorCardInfo]; + } + }); + } + if (self.needShowAnchorCard && !self.delayShowAnchorCard && !self.parentMode) { + [self.presenter getAnchorCardInfo]; + [[NSUserDefaults standardUserDefaults] setBool:YES forKey:kHadLaunchApp];///第一次弹主播卡片 + [[NSUserDefaults standardUserDefaults] synchronize]; + } + } } /// 获取用户信息后检查:1、是否绑定手机号;2、是否需要完善用户信息。 @@ -243,20 +246,108 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey; return; } [self initTabs:YES]; - if ([ClientConfig shareConfig].canOpen) { - if (self.inviteCode.length <= 0) { - [self initQuickEnterRoom]; - } - if (self.inviteCode) { - self.inviteCode = nil; - } - [self monentsUnReadCount]; - } + if ([ClientConfig shareConfig].canOpen) { + if (self.inviteCode.length <= 0) { + [self initQuickEnterRoom]; + } + if (self.inviteCode) { + self.inviteCode = nil; + } + [self monentsUnReadCount]; + } self.parentMode = userInfo.parentMode; for (BaseViewController *vc in self.viewControllers) { vc.parentMode = self.parentMode; } } +/// +-(void)requestGiftList{ + + NSString * uid = [AccountInfoStorage instance].getUid; + if(uid.length == 0)return; + ///保存时间,一天只请求一次 + NSString *time = [NSDate getNowTimeTimestamp]; + NSString *curTime = [NSDate timestampSwitchTime:[time integerValue] andFormatter:@"yyyy-MM-dd"]; + NSDictionary *timeDic = [[NSUserDefaults standardUserDefaults]valueForKey:@"kRequestGiftList"]; + if(timeDic == nil){ + [timeDic setValue:@(YES) forKey:curTime]; + [[NSUserDefaults standardUserDefaults]setValue:timeDic forKey:@"kRequestGiftList"]; + [[NSUserDefaults standardUserDefaults]synchronize]; + }else{ + if(timeDic[curTime]!= nil)return; + NSMutableDictionary *curDic = [[NSMutableDictionary alloc]initWithDictionary:timeDic]; + [curDic setValue:@(YES) forKey:curTime]; + [[NSUserDefaults standardUserDefaults]setValue:curDic forKey:@"kRequestGiftList"]; + [[NSUserDefaults standardUserDefaults]synchronize]; + } + + ///请求普通礼物 + [Api requestNormalGiftList:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) { + if(code == 200){ + NSArray *luckyBagGift = [GiftInfoModel modelsWithArray:data.data[@"luckyBagGift"]]; // 福袋礼物 + NSArray *vipGift = [GiftInfoModel modelsWithArray:data.data[@"vipGift"]]; // 贵族礼物 + NSArray *luckyPoolGift = [GiftInfoModel modelsWithArray:data.data[@"luckyPoolGift"]];// 福袋奖池礼物 + NSArray *normalGift = [GiftInfoModel modelsWithArray:data.data[@"normalGift"]]; // 普通面板礼物 + NSArray *weekStarGift = [GiftInfoModel modelsWithArray:data.data[@"weekStarGift"]]; // 周星礼物 + NSArray *anchorGift = [GiftInfoModel modelsWithArray:data.data[@"singlePopularGift"]]; // 个播礼物 + NSMutableArray *giftList = [[NSMutableArray alloc]initWithArray:luckyBagGift]; + [giftList addObjectsFromArray:vipGift]; + [giftList addObjectsFromArray:luckyPoolGift]; + [giftList addObjectsFromArray:normalGift]; + [giftList addObjectsFromArray:weekStarGift]; + [giftList addObjectsFromArray:anchorGift]; + NSMutableArray *vggUrlList = [NSMutableArray array]; + NSMutableArray *viewUrlList = [NSMutableArray array]; + for (GiftInfoModel *giftModel in giftList) { + if(giftModel.vggUrl.length > 0){ + [vggUrlList addObject:giftModel.vggUrl]; + [self dealWithGiftListWithUrl:giftModel.vggUrl fileName:giftModel.vggUrl isSvga:YES]; + }else if(giftModel.viewUrl.length > 0){ + [viewUrlList addObject:giftModel.viewUrl]; + [self dealWithGiftListWithUrl:giftModel.viewUrl fileName:giftModel.viewUrl isSvga:NO]; + } + + } + [self requestBagGiftListWithVggUrlList:vggUrlList viewUrlList:viewUrlList]; + } + } roomUid:uid]; + + +} +-(void)requestBagGiftListWithVggUrlList:(NSMutableArray *)list viewUrlList:(NSMutableArray *)viewUrlList{ + ///请求背包礼物 + NSString * uid = [AccountInfoStorage instance].getUid; + NSString * ticket = [AccountInfoStorage instance].getTicket; + [Api requestPackGiftList:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) { + if(code == 200){ + NSArray * info = [GiftInfoModel modelsWithArray:data.data]; + for (GiftInfoModel *giftModel in info) { + if(giftModel.vggUrl.length > 0 && ![list containsObject:giftModel.vggUrl]){ + [self dealWithGiftListWithUrl:giftModel.vggUrl fileName:giftModel.vggUrl isSvga:YES]; + }else if(giftModel.viewUrl.length > 0 && ![viewUrlList containsObject:giftModel.viewUrl]){ + [self dealWithGiftListWithUrl:giftModel.viewUrl fileName:giftModel.viewUrl isSvga:NO]; + } + + } + } + + } uid:uid ticket:ticket]; +} + +-(void)dealWithGiftListWithUrl:(NSString *)url fileName:(NSString *)fileName isSvga:(BOOL)isSvga { + NSString *baseFileName = isSvga ? @"/GiftSvga":@"/GiftMp4"; + NSString *filePaths = [[[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:baseFileName] stringByAppendingPathComponent:fileName]; + NSFileManager *fileManager = [NSFileManager defaultManager]; + if ([[NSFileManager defaultManager] fileExistsAtPath:filePaths])return; + [[[NSURLSession sharedSession] downloadTaskWithURL:[NSURL URLWithString:url] completionHandler:^(NSURL * _Nullable location, NSURLResponse * _Nullable response, NSError * _Nullable error) { + if(!error){ + [fileManager createDirectoryAtPath:[filePaths stringByDeletingLastPathComponent] withIntermediateDirectories:YES attributes:nil error:nil]; + NSData *data = [NSData dataWithContentsOfURL:location]; + [data writeToFile:filePaths atomically:YES]; + } + }] resume]; + +} - (void)checkInviteUserInfoSuccess:(InviteUserInfoModel *)inviteInfo { if (inviteInfo && inviteInfo.isInRoom && !self.parentMode) { @@ -815,6 +906,7 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey; - (void)receiveBroadcastGift:(AttachmentModel *)attachment { GiftReceiveInfoModel *giftNotifyInfo = [GiftReceiveInfoModel modelWithJSON:attachment.data]; if (!giftNotifyInfo.ceremonyGift && giftNotifyInfo.isHomeShow == YES) { + if([XPSkillCardPlayerManager shareInstance].isInRoom == YES)return; [self.roomAnimation receiveGift:giftNotifyInfo]; return; } diff --git a/YuMi/Structure/MVP/Api/Api.h b/YuMi/Structure/MVP/Api/Api.h index afb49a98..5eb19d0a 100644 --- a/YuMi/Structure/MVP/Api/Api.h +++ b/YuMi/Structure/MVP/Api/Api.h @@ -40,7 +40,7 @@ NS_ASSUME_NONNULL_BEGIN mobile:(NSString *)mobile code:(NSString *)code uid:(NSString *)uid - ticket:(NSString *)ticket; + ticket:(NSString *)ticket phoneAreaCode:(NSString *)phoneAreaCode; /// 补全用户资料 /// @param complection 完成 diff --git a/YuMi/Structure/MVP/Api/Api.m b/YuMi/Structure/MVP/Api/Api.m index 5b8476c3..3e7cd6f7 100644 --- a/YuMi/Structure/MVP/Api/Api.m +++ b/YuMi/Structure/MVP/Api/Api.m @@ -72,9 +72,9 @@ mobile:(NSString *)mobile code:(NSString *)code uid:(NSString *)uid - ticket:(NSString *)ticket { + ticket:(NSString *)ticket phoneAreaCode:(NSString *)phoneAreaCode{ NSString * fang = [NSString stringFromBase64String:@"c21zL3ZlcmlmeQ=="];///sms/verify - [self makeRequest:fang method:HttpRequestHelperMethodPOST completion:complection, __FUNCTION__, mobile, code, uid, ticket,nil]; + [self makeRequest:fang method:HttpRequestHelperMethodPOST completion:complection, __FUNCTION__, mobile, code, uid, ticket,phoneAreaCode,nil]; } /// 补全用户资料 diff --git a/YuMi/Structure/MVP/Model/UserInfoModel.h b/YuMi/Structure/MVP/Model/UserInfoModel.h index 64c76ff4..0443837e 100644 --- a/YuMi/Structure/MVP/Model/UserInfoModel.h +++ b/YuMi/Structure/MVP/Model/UserInfoModel.h @@ -134,6 +134,9 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic,strong) NSArray *dynamicInfo; @property (nonatomic,strong) NSMutableAttributedString *levelAtt; @property (nonatomic,strong) NSMutableAttributedString *idAtt; + +///区号 +@property (nonatomic,copy) NSString *phoneAreaCode; @end NS_ASSUME_NONNULL_END diff --git a/YuMi/Structure/PrefixHeader.pch b/YuMi/Structure/PrefixHeader.pch index 92a363fe..102bdc7d 100644 --- a/YuMi/Structure/PrefixHeader.pch +++ b/YuMi/Structure/PrefixHeader.pch @@ -30,4 +30,6 @@ #import "UIButton+EnlargeTouchArea.h" #import "UIView+Corner.h" #import "UILabel+Utils.h" +#import "TTPopup.h" +#import "NSDate+DateUtils.h" #endif /* PrefixHeader_pch */ diff --git a/YuMi/zh-Hans.lproj/Localizable.strings b/YuMi/zh-Hans.lproj/Localizable.strings new file mode 100644 index 00000000..8b6565dd --- /dev/null +++ b/YuMi/zh-Hans.lproj/Localizable.strings @@ -0,0 +1,2526 @@ +/* + Localizable.strings + YuMi + + Created by YuMi on 2023/6/20. + +*/ + + +///XPCandyTreeRankView.m +"XPCandyTreeRankView0" = "没有更多数据了"; + +///XPCandyTreeMoreView.m +"XPCandyTreeMoreView0" = "更多"; +"XPCandyTreeMoreView2" = "获奖记录"; +"XPCandyTreeMoreView3" = "玩法规则"; +"XPCandyTreeMoreView4" = "允许将中奖消息对外展示"; + +///XPCandyTreeEmptyableViewCell.m +"XPCandyTreeEmptyableViewCell0" = "暂无数据"; + +///XPCandyTreeMoreRuleCell.m +"XPCandyTreeMoreRuleCell0" = "财富值达到%ld级可用,快去升级吧~"; + +///XPCandyTreeViewController.m +"XPCandyTreeViewController0" = "%@钻/次"; +"XPCandyTreeViewController2" = "开启数量不能为0!"; +"XPCandyTreeViewController4" = "去参与"; +"XPCandyTreeViewController5" = "一次只能选择200次"; +"XPCandyTreeViewController7" = "排行榜"; + +///XPCandyRankContainerView.m +"XPCandyRankContainerView0" = "今日榜单"; +"XPCandyRankContainerView1" = "昨日榜单"; +///XPCandyTreeInsufficientBalanceView +"XPCandyTreeInsufficientBalanceView0"="温馨提示"; +"XPCandyTreeInsufficientBalanceView1"="钻石余额不足,请先充值吧~"; +"XPCandyTreeInsufficientBalanceView2"="去充值"; +///XPRoomActivityContainerView.m +"XPRoomActivityContainerView0" = "首充有礼"; +"XPRoomActivityContainerView1" = "信物"; +"XPRoomActivityContainerView2" = "PK已开始暂时无法排麦"; +///XPWebViewNavView +"XPWebViewNavView0"="充值"; +"RoomHeaderView3" = "複制链接"; +///LoginPresenter.m +"LoginPresenter0" = "登录取消"; +"LoginPresenter1" = "登录失败,请重试"; +"XPRoomStarKitchenBannerView0"="恭喜%@在星级厨房抽中%@倍奖励,获得 %@钻石!"; +"XPRoomMessageParser103"="恭喜%@在星级厨房抽中 %@倍奖励,获得 %@钻石!"; +///XPShareView.m +"XPShareView0" = "拷贝成功"; +"XPShareView1" = "来玩奥"; +"XPShareView2" = "请安装应用"; +"XPShareView3" = "这是标题"; +"XPShareView4" = "内容"; +"XPShareView5" = "分享失败"; +"XPShareView6" = "取消分享"; +"XPShareView7" = "取消"; +///XPFirstRechargeViewController.m +"XPFirstRechargeViewController0" = "1.每人仅可获得1次首充福利\n2.每个ID、设备仅能参加一次。"; +"XPFirstRechargeViewController1" = "立即充值"; +///XPFirstRechargeSuccessView.m +"XPFirstRechargeSuccessView0" = "装扮类物品可进入“我的一我的装扮”使用哦"; +"XPFirstRechargeSuccessView1" = "我知道了"; + +"StatisticsServiceHelper0" = "应用启动"; +"StatisticsServiceHelper1" = "一键登录成功"; +"StatisticsServiceHelper2" = "手机登录"; +"StatisticsServiceHelper3" = "qq登录"; +"StatisticsServiceHelper4" = "微信登录"; +"StatisticsServiceHelper5" = "注册时候的个人资料保存成功"; +"StatisticsServiceHelper6" = "开通贵族点击"; +"StatisticsServiceHelper7" = "贵族房间入口点击"; +"StatisticsServiceHelper8" = "贵族礼物面板入口点击"; +"StatisticsServiceHelper9" = "贵族表情面板入口点击"; +"StatisticsServiceHelper10" = "贵族我的页面入口点击"; + +"SDPhotoBrowser0" = "保存"; + +"SDBrowserImageView0" = "图片加载失败"; + +"NSDate_DateUtils0" = "MM月dd日"; +"NSDate_DateUtils1" = "yyyy年MM月dd日"; + +"PLTimeUtil0" = "yyyy年MM月dd日"; +"PLTimeUtil1" = "YYYY年MM月"; +"PLTimeUtil2" = "YYYY年MM月dd日"; +"PLTimeUtil3" = "yyyy年MM月"; +"PLTimeUtil4" = "MM月dd日"; + +"NSString_Utils0" = "%@万"; +"NSString_Utils1" = "MM月dd日"; +"NSString_Utils2" = "YYYY年MM月dd日"; +"NSString_Utils3" = "刚刚"; +"NSString_Utils4" = "%ld分钟前"; + +"QEmotionBoardView0" = "发送"; + +"QInputBarView0" = "按住说话"; +"QInputBarView1" = "鬆开结束"; +"QInputBarView2" = "手指上滑,取消发送"; +"QInputBarView3" = "手指上滑,取消发送"; +"QInputBarView4" = "鬆开手指 取消发送"; + +"QinputPhotoView0" = "最多只能选择9张图片"; +"QinputPhotoView1" = "相册"; +"QinputPhotoView2" = "原图"; +"QinputPhotoView3" = "发送"; + +"XPAdvertiseView0" = "跳过"; +"XPAdvertiseView1" = "跳过"; + +"XCHUDTool0" = "加载中"; +"XCHUDTool1" = "加载中"; + +"TTAlertConfig0" = "确定"; + +"TTActionSheetView0" = "取消"; + +"HttpRequestHelper0" = "请检查网络连接"; +"HttpRequestHelper1" = "请检查网络连接"; +"HttpRequestHelper2" = "请检查网络连接"; +"HttpRequestHelper3" = "登录已过期"; +"HttpRequestHelper4" = "大鹅开小差中~请稍后再试"; +"HttpRequestHelper5" = "接口报错信息未知"; +"HttpRequestHelper6" = "请检查网络连接"; + +"AppDelegate_ThirdConfig0" = "Piko"; + +"XPMineNotificaPresenter0" = "系统通知"; +"XPMineNotificaPresenter1" = "关闭后,系统消息和官方小秘书不再提示"; +"XPMineNotificaPresenter2" = "开播通知"; +"XPMineNotificaPresenter3" = "关闭后,官方小秘书不再提示您关注主播的开播情况"; + +"XPMineSettingPresent0" = "设置"; +"XPMineSettingPresent2" = "设置"; +"XPMineSettingPresent3" = "手机号码"; +"XPMineSettingPresent4" = "设置"; +"XPMineSettingPresent6" = "设置密码"; +"XPMineSettingPresent7" = "设置"; +"XPMineSettingPresent8" = "黑名单管理"; +"XPMineSettingPresent9" = "支付密码"; +"XPMineSettingPresent11" = "设置"; +"XPMineSettingPresent12" = "通知提醒设置"; +"XPMineSettingPresent13" = "设置"; +"XPMineSettingPresent14" = "个人信息与权限"; +"XPMineSettingPresent15" = "帮助"; +"XPMineSettingPresent16" = "我要反馈"; +"XPMineSettingPresent17" = "清除缓存"; +"XPMineSettingPresent18" = "检查更新"; +"XPMineSettingPresent19" = "关于"; +"XPMineSettingPresent20" = "黑名单"; +"XPMineSettingPresent21" = "绑定手机号"; +"XPMineSettingPresent23" = "设置密码"; +"XPMineSettingPresent24" = "清除缓存"; +"XPMineSettingPresent25" = "注销账号"; + +"XPMineUserInfoEditPresenter0" = "上传失败"; +"XPMineUserInfoEditPresenter1" = "昵称"; +"XPMineUserInfoEditPresenter2" = "头像"; +"XPMineUserInfoEditPresenter3" = "生日"; +"XPMineUserInfoEditPresenter4" = "相册"; +"XPMineUserInfoEditPresenter5" = "个人介绍"; + +"XPMineUserInfolbumPresenter0" = "上传失败"; + +"XPMineAttentionViewController0" = "没有更多数据了"; +"XPMineAttentionViewController1" = "我的关注"; +"XPMineAttentionViewController2" = "您还没有关注任何人"; + +"XPMineFriendViewController0" = "您还没有任何好友"; + +"XPMineShareViewController0" = "选择好友"; +"XPMineShareViewController1" = "确认分享给%@吗"; +"XPMineShareViewController4" = "关注"; + +"XPMineContactViewController3" = "关注"; + +"XPMineFansViewController0" = "没有更多房间了"; +"XPMineFansViewController1" = "我的粉丝"; +"XPMineFansViewController2" = "关注成功"; +"XPMineFansViewController3" = "您还没有任何粉丝"; + +"XPDressSearchViewController0" = "赠送成功"; +"XPDressSearchViewController1" = "请输入需要搜索的内容"; +"XPDressSearchViewController2" = "请输入需要搜索的内容"; + +"XPDressUpShopListViewController0" = "购买成功"; +"XPDressUpShopListViewController2" = "头饰使用成功"; +"XPDressUpShopListViewController4" = "座驾使用成功"; +"XPDressUpShopListViewController6" = "铭牌使用成功"; +"XPDressUpShopListViewController8" = "资料卡使用成功"; +"XPDressUpShopListViewController12" = "暂无聊天气泡"; + +"XPMineCarTableViewCell0" = "剩馀%ld天"; +"XPMineCarTableViewCell1" = "已过期"; +"XPMineCarTableViewCell2" = "取消使用"; +"XPMineCarTableViewCell3" = "使用"; +"XPMineCarTableViewCell4" = "使用"; + +"XPMineHeadwearTableViewCell0" = "剩馀%@天"; +"XPMineHeadwearTableViewCell1" = "已过期"; +"XPMineHeadwearTableViewCell2" = "取消使用"; +"XPMineHeadwearTableViewCell3" = "使用"; +"XPMineHeadwearTableViewCell4" = "使用"; + +"XPMineNobleCardTableViewCell0" = "剩馀%zd天"; +"XPMineNobleCardTableViewCell1" = "已过期"; +"XPMineNobleCardTableViewCell2" = "取消使用"; +"XPMineNobleCardTableViewCell3" = "使用"; +"XPMineNobleCardTableViewCell4" = "使用"; + +"XPMineNameplateTableViewCell0" = "剩馀%@天"; +"XPMineNameplateTableViewCell1" = "已过期"; +"XPMineNameplateTableViewCell2" = "取消使用"; +"XPMineNameplateTableViewCell3" = "使用"; +"XPMineNameplateTableViewCell4" = "使用"; + +"XPDressShopSearchTableViewCell0" = "%@号"; +"XPDressShopSearchTableViewCell1" = "赠送"; + +"XPDressUpShopCardTableViewCell0" = "%@(%zd天"; +"XPDressUpShopCardTableViewCell1" = "赠送"; +"XPDressUpShopCardTableViewCell2" = "购买"; +"XPDressUpShopCardTableViewCell3" = "限时"; + +"XPMineDressBubbleCollectionViewCell0" = "剩馀%zd天"; +"XPMineDressBubbleCollectionViewCell1" = "已过期"; +"XPMineDressBubbleCollectionViewCell2" = "取消使用"; +"XPMineDressBubbleCollectionViewCell3" = "使用"; +"XPMineDressBubbleCollectionViewCell4" = "使用"; + +"XPDressUpShopCollectionViewCell0" = "%@(%zd天"; +"XPDressUpShopCollectionViewCell1" = "赠送"; +"XPDressUpShopCollectionViewCell2" = "购买"; +"XPDressUpShopCollectionViewCell3" = "限时"; + +"XPMineDressEmptyTableViewCell0" = "暂无数据"; + +"XPMineDressEmptyCollectionViewCell0" = "暂无数据"; + +"XPMineDressUpBubbleViewController1" = "气泡使用成功"; +"XPMineDressUpBubbleViewController2" = "亲爱的用户,你还没有聊天气泡噢"; + +"XPDressUpShopCardViewController0" = "购买成功"; +"XPDressUpShopCardViewController2" = "头饰使用成功"; +"XPDressUpShopCardViewController4" = "座驾使用成功"; +"XPDressUpShopCardViewController6" = "铭牌使用成功"; +"XPDressUpShopCardViewController8" = "资料卡使用成功"; +"XPDressUpShopCardViewController9" = "暂无资料卡"; + +"XPMineDressUpViewController0" = "我的装扮"; +"XPMineDressUpViewController5" = "聊天气泡"; + +"XPMineDressUpListViewController1" = "头饰使用成功"; +"XPMineDressUpListViewController3" = "座驾使用成功"; +"XPMineDressUpListViewController5" = "铭牌使用成功"; +"XPMineDressUpListViewController7" = "资料卡使用成功"; +"XPMineDressUpListViewController10" = "亲爱的用户,你还没有铭牌噢"; + +"XPDressUpShopViewController0" = "我的装扮"; +"XPDressUpShopViewController1" = "装扮商城"; +"XPDressUpShopViewController6" = "聊天气泡"; +"XPDressUpShopViewController7" = "我的鑽石"; +"XPDressUpShopViewController8" = "充值"; + +"XPMineFansTeamViewController0" = "我加入的粉丝团"; +"XPMineFansTeamViewController1" = "暂无粉丝团"; + +"XPMineCollectPartyRoomViewController0" = "没有更多收藏记录了"; +"XPMineCollectPartyRoomViewController1" = "收藏的房间"; +"XPMineCollectPartyRoomViewController2" = "暂无收藏的房间"; + +"XPMinePayPwdInputView0" = "%ld后重试"; +"XPMinePayPwdInputView1" = "重新发送"; +"XPMinePayPwdInputView2" = "设置支付密码"; +"XPMinePayPwdInputView3" = "再次输支付密码"; +"XPMinePayPwdInputView4" = "请输入验证码"; +"XPMinePayPwdInputView5" = "获取验证码"; + +"XPMineNewUserRechargeView0" = "%zd天%zd小时%zd分"; +"XPMineNewUserRechargeView1" = "%zd天%zd分"; +"XPMineNewUserRechargeView2" = "%zd小时%zd分"; +"XPMineNewUserRechargeView3" = "%zd分"; + +"XPMineAccountView0" = "鑽石馀额"; + +"XPMineVerifIdentityView0" = "发送验证码"; + +"AnchorLevelTimeView0" = "时"; +"AnchorLevelTimeView1" = "分"; +"AnchorLevelTimeView2" = "秒"; + +"AnchorLevelProgressView0" = "收礼鑽石数"; +"AnchorLevelProgressView1" = "已完成"; +"AnchorLevelProgressView2" = "还差%ld鑽可完成"; +"AnchorLevelProgressView3" = "新用户私聊回覆率"; +"AnchorLevelProgressView4" = "已完成"; +"AnchorLevelProgressView5" = "还差%.0f%@可完成"; + +"AnchorLevelView0" = "当前评级"; + +///XPMineHeadView.m +"XPMineHeadView0" = "魔羯水瓶双鱼白羊金牛双子巨蟹狮子处女天秤天蝎射手魔羯"; +"XPMineHeadView1" = "错误日期格式!"; +"XPMineHeadView2" = "错误日期格式!!"; +"XPMineHeadView3" = "错误日期格式!!!"; +"XPMineHeadView4" = "关注"; +"XPMineHeadView5" = "粉丝"; +"XPMineHeadView6" = "%@座"; +"XPMineHeadView7" = "审核中"; +"XPMineHeadView8" = "复制成功"; + +"XPMineUserInfoHeaderView0" = "複制成功"; +"XPMineUserInfoHeaderView1" = "我是个默认签名"; +"XPMineUserInfoHeaderView2" = "%ld粉丝"; +"XPMineUserInfoHeaderView3" = "直播中"; + +"XPMineUserInfoDateView0" = "取消"; +"XPMineUserInfoDateView1" = "确定"; + +"XPMineRechageHeadView0" = "我的鑽石"; + +"XPMineRechargeNavView0" = "账户"; + +"XPFootPrintNavView0" = "全部清除"; +"XPFootPrintNavView1" = "足迹"; + +"XPMineAnchorFansTeamTableViewCell0" = "用户昵称"; + +"XPMineFriendTableViewCell0" = "这个人很懒还没有签名"; + +"XPMineFansTableViewCell0" = "这个人很懒还没有签名"; +"XPMineFansTableViewCell1" = "+关注"; +"XPMineFansTableViewCell2" = "互相关注"; + +"XPMineAttentionTableViewCell0" = "这个人很懒还没有签名"; +"XPMineAttentionTableViewCell1" = "找到"; + +"XPMineFriendEmptyTableViewCell0" = "暂无数据"; + +"XPMineDataGiftTableViewCell0" = "礼物牆"; +"XPMineDataGiftTableViewCell2" = "幸运礼物"; + +"XPMineUserInfoEmptyCollectionViewCell0" = "还未收到过礼物"; + +"XPMineDataClanTableViewCell0" = "公会·房间"; +"XPMineDataClanTableViewCell1" = "公会"; +"XPMineDataClanTableViewCell2" = "公会"; +"XPMineDataClanTableViewCell3" = "公会·房间"; +"XPMineDataClanTableViewCell4" = "申请加入"; + +"XPMineUserInfoTableViewCell0" = "%@号"; +"XPMineUserInfoTableViewCell1" = "我是个默认签名"; +"XPMineUserInfoTableViewCell2" = "直播中"; + +"XPMineVisitorEmptyTableViewCell0" = "暂无数据"; + +"XPMineVisitorTableViewCell0" = "用户昵称"; + +"XPMineRechargeTableViewCell0" = "鑽石"; + +"XPMineUserInfoViewController0" = "举报"; +"XPMineUserInfoViewController1" = "您的请求我们已经收到,我们将儘快处理"; +"XPMineUserInfoViewController2" = "拉黑"; +"XPMineUserInfoViewController3" = "移除黑名单"; +"XPMineUserInfoViewController4" = "移除黑名单,你将正常收到对方的消息"; +"XPMineUserInfoViewController5" = "加入黑名单"; +"XPMineUserInfoViewController6" = "加入黑名单,你将不再收到对方的消息"; +"XPMineUserInfoViewController7" = "移出黑名单成功"; +"XPMineUserInfoViewController8" = "加入黑名单成功"; +"XPMineUserInfoViewController9" = "编辑"; +"XPMineUserInfoViewController10" = "私信"; +"XPMineUserInfoViewController11" = "关注"; +"XPMineUserInfoViewController12" = "已关注"; +"XPMineUserInfoViewController14" = "动态"; + +"XPMineUserInfoAlbumViewController0" = "我的相册"; +"XPMineUserInfoAlbumViewController1" = "拍照上传"; +"XPMineUserInfoAlbumViewController3" = "相机权限受限,点击确定去系统设置"; +"XPMineUserInfoAlbumViewController5" = "相册权限受限,点击确定去系统设置"; +"XPMineUserInfoAlbumViewController6" = "本地相册"; +"XPMineUserInfoAlbumViewController8" = "相册权限受限,点击确定去系统设置"; +"XPMineUserInfoAlbumViewController10" = "相册权限受限,点击确定去系统设置"; +"XPMineUserInfoAlbumViewController11" = "最多只能上传8张照片"; +"XPMineUserInfoAlbumViewController12" = "删除是不可逆操作"; +"XPMineUserInfoAlbumViewController13" = "是否需要删除"; +"XPMineUserInfoAlbumViewController14" = "相片已送审,审核成功后自动上传相片"; +"XPMineUserInfoAlbumViewController15" = "删除成功"; +"XPMineUserInfoAlbumViewController16" = "编辑"; +"XPMineUserInfoAlbumViewController17" = "完成"; + +"XPMineUserDataViewController0" = "为了营造更安全的网络环境\n保护您和他人的财产安全\n请先进行实名认证"; +"XPMineUserDataViewController1" = "确定"; +"XPMineUserDataViewController2" = "实名认证"; +"XPMineUserDataViewController3" = "申请成功,等待管理员审核"; + +"XPMineSimpleUserInfoHeaderView0" = "我是个默认签名"; +"XPMineSimpleUserInfoHeaderView1" = "粉丝"; +"XPMineSimpleUserInfoHeaderView2" = "直播中"; +"XPMineSimpleUserInfoHeaderView3" = "礼物牆"; +"XPMineSimpleUserInfoHeaderView5" = "幸运礼物"; +"XPMineSimpleUserInfoHeaderView6" = "动态"; + +"XPMineSimpleUserInfoViewController0" = "举报"; +"XPMineSimpleUserInfoViewController1" = "您的请求我们已经收到,我们将儘快处理"; +"XPMineSimpleUserInfoViewController2" = "拉黑"; +"XPMineSimpleUserInfoViewController3" = "移除黑名单"; +"XPMineSimpleUserInfoViewController4" = "移除黑名单,你将正常收到对方的消息"; +"XPMineSimpleUserInfoViewController5" = "加入黑名单"; +"XPMineSimpleUserInfoViewController6" = "加入黑名单,你将不再收到对方的消息"; +"XPMineSimpleUserInfoViewController7" = "移出黑名单成功"; +"XPMineSimpleUserInfoViewController8" = "加入黑名单成功"; +"XPMineSimpleUserInfoViewController9" = "和TA聊天"; +"XPMineSimpleUserInfoViewController10" = "关注"; +"XPMineSimpleUserInfoViewController11" = "已关注"; + +"XPMineUserInfoDesViewController0" = "修改个人介绍"; +"XPMineUserInfoDesViewController1" = "最多输入%ld个介绍"; +"XPMineUserInfoDesViewController2" = "填写自我介绍,可以让别人更瞭解你哦"; +"XPMineUserInfoDesViewController3" = "完成"; + +"XPMineUserInfoEditViewController0" = "编辑个人资料"; +"XPMineUserInfoEditViewController1" = "拍照上传"; +"XPMineUserInfoEditViewController3" = "相机权限受限,点击确定去系统设置"; +"XPMineUserInfoEditViewController5" = "相册权限受限,点击确定去系统设置"; +"XPMineUserInfoEditViewController6" = "本地相册"; +"XPMineUserInfoEditViewController8" = "相册权限受限,点击确定去系统设置"; +"XPMineUserInfoEditViewController10" = "相册权限受限,点击确定去系统设置"; +"XPMineUserInfoEditViewController11" = "头像正在审核中"; +"XPMineUserInfoEditViewController12" = "头像已送审,审核成功后自动应用头像"; +"XPMineUserInfoEditViewController13" = "更新成功"; + +"XPMineUserInfoNickViewController0" = "修改昵称"; +"XPMineUserInfoNickViewController1" = "输入字数已达上限"; +"XPMineUserInfoNickViewController2" = "输入字数已达上限"; +"XPMineUserInfoNickViewController3" = "完成"; + +"XPMineUserInfoGiftWallViewController0" = "礼物"; +"XPMineUserInfoGiftWallViewController2" = "幸运礼物"; + +"XPMineVisitorViewController0" = "没有更多访客记录了"; +"XPMineVisitorViewController1" = "访客记录"; +"XPMineVisitorViewController2" = "暂无访客记录"; + +"XPMineViewController0" = "为了营造更安全的网络环境\n保护您和他人的财产安全\n请先进行实名认证"; +"XPMineViewController1" = "确定"; +"XPMineViewController2" = "实名认证"; + +"XPSimpleMineViewController0" = "你还没有工会"; +"XPSimpleMineViewController1" = "我的工会"; +"XPSimpleMineViewController2" = "个性装扮"; +"XPSimpleMineViewController3" = "粉丝团列表"; +"XPSimpleMineViewController4" = "青少年模式"; +"XPSimpleMineViewController5" = "意见反馈"; +"XPSimpleMineViewController6" = "设置"; + +"XPIAPRechargeHeaderView0" = "馀额"; + +"XPIAPRechargeViewController0" = "购买失败"; +"XPIAPRechargeViewController1" = "出现未知错误,请重新尝试"; +"XPIAPRechargeViewController2" = "确定充值"; +"XPIAPRechargeViewController3" = "《用户充值协议"; +"XPIAPRechargeViewController4" = "已阅读并同意"; +"XPIAPRechargeViewController5" = "如有任何问题请咨询客服,Piko号"; +"XPIAPRechargeViewController6" = "我的账户"; +"XPIAPRechargeViewController7" = "未成年禁止充值消费!请勿轻易相信各类刷单、 退款等信息,以免上当受骗"; + +"XPMineRechargeViewController0" = "购买失败"; +"XPMineRechargeViewController1" = "出现未知错误,请重新尝试"; +"XPMineRechargeViewController2" = "《用户充值协议"; +"XPMineRechargeViewController3" = "已阅读并同意"; + +///XPMinePayPwdViewController.m +"XPMinePayPwdViewController0" = "设置支付密码"; +"XPMinePayPwdViewController1" = "获取手机号失败"; +"XPMinePayPwdViewController2" = "验证码发送成功"; +"XPMinePayPwdViewController3" = "设置支付密码成功"; +"XPMinePayPwdViewController4" = "支付密码必须为6位的纯数字哦~"; +"XPMinePayPwdViewController5" = "支付密码必须为纯数字"; +"XPMinePayPwdViewController6" = "两次输入密码不一致"; +"XPMinePayPwdViewController7" = "请输入验证码"; +"XPMinePayPwdViewController8" = "确定"; +"XPMinePayPwdViewController9" = "验证码已发送至您绑定的手机%@****%@"; +"XPMinePayPwdViewController10" = "输入支付密码"; +"XPMinePayPwdViewController11" = "再次输入支付密码"; + +"XPMineBlackListViewController0" = "黑名单"; +"XPMineBlackListViewController1" = "移除"; + +"XPMineResetPayPwdViewController0" = "重置支付密码"; +"XPMineResetPayPwdViewController1" = "重置支付密码成功"; +"XPMineResetPayPwdViewController2" = "两次输入的密码不一致哦"; +"XPMineResetPayPwdViewController3" = "输入支付密码"; +"XPMineResetPayPwdViewController4" = "再次输入支付密码"; +"XPMineResetPayPwdViewController5" = "确定"; + +"XPMineSettingViewController0" = "设置"; +"XPMineSettingViewController1" = "请先绑定手机号码哦"; +"XPMineSettingViewController2" = "清除缓存"; +"XPMineSettingViewController3" = "要清除缓存吗"; +"XPMineSettingViewController4" = "清除缓存完成"; +"XPMineSettingViewController5" = "目前已更新到最新版本"; +"XPMineSettingViewController6" = "目前已更新到最新版本"; +"XPMineSettingViewController7" = "退出当前账号"; +"XPMineSettingViewController8" = "退出账号"; + +"XPMineModifPayPwdViewController0" = "修改支付密码"; +"XPMineModifPayPwdViewController1" = "修改支付密码成功"; +"XPMineModifPayPwdViewController2" = "两次输入的新密码不一致哦"; +"XPMineModifPayPwdViewController3" = "新支付密码必须为纯数字"; +"XPMineModifPayPwdViewController4" = "请输入当前支付密码"; +"XPMineModifPayPwdViewController5" = "输入支付密码"; +"XPMineModifPayPwdViewController6" = "再次输入支付密码"; +"XPMineModifPayPwdViewController7" = "确定"; +"XPMineModifPayPwdViewController8" = "忘记密码"; + +"XPMineFeedbackViewController0" = "反馈"; +"XPMineFeedbackViewController1" = "感谢您的宝贵意见,让我们共同营造更好的"; +"XPMineFeedbackViewController2" = "问题描述"; +"XPMineFeedbackViewController3" = "请详细描述您所遇到的问题与情况,感谢您提出宝贵的意见"; +"XPMineFeedbackViewController4" = "请输入您的QQ或微信号"; +"XPMineFeedbackViewController5" = "提交反馈"; + +"XPMineAboutUsViewController0" = "关于"; + +"XPMineNotificaViewController0" = "通知提醒设置"; + +"XPMineResetLoginPwdViewController0" = "忘记密码"; +"XPMineResetLoginPwdViewController1" = "请输入手机号"; +"XPMineResetLoginPwdViewController2" = "验证码发送成功"; +"XPMineResetLoginPwdViewController3" = "密码重置成功,请重新登录"; +"XPMineResetLoginPwdViewController4" = "%ds后重试"; +"XPMineResetLoginPwdViewController5" = "重新发送"; +"XPMineResetLoginPwdViewController6" = "下一步"; +"XPMineResetLoginPwdViewController7" = "请输入您的手机号码"; +"XPMineResetLoginPwdViewController8" = "请输入您收到的验证码"; +"XPMineResetLoginPwdViewController9" = "请输入密码(6-16个字符)数字和英文字母组合"; + +"XPMineLoginPasswordViewController0" = "设置成功"; +"XPMineLoginPasswordViewController1" = "修改成功"; +"XPMineLoginPasswordViewController2" = "两次输入的新密码不一致哦"; +"XPMineLoginPasswordViewController3" = "输入原密码"; +"XPMineLoginPasswordViewController4" = "输入新密码"; +"XPMineLoginPasswordViewController5" = "再次确认密码"; +"XPMineLoginPasswordViewController6" = "重置密码"; +"XPMineLoginPasswordViewController7" = "输入密码"; +"XPMineLoginPasswordViewController8" = "再次确认密码"; +"XPMineLoginPasswordViewController9" = "设置密码"; +"XPMineLoginPasswordViewController10" = "确定"; +"XPMineLoginPasswordViewController11" = "忘记密码"; +"XPMineLoginPasswordViewController12" = "密码必须使用6-16个字符内的数字和英文字母组合哦"; + +"XPMineVerifIdentityViewController0" = "验证身份"; +"XPMineVerifIdentityViewController1" = "请输入手机号"; +"XPMineVerifIdentityViewController2" = "验证码发送成功"; +"XPMineVerifIdentityViewController3" = "验证成功"; +"XPMineVerifIdentityViewController4" = "%ds后重试"; +"XPMineVerifIdentityViewController5" = "重新发送"; +"XPMineVerifIdentityViewController6" = "下一步"; +"XPMineVerifIdentityViewController7" = "请输入您的手机号码"; +"XPMineVerifIdentityViewController8" = "请输入您收到的验证码"; + +"XPMineCollectRoomListViewController0" = "取消收藏成功"; +"XPMineCollectRoomListViewController1" = "收藏的房间"; +"XPMineCollectRoomListViewController2" = "请选择房间"; +"XPMineCollectRoomListViewController3" = "请选择房间"; +"XPMineCollectRoomListViewController4" = "全选"; +"XPMineCollectRoomListViewController5" = "管理"; +"XPMineCollectRoomListViewController6" = "完成"; +"XPMineCollectRoomListViewController7" = "删除"; +"XPMineCollectRoomListViewController8" = "派对房"; +"XPMineCollectRoomListViewController9" = "直播房"; + +"XPSimpleMineHeaderView0" = "关注"; +"XPSimpleMineHeaderView1" = "粉丝"; +"XPSimpleMineHeaderView2" = "访客"; +"XPSimpleMineHeaderView3" = "浏览"; +"XPSimpleMineHeaderView4" = "我的钱包"; +"XPSimpleMineHeaderView5" = "我的房间"; +"XPSimpleMineHeaderView6" = "我的收藏"; +"XPSimpleMineHeaderView7" = "我的等级"; + +"XPMineFootPrintViewController0" = "没有更多进房记录了"; +"XPMineFootPrintViewController1" = "删除成功"; +"XPMineFootPrintViewController2" = "收藏成功"; +"XPMineFootPrintViewController3" = "暂无进房记录"; +"XPMineFootPrintViewController4" = "删除"; +"XPMineFootPrintViewController5" = "收藏"; + +"XPPrivacyViewController0" = "个人信息与权限"; +"XPPrivacyViewController1" = "系统权限管理"; +"XPPrivacyViewController2" = "隐私保护指引"; +"XPPrivacyViewController3" = "第三方 SDK 目录"; +"XPPrivacyViewController4" = "个人信息收集清单"; +"XPPrivacyViewController5" = "设备权限清单"; +"XPPrivacyViewController6" = "用户充值协议"; +"XPPrivacyViewController7" = "用户注册服务协议"; +"XPPrivacyViewController8" = "直播服务协议"; +"XPPrivacyViewController9" = "社区规范"; +"XPPrivacyViewController10" = "账号注销协议"; + +"XPPermissionsViewController0" = "系统权限管理"; +"XPPermissionsViewController1" = "照片"; +"XPPermissionsViewController2" = "读取相册或者存储图片到相册"; +"XPPermissionsViewController3" = "麦克风"; +"XPPermissionsViewController4" = "录制音频"; +"XPPermissionsViewController5" = "相机"; +"XPPermissionsViewController6" = "拍摄照片或录制视频"; +"XPPermissionsViewController7" = "未有已授权的系统权限"; +"XPPermissionsViewController8" = "—— 仅展示能查询到的已授权系统权限"; +"XPPermissionsViewController9" = "前往系统设置"; + +"XPRoomSearchContainerViewController0" = "请输入需要搜索的内容"; +"XPRoomSearchContainerViewController1" = "请输入需要搜索的内容"; +"XPRoomSearchContainerViewController2" = "请输入需要搜索的内容"; +"XPRoomSearchContainerViewController4" = "用户"; + +"XPRoomSearchRecordViewController0" = "清空"; +"XPRoomSearchRecordViewController1" = "手滑了"; +"XPRoomSearchRecordViewController2" = "确定清空搜索记录吗"; +"XPRoomSearchRecordViewController3" = "清空"; +"XPRoomSearchRecordViewController4" = "手滑了"; +"XPRoomSearchRecordViewController5" = "确定清空进房记录吗"; +"XPRoomSearchRecordViewController6" = "大家都在搜"; +"XPRoomSearchRecordViewController7" = "搜索记录"; +"XPRoomSearchRecordViewController8" = "进房记录"; + +"XPHomeRedommendCollectionViewCell0" = "PK中"; +"XPHomeRedommendCollectionViewCell1" = "虚位以待"; + +"XPHomeCollectRoomTableViewCell0" = "pk中"; + +"XPSearchListTableViewCell0" = "%@号"; +"XPSearchListTableViewCell1" = "直播中"; +"XPSearchListTableViewCell2" = "%@号"; +"XPSearchListTableViewCell3" = "消息"; +"XPSearchListTableViewCell4" = "直播中"; + +"XPHomeAttentionCollectionViewCell0" = "直播"; + +"XPHomeSearchRelateView0" = "相关房间"; + +"XPHomeSearchNavView0" = "搜索昵称/ID/房间名"; +"XPHomeSearchNavView1" = "搜索"; + +"XPRoomSearchRecommendHeadView0" = "暂无开播厅房"; +"XPRoomSearchRecommendHeadView1" = "为你推荐"; + +"XPNewHomePlayEmptyTableViewCell0" = "快来创建房间一起交友吧"; + +"XPNewHomeViewController0" = "推荐"; +"XPNewHomeViewController1" = "推荐"; +"XPNewHomeViewController2" = "推荐"; +"XPNewHomeViewController3" = "推荐"; + +"XPNewHomeNavView0" = "搜索昵称/ID/房间"; + +"XPHomeRecommendViewController0" = "扩列聊天"; +"XPHomeRecommendViewController1" = "房间派对"; + +"XPHomePartyViewController0" = "没有更多房间了"; + +"XPRoomNewUserGreetView0" = "Ta向你发送了一条消息"; +"XPRoomNewUserGreetView1" = "Ta们向你发送了多条消息"; +"XPRoomNewUserGreetView2" = "Ta向你发送了多条消息"; +"XPRoomNewUserGreetView3" = "点击查看"; + +"XPAnchorPKRuleView0" = "PK规则"; + +"XPAnchorRandomPKRuleView0" = "PK规则"; +"XPAnchorRandomPKRuleView1" = "随机"; +"XPAnchorRandomPKRuleView2" = "参与匹配,随机与一名主播房主播PK,匹配成功后开启PK。PK时长固定"; +"XPAnchorRandomPKRuleView3" = "邀请"; +"XPAnchorRandomPKRuleView4" = "指定一个主播房主播,邀请其进行PK,对方接受后开启"; + +"XPAnchorPKResultView0" = "PK值"; +"XPAnchorPKResultView1" = "PK值"; +"XPAnchorPKResultView2" = "关闭"; +"XPAnchorPKResultView3" = "关闭"; +"XPAnchorPKResultView4" = "本场PK贡献值前三"; +"XPAnchorPKResultView5" = "暂时无人送礼,再玩一局吧"; + +"XPAnchorPKInviteView0" = "PK时长"; +"XPAnchorPKInviteView1" = "%@分钟"; +"XPAnchorPKInviteView2" = "PK邀请"; +"XPAnchorPKInviteView3" = "邀请方"; +"XPAnchorPKInviteView4" = "PK时长"; +"XPAnchorPKInviteView5" = "PK玩法"; +"XPAnchorPKInviteView6" = "拒绝"; +"XPAnchorPKInviteView7" = "接受"; + +"XPAnchorPKFinishView0" = "PK结束"; + +"XPAnchorPkPanelView0" = "主播已关闭对方房间的声音"; +"XPAnchorPkPanelView1" = "结果计算中"; +"XPAnchorPkPanelView2" = "关注成功"; +"XPAnchorPkPanelView3" = "惩罚时间"; + +"XPAnchorPKViewController0" = "pk已发起,请等待对方接受"; +"XPAnchorPKViewController1" = "知道了"; +"XPAnchorPKViewController2" = "PK时长最长为30分钟"; +"XPAnchorPKViewController3" = "PK时长最短为5分钟"; +"XPAnchorPKViewController4" = "主播"; +"XPAnchorPKViewController5" = "选择PK对象"; +"XPAnchorPKViewController6" = "选择PK时长"; +"XPAnchorPKViewController7" = "10分钟"; +"XPAnchorPKViewController8" = "20分钟"; +"XPAnchorPKViewController9" = "30分钟"; +"XPAnchorPKViewController10" = "自定义(5-30)分钟"; +"XPAnchorPKViewController11" = "PK玩法"; +"XPAnchorPKViewController12" = "选填,10个字以内"; +"XPAnchorPKViewController13" = "发起挑战"; + +"XPAnchorPKSelectTypeController0" = "选择PK方式"; + +"XPAnchorPKTableViewCell0" = "PK中"; +"XPAnchorPKTableViewCell1" = "离线"; +"XPAnchorPKTableViewCell2" = "选择"; +"XPAnchorPKTableViewCell3" = "选择"; + +"XPAnchorPKSelectRoomView0" = "没有更多房间了"; +"XPAnchorPKSelectRoomView1" = "请输入要搜索的厅"; +"XPAnchorPKSelectRoomView2" = "请输入厅的"; + +"XPRoomPKResultView0" = "· 蓝队战绩"; +"XPRoomPKResultView1" = "查看我的战绩"; +"XPRoomPKResultView2" = "无"; +"XPRoomPKResultView3" = "· 红队战绩"; +"XPRoomPKResultView4" = "查看对方战绩"; +"XPRoomPKResultView5" = "无"; +"XPRoomPKResultView6" = "· 红队战绩"; +"XPRoomPKResultView7" = "查看我的战绩"; +"XPRoomPKResultView8" = "无"; +"XPRoomPKResultView9" = "· 蓝队战绩"; +"XPRoomPKResultView10" = "查看红队战绩"; +"XPRoomPKResultView11" = "无"; +"XPRoomPKResultView12" = "· 红队战绩"; +"XPRoomPKResultView13" = "查看蓝队战绩"; +"XPRoomPKResultView14" = "无"; +"XPRoomPKResultView15" = "· 蓝队战绩"; +"XPRoomPKResultView16" = "查看红队战绩"; +"XPRoomPKResultView17" = "无"; +"XPRoomPKResultView18" = "· 蓝队胜利"; +"XPRoomPKResultView19" = "查看红队战绩"; +"XPRoomPKResultView20" = "无"; +"XPRoomPKResultView21" = "· 红队胜利"; +"XPRoomPKResultView22" = "查看蓝队战绩"; +"XPRoomPKResultView23" = "无"; +"XPRoomPKResultView24" = "· 势均力敌"; +"XPRoomPKResultView25" = "本局平局 战斗值"; +"XPRoomPKResultView26" = "PK选手"; +"XPRoomPKResultView27" = "战斗值"; +"XPRoomPKResultView28" = "守护者"; +"XPRoomPKResultView29" = "守护值"; +"XPRoomPKResultView30" = "查看对方战绩"; +"XPRoomPKResultView31" = "彆气馁,%@永远支持你"; + +"XPRoomPKRecordViewController0" = "PK记录"; +"XPRoomPKRecordViewController1" = "没有更多的记录了"; + +"XPRoomPKTimePickerView0" = "%d分钟"; +"XPRoomPKTimePickerView1" = "0分钟"; +"XPRoomPKTimePickerView2" = "30分钟"; +"XPRoomPKTimePickerView3" = "%d分%d秒"; +"XPRoomPKTimePickerView4" = "%d秒"; +"XPRoomPKTimePickerView5" = "取消"; +"XPRoomPKTimePickerView6" = "确定"; +"XPRoomPKTimePickerView7" = "0秒"; +"XPRoomPKTimePickerView8" = "30秒"; + +"XPRoomPKSelectUserView0" = "0号麦位"; +"XPRoomPKSelectUserView1" = "确定"; +"XPRoomPKSelectUserView2" = "%d号麦位"; + +"XPRoomPKUserView0" = "等待上麦"; +"XPRoomPKUserView1" = "等待上麦"; + +"XPRoomPKTimeTableViewCell0" = "PK时间"; +"XPRoomPKTimeTableViewCell1" = "30秒"; + +"XPRoomPKTypeTableViewCell0" = "PK模式"; +"XPRoomPKTypeTableViewCell1" = "按团队"; + +"XPRoomPKVoteTableViewCell0" = "投票类型"; +"XPRoomPKVoteTableViewCell1" = "按礼物价值"; +"XPRoomPKVoteTableViewCell2" = "按送礼人数"; + +"XPRoomPKRecordTableViewCell0" = "平局"; +"XPRoomPKRecordTableViewCell1" = "平局"; +"XPRoomPKRecordTableViewCell2" = "胜利"; +"XPRoomPKRecordTableViewCell3" = "失败"; +"XPRoomPKRecordTableViewCell4" = "失败"; +"XPRoomPKRecordTableViewCell5" = "胜利"; +"XPRoomPKRecordTableViewCell6" = "按礼物价值"; +"XPRoomPKRecordTableViewCell7" = "按送礼人数"; + +"XPRoomPKEmptyTableViewCell0" = "暂无数据"; + +"XPRoomPKProgressView0" = "开始PK成功"; +"XPRoomPKProgressView1" = "关闭PK模式成功"; +"XPRoomPKProgressView2" = "未开始"; +"XPRoomPKProgressView3" = "重新开始将会提前结束本次PK\n确认重新开始吗"; +"XPRoomPKProgressView4" = "是否再次开始"; +"XPRoomPKProgressView5" = "当前正在准备阶段,是否确认准备开始"; +"XPRoomPKProgressView6" = "每队至少有一个人"; +"XPRoomPKProgressView7" = "获取PK信息失败"; +"XPRoomPKProgressView8" = "未开始"; +"XPRoomPKProgressView9" = "开始"; + +"XPRoomPKViewController0" = "创建"; +"XPRoomPKViewController1" = "PK记录"; +"XPRoomPKViewController2" = "创建成功"; +"XPRoomPKViewController3" = "结束PK,会关闭现在进行的PK并恢复普通房间模式,确定关闭当前PK吗"; +"XPRoomPKViewController4" = "创建此PK,会覆盖现在进行的PK,\n 确定覆盖当前PK吗"; +"XPRoomPKViewController5" = "确定"; +"XPRoomPKViewController6" = "再次创建"; +"XPRoomPKViewController7" = "关闭PK模式"; + +"XPRoomPKPlayingView1" = "按送礼人数"; +"XPRoomPKPlayingView2" = "重新开始"; + +"XPAcrossRoomPKViewController0" = "pk已发起,请等待对方接受"; +"XPAcrossRoomPKViewController1" = "知道了"; +"XPAcrossRoomPKViewController2" = "PK时长最长为180分钟"; +"XPAcrossRoomPKViewController3" = "PK时长最短为5分钟"; +"XPAcrossRoomPKViewController4" = "跨房"; +"XPAcrossRoomPKViewController5" = "选择PK对象"; +"XPAcrossRoomPKViewController6" = "选择PK时长"; +"XPAcrossRoomPKViewController7" = "10分钟"; +"XPAcrossRoomPKViewController8" = "20分钟"; +"XPAcrossRoomPKViewController9" = "30分钟"; +"XPAcrossRoomPKViewController10" = "自定义(5-180)分钟"; +"XPAcrossRoomPKViewController11" = "PK玩法"; +"XPAcrossRoomPKViewController12" = "选填,10个字以内"; +"XPAcrossRoomPKViewController13" = "发起挑战"; + +"XPAcrossRoomPKInviteResultView0" = "对方接受你的pk请求,pk准备中"; +"XPAcrossRoomPKInviteResultView1" = "对方拒绝你的pk请求"; + +"XPAcrpssRoomPKPanelView0" = "PK结果计算中"; +"XPAcrpssRoomPKPanelView1" = "1)按收到的礼物价值积分(1鑽石=1分),礼物值高的一方获胜。\n2)PK结束后,若比分差距≥1314或双方分数总值≥15000(平局除外)将在与获胜方相同类型的房间公示PK结果;若比分差距≥5200或双方分数总值≥30000(平局除外)将在全服所有房间公示PK结果"; +"XPAcrpssRoomPKPanelView2" = "助攻"; +"XPAcrpssRoomPKPanelView3" = "去围观"; +"XPAcrpssRoomPKPanelView4" = "神豪"; +"XPAcrpssRoomPKPanelView5" = "魅力"; + +"XPAcrossRoomPKForceEndResultView0" = "PK结束"; + +"XPAcrossRoomPKCountDownView0" = "下一场"; + +"XPAcrossRoomPKPrizeView0" = "去围观"; +"XPAcrossRoomPKPrizeView1" = "来围观"; + +"XPAcrossRoomPKResultView0" = "神豪值"; +"XPAcrossRoomPKResultView1" = "魅力值"; + +"XPAnchorPKMatchView0" = "取消匹配"; +"XPAnchorPKMatchView1" = "暂未匹配到合适的PK对象\n是否继续"; +"XPAnchorPKMatchView2" = "PK匹配中"; + +"XPAcrossRoomPKInviteView0" = "PK时长"; +"XPAcrossRoomPKInviteView1" = "%@分钟"; +"XPAcrossRoomPKInviteView2" = "PK邀请"; +"XPAcrossRoomPKInviteView3" = "邀请方"; +"XPAcrossRoomPKInviteView4" = "PK时长"; +"XPAcrossRoomPKInviteView5" = "PK玩法"; +"XPAcrossRoomPKInviteView6" = "拒绝"; +"XPAcrossRoomPKInviteView7" = "接受"; + +"XPAcrossRoomPKRuleView0" = "如何开启跨房"; +"XPAcrossRoomPKRuleView1" = "1)只有牌照房房主和超管才可以发起跨房pk,一次只能选择一个牌照房发起;\n2)只有房主和超管才可以接受或拒绝跨房pk请求,若10秒内不点击pk邀请弹窗,弹窗消失,视为自动拒绝;\n3)发起pk时需选择pk时间和pk对象,自定义时间下限为5,上限为180,只能填写整数;\n4)pk发起后,未到pk时间无法自行结束,若有特殊情况需提前结束可联繫客服,但本场pk不算胜负"; + +"XPAcrossRoomPKEmptyTableViewCell0" = "暂无搜索结果"; + +"XPAcrossRoomPKSelectRoomView0" = "没有更多房间了"; +"XPAcrossRoomPKSelectRoomView1" = "请输入要搜索的厅"; +"XPAcrossRoomPKSelectRoomView2" = "请输入厅的"; +"XPAcrossRoomPKSelectRoomView3" = "确认选择"; + +"XPMiniRoomView0" = "您被管理员踢出直播间"; +"XPMiniRoomView1" = "您被管理员踢出直播间"; +"XPMiniRoomView2" = "房主或管理员拉你上麦"; +"XPMiniRoomView3" = "你已被房主或管理员拉上麦,但并未开启麦克风。如需要说话,请打开麦克风"; + +"XPUserCardPresenter1" = "房主位"; +"XPUserCardPresenter2" = "%d号男神位"; +"XPUserCardPresenter3" = "%d号女神位"; +"XPUserCardPresenter4" = "%d号麦位"; +"XPUserCardPresenter6" = "开麦"; +"XPUserCardPresenter9" = "抱Ta下麦"; +"XPUserCardPresenter11" = "解锁"; +"XPUserCardPresenter12" = "清除礼物值"; +"XPUserCardPresenter13" = "送礼物"; +"XPUserCardPresenter14" = "私聊"; +"XPUserCardPresenter15" = "关注"; +"XPUserCardPresenter16" = "已关注"; +"XPUserCardPresenter17" = "踢出房间"; +"XPUserCardPresenter18" = "设置管理员"; +"XPUserCardPresenter19" = "取消管理员"; +"XPUserCardPresenter20" = "拉入黑名单"; + +"XPUserCardViewController0" = "用户不在房间内"; +"XPUserCardViewController1" = "用户已经被拉黑了"; +"XPUserCardViewController2" = "清除成功"; +"XPUserCardViewController3" = "操作成功"; +"XPUserCardViewController4" = "该用户为%@贵族,只有房主才可以踢出哦"; +"XPUserCardViewController5" = "该用户为%@贵族\n确认是否要将其踢出房间"; +"XPUserCardViewController6" = "游戏模式下默认该玩家退出游戏是否要将此用户踢出房间"; +"XPUserCardViewController7" = "游戏模式下默认该玩家退出游戏是否要将此用户踢出房间"; +"XPUserCardViewController8" = "是否需要将%@踢出房间"; +"XPUserCardViewController9" = "操作提醒"; +"XPUserCardViewController10" = "该用户为%@贵族,只有房主才可以踢出哦"; +"XPUserCardViewController11" = "该用户为%@贵族\n确认是否要将其拉黑"; +"XPUserCardViewController12" = "游戏模式下默认该玩家退出游戏是否要将此用户踢出房间"; +"XPUserCardViewController13" = "是否将%@加入黑名单?加入后他将无法进入此房间游戏模式下默认该玩家退出游戏"; +"XPUserCardViewController14" = "你正在拉黑"; +"XPUserCardViewController15" = "拉黑后他将无法加入此房间"; +"XPUserCardViewController16" = "房间公屏已关闭"; +"XPUserCardViewController17" = "游戏中不可主动下麦"; +"XPUserCardViewController18" = "抱Ta下麦后默认该玩家退出游戏,是否继续"; +"XPUserCardViewController19" = "确认选择%d号嘉宾吗"; +"XPUserCardViewController20" = "该选择不能被取消修改"; +"XPUserCardViewController21" = "複制成功"; +"XPUserCardViewController22" = "举报"; +"XPUserCardViewController23" = "选择心动"; + +"XPRoomInsideRecommendEmptyCell0" = "努力寻找合适房间中"; + +"XPRoomRecommendView0" = "为你推荐"; +"XPRoomRecommendView3" = "举报房间"; + +"XPAnchorFansTeamEntranceView0" = "粉丝团"; +"XPAnchorFansTeamEntranceView1" = "开通粉丝团"; +"XPAnchorFansTeamEntranceView2" = "粉丝"; +"XPAnchorFansTeamEntranceView3" = "加入粉丝团"; +"XPAnchorFansTeamEntranceView4" = "TA暂未开通粉丝团"; + +"XPAnchorFansTaskTableViewCell0" = "已完成"; + +"XPAnchorFansTeamViewController0" = "·%ld人"; +"XPAnchorFansTeamViewController1" = "加入粉丝团成功"; + +"XPAnchorFansTaskViewController0" = "·%ld人"; +"XPAnchorFansTaskViewController1" = "亲密值"; +"XPAnchorFansTaskViewController2" = "退出粉丝团后24小时内不能再次加入,确定退出吗"; +"XPAnchorFansTaskViewController3" = "查看粉丝团说明"; +"XPAnchorFansTaskViewController4" = "退出粉丝团"; + +"XPAnchorAudienceUpMicView0" = "TA悄悄点击了嘉宾位置\n需要邀请TA上麦互动吗"; +"XPAnchorAudienceUpMicView1" = "取消"; +"XPAnchorAudienceUpMicView2" = "确认"; + +"XPRoomAnchorInfoCardView0" = "已关注"; +"XPRoomAnchorInfoCardView1" = "点击加关注,下次直播不迷路"; +"XPRoomAnchorInfoCardView2" = "关注"; + +"XPRoomAnchorRankEnterView0" = "小时榜"; + +"XPRoomFunctionContainerView0" = "开始选择"; +"XPRoomFunctionContainerView1" = "公佈心动"; +"XPRoomFunctionContainerView2" = "结束本轮"; +"XPRoomFunctionContainerView3" = "嘉宾交流"; +"XPRoomFunctionContainerView4" = "主播榜"; +"XPRoomFunctionContainerView5" = "房间榜"; +"XPRoomFunctionContainerView6" = "主播榜"; +"XPRoomFunctionContainerView7" = "房间榜"; +"XPRoomFunctionContainerView8" = "进入心动选人环节"; +"XPRoomFunctionContainerView9" = "进入心动公佈环节"; +"XPRoomFunctionContainerView10" = "结束本轮,同时清空魅力值"; +"XPRoomFunctionContainerView11" = "进入嘉宾交流环节"; +"XPRoomFunctionContainerView12" = "暂未设置话题"; +"XPRoomFunctionContainerView13" = "开始选择"; + +"XPRoomBackContainerView0" = "贵族专属背景图加载失败"; +"XPRoomBackContainerView1" = "个播背景图加载失败"; + +"XPRoomRankEntranceView0" = "房间榜"; + +"XPRoomDatingVipUpMicView0" = "1.每轮相亲在“嘉宾交流”阶段累积送礼满999鑽石且送礼价值最高的用户自动登上VIP席位;\n\n2.若出现多个满足上VIP席位要求的用户,VIP席位最终由送礼价值最高的用户获得,若送礼价值相同以最先达到该值的用户为准;\n\n3.VIP席位的用户可选择是否下麦,其他用户不可因此代替坐上席位;\n\n4.用户只能在“嘉宾交流”阶段抢夺VIP席位,“嘉宾交流”阶段后直到结束本轮前,即使送出超过之前VIP总礼物价值也不能换人;\n\n5.每轮相亲结束后VIP席位清空,下一轮重新开始抢位"; + +"XPNewUserRoomGiftView0" = "获得新人礼物"; +"XPNewUserRoomGiftView1" = "已放入背包,儘快使用吧"; + +"XPMoreMenuPresenter1" = "PK模式"; +"XPMoreMenuPresenter3" = "开启礼物值"; +"XPMoreMenuPresenter5" = "开启我的特效"; +"XPMoreMenuPresenter6" = "心愿礼物"; +"XPMoreMenuPresenter8" = "相亲房"; +"XPMoreMenuPresenter10" = "跨房"; +"XPMoreMenuPresenter12" = "主播"; +"XPMoreMenuPresenter13" = "结束"; +"XPMoreMenuPresenter14" = "主播PK中"; +"XPMoreMenuPresenter15" = "结束"; +"XPMoreMenuPresenter16" = "结束"; +"XPMoreMenuPresenter17" = "PK匹配中"; +"XPMoreMenuPresenter19" = "关闭公屏"; +"XPMoreMenuPresenter20" = "清空公屏"; +"XPMoreMenuPresenter21" = "房间设置"; +"XPMoreMenuPresenter22" = "邀请粉丝"; +"XPMoreMenuPresenter23" = "发佈广播"; +"XPMoreMenuPresenter24" = "红包"; +"XPMoreMenuPresenter25" = "扬声器"; + +"XPRoomMoreMenuViewController0" = "开启礼物值成功"; +"XPRoomMoreMenuViewController1" = "关闭礼物值成功"; +"XPRoomMoreMenuViewController2" = "相亲模式中不能关闭房间礼物值"; +"XPRoomMoreMenuViewController3" = "关闭礼物值将会清除当前麦上所有礼物值数据,确认关闭吗"; +"XPRoomMoreMenuViewController4" = "礼物特效已开启"; +"XPRoomMoreMenuViewController5" = "礼物特效已关闭"; +"XPRoomMoreMenuViewController6" = "跨房PK中不可开启相亲模式"; +"XPRoomMoreMenuViewController7" = "房间PK中不可开启相亲模式"; +"XPRoomMoreMenuViewController8" = "开启相亲模式?开启同时现有礼物值将被清空"; +"XPRoomMoreMenuViewController9" = "开启"; +"XPRoomMoreMenuViewController10" = "提示"; +"XPRoomMoreMenuViewController11" = "关闭相亲模式"; +"XPRoomMoreMenuViewController12" = "关闭"; +"XPRoomMoreMenuViewController13" = "相亲中不可开启跨房"; +"XPRoomMoreMenuViewController14" = "PK中不可以开启跨房"; +"XPRoomMoreMenuViewController15" = "正在跨房PK中"; +"XPRoomMoreMenuViewController16" = "取消匹配"; +"XPRoomMoreMenuViewController17" = "提示"; +"XPRoomMoreMenuViewController18" = "确定要清空公屏消息吗?\n(清空后不可恢复哦"; +"XPRoomMoreMenuViewController19" = "确定"; +"XPRoomMoreMenuViewController20" = "相亲中不可以开启PK模式"; +"XPRoomMoreMenuViewController21" = "跨房PK中不可以开启PK模式"; + +"XPRoomInviteFansView0" = "今日剩馀%d次"; +"XPRoomInviteFansView1" = "今日次数已用完"; +"XPRoomInviteFansView2" = "确认邀请后会给收藏该房间的%ld位用户发送提醒"; +"XPRoomInviteFansView3" = "确认邀请"; +"XPRoomInviteFansView4" = "%02d分%02d秒后可邀请"; +"XPRoomInviteFansView5" = "邀请房间粉丝"; +"XPRoomInviteFansView6" = "每日发送次数不可超过5次"; +"XPRoomInviteFansView7" = "1小时内限发送一次邀请"; +"XPRoomInviteFansView8" = "确认邀请"; + +"XPRoomMenuContainerView0" = "房间公屏已关闭"; +"XPRoomMenuContainerView1" = "PK已开始暂时无法排麦"; +"XPRoomMenuContainerView2" = "说点什麽"; +"XPRoomMenuContainerView3" = "快给大家打个招呼吧"; + +"XPRoomSendTextView0" = "请输入消息"; +"XPRoomSendTextView1" = "发送"; + +"DatingStageView0" = "你已经在麦上了"; +"DatingStageView1" = "需要排麦才可以上麦哦"; +"DatingStageView3" = "开麦"; +"DatingStageView4" = "上麦"; + +"StageView0" = "房主或管理员拉你上麦"; +"StageView1" = "你已被房主或管理员拉上麦,但并未开启麦克风。如需要说话,请打开麦克风"; +"StageView2" = "移出坑位"; +"StageView3" = "请先关闭离开模式"; +"StageView4" = "该麦位已经有人了哦"; +"StageView5" = "上麦"; +"StageView6" = "入驻坑位"; +"StageView8" = "切换为自由麦"; +"StageView10" = "解锁"; +"StageView12" = "解锁坑位"; +"StageView14" = "开麦"; +"StageView16" = "开启麦位话筒"; +"StageView18" = "抱Ta上麦"; +"StageView19" = "你已经在麦上了"; +"StageView20" = "需要排麦才可以上麦哦"; +"StageView21" = "正在上麦"; + +"AnchorStageView1" = "解锁"; +"AnchorStageView3" = "开麦"; +"AnchorStageView4" = "抱Ta上麦"; +"AnchorStageView5" = "你已经在麦上了喔"; +"AnchorStageView6" = "让主播抱你上麦进行更多互动吧"; + +"SocialMicroView0" = "老闆位"; + +"LittleGameMicroView0" = "房主"; +"LittleGameMicroView1" = "未准备"; +"LittleGameMicroView2" = "已准备"; +"LittleGameMicroView3" = "游戏中"; +"LittleGameMicroView4" = "未准备"; + +"MicroGiftValueView0" = "9999万"; +"MicroGiftValueView1" = "%lld万"; + +"MicroView0" = "号麦位"; +"MicroView1" = "坑位"; +"MicroView2" = "红队"; +"MicroView3" = "蓝队"; +"MicroView4" = "离开"; + +"MicroDatingProgressView0" = "嘉宾交流"; +"MicroDatingProgressView1" = "嘉宾交流"; +"MicroDatingProgressView2" = "心动选人"; +"MicroDatingProgressView3" = "公佈心动"; +"MicroDatingProgressView4" = "嘉宾交流"; + +"DatingMicroView0" = "主持人"; +"DatingMicroView1" = "号女神位"; +"DatingMicroView2" = "号男神位"; +"DatingMicroView3" = "选%d号"; +"DatingMicroView4" = "未选择"; +"DatingMicroView5" = "选"; +"DatingMicroView6" = "选%d号"; +"DatingMicroView7" = "未选择"; +"DatingMicroView8" = "选%d号"; +"DatingMicroView9" = "已选择"; +"DatingMicroView10" = "未选择"; +"DatingMicroView11" = "选"; +"DatingMicroView12" = "选%d号"; +"DatingMicroView13" = "已选择"; +"DatingMicroView14" = "已选择"; +"DatingMicroView15" = "未选择"; +"DatingMicroView16" = "选%d号"; +"DatingMicroView17" = "未选择"; +"DatingMicroView18" = "选"; +"DatingMicroView19" = "选%d号"; +"DatingMicroView20" = "未选择"; +"DatingMicroView21" = "未选择"; + +"AnchorPKStageView0" = "规则"; + +"RoomHeaderView0" = "退出聊天室"; +"RoomHeaderView1" = "举报该聊天室"; +"RoomHeaderView2" = "您的请求我们已经收到,我们将儘快处理"; +"RoomHeaderView3" = "在线"; +"RoomHeaderView4" = "在线"; +"RoomHeaderView5" = "在线"; +"RoomHeaderView6" = "朋友圈"; +"RoomHeaderView7" = "微信好友"; +"RoomHeaderView8" = "QQ好友"; +"RoomHeaderView9" = "QQ空间"; +"RoomHeaderView10" = "聆听声音,分享快乐"; +"RoomHeaderView11" = "%@ 这个房间很好玩,推荐给你,快来和我一起玩吧"; +"RoomHeaderView12" = "收藏成功"; +"RoomHeaderView13" = "分享成功"; + +"XPRoomMorePlayPresenter0" = "航海"; + +"XPRoomMorePlayViewController0" = "糖果树"; +"XPRoomMorePlayViewController1" = "航海"; + +"XPReleaseRadioViewController0" = "发佈成功"; +"XPReleaseRadioViewController1" = "发佈后,%zd分钟内不可再发佈广播"; +"XPReleaseRadioViewController2" = "输入内容不能少于%zd个字,请文明发言哦"; +"XPReleaseRadioViewController3" = "发佈广播"; +"XPReleaseRadioViewController4" = "你将在首页发佈一条广播,邀请其他用户进入当前房间"; +"XPReleaseRadioViewController5" = "广播内容"; +"XPReleaseRadioViewController6" = "今日剩馀发佈次数"; +"XPReleaseRadioViewController7" = "输入内容不能少于5个字,请文明发言哦"; +"XPReleaseRadioViewController8" = "发佈"; +"XPReleaseRadioViewController9" = "发佈后,5分钟内不可再发佈广播"; +"XPReleaseRadioViewController10" = "后可以再次发佈"; + +"XPRoomTransferMusicViewController0" = "歌曲传输"; +"XPRoomTransferMusicViewController1" = "(您正在4G/3G/2G网络下,暂无法使用"; +"XPRoomTransferMusicViewController2" = "请连接"; +"XPRoomTransferMusicViewController3" = "您当前无网络"; +"XPRoomTransferMusicViewController4" = "请连接"; +"XPRoomTransferMusicViewController5" = "已连接"; +"XPRoomTransferMusicViewController6" = "您当前无网络"; +"XPRoomTransferMusicViewController7" = "请连接"; +"XPRoomTransferMusicViewController8" = "您正在4G/3G/2G网络下,暂无法使用"; +"XPRoomTransferMusicViewController9" = "请连接"; +"XPRoomTransferMusicViewController10" = "已连接"; +"XPRoomTransferMusicViewController11" = "未知歌手"; +"XPRoomTransferMusicViewController12" = "未知"; +"XPRoomTransferMusicViewController13" = "已导入%ld首歌曲"; +"XPRoomTransferMusicViewController14" = "已连接"; +"XPRoomTransferMusicViewController15" = "如图:请在同一WiFi下电脑浏览器上输入"; +"XPRoomTransferMusicViewController16" = "可在打开的网页上导入和删除歌曲\n歌曲导入完成前,请不要退出当前页面"; +"XPRoomTransferMusicViewController17" = "已导入0首歌曲"; +"XPRoomTransferMusicViewController18" = "保存"; + +"XPRoomBackMusicPlayerView1" = "列表循环"; +"XPRoomBackMusicPlayerView2" = "暂无音乐播放"; +"XPRoomBackMusicPlayerView3" = "暂无音乐播放"; +"XPRoomBackMusicPlayerView4" = "暂无音乐播放"; + +"XPMusicLibraryPlayView0" = "暂无歌曲"; +"XPMusicLibraryPlayView1" = "暂无歌曲"; + +"XPRoomMusicVoiceSettingView0" = "人声"; +"XPRoomMusicVoiceSettingView1" = "音乐"; + +"XPRoomMusicLibraryEmptyTableViewCell0" = "暂无数据"; +"XPRoomMusicLibraryEmptyTableViewCell1" = "传输更多歌曲"; + +"XPRoomMusicLibraryViewController0" = "我的乐库"; +"XPRoomMusicLibraryViewController1" = "共%ld首歌曲"; +"XPRoomMusicLibraryViewController2" = "删除"; + +"XPRoomMessageContainerView0" = "有%lu人@你"; +"XPRoomMessageContainerView1" = "有%lu人@你"; +"XPRoomMessageContainerView2" = "有%zd人@你"; +"XPRoomMessageContainerView3" = "[房间公告"; +"XPRoomMessageContainerView4" = "[房间公告"; +"XPRoomMessageContainerView5" = "可点击查看本房间公告"; +"XPRoomMessageContainerView6" = "底部有新消息"; +"XPRoomMessageContainerView7" = "有人@你"; + +"XPRoomMessageHeaderView0" = "平台严禁未成年人直播或打赏,倡导绿色互动,禁止宣传及发佈政治、低俗、暴力、色情等违规违法内容,严禁违规交易和诱导欺诈用户,如有违规将对账号进行封禁,发现请及时举报"; + +"XPRoomMessageParser0" = "我"; +"XPRoomMessageParser1" = " 驾着"; +"XPRoomMessageParser2" = "根据首页推荐"; +"XPRoomMessageParser3" = "跟随"; +"XPRoomMessageParser4" = "接受"; +"XPRoomMessageParser5" = "的邀请"; +"XPRoomMessageParser6" = "进入了房间"; +"XPRoomMessageParser7" = "大驾光临,大家欢迎"; +"XPRoomMessageParser8" = "相亲玩法已开启,请点击主持人麦位选择主持人"; +"XPRoomMessageParser9" = "打开"; +"XPRoomMessageParser10" = "的红包领取了"; +"XPRoomMessageParser11" = "%@鑽石"; +"XPRoomMessageParser12" = "厉害了"; +"XPRoomMessageParser13" = "在航海冒险中获得"; +"XPRoomMessageParser14" = "恭喜"; +"XPRoomMessageParser15" = "恭喜"; +"XPRoomMessageParser16" = "在"; +"XPRoomMessageParser17" = "通过"; +"XPRoomMessageParser18" = ",开出"; +"XPRoomMessageParser19" = "房主/管理员邀请"; +"XPRoomMessageParser20" = "进入"; +"XPRoomMessageParser21" = "红队"; +"XPRoomMessageParser22" = "蓝队"; +"XPRoomMessageParser23" = "管理员关闭了PK模式"; +"XPRoomMessageParser24" = "关闭了"; +"XPRoomMessageParser25" = "平局"; +"XPRoomMessageParser26" = "本场PK结果:%@!\nPK值"; +"XPRoomMessageParser27" = "平局"; +"XPRoomMessageParser28" = "本场PK结果:%@!\nPK值"; +"XPRoomMessageParser29" = "平局"; +"XPRoomMessageParser30" = "本场PK结果:%@!\nPK值"; +"XPRoomMessageParser31" = "蓝队守护者:%@ \n 蓝队守护值: %@ \n 红队守护者: %@ \n 红队守护值"; +"XPRoomMessageParser32" = "红队"; +"XPRoomMessageParser33" = "蓝队"; +"XPRoomMessageParser34" = "本场PK结果:%@胜利!\nPK值%@ \n 胜利方战斗值"; +"XPRoomMessageParser35" = "本场PK结果:%@胜利! \nPK值%@ \n %@守护者:%@ \n %@守护值"; +"XPRoomMessageParser36" = "本场PK结果:%@胜利! \nPK值%@ \n %@守护值"; +"XPRoomMessageParser37" = "获得礼物多的团队获胜"; +"XPRoomMessageParser38" = "送礼人数多的团队获胜"; +"XPRoomMessageParser39" = "管理髮起房间PK,本次PK时间为%.0f秒"; +"XPRoomMessageParser40" = "PK开始了,本次PK时间为%.0f秒,快给喜欢的选手投票吧"; +"XPRoomMessageParser41" = "获得礼物多的团队获胜"; +"XPRoomMessageParser42" = "送礼人数多的团队获胜"; +"XPRoomMessageParser43" = "管理员重新开始PK,本次PK时间为%.0f秒"; +"XPRoomMessageParser44" = "收藏了房间"; +"XPRoomMessageParser45" = "消息"; +"XPRoomMessageParser46" = "管理员已关闭聊天公屏"; +"XPRoomMessageParser47" = "管理员已开启聊天公屏"; +"XPRoomMessageParser48" = "消息"; +"XPRoomMessageParser49" = "管理员已开启房间内礼物特效"; +"XPRoomMessageParser50" = "管理员已关闭房间内礼物特效,点击底部"; +"XPRoomMessageParser51" = "图标即可开启"; +"XPRoomMessageParser52" = "消息"; +"XPRoomMessageParser53" = "房主"; +"XPRoomMessageParser54" = "管理员"; +"XPRoomMessageParser55" = "已清空房间公屏消息"; +"XPRoomMessageParser57" = "女"; +"XPRoomMessageParser58" = "%d号%@嘉宾"; +"XPRoomMessageParser59" = "本轮你选择了"; +"XPRoomMessageParser60" = "作为你的心动对象"; +"XPRoomMessageParser61" = "恭喜"; +"XPRoomMessageParser62" = "和"; +"XPRoomMessageParser63" = "牵手成功,让我们见证他们幸福的开端"; +"XPRoomMessageParser64" = "的心动对象是"; +"XPRoomMessageParser65" = "未选择心动对象"; +"XPRoomMessageParser66" = "管理员"; +"XPRoomMessageParser67" = "开启了"; +"XPRoomMessageParser68" = "排麦模式"; +"XPRoomMessageParser69" = "关闭了"; +"XPRoomMessageParser70" = "排麦模式"; +"XPRoomMessageParser71" = "设置"; +"XPRoomMessageParser72" = "%d麦"; +"XPRoomMessageParser73" = "为自由麦"; +"XPRoomMessageParser74" = "关闭了"; +"XPRoomMessageParser75" = "%d麦"; +"XPRoomMessageParser76" = "自由麦"; +"XPRoomMessageParser77" = "厉害了"; +"XPRoomMessageParser78" = "摘下糖果获得"; +"XPRoomMessageParser79" = "(仅自己可见"; +"XPRoomMessageParser80" = "贵族降临!恭喜"; +"XPRoomMessageParser81" = "开通贵族系统,获得"; +"XPRoomMessageParser82" = "贵族身份"; +"XPRoomMessageParser83" = "全场欢呼!!恭喜"; +"XPRoomMessageParser84" = "的贵族身份成功升级为"; +"XPRoomMessageParser85" = "恭喜"; +"XPRoomMessageParser86" = "您"; +"XPRoomMessageParser87" = "恭喜"; +"XPRoomMessageParser88" = "开通粉丝团成功"; +"XPRoomMessageParser89" = "恭喜"; +"XPRoomMessageParser90" = "加入粉丝团"; +"XPRoomMessageParser91" = "已退出粉丝团"; +"XPRoomMessageParser92" = "被"; +"XPRoomMessageParser93" = "请出房间"; +"XPRoomMessageParser94" = "关进小黑屋"; +"XPRoomMessageParser95" = "请下麦"; +"XPRoomMessageParser96" = "分享了房间"; +"XPRoomMessageParser97" = "关注了房主"; +"XPRoomMessageParser98" = " 打赏"; +"XPRoomMessageParser99" = " 全麦打赏"; +"XPRoomMessageParser100" = " 送出"; +"XPRoomMessageParser101" = " 全麦送出"; +"XPRoomMessageParser102" = " 给"; +"XPRoomMessageParser103" = " 爆出了"; +"XPRoomMessageParser104" = "价值"; +"XPRoomMessageParser105" = "鑽石的礼物"; +"XPRoomMessageParser106" = "送出"; +"XPRoomMessageParser107" = "给"; +"XPRoomMessageParser108" = "爆出了"; +"XPRoomMessageParser109" = "价值"; +"XPRoomMessageParser110" = "鑽石的礼物"; +"XPRoomMessageParser111" = " 打赏"; + +"XPGiftBarView0" = "馀额"; +"XPGiftBarView1" = "充值"; +"XPGiftBarView2" = "赠送"; +"XPGiftBarView3" = "赠送中"; +"XPGiftBarView4" = "赠送"; +"XPGiftBarView5" = "请输入赠送数额"; +"XPGiftBarView6" = "确定"; + +"XPGiftUsersView0" = "全麦送"; +"XPGiftUsersView1" = "全麦送"; + +"XPGiftHeadTypeView0" = "首充有礼"; +"XPGiftHeadTypeView1" = "首充有礼"; +"XPGiftHeadTypeView2" = "送礼"; +"XPGiftHeadTypeView3" = "互动"; +"XPGiftHeadTypeView4" = "贵族中心"; + +"XPGiftLuckyGiftBroadcastCell0" = "恭喜 "; +"XPGiftLuckyGiftBroadcastCell1" = "开出%@获得 "; +"XPGiftLuckyGiftBroadcastView0" = "玩法说明"; + +"XPSendGiftView0" = "只能全部赠送给一人"; +"XPSendGiftView1" = "只能全部赠送给一人"; +"XPSendGiftView2" = "请选择至少一个人"; +"XPSendGiftView3" = "发送涂鸦礼物:%@成功"; +"XPSendGiftView4" = "尚未达到赠送%@所需要的贵族等级哦\n所需贵族等级"; + +"XPGraffitiGiftView0" = "最多只能画300个呦"; +"XPGraffitiGiftView1" = "至少画10个才能送出"; +"XPGraffitiGiftView2" = "已画%@个,需花费%@鑽石"; +"XPGraffitiGiftView3" = "滑动手指,绘制图形"; +"XPGraffitiGiftView4" = "至少画10个才能送出"; + +"XPGiftEmptyCollectionViewCell0" = "背包暂无内容"; + +"XPGiftUserCollectionViewCell0" = "房主位"; + +"XPGiftTwelveStarBroadcastView0" = "上期星座月%@星主"; +"XPGiftTwelveStarBroadcastView1" = "上期星座月天蝎座星主"; +"XPGiftTwelveStarBroadcastView2" = "昵称"; +"XPGiftTwelveStarBroadcastView3" = "活动详情"; +"XPGiftTwelveStarBroadcastView4" = "星座物语,限定开启星座月"; + +"XPGiftInfoView0" = "总价值"; +"XPGiftInfoView1" = "暂时木有礼物"; +"XPGiftInfoView2" = "礼物"; +"XPGiftInfoView3" = "幸运"; +"XPGiftInfoView4" = "周星礼物"; +"XPGiftInfoView5" = "背包"; +"XPGiftInfoView6" = "涂鸦礼物"; +"XPGiftInfoView7" = "惩罚礼物"; +"XPGiftInfoView8" = "人气"; +"XPGiftInfoView9" = "贵族"; +"XPGiftCountView0" = "其他数额"; +"XPGiftCountView1" = "全部"; +"XPGiftCountView2" = "其他数额"; +"XPGiftCountView3" = "一心一意"; +"XPGiftCountView4" = "十全十美"; +"XPGiftCountView5" = "一切顺利"; +"XPGiftCountView6" = "长长久久"; +"XPGiftCountView7" = "要抱抱"; +"XPGiftCountView8" = "我爱你"; +"XPGiftCountView9" = "一生一世"; + +"XPGiftWeekStarBroadcastView0" = "虚位以待"; +"XPGiftWeekStarBroadcastView1" = "虚位以待"; +"XPGiftWeekStarBroadcastView2" = "本周该礼物冠名者"; +"XPGiftWeekStarBroadcastView3" = "虚位以待"; +"XPGiftWeekStarBroadcastView4" = "本周该礼物星神豪"; +"XPGiftWeekStarBroadcastView5" = "虚位以待"; + +"XPRoomFaceViewController0" = "加载失败请重试"; +"XPRoomFaceViewController1" = "尚未达到发送%@所需贵族等级,\n 所需贵族等级"; +"XPRoomFaceViewController2" = "表情"; +"XPRoomFaceViewController3" = "贵族表情"; + +"XPSailingAnimationView0" = "厉害了"; +"XPSailingAnimationView1" = "在航海冒险中获得"; + +"XPSailingViewController0" = "消耗%@燃油连续探索"; +"XPSailingViewController1" = "消耗1燃油连续探索"; +"XPSailingViewController2" = "不展示结果弹框"; + +"XPSailingRankSubView0" = "没有更多房间了"; + +"XPSailingEmptyTableViewCell0" = "暂无数据"; + +"XPSailingRankView1" = "昨日榜单"; + +"XPSailingBuyFuelView0" = "当前燃油不足 \n 可参与活动获得燃油哦"; + +"XPArrangeMicViewController0" = "没有更多数据了"; +"XPArrangeMicViewController1" = "立即邀请"; +"XPArrangeMicViewController2" = "点击报名"; +"XPArrangeMicViewController3" = "报名蓝队"; +"XPArrangeMicViewController4" = "报名红队"; +"XPArrangeMicViewController5" = "当前无人排麦"; +"XPArrangeMicViewController6" = "报名才能排麦哦"; +"XPArrangeMicViewController7" = "当前排麦的人数"; +"XPArrangeMicViewController8" = "我在队列中排列位置"; +"XPArrangeMicViewController9" = "报名才能排麦哦"; +"XPArrangeMicViewController10" = "取消报名"; +"XPArrangeMicViewController11" = "取消报名"; +"XPArrangeMicViewController12" = "麦上无空位了"; +"XPArrangeMicViewController14" = "立即报名,你就是排麦第一人啦"; +"XPArrangeMicViewController15" = "朋友圈"; +"XPArrangeMicViewController16" = "微信好友"; +"XPArrangeMicViewController17" = "QQ好友"; +"XPArrangeMicViewController18" = "QQ空间"; +"XPArrangeMicViewController19" = "取消报名后再次报名需要重新排麦哦!确认取消报名吗"; +"XPArrangeMicViewController20" = "已经在麦上不需要报名啦"; +"XPArrangeMicViewController21" = "已经在麦上不需要报名啦"; +"XPArrangeMicViewController22" = "已经在麦上不需要报名啦"; +"XPArrangeMicViewController23" = "报名男神"; +"XPArrangeMicViewController24" = "报名女神"; +"XPArrangeMicViewController25" = "点击报名"; + +"XPArrangeMicTableViewCell1" = "抱上女神"; +"XPArrangeMicTableViewCell3" = "抱上红队"; +"XPArrangeMicTableViewCell4" = "抱上麦"; +"XPArrangeMicTableViewCell6" = "已选女神"; +"XPArrangeMicTableViewCell8" = "已选红队"; +"XPArrangeMicTableViewCell9" = "排麦中"; + +"XPArrangeMicEmptyTableViewCell0" = "暂无数据"; + +"XPFirstRechargeSuccessView0" = "装扮类物品可进入“我的一我的装扮”使用哦"; +"XPFirstRechargeSuccessView1" = "我知道了"; + +"XPRoomGiftCompoundView0" = "恭喜"; + +"XPRoomNobleLevelUpView0" = "引爆全场!恭喜"; +"XPRoomNobleLevelUpView1" = "贵族身份升级为"; + +"XPRoomCandyGiftView0" = "厉害了! "; +"XPRoomCandyGiftView1" = "通过寻爱之旅获取 "; + +"XPRoomLicneseHourRankView0" = "恭喜"; +"XPRoomLicneseHourRankView1" = "去围观"; + +"XPRoomEnterHideTipView0" = "你已隐身进入房间"; + +"XPRoomAnimationView0" = "【%@】进入了房间"; + +"XPRoomGiftBannerView0" = ",%ld麦"; +"XPRoomGiftBannerView1" = "%ld麦"; +"XPRoomGiftBannerView2" = "全麦"; +"XPRoomGiftBannerView3" = ",%ld麦"; +"XPRoomGiftBannerView4" = "%ld麦"; +"XPRoomGiftBannerView5" = "全麦"; +"XPRoomGiftBannerView6" = "赠送"; + +"XPRoomYearActivityView0" = "送给"; + +"XPRoomAnchorRankBannerView0" = "恭喜"; + +"XPRoomLuckyBigPrizeView0" = "恭喜"; +"XPRoomLuckyBigPrizeView1" = "在%@幸运礼物中欧气爆棚开出了价值"; + +"XPRoomActivityPlayView0" = "更多玩法"; + +"XPRoomQuickMessageContainView0" = "你发送的太频繁啦,请稍后再试"; + +"AnchorRoomSrollTipView0" = "向上滑动发现更多精彩房间"; + +"XPRoomRedPacketPwdView0" = "请输入支付密码"; +"XPRoomRedPacketPwdView1" = "忘记密码"; + +"XPRoomSendRedPacketViewController0" = "红包数量不能小于1或大于"; +"XPRoomSendRedPacketViewController1" = "鑽石数量不能小于100或大于"; +"XPRoomSendRedPacketViewController2" = "鑽石数必须为10的倍数"; +"XPRoomSendRedPacketViewController3" = "发送成功"; +"XPRoomSendRedPacketViewController4" = "恭喜发财,大吉大利"; +"XPRoomSendRedPacketViewController5" = "红包总金额不低于100鑽石,且必须为10的倍数"; +"XPRoomSendRedPacketViewController6" = "红包总金额不低于1000鑽石,且必须为100的倍数"; +"XPRoomSendRedPacketViewController7" = "厅内红包"; +"XPRoomSendRedPacketViewController8" = "全服红包"; +"XPRoomSendRedPacketViewController9" = "红包个数"; +"XPRoomSendRedPacketViewController10" = "个"; +"XPRoomSendRedPacketViewController11" = "总鑽石数"; +"XPRoomSendRedPacketViewController12" = "鑽石"; +"XPRoomSendRedPacketViewController13" = "红包总金额不低于100鑽石,且必须为10的倍数"; +"XPRoomSendRedPacketViewController14" = "未抢完的红包将在30分钟后返还你的钱包"; +"XPRoomSendRedPacketViewController15" = "恭喜发财,大吉大利"; +"XPRoomSendRedPacketViewController16" = "充值鑽石"; + +"XPOpenRedPacketCell0" = "我"; +"XPOpenRedPacketCell1" = "获取红包用户"; +"XPOpenRedPacketCell2" = "0鑽石"; + +"XPReceiveRedPacketView0" = "厅内的"; +"XPReceiveRedPacketView1" = "已存入钱包,请到我的收益确认"; +"XPReceiveRedPacketView2" = "抢完了,下次早点来哦"; +"XPReceiveRedPacketView3" = "的红包"; +"XPReceiveRedPacketView4" = "领取%@/%@个"; +"XPReceiveRedPacketView5" = "抢完了,下次早点来哦"; + +"XPRoomViewController0" = "抱歉,您暂时无法进入该房间"; +"XPRoomViewController1" = "%@的房间"; +"XPRoomViewController2" = "房主已下线"; +"XPRoomViewController3" = "您已被管理员拉黑"; +"XPRoomViewController4" = "已经到底啦~自动为您返回当前房间"; +"XPRoomViewController5" = "已经到顶啦~自动为您返回当前房间"; +"XPRoomViewController6" = "%@的房间"; +"XPRoomViewController7" = "房主已下线"; +"XPRoomViewController8" = "您被管理员踢出直播间"; +"XPRoomViewController9" = "您已被管理员拉黑"; +"XPRoomViewController10" = "消息中可能含有违规信息,请停止发送类似信息"; +"XPRoomViewController11" = "退出房间后将退出目前排麦,再次进入需要重新排麦,确认退出房间吗"; +"XPRoomViewController12" = "退出房间后将退出目前排麦,再次进入需要重新排麦,确认退出房间吗"; +"XPRoomViewController13" = "已经到顶啦~自动为您返回当前房间"; + +"XPRoomSettingPresenter0" = "房间名"; +"XPRoomSettingPresenter1" = "房间上锁"; +"XPRoomSettingPresenter2" = "房间分类"; +"XPRoomSettingPresenter3" = "房间标签"; +"XPRoomSettingPresenter4" = "管理员"; +"XPRoomSettingPresenter5" = "黑名单"; +"XPRoomSettingPresenter6" = "房间礼物特效"; +"XPRoomSettingPresenter7" = "房间公屏"; +"XPRoomSettingPresenter8" = "排麦模式"; +"XPRoomSettingPresenter9" = "离开模式"; +"XPRoomSettingPresenter10" = "更新房间信息失败"; + +"XPRoomTopicPresenter0" = "更新房间信息失败"; + +"XPRoomTopicAlertView0" = "暂无设置话题"; +"XPRoomTopicAlertView1" = "暂未设置话题内容"; +"XPRoomTopicAlertView2" = "关闭"; + +"XPRoomTagListViewController0" = "快给您的房间选个分类吧"; +"XPRoomTagListViewController1" = "快给您的房间选个标签吧"; +"XPRoomTagListViewController2" = "完成"; + +"XPRoomTagListView0" = "房间分类"; +"XPRoomTagListView1" = "房间标签"; +"XPRoomTagListView2" = "完成"; + +"XPRoomSettingInputView0" = "房间密码"; +"XPRoomSettingInputView1" = "房间名"; +"XPRoomSettingInputView2" = "输入密码"; +"XPRoomSettingInputView3" = "请输入"; +"XPRoomSettingInputView4" = "取消"; +"XPRoomSettingInputView5" = "确定"; +"XPRoomSettingInputView6" = "密码错误,请重新输入"; + +"XPRoomOnLineViewController0" = "暂没有房间成员在线"; +"XPRoomOnLineViewController1" = "在线列表"; + +"XPRoomSettingViewController0" = "房间设置"; +"XPRoomSettingViewController1" = "开启排麦模式要排队才能上麦,确定开启吗"; +"XPRoomSettingViewController2" = "关闭排麦模式后会清空排麦列表哦,确定关闭吗"; +"XPRoomSettingViewController3" = "提示"; +"XPRoomSettingViewController4" = "开启离开模式后,房主会固定显示在房主位,确认开启吗"; +"XPRoomSettingViewController5" = "温馨提示"; +"XPRoomSettingViewController6" = "关闭后将看不到礼物特效,运作更加流畅。是否确认关闭礼物特效"; +"XPRoomSettingViewController7" = "温馨提示"; +"XPRoomSettingViewController8" = "关闭后将看不到聊天信息,运作更加流畅。是否确认关闭公屏"; + +"XPRoomSettingTableViewCell0" = "设置离开模式,房主可离线收益"; + +"XPRoomRoleTableViewCell0" = "移除"; + +"XPRoomRoleEmptyTableViewCell0" = "暂无数据"; + +"XPRoomOnlineTableViewCell0" = "房主"; +"XPRoomOnlineTableViewCell1" = "管理员"; +"XPRoomOnlineTableViewCell2" = "神秘人"; +"XPRoomOnlineTableViewCell3" = "上麦"; + +"XPRoomTopicViewController0" = "房间公告"; +"XPRoomTopicViewController1" = "主题不能为空"; +"XPRoomTopicViewController2" = "请设置公告标题"; +"XPRoomTopicViewController3" = "请输入公告内容"; +"XPRoomTopicViewController4" = "确定"; + +"XPRoomInviteUserViewController1" = "在线听众"; +"XPRoomInviteUserViewController2" = "暂无可抱用户"; + +"XPRoomRoleViewController0" = "暂没有设置黑名单"; +"XPRoomRoleViewController1" = "暂没有设置管理员"; +"XPRoomRoleViewController2" = "黑名单"; +"XPRoomRoleViewController3" = "管理员"; + +"XPRoomRankUserInfoView0" = "%.1f万"; +"XPRoomRankUserInfoView1" = "虚位以待"; + +"XPRoomRankTableViewCell0" = "%.1f万"; + +"XPRoomRankViewController1" = "魅力榜"; + +"XPWishGiftHistoryViewController0" = "历史心愿单"; + +"XPWishGiftViewController0" = "还没有人助力嗷"; +"XPWishGiftViewController1" = "人已助力"; +"XPWishGiftViewController2" = "今日心愿礼物"; +"XPWishGiftViewController3" = "-当日设置的心愿,会在次日0点失效"; + +"XPWishGiftCreateViewController0" = "心愿单已创建"; +"XPWishGiftCreateViewController1" = "创建心愿单"; +"XPWishGiftCreateViewController2" = "历史心愿"; +"XPWishGiftCreateViewController3" = "确认删除该条数据"; +"XPWishGiftCreateViewController4" = "确认清空当前数据"; +"XPWishGiftCreateViewController5" = "当前暂无心愿"; +"XPWishGiftCreateViewController6" = "最多只可添加三个心愿呦"; +"XPWishGiftCreateViewController7" = "确认创建当前心愿? \n创建后当日不可在编辑或删除"; +"XPWishGiftCreateViewController8" = "至少需要添加一个心愿礼物"; +"XPWishGiftCreateViewController9" = "设置心愿"; +"XPWishGiftCreateViewController10" = "清空数据"; +"XPWishGiftCreateViewController11" = "添加心愿"; +"XPWishGiftCreateViewController12" = "确定创建"; + +"XPWishGiftEmptyTableViewCell0" = "暂无数据"; + +"XPWishGiftTableViewCell0" = "编辑"; +"XPWishGiftTableViewCell1" = "删除"; + +"XPWishGiftInfoView0" = "%ld鑽石"; +"XPWishGiftInfoView1" = "赠送"; + +"XPWishGiftCreateItemViewController0" = "普通礼物"; +"XPWishGiftCreateItemViewController1" = "中级礼物"; +"XPWishGiftCreateItemViewController2" = "普通礼物"; +"XPWishGiftCreateItemViewController3" = "中级礼物"; +"XPWishGiftCreateItemViewController4" = "普通礼物"; +"XPWishGiftCreateItemViewController5" = "中级礼物"; +"XPWishGiftCreateItemViewController6" = "普通礼物"; +"XPWishGiftCreateItemViewController7" = "中级礼物"; +"XPWishGiftCreateItemViewController8" = "礼物数量范围需为"; +"XPWishGiftCreateItemViewController9" = "礼物数量范围需为"; +"XPWishGiftCreateItemViewController10" = "确定"; +"XPWishGiftCreateItemViewController11" = "普通礼物"; +"XPWishGiftCreateItemViewController12" = "中级礼物"; +"XPWishGiftCreateItemViewController13" = "高级礼物"; + +"XPTaskCompleteTipView0" = "任务已完成"; +"XPTaskCompleteTipView1" = "查看奖励"; + +"XPSessionSayHelloTableViewCell0" = "和TA聊"; + +"XPSessionSayHelloEmptyTableViewCell0" = "暂无数据"; + +"XPSessionSayHelloHeaderView0" = "当前主播评级"; +"XPSessionSayHelloHeaderView1" = "%@倍"; +"XPSessionSayHelloHeaderView2" = "当前打招呼流量"; +"XPSessionSayHelloHeaderView3" = "打招呼"; + +"NIMMessageMaker0" = "发来了一段语音"; +"NIMMessageMaker1" = "视频发送于"; +"NIMMessageMaker2" = "发来了一段视频"; +"NIMMessageMaker3" = "图片发送于"; +"NIMMessageMaker4" = "发来了一张图片"; +"NIMMessageMaker5" = "你收到了一条快捷评论"; + +"NIMMessageUtils0" = "[语音"; +"NIMMessageUtils1" = "[图片"; +"NIMMessageUtils2" = "[视频"; +"NIMMessageUtils3" = "[位置"; +"NIMMessageUtils4" = "[文件"; +"NIMMessageUtils5" = "[礼物"; +"NIMMessageUtils6" = "[您收到一条公会消息"; +"NIMMessageUtils7" = "您关注的TA上线了,快去围观吧"; +"NIMMessageUtils8" = "[分享房间"; +"NIMMessageUtils9" = "[升级消息"; +"NIMMessageUtils10" = "[推文消息"; +"NIMMessageUtils11" = "[消息"; +"NIMMessageUtils12" = "[分享了一条动态"; +"NIMMessageUtils13" = "[你收到一个全服红包"; +"NIMMessageUtils14" = "[消息"; +"NIMMessageUtils15" = "[未知消息"; + +"XPSessionFindNewTableViewCell0" = "打招呼"; +"XPSessionFindNewTableViewCell1" = "打招呼"; + +"XPSessionFindNewEmptyTableViewCell0" = "暂无数据"; + +"XPSessionFindNewFiltrateView0" = "筛选"; +"XPSessionFindNewFiltrateView1" = "用户性别"; +"XPSessionFindNewFiltrateView2" = "男"; +"XPSessionFindNewFiltrateView3" = "女"; +"XPSessionFindNewFiltrateView4" = "全部"; +"XPSessionFindNewFiltrateView5" = "是否已打招呼"; +"XPSessionFindNewFiltrateView6" = "已打招呼"; +"XPSessionFindNewFiltrateView7" = "未打招呼"; +"XPSessionFindNewFiltrateView8" = "全部"; +"XPSessionFindNewFiltrateView9" = "确认修改"; + +"XPSessionFindNewGreetListView0" = "发送成功"; +"XPSessionFindNewGreetListView1" = "请选择"; +"XPSessionFindNewGreetListView2" = "换一批"; +"XPSessionFindNewGreetListView3" = "发送"; + +"XPSessionFindNewAlertView0" = "忽略"; +"XPSessionFindNewAlertView1" = "去找"; + +"XPSessionFindNewViewController0" = "该用户被打招呼次数太多了,换一个吧"; +"XPSessionFindNewViewController1" = "发现萌新"; +"XPSessionFindNewViewController2" = "每日更新推荐"; + +"XPSessionHelloEnterView0" = "有%@人想和你认识"; +"XPSessionHelloEnterView1" = "打招呼"; + +"XPSessionListHeadFriendCell0" = "直播"; + +"XPSessionListHeadView0" = "官方公告"; +"XPSessionListHeadView1" = "活动通知"; +"XPSessionListHeadView2" = "订阅提醒"; +"XPSessionListHeadView3" = "发现萌新"; + +"NIMTimeUtils1" = "昨天"; +"NIMTimeUtils3" = "前天"; +"NIMTimeUtils4" = "凌晨"; +"NIMTimeUtils5" = "上午"; +"NIMTimeUtils6" = "下午"; +"NIMTimeUtils7" = "晚上"; +"NIMTimeUtils8" = "星期日"; +"NIMTimeUtils9" = "星期一"; +"NIMTimeUtils10" = "星期二"; +"NIMTimeUtils11" = "星期三"; +"NIMTimeUtils12" = "星期四"; +"NIMTimeUtils13" = "星期五"; +"NIMTimeUtils14" = "星期六"; + +"SessionListViewController0" = "删除"; +"SessionListViewController1" = "删除"; +"SessionListViewController2" = "暂无未读消息需要清理"; +"SessionListViewController3" = "清除"; +"SessionListViewController4" = "清除当前未读消息提醒"; +"SessionListViewController5" = "消息"; +"SessionListViewController6" = "置顶"; +"SessionListViewController7" = "取消置顶"; + +"SessionInfoViewController0" = "聊天设置"; +"SessionInfoViewController1" = "您的请求我们已经收到,我们将儘快处理"; +"SessionInfoViewController2" = "加入黑名单"; +"SessionInfoViewController3" = "加入黑名单,你将不再收到对方的消息"; +"SessionInfoViewController4" = "移除黑名单"; +"SessionInfoViewController5" = "移除黑名单,你将正常收到对方的消息"; +"SessionInfoViewController6" = "已经成功将对方移除黑名单"; +"SessionInfoViewController7" = "已经成功将对方加入黑名单"; +"SessionInfoViewController8" = "置顶聊天"; +"SessionInfoViewController9" = "加入黑名单"; +"SessionInfoViewController10" = "举报"; + +"SessionViewController0" = "加载中"; +"SessionViewController1" = "暂时无法私聊"; +"SessionViewController2" = "请输入消息"; +"SessionViewController4" = "温馨提示:对方和您非好友关係,请注意隐私安全"; +"SessionViewController6" = "温馨提示:对方和您非好友关係,请注意隐私安全"; +"SessionViewController7" = "关注成功"; +"SessionViewController8" = "你撤回了一条消息"; +"SessionViewController10" = "相机权限受限,点击确定去系统设置"; +"SessionViewController12" = "相册权限受限,点击确定去系统设置"; +"SessionViewController14" = "相册权限受限,点击确定去系统设置"; +"SessionViewController16" = "相册权限受限,点击确定去系统设置"; + +"MessageContentApplicationShareView0" = "立即进入"; + +"MessageRevokeModel0" = "你撤回了一条消息"; + +"MessageMonentsModel0" = "发佈了一条动态"; + +"MessageUnSupportModel0" = "暂不支持此种类型消息"; + +"MessageRiskAlertModel0" = "《整治网络直播乱象"; + +"MessageOpenLiveModel0" = "%@ 上线了"; + +"MessageTextClickModel0" = "未知消息类型"; +"PKIDLoginViewController2" = "请联繫客服处理"; +"PKIDLoginViewController3" = "LINE:pekoyuyin"; +"PKIDLoginViewController4" = "我知道了"; +"MessageLevelUpgradeModel0" = "恭喜!您的魅力等级已到达"; +"MessageLevelUpgradeModel1" = "恭喜!您的等级已到达"; + +"MessageTextModel0" = "未知消息类型"; + +"MessageTweetModel0" = "这个是计算一行的高度的"; + +"MessageContentTweetView0" = "这个是计算一行的高度的"; +"MessageContentTweetView1" = "立即查看"; + +"MessageContentGuildView0" = "已同意"; +"MessageContentGuildView1" = "已拒绝"; +"MessageContentGuildView2" = "消息已过期"; +"MessageContentGuildView3" = "消息已处理"; +"MessageContentGuildView4" = "拒绝"; +"MessageContentGuildView5" = "同意"; + +"MessageContentLevelUpgradeView0" = "立即查看"; + +"MessageContentTextClickable0" = "请先绑定手机号"; + +"MessageContentOpenLiveView0" = "%@ 上线了"; +"MessageContentOpenLiveView1" = "你关注的"; + +"MessageContentRedPacketView0" = "红包已失效"; +"MessageContentRedPacketView1" = "下次要快点来哦"; +"MessageContentRedPacketView2" = "红包已领取"; +"MessageContentRedPacketView3" = "可前往账单查看详情"; +"MessageContentRedPacketView4" = "点击进房领取"; +"MessageContentRedPacketView5" = "发出了一个全服红包"; + +"MessageContentUnSupportView0" = "暂不支持此种类型消息"; + +"MessageContentText0" = "未知消息类型"; + +"SessionUserInfoTableViewCell0" = "魔羯水瓶双鱼白羊金牛双子巨蟹狮子处女天秤天蝎射手魔羯"; +"SessionUserInfoTableViewCell1" = "错误日期格式"; +"SessionUserInfoTableViewCell2" = "错误日期格式"; +"SessionUserInfoTableViewCell3" = "错误日期格式"; +"SessionUserInfoTableViewCell4" = "%@座"; +"SessionUserInfoTableViewCell5" = "这个人还没有设置签名"; + +"MessageCell0" = "複制"; +"MessageCell1" = "删除"; +"MessageCell2" = "撤回"; + +"SessionNavView0" = "关注"; +"SessionNavView1" = "已经加入黑名单"; + +"SessionChatLimitView0" = "仅财富等级≥%zd或魅力等级≥%zd的用户可发起聊天"; +"SessionChatLimitView1" = "财富等级"; +"SessionChatLimitView2" = "魅力等级"; + +"SessionRiskView0" = "温馨提示:对方和您非好友关係,请注意隐私安全"; + +"SessionNavLiveView0" = "直播中"; + +"XPMonentsRecommendViewController0" = "没有更多数据了"; +"XPMonentsRecommendViewController1" = "删除后不可恢复\n确定删除该动态吗"; +"XPMonentsRecommendViewController2" = "删除成功"; + +"XPMonentsDetailViewController0" = "请输入您要评论的内容"; +"XPMonentsDetailViewController1" = "详情"; +"XPMonentsDetailViewController2" = "所有评论"; +"XPMonentsDetailViewController3" = "回覆"; +"XPMonentsDetailViewController4" = "回覆"; +"XPMonentsDetailViewController5" = "删除后不可恢复\n确定删除该动态吗"; +"XPMonentsDetailViewController6" = "发表评论"; +"XPMonentsDetailViewController7" = "发表评论"; +"XPMonentsDetailViewController8" = "删除成功"; + +"XPMomentsSimpleDetailViewController0" = "说说你的想法"; +"XPMomentsSimpleDetailViewController1" = "请输入您要评论的内容"; +"XPMomentsSimpleDetailViewController2" = "评论"; +"XPMomentsSimpleDetailViewController3" = "回覆"; +"XPMomentsSimpleDetailViewController4" = "删除"; +"XPMomentsSimpleDetailViewController5" = "删除后不可恢复\n确定删除该动态吗"; +"XPMomentsSimpleDetailViewController6" = "举报"; +"XPMomentsSimpleDetailViewController7" = "您的请求我们已经收到,我们将儘快处理"; +"XPMomentsSimpleDetailViewController8" = "回覆"; +"XPMomentsSimpleDetailViewController9" = "删除后不可恢复\n确定删除该动态吗"; +"XPMomentsSimpleDetailViewController10" = "发表评论"; +"XPMomentsSimpleDetailViewController11" = "发表评论"; +"XPMomentsSimpleDetailViewController12" = "删除成功"; + +"XPMonentsLatestViewController0" = "没有更多数据了"; +"XPMonentsLatestViewController1" = "删除后不可恢复\n确定删除该动态吗"; +"XPMonentsLatestViewController2" = "删除成功"; + +"XPMonentsTopicRecommondViewController0" = "没有更多数据了"; +"XPMonentsTopicRecommondViewController1" = "删除后不可恢复\n确定删除该动态吗"; +"XPMonentsTopicRecommondViewController2" = "删除成功"; + +"XPMonentsAttentionViewController0" = "没有更多数据了"; +"XPMonentsAttentionViewController1" = "删除后不可恢复\n确定删除该动态吗"; +"XPMonentsAttentionViewController2" = "删除成功"; + +"XPMonentsMineViewController0" = "删除后不可恢复\n确定删除该动态吗"; +"XPMonentsMineViewController1" = "删除成功"; + +"XPMonentsViewController0" = "推荐"; +"XPMonentsViewController3" = "最新"; + +"XPMonentsRecommendHeaderView0" = "推荐话题"; + +"XPMonentsContentView0" = "展开"; +"XPMonentsContentView1" = "收起"; + +"XPMoentsTopicListView0" = "没有更多数据了"; + +"XPMonentsPublishTopicView0" = "添加话题"; +"XPMonentsPublishTopicView1" = "重新选择"; + +"XPMonentsUserInfoView0" = "直播中"; + +"XPMonentsTooBarView0" = "删除"; +"XPMonentsTooBarView1" = "举报"; +"XPMonentsTooBarView2" = "您的请求我们已经收到,我们将儘快处理"; +"XPMonentsTooBarView3" = "好友"; +"XPMonentsTooBarView4" = "朋友圈"; +"XPMonentsTooBarView5" = "微信好友"; +"XPMonentsTooBarView6" = "QQ好友"; +"XPMonentsTooBarView7" = "QQ空间"; +"XPMonentsTooBarView8" = "%@发佈了一条动态"; + +"XPMonentPublishSuccessView0" = "审核中"; +"XPMonentPublishSuccessView1" = "咻,收到小可爱的动态了呢~\n审核通过后小秘书会帮你发送并通知你哦"; + +"XPMonentsInteractiveTableViewCell0" = "评论了你"; +"XPMonentsInteractiveTableViewCell1" = "邀请"; + +"XPMonentsEmptyTableViewCell0" = "暂无数据"; + +"XPMonentsReplyMoreTableViewCell0" = "展开%ld条回覆"; + +"XPMonentsTopicLatestViewController0" = "没有更多数据了"; +"XPMonentsTopicLatestViewController1" = "删除后不可恢复\n确定删除该动态吗"; +"XPMonentsTopicLatestViewController2" = "删除成功"; + +"XPMomentListViewController0" = "没有更多数据了"; +"XPMomentListViewController1" = "发动态"; +"XPMomentListViewController2" = "广场"; + +"XPMonentsPublishViewController0" = "最多只能输入 500 个字符哦"; +"XPMonentsPublishViewController1" = "确认删除吗"; +"XPMonentsPublishViewController2" = "提示"; +"XPMonentsPublishViewController3" = "还没有发佈哎~确定要返回吗"; +"XPMonentsPublishViewController4" = "手滑了"; +"XPMonentsPublishViewController5" = "确认返回"; +"XPMonentsPublishViewController6" = "请输入发佈的内容"; +"XPMonentsPublishViewController7" = "发佈动态"; +"XPMonentsPublishViewController8" = "发佈"; +"XPMonentsPublishViewController9" = "记录你此刻生活,分享给有趣的人看"; +"XPMonentsPublishViewController10" = "禁止出现商业广告、微信号码、QQ号码、电话号码, 以及低俗、色情、恐怖、暴力和具有侮辱性语言等内容,违规者封号处理"; + +"XPMonentsInteractiveViewController0" = "全部消息"; +"XPMonentsInteractiveViewController1" = "没有更多数据了"; +"XPMonentsInteractiveViewController2" = "清空后所有互动通知将被删除,确定清空吗"; + +"XPMonentTopicContainerViewController1" = "最新"; +"XPMonentTopicContainerViewController2" = "参与话题"; + +"XPMoentsTopicListViewController0" = "更多话题"; +"XPMoentsTopicListViewController1" = "没有更多数据了"; + +"XPUpgradeView0" = "立即更新"; +"XPUpgradeView1" = "下次再说"; + +"XPAnchorCardView0" = "剩馀"; +"XPAnchorCardView1" = "进入房间"; + +"TabbarViewController0" = "您已被踢下线,若非正常行为,请及时修改密码"; +"TabbarViewController1" = "对方撤回了一条消息"; +"TabbarViewController5" = "我的"; + +"XPLoginPhoneViewController0" = "请输入正确的手机号"; +"XPLoginPhoneViewController1" = "登录成功"; +"XPLoginPhoneViewController2" = "验证码发送成功"; +"XPLoginPhoneViewController3" = "手机号登录"; +"XPLoginPhoneViewController4" = "未注册的手机号自动登录"; +"XPLoginPhoneViewController5" = "请输入手机号"; +"XPLoginPhoneViewController6" = "请输入验证码"; +"XPLoginPhoneViewController7" = "密码登录"; + +"XPLoginInputView0" = "获取验证码"; +"XPLoginInputView1" = "重新获取"; + +"XPLoginViewController0" = "一键登录失败,请检查手机网络状态"; +"XPLoginViewController1" = "一键登录"; +"XPLoginViewController2" = "本机号码一键登录"; +"XPLoginViewController3" = "同意《默认》,并授权%@获取本机号码"; +"XPLoginViewController4" = "登录成功"; +"XPLoginViewController5" = "手机号码登录"; +"XPLoginViewController6" = "同意"; +"XPLoginViewController7" = "《用户服务协议》"; +"XPLoginViewController8" = "和"; +"XPLoginViewController9" = "《隐私政策》"; +"XPLoginViewController10" = "其他登陆方式"; +"XPLoginViewController11" = "同意隐私政策和用户协议后,才可以注册登录哦"; + +"XPForgetPwdViewController0" = "请输入正确的手机号"; +"XPForgetPwdViewController1" = "验证码发送成功"; +"XPForgetPwdViewController2" = "重置密码成功"; +"XPForgetPwdViewController3" = "忘记密码"; +"XPForgetPwdViewController4" = "请输入手机号"; +"XPForgetPwdViewController5" = "请输入验证码"; +"XPForgetPwdViewController6" = "请输入密码(6-16个字符"; + +"XPLoginPwdViewController0" = "登录成功"; +"XPLoginPwdViewController1" = "密码登录"; +"XPLoginPwdViewController2" = "请输入手机号/ID"; +"XPLoginPwdViewController3" = "请输入密码"; +"XPLoginPwdViewController4" = "手机号登录"; +"XPLoginPwdViewController5" = "忘记密码"; + +"XPLoginBindPhoneResultViewController0" = "绑定手机"; +"XPLoginBindPhoneResultViewController1" = "您当前绑定的手机号为"; +"XPLoginBindPhoneResultViewController2" = "更改手机号码"; + +"XPLoginVerifBindPhoneViewController0" = "更改绑定手机"; +"XPLoginVerifBindPhoneViewController1" = "绑定手机号"; +"XPLoginVerifBindPhoneViewController2" = "验证已绑定的手机号码"; +"XPLoginVerifBindPhoneViewController3" = "验证"; +"XPLoginVerifBindPhoneViewController4" = "手机号码不能为空"; +"XPLoginVerifBindPhoneViewController5" = "请输入正确手机号码"; +"XPLoginVerifBindPhoneViewController6" = "手机号码不能为空"; +"XPLoginVerifBindPhoneViewController7" = "验证码不能为空"; +"XPLoginVerifBindPhoneViewController8" = "验证码发送成功"; +"XPLoginVerifBindPhoneViewController9" = "验证成功"; +"XPLoginVerifBindPhoneViewController10" = "%ds后重试"; +"XPLoginVerifBindPhoneViewController11" = "重新发送"; +"XPLoginVerifBindPhoneViewController12" = "国家和地区"; +"XPLoginVerifBindPhoneViewController13" = "中国"; +"XPLoginVerifBindPhoneViewController14" = "绑定"; +"XPLoginVerifBindPhoneViewController15" = "获取验证码"; +"XPLoginVerifBindPhoneViewController16" = "输入手机号"; +"XPLoginVerifBindPhoneViewController17" = "输入验证码"; +"XPLoginVerifBindPhoneViewController18" = "如果您的手机号已丢失\n请咨询客服"; + +"LoginVerifCodeViewController0" = "后可重新获取验证码"; +"LoginVerifCodeViewController1" = "登录成功"; +"LoginVerifCodeViewController2" = "验证码已发送至"; +"LoginVerifCodeViewController3" = "填写验证码"; +"LoginVerifCodeViewController4" = "重新获取验证码"; + +"UserPrivacyView0" = "“%@”隐私政策"; +"UserPrivacyView1" = "欢迎您使用%@。我们将通过《隐私政策》和《用户协议》帮助您瞭解我们收集、使用、存储和共享个人信息的情况,特别是我们所採集的个人信息类型与用途的对应关係。\n\n为了保障产品的正常运行,我们会收集您的部分必要信息。我们可能会收集联络方式等个人敏感信息,您有权拒绝向我们提供这些信息。我们不会向第三方共享、提供、转让或者从第三方获取您的个人信息,除非经过您的同意"; +"UserPrivacyView2" = "您可以查看完整的《隐私政策》和《用户协议》,如果您同意,请点击下方同意按钮开始接受我们的服务"; +"UserPrivacyView3" = "同意"; +"UserPrivacyView4" = "不同意并退出"; + +"XPLoginBindSuccessView0" = "恭喜您!绑定成功"; +"XPLoginBindSuccessView1" = "关闭"; + +"LoginFullInfoViewController0" = "当前未填写邀请码哦~ \n 确认继续下一步吗"; +"LoginFullInfoViewController1" = "完善资料"; +"LoginFullInfoViewController2" = "性别后期无法进行修改"; +"LoginFullInfoViewController3" = "昵称"; +"LoginFullInfoViewController4" = "邀请码"; +"LoginFullInfoViewController5" = "(选填"; +"LoginFullInfoViewController6" = "下一步"; +"LoginFullInfoViewController7" = "本软件只提供给18岁或以上用户使用"; + +"LoginBindPhoneViewController0" = "第三方登录需绑定手机号喔"; +"LoginBindPhoneViewController1" = "手机格式不正确"; +"LoginBindPhoneViewController2" = "绑定手机号"; + +"MvpViewController0" = "注销时间"; +"MvpViewController1" = "%@\n\n请联繫客服(微信:kefu01)咨询哦"; +"MvpViewController2" = "该账号已注销"; +"MvpViewController3" = "为了营造更安全的网络环境\n保护您和他人的财产安全\n请先进行实名认证"; +"MvpViewController4" = "确定"; +"MvpViewController5" = "实名认证"; +"MvpViewController6" = "您被封号了"; +"MvpViewController7" = "您的账号因%@被封禁\n解封时间"; + +"XPRoomInsideRecommendEmptyCell" = "努力寻找合适房间中~"; + +"XPChooseRreaCodeVC0"="选择区号"; + +"PKIDLoginViewController11" = "短信发送成功"; +"LoginVerifCodeViewController3" = "验证码"; +"LoginVerifCodeViewController4" = "重新获取"; + +"XPLoginViewController11" = "同意隐私政策和用户协议后,才可以注册登录哦~"; +"XPMonentsMineViewController2" = "删除后不可恢複\n确定删除该动态吗?"; +"XPMineUserInfoViewController13" = "资料"; + +"PKLoginViewController1" = "同意隐私政策和用户协议后,才可以注册登录哦~"; + +"XPMinePromptWindow0"="关闭兑换"; +"XPMinePromptWindow1"="确定关闭%@的金币兑换权限吗?"; +"XPMinePromptWindow2"="取消"; +"XPMinePromptWindow3"="确定"; + + +"XPMineExchangeAuthorityFooderView0"="暂无更多不可兑换金币的成员~"; +"XPMineExchangeAuthorityFooderView1"="暂无更多可兑换金币的成员~"; + +///XPMineGuildListCell +"XPMineGuildListCell0"="申请加入"; +"XPMineGuildListCell1"="已申请"; +"XPMineGuildListCell2"="3天内不可重复发送申请"; +"XPMineGuildListCell3"="房间ID:%ld"; +"XPMineGuildListCell4"="7天内不可重复发送申请"; +"XPMineGuildListCell5"="待审核"; +"XPMineGuildListCell6"="通过邀请"; + +"XPMineMainGuildListVC0"="公会"; +"XPMineMainGuildListVC1"="房间"; + +///XPMineHallAnchorIncomeStatisViewController.m +"XPMineHallAnchorIncomeStatisViewController0" = "主播收入"; +"XPMineHallAnchorIncomeStatisViewController1" = "按日统计"; +"XPMineHallAnchorIncomeStatisViewController2" = "每周统计"; + +///XPMineClanIncomeStatisViewController.m +"XPMineClanIncomeStatisViewController0" = "收入统计"; +"XPMineClanIncomeStatisViewController1" = "按日统计"; +"XPMineClanIncomeStatisViewController2" = "每周统计"; +"XPMineClanIncomeStatisViewController3" = "每月统计"; + +///XPMineAnchorIncomeStatisViewController.m +"XPMineAnchorIncomeStatisViewController0" = "主播收入"; +"XPMineAnchorIncomeStatisViewController1" = "按日统计"; +"XPMineAnchorIncomeStatisViewController2" = "每周统计"; + +///XPMineGuildIncomeStatisViewController.m +"XPMineGuildIncomeStatisViewController0" = "收入统计"; +"XPMineGuildIncomeStatisViewController1" = "按日统计"; +"XPMineGuildIncomeStatisViewController2" = "每周统计"; +"XPMineGuildIncomeStatisViewController3" = "金币明细"; + +///XPMineGuildIncomeDetailViewController.m +"XPMineGuildIncomeDetailViewController0" = "收入明细"; +"XPMineGuildIncomeDetailViewController1" = "消息"; + +///XPMineClanViewController.m +"XPMineClanViewController0" = "没有更多数据了"; +"XPMineClanViewController1" = "公会成员(%ld)"; +"XPMineClanViewController2" = "加入房间"; +///XPMineGuildSuperAdminSetViewController.m +"XPMineGuildSuperAdminSetViewController0" = "公会超管设置"; +"XPMineGuildSuperAdminSetViewController1" = "确定要移除%@的公会超级管理员身份吗?"; +"XPMineGuildSuperAdminSetViewController2" = "添加公会超管"; +///XPMineMainIncomeStatisViewController +"XPMineMainIncomeStatisViewController0"="厅收入"; +"XPMineMainIncomeStatisViewController1"="主播收入"; +///XPMineGuildChooseManagerViewController.m +"XPMineGuildChooseManagerViewController0" = "选择管理的房间"; +"XPMineGuildChooseManagerViewController1" = "设置成功"; +"XPMineGuildChooseManagerViewController2" = "此时关闭会导致超管设置不成功确认关闭吗?"; +"XPMineGuildChooseManagerViewController3" = "完成"; + +///XPMineGuildViewController.m +"XPMineGuildViewController0" = "获取信息失败"; +"XPMineGuildViewController1" = "获取信息失败"; +"XPMineGuildViewController2" = "没有更多数据了"; +"XPMineGuildViewController3" = "确认邀请%@加入%@吗?"; +"XPMineGuildViewController4" = "提示"; +"XPMineGuildViewController5" = "成员列表 (%ld)人"; +"XPMineGuildViewController6" = "房间ID:%@"; +"XPMineGuildViewController7" = "邀请成功"; +"XPMineGuildViewController8" = "申请成功,等待房主同意"; +"XPMineGuildViewController9" = "需要房主审核"; +"XPMineGuildViewController10" = "退出将解散关係,此操作%@,您真的要退出吗?"; +"XPMineGuildViewController11" = "退出房间"; +"XPMineGuildViewController12"="加入公会"; + +///XPGuildSuperAdminMenuView.m +"XPGuildSuperAdminMenuView0" = "设置管理的房间"; +"XPGuildSuperAdminMenuView1" = "移除超管身份"; + +///XPGuildTimePickView.m +"XPGuildTimePickView0" = "开始日期不能大于当前日期"; +"XPGuildTimePickView1" = "结束日期不得早于开始日期"; +"XPGuildTimePickView2" = "开始日期和结束日期相差不得超过6个月"; +"XPGuildTimePickView3" = "结束日期不得早于开始日期"; +"XPGuildTimePickView4" = "取消"; +"XPGuildTimePickView5" = "确定"; +"XPGuildTimePickView6" = "只能查看前3个月的结算统计"; +///XPGuildTimeMonthPickerView.m +"XPGuildTimeMonthPickerView0" = "确定"; +"XPGuildTimeMonthPickerView1" = "取消"; +"XPGuildTimeMonthPickerView2" = "取消"; +"XPGuildTimeMonthPickerView3" = "确定"; + +///XPGuildHeaderView.m +"XPGuildHeaderView0" = "ID:%@"; +"XPGuildHeaderView1" = "公会房间数量:%ld"; +"XPGuildHeaderView2" = "公会房间数量:0"; +"XPGuildHeaderView3" = "公会房间(%ld)"; +"XPGuildHeaderView4" = "查看流水"; +"XPGuildHeaderView5" = "兑换权限设置"; +"XPGuildHeaderView6" = "公会超管设置"; +"XPGuildHeaderView7" = "公会房间(0)"; + +///XPGuildSearchNavView.m +"XPGuildSearchNavView0" = "搜索昵称/%@ID"; +"XPGuildSearchNavView1" = "搜索"; + +///XPGuildIncomeHeaderView.m +"XPGuildIncomeHeaderView0" = "MM月dd日"; +"XPGuildIncomeHeaderView1" = "MM月dd日"; +"XPGuildIncomeHeaderView2" = "%@钻石"; +"XPGuildIncomeHeaderView3" = "钻石"; +"XPGuildIncomeHeaderView4" = "总收入"; +"XPGuildIncomeHeaderView5" = "MM月"; + +///XPGuildAnchorIncomeSectionView.m +"XPGuildAnchorIncomeSectionView0" = "排名"; +"XPGuildAnchorIncomeSectionView1" = "头像"; +"XPGuildAnchorIncomeSectionView2" = "签约流水"; +"XPGuildAnchorIncomeSectionView3" = "昵称"; +"XPGuildAnchorIncomeSectionView4" = "房间(钻石)"; +"XPGuildAnchorIncomeSectionView6" = "所属厅"; + +///XPGuildIncomeSectionView.m +"XPGuildIncomeSectionView0" = "房间"; +"XPGuildIncomeSectionView1" = "头像"; +"XPGuildIncomeSectionView2" = "排名"; +"XPGuildIncomeSectionView3" = "房间"; +"XPGuildIncomeSectionView4" = "昵称"; +"XPGuildIncomeSectionView5" = "签约流水"; + +///XPClanMemberTableViewCell.m +"XPClanMemberTableViewCell0" = "公会长"; +"XPClanMemberTableViewCell1" = "会长·房主"; +"XPClanMemberTableViewCell2" = "房主"; +"XPClanMemberTableViewCell3" = "房间管理"; +"XPClanMemberTableViewCell4" = "公会超管"; + +///XPMineGuildSearchMemberTableViewCell.m +"XPMineGuildSearchMemberTableViewCell0" = "ID:%@"; +"XPMineGuildSearchMemberTableViewCell1" = "邀请"; +"XPMineGuildSearchMemberTableViewCell2"="去审核"; +"XPMineGuildSearchMemberTableViewCell3"="待通过"; + +///XPGuildSuperAdminSetTableViewCell.m +"XPGuildSuperAdminSetTableViewCell0" = "ID:%@"; +"XPGuildSuperAdminSetTableViewCell1" = "管理的房间"; + +///XPGuildSearchSuperAdminTableViewCell.m +"XPGuildSearchSuperAdminTableViewCell0" = "设置为超管"; +"XPGuildSearchSuperAdminTableViewCell1" = "已设置为超管"; + +///XPGuildIncomeDetailCollectionViewCell.m +"XPGuildIncomeDetailCollectionViewCell0" = "钻石"; + +///XPGuildIncomeRecordTableViewCell.m +"XPGuildIncomeRecordTableViewCell0" = "房间流水"; +"XPGuildIncomeRecordTableViewCell1" = "普通礼物流水"; +"XPGuildIncomeRecordTableViewCell2" = "背包礼物流水"; +"XPGuildIncomeRecordTableViewCell3" = "送礼人数"; +"XPGuildIncomeRecordTableViewCell4" = "新用户送礼人数"; + +///XPMineGuildEmptyTableViewCell.m +"XPMineGuildEmptyTableViewCell0" = "暂无数据"; + +///XPGuildEmptyCollectionViewCell.m +"XPGuildEmptyCollectionViewCell0" = "暂无数据"; + +///XPMineGuildSearchViewController.m +"XPMineGuildSearchViewController0" = "没有搜到相关内容"; +"XPMineGuildSearchViewController1" = "请输入需要搜索的内容"; +"XPMineGuildSearchViewController2" = "确定要添加用户%@(ID:%@)为公会超级管理员吗?"; +"XPMineGuildSearchViewController3" = "请输入公会成员ID"; + +///XPMineMangerListViewController.m +"XPMineMangerListViewController0" = "获取信息失败"; +"XPMineMangerListViewController1" = "获取信息失败"; +"XPMineMangerListViewController2" = "没有更多数据了"; +"XPMineMangerListViewController3" = "房间高管"; +"XPMineMangerListViewController4" = "房间暂无高管"; + +///XPMineGuildManagerSetViewController.m +"XPMineGuildManagerSetViewController0" = "获取信息失败"; +"XPMineGuildManagerSetViewController1" = "获取信息失败"; +"XPMineGuildManagerSetViewController2" = "没有更多数据了"; +"XPMineGuildManagerSetViewController3" = "增减高管"; +"XPMineGuildManagerSetViewController4" = "确定删除%@的高管身份吗?"; +"XPMineGuildManagerSetViewController5" = "确认设%@?为高管吗?"; +"XPMineGuildManagerSetViewController6" = "提示"; +"XPMineGuildManagerSetViewController7" = "已选择人数:%d"; + +///XPMineGuildManagerPerViewController.m +"XPMineGuildManagerPerViewController0" = "权限设置"; +"XPMineGuildManagerPerViewController1" = "设置成功"; +"XPMineGuildManagerPerViewController2" = "您有设置未保存,确定直接返回吗?"; +"XPMineGuildManagerPerViewController3" = "完成"; + +///XPMineGuildRemoveMemberViewController.m +"XPMineGuildRemoveMemberViewController0" = "获取信息失败"; +"XPMineGuildRemoveMemberViewController1" = "获取信息失败"; +"XPMineGuildRemoveMemberViewController2" = "没有更多数据了"; +"XPMineGuildRemoveMemberViewController3" = "移除房间成员"; +"XPMineGuildRemoveMemberViewController4" = "%@为高管,移除将清除数据和权限,确定移除吗?"; +"XPMineGuildRemoveMemberViewController5" = "移除%@将清除数据,确定移除吗?"; + +///XPMineGuildSetNameViewController.m +"XPMineGuildSetNameViewController0" = "设置房间名"; +"XPMineGuildSetNameViewController1" = "确定"; +"XPMineGuildSetNameViewController2" = "输入字数已达上限"; +"XPMineGuildSetNameViewController3" = "输入字数已达上限"; +"XPMineGuildSetNameViewController4" = "房间名不能为空"; +"XPMineGuildSetNameViewController5" = " 输入15个字内中文/字母"; + +///MessageContentGuildDialogView +"MessageContentGuildDialogView0"="同意申请"; +"MessageContentGuildDialogView1"="拒绝申请"; +"MessageContentGuildDialogView2"="7天内不再接受该用户的申请"; +"MessageContentGuildDialogView3"="取消"; +"MessageContentGuildDialogView4"="确定"; +"MessageContentGuildDialogView5"="确定通过该用户加入房间的申请吗?"; +"MessageContentGuildDialogView6"="确定拒绝该用户加入房间的申请吗?"; +"MessageContentGuildDialogView7"="通过"; +"MessageContentGuildDialogView8"="拒绝"; +"MessageContentGuildDialogView9"="确定通过该房间的加入邀请吗?"; +"MessageContentGuildDialogView10"="确定拒绝该房间的加入邀请吗?"; +"MessageContentGuildDialogView11"="同意邀请"; +"MessageContentGuildDialogView12"="拒绝邀请"; +"MessageContentGuildDialogView13"="确定通过该房间的退出申请吗?"; +"MessageContentGuildDialogView14"="确定拒绝该房间的退出申请吗?"; +"MessageContentGuildDialogView15"="同意退出"; +"MessageContentGuildDialogView16"="拒绝退出"; +///XPMineGuildListVC.m +"XPMineGuildListVC0" = "公会周榜"; +"XPMineGuildListVC1" = "暂没有公会"; +"XPMineGuildListVC2"="发送成功,请耐心等待"; +"XPMineGuildListVC3" = "没有搜到相关房间"; +"XPMineGuildListVC4" = "申请成功,审核通过后即可加入房间"; + +///XPMineTheGuildCell.m +"XPMineTheGuildCell0" = "我的公会"; +"XPMineTheGuildCell1" = "加入公会"; + +///XPMineGiveDiamondVC +"XPMineGiveDiamondVC0" = "我的转赠"; +"XPMineGiveDiamondVC1"="转赠记录"; +"XPMineGiveDiamondVC2"="仅显示最近三个月记录"; +"XPMineGiveDiamondVC3"="暂无转赠记录"; +///XPMineGiveDiamondSearchView +"XPMineGiveDiamondSearchView0"="搜索"; +"XPMineGiveDiamondSearchView1"="请输入用户ID"; +"XPMineGiveDiamondSearchView2"="用户不存在"; +"XPMineGiveDiamondSearchView3"="搜索房间名称或ID"; + +///XPMineChooseGiveDiamondView +"XPMineChooseGiveDiamondView0"="我的钻石:"; +"XPMineChooseGiveDiamondView1"="确定"; +"XPMineChooseGiveDiamondView2"="转赠钻石"; +"XPMineChooseGiveDiamondView3"="转赠礼物"; + +///XPMineChooseGiveDiamondVC +"XPMineChooseGiveDiamondVC0"="转赠至"; +"XPMineChooseGiveDiamondVC1"="请先设置支付密码"; +"XPMineChooseGiveDiamondVC2"="去设置"; +"XPMineChooseGiveDiamondVC3"="已超出今天转赠额度"; +"XPMineChooseGiveDiamondVC4"="单次最多只能转赠%@钻石"; +"XPMineChooseGiveDiamondVC5"="钻石余额不足,请重新输入"; +"XPMineChooseGiveDiamondVC6"="赠送成功"; +///XPMineConfirmGiveDiamondView +"XPMineConfirmGiveDiamondView0"="确认支付"; +"XPMineConfirmGiveDiamondView1"="向%@转赠"; +"XPMineConfirmGiveDiamondView2"="手续费"; +"XPMineConfirmGiveDiamondView3"="总消耗钻石"; +"XPMineConfirmGiveDiamondView4"="钻"; +"XPMineConfirmGiveDiamondView5"="兑换金币获得钻石"; +"XPMineConfirmGiveDiamondView6"="%ld金币"; +"XPMineConfirmGiveDiamondView7"="消耗金币"; +"XPMineConfirmGiveDiamondView8"="确认兑换"; + +///XPMineGiveDiamondDetailsVC +"XPMineGiveDiamondDetailsVC0"="转赠明细"; +"XPMineGiveDiamondDetailsVC1"="钻石"; +"XPMineGiveDiamondDetailsVC2"="礼物"; + +///XPMineGiveDiamondDetailsCell +"XPMineGiveDiamondDetailsCell0"="总支出%@钻"; +///XPMineChooseGiveGiftView +"XPMineChooseGiveGiftView0"="数量"; +"XPMineChooseGiveGiftView1"="全部"; +"XPMineChooseGiveGiftView2"="请先选择礼物"; +"XPMineChooseGiveGiftView3"="礼物数量有误,请重新输入"; +"XPMineChooseGiveGiftView3"="礼物数量有误,请重新输入"; +"XPMineChooseGiveGiftView4"="请输入礼物数量"; +"XPMineChooseGiveGiftView5"="暂时没有礼物"; +"XPMineGoldIncomeRecordVC0"="暂无更多数据~"; +"XPIncomeRecordGoldDetailsCell0"="已兑:%@"; +///XPIncomeRecordGoldDetailsHeadView +"XPIncomeRecordGoldDetailsHeadView0"="本周收益"; +"XPIncomeRecordGoldDetailsHeadView1"="成员"; +"XPIncomeRecordGoldDetailsHeadView2"="房间"; +"XPIncomeRecordGoldDetailsHeadView3"="金币收益"; +"XPIncomeRecordGoldDetailsHeadView4"="可结算金币"; +"XPIncomeRecordGoldDetailsHeadView5"="总收入(钻石)"; +"XPIncomeRecordGoldDetailsHeadView6"="基础总结算金币"; +"XPIncomeRecordGoldDetailsHeadView7"="公会收益"; +"XPIncomeRecordGoldDetailsHeadView8"="成员总金币"; +"XPIncomeRecordGoldDetailsHeadView9"="成员总兑换"; + +"XPMineTheGuildCell0" = "我的公会"; +"XPMineTheGuildCell1" = "加入公会"; + +"XPMinePersonalCenterCell0" = "个人中心"; +"XPMinePersonalCenterCell1" = "我的房间"; +"XPMinePersonalCenterCell2" = "收益记录"; +"XPMinePersonalCenterCell3" = "我的转赠"; + +"XPIncomeRecordView0"="明细"; +"XPIncomeRecordView1"="充值"; +"XPIncomeRecordView2"="兑换钻石"; +"XPIncomeRecordView3"="提现"; +"XPIncomeRecordView4"="钻石"; +"XPIncomeRecordView5"="金币"; + +"XPIncomeRecordVC0"="收益记录"; + +"XPExchangeDiamondsItemView0"="我的钻石:%@"; +"XPExchangeDiamondsItemView1"="我的金币:%.2f"; + +"XPExchangeDiamondsView0"="兑换钻石"; +"XPExchangeDiamondsView1"="确定兑换"; +"XPExchangeDiamondsView2"="金币数不足"; +"XPExchangeDiamondsView3"="至少需要兑换%ld钻石"; +"XPExchangeDiamondsView4"="兑换钻石数不能超过%ld钻"; +"XPExchangeDiamondsView5"="兑换成功"; + +"XPIncomeRecordGoldDetailsView0"="暂没有数据"; +"XPIncomeRecordGoldDetailsView1"="当前房间总计钻石流水:%@钻"; + +"XPIncomeRecordGoldDetailsVC0"="金币明细"; +"XPIncomeRecordGoldDetailsVC1"="至"; + +"XPGoldDetailsChooseRoomView0"="全部"; + +"XPIncomeRecordGoldDetailsPickViewView0"="取消"; +"XPIncomeRecordGoldDetailsPickViewView1"="确定"; +"XPIncomeRecordGoldDetailsPickViewView2"="至"; +"XPIncomeRecordGoldDetailsPickViewView3"="年"; +"XPIncomeRecordGoldDetailsPickViewView4"="月"; +"XPIncomeRecordGoldDetailsPickViewView5"="日"; +///XPNobleSettingViewController.m +"XPNobleSettingViewController0" = "贵族设置"; +"XPNobleSettingViewController1" = "隐身进房"; + +///XPNobleCenterViewController.m +"XPNobleCenterViewController0" = "%@立即开通贵族特权"; +"XPNobleCenterViewController1" = "购买失败"; +"XPNobleCenterViewController2" = "出现未知错误,请重新尝试"; +"XPNobleCenterViewController3" = "钻石余额不足,是否充值"; +///XPNobleCenterMyNobleView.m +"XPNobleCenterMyNobleView0" = "当前等级"; +"XPNobleCenterMyNobleView1" = " 已达到可用最高贵族等级"; +"XPNobleCenterMyNobleView2" = " 还差:"; +"XPNobleCenterMyNobleView3" = "权力力值可升级到到"; +"XPNobleCenterMyNobleView4" = " 剩馀时间:"; +"XPNobleCenterMyNobleView5" = "%lld小时"; +"XPNobleCenterMyNobleView6" = "%lld小时"; +"XPNobleCenterMyNobleView7" = "1小时"; +"XPNobleCenterMyNobleView8" = "保级%zd"; +"XPNobleCenterMyNobleView9" = "升级%zd"; +"XPNobleCenterMyNobleView10" = "当前%zd"; + +///XPNobleCenterEmptyView.m +"XPNobleCenterEmptyView0" = "即将上线敬请期待"; + +///XPNobleSettingNavView.m +"XPNobleSettingNavView0" = "贵族设置"; + +///XPNobleCenterNavView.m +"XPNobleCenterNavView0" = "贵族中心"; + +///XPNobleCenterTableHeadView.m +"XPNobleCenterTableHeadView0" = "当前权力值:%zd"; +"XPNobleCenterTableHeadView1" = "尚未开通贵族"; +"XPNobleCenterTableHeadView2" = "当前权力值:"; + +///XPNobleCenterResidueView.m +"XPNobleCenterResidueView0" = "剩馀时间说明"; +"XPNobleCenterResidueView1" = "剩馀时间以30天为周期,以获得新的贵族等级次日起算30日后的中午12:00为截止时间,周期内贵族等级出现变化则剩馀时间自动重置为30天。"; + +///XPNobleUpgradeLevelView.m +"XPNobleUpgradeLevelView0" = "升级啦!"; +"XPNobleUpgradeLevelView1" = "保留原有装扮"; +"XPNobleUpgradeLevelView2" = "佩戴高等级装扮"; +"XPNobleUpgradeLevelView3" = "前往贵族中心"; +"XPNobleUpgradeLevelView4" = "恭喜你成为‘%@’!当前已自动佩戴该等级装扮,是否保留原有装扮?"; +///XPNobleCenterEntranceView.m +"XPNobleCenterEntranceView0" = "距升级还差%@权力值"; +"XPNobleCenterEntranceView1" = "贵族中心"; +"XPNobleCenterEntranceView2" = "开通立享各项特权"; +///XPNobleCenterPayView +"XPNobleCenterPayView0" = "支付"; +"XPNobleCenterPayView1" = "钻石"; +"XPNobleCenterPayView2" = "钻石支付"; +"XPNobleCenterPayView3" = "确认支付"; +///LoginForgetEditView.m +"LoginForgetEditView0" = "获取验证码"; + +///LoginForgetPasswordViewController.m +"LoginForgetPasswordViewController0" = "忘记密码"; +"LoginForgetPasswordViewController1" = "验证码发送成功"; +"LoginForgetPasswordViewController2" = "重置密码成功"; +"LoginForgetPasswordViewController3" = "%ds后重试"; +"LoginForgetPasswordViewController4" = "重新发送"; +"LoginForgetPasswordViewController5" = "请输入正确的手机号码"; +"LoginForgetPasswordViewController6" = "提交"; +"LoginForgetPasswordViewController7" = "请输入手机号"; +"LoginForgetPasswordViewController8" = "请输入验证码"; +"LoginForgetPasswordViewController9" = "请输入密码(6-16个字符)"; +///"XPGiftLuckyGiftBroadcastCell0" +"XPGiftLuckyGiftBroadcastCell6"="周星榜"; +///不能脚本生成的 +"App_Common_And" = "和"; +"App_Common_Male" = "男"; +"App_Common_FeMale" = "女"; +"App_Common_My" = "我"; +"App_Common_Is" = "是"; +"App_Common_Not" = "否"; +"App_Common_No" = "无"; +"App_Commont_Days" = "日"; +"App_Commont_Week" = "周"; +"App_Commont_Month" = "月"; +"App_Commont_Hour" = "时"; +"App_Commont_Minute" = "分"; +"App_Commont_Day" = "天"; +"App_Common_To" = "至"; +"App_Common_Number" = "个"; +"App_Common_Person" = "·%ld人"; +"App_Common_Or" = "或"; +"App_Common_Yuan" = "美元"; +"App_Common_Wan" = "万"; +"App_Common_Zero_Second" = "0秒"; +"App_Common_zai" = "在"; +"App_Common_bei" = "被"; +"App_Common_gei" = "给"; +"App_Common_nin" = "您"; +"App_Common_Year" = "yyyy年"; diff --git a/YuMi/zh-Hant.lproj/Localizable.strings b/YuMi/zh-Hant.lproj/Localizable.strings index 23eb6195..d56509be 100644 --- a/YuMi/zh-Hant.lproj/Localizable.strings +++ b/YuMi/zh-Hant.lproj/Localizable.strings @@ -1328,6 +1328,7 @@ "XPGiftHeadTypeView1" = "首充有禮"; "XPGiftHeadTypeView2" = "送禮"; "XPGiftHeadTypeView3" = "互動"; +"XPGiftHeadTypeView4" = "貴族中心"; "XPGiftLuckyGiftBroadcastCell0" = "恭喜 "; "XPGiftLuckyGiftBroadcastCell1" = "開出%@獲得 "; @@ -1364,7 +1365,7 @@ "XPGiftInfoView6" = "塗鴉禮物"; "XPGiftInfoView7" = "懲罰禮物"; "XPGiftInfoView8" = "人氣"; - +"XPGiftInfoView9" = "貴族"; "XPGiftCountView0" = "其他數額"; "XPGiftCountView1" = "全部"; "XPGiftCountView2" = "其他數額"; @@ -1446,8 +1447,8 @@ "XPRoomNobleLevelUpView0" = "引爆全場!恭喜"; "XPRoomNobleLevelUpView1" = "貴族身份升級為"; -"XPRoomCandyGiftView0" = "厲害了"; -"XPRoomCandyGiftView1" = "摘下糖果得"; +"XPRoomCandyGiftView0" = "厲害了! "; +"XPRoomCandyGiftView1" = "通過尋愛之旅獲取 "; "XPRoomLicneseHourRankView0" = "恭喜"; "XPRoomLicneseHourRankView1" = "去圍觀"; @@ -1781,7 +1782,9 @@ "MessageOpenLiveModel0" = "%@ 上線了"; "MessageTextClickModel0" = "未知消息類型"; - +"PKIDLoginViewController2" = "請聯繫客服處理"; +"PKIDLoginViewController3" = "LINE:pekoyuyin"; +"PKIDLoginViewController4" = "我知道了"; "MessageLevelUpgradeModel0" = "恭喜!您的魅力等級已到達"; "MessageLevelUpgradeModel1" = "恭喜!您的等級已到達"; @@ -2127,7 +2130,9 @@ "XPMineGuildSuperAdminSetViewController0" = "公會超管設置"; "XPMineGuildSuperAdminSetViewController1" = "確定要移除%@的公會超級管理員身份嗎?"; "XPMineGuildSuperAdminSetViewController2" = "添加公會超管"; - +///XPMineMainIncomeStatisViewController +"XPMineMainIncomeStatisViewController0"="廳收入"; +"XPMineMainIncomeStatisViewController1"="主播收入"; ///XPMineGuildChooseManagerViewController.m "XPMineGuildChooseManagerViewController0" = "選擇管理的房間"; "XPMineGuildChooseManagerViewController1" = "設置成功"; @@ -2477,9 +2482,22 @@ "XPNobleCenterPayView1" = "鉆石"; "XPNobleCenterPayView2" = "鉆石支付"; "XPNobleCenterPayView3" = "確認支付"; +///LoginForgetEditView.m +"LoginForgetEditView0" = "獲取驗證碼"; - - +///LoginForgetPasswordViewController.m +"LoginForgetPasswordViewController0" = "忘記密碼"; +"LoginForgetPasswordViewController1" = "驗證碼發送成功"; +"LoginForgetPasswordViewController2" = "重置密碼成功"; +"LoginForgetPasswordViewController3" = "%ds後重試"; +"LoginForgetPasswordViewController4" = "重新發送"; +"LoginForgetPasswordViewController5" = "請輸入正確的手機號碼"; +"LoginForgetPasswordViewController6" = "提交"; +"LoginForgetPasswordViewController7" = "請輸入手機號"; +"LoginForgetPasswordViewController8" = "請輸入驗證碼"; +"LoginForgetPasswordViewController9" = "請輸入密碼(6-16個字符)"; +///"XPGiftLuckyGiftBroadcastCell0" +"XPGiftLuckyGiftBroadcastCell6"="周星榜"; ///不能脚本生成的 "App_Common_And" = "和"; "App_Common_Male" = "男";