修复bug

This commit is contained in:
liyuhua
2023-07-18 18:26:10 +08:00
parent fc0480ea2c
commit 979cc9f672
89 changed files with 4589 additions and 1618 deletions

View File

@@ -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 = "<group>"; };
2331C1BB2A60F69E00E1D940 /* UILabel+Utils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UILabel+Utils.h"; sourceTree = "<group>"; };
2331C1BC2A60F69E00E1D940 /* UILabel+Utils.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UILabel+Utils.m"; sourceTree = "<group>"; };
23352A0D2A669D57001DB9B5 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = "<group>"; };
23B2AEBF2A64E9C200543D17 /* LoginForgetEditView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoginForgetEditView.h; sourceTree = "<group>"; };
23B2AEC02A64E9C200543D17 /* LoginForgetEditView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LoginForgetEditView.m; sourceTree = "<group>"; };
23B2AEC22A6516C200543D17 /* LoginForgetPasswordViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LoginForgetPasswordViewController.m; sourceTree = "<group>"; };
23B2AEC32A6516C200543D17 /* LoginForgetPasswordViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoginForgetPasswordViewController.h; sourceTree = "<group>"; };
23BA16592A5D2ACF0030C5A3 /* PIBaseAnimationViewModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIBaseAnimationViewModel.h; sourceTree = "<group>"; };
23BA165A2A5D2ACF0030C5A3 /* PIBaseAnimationViewModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIBaseAnimationViewModel.m; sourceTree = "<group>"; };
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 = "<group>"; };
@@ -1667,8 +1673,6 @@
9B4C5B85292F81FA00CEA41B /* XPSessionListFansPartyModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPSessionListFansPartyModel.m; sourceTree = "<group>"; };
9B4D449128F15765002572D5 /* XPGiftLuckyGiftBroadcastView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPGiftLuckyGiftBroadcastView.h; sourceTree = "<group>"; };
9B4D449228F15765002572D5 /* XPGiftLuckyGiftBroadcastView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPGiftLuckyGiftBroadcastView.m; sourceTree = "<group>"; };
9B4D449428F15EE7002572D5 /* XPGiftWeekStarBroadcastView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPGiftWeekStarBroadcastView.h; sourceTree = "<group>"; };
9B4D449528F15EE7002572D5 /* XPGiftWeekStarBroadcastView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPGiftWeekStarBroadcastView.m; sourceTree = "<group>"; };
9B4E91FE28E57A620033419E /* XPGiftHeadTypeView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPGiftHeadTypeView.h; sourceTree = "<group>"; };
9B4E91FF28E57A620033419E /* XPGiftHeadTypeView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPGiftHeadTypeView.m; sourceTree = "<group>"; };
9B6B3AA9278C2EA7005551EC /* XPRoomNobleLevelUpView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomNobleLevelUpView.h; sourceTree = "<group>"; };
@@ -4096,6 +4100,8 @@
E81366F226F0B7C80076364C /* LoginFullInfoViewController.m */,
E824543326F57D6E00BE8163 /* XPLoginVerifBindPhoneViewController.h */,
E824543426F57D6E00BE8163 /* XPLoginVerifBindPhoneViewController.m */,
23B2AEC32A6516C200543D17 /* LoginForgetPasswordViewController.h */,
23B2AEC22A6516C200543D17 /* LoginForgetPasswordViewController.m */,
);
path = View;
sourceTree = "<group>";
@@ -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 = "<group>";

View File

@@ -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"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 B

View File

@@ -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
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 730 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -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
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 416 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 607 B

View File

@@ -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
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 440 B

After

Width:  |  Height:  |  Size: 776 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 751 B

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 323 B

After

Width:  |  Height:  |  Size: 412 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 572 B

After

Width:  |  Height:  |  Size: 676 B

View File

@@ -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
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 B

View File

@@ -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
}
}

View File

@@ -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
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

View File

@@ -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"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

View File

