Compare commits
9 Commits
feature/1.
...
feature/1.
Author | SHA1 | Date | |
---|---|---|---|
![]() |
334ba18850 | ||
![]() |
30043ac21f | ||
![]() |
c3e70231c7 | ||
![]() |
5dd97fc7b5 | ||
![]() |
cf82cf776e | ||
![]() |
8dec4148b3 | ||
![]() |
43d07fcc21 | ||
![]() |
5ddca74c84 | ||
![]() |
8665848325 |
@@ -12578,7 +12578,7 @@
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 20.20.20;
|
||||
MARKETING_VERSION = 20.20.21;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.peko.enterprise.ios;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
@@ -12616,7 +12616,7 @@
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 20.20.20;
|
||||
MARKETING_VERSION = 20.20.21;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.peko.enterprise.ios;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
|
22
YuMi/Assets.xcassets/main/tab_gameHome_game_normal.imageset/Contents.json
vendored
Normal file
22
YuMi/Assets.xcassets/main/tab_gameHome_game_normal.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "tab_gameHome_game_normal@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "tab_gameHome_game_normal@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
YuMi/Assets.xcassets/main/tab_gameHome_game_normal.imageset/tab_gameHome_game_normal@2x.png
vendored
Normal file
BIN
YuMi/Assets.xcassets/main/tab_gameHome_game_normal.imageset/tab_gameHome_game_normal@2x.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 956 B |
BIN
YuMi/Assets.xcassets/main/tab_gameHome_game_normal.imageset/tab_gameHome_game_normal@3x.png
vendored
Normal file
BIN
YuMi/Assets.xcassets/main/tab_gameHome_game_normal.imageset/tab_gameHome_game_normal@3x.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.3 KiB |
22
YuMi/Assets.xcassets/main/tab_gameHome_game_selected.imageset/Contents.json
vendored
Normal file
22
YuMi/Assets.xcassets/main/tab_gameHome_game_selected.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "tab_gameHome_game_selected@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "tab_gameHome_game_selected@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
YuMi/Assets.xcassets/main/tab_gameHome_game_selected.imageset/tab_gameHome_game_selected@2x.png
vendored
Normal file
BIN
YuMi/Assets.xcassets/main/tab_gameHome_game_selected.imageset/tab_gameHome_game_selected@2x.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.3 KiB |
BIN
YuMi/Assets.xcassets/main/tab_gameHome_game_selected.imageset/tab_gameHome_game_selected@3x.png
vendored
Normal file
BIN
YuMi/Assets.xcassets/main/tab_gameHome_game_selected.imageset/tab_gameHome_game_selected@3x.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.0 KiB |
@@ -49,7 +49,7 @@ isPhoneXSeries = [[UIApplication sharedApplication] delegate].window.safeAreaIns
|
||||
|
||||
|
||||
///内置版本号
|
||||
#define PI_App_Version @"1.0.6"
|
||||
#define PI_App_Version @"1.0.7"
|
||||
///渠道
|
||||
#define PI_App_Source @"appstore"
|
||||
#define PI_Test_Flight @"TestFlight"
|
||||
|
@@ -30,6 +30,7 @@
|
||||
#import "XPLoginInputView.h"
|
||||
#import "XPLoginAraeViewController.h"
|
||||
#import "XPForgetPwdViewController.h"
|
||||
#import "PISwitchingEnvironmentVC.h"
|
||||
|
||||
UIKIT_EXTERN NSString * const kYouMiNumberCountKey;
|
||||
NSString * const HadAgreePrivacy = @"HadAgreePrivacy";
|
||||
@@ -111,6 +112,11 @@ NSString * const HadAgreePrivacy = @"HadAgreePrivacy";
|
||||
[super viewDidLoad];
|
||||
[self createUI];
|
||||
[self racBind];
|
||||
#ifdef DEBUG
|
||||
[self setSwitchingEnvironmentVC];
|
||||
#else
|
||||
#endif
|
||||
|
||||
self.selectType = 0;
|
||||
NSString *code = [NSString getCountryCode];
|
||||
self.pi_phoneAreaCode = [code stringByReplacingOccurrencesOfString:@"+" withString:@""];
|
||||
@@ -347,7 +353,25 @@ NSString * const HadAgreePrivacy = @"HadAgreePrivacy";
|
||||
}
|
||||
|
||||
}
|
||||
-(void)setSwitchingEnvironmentVC{
|
||||
UIButton *but = [UIButton new];
|
||||
[but setTitle:@"切换环境" forState:UIControlStateNormal];
|
||||
[but setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
|
||||
[self.view addSubview:but];
|
||||
[but addTarget:self action:@selector(switchingEnvironmentVCAction) forControlEvents:UIControlEventTouchUpInside];
|
||||
[but mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.trailing.mas_equalTo(-kGetScaleWidth(30));
|
||||
make.top.mas_equalTo(kStatusBarHeight+20);
|
||||
}];
|
||||
|
||||
}
|
||||
-(void)switchingEnvironmentVCAction{
|
||||
#ifdef DEBUG
|
||||
PISwitchingEnvironmentVC *vc = [PISwitchingEnvironmentVC new];
|
||||
[self.navigationController pushViewController:vc animated:YES];
|
||||
#else
|
||||
#endif
|
||||
}
|
||||
- (void)setConfigPrivacyAlertView {
|
||||
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
|
||||
NSString *isShow = [defaults objectForKey:kYouMiNumberCountKey];
|
||||
|
@@ -238,6 +238,10 @@
|
||||
if (classStr) {
|
||||
if (![self.messageContent isKindOfClass:NSClassFromString(classStr)]) {
|
||||
self.messageContent = [[NSClassFromString(classStr) alloc] init];
|
||||
if([self.messageContent isKindOfClass:[MessageContentCustomView class]]){
|
||||
MessageContentCustomView *messageContent = (MessageContentCustomView *)self.messageContent;
|
||||
messageContent.delegate = self;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
NSAssert(classStr != nil, @"message should not be nil");
|
||||
|
@@ -246,25 +246,30 @@
|
||||
}
|
||||
[XNDJTDDLoadingTool showLoading];
|
||||
[HttpRequestHelper POST:self.messageInfo.url params:params success:^(BaseModel * _Nonnull data) {
|
||||
[XNDJTDDLoadingTool hideHUD];
|
||||
NSString *code = [NSString stringWithFormat:@"%@", data.data[@"code"]];
|
||||
BOOL isExpired = [code isEqualToString:@"90121"];
|
||||
BOOL isHandled = [code isEqualToString:@"90122"];
|
||||
MessageGuildState state = MessageGuildState_Untreated;
|
||||
if (isExpired) {
|
||||
state = MessageGuildState_OutData;
|
||||
} else if(isHandled) {
|
||||
state = MessageGuildState_Processed;
|
||||
} else {
|
||||
state = sender.tag == 1000 ? MessageGuildState_Reject : MessageGuildState_Agree;
|
||||
}
|
||||
self.messageInfo.msgStatus = state;
|
||||
self.message.localExt = [self.messageInfo model2dictionary];
|
||||
[[NIMSDK sharedSDK].conversationManager updateMessage:self.message forSession:self.message.session completion:^(NSError * _Nullable error) {
|
||||
if (self.delegate && [self.delegate respondsToSelector:@selector(updateMessageSuccess:)]) {
|
||||
[self.delegate updateMessageSuccess:self.message];
|
||||
}
|
||||
}];
|
||||
[XNDJTDDLoadingTool hideHUD];
|
||||
if(data.code == 200){
|
||||
NSString *code = [NSString stringWithFormat:@"%@", data.data[@"code"]];
|
||||
BOOL isExpired = [code isEqualToString:@"90121"];
|
||||
BOOL isHandled = [code isEqualToString:@"90122"];
|
||||
MessageGuildState state = MessageGuildState_Untreated;
|
||||
if (isExpired) {
|
||||
state = MessageGuildState_OutData;
|
||||
} else if(isHandled) {
|
||||
state = MessageGuildState_Processed;
|
||||
} else {
|
||||
state = sender.tag == 1000 ? MessageGuildState_Reject : MessageGuildState_Agree;
|
||||
}
|
||||
self.messageInfo.msgStatus = state;
|
||||
self.message.localExt = [self.messageInfo model2dictionary];
|
||||
[[NIMSDK sharedSDK].conversationManager updateMessage:self.message forSession:self.message.session completion:^(NSError * _Nullable error) {
|
||||
if (self.delegate && [self.delegate respondsToSelector:@selector(updateMessageSuccess:)]) {
|
||||
[self.delegate updateMessageSuccess:self.message];
|
||||
}
|
||||
}];
|
||||
return;
|
||||
}
|
||||
|
||||
[XNDJTDDLoadingTool showErrorWithMessage:data.message];
|
||||
} failure:^(NSInteger resCode, NSString * _Nonnull message) {
|
||||
[XNDJTDDLoadingTool hideHUD];
|
||||
[XNDJTDDLoadingTool showErrorWithMessage:message];
|
||||
|
@@ -47,6 +47,8 @@
|
||||
|
||||
- (void)renderWithSession:(NIMRecentSession *)recent {
|
||||
NIMUser *user = [[NIMSDK sharedSDK].userManager userInfo:recent.session.sessionId];
|
||||
self.avatarImageView.image = nil;
|
||||
self.nameLabel.text = @"";
|
||||
if (user.userInfo == nil) {
|
||||
NSString * uid = recent.session.sessionId;
|
||||
if (uid > 0) {
|
||||
@@ -56,7 +58,9 @@
|
||||
NIMUser * userInfo = users.firstObject;
|
||||
self.nameLabel.text = userInfo.userInfo.nickName;
|
||||
NSString *avatarUrl = userInfo.userInfo.avatarUrl;
|
||||
self.avatarImageView.imageUrl = avatarUrl;
|
||||
[self.avatarImageView loadImageWithUrl:avatarUrl completion:^(UIImage * _Nullable image, NSURL * _Nonnull url) {
|
||||
self.avatarImageView.image = image;
|
||||
}];
|
||||
[self.nameLabel sizeToFit];
|
||||
}
|
||||
}];
|
||||
@@ -64,7 +68,9 @@
|
||||
} else {
|
||||
NSString *avatarUrl = user.userInfo.avatarUrl;
|
||||
self.nameLabel.text = user.userInfo.nickName;
|
||||
self.avatarImageView.imageUrl = avatarUrl;
|
||||
[self.avatarImageView loadImageWithUrl:avatarUrl completion:^(UIImage * _Nullable image, NSURL * _Nonnull url) {
|
||||
self.avatarImageView.image = image;
|
||||
}];
|
||||
[self.nameLabel sizeToFit];
|
||||
}
|
||||
NSString *messageTitle = [NIMMessageUtils messageContent:recent.lastMessage];
|
||||
|
@@ -72,7 +72,8 @@
|
||||
self.avatarItem.avatarUrl = userInfo.isReview ? userInfo.reviewingAvatar : userInfo.avatar;
|
||||
|
||||
self.nickItem.subTitle = userInfo.nick;
|
||||
NSString *dateStr = [self.dateFormatter stringFromDate:[NSDate dateWithTimeIntervalSince1970:userInfo.birth/1000]];
|
||||
NSDate *date = [NSDate dateWithTimeIntervalSince1970:userInfo.birth/1000];
|
||||
NSString *dateStr = [self.dateFormatter stringFromDate:date];
|
||||
self.birthItem.subTitle = dateStr;
|
||||
|
||||
self.photoItem.photoArray = userInfo.privatePhoto;
|
||||
@@ -226,7 +227,7 @@
|
||||
if (!_dateFormatter) {
|
||||
_dateFormatter = [[NSDateFormatter alloc] init];
|
||||
_dateFormatter.dateFormat = @"yyyy-MM-dd";
|
||||
|
||||
[_dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"Asia/Shanghai"]];
|
||||
}
|
||||
return _dateFormatter;
|
||||
}
|
||||
|
@@ -242,10 +242,23 @@
|
||||
// if(dateStr.length > 0){
|
||||
// _starIconView.image = kImage(dateStr);
|
||||
// }
|
||||
_birthdayView.text = [NSDate timestampSwitchTime:_userInfo.birth / 1000 andFormatter:@"yyyy-MM-dd"];
|
||||
_birthdayView.text = [self timestampSwitchTime:_userInfo.birth / 1000 andFormatter:@"yyyy-MM-dd"];
|
||||
_areaView.text = _userInfo.region;
|
||||
}
|
||||
-(NSString *)timestampSwitchTime:(NSInteger)timestamp andFormatter:(NSString *)format{
|
||||
|
||||
|
||||
|
||||
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
|
||||
[formatter setDateStyle:NSDateFormatterMediumStyle];
|
||||
[formatter setTimeZone:[NSTimeZone timeZoneWithName:@"Asia/Shanghai"]];
|
||||
[formatter setTimeStyle:NSDateFormatterShortStyle];
|
||||
|
||||
[formatter setDateFormat:format]; // (@"YYYY-MM-dd hh:mm:ss")----------设置你想要的格式,hh与HH的区别:分别表示12小时制,24小时制
|
||||
NSDate *confromTimesp = [NSDate dateWithTimeIntervalSince1970:timestamp];
|
||||
NSString *confromTimespStr = [formatter stringFromDate:confromTimesp];
|
||||
return confromTimespStr;
|
||||
}
|
||||
- (NSString *)calculateConstellationWithMonth:(long)time
|
||||
{
|
||||
NSString *astroString = YMLocalizedString(@"XPMineHeadView0");
|
||||
|
@@ -86,7 +86,7 @@
|
||||
@property (nonatomic, assign) NSInteger roomUid;
|
||||
@property (nonatomic,strong) WalletInfoModel * infoModel;
|
||||
@property(nonatomic,strong) UIButton *rankBtn;
|
||||
@property(nonatomic,assign) BOOL pi_IsNative;
|
||||
|
||||
@end
|
||||
|
||||
@implementation XPNobleCenterViewController
|
||||
@@ -105,7 +105,7 @@
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
self.pi_IsNative = YES;
|
||||
|
||||
[[NIMSDK sharedSDK].systemNotificationManager addDelegate:self];
|
||||
[self requestHttp];
|
||||
[self initSubViews];
|
||||
@@ -209,16 +209,7 @@
|
||||
return;
|
||||
}
|
||||
|
||||
if(self.pi_IsNative == NO){
|
||||
XPWebViewController *vc = [[XPWebViewController alloc]init];
|
||||
NSString *channel = @"p";
|
||||
channel = [NSString stringWithFormat:@"%@a",channel];
|
||||
channel = [NSString stringWithFormat:@"%@y",channel];
|
||||
NSString *url = [NSString stringWithFormat:URLWithType(kChannelUrl),channel,@"5",[YYUtility deviceID]];
|
||||
vc.url = url;
|
||||
[self.navigationController pushViewController:vc animated:YES];
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
[XNDJTDDLoadingTool showOnlyView:kWindow];
|
||||
@@ -266,15 +257,8 @@
|
||||
[self.presenter getNobleChargeProductListWithChannelType:@"9"];
|
||||
[self getWalletInfo];
|
||||
|
||||
@kWeakify(self);
|
||||
[Api requestMineChannel:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
|
||||
@kStrongify(self);
|
||||
if(code == 200){
|
||||
if(data.data[@"isNative"] != nil){
|
||||
self.pi_IsNative = [data.data[@"isNative"] boolValue];
|
||||
}
|
||||
}
|
||||
}];
|
||||
|
||||
|
||||
}
|
||||
-(void)getWalletInfo{
|
||||
NSString * uid = [AccountInfoStorage instance].getUid;
|
||||
|
@@ -90,45 +90,8 @@
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
#ifdef DEBUG
|
||||
[self showLoading];
|
||||
[Api requestMineChannel:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
|
||||
[self hideHUD];
|
||||
if(code == 200){
|
||||
if(data.data[@"isNative"] != nil){
|
||||
BOOL is = [data.data[@"isNative"] boolValue];
|
||||
[self initWebView:is];
|
||||
}
|
||||
} else {
|
||||
[self initWebView:YES];
|
||||
}
|
||||
}];
|
||||
#else
|
||||
if(isEnterprise == YES){
|
||||
[self showLoading];
|
||||
[Api requestMineChannel:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
|
||||
[self hideHUD];
|
||||
if(code == 200){
|
||||
if(data.data[@"isNative"] != nil){
|
||||
BOOL is = [data.data[@"isNative"] boolValue];
|
||||
[self initWebView:is];
|
||||
}
|
||||
return;
|
||||
}
|
||||
[self initWebView:YES];
|
||||
}];
|
||||
return;
|
||||
}else{
|
||||
[self initWebView:NO];
|
||||
}
|
||||
#endif
|
||||
}
|
||||
-(void)initWebView:(BOOL)is{
|
||||
if(is == YES){
|
||||
[self createUI];
|
||||
[self initHttpData];
|
||||
return;
|
||||
}
|
||||
[self createUI];
|
||||
[self initHttpData];
|
||||
}
|
||||
- (void)createUI {
|
||||
self.view.backgroundColor = [UIColor whiteColor];
|
||||
|
@@ -322,6 +322,7 @@
|
||||
if (!_dateFormatter) {
|
||||
_dateFormatter = [[NSDateFormatter alloc] init];
|
||||
_dateFormatter.dateFormat = @"yyyy-MM-dd";
|
||||
[_dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"Asia/Shanghai"]];
|
||||
}
|
||||
return _dateFormatter;
|
||||
}
|
||||
|
@@ -610,14 +610,14 @@
|
||||
}
|
||||
self.charmImageView.hidden = userInfo.userLevelVo.charmUrl.length <= 0;
|
||||
if(userInfo.isCustomWord == YES){
|
||||
if (userInfo.nameplateWord.length>0) {
|
||||
if (userInfo.nameplatePic.length > 0) {
|
||||
self.nameplateImageView.imageUrl = userInfo.nameplatePic;
|
||||
self.namePlateView.hidden = NO;
|
||||
} else {
|
||||
self.namePlateView.hidden = YES;
|
||||
}
|
||||
}else{
|
||||
if (userInfo.nameplateWord.length>0 && userInfo.nameplatePic.length>0) {
|
||||
if (userInfo.nameplateWord.length > 0 && userInfo.nameplatePic.length > 0) {
|
||||
self.nameplateImageView.imageUrl = userInfo.nameplatePic;
|
||||
self.nameplateLabel.text = userInfo.nameplateWord;
|
||||
self.namePlateView.hidden = NO;
|
||||
|
@@ -70,7 +70,8 @@
|
||||
_musicInfo = musicInfo;
|
||||
if (_musicInfo) {
|
||||
self.musicAlbumImageView.image = [UIImage imageWithData:_musicInfo.songAlbum];
|
||||
self.songNameLabel.text = _musicInfo.musicName;
|
||||
NSString *name = _musicInfo.musicName.length == 0 ? _musicInfo.songName : _musicInfo.musicName;
|
||||
self.songNameLabel.text = name;
|
||||
self.authorLabel.text = _musicInfo.author;
|
||||
}
|
||||
}
|
||||
|
@@ -315,7 +315,8 @@ UIKIT_EXTERN NSString * kRoomBackMusicPlayMusicOrderKey;
|
||||
- (void)setCurrentMusic:(Music *)currentMusic {
|
||||
_currentMusic = currentMusic;
|
||||
if (_currentMusic) {
|
||||
self.titleLabel.text = _currentMusic.musicName;
|
||||
NSString *name = _currentMusic.musicName.length == 0 ? _currentMusic.songName : _currentMusic.musicName;
|
||||
self.titleLabel.text = name;
|
||||
} else {
|
||||
self.titleLabel.text = YMLocalizedString(@"XPRoomBackMusicPlayerView3");
|
||||
}
|
||||
|
@@ -286,7 +286,7 @@
|
||||
make.width.mas_equalTo(22);
|
||||
make.height.mas_equalTo(22);
|
||||
}];
|
||||
CGFloat width = isMSEN() ? 65 : 55;
|
||||
CGFloat width = 60;
|
||||
[self.contributeEnterView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.height.mas_equalTo(22);
|
||||
make.width.mas_equalTo(width);
|
||||
|
@@ -49,14 +49,14 @@
|
||||
|
||||
[self.titleLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
|
||||
make.centerY.mas_equalTo(self.bgView);
|
||||
make.leading.mas_equalTo(19);
|
||||
make.leading.mas_equalTo(26);
|
||||
make.trailing.mas_equalTo(-4);
|
||||
}];
|
||||
[self.iconImageView mas_remakeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.mas_equalTo(14);
|
||||
make.height.mas_equalTo(9);
|
||||
make.width.mas_equalTo(18);
|
||||
make.height.mas_equalTo(15);
|
||||
make.centerY.mas_equalTo(self.bgView);
|
||||
make.leading.mas_equalTo(3);
|
||||
make.leading.mas_equalTo(5);
|
||||
}];
|
||||
}
|
||||
|
||||
|
@@ -72,7 +72,7 @@
|
||||
@property (nonatomic,strong) XPFirstRechargeCollectionView *rechargeView;
|
||||
@property (nonatomic,strong) FirstRechargeModel *currentInfo;
|
||||
@property (nonatomic,copy) NSString *orderId;
|
||||
@property(nonatomic,assign) BOOL pi_IsNative;
|
||||
|
||||
@end
|
||||
@implementation XPFirstRechargeView
|
||||
|
||||
@@ -115,14 +115,7 @@
|
||||
} channelType:@"3"];
|
||||
[self checkTranscationIds];
|
||||
|
||||
[Api requestMineChannel:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
|
||||
@kStrongify(self);
|
||||
if(code == 200){
|
||||
if(data.data[@"isNative"] != nil){
|
||||
self.pi_IsNative = [data.data[@"isNative"] boolValue];
|
||||
}
|
||||
}
|
||||
}];
|
||||
|
||||
}
|
||||
#pragma mark - Private Method
|
||||
- (void)initSubViews {
|
||||
@@ -494,13 +487,7 @@
|
||||
|
||||
- (void)rechargeButtonAction {
|
||||
|
||||
if(self.pi_IsNative == NO){
|
||||
if(self.delegate && [self.delegate respondsToSelector:@selector(rechargeHandle)]){
|
||||
[self.delegate rechargeHandle];
|
||||
}
|
||||
[self backAction];
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (self.currentInfo == nil|| self.currentInfo.chargeProdId == nil) {
|
||||
return;
|
||||
|
@@ -11,6 +11,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface MSRoomOnLineAvatarView : UIView
|
||||
@property(nonatomic,strong) XPMessageRemoteExtModel *model;
|
||||
@property(nonatomic,assign) BOOL isHiddenSubView;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -24,6 +24,11 @@
|
||||
[self addSubview:self.avatarView];
|
||||
[self addSubview:self.borderView];
|
||||
}
|
||||
- (void)setIsHiddenSubView:(BOOL)isHiddenSubView{
|
||||
_isHiddenSubView = isHiddenSubView;
|
||||
_borderView.hidden = _isHiddenSubView;
|
||||
_avatarView.hidden = _isHiddenSubView;
|
||||
}
|
||||
-(void)installConstraints{
|
||||
[self.avatarView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.equalTo(self);
|
||||
|
@@ -17,6 +17,7 @@
|
||||
@property(nonatomic,strong) UILabel *countView;
|
||||
///头像背景
|
||||
@property(nonatomic,strong) UIScrollView *onlineStackView;
|
||||
@property(nonatomic,strong) UIStackView *stackView;
|
||||
@end
|
||||
@implementation MSRoomOnLineView
|
||||
|
||||
@@ -36,7 +37,7 @@
|
||||
[self.countBgView addSubview:self.countIconView];
|
||||
[self.countBgView addSubview:self.countView];
|
||||
|
||||
|
||||
[self.onlineStackView addSubview:self.stackView];
|
||||
}
|
||||
-(void)installConstraints{
|
||||
|
||||
@@ -61,20 +62,23 @@
|
||||
make.top.leading.equalTo(self);
|
||||
|
||||
}];
|
||||
[self.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.equalTo(self.onlineStackView);
|
||||
}];
|
||||
for (int i = 0; i < 3; i++) {
|
||||
MSRoomOnLineAvatarView *avatarView = [[MSRoomOnLineAvatarView alloc]initWithFrame:CGRectZero];
|
||||
avatarView.tag = 100 + i;
|
||||
[self.onlineStackView addSubview:avatarView];
|
||||
avatarView.hidden = YES;
|
||||
CGFloat x = i * (24 + 5);
|
||||
[self.stackView addArrangedSubview:avatarView];
|
||||
avatarView.isHiddenSubView = YES;
|
||||
[avatarView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.leading.mas_equalTo(x);
|
||||
make.top.mas_equalTo(kGetScaleWidth(0));
|
||||
make.width.height.mas_equalTo(24);
|
||||
}];
|
||||
|
||||
|
||||
}
|
||||
if (isMSRTL()) {
|
||||
self.onlineStackView.transform = CGAffineTransformMakeRotation(M_PI);
|
||||
self.stackView.transform = CGAffineTransformMakeRotation(M_PI);
|
||||
}
|
||||
|
||||
}
|
||||
- (void)setCount:(NSString *)count{
|
||||
_count = count;
|
||||
@@ -83,14 +87,39 @@
|
||||
- (void)setAvatarList:(NSArray *)avatarList{
|
||||
_avatarList = avatarList;
|
||||
if(_avatarList.count == 0)return;
|
||||
for (int i = 0; i < 3; i++) {
|
||||
MSRoomOnLineAvatarView *imageView = [self.onlineStackView viewWithTag:100 + 2-i];
|
||||
if(i < _avatarList.count){
|
||||
XPMessageRemoteExtModel *model = _avatarList[i];
|
||||
imageView.model = model;
|
||||
}
|
||||
imageView.hidden = !(i < _avatarList.count);
|
||||
MSRoomOnLineAvatarView *imageView1 = [self.stackView viewWithTag:100];
|
||||
MSRoomOnLineAvatarView *imageView2 = [self.stackView viewWithTag:101];
|
||||
MSRoomOnLineAvatarView *imageView3 = [self.stackView viewWithTag:102];
|
||||
imageView1.isHiddenSubView = YES;
|
||||
imageView2.isHiddenSubView = YES;
|
||||
imageView3.isHiddenSubView = YES;
|
||||
if(_avatarList.count == 1){
|
||||
imageView3.isHiddenSubView = NO;
|
||||
XPMessageRemoteExtModel *model3 = _avatarList[0];
|
||||
imageView3.model = model3;
|
||||
}else if(_avatarList.count == 2){
|
||||
imageView2.isHiddenSubView = NO;
|
||||
XPMessageRemoteExtModel *model2 = _avatarList[0];
|
||||
imageView2.model = model2;
|
||||
|
||||
imageView3.isHiddenSubView = NO;
|
||||
XPMessageRemoteExtModel *model3 = _avatarList[1];
|
||||
imageView3.model = model3;
|
||||
}else{
|
||||
imageView1.isHiddenSubView = NO;
|
||||
XPMessageRemoteExtModel *model1 = _avatarList[0];
|
||||
imageView1.model = model1;
|
||||
|
||||
imageView2.isHiddenSubView = NO;
|
||||
XPMessageRemoteExtModel *model2 = _avatarList[1];
|
||||
imageView2.model = model2;
|
||||
|
||||
imageView3.isHiddenSubView = NO;
|
||||
XPMessageRemoteExtModel *model3 = _avatarList[2];
|
||||
imageView3.model = model3;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
#pragma mark - 懒加载
|
||||
- (UIView *)countBgView{
|
||||
@@ -124,4 +153,14 @@
|
||||
}
|
||||
return _onlineStackView;
|
||||
}
|
||||
- (UIStackView *)stackView {
|
||||
if (!_stackView) {
|
||||
_stackView = [[UIStackView alloc] init];
|
||||
_stackView.axis = UILayoutConstraintAxisHorizontal;
|
||||
_stackView.distribution = UIStackViewDistributionFill;
|
||||
_stackView.alignment = UIStackViewAlignmentCenter;
|
||||
_stackView.spacing = 5;
|
||||
}
|
||||
return _stackView;
|
||||
}
|
||||
@end
|
||||
|
@@ -49,9 +49,8 @@
|
||||
}
|
||||
-(void)setPlayList:(NSMutableArray<ActivityInfoModel *> *)playList{
|
||||
_playList = playList;
|
||||
if(_playList.count < 6 || _playList.count == 0){
|
||||
if(_playList.count < 6 && _playList.count > 0){
|
||||
[self.ms_bgView mas_updateConstraints:^(MASConstraintMaker *make) {
|
||||
|
||||
make.height.mas_equalTo(kGetScaleWidth(130));
|
||||
|
||||
}];
|
||||
|
@@ -94,7 +94,7 @@
|
||||
switch (type) {
|
||||
case XPRoomMenuItemType_Input:
|
||||
{
|
||||
if (self.delegate.getRoomInfo.isCloseScreen) {
|
||||
if (self.delegate.getRoomInfo.isCloseScreen && self.delegate.getPublicScreenType == 0) {
|
||||
[XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"XPRoomMenuContainerView0")];
|
||||
return;
|
||||
}
|
||||
@@ -116,8 +116,6 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
self.micButton.selected = [RtcManager instance].isLocalMuted;
|
||||
}
|
||||
break;
|
||||
|
@@ -213,14 +213,14 @@
|
||||
};
|
||||
}
|
||||
-(void)addRoomMessage:(NIMMessage *)msg{
|
||||
if (self.hostDelegate.getRoomInfo.isCloseScreen) {return;}
|
||||
|
||||
[self.datasource addObject:[self.messageParser parseMessageAttributeForChatHall:msg]];
|
||||
[self.messageTableView reloadData];
|
||||
[self scrollToBottom:YES];
|
||||
}
|
||||
- (void)addCustomMessage:(NSNotification *)notification {
|
||||
self.isMiniEnter = NO;
|
||||
if (self.hostDelegate.getRoomInfo.isCloseScreen) {return;}
|
||||
|
||||
NIMMessage * message = notification.object;
|
||||
[self addRoomMessage:message];
|
||||
}
|
||||
@@ -240,7 +240,7 @@
|
||||
}
|
||||
- (void)handleNIMImageMessage:(NIMMessage *)message {
|
||||
self.isMiniEnter = NO;
|
||||
if (self.hostDelegate.getRoomInfo.isCloseScreen) {return;}
|
||||
|
||||
PIRoomPhotoAlbumItemModel*model = [PIRoomPhotoAlbumItemModel new];
|
||||
model.type = @"1";
|
||||
model.status = 1;
|
||||
@@ -265,19 +265,7 @@
|
||||
RoomInfoModel * roomInfo = self.hostDelegate.getRoomInfo;
|
||||
if (content.eventType == NIMChatroomEventTypeEnter) {
|
||||
|
||||
if (roomInfo.isCloseScreen) {
|
||||
self.isLoadHistoryMessage = NO;
|
||||
AttachmentModel *attachement = [[AttachmentModel alloc]init];
|
||||
attachement.first = CustomMessageType_Update_RoomInfo;
|
||||
attachement.second = Custom_Message_Sub_Update_RoomInfo_MessageState;
|
||||
attachement.data = @{@"roomInfo":self.hostDelegate.getRoomInfo.model2dictionary};
|
||||
NIMMessage *message = [[NIMMessage alloc]init];
|
||||
NIMCustomObject *object = [[NIMCustomObject alloc] init];
|
||||
object.attachment = attachement;
|
||||
message.messageObject = object;
|
||||
[self addRoomMessage:message];
|
||||
return;
|
||||
} else {
|
||||
|
||||
NIMChatroomNotificationMember *member = content.targets[0];
|
||||
if (member.userId.integerValue == [AccountInfoStorage instance].getUid.integerValue) {
|
||||
///自己进房成功后拉取历史消息
|
||||
@@ -290,7 +278,7 @@
|
||||
} else {
|
||||
self.isLoadHistoryMessage = NO;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -400,7 +388,7 @@
|
||||
}
|
||||
- (void)handleNIMTextMessage:(NIMMessage *)message {
|
||||
self.isMiniEnter = NO;
|
||||
if (self.hostDelegate.getRoomInfo.isCloseScreen) {return;}
|
||||
|
||||
[self addRoomMessage:message];
|
||||
}
|
||||
|
||||
|
@@ -45,7 +45,7 @@
|
||||
-(void)installConstraints{
|
||||
[self.titleView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.leading.mas_equalTo(kGetScaleWidth(0));
|
||||
make.width.mas_equalTo(isMSZH() ? 150 : 200);
|
||||
make.width.mas_equalTo(150);
|
||||
make.height.mas_equalTo(kGetScaleWidth(30));
|
||||
|
||||
}];
|
||||
@@ -147,7 +147,7 @@
|
||||
_titleView.defaultSelectedIndex = 0;
|
||||
_titleView.cellSpacing = 20;
|
||||
_titleView.cellWidthIncrement = 5;
|
||||
_titleView.cellWidth = 40;
|
||||
_titleView.cellWidth = 30;
|
||||
_titleView.listContainer = self.pi_containerView;
|
||||
|
||||
JXCategoryIndicatorImageView *lineView = [[JXCategoryIndicatorImageView alloc] init];
|
||||
@@ -163,7 +163,7 @@
|
||||
|
||||
- (NSArray<NSString *> *)titles{
|
||||
if(!_titles){
|
||||
_titles = @[YMLocalizedString(@"XPMineMainGuildListVC1"),YMLocalizedString(@"MSSessionPublicChatHallVC0")];
|
||||
_titles = @[YMLocalizedString(@"XPMineMainGuildListVC1"),YMLocalizedString(@"MSSessionPublicChatHallVC2")];
|
||||
}
|
||||
return _titles;
|
||||
}
|
||||
|
@@ -141,7 +141,7 @@
|
||||
if (_roomType == RoomType_MiniGame) {
|
||||
_bubbleImageView.image = [UIImage imageWithColor:[UIColor colorWithWhite:1 alpha:0.2]];
|
||||
} else {
|
||||
_bubbleImageView.image = [UIImage imageWithColor:[UIColor colorWithWhite:1 alpha:0.3]];
|
||||
_bubbleImageView.image = [UIImage imageWithColor:[DJDKMIMOMColor messageBubbleColor]];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -152,7 +152,6 @@
|
||||
_bubbleImageView.userInteractionEnabled = YES;
|
||||
_bubbleImageView.layer.masksToBounds = YES;
|
||||
_bubbleImageView.layer.cornerRadius = 7;
|
||||
_bubbleImageView.userInteractionEnabled = YES;
|
||||
}
|
||||
return _bubbleImageView;
|
||||
}
|
||||
|
@@ -58,6 +58,8 @@
|
||||
NetImageConfig *config = [[NetImageConfig alloc]init];
|
||||
config.placeHolder = [UIImageConstant defaultEmptyAvatarPlaceholder];
|
||||
_backdropView = [[NetImageView alloc]initWithConfig:config];
|
||||
_backdropView.layer.cornerRadius = kGetScaleWidth(5);
|
||||
_backdropView.layer.masksToBounds = YES;
|
||||
}
|
||||
return _backdropView;
|
||||
}
|
||||
|
@@ -104,7 +104,7 @@
|
||||
#pragma mark - 懒加载
|
||||
- (NSArray *)imageList{
|
||||
if(!_imageList){
|
||||
_imageList = @[@"https://image.molistar.xyz/BG.webp",@"https://image.molistar.xyz/BG2.webp",@"https://image.molistar.xyz/BG3.webp",@"https://image.molistar.xyz/BG4.webp",@"https://image.molistar.xyz/BG5.webp",@"https://image.molistar.xyz/BG6.webp"];
|
||||
_imageList = @[@"https://image.molistar.xyz/BG_0.webp",@"https://image.molistar.xyz/BG_1.webp",@"https://image.molistar.xyz/BG_2.webp",@"https://image.molistar.xyz/BG_3.webp",@"https://image.molistar.xyz/BG_4.webp",@"https://image.molistar.xyz/BG_5.webp"];
|
||||
}
|
||||
return _imageList;
|
||||
}
|
||||
|
@@ -40,6 +40,7 @@
|
||||
- (instancetype)initWithFrame:(CGRect)frame {
|
||||
self = [super initWithFrame:frame];
|
||||
if (self) {
|
||||
[self addNotification];
|
||||
[self initSubViews];
|
||||
[self initSubViewConstraints];
|
||||
}
|
||||
@@ -61,7 +62,7 @@
|
||||
[self addSubview:self.failLabel];
|
||||
[self addSubview:self.stackView];
|
||||
[self.stackView addArrangedSubview:self.cancelButton];
|
||||
[self.stackView addArrangedSubview:self.confirmButton];
|
||||
[self.stackView addArrangedSubview:self.confirmButton];
|
||||
}
|
||||
|
||||
- (void)initSubViewConstraints {
|
||||
@@ -100,6 +101,7 @@
|
||||
|
||||
#pragma mark - Event Response
|
||||
- (void)cancelButtonAction:(UIButton *)sender {
|
||||
[self resignFirstResponder];
|
||||
[TTPopup dismiss];
|
||||
if (self.delegate && [self.delegate respondsToSelector:@selector(didClickCancel:)]) {
|
||||
[self.delegate didClickCancel:self.type];
|
||||
@@ -195,6 +197,8 @@
|
||||
NSAttributedString * attribute = [[NSAttributedString alloc] initWithString:_placeHolder attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:17],NSForegroundColorAttributeName: [DJDKMIMOMColor secondTextColor]}];
|
||||
self.contentTextField.attributedText = attribute;
|
||||
}
|
||||
[self updateCount:placeHolder.length];
|
||||
[self.contentTextField becomeFirstResponder];
|
||||
}
|
||||
|
||||
- (void)setIsPwdError:(BOOL)isPwdError {
|
||||
|
@@ -234,7 +234,7 @@ XPRoomSettingItemModel * itemModel = [[self.datasource safeObjectAtIndex1:indexP
|
||||
case RoomSettingItemType_Title:
|
||||
{
|
||||
XPRoomSettingInputView * titleView = [[XPRoomSettingInputView alloc] init];
|
||||
titleView.maxCount = 15;
|
||||
titleView.maxCount = 25;
|
||||
titleView.delegate = self;
|
||||
titleView.type = RoomSettingInputType_Title;
|
||||
titleView.placeHolder = self.roomInfo.title;
|
||||
|
@@ -65,12 +65,12 @@
|
||||
}
|
||||
///默认的文字的颜色
|
||||
+ (UIColor *)messageDefaultTextColor {
|
||||
return [UIColor colorWithWhite:1 alpha:0.5];
|
||||
return [UIColor colorWithWhite:1 alpha:1];
|
||||
}
|
||||
|
||||
///获取公屏提示 颜色 #FFFFFE 0.5
|
||||
+ (UIColor *)messageViewTipColor{
|
||||
return UIColorRGBAlpha(0xfffffe, 0.5);
|
||||
return UIColorRGBAlpha(0xfffffe, 1);
|
||||
}
|
||||
|
||||
// ------公屏相关颜色 END------ /
|
||||
|
@@ -1629,6 +1629,7 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出
|
||||
self.roomInfo.isCloseScreen = roomInfo.isCloseScreen;
|
||||
|
||||
[self.menuContainerView onRoomUpdate];
|
||||
|
||||
}else if(attachment.first == CustomMessageType_Update_RoomInfo && attachment.second == Custom_Message_Sub_Update_RoomInfo_AnimateEffect){
|
||||
NSDictionary * dic= attachment.data[@"roomInfo"];
|
||||
if (dic.allKeys.count <=0) {
|
||||
@@ -1636,6 +1637,7 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出
|
||||
}
|
||||
RoomInfoModel * roomInfo = [RoomInfoModel modelWithDictionary:dic];
|
||||
self.roomInfo.hasAnimationEffect = roomInfo.hasAnimationEffect;
|
||||
[self.roomHeaderView onRoomUpdate];
|
||||
}
|
||||
else if(attachment.first == CustomMessageType_Queue && attachment.second == Custom_Message_Sub_Queue_Invite) {
|
||||
NSDictionary *dic = attachment.data;
|
||||
@@ -1840,6 +1842,7 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出
|
||||
RoomInfoModel * roomInfo = [RoomInfoModel modelWithDictionary:dic];
|
||||
self.roomInfo.hasAnimationEffect = roomInfo.hasAnimationEffect;
|
||||
}
|
||||
[self.roomHeaderView onRoomUpdate];
|
||||
[self.messageContainerView handleNIMCustomMessage:message];
|
||||
}
|
||||
}else if(message.messageType == NIMMessageTypeText) {
|
||||
@@ -2223,15 +2226,7 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出
|
||||
#pragma mark - XPFirstRechargeViewDelegate
|
||||
-(void)rechargeHandle{
|
||||
|
||||
XPWebViewController * vc =[[XPWebViewController alloc] initWithCustomizeNav:YES];
|
||||
NSString *channel = @"p";
|
||||
channel = [NSString stringWithFormat:@"%@a",channel];
|
||||
channel = [NSString stringWithFormat:@"%@y",channel];
|
||||
NSString *url = [NSString stringWithFormat:URLWithType(kChannelUrl),channel,@"6",[YYUtility deviceID]];
|
||||
vc.url = url;
|
||||
vc.isPush = YES;
|
||||
vc.modalPresentationStyle = UIModalPresentationFullScreen;
|
||||
[self presentViewController:vc animated:YES completion:nil];
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
@@ -39,11 +39,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
///下载资料
|
||||
- (void)downloadAnimationFileName:(NSString *)fileName localPath:(NSString *)localPath completion:(void (^) (BOOL isSuccess, NSString *editAudioPath))completion;
|
||||
|
||||
///下载礼物特效
|
||||
+(void)downloadGiftDynamicEffectWithList:(NSSet *)list completion:(void (^) (BOOL isSuccess, NSMutableArray *editAudioPath))completion;
|
||||
|
||||
|
||||
// 批量下载
|
||||
///下载并缓存礼物特效
|
||||
- (void)startBatchDownloadWithURLs:(NSArray<NSString *> *)URLs;
|
||||
- (void)pauseBatchDownload;
|
||||
- (void)resumeBatchDownload;
|
||||
|
@@ -3794,8 +3794,9 @@ ineHeadView12" = "الحمل";
|
||||
|
||||
//MSRoomGameWebVC
|
||||
"MSRoomGameWebVC0"="هل أنت متأكد أنك تريد الخروج من اللعبة؟";
|
||||
"MSSessionPublicChatHallVC0"="غرفة الدردشة العامة";
|
||||
"MSSessionPublicChatHallVC0"="دردشة عامة";
|
||||
"MSSessionPublicChatHallVC1"="~اريد تصدر العناوين";
|
||||
"MSSessionPublicChatHallVC2"="دردشة عامة";
|
||||
"MSSessionReleaseHeadlinesView0"="(الرجاء إدخال المحتوي الذي تريد أن تتصدر عناوينهّ~ )يقتصر على 100 كلمة";
|
||||
"MSSessionReleaseHeadlinesView1"=" تصدر العناوين%@";
|
||||
"MSSessionContextHeadlinesView0"="~عزيزي%@، هيا تصدر العناوين ";
|
||||
|
@@ -3598,6 +3598,7 @@
|
||||
///MSSessionPublicChatHallVC
|
||||
"MSSessionPublicChatHallVC0"="Chating";
|
||||
"MSSessionPublicChatHallVC1"="I want headlines~";
|
||||
"MSSessionPublicChatHallVC2"="Chating";
|
||||
///MSSessionReleaseHeadlinesView
|
||||
"MSSessionReleaseHeadlinesView0"="Enter your headline content~ (100 characters max)";
|
||||
"MSSessionReleaseHeadlinesView1"=" %@ makes headlines";
|
||||
|
@@ -3254,6 +3254,7 @@
|
||||
///MSSessionPublicChatHallVC
|
||||
"MSSessionPublicChatHallVC0"="公聊厅";
|
||||
"MSSessionPublicChatHallVC1"="我要上头条~";
|
||||
"MSSessionPublicChatHallVC2"="公聊";
|
||||
///MSSessionReleaseHeadlinesView
|
||||
"MSSessionReleaseHeadlinesView0"="请输入想上头条的内容~(仅限100字)";
|
||||
"MSSessionReleaseHeadlinesView1"=" %@上头条";
|
||||
|
@@ -3248,6 +3248,7 @@
|
||||
///MSSessionPublicChatHallVC
|
||||
"MSSessionPublicChatHallVC0"="公聊廳";
|
||||
"MSSessionPublicChatHallVC1"="我要上頭條~";
|
||||
"MSSessionPublicChatHallVC2"="公聊";
|
||||
///MSSessionReleaseHeadlinesView
|
||||
"MSSessionReleaseHeadlinesView0"="請輸入想上頭條的內容~(僅限100字)";
|
||||
"MSSessionReleaseHeadlinesView1"=" %@上頭條";
|
||||
|
Reference in New Issue
Block a user