Compare commits
14 Commits
appstore_2
...
appstore_2
Author | SHA1 | Date | |
---|---|---|---|
![]() |
8c03f15dff | ||
![]() |
cb80898c95 | ||
![]() |
972f6d61ea | ||
![]() |
5e2c5080c5 | ||
![]() |
ce308df1b6 | ||
![]() |
6a3201135b | ||
![]() |
6e8ead27dd | ||
![]() |
a8bef5946e | ||
![]() |
3afa60587a | ||
![]() |
52e7d4ff7e | ||
![]() |
566d8a3672 | ||
![]() |
8dffff8492 | ||
![]() |
398b4e5e81 | ||
![]() |
a19adac48e |
@@ -300,6 +300,7 @@
|
||||
239141C92AE1358F00322CA9 /* PIInputEntireServerScrollingView.m in Sources */ = {isa = PBXBuildFile; fileRef = 239141C82AE1358F00322CA9 /* PIInputEntireServerScrollingView.m */; };
|
||||
239141CC2AE267EF00322CA9 /* PIReceiveRedPacketSuccessView.m in Sources */ = {isa = PBXBuildFile; fileRef = 239141CB2AE267EF00322CA9 /* PIReceiveRedPacketSuccessView.m */; };
|
||||
23942E912A86424500D0ECC2 /* XPLoginAuthCodeVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 23942E902A86424500D0ECC2 /* XPLoginAuthCodeVC.m */; };
|
||||
2396FCE42B22BE5D0014021D /* pi_area_info.json in Resources */ = {isa = PBXBuildFile; fileRef = 2396FCE32B22BE5D0014021D /* pi_area_info.json */; };
|
||||
239BEEDB2AA1E058005CDA94 /* PIHoemCategoryTitleView.m in Sources */ = {isa = PBXBuildFile; fileRef = 239BEEDA2AA1E058005CDA94 /* PIHoemCategoryTitleView.m */; };
|
||||
23A439742AA1CF7C002E6039 /* XPNewHomeHeadView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23A439732AA1CF7C002E6039 /* XPNewHomeHeadView.m */; };
|
||||
23B2AEC12A64E9C200543D17 /* LoginForgetEditView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23B2AEC02A64E9C200543D17 /* LoginForgetEditView.m */; };
|
||||
@@ -2063,6 +2064,7 @@
|
||||
239141CB2AE267EF00322CA9 /* PIReceiveRedPacketSuccessView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIReceiveRedPacketSuccessView.m; sourceTree = "<group>"; };
|
||||
23942E8F2A86424500D0ECC2 /* XPLoginAuthCodeVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPLoginAuthCodeVC.h; sourceTree = "<group>"; };
|
||||
23942E902A86424500D0ECC2 /* XPLoginAuthCodeVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPLoginAuthCodeVC.m; sourceTree = "<group>"; };
|
||||
2396FCE32B22BE5D0014021D /* pi_area_info.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = pi_area_info.json; sourceTree = "<group>"; };
|
||||
239BEED92AA1E058005CDA94 /* PIHoemCategoryTitleView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIHoemCategoryTitleView.h; sourceTree = "<group>"; };
|
||||
239BEEDA2AA1E058005CDA94 /* PIHoemCategoryTitleView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIHoemCategoryTitleView.m; sourceTree = "<group>"; };
|
||||
23A439722AA1CF7C002E6039 /* XPNewHomeHeadView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPNewHomeHeadView.h; sourceTree = "<group>"; };
|
||||
@@ -4593,6 +4595,7 @@
|
||||
E84A2EAC2A52F20900D6AF8A /* Launch Screen.storyboard */,
|
||||
23E9EB322A85E97B00B792F2 /* pi_login_new_logo.png */,
|
||||
23E9EB302A85E5D100B792F2 /* pi_app_logo_new_bg.png */,
|
||||
2396FCE32B22BE5D0014021D /* pi_area_info.json */,
|
||||
189DD53D26DE255600AB55B1 /* Info.plist */,
|
||||
E80E09AB2A40B70100CD2BE7 /* Localizable.strings */,
|
||||
189DD53E26DE255600AB55B1 /* main.m */,
|
||||
@@ -5718,16 +5721,16 @@
|
||||
23CEFC0A2AFB8FC100576D89 /* Util */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
23CEFC0B2AFB8FC100576D89 /* BSXWDateUtil.h */,
|
||||
23CEFC0C2AFB8FC100576D89 /* BSNSStringUtil.m */,
|
||||
23CEFC0D2AFB8FC100576D89 /* BSUIDemoUtil.m */,
|
||||
23CEFC0E2AFB8FC100576D89 /* BSNSDictionary.h */,
|
||||
23CEFC0F2AFB8FC100576D89 /* BS_UIColor.m */,
|
||||
23CEFC102AFB8FC100576D89 /* BSXWDateUtil.m */,
|
||||
23CEFC112AFB8FC100576D89 /* BSUIDemoUtil.h */,
|
||||
23CEFC122AFB8FC100576D89 /* BSNSStringUtil.h */,
|
||||
23CEFC132AFB8FC100576D89 /* BSNSDictionary.m */,
|
||||
23CEFC142AFB8FC100576D89 /* BS_UIColor.h */,
|
||||
23CEFC0F2AFB8FC100576D89 /* BS_UIColor.m */,
|
||||
23CEFC0E2AFB8FC100576D89 /* BSNSDictionary.h */,
|
||||
23CEFC132AFB8FC100576D89 /* BSNSDictionary.m */,
|
||||
23CEFC122AFB8FC100576D89 /* BSNSStringUtil.h */,
|
||||
23CEFC0C2AFB8FC100576D89 /* BSNSStringUtil.m */,
|
||||
23CEFC112AFB8FC100576D89 /* BSUIDemoUtil.h */,
|
||||
23CEFC0D2AFB8FC100576D89 /* BSUIDemoUtil.m */,
|
||||
23CEFC0B2AFB8FC100576D89 /* BSXWDateUtil.h */,
|
||||
23CEFC102AFB8FC100576D89 /* BSXWDateUtil.m */,
|
||||
);
|
||||
path = Util;
|
||||
sourceTree = "<group>";
|
||||
@@ -5743,8 +5746,8 @@
|
||||
23CEFC162AFB8FC100576D89 /* fmdb */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
23CEFC172AFB8FC100576D89 /* BSSDLayoutUtil.m */,
|
||||
23CEFC182AFB8FC100576D89 /* BSSDLayoutUtil.h */,
|
||||
23CEFC172AFB8FC100576D89 /* BSSDLayoutUtil.m */,
|
||||
);
|
||||
path = fmdb;
|
||||
sourceTree = "<group>";
|
||||
@@ -5752,11 +5755,11 @@
|
||||
23CEFC192AFB8FC100576D89 /* system */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
23CEFC1A2AFB8FC100576D89 /* SystemUtil.h */,
|
||||
23CEFC1B2AFB8FC100576D89 /* UILabel+YBAttributeTextTapAction.h */,
|
||||
23CEFC1C2AFB8FC100576D89 /* BS_Define.h */,
|
||||
23CEFC1D2AFB8FC100576D89 /* UILabel+YBAttributeTextTapAction.m */,
|
||||
23CEFC1A2AFB8FC100576D89 /* SystemUtil.h */,
|
||||
23CEFC1E2AFB8FC100576D89 /* SystemUtil.m */,
|
||||
23CEFC1B2AFB8FC100576D89 /* UILabel+YBAttributeTextTapAction.h */,
|
||||
23CEFC1D2AFB8FC100576D89 /* UILabel+YBAttributeTextTapAction.m */,
|
||||
);
|
||||
path = system;
|
||||
sourceTree = "<group>";
|
||||
@@ -10749,6 +10752,7 @@
|
||||
E80EC87628ACD84000D133C5 /* emoji_139@2x.png in Resources */,
|
||||
23CEFC572AFB8FC100576D89 /* pay_off@2x.png in Resources */,
|
||||
E80EC86328ACD84000D133C5 /* emoji_41@2x.png in Resources */,
|
||||
2396FCE42B22BE5D0014021D /* pi_area_info.json in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -12197,7 +12201,7 @@
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 20.20.2;
|
||||
MARKETING_VERSION = 20.20.4;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.peko.enterprise.ios;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
@@ -12232,7 +12236,7 @@
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 20.20.2;
|
||||
MARKETING_VERSION = 20.20.4;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.peko.enterprise.ios;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
|
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 9.1 KiB |
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 5.8 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 9.9 KiB |
Before Width: | Height: | Size: 6.4 KiB After Width: | Height: | Size: 5.7 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 9.8 KiB |
22
YuMi/Assets.xcassets/yna/CandyTree/room_candy_two_hundredth_tap_bg.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_candy_two_hundredth_tap_bg@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_candy_two_hundredth_tap_bg@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 5.6 KiB |
After Width: | Height: | Size: 9.4 KiB |
@@ -49,7 +49,7 @@ isPhoneXSeries = [[UIApplication sharedApplication] delegate].window.safeAreaIns
|
||||
|
||||
|
||||
///内置版本号
|
||||
#define PI_App_Version @"2.3.0"
|
||||
#define PI_App_Version @"2.4.0"
|
||||
///渠道
|
||||
#define PI_App_Source @"appstore"
|
||||
//#define PI_App_Source @"pi_tf"
|
||||
|
@@ -13,13 +13,13 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
@property (nonatomic,copy) NSString *codeId;
|
||||
@property (nonatomic,copy) NSString *name;
|
||||
@property (nonatomic,copy) NSString *abbr;
|
||||
@property (nonatomic,copy) NSString *phone_area_code;
|
||||
@property (nonatomic,copy) NSString *pi_phoneAreaCode;
|
||||
@property (nonatomic,copy) NSString *code;
|
||||
@property (nonatomic,copy) NSString *seq;
|
||||
@property (nonatomic,copy) NSString *status;
|
||||
@property (nonatomic,copy) NSString *region;
|
||||
@property (nonatomic,copy) NSString *create_time;
|
||||
@property (nonatomic,copy) NSString *update_time;
|
||||
@property (nonatomic,copy) NSString * mcc;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -8,7 +8,5 @@
|
||||
#import "LoginAreaModel.h"
|
||||
|
||||
@implementation LoginAreaModel
|
||||
+ (NSDictionary *)replacedKeyFromPropertyName {
|
||||
return @{@"pi_phoneAreaCode":@"phoneAreaCode"};
|
||||
}
|
||||
|
||||
@end
|
||||
|
@@ -144,7 +144,8 @@
|
||||
if (!_codeView){
|
||||
_codeView = [UILabel new];
|
||||
_codeView.userInteractionEnabled = YES;
|
||||
_codeView.attributedText = [self getChooseCodeText:@"+852"];
|
||||
NSString *code = [NSString getCountryCode];
|
||||
_codeView.attributedText = [self getChooseCodeText: code];
|
||||
|
||||
}
|
||||
return _codeView;
|
||||
|
@@ -177,7 +177,8 @@
|
||||
if (!_countryLabel) {
|
||||
_countryLabel = [[UILabel alloc] init];
|
||||
_countryLabel.font = [UIFont fontWithName:@"PingFang-SC-Medium" size:15];
|
||||
_countryLabel.text = @"+852";
|
||||
NSString *code = [NSString getCountryCode];
|
||||
_countryLabel.text = code;
|
||||
_countryLabel.textColor = [DJDKMIMOMColor mainTextColor];
|
||||
_countryLabel.backgroundColor = [UIColor clearColor];
|
||||
_countryLabel.textAlignment = NSTextAlignmentCenter;
|
||||
|
@@ -14,7 +14,7 @@
|
||||
#import "Api+Login.h"
|
||||
///Third
|
||||
#import <Masonry/Masonry.h>
|
||||
@interface XPLoginAraeViewController ()<UITableViewDelegate,UITableViewDataSource>
|
||||
@interface XPLoginAraeViewController ()<UITableViewDelegate,UITableViewDataSource,XPLoginAreaTableViewCellDelegate>
|
||||
@property (nonatomic,strong) UITableView *tableView;
|
||||
@property (nonatomic,strong) NSMutableArray *listData;
|
||||
@property (nonatomic,strong) NSMutableArray *titleList;
|
||||
@@ -26,39 +26,49 @@
|
||||
[super viewDidLoad];
|
||||
[self initSubViews];
|
||||
[self initSubViewConstraints];
|
||||
[Api getPhoneAreaCodeList:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
|
||||
if (code == 200) {
|
||||
NSArray *list = [LoginAreaModel modelsWithArray:data.data];
|
||||
[self.titleList removeAllObjects];
|
||||
[self.listData removeAllObjects];
|
||||
[self getLocalPlistWithList:list];
|
||||
}
|
||||
}];
|
||||
[self getPhoneAreaCodeList];
|
||||
}
|
||||
#pragma mark - LoginVerifCodeProtocol
|
||||
|
||||
-(void)getPhoneAreaCodeListSuccess:(NSArray *)list{
|
||||
[self hideHUD];
|
||||
[self.titleList removeAllObjects];
|
||||
[self.listData removeAllObjects];
|
||||
[self getLocalPlistWithList:list];
|
||||
}
|
||||
-(void)getPhoneAreaCodeListFail{
|
||||
[self hideHUD];
|
||||
NSBundle *bundle = [NSBundle mainBundle];
|
||||
NSString *file = [bundle pathForResource:@"district" ofType:@"plist"];
|
||||
NSArray *dictArray = [NSArray arrayWithContentsOfFile:file];
|
||||
|
||||
NSArray *list = [LoginAreaModel modelsWithArray:dictArray];
|
||||
[self getLocalPlistWithList:list];
|
||||
-(void)getPhoneAreaCodeList{
|
||||
// 获取文件路径
|
||||
NSString *path = [[NSBundle mainBundle] pathForResource:@"pi_area_info" ofType:@"json"];
|
||||
// 将文件数据化
|
||||
NSData *data = [[NSData alloc] initWithContentsOfFile:path];
|
||||
// 对数据进行JSON格式化并返回字典形式
|
||||
NSDictionary *codeData = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];
|
||||
NSArray *codeList = [LoginAreaModel modelsWithArray:codeData[@"RECORDS"]];
|
||||
[self getLocalPlistWithList:codeList];
|
||||
}
|
||||
-(void)getLocalPlistWithList:(NSArray *)list{
|
||||
|
||||
NSArray * letterList = @[@"A",@"B",@"C",@"D",@"E",@"F",@"G",@"H",@"I",@"J",@"K",@"L",@"M",@"N",@"O",@"P",@"Q",@"R",@"S",@"T",@"U",@"V",@"W",@"X",@"Y",@"Z"];
|
||||
NSArray * letterList = @[@"",@"A",@"B",@"C",@"D",@"E",@"F",@"G",@"H",@"I",@"J",@"K",@"L",@"M",@"N",@"O",@"P",@"Q",@"R",@"S",@"T",@"U",@"V",@"W",@"X",@"Y",@"Z"];
|
||||
NSMutableArray *otherList = [NSMutableArray array];
|
||||
NSMutableArray *defaultList = [NSMutableArray array];
|
||||
LoginAreaModel *TwModel;
|
||||
LoginAreaModel *HKModel ;
|
||||
LoginAreaModel *SPModel ;
|
||||
LoginAreaModel *MYModel ;
|
||||
LoginAreaModel *ChinsModel ;
|
||||
[self.titleList addObject:@""];
|
||||
for (NSString *letter in letterList) {
|
||||
NSMutableArray *modelList = [NSMutableArray array];
|
||||
for (LoginAreaModel *model in list) {
|
||||
if([model.code isEqualToString:@"886"]){
|
||||
TwModel = model;
|
||||
}
|
||||
if([model.code isEqualToString:@"852"]){
|
||||
HKModel = model;
|
||||
}
|
||||
if([model.code isEqualToString:@"65"]){
|
||||
SPModel = model;
|
||||
}
|
||||
if([model.code isEqualToString:@"60"]){
|
||||
MYModel = model;
|
||||
}
|
||||
if([model.code isEqualToString:@"86"]){
|
||||
ChinsModel = model;
|
||||
}
|
||||
NSString *fristLetter = [model.name substringWithRange:NSMakeRange(0, 1)];
|
||||
if([letter isEqualToString:fristLetter]){
|
||||
[modelList addObject:model];
|
||||
@@ -74,8 +84,26 @@
|
||||
[self.listData addObject:modelList];
|
||||
}
|
||||
}
|
||||
if(TwModel != nil){
|
||||
[defaultList addObject:TwModel];
|
||||
}
|
||||
if(HKModel != nil){
|
||||
[defaultList addObject:HKModel];
|
||||
}
|
||||
if(SPModel != nil){
|
||||
[defaultList addObject:SPModel];
|
||||
}
|
||||
if(MYModel != nil){
|
||||
[defaultList addObject:MYModel];
|
||||
}
|
||||
if(ChinsModel != nil){
|
||||
[defaultList addObject:ChinsModel];
|
||||
}
|
||||
[self.listData insertObject:defaultList atIndex:0];
|
||||
if(otherList.count > 0){
|
||||
[self.listData addObject:otherList];
|
||||
[self.titleList addObject:@"#"];
|
||||
}
|
||||
[self.tableView reloadData];
|
||||
}
|
||||
#pragma mark - UITableViewDelegate
|
||||
@@ -96,6 +124,9 @@
|
||||
|
||||
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
|
||||
XPLoginAreaTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPLoginAreaTableViewCell class]) forIndexPath:indexPath];
|
||||
if(cell.delegate == nil){
|
||||
cell.delegate = self;
|
||||
}
|
||||
if(indexPath.section < self.listData.count){
|
||||
NSArray *listModel = self.listData[indexPath.section];
|
||||
if(indexPath.row < listModel.count){
|
||||
@@ -104,11 +135,13 @@
|
||||
}
|
||||
return cell;
|
||||
}
|
||||
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
|
||||
LoginAreaModel *codeModel = self.listData[indexPath.section][indexPath.row];
|
||||
|
||||
#pragma mark - XPLoginAreaTableViewCellDelegate
|
||||
- (void)didSelectModel:(LoginAreaModel *)model{
|
||||
LoginAreaModel *codeModel = model;
|
||||
if(self.delegate && [self.delegate respondsToSelector:@selector(chooseAreaCodeSuccess:)]){
|
||||
|
||||
[self.delegate chooseAreaCodeSuccess:codeModel.pi_phoneAreaCode ?: codeModel.phone_area_code];
|
||||
[self.delegate chooseAreaCodeSuccess:codeModel.code];
|
||||
}
|
||||
[self.navigationController popViewControllerAnimated:YES];
|
||||
}
|
||||
|
@@ -6,13 +6,19 @@
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
@class LoginAreaModel;
|
||||
@interface XPLoginAreaTableViewCell : UITableViewCell
|
||||
@protocol XPLoginAreaTableViewCellDelegate <NSObject>
|
||||
|
||||
@property (nonatomic,strong) LoginAreaModel *areaModel;
|
||||
-(void)didSelectModel:(LoginAreaModel *_Nullable)model;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XPLoginAreaTableViewCell : UITableViewCell
|
||||
|
||||
@property (nonatomic,strong) LoginAreaModel *areaModel;
|
||||
@property(nonatomic,weak) id<XPLoginAreaTableViewCellDelegate>delegate;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -14,6 +14,7 @@
|
||||
@interface XPLoginAreaTableViewCell()
|
||||
@property (nonatomic,strong) UILabel *areaVeiw;
|
||||
@property (nonatomic,strong) UILabel *codeView;
|
||||
@property(nonatomic,strong) UIButton *clickBtn;
|
||||
@end
|
||||
@implementation XPLoginAreaTableViewCell
|
||||
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
|
||||
@@ -30,6 +31,7 @@
|
||||
self.selectionStyle = UITableViewCellSelectionStyleNone;
|
||||
[self.contentView addSubview:self.areaVeiw];
|
||||
[self.contentView addSubview:self.codeView];
|
||||
[self.contentView addSubview:self.clickBtn];
|
||||
}
|
||||
- (void)initSubViewConstraints {
|
||||
[self.areaVeiw mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
@@ -40,15 +42,21 @@
|
||||
make.right.mas_equalTo(-kGetScaleWidth(15));
|
||||
make.centerY.equalTo(self.contentView);
|
||||
}];
|
||||
[self.clickBtn mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.left.bottom.equalTo(self.contentView);
|
||||
make.right.mas_equalTo(-kGetScaleWidth(20));
|
||||
}];
|
||||
}
|
||||
-(void)didClickBtnAction{
|
||||
if(self.delegate && [self.delegate respondsToSelector:@selector(didSelectModel:)]){
|
||||
[self.delegate didSelectModel:self.areaModel];
|
||||
}
|
||||
}
|
||||
- (void)setAreaModel:(LoginAreaModel *)areaModel{
|
||||
_areaModel = areaModel;
|
||||
_areaVeiw.text = _areaModel.name;
|
||||
if(_areaModel.pi_phoneAreaCode == nil){
|
||||
_codeView.text = _areaModel.phone_area_code;
|
||||
return;
|
||||
}
|
||||
_codeView.text = _areaModel.pi_phoneAreaCode;
|
||||
_codeView.text = _areaModel.code;
|
||||
|
||||
}
|
||||
#pragma mark - 懒加载
|
||||
|
||||
@@ -70,5 +78,11 @@
|
||||
}
|
||||
return _codeView;
|
||||
}
|
||||
|
||||
- (UIButton *)clickBtn{
|
||||
if(!_clickBtn){
|
||||
_clickBtn = [UIButton new];
|
||||
[_clickBtn addTarget:self action:@selector(didClickBtnAction) forControlEvents:UIControlEventTouchUpInside];
|
||||
}
|
||||
return _clickBtn;
|
||||
}
|
||||
@end
|
||||
|
@@ -9,6 +9,7 @@
|
||||
#import "DJDKMIMOMColor.h"
|
||||
#import <Masonry.h>
|
||||
#import <ReactiveObjC.h>
|
||||
#import "LoginAreaModel.h"
|
||||
|
||||
@interface XPLoginInputView()
|
||||
|
||||
@@ -46,13 +47,17 @@
|
||||
areaImageView.userInteractionEnabled = NO;
|
||||
|
||||
/// 区号
|
||||
NSString *code = [NSString getCountryCode];
|
||||
UIButton *areaCodeBtn = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||
[areaCodeBtn setTitle:@"+852" forState:UIControlStateNormal];
|
||||
[areaCodeBtn setTitle:code forState:UIControlStateNormal];
|
||||
[areaCodeBtn setTitleColor:UIColorFromRGB(0x1F1B4F) forState:UIControlStateNormal];
|
||||
areaCodeBtn.titleLabel.font = kFontMedium(16);
|
||||
_areaCodeBtn = areaCodeBtn;
|
||||
areaCodeBtn.userInteractionEnabled = NO;
|
||||
|
||||
|
||||
|
||||
|
||||
UIStackView *areaStackView = [[UIStackView alloc] init];
|
||||
areaStackView.axis = UILayoutConstraintAxisHorizontal;
|
||||
areaStackView.distribution = UIStackViewDistributionFill;
|
||||
|
@@ -201,6 +201,7 @@
|
||||
[TTPopup alertWithConfig:config showBorder:NO confirmHandler:^{
|
||||
|
||||
XPIAPRechargeViewController * webVC =[[XPIAPRechargeViewController alloc] init];
|
||||
webVC.type = @"4";
|
||||
[self.navigationController pushViewController:webVC animated:YES];
|
||||
} cancelHandler:^{
|
||||
|
||||
|
@@ -364,7 +364,7 @@
|
||||
///当前充值的状态
|
||||
- (void)rechargeNewProcessStatus:(StoreConditionResult)status {
|
||||
|
||||
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
if (status == StoreConditionResultPay || status == StoreConditionResultStart || status == StoreConditionResultVerifiedServer) {
|
||||
|
||||
}else if (status == StoreConditionResultUnowned) {
|
||||
@@ -374,6 +374,8 @@
|
||||
[XNDJTDDLoadingTool hideHUDInView:kWindow];
|
||||
[self showErrorToast:YMLocalizedString(@"XPIAPRechargeViewController0")];
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
///充值成功回调id
|
||||
|
@@ -46,7 +46,6 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
//是否为周榜top1
|
||||
@property(nonatomic,assign) BOOL isWeekTop1;
|
||||
@property(nonatomic,copy) NSString *inRoomUid;
|
||||
|
||||
//是否在麦位
|
||||
@property(nonatomic,assign) BOOL inMic;
|
||||
///是否在线
|
||||
|
@@ -24,7 +24,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
@interface XPNewHomePartyTableViewCell : UITableViewCell
|
||||
|
||||
@property (nonatomic,strong) HomePlayRoomModel *roomInfo;
|
||||
@property (nonatomic,strong) HomeRecommendRoomModel *roomInfo1;
|
||||
|
||||
@property(nonatomic,weak) id<XPNewHomePartyTableViewCellDelegate>delegate;
|
||||
///声音卡时,svga是否播放动画
|
||||
-(void)setPlaySoundStatus:(BOOL)isPlay;
|
||||
|
@@ -243,15 +243,8 @@
|
||||
-(void)setPlaySoundTime:(NSInteger)time{
|
||||
_audioView.voiceDura = @(time).stringValue;
|
||||
}
|
||||
- (void)setRoomInfo1:(HomeRecommendRoomModel *)roomInfo1 {
|
||||
_roomInfo1 = roomInfo1;
|
||||
if (_roomInfo1) {
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
-(void)didSelectItemAction{
|
||||
|
||||
if(self.delegate && [self.delegate respondsToSelector:@selector(xPNewHomePartyTableViewCell:didSelectItem:)]){
|
||||
|
@@ -7,10 +7,12 @@
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "YUMINNNN.h"
|
||||
#import "UserLevelVo.h"
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface HomeSearchResultModel : PIBaseModel
|
||||
|
||||
@interface HomeSearchResultModel : PIBaseModel
|
||||
@property(nonatomic,strong) UserLevelVo *userLevelVo;
|
||||
///头像
|
||||
@property (nonatomic,copy) NSString *avatar;
|
||||
///在线人数
|
||||
|
@@ -24,8 +24,6 @@
|
||||
@property (nonatomic,strong) UIStackView *nameStackView;
|
||||
///昵称
|
||||
@property (nonatomic,strong) UILabel *nickLabel;
|
||||
///性别
|
||||
@property (nonatomic,strong) UIButton *sexImageView;
|
||||
///显示id
|
||||
@property (nonatomic,strong) UILabel *idLabel;
|
||||
///分割线
|
||||
@@ -36,6 +34,10 @@
|
||||
@property (nonatomic,strong) UIImageView *noteImageView;
|
||||
///数量
|
||||
@property (nonatomic,strong) UILabel *numberLabel;
|
||||
///等级
|
||||
@property (nonatomic,strong) NetImageView *experImageView;
|
||||
///魅力等级
|
||||
@property (nonatomic,strong) NetImageView *charmImageView;
|
||||
@end
|
||||
|
||||
@implementation XPSearchListTableViewCell
|
||||
@@ -51,12 +53,11 @@
|
||||
- (void)configData:(HomeSearchResultModel *)resultModel type:(SearchType)type {
|
||||
if (resultModel) {
|
||||
self.avatarImageView.imageUrl = resultModel.avatar;
|
||||
self.nickLabel.text = type == SearchType_Room ? resultModel.title : resultModel.nick;
|
||||
NSString *name = type == SearchType_Room ? resultModel.title : resultModel.nick;
|
||||
self.nickLabel.text = name.length > 8 ? [NSString stringWithFormat:@"%@...",[name substringToIndex:8]]:name;
|
||||
self.idLabel.text = [NSString stringWithFormat:YMLocalizedString(@"XPMineUserInfoTableViewCell3"),AppName, resultModel.erbanNo];
|
||||
[self.sexImageView setTitle:[NSString getAgeWithBirth:resultModel.birth] forState:UIControlStateNormal];
|
||||
self.sexImageView.backgroundColor = resultModel.gender == GenderType_Male ? UIColorFromRGB(0x6BB3FF) :UIColorFromRGB(0xFF80CC);
|
||||
self.sexImageView.titleEdgeInsets = resultModel.gender != GenderType_Male ? UIEdgeInsetsMake(0, 2, 0, 0):UIEdgeInsetsMake(0, -1, 0, 0);
|
||||
self.sexImageView.selected = resultModel.gender != GenderType_Male;
|
||||
self.charmImageView.imageUrl = resultModel.userLevelVo.charmUrl;
|
||||
self.experImageView.imageUrl = resultModel.userLevelVo.experUrl;
|
||||
if (type == SearchType_Users) {
|
||||
self.numberLabel.text = YMLocalizedString(@"XPSearchListTableViewCell1");
|
||||
self.numberView.hidden = resultModel.roomUid.length <= 0;
|
||||
@@ -77,10 +78,6 @@
|
||||
self.nickLabel.text = resultModel.title ;
|
||||
self.idLabel.text = [NSString stringWithFormat:YMLocalizedString(@"XPMineUserInfoTableViewCell3"),AppName, resultModel.erbanNo];
|
||||
|
||||
[self.sexImageView setTitle:[NSString getAgeWithBirth:resultModel.birth] forState:UIControlStateNormal];
|
||||
self.sexImageView.backgroundColor = resultModel.gender == GenderType_Male ? UIColorFromRGB(0x6BB3FF) :UIColorFromRGB(0xFF80CC);
|
||||
self.sexImageView.titleEdgeInsets = resultModel.gender != GenderType_Male ? UIEdgeInsetsMake(0, 2, 0, 0):UIEdgeInsetsMake(0, -1, 0, 0);
|
||||
self.sexImageView.selected = resultModel.gender != GenderType_Male;
|
||||
if (resultModel.onlineNum > 100) {
|
||||
self.numberLabel.text = [NSString stringWithFormat:@"%ld", resultModel.onlineNum];
|
||||
} else {
|
||||
@@ -103,7 +100,8 @@
|
||||
[self.numberView addSubview:self.noteImageView];
|
||||
|
||||
[self.nameStackView addArrangedSubview:self.nickLabel];
|
||||
[self.nameStackView addArrangedSubview:self.sexImageView];
|
||||
[self.nameStackView addArrangedSubview:self.experImageView];
|
||||
[self.nameStackView addArrangedSubview:self.charmImageView];
|
||||
}
|
||||
|
||||
- (void)initSubViewConstraints {
|
||||
@@ -119,10 +117,7 @@
|
||||
make.bottom.mas_equalTo(self.avatarImageView.mas_centerY).offset(-1.5);
|
||||
}];
|
||||
|
||||
[self.sexImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.mas_equalTo(28);
|
||||
make.height.mas_equalTo(14);
|
||||
}];
|
||||
|
||||
|
||||
[self.idLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.mas_equalTo(self.nameStackView);
|
||||
@@ -153,6 +148,17 @@
|
||||
make.size.mas_equalTo(CGSizeMake(10, 9));
|
||||
make.right.mas_equalTo(self.numberLabel.mas_left).offset(-3);
|
||||
}];
|
||||
|
||||
[self.experImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.height.mas_equalTo(kGetScaleWidth(36));
|
||||
make.height.mas_equalTo(kGetScaleWidth(18));
|
||||
|
||||
}];
|
||||
[self.charmImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.height.mas_equalTo(kGetScaleWidth(36));
|
||||
make.height.mas_equalTo(kGetScaleWidth(18));
|
||||
|
||||
}];
|
||||
}
|
||||
|
||||
#pragma mark - Getters And Setters
|
||||
@@ -190,19 +196,7 @@
|
||||
return _nickLabel;
|
||||
}
|
||||
|
||||
- (UIButton *)sexImageView {
|
||||
if (!_sexImageView) {
|
||||
_sexImageView = [[UIButton alloc] init];
|
||||
[_sexImageView setImage:kImage(@"home_age_boy_icon") forState:UIControlStateNormal];
|
||||
[_sexImageView setImage:kImage(@"home_age_girl_icon") forState:UIControlStateSelected];
|
||||
_sexImageView.titleLabel.font = [UIFont systemFontOfSize:10 weight:UIFontWeightMedium];
|
||||
[_sexImageView setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
|
||||
_sexImageView.imageEdgeInsets = UIEdgeInsetsMake(0, 0, 0, 0);
|
||||
_sexImageView.layer.cornerRadius = 14/2;
|
||||
_sexImageView.layer.masksToBounds = YES;
|
||||
}
|
||||
return _sexImageView;
|
||||
}
|
||||
|
||||
|
||||
- (UILabel *)idLabel {
|
||||
if (!_idLabel) {
|
||||
@@ -251,5 +245,22 @@
|
||||
}
|
||||
return _numberLabel;
|
||||
}
|
||||
- (NetImageView *)experImageView {
|
||||
if (!_experImageView) {
|
||||
NetImageConfig * config = [[NetImageConfig alloc]init];
|
||||
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
|
||||
_experImageView = [[NetImageView alloc] initWithConfig:config];
|
||||
}
|
||||
return _experImageView;
|
||||
}
|
||||
|
||||
- (NetImageView *)charmImageView {
|
||||
if (!_charmImageView) {
|
||||
NetImageConfig * config = [[NetImageConfig alloc]init];
|
||||
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
|
||||
_charmImageView = [[NetImageView alloc] initWithConfig:config];
|
||||
}
|
||||
return _charmImageView;
|
||||
}
|
||||
|
||||
@end
|
||||
|
@@ -431,6 +431,7 @@ UIKIT_EXTERN NSString * const kShieldingNotification;
|
||||
-(void)xPNewHomePartyTableViewCell:(XPNewHomePartyTableViewCell *_Nullable)cell didSelectChat:(HomePlayRoomModel *_Nonnull)roomModel{
|
||||
if(roomModel.inMic == YES){
|
||||
[XPRoomViewController openRoom:roomModel.inRoomUid fromNick:roomModel.nick fromType:UserEnterRoomFromType_Follow_User fromUid:roomModel.uid viewController:self];
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
@@ -223,6 +223,10 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
/// @param completion 完成
|
||||
/// @param roomUid 房间id
|
||||
+(void)getUnlockRoomAlbumPhotoList:(HttpRequestHelperCompletion)completion roomUid:(NSString *)roomUid;
|
||||
///获取踢人列表
|
||||
/// @param completion 完成
|
||||
/// @param roomUid 房间id
|
||||
+(void)getKickUserList:(HttpRequestHelperCompletion)completion roomUid:(NSString *)roomUid;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -191,7 +191,7 @@
|
||||
/// @param completion 完成
|
||||
/// @param teamUid 房间uid
|
||||
+ (void)requestFansTeamTask:(HttpRequestHelperCompletion)completion teamUid:(NSString *)teamUid {
|
||||
NSString * fang = [NSString stringFromBase64String:@"Y3Jvc3Nyb29tcGtyb3VuZC9nZXRTaW5nbGVSb29tUGtSdWxl"];///crossroompkround/getSingleRoomPkRule
|
||||
NSString * fang = @"anchorFansTeam/getFansTaskInfo";
|
||||
[self makeRequest:fang method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, teamUid, nil];
|
||||
}
|
||||
|
||||
@@ -310,4 +310,11 @@
|
||||
+(void)getUnlockRoomAlbumPhotoList:(HttpRequestHelperCompletion)completion roomUid:(NSString *)roomUid{
|
||||
[self makeRequest:@"roomAlbum/listUnlockPhoto" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__,roomUid,nil];
|
||||
}
|
||||
|
||||
///获取踢人列表
|
||||
/// @param completion 完成
|
||||
/// @param roomUid 房间id
|
||||
+(void)getKickUserList:(HttpRequestHelperCompletion)completion roomUid:(NSString *)roomUid{
|
||||
[self makeRequest:@"room/kick/" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__,roomUid,nil];
|
||||
}
|
||||
@end
|
||||
|
@@ -73,6 +73,9 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
/// 获取已解锁照片id列表
|
||||
/// @param roomUid 房间id
|
||||
-(void)getUnlockRoomAlbumPhotoListWithRoomUid:(NSString *)roomUid;
|
||||
///得到踢人名单
|
||||
/// @param roomUid 房间id
|
||||
-(void)getKickUserListWithRoomUid:(NSString *)roomUid;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -297,4 +297,13 @@
|
||||
[[self getView]getUnlockRoomAlbumPhotoListSuccessWithList:data.data];
|
||||
} showLoading:NO errorToast:NO] roomUid:roomUid];
|
||||
}
|
||||
///得到踢人名单
|
||||
/// @param roomUid 房间id
|
||||
-(void)getKickUserListWithRoomUid:(NSString *)roomUid{
|
||||
|
||||
[Api getKickUserList:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
||||
[[self getView]getKickUserListSuccessWithList:data.data];
|
||||
} fail:^(NSInteger code, NSString * _Nullable msg) {
|
||||
} showLoading:NO errorToast:NO] roomUid:roomUid];
|
||||
}
|
||||
@end
|
||||
|
@@ -39,6 +39,8 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
-(void)getFreeGiftDataSuccess:(XPFreeGiftModel *)freeModel;
|
||||
///获取已解锁照片id列表
|
||||
-(void)getUnlockRoomAlbumPhotoListSuccessWithList:(NSArray *)list;
|
||||
///获取踢人房间列表
|
||||
-(void)getKickUserListSuccessWithList:(NSArray *)list;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -61,13 +61,13 @@
|
||||
|
||||
[self.scrollView addSubview:self.ruleLabel];
|
||||
|
||||
[self.scrollView addSubview:self.randomImageView];
|
||||
[self.scrollView addSubview:self.randomLabel];
|
||||
[self.scrollView addSubview:self.randomContentLb];
|
||||
|
||||
[self.scrollView addSubview:self.inviteImageView];
|
||||
[self.scrollView addSubview:self.inviteLabel];
|
||||
[self.scrollView addSubview:self.inviteContentLb];
|
||||
// [self.scrollView addSubview:self.randomImageView];
|
||||
// [self.scrollView addSubview:self.randomLabel];
|
||||
// [self.scrollView addSubview:self.randomContentLb];
|
||||
//
|
||||
// [self.scrollView addSubview:self.inviteImageView];
|
||||
// [self.scrollView addSubview:self.inviteLabel];
|
||||
// [self.scrollView addSubview:self.inviteContentLb];
|
||||
|
||||
|
||||
}
|
||||
@@ -99,37 +99,37 @@
|
||||
make.left.right.mas_equalTo(self.backgroundImageView).inset(18);
|
||||
}];
|
||||
|
||||
[self.randomLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(self.ruleLabel.mas_bottom).offset(16);
|
||||
make.centerX.mas_equalTo(self.scrollView);
|
||||
}];
|
||||
|
||||
[self.randomImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.size.mas_equalTo(CGSizeMake(88, 8));
|
||||
make.top.mas_equalTo(self.randomLabel.mas_bottom).offset(-6);
|
||||
make.centerX.mas_equalTo(self.randomLabel);
|
||||
}];
|
||||
|
||||
[self.randomContentLb mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.right.mas_equalTo(self.backgroundImageView).inset(18);
|
||||
make.top.mas_equalTo(self.randomImageView.mas_bottom).offset(8);
|
||||
}];
|
||||
|
||||
[self.inviteLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(self.randomContentLb.mas_bottom).offset(16);
|
||||
make.centerX.mas_equalTo(self.scrollView);
|
||||
}];
|
||||
|
||||
[self.inviteImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.size.mas_equalTo(CGSizeMake(88, 8));
|
||||
make.top.mas_equalTo(self.inviteLabel.mas_bottom).offset(-6);
|
||||
make.centerX.mas_equalTo(self.inviteLabel);
|
||||
}];
|
||||
|
||||
[self.inviteContentLb mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.right.mas_equalTo(self.backgroundImageView).inset(18);
|
||||
make.top.mas_equalTo(self.inviteImageView.mas_bottom).offset(8);
|
||||
}];
|
||||
// [self.randomLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
// make.top.mas_equalTo(self.ruleLabel.mas_bottom).offset(16);
|
||||
// make.centerX.mas_equalTo(self.scrollView);
|
||||
// }];
|
||||
//
|
||||
// [self.randomImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
// make.size.mas_equalTo(CGSizeMake(88, 8));
|
||||
// make.top.mas_equalTo(self.randomLabel.mas_bottom).offset(-6);
|
||||
// make.centerX.mas_equalTo(self.randomLabel);
|
||||
// }];
|
||||
//
|
||||
// [self.randomContentLb mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
// make.left.right.mas_equalTo(self.backgroundImageView).inset(18);
|
||||
// make.top.mas_equalTo(self.randomImageView.mas_bottom).offset(8);
|
||||
// }];
|
||||
//
|
||||
// [self.inviteLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
// make.top.mas_equalTo(self.randomContentLb.mas_bottom).offset(16);
|
||||
// make.centerX.mas_equalTo(self.scrollView);
|
||||
// }];
|
||||
//
|
||||
// [self.inviteImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
// make.size.mas_equalTo(CGSizeMake(88, 8));
|
||||
// make.top.mas_equalTo(self.inviteLabel.mas_bottom).offset(-6);
|
||||
// make.centerX.mas_equalTo(self.inviteLabel);
|
||||
// }];
|
||||
//
|
||||
// [self.inviteContentLb mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
// make.left.right.mas_equalTo(self.backgroundImageView).inset(18);
|
||||
// make.top.mas_equalTo(self.inviteImageView.mas_bottom).offset(8);
|
||||
// }];
|
||||
|
||||
[self.closeBtn mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.right.top.mas_equalTo(self.backgroundImageView);
|
||||
@@ -264,6 +264,7 @@ CGSize size = [self.ruleLabel sizeThatFits:CGSizeMake(300 -36, CGFLOAT_MAX)];
|
||||
[attribute addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, title.length)];
|
||||
_inviteContentLb.attributedText = attribute;
|
||||
_inviteContentLb.numberOfLines = 0;
|
||||
|
||||
}
|
||||
return _inviteContentLb;
|
||||
}
|
||||
|
@@ -108,7 +108,7 @@
|
||||
self.svgDisplayView.hidden = NO;
|
||||
@weakify(self);
|
||||
NSString * bgString = [NSString stringWithFormat:@"%@/anchor_room_bg.svga", API_Image_URL];
|
||||
NSURL *bgUrl = [NSURL fileURLWithPath:bgString];
|
||||
NSURL *bgUrl = [NSURL URLWithString:bgString];
|
||||
[self.parserManager loadSvgaWithURL:bgUrl completionBlock:^(SVGAVideoEntity * _Nullable videoItem) {
|
||||
@strongify(self);
|
||||
if (videoItem != nil) {
|
||||
|
@@ -69,6 +69,8 @@ UIKIT_EXTERN NSString * const kRoomReceivedCandyNotificationKey;
|
||||
@property(nonatomic,strong) UIButton *tenthLoveBtn;
|
||||
///寻爱百次
|
||||
@property(nonatomic,strong) UIButton *hundredthLoveBtn;
|
||||
///寻爱两百次
|
||||
@property(nonatomic,strong) UIButton *twoHundredhLoveBtn;
|
||||
///动画的容器
|
||||
@property (nonatomic,strong) UIView * animationView;
|
||||
|
||||
@@ -324,6 +326,7 @@ UIKIT_EXTERN NSString * const kRoomReceivedCandyNotificationKey;
|
||||
[self.bgImageView addSubview:self.fristLoveBtn];
|
||||
[self.bgImageView addSubview:self.tenthLoveBtn];
|
||||
[self.bgImageView addSubview:self.hundredthLoveBtn];
|
||||
[self.bgImageView addSubview:self.twoHundredhLoveBtn];
|
||||
[self.bgImageView addSubview:self.candyTreeLightView];
|
||||
[self.bgImageView addSubview:self.candyTreeOpenView];
|
||||
[self.bgImageView addSubview:self.candyTreeTransView];
|
||||
@@ -388,25 +391,30 @@ UIKIT_EXTERN NSString * const kRoomReceivedCandyNotificationKey;
|
||||
}];
|
||||
|
||||
[self.fristLoveBtn mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.bottom.equalTo(self.candyTreeView.mas_bottom).mas_offset(-kGetScaleWidth(7));
|
||||
make.leading.mas_equalTo(kGetScaleWidth(15));
|
||||
make.width.mas_equalTo(kGetScaleWidth(94));
|
||||
make.height.mas_equalTo(kGetScaleWidth(55));
|
||||
make.bottom.equalTo(self.candyTreeView.mas_bottom).mas_offset(-kGetScaleWidth(8));
|
||||
make.leading.mas_equalTo(kGetScaleWidth(14));
|
||||
make.width.mas_equalTo(kGetScaleWidth(72));
|
||||
make.height.mas_equalTo(kGetScaleWidth(53));
|
||||
}];
|
||||
[self.tenthLoveBtn mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.bottom.equalTo(self.candyTreeView.mas_bottom).mas_offset(-kGetScaleWidth(7));
|
||||
make.leading.mas_equalTo(kGetScaleWidth(109));
|
||||
make.width.mas_equalTo(kGetScaleWidth(94));
|
||||
make.height.mas_equalTo(kGetScaleWidth(55));
|
||||
make.bottom.equalTo(self.candyTreeView.mas_bottom).mas_offset(-kGetScaleWidth(8));
|
||||
make.leading.mas_equalTo(kGetScaleWidth(84));
|
||||
make.width.mas_equalTo(kGetScaleWidth(72));
|
||||
make.height.mas_equalTo(kGetScaleWidth(53));
|
||||
}];
|
||||
[self.hundredthLoveBtn mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.bottom.equalTo(self.candyTreeView.mas_bottom).mas_offset(-kGetScaleWidth(7));
|
||||
make.leading.mas_equalTo(kGetScaleWidth(201));
|
||||
make.width.mas_equalTo(kGetScaleWidth(94));
|
||||
make.height.mas_equalTo(kGetScaleWidth(55));
|
||||
make.bottom.equalTo(self.candyTreeView.mas_bottom).mas_offset(-kGetScaleWidth(8));
|
||||
make.leading.mas_equalTo(kGetScaleWidth(154));
|
||||
make.width.mas_equalTo(kGetScaleWidth(72));
|
||||
make.height.mas_equalTo(kGetScaleWidth(53));
|
||||
}];
|
||||
|
||||
|
||||
[self.twoHundredhLoveBtn mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.bottom.equalTo(self.candyTreeView.mas_bottom).mas_offset(-kGetScaleWidth(8));
|
||||
make.leading.mas_equalTo(kGetScaleWidth(224));
|
||||
make.width.mas_equalTo(kGetScaleWidth(72));
|
||||
make.height.mas_equalTo(kGetScaleWidth(53));
|
||||
}];
|
||||
CGFloat kscale = (CGFloat)350 / (CGFloat)755;
|
||||
[self.candyTreeTransView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(self.candyTreeView);
|
||||
@@ -531,8 +539,10 @@ UIKIT_EXTERN NSString * const kRoomReceivedCandyNotificationKey;
|
||||
num = 1;
|
||||
}else if(sender == self.tenthLoveBtn){
|
||||
num = 10;
|
||||
}else{
|
||||
}else if(sender == self.hundredthLoveBtn){
|
||||
num = 100;
|
||||
}else{
|
||||
num = 200;
|
||||
}
|
||||
if(self.setModel.ticketNum.integerValue >= num){
|
||||
[self pickButtonActionWithNum:num];
|
||||
@@ -679,6 +689,15 @@ UIKIT_EXTERN NSString * const kRoomReceivedCandyNotificationKey;
|
||||
}
|
||||
return _hundredthLoveBtn;
|
||||
}
|
||||
- (UIButton *)twoHundredhLoveBtn{
|
||||
if(!_twoHundredhLoveBtn){
|
||||
_twoHundredhLoveBtn = [UIButton new];
|
||||
_twoHundredhLoveBtn.yn_acceptEventInterval = 1;
|
||||
[_twoHundredhLoveBtn setBackgroundImage:kImage(@"room_candy_two_hundredth_tap_bg") forState:UIControlStateNormal];
|
||||
[_twoHundredhLoveBtn addTarget:self action:@selector(fineLoveAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||
}
|
||||
return _twoHundredhLoveBtn;
|
||||
}
|
||||
- (XPCandyTreeBuyView *)buyView{
|
||||
if(!_buyView){
|
||||
_buyView = [[XPCandyTreeBuyView alloc]initWithFrame:CGRectZero];
|
||||
|
@@ -104,9 +104,6 @@
|
||||
#else
|
||||
isTestEnv = NO;
|
||||
#endif
|
||||
if(isEnterprise == NO){
|
||||
[[SudMGP getCfg]setBackgroundMode:NO];
|
||||
}
|
||||
[SudMGP initSDK:KeyWithType(KeyType_SudGameAppID) appKey:KeyWithType(KeyType_SudGameAppKey) isTestEnv:isTestEnv listener:^(int retCode, const NSString *retMsg) {
|
||||
if (retCode == 0) {
|
||||
if (!self.currentmgId) {
|
||||
|
@@ -223,8 +223,12 @@ UIKIT_EXTERN NSString * const kRoomGiftEffectUpdateNotificationKey;
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:@"cancelMatchRandomPK" object:nil];
|
||||
[self dismissViewControllerAnimated:YES completion:nil];
|
||||
NSString * roomUid = [NSString stringWithFormat:@"%ld", self.roomInfo.uid];
|
||||
XPAnchorPKSelectTypeController *selectVc = [[XPAnchorPKSelectTypeController alloc] initWithRoomUid:roomUid];
|
||||
[self.hostDelegate.getCurrentNav presentViewController:selectVc animated:YES completion:nil];
|
||||
|
||||
XPAnchorPKViewController * acrossRoomPKVC = [[XPAnchorPKViewController alloc] initWithRoomUid:roomUid];
|
||||
[self.hostDelegate.getCurrentNav presentViewController:acrossRoomPKVC animated:YES completion:nil];
|
||||
|
||||
// XPAnchorPKSelectTypeController *selectVc = [[XPAnchorPKSelectTypeController alloc] initWithRoomUid:roomUid];
|
||||
// [self.hostDelegate.getCurrentNav presentViewController:selectVc animated:YES completion:nil];
|
||||
}
|
||||
|
||||
#pragma mark - UICollectionViewDelegate And UICollectionViewDatasource
|
||||
@@ -392,8 +396,8 @@ UIKIT_EXTERN NSString * const kRoomGiftEffectUpdateNotificationKey;
|
||||
}];
|
||||
} else {
|
||||
[self dismissViewControllerAnimated:NO completion:nil];
|
||||
XPAnchorPKSelectTypeController *selectVc = [[XPAnchorPKSelectTypeController alloc] initWithRoomUid:roomUid];
|
||||
[self.hostDelegate.getCurrentNav presentViewController:selectVc animated:YES completion:nil];
|
||||
XPAnchorPKViewController * acrossRoomPKVC = [[XPAnchorPKViewController alloc] initWithRoomUid:roomUid];
|
||||
[self.hostDelegate.getCurrentNav presentViewController:acrossRoomPKVC animated:YES completion:nil];
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@@ -93,7 +93,7 @@
|
||||
self.svgDisplayView.hidden = NO;
|
||||
@weakify(self);
|
||||
NSString * anatomiser1Name = [NSString stringWithFormat:@"%@/anchor_room_speak.svga", API_Image_URL];
|
||||
NSURL *bgUrl = [NSURL fileURLWithPath:anatomiser1Name];
|
||||
NSURL *bgUrl = [NSURL URLWithString:anatomiser1Name];
|
||||
[self.parserManager loadSvgaWithURL:bgUrl completionBlock:^(SVGAVideoEntity * _Nullable videoItem) {
|
||||
@strongify(self);
|
||||
self.svgDisplayView.loops = INT_MAX;
|
||||
|
@@ -104,7 +104,7 @@
|
||||
self.svgDisplayView.hidden = NO;
|
||||
@weakify(self);
|
||||
NSString * anatomiser1Name = [NSString stringWithFormat:@"%@/anchor_room_speak.svga", API_Image_URL];
|
||||
NSURL *bgUrl = [NSURL fileURLWithPath:anatomiser1Name];
|
||||
NSURL *bgUrl = [NSURL URLWithString:anatomiser1Name];
|
||||
[self.parserManager loadSvgaWithURL:bgUrl completionBlock:^(SVGAVideoEntity * _Nullable videoItem) {
|
||||
@strongify(self);
|
||||
self.svgDisplayView.loops = INT_MAX;
|
||||
|
@@ -449,7 +449,12 @@
|
||||
self.nickLabel.textColor = [DJDKMIMOMColor positionNickColor];
|
||||
}
|
||||
if (self.microModel.microState.position == -1) {
|
||||
self.sexImageView.hidden = NO;
|
||||
[self.stackView mas_remakeConstraints:^(MASConstraintMaker *make) {
|
||||
make.centerX.mas_equalTo(self);
|
||||
make.top.mas_equalTo(self.avatarImageView.mas_bottom).offset(10);
|
||||
make.width.mas_lessThanOrEqualTo(kGetScaleWidth(150));
|
||||
}];
|
||||
self.sexImageView.hidden = YES;
|
||||
self.postionLabel.hidden = YES;
|
||||
[self.sexImageView setTitle:[NSString getAgeWithBirth:userInfo.birth] forState:UIControlStateNormal];
|
||||
self.sexImageView.backgroundColor = userInfo.gender == GenderType_Male ? UIColorFromRGB(0x6BB3FF) :UIColorFromRGB(0xFF80CC);
|
||||
|
@@ -187,7 +187,7 @@
|
||||
///进入房间,如果自己在麦上,需要调下上麦,不然,网络不好,会导致人不在麦上,但有声音
|
||||
-(void)enterRoomUpMicWith:(MicroQueueModel *)sequence{
|
||||
RoomInfoModel * roomInfo =self.hostDelegate.getRoomInfo;
|
||||
NSString * roomId = [NSString stringWithFormat:@"%ld", roomInfo.uid];
|
||||
NSString * roomId = [NSString stringWithFormat:@"%ld", roomInfo.roomId];
|
||||
NIMChatroomQueueUpdateRequest *request = [[NIMChatroomQueueUpdateRequest alloc]init];
|
||||
request.key = @(sequence.microState.position).stringValue;
|
||||
request.value = [sequence.userInfo toJSONString];
|
||||
@@ -495,13 +495,12 @@
|
||||
break;
|
||||
case NIMChatroomEventTypeEnter:
|
||||
{
|
||||
|
||||
///进入房间,如果自己在麦上,需要调下上麦,不然,网络不好,会导致人不在麦上,但有声音
|
||||
RoomInfoModel * roomInfo =self.hostDelegate.getRoomInfo;
|
||||
NSString * roomId = [NSString stringWithFormat:@"%ld", roomInfo.uid];
|
||||
BOOL isInMic = NO;
|
||||
NSString * roomId = [NSString stringWithFormat:@"%ld", roomInfo.roomId];
|
||||
for (MicroQueueModel *sequence in self.micQueue.allValues) {
|
||||
if ([AccountInfoStorage instance].getUid.integerValue == sequence.userInfo.uid) {
|
||||
isInMic = YES;
|
||||
NIMChatroomQueueUpdateRequest *request = [[NIMChatroomQueueUpdateRequest alloc]init];
|
||||
request.key = @(sequence.microState.position).stringValue;
|
||||
request.value = [sequence.userInfo toJSONString];
|
||||
@@ -510,8 +509,13 @@
|
||||
[[NIMSDK sharedSDK].chatroomManager updateChatroomQueueObject:request completion:^(NSError * _Nullable error) {
|
||||
}];
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (content.source.userId.integerValue == [AccountInfoStorage instance].getUid.integerValue){
|
||||
[self initNIMMicroQueues];
|
||||
}
|
||||
|
||||
}
|
||||
break;
|
||||
case NIMChatroomEventTypeExit:
|
||||
|
@@ -54,6 +54,12 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
/// @param opt 1: 设置为管理员;2:设置普通等级用户;-1:设为黑名单用户;-2:设为禁言用户
|
||||
/// @param isSet true 设置,false 取消设置
|
||||
+ (void)superAdminHandleUser:(HttpRequestHelperCompletion)completion roomUid:(NSString *)roomUid targetUid:(NSString *)targetUid opt:(NSString *)opt isSet:(NSNumber *)isSet;
|
||||
|
||||
/// 记录踢人名单列表
|
||||
/// @param completion 完成
|
||||
/// @param roomUid 房间id
|
||||
/// @param uid 用户id
|
||||
+(void)recordskickUserList:(HttpRequestHelperCompletion)completion roomUid:(NSString *)roomUid uid:(NSString *)uid;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -62,5 +62,11 @@
|
||||
NSString * fang = [NSString stringFromBase64String:@"c3VwZXIvc2V0L2NoYXRyb29tL3JvbGU="];///super/set/chatroom/role
|
||||
[self makeRequest:fang method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, roomUid, targetUid, opt,isSet, nil];
|
||||
}
|
||||
|
||||
/// 记录踢人名单列表
|
||||
/// @param completion 完成
|
||||
/// @param roomUid 房间id
|
||||
/// @param uid 用户id
|
||||
+(void)recordskickUserList:(HttpRequestHelperCompletion)completion roomUid:(NSString *)roomUid uid:(NSString *)uid{
|
||||
[self makeRequest:@"room/kick/" method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, roomUid, uid, nil];
|
||||
}
|
||||
@end
|
||||
|
@@ -89,6 +89,11 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
/// @param opt 1: 设置为管理员;2:设置普通等级用户;-1:设为黑名单用户;-2:设为禁言用户
|
||||
/// @param roomUid 房主的uid
|
||||
- (void)superAdminHandleUser:(NSString *)targetUid opt:(NSString *)opt roomUid:(NSString *)roomUid isSet:(BOOL)isSet;
|
||||
/// 记录踢人名单列表
|
||||
|
||||
/// @param roomUid 房间id
|
||||
/// @param uid 用户id
|
||||
-(void)recordsKickUserListWithRoomUid:(NSString *)roomUid uid:(NSString *)uid;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -451,7 +451,7 @@
|
||||
[[NIMSDK sharedSDK].chatroomManager kickMember:request completion:^(NSError * _Nullable error) {
|
||||
|
||||
|
||||
[[self getView] makeKickUserFinish:error];
|
||||
[[self getView] makeKickUserFinish:error uid:targetUid];
|
||||
}];
|
||||
}
|
||||
|
||||
@@ -602,7 +602,16 @@
|
||||
return nil;
|
||||
}];
|
||||
}
|
||||
/// 记录踢人名单列表
|
||||
/// @param roomUid 房间id
|
||||
/// @param uid 用户id
|
||||
-(void)recordsKickUserListWithRoomUid:(NSString *)roomUid uid:(NSString *)uid{
|
||||
[Api recordskickUserList:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
||||
|
||||
} fail:^(NSInteger code, NSString * _Nullable msg) {
|
||||
|
||||
} showLoading:NO errorToast:NO] roomUid:roomUid uid:uid ];
|
||||
}
|
||||
#pragma mark - Getters And Setters
|
||||
- (NSMutableArray *)functionArray {
|
||||
if (!_functionArray) {
|
||||
|
@@ -24,7 +24,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
///设置管理 取消管理员 成功
|
||||
- (void)markUserManagerFinish:(XPUserCardItemModel *)item error:(NSError *)error;
|
||||
/// 踢出房间
|
||||
- (void)makeKickUserFinish:(NSError *)error;
|
||||
- (void)makeKickUserFinish:(NSError *)error uid:(NSString *)uid;
|
||||
///超管踢管理出房间
|
||||
- (void)superAdminKickUserFinish:(NSError *)error;
|
||||
///抱下麦成功
|
||||
|
@@ -643,10 +643,12 @@
|
||||
[self.collectionView reloadData];
|
||||
}
|
||||
|
||||
- (void)makeKickUserFinish:(NSError *)error {
|
||||
- (void)makeKickUserFinish:(NSError *)error uid:(NSString *)uid{
|
||||
if (error == nil && self.targetUserInfo) {
|
||||
NSString * roomUid = [NSString stringWithFormat:@"%ld", self.cardInfo.roomInfo.uid];
|
||||
[self dismissViewControllerAnimated:YES completion:nil];
|
||||
[self sendCustomMessageKickOrBlackUser:CustomMessageType_Kick_User second:Custom_Message_Sub_Kick_BeKicked];
|
||||
[self.presenter recordsKickUserListWithRoomUid:roomUid uid:uid];
|
||||
} else if (error.code == 404) {
|
||||
[self showErrorToast:YMLocalizedString(@"XPUserCardViewController0")];
|
||||
}
|
||||
|
@@ -937,7 +937,6 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出
|
||||
[[XPRoomMiniManager shareManager] configCurrentMusic:nil isPlaying:NO];
|
||||
}
|
||||
}
|
||||
|
||||
///展示个播上划引导
|
||||
- (void)showAnchorScrollTipView {
|
||||
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
|
||||
@@ -948,35 +947,6 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出
|
||||
[window bringSubviewToFront:self.anchorScrollTipView];
|
||||
}
|
||||
}
|
||||
|
||||
///判断是否被踢出房间
|
||||
- (BOOL)isKictOutLatest:(NSString *)key mainKey:(NSString *)mainKey{
|
||||
NSMutableDictionary *kickedList = [[NSUserDefaults standardUserDefaults]valueForKey:mainKey];
|
||||
if([kickedList isKindOfClass:[NSString class]]){
|
||||
kickedList = nil;
|
||||
}
|
||||
if(kickedList == nil){
|
||||
kickedList = [NSMutableDictionary dictionary];
|
||||
}else{
|
||||
kickedList = [[NSMutableDictionary alloc]initWithDictionary:kickedList];
|
||||
}
|
||||
NSString *kictOutTime = [kickedList valueForKey:key];
|
||||
if (kictOutTime) {
|
||||
NSDate* date = [NSDate dateWithTimeIntervalSinceNow:0];
|
||||
NSTimeInterval time = [date timeIntervalSince1970];
|
||||
NSString *currentTime = [NSString stringWithFormat:@"%.0f", time];
|
||||
//是否超过5分钟
|
||||
if ([currentTime intValue] - [kictOutTime intValue] > 5 * 60) {
|
||||
[[NSUserDefaults standardUserDefaults] removeObjectForKey:key];
|
||||
[[NSUserDefaults standardUserDefaults] synchronize];
|
||||
return NO;
|
||||
} else {
|
||||
return YES;
|
||||
}
|
||||
} else {
|
||||
return NO;
|
||||
}
|
||||
}
|
||||
-(void)requesstShieldingAction{
|
||||
[self.presenter requesstShieldingWtihType:@"1" objId:[NSString stringWithFormat:@"%ld",self.roomInfo.uid]];
|
||||
}
|
||||
@@ -1001,7 +971,18 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出
|
||||
}
|
||||
[[NSNotificationCenter defaultCenter]postNotificationName:@"kGetgetUnlockRoomAlbumPhotoListNot" object:nil];
|
||||
}
|
||||
///获取踢人房间列表
|
||||
-(void)getKickUserListSuccessWithList:(NSArray *)list{
|
||||
NSString *uid = [[AccountInfoStorage instance]getUid];
|
||||
for (id obj in list) {
|
||||
if([obj integerValue] == [uid integerValue]){
|
||||
[self exitRoom];
|
||||
[XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"XPRoomViewController0")];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
- (void)initEnterRoomSuccess:(RoomInfoModel *)roomInfo user:(UserInfoModel *)userInfo {
|
||||
[XNDJTDDLoadingTool hideHUDInView:self.navigationController.view];
|
||||
[XPSkillCardPlayerManager shareInstance].roomUid = @(roomInfo.uid).stringValue;
|
||||
@@ -1019,14 +1000,7 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出
|
||||
});
|
||||
|
||||
|
||||
//判断5分钟内是否被踢出过房间
|
||||
NSString *currentUid = [AccountInfoStorage instance].getUid;
|
||||
NSString *key = [NSString stringWithFormat:@"kKickedOutRoom_%@_%ld", currentUid, roomInfo.uid];
|
||||
if ([self isKictOutLatest:key mainKey:@"kKickedOutRoomList"] == YES) {
|
||||
[XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"XPRoomViewController0")];
|
||||
[self dismissViewControllerAnimated:YES completion:nil];
|
||||
return;
|
||||
}
|
||||
|
||||
if (roomInfo.type == RoomType_Anchor) {//个播房,获取下一个房间
|
||||
[self handleInitAnchorRoom];
|
||||
[self showAnchorScrollTipView];
|
||||
@@ -1391,33 +1365,8 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出
|
||||
|
||||
#pragma mark - NIMChatroomManagerDelegate
|
||||
- (void)chatroomBeKicked:(NIMChatroomBeKickedResult *)result {
|
||||
if (result.reason == 2) {
|
||||
[self showErrorToast:YMLocalizedString(@"XPRoomViewController8")];
|
||||
///保存被踢出时的时间
|
||||
NSDate* date = [NSDate dateWithTimeIntervalSinceNow:0];//获取当前时间0秒后的时间
|
||||
NSTimeInterval time = [date timeIntervalSince1970];
|
||||
NSString *currentTime = [NSString stringWithFormat:@"%.0f", time];
|
||||
NSString *key = [NSString stringWithFormat:@"kKickedOutRoom_%@_%ld", [AccountInfoStorage instance].getUid, self.roomInfo.uid];
|
||||
|
||||
NSMutableDictionary *kickedList = [[NSUserDefaults standardUserDefaults]valueForKey:@"kKickedOutRoomList"];
|
||||
if([kickedList isKindOfClass:[NSString class]]){
|
||||
kickedList = nil;
|
||||
}
|
||||
if(kickedList == nil){
|
||||
kickedList = [NSMutableDictionary dictionary];
|
||||
}else{
|
||||
kickedList = [[NSMutableDictionary alloc]initWithDictionary:kickedList];
|
||||
}
|
||||
NSMutableDictionary *copyList = [[NSMutableDictionary alloc]initWithDictionary:kickedList];
|
||||
for (NSString *timeKey in copyList.allKeys) {
|
||||
if([self isKictOutLatest:timeKey mainKey:@"kKickedOutRoomList"] == NO){
|
||||
[kickedList removeObjectForKey:timeKey];
|
||||
}
|
||||
}
|
||||
[kickedList setValue:currentTime forKey:key];
|
||||
[[NSUserDefaults standardUserDefaults] setObject:kickedList forKey:@"kKickedOutRoomList"];
|
||||
[[NSUserDefaults standardUserDefaults] synchronize];
|
||||
} else if (result.reason == 5) {
|
||||
if (result.reason == 5) {
|
||||
[self showErrorToast:YMLocalizedString(@"XPRoomViewController9")];
|
||||
}
|
||||
[self.presenter exitNIMRoom:[NSString stringWithFormat:@"%ld", self.roomInfo.roomId]];
|
||||
@@ -1548,9 +1497,14 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出
|
||||
break;
|
||||
case NIMChatroomEventTypeEnter:
|
||||
{
|
||||
if (content.source.userId.integerValue == [AccountInfoStorage instance].getUid.integerValue){
|
||||
[self.presenter getKickUserListWithRoomUid:@(self.roomInfo.uid).stringValue];
|
||||
}
|
||||
if (content.source.userId.integerValue != [AccountInfoStorage instance].getUid.integerValue && self.userInfo.platformRole != 1) {
|
||||
onLineNumber += 1;
|
||||
}else {///如果是自己的话 如果有坐骑的话
|
||||
}else {
|
||||
|
||||
///如果是自己的话 如果有坐骑的话
|
||||
[self userEnterRoomSuccess];
|
||||
///在活动页面 判断是否显示 相亲加入的按钮 所以需要等用户进房成功之后才能获取 房间角色
|
||||
[self.activityContainerView onRoomUpdate];
|
||||
|
@@ -66,7 +66,7 @@
|
||||
NSLog(@"\nmethod:\n%@\nparameter:\n%@", method, params);
|
||||
#endif
|
||||
#ifdef DEBUG
|
||||
NSString *url = API_HOST_URL;
|
||||
NSString *url = [self getHostUrl];
|
||||
NSString *urlPath = [NSString stringWithFormat:@"%@/%@", url ,method];
|
||||
dispatch_async(dispatch_get_global_queue(0, 0), ^{
|
||||
[BSNetListenModel addHttpReq:urlPath header:manager.requestSerializer.HTTPRequestHeaders param:[params copy] time:[NSDate getCurrentTimeWithFormat:@"yyyy-MM-dd HH:mm:ss"]];
|
||||
@@ -112,7 +112,7 @@
|
||||
#ifdef DEBUG
|
||||
NSLog(@"\nmethod:\n%@\nparameter:\n%@", method, params);
|
||||
|
||||
NSString *url = API_HOST_URL;
|
||||
NSString *url = [self getHostUrl];
|
||||
NSString *urlPath = [NSString stringWithFormat:@"%@/%@", url ,method];
|
||||
dispatch_async(dispatch_get_global_queue(0, 0), ^{
|
||||
[BSNetListenModel addHttpReq:urlPath header:manager.requestSerializer.HTTPRequestHeaders param:[params copy] time:[NSDate getCurrentTimeWithFormat:@"yyyy-MM-dd HH:mm:ss"]];
|
||||
@@ -155,7 +155,7 @@
|
||||
AFHTTPSessionManager *manager = [HttpRequestHelper requestManager];
|
||||
#ifdef DEBUG
|
||||
NSLog(@"\nmethod:\n%@\nparameter:\n%@", method, params);
|
||||
NSString *url = API_HOST_URL;
|
||||
NSString *url = [self getHostUrl];
|
||||
NSString *urlPath = [NSString stringWithFormat:@"%@/%@", url ,method];
|
||||
dispatch_async(dispatch_get_global_queue(0, 0), ^{
|
||||
[BSNetListenModel addHttpReq:urlPath header:manager.requestSerializer.HTTPRequestHeaders param:[params copy] time:[NSDate getCurrentTimeWithFormat:@"yyyy-MM-dd HH:mm:ss"]];
|
||||
@@ -323,7 +323,7 @@
|
||||
[self configHeaders];
|
||||
NSDictionary *baseParams = [self configBaseParmars:nil];
|
||||
AFHTTPSessionManager *manager = [HttpRequestHelper requestManager];
|
||||
NSString *url = API_HOST_URL;
|
||||
NSString *url = [self getHostUrl];
|
||||
NSString *urlPath = [NSString stringWithFormat:@"%@/%@", url ,path];
|
||||
#ifdef DEBUG
|
||||
NSLog(@"\nmethod:\n%@\nparameter:\n%@", path, params);
|
||||
@@ -340,6 +340,7 @@
|
||||
}];
|
||||
|
||||
urlPath = [NSString stringWithFormat:@"%@?%@", urlPath, requestUrl];
|
||||
urlPath = [urlPath stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
|
||||
|
||||
NSMutableURLRequest *request = [[AFJSONRequestSerializer serializer] requestWithMethod:@"POST" URLString:urlPath parameters:baseParams error:nil];
|
||||
request.timeoutInterval= [[[NSUserDefaults standardUserDefaults] valueForKey:@"timeoutInterval"] longValue];
|
||||
|
@@ -33,6 +33,9 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
+ (NSString *)getCalculateConstellationImageWithMonth:(long)time;
|
||||
///得到年龄
|
||||
+(NSString *)getAgeWithBirth:(long)birth;
|
||||
///得到区号
|
||||
+(NSString *)getCountryCode;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
|
@@ -7,6 +7,7 @@
|
||||
|
||||
#import "NSString+Utils.h"
|
||||
#import <CommonCrypto/CommonDigest.h>
|
||||
#import "LoginAreaModel.h"
|
||||
|
||||
@implementation NSString (Utils)
|
||||
|
||||
@@ -208,4 +209,25 @@
|
||||
}
|
||||
return @(iAge).stringValue;
|
||||
}
|
||||
///得到区号
|
||||
+(NSString *)getCountryCode{
|
||||
// 获取文件路径
|
||||
NSString *path = [[NSBundle mainBundle] pathForResource:@"pi_area_info" ofType:@"json"];
|
||||
// 将文件数据化
|
||||
NSData *data = [[NSData alloc] initWithContentsOfFile:path];
|
||||
// 对数据进行JSON格式化并返回字典形式
|
||||
NSDictionary *codeData = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];
|
||||
NSArray *codeList = [LoginAreaModel modelsWithArray:codeData[@"RECORDS"]];
|
||||
NSString *mccCode = [YYUtility getMobileCountryCode];
|
||||
NSString *countryCode = @"";
|
||||
if([mccCode isEqualToString:@"65535"])return @"+886";
|
||||
for (LoginAreaModel *obj in codeList) {
|
||||
if([mccCode isEqualToString:obj.mcc]){
|
||||
countryCode = obj.code;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(countryCode.length == 0)return @"+886";
|
||||
return [NSString stringWithFormat:@"+%@",countryCode];
|
||||
}
|
||||
@end
|
||||
|
@@ -28,16 +28,7 @@
|
||||
return appVersion;
|
||||
}
|
||||
+(NSString *)getLanguage{
|
||||
NSString *language = [NSLocale preferredLanguages].firstObject;
|
||||
if ([language hasPrefix:@"zh"]) {
|
||||
if ([language rangeOfString:@"Hans"].location != NSNotFound) {
|
||||
language = @"zh-Hans"; // 简体中文
|
||||
} else {
|
||||
language = @"zh-Hant"; // 繁體中文
|
||||
}
|
||||
} else {
|
||||
language = @"zh-Hant"; // 繁體中文
|
||||
}
|
||||
NSString *language = [[[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"] firstObject];
|
||||
return language;
|
||||
|
||||
}
|
||||
|
@@ -18,24 +18,24 @@
|
||||
|
||||
#pragma mark - AssociatedObjects
|
||||
|
||||
- (NSMutableArray *)attributeStrings
|
||||
- (NSMutableArray *)siefnsufwhf
|
||||
{
|
||||
return objc_getAssociatedObject(self, _cmd);
|
||||
}
|
||||
|
||||
- (void)setAttributeStrings:(NSMutableArray *)attributeStrings
|
||||
- (void)setSiefnsufwhf:(NSMutableArray *)siefnsufwhf
|
||||
{
|
||||
objc_setAssociatedObject(self, @selector(attributeStrings), attributeStrings, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
|
||||
objc_setAssociatedObject(self, @selector(siefnsufwhf), siefnsufwhf, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
|
||||
}
|
||||
|
||||
- (NSMutableDictionary *)effectDic
|
||||
- (NSMutableDictionary *)siefidshfiwhi
|
||||
{
|
||||
return objc_getAssociatedObject(self, _cmd);
|
||||
}
|
||||
|
||||
- (void)setEffectDic:(NSMutableDictionary *)effectDic
|
||||
- (void)setSiefidshfiwhi:(NSMutableDictionary *)siefidshfiwhi
|
||||
{
|
||||
objc_setAssociatedObject(self, @selector(effectDic), effectDic, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
|
||||
objc_setAssociatedObject(self, @selector(siefidshfiwhi), siefidshfiwhi, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
|
||||
}
|
||||
|
||||
- (BOOL)isTapAction
|
||||
@@ -253,11 +253,11 @@
|
||||
index = index - 1;
|
||||
}
|
||||
|
||||
NSInteger link_count = self.attributeStrings.count;
|
||||
NSInteger link_count = self.siefnsufwhf.count;
|
||||
|
||||
for (int j = 0; j < link_count; j++) {
|
||||
|
||||
YBAttributeModel *model = self.attributeStrings[j];
|
||||
YBAttributeModel *model = self.siefnsufwhf[j];
|
||||
|
||||
NSRange link_range = model.range;
|
||||
if (NSLocationInRange(index, link_range)) {
|
||||
@@ -318,9 +318,9 @@
|
||||
if (self.isTapEffect) {
|
||||
NSMutableAttributedString *attStr = [[NSMutableAttributedString alloc] initWithAttributedString:self.attributedText];
|
||||
|
||||
NSMutableAttributedString *subAtt = [[NSMutableAttributedString alloc] initWithAttributedString:[[self.effectDic allValues] firstObject]];
|
||||
NSMutableAttributedString *subAtt = [[NSMutableAttributedString alloc] initWithAttributedString:[[self.siefidshfiwhi allValues] firstObject]];
|
||||
|
||||
NSRange range = NSRangeFromString([[self.effectDic allKeys] firstObject]);
|
||||
NSRange range = NSRangeFromString([[self.siefidshfiwhi allKeys] firstObject]);
|
||||
|
||||
if (status) {
|
||||
[subAtt addAttribute:NSBackgroundColorAttributeName value:[UIColor lightGrayColor] range:NSMakeRange(0, subAtt.string.length)];
|
||||
@@ -336,11 +336,11 @@
|
||||
|
||||
- (void)yb_saveEffectDicWithRange:(NSRange)range
|
||||
{
|
||||
self.effectDic = [NSMutableDictionary dictionary];
|
||||
self.siefidshfiwhi = [NSMutableDictionary dictionary];
|
||||
|
||||
NSAttributedString *subAttribute = [self.attributedText attributedSubstringFromRange:range];
|
||||
|
||||
[self.effectDic setObject:subAttribute forKey:NSStringFromRange(range)];
|
||||
[self.siefidshfiwhi setObject:subAttribute forKey:NSStringFromRange(range)];
|
||||
}
|
||||
|
||||
#pragma mark - getRange
|
||||
@@ -357,7 +357,7 @@
|
||||
|
||||
__block NSString *totalStr = self.attributedText.string;
|
||||
|
||||
self.attributeStrings = [NSMutableArray array];
|
||||
self.siefnsufwhf = [NSMutableArray array];
|
||||
|
||||
__weak typeof(self) weakSelf = self;
|
||||
|
||||
@@ -375,7 +375,7 @@
|
||||
|
||||
model.str = obj;
|
||||
|
||||
[weakSelf.attributeStrings addObject:model];
|
||||
[weakSelf.siefnsufwhf addObject:model];
|
||||
|
||||
}
|
||||
|
||||
|
964
YuMi/pi_area_info.json
Normal file
@@ -0,0 +1,964 @@
|
||||
{
|
||||
"RECORDS": [
|
||||
{
|
||||
"name": "Afghanistan",
|
||||
"abbr": "AF",
|
||||
"mcc": "412",
|
||||
"code": "93"
|
||||
},
|
||||
{
|
||||
"name": "Albania",
|
||||
"abbr": "AL",
|
||||
"mcc": "276",
|
||||
"code": "355"
|
||||
},
|
||||
{
|
||||
"name": "Algeria",
|
||||
"abbr": "DZ",
|
||||
"mcc": "603",
|
||||
"code": "213"
|
||||
},
|
||||
{
|
||||
"name": "American Samoa",
|
||||
"abbr": "AS",
|
||||
"mcc": "544",
|
||||
"code": "1684"
|
||||
},
|
||||
{
|
||||
"name": "Andorra",
|
||||
"abbr": "AD",
|
||||
"mcc": "213",
|
||||
"code": "376"
|
||||
},
|
||||
{
|
||||
"name": "Angola",
|
||||
"abbr": "AO",
|
||||
"mcc": "631",
|
||||
"code": "244"
|
||||
},
|
||||
{
|
||||
"name": "Anguilla",
|
||||
"abbr": "AI",
|
||||
"mcc": "365",
|
||||
"code": "1264"
|
||||
},
|
||||
{
|
||||
"name": "Antigua and Barbuda",
|
||||
"abbr": "AG",
|
||||
"mcc": "344",
|
||||
"code": "1268"
|
||||
},
|
||||
{
|
||||
"name": "Argentina",
|
||||
"abbr": "AR",
|
||||
"mcc": "722",
|
||||
"code": "54"
|
||||
},
|
||||
{
|
||||
"name": "Aruba",
|
||||
"abbr": "AW",
|
||||
"mcc": "363",
|
||||
"code": "297"
|
||||
},
|
||||
{
|
||||
"name": "Australia",
|
||||
"abbr": "AU",
|
||||
"mcc": "505",
|
||||
"code": "61"
|
||||
},
|
||||
{
|
||||
"name": "Austria",
|
||||
"abbr": "AT",
|
||||
"mcc": "232",
|
||||
"code": "43"
|
||||
},
|
||||
{
|
||||
"name": "Azerbaijan",
|
||||
"abbr": "AZ",
|
||||
"mcc": "400",
|
||||
"code": "994"
|
||||
},
|
||||
{
|
||||
"name": "Bahamas",
|
||||
"abbr": "BS",
|
||||
"mcc": "364",
|
||||
"code": "1242"
|
||||
},
|
||||
{
|
||||
"name": "Bahrain",
|
||||
"abbr": "BH",
|
||||
"mcc": "426",
|
||||
"code": "973"
|
||||
},
|
||||
{
|
||||
"name": "Bangladesh",
|
||||
"abbr": "BD",
|
||||
"mcc": "470",
|
||||
"code": "880"
|
||||
},
|
||||
{
|
||||
"name": "Barbados",
|
||||
"abbr": "BB",
|
||||
"mcc": "342",
|
||||
"code": "1246"
|
||||
},
|
||||
{
|
||||
"name": "Belarus",
|
||||
"abbr": "BY",
|
||||
"mcc": "257",
|
||||
"code": "375"
|
||||
},
|
||||
{
|
||||
"name": "Belgium",
|
||||
"abbr": "BE",
|
||||
"mcc": "206",
|
||||
"code": "32"
|
||||
},
|
||||
{
|
||||
"name": "Belize",
|
||||
"abbr": "BZ",
|
||||
"mcc": "702",
|
||||
"code": "501"
|
||||
},
|
||||
{
|
||||
"name": "Benin",
|
||||
"abbr": "BJ",
|
||||
"mcc": "616",
|
||||
"code": "229"
|
||||
},
|
||||
{
|
||||
"name": "Bermuda",
|
||||
"abbr": "BM",
|
||||
"mcc": "350",
|
||||
"code": "1441"
|
||||
},
|
||||
{
|
||||
"name": "Bolivia, Plurinational State of",
|
||||
"abbr": "BO",
|
||||
"mcc": "736",
|
||||
"code": "591"
|
||||
},
|
||||
{
|
||||
"name": "Botswana",
|
||||
"abbr": "BW",
|
||||
"mcc": "652",
|
||||
"code": "267"
|
||||
},
|
||||
{
|
||||
"name": "Brazil",
|
||||
"abbr": "BR",
|
||||
"mcc": "724",
|
||||
"code": "55"
|
||||
},
|
||||
{
|
||||
"name": "Brunei Darussalam",
|
||||
"abbr": "BN",
|
||||
"mcc": "528",
|
||||
"code": "673"
|
||||
},
|
||||
{
|
||||
"name": "Bulgaria",
|
||||
"abbr": "BG",
|
||||
"mcc": "284",
|
||||
"code": "359"
|
||||
},
|
||||
{
|
||||
"name": "Burkina Faso",
|
||||
"abbr": "BF",
|
||||
"mcc": "613",
|
||||
"code": "226"
|
||||
},
|
||||
{
|
||||
"name": "Burundi",
|
||||
"abbr": "BI",
|
||||
"mcc": "642",
|
||||
"code": "257"
|
||||
},
|
||||
{
|
||||
"name": "Cambodia",
|
||||
"abbr": "KH",
|
||||
"mcc": "456",
|
||||
"code": "855"
|
||||
},
|
||||
{
|
||||
"name": "Cameroon",
|
||||
"abbr": "CM",
|
||||
"mcc": "624",
|
||||
"code": "237"
|
||||
},
|
||||
{
|
||||
"name": "Canada",
|
||||
"abbr": "CA",
|
||||
"mcc": "302",
|
||||
"code": "1"
|
||||
},
|
||||
{
|
||||
"name": "Cape Verde",
|
||||
"abbr": "CV",
|
||||
"mcc": "625",
|
||||
"code": "238"
|
||||
},
|
||||
{
|
||||
"name": "Cayman Islands",
|
||||
"abbr": "KY",
|
||||
"mcc": "346",
|
||||
"code": "1345"
|
||||
},
|
||||
{
|
||||
"name": "Central African Republic",
|
||||
"abbr": "CF",
|
||||
"mcc": "623",
|
||||
"code": "236"
|
||||
},
|
||||
{
|
||||
"name": "Chad",
|
||||
"abbr": "TD",
|
||||
"mcc": "622",
|
||||
"code": "235"
|
||||
},
|
||||
{
|
||||
"name": "Chile",
|
||||
"abbr": "CL",
|
||||
"mcc": "730",
|
||||
"code": "56"
|
||||
},
|
||||
{
|
||||
"name": "China",
|
||||
"abbr": "CN",
|
||||
"mcc": "460",
|
||||
"code": "86"
|
||||
},
|
||||
{
|
||||
"name": "Colombia",
|
||||
"abbr": "CO",
|
||||
"mcc": "732",
|
||||
"code": "57"
|
||||
},
|
||||
{
|
||||
"name": "Congo",
|
||||
"abbr": "CG",
|
||||
"mcc": "629",
|
||||
"code": "242"
|
||||
},
|
||||
{
|
||||
"name": "Cook Islands",
|
||||
"abbr": "CK",
|
||||
"mcc": "548",
|
||||
"code": "682"
|
||||
},
|
||||
{
|
||||
"name": "Costa Rica",
|
||||
"abbr": "CR",
|
||||
"mcc": "712",
|
||||
"code": "506"
|
||||
},
|
||||
{
|
||||
"name": "Croatia",
|
||||
"abbr": "HR",
|
||||
"mcc": "219",
|
||||
"code": "385"
|
||||
},
|
||||
{
|
||||
"name": "Cuba",
|
||||
"abbr": "CU",
|
||||
"mcc": "368",
|
||||
"code": "53"
|
||||
},
|
||||
{
|
||||
"name": "Curaçao",
|
||||
"abbr": "CW",
|
||||
"mcc": "362",
|
||||
"code": "599"
|
||||
},
|
||||
{
|
||||
"name": "Cyprus",
|
||||
"abbr": "CY",
|
||||
"mcc": "280",
|
||||
"code": "357"
|
||||
},
|
||||
{
|
||||
"name": "Czech Republic",
|
||||
"abbr": "CZ",
|
||||
"mcc": "230",
|
||||
"code": "420"
|
||||
},
|
||||
{
|
||||
"name": "Denmark",
|
||||
"abbr": "DK",
|
||||
"mcc": "238",
|
||||
"code": "45"
|
||||
},
|
||||
{
|
||||
"name": "Djibouti",
|
||||
"abbr": "DJ",
|
||||
"mcc": "638",
|
||||
"code": "253"
|
||||
},
|
||||
{
|
||||
"name": "Dominica",
|
||||
"abbr": "DM",
|
||||
"mcc": "366",
|
||||
"code": "1767"
|
||||
},
|
||||
{
|
||||
"name": "Dominican Republic",
|
||||
"abbr": "DO",
|
||||
"mcc": "370",
|
||||
"code": "1809"
|
||||
},
|
||||
{
|
||||
"name": "Ecuador",
|
||||
"abbr": "EC",
|
||||
"mcc": "740",
|
||||
"code": "593"
|
||||
},
|
||||
{
|
||||
"name": "Egypt",
|
||||
"abbr": "EG",
|
||||
"mcc": "602",
|
||||
"code": "20"
|
||||
},
|
||||
{
|
||||
"name": "El Salvador",
|
||||
"abbr": "SV",
|
||||
"mcc": "706",
|
||||
"code": "503"
|
||||
},
|
||||
{
|
||||
"name": "Equatorial Guinea",
|
||||
"abbr": "GQ",
|
||||
"mcc": "627",
|
||||
"code": "240"
|
||||
},
|
||||
{
|
||||
"name": "Estonia",
|
||||
"abbr": "EE",
|
||||
"mcc": "248",
|
||||
"code": "372"
|
||||
},
|
||||
{
|
||||
"name": "Ethiopia",
|
||||
"abbr": "ET",
|
||||
"mcc": "636",
|
||||
"code": "251"
|
||||
},
|
||||
{
|
||||
"name": "Fiji",
|
||||
"abbr": "FJ",
|
||||
"mcc": "542",
|
||||
"code": "679"
|
||||
},
|
||||
{
|
||||
"name": "Finland",
|
||||
"abbr": "FI",
|
||||
"mcc": "244",
|
||||
"code": "358"
|
||||
},
|
||||
{
|
||||
"name": "France",
|
||||
"abbr": "FR",
|
||||
"mcc": "208",
|
||||
"code": "33"
|
||||
},
|
||||
{
|
||||
"name": "French Guiana",
|
||||
"abbr": "GF",
|
||||
"mcc": "742",
|
||||
"code": "594"
|
||||
},
|
||||
{
|
||||
"name": "French Polynesia",
|
||||
"abbr": "PF",
|
||||
"mcc": "547",
|
||||
"code": "689"
|
||||
},
|
||||
{
|
||||
"name": "Gabon",
|
||||
"abbr": "GA",
|
||||
"mcc": "628",
|
||||
"code": "241"
|
||||
},
|
||||
{
|
||||
"name": "Gambia",
|
||||
"abbr": "GM",
|
||||
"mcc": "607",
|
||||
"code": "220"
|
||||
},
|
||||
{
|
||||
"name": "Germany",
|
||||
"abbr": "DE",
|
||||
"mcc": "262",
|
||||
"code": "49"
|
||||
},
|
||||
{
|
||||
"name": "Ghana",
|
||||
"abbr": "GH",
|
||||
"mcc": "620",
|
||||
"code": "233"
|
||||
},
|
||||
{
|
||||
"name": "Gibraltar",
|
||||
"abbr": "GI",
|
||||
"mcc": "266",
|
||||
"code": "350"
|
||||
},
|
||||
{
|
||||
"name": "Greece",
|
||||
"abbr": "GR",
|
||||
"mcc": "202",
|
||||
"code": "30"
|
||||
},
|
||||
{
|
||||
"name": "Greenland",
|
||||
"abbr": "GL",
|
||||
"mcc": "290",
|
||||
"code": "299"
|
||||
},
|
||||
{
|
||||
"name": "Grenada",
|
||||
"abbr": "GD",
|
||||
"mcc": "352",
|
||||
"code": "1473"
|
||||
},
|
||||
{
|
||||
"name": "Guam",
|
||||
"abbr": "GU",
|
||||
"mcc": "535",
|
||||
"code": "1671"
|
||||
},
|
||||
{
|
||||
"name": "Guatemala",
|
||||
"abbr": "GT",
|
||||
"mcc": "704",
|
||||
"code": "502"
|
||||
},
|
||||
{
|
||||
"name": "Guinea",
|
||||
"abbr": "GN",
|
||||
"mcc": "611",
|
||||
"code": "224"
|
||||
},
|
||||
{
|
||||
"name": "Guyana",
|
||||
"abbr": "GY",
|
||||
"mcc": "738",
|
||||
"code": "592"
|
||||
},
|
||||
{
|
||||
"name": "Haiti",
|
||||
"abbr": "HT",
|
||||
"mcc": "372",
|
||||
"code": "509"
|
||||
},
|
||||
{
|
||||
"name": "Honduras",
|
||||
"abbr": "HN",
|
||||
"mcc": "708",
|
||||
"code": "504"
|
||||
},
|
||||
{
|
||||
"name": "Hong Kong",
|
||||
"abbr": "HK",
|
||||
"mcc": "454",
|
||||
"code": "852"
|
||||
},
|
||||
{
|
||||
"name": "Iceland",
|
||||
"abbr": "IS",
|
||||
"mcc": "274",
|
||||
"code": "354"
|
||||
},
|
||||
{
|
||||
"name": "India",
|
||||
"abbr": "IN",
|
||||
"mcc": "404",
|
||||
"code": "91"
|
||||
},
|
||||
{
|
||||
"name": "Indonesia",
|
||||
"abbr": "ID",
|
||||
"mcc": "510",
|
||||
"code": "62"
|
||||
},
|
||||
{
|
||||
"name": "Iran, Islamic Republic of",
|
||||
"abbr": "IR",
|
||||
"mcc": "432",
|
||||
"code": "98"
|
||||
},
|
||||
{
|
||||
"name": "Iraq",
|
||||
"abbr": "IQ",
|
||||
"mcc": "418",
|
||||
"code": "964"
|
||||
},
|
||||
{
|
||||
"name": "Ireland",
|
||||
"abbr": "IE",
|
||||
"mcc": "272",
|
||||
"code": "353"
|
||||
},
|
||||
{
|
||||
"name": "Israel",
|
||||
"abbr": "IL",
|
||||
"mcc": "425",
|
||||
"code": "972"
|
||||
},
|
||||
{
|
||||
"name": "Italy",
|
||||
"abbr": "IT",
|
||||
"mcc": "222",
|
||||
"code": "39"
|
||||
},
|
||||
{
|
||||
"name": "Jamaica",
|
||||
"abbr": "JM",
|
||||
"mcc": "338",
|
||||
"code": "1876"
|
||||
},
|
||||
{
|
||||
"name": "Japan",
|
||||
"abbr": "JP",
|
||||
"mcc": "440",
|
||||
"code": "81"
|
||||
},
|
||||
{
|
||||
"name": "Jordan",
|
||||
"abbr": "JO",
|
||||
"mcc": "416",
|
||||
"code": "962"
|
||||
},
|
||||
{
|
||||
"name": "Kazakhstan",
|
||||
"abbr": "KZ",
|
||||
"mcc": "401",
|
||||
"code": "327"
|
||||
},
|
||||
{
|
||||
"name": "Kenya",
|
||||
"abbr": "KE",
|
||||
"mcc": "639",
|
||||
"code": "254"
|
||||
},
|
||||
{
|
||||
"name": "Kiribati",
|
||||
"abbr": "KI",
|
||||
"mcc": "545",
|
||||
"code": "686"
|
||||
},
|
||||
{
|
||||
"name": "Korea, Republic of",
|
||||
"abbr": "KR",
|
||||
"mcc": "450",
|
||||
"code": "82"
|
||||
},
|
||||
{
|
||||
"name": "Kuwait",
|
||||
"abbr": "KW",
|
||||
"mcc": "419",
|
||||
"code": "965"
|
||||
},
|
||||
{
|
||||
"name": "Lao People's Democratic Republic",
|
||||
"abbr": "LA",
|
||||
"mcc": "457",
|
||||
"code": "856"
|
||||
},
|
||||
{
|
||||
"name": "Latvia",
|
||||
"abbr": "LV",
|
||||
"mcc": "247",
|
||||
"code": "371"
|
||||
},
|
||||
{
|
||||
"name": "Lebanon",
|
||||
"abbr": "LB",
|
||||
"mcc": "415",
|
||||
"code": "961"
|
||||
},
|
||||
{
|
||||
"name": "Lesotho",
|
||||
"abbr": "LS",
|
||||
"mcc": "651",
|
||||
"code": "266"
|
||||
},
|
||||
{
|
||||
"name": "Liberia",
|
||||
"abbr": "LR",
|
||||
"mcc": "618",
|
||||
"code": "231"
|
||||
},
|
||||
{
|
||||
"name": "Libya",
|
||||
"abbr": "LY",
|
||||
"mcc": "606",
|
||||
"code": "218"
|
||||
},
|
||||
{
|
||||
"name": "Lithuania",
|
||||
"abbr": "LT",
|
||||
"mcc": "246",
|
||||
"code": "370"
|
||||
},
|
||||
{
|
||||
"name": "Luxembourg",
|
||||
"abbr": "LU",
|
||||
"mcc": "270",
|
||||
"code": "352"
|
||||
},
|
||||
{
|
||||
"name": "Macao",
|
||||
"abbr": "MO",
|
||||
"mcc": "455",
|
||||
"code": "853"
|
||||
},
|
||||
{
|
||||
"name": "Madagascar",
|
||||
"abbr": "MG",
|
||||
"mcc": "646",
|
||||
"code": "261"
|
||||
},
|
||||
{
|
||||
"name": "Malawi",
|
||||
"abbr": "MW",
|
||||
"mcc": "650",
|
||||
"code": "265"
|
||||
},
|
||||
{
|
||||
"name": "Malaysia",
|
||||
"abbr": "MY",
|
||||
"mcc": "502",
|
||||
"code": "60"
|
||||
},
|
||||
{
|
||||
"name": "Maldives",
|
||||
"abbr": "MV",
|
||||
"mcc": "472",
|
||||
"code": "960"
|
||||
},
|
||||
{
|
||||
"name": "Mali",
|
||||
"abbr": "ML",
|
||||
"mcc": "610",
|
||||
"code": "223"
|
||||
},
|
||||
{
|
||||
"name": "Malta",
|
||||
"abbr": "MT",
|
||||
"mcc": "278",
|
||||
"code": "356"
|
||||
},
|
||||
{
|
||||
"name": "Mauritius",
|
||||
"abbr": "MU",
|
||||
"mcc": "617",
|
||||
"code": "230"
|
||||
},
|
||||
{
|
||||
"name": "Mexico",
|
||||
"abbr": "MX",
|
||||
"mcc": "334",
|
||||
"code": "52"
|
||||
},
|
||||
{
|
||||
"name": "Moldova, Republic of",
|
||||
"abbr": "MD",
|
||||
"mcc": "259",
|
||||
"code": "373"
|
||||
},
|
||||
{
|
||||
"name": "Monaco",
|
||||
"abbr": "MC",
|
||||
"mcc": "212",
|
||||
"code": "377"
|
||||
},
|
||||
{
|
||||
"name": "Mongolia",
|
||||
"abbr": "MN",
|
||||
"mcc": "428",
|
||||
"code": "976"
|
||||
},
|
||||
{
|
||||
"name": "Morocco",
|
||||
"abbr": "MA",
|
||||
"mcc": "604",
|
||||
"code": "212"
|
||||
},
|
||||
{
|
||||
"name": "Mozambique",
|
||||
"abbr": "MZ",
|
||||
"mcc": "643",
|
||||
"code": "258"
|
||||
},
|
||||
{
|
||||
"name": "Myanmar",
|
||||
"abbr": "MM",
|
||||
"mcc": "414",
|
||||
"code": "95"
|
||||
},
|
||||
{
|
||||
"name": "Namibia",
|
||||
"abbr": "NA",
|
||||
"mcc": "649",
|
||||
"code": "264"
|
||||
},
|
||||
{
|
||||
"name": "Nepal",
|
||||
"abbr": "NP",
|
||||
"mcc": "429",
|
||||
"code": "977"
|
||||
},
|
||||
{
|
||||
"name": "Netherlands",
|
||||
"abbr": "NL",
|
||||
"mcc": "204",
|
||||
"code": "31"
|
||||
},
|
||||
{
|
||||
"name": "New Zealand",
|
||||
"abbr": "NZ",
|
||||
"mcc": "530",
|
||||
"code": "64"
|
||||
},
|
||||
{
|
||||
"name": "Nicaragua",
|
||||
"abbr": "NI",
|
||||
"mcc": "710",
|
||||
"code": "505"
|
||||
},
|
||||
{
|
||||
"name": "Niger",
|
||||
"abbr": "NE",
|
||||
"mcc": "614",
|
||||
"code": "227"
|
||||
},
|
||||
{
|
||||
"name": "Nigeria",
|
||||
"abbr": "NG",
|
||||
"mcc": "621",
|
||||
"code": "234"
|
||||
},
|
||||
{
|
||||
"name": "Norway",
|
||||
"abbr": "NO",
|
||||
"mcc": "242",
|
||||
"code": "47"
|
||||
},
|
||||
{
|
||||
"name": "Oman",
|
||||
"abbr": "OM",
|
||||
"mcc": "422",
|
||||
"code": "968"
|
||||
},
|
||||
{
|
||||
"name": "Pakistan",
|
||||
"abbr": "PK",
|
||||
"mcc": "410",
|
||||
"code": "92"
|
||||
},
|
||||
{
|
||||
"name": "Panama",
|
||||
"abbr": "PA",
|
||||
"mcc": "714",
|
||||
"code": "507"
|
||||
},
|
||||
{
|
||||
"name": "Papua New Guinea",
|
||||
"abbr": "PG",
|
||||
"mcc": "537",
|
||||
"code": "675"
|
||||
},
|
||||
{
|
||||
"name": "Paraguay",
|
||||
"abbr": "PY",
|
||||
"mcc": "744",
|
||||
"code": "595"
|
||||
},
|
||||
{
|
||||
"name": "Peru",
|
||||
"abbr": "PE",
|
||||
"mcc": "716",
|
||||
"code": "51"
|
||||
},
|
||||
{
|
||||
"name": "Philippines",
|
||||
"abbr": "PH",
|
||||
"mcc": "515",
|
||||
"code": "63"
|
||||
},
|
||||
{
|
||||
"name": "Poland",
|
||||
"abbr": "PL",
|
||||
"mcc": "260",
|
||||
"code": "48"
|
||||
},
|
||||
{
|
||||
"name": "Portugal",
|
||||
"abbr": "PT",
|
||||
"mcc": "268",
|
||||
"code": "351"
|
||||
},
|
||||
{
|
||||
"name": "Puerto Rico",
|
||||
"abbr": "PR",
|
||||
"mcc": "330",
|
||||
"code": "1787"
|
||||
},
|
||||
{
|
||||
"name": "Qatar",
|
||||
"abbr": "QA",
|
||||
"mcc": "427",
|
||||
"code": "974"
|
||||
},
|
||||
{
|
||||
"name": "Romania",
|
||||
"abbr": "RO",
|
||||
"mcc": "226",
|
||||
"code": "40"
|
||||
},
|
||||
{
|
||||
"name": "Saint Lucia",
|
||||
"abbr": "LC",
|
||||
"mcc": "358",
|
||||
"code": "1758"
|
||||
},
|
||||
{
|
||||
"name": "San Marino",
|
||||
"abbr": "SM",
|
||||
"mcc": "292",
|
||||
"code": "378"
|
||||
},
|
||||
{
|
||||
"name": "Sao Tome and Principe",
|
||||
"abbr": "ST",
|
||||
"mcc": "626",
|
||||
"code": "239"
|
||||
},
|
||||
{
|
||||
"name": "Saudi Arabia",
|
||||
"abbr": "SA",
|
||||
"mcc": "420",
|
||||
"code": "966"
|
||||
},
|
||||
{
|
||||
"name": "Senegal",
|
||||
"abbr": "SN",
|
||||
"mcc": "608",
|
||||
"code": "221"
|
||||
},
|
||||
{
|
||||
"name": "Seychelles",
|
||||
"abbr": "SC",
|
||||
"mcc": "633",
|
||||
"code": "248"
|
||||
},
|
||||
{
|
||||
"name": "Sierra Leone",
|
||||
"abbr": "SL",
|
||||
"mcc": "619",
|
||||
"code": "232"
|
||||
},
|
||||
{
|
||||
"name": "Singapore",
|
||||
"abbr": "SG",
|
||||
"mcc": "525",
|
||||
"code": "65"
|
||||
},
|
||||
{
|
||||
"name": "Slovakia",
|
||||
"abbr": "SK",
|
||||
"mcc": "231",
|
||||
"code": "421"
|
||||
},
|
||||
{
|
||||
"name": "Slovenia",
|
||||
"abbr": "SI",
|
||||
"mcc": "293",
|
||||
"code": "386"
|
||||
},
|
||||
{
|
||||
"name": "Solomon Islands",
|
||||
"abbr": "SB",
|
||||
"mcc": "540",
|
||||
"code": "677"
|
||||
},
|
||||
{
|
||||
"name": "Somalia",
|
||||
"abbr": "SO",
|
||||
"mcc": "637",
|
||||
"code": "252"
|
||||
},
|
||||
{
|
||||
"name": "South Africa",
|
||||
"abbr": "ZA",
|
||||
"mcc": "655",
|
||||
"code": "27"
|
||||
},
|
||||
{
|
||||
"name": "Spain",
|
||||
"abbr": "ES",
|
||||
"mcc": "214",
|
||||
"code": "34"
|
||||
},
|
||||
{
|
||||
"name": "Sri Lanka",
|
||||
"abbr": "LK",
|
||||
"mcc": "413",
|
||||
"code": "94"
|
||||
},
|
||||
{
|
||||
"name": "Sudan",
|
||||
"abbr": "SD",
|
||||
"mcc": "634",
|
||||
"code": "249"
|
||||
},
|
||||
{
|
||||
"name": "Suriname",
|
||||
"abbr": "SR",
|
||||
"mcc": "746",
|
||||
"code": "597"
|
||||
},
|
||||
{
|
||||
"name": "Swaziland",
|
||||
"abbr": "SZ",
|
||||
"mcc": "653",
|
||||
"code": "268"
|
||||
},
|
||||
{
|
||||
"name": "Sweden",
|
||||
"abbr": "SE",
|
||||
"mcc": "240",
|
||||
"code": "46"
|
||||
},
|
||||
{
|
||||
"name": "Switzerland",
|
||||
"abbr": "CH",
|
||||
"mcc": "228",
|
||||
"code": "41"
|
||||
},
|
||||
{
|
||||
"name": "Syrian Arab Republic",
|
||||
"abbr": "SY",
|
||||
"mcc": "417",
|
||||
"code": "963"
|
||||
},
|
||||
{
|
||||
"name": "Taiwan",
|
||||
"abbr": "TW",
|
||||
"mcc": "466",
|
||||
"code": "886"
|
||||
},
|
||||
{
|
||||
"name": "Vanuatu",
|
||||
"abbr": "VU",
|
||||
"mcc": "541",
|
||||
"code": "678"
|
||||
},
|
||||
{
|
||||
"name": "Virgin Islands, British",
|
||||
"abbr": "VG",
|
||||
"mcc": "348",
|
||||
"code": "1284"
|
||||
}
|
||||
]
|
||||
}
|
@@ -2282,7 +2282,7 @@
|
||||
|
||||
"XPRoomInsidekfjdskfjks" = "努力寻找合适房间中~";
|
||||
|
||||
"XPChooseRreaCodeVC0"="选择区号";
|
||||
"XPChooseRreaCodeVC0"="选择国家或地区";
|
||||
|
||||
"PKIDLoginViewController11" = "短信发送成功";
|
||||
"LoginVerifCodeViewController3" = "验证码";
|
||||
|
@@ -2280,7 +2280,7 @@
|
||||
|
||||
"XPRoomInsidekfjdskfjks" = "努力尋找合適房間中~";
|
||||
|
||||
"XPChooseRreaCodeVC0"="選擇區號";
|
||||
"XPChooseRreaCodeVC0"="選擇國家或地區";
|
||||
|
||||
"PKIDLoginViewController11" = "短信發送成功";
|
||||
"LoginVerifCodeViewController3" = "驗證碼";
|
||||
|