@@ -95,7 +95,7 @@
}
/// 0xF9F9F9
+ (UIColor *)disableButtonTextColor {
return UIColorFromRGB(0x5FCCE4);
return UIColorFromRGB(0xB3B3C3);
}
/* ------Button END------ */

View File

@@ -90,6 +90,8 @@ typedef NS_ENUM(NSUInteger, URLType) {
kXinZuoStarURL,
///收益记录
kMineEarningsRecord,
///金币收益记录
kGoldEarningsRecord
};
NSString * const URLWithType(URLType type);

View File

@@ -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];

View File

@@ -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

View File

@@ -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{

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -0,0 +1,36 @@
//
// LoginForgetEditView.h
// xplan-ios
//
// Created by 冯硕 on 2021/9/10.
//
#import <UIKit/UIKit.h>
#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

View File

@@ -0,0 +1,206 @@
//
// LoginForgetEditView.m
// xplan-ios
//
// Created by on 2021/9/10.
//
#import "LoginForgetEditView.h"
///
#import <Masonry/Masonry.h>
///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

View File

@@ -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

View File

@@ -0,0 +1,237 @@
//
// LoginForgetPasswordViewController.m
// xplan-ios
//
// Created by on 2021/9/10.
//
#import "LoginForgetPasswordViewController.h"
///
#import <Masonry/Masonry.h>
#import <ReactiveObjC/ReactiveObjC.h>
///Tool
#import "CountDownHelper.h"
#import "UIImage+Utils.h"
///Presenter
#import "LoginForgetPasswordPresent.h"
#import "LoginForgetPasswordProtocol.h"
///View
#import "LoginForgetEditView.h"
#import "XPLoginAraeViewController.h"
@interface LoginForgetPasswordViewController ()<XPLoginAraeViewControllerDelegate,LoginForgetPasswordProtocol, CountDownHelperDelegate>
///
@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<UITouch *> *)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

View File

@@ -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

View File

@@ -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 <Masonry/Masonry.h>
#import <ReactiveObjC/ReactiveObjC.h>
///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;
}

View File

@@ -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

View File

@@ -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 <Masonry/Masonry.h>
#import <ReactiveObjC/ReactiveObjC.h>
///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 ()<XPLoginVerifBindPhoneProtocol, CountDownHelperDelegate>
@property (nonatomic, strong) UIView *containerView;
@property (nonatomic, strong) UILabel *areaLabel;
@property (nonatomic, strong) UIButton *countryBtn;
@property (nonatomic, strong) UIView *areaLineView;
@interface XPLoginVerifBindPhoneViewController ()<XPLoginAraeViewControllerDelegate,XPLoginVerifBindPhoneProtocol, CountDownHelperDelegate>
@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

View File

@@ -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

View File

@@ -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

View File

@@ -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;

View File

@@ -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{

View File

@@ -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 <Masonry/Masonry.h>
#import <ReactiveObjC/ReactiveObjC.h>
///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 ()<XPMineLoginPasswordProtocol>
@@ -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

View File

@@ -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 <Masonry/Masonry.h>
#import <ReactiveObjC/ReactiveObjC.h>
///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

View File

@@ -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"

View File

@@ -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 <Masonry/Masonry.h>
#import <ReactiveObjC/ReactiveObjC.h>
///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

View File

@@ -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 <Masonry/Masonry.h>
///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;
}

View File

@@ -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])];

View File

@@ -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, *)) {

View File

@@ -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];

View File

@@ -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];

View File

@@ -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];

View File

@@ -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];

View File

@@ -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];

View File

@@ -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 <Masonry/Masonry.h>
#import <SVGA.h>
#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

View File

@@ -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 = @"";

View File

@@ -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];
}

View File

@@ -10,7 +10,8 @@
NS_ASSUME_NONNULL_BEGIN
@interface XPWeekStarRankUserModel : NSObject
///0:冠名1、神豪
@property(nonatomic,assign) int type;
///头像
@property (nonatomic, copy) NSString *avatar;
///榜单值

View File

@@ -298,7 +298,8 @@
}
- (void)setIsShowFirstRecharge:(BOOL)isShowFirstRecharge {
self.firstRechargeButton.hidden = !isShowFirstRecharge;
// self.firstRechargeButton.hidden = !isShowFirstRecharge;
self.firstRechargeButton.hidden = YES;
}
- (void)setType:(GiftSegmentType)type {

View File

@@ -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;
}
}

View File

@@ -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

View File

@@ -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;

View File

@@ -6,9 +6,9 @@
//
#import <UIKit/UIKit.h>
#import "GiftInfoModel.h"
NS_ASSUME_NONNULL_BEGIN
@class GiftTwelveStarFirstModel, XPGiftTwelveStarBroadcastView;
@class XPGiftTwelveStarBroadcastView;
@protocol XPGiftTwelveStarBroadcastViewDelegate <NSObject>
@@ -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<XPGiftTwelveStarBroadcastViewDelegate> delegate;
@end
@interface XPGiftTwelveStarBroadcastCell : UICollectionViewCell
@property(nonatomic,strong) XPWeekStarRankUserModel *userModel;
@property(nonatomic,strong) UIButton *skipBtn;
@end
NS_ASSUME_NONNULL_END

View File

@@ -15,28 +15,14 @@
#import "XPWebViewController.h"
#import "YUMIHtmlUrl.h"
#import "NetImageView.h"
#import <SDCycleScrollView.h>
///Model
#import "GiftTwelveStarFirstModel.h"
@interface XPGiftTwelveStarBroadcastView()
@interface XPGiftTwelveStarBroadcastView()<SDCycleScrollViewDelegate>
@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

View File

@@ -1,28 +0,0 @@
//
// YMGiftWeekStarBroadcastView.h
// YUMI
//
// Created by YUMI on 2022/10/8.
//
#import <UIKit/UIKit.h>
#import "GiftInfoModel.h"
NS_ASSUME_NONNULL_BEGIN
@protocol XPGiftWeekStarBroadcastViewDelegate <NSObject>
///点击了周星榜入口
- (void)xPGiftWeekStarBroadcastViewWeekStarClick;
@end
@interface XPGiftWeekStarBroadcastView : UIView
@property (nonatomic, weak) id<XPGiftWeekStarBroadcastViewDelegate> delegate;
@property (nonatomic, strong) GiftInfoModel *giftInfo;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,261 +0,0 @@
//
// YMGiftWeekStarBroadcastView.m
// YUMI
//
// Created by YUMI on 2022/10/8.
//
#import "XPGiftWeekStarBroadcastView.h"
///Third
#import <Masonry/Masonry.h>
///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

View File

@@ -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;

View File

@@ -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<MicroViewProtocol> * view = [self findMicroViewByIndex:i];
[view showGiftValueMode:roomInfo.showGiftValue];
}
// [self microQueueUpdated];
}

View File

@@ -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;

View File

@@ -12,6 +12,7 @@
#import <AudioToolbox/AudioToolbox.h>
#import <AFNetworkReachabilityManager.h>
#import <POP.h>
#import <AFNetworking.h>
///Tool
#import "YUMIMacroUitls.h"
#import "DJDKMIMOMColor.h"
@@ -81,6 +82,7 @@
#import "XPSkillCardPlayerManager.h"
#import "PIFullScreenBannerAnimation.h"
#import <SVGA.h>
#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;
/** tokenticket
1.
2.
3. VP
1.
2.
3. VP
*/
- (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];
}
}
}
/// 12
@@ -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;
}

View File

@@ -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 完成

View File

@@ -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];
}
///

View File

@@ -134,6 +134,9 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic,strong) NSArray<MonentsInfoModel *> *dynamicInfo;
@property (nonatomic,strong) NSMutableAttributedString *levelAtt;
@property (nonatomic,strong) NSMutableAttributedString *idAtt;
///区号
@property (nonatomic,copy) NSString *phoneAreaCode;
@end
NS_ASSUME_NONNULL_END

View File

@@ -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 */

File diff suppressed because it is too large Load Diff

View File

@@ -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" = "LINEpekoyuyin";
"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" = "男";