优化 mic 位头像逻辑

调整错误的代码单词
This commit is contained in:
eggmanQQQ
2024-07-19 14:59:36 +08:00
parent f717711852
commit 614d431b2c
23 changed files with 61 additions and 83 deletions

View File

@@ -35,6 +35,8 @@ typedef NS_ENUM(NSInteger, NetImageState){
- (void)loadImage:(LoadCompletion _Nullable)completion;
- (void)loadImageWithUrl:(NSString * _Nonnull)imageUrl completion:(LoadCompletion _Nullable)completion;
- (void)loadImageWithUrl:(NSString * _Nonnull)imageUrl completion:(LoadCompletion)completion fail:(LoadFail)fail;
- (void)updateConfigPlaceHolder:(UIImage *)image;
@end
NS_ASSUME_NONNULL_END

View File

@@ -100,7 +100,10 @@
- (void)loadImage:(LoadCompletion)completion {
self.state = NetImageStateLoading;
@kWeakify(self);
[self sd_setImageWithURL:[NSURL URLWithString:_innerConfigUrl] placeholderImage:self.config.placeHolder options:SDWebImageRetryFailed completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
[self sd_setImageWithURL:[NSURL URLWithString:_innerConfigUrl]
placeholderImage:self.config.placeHolder
options:SDWebImageRetryFailed
completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
@kStrongify(self);
if (error) {
self.state = NetImageStateUnload;
@@ -145,4 +148,8 @@
return _config;
}
- (void)updateConfigPlaceHolder:(UIImage *)image {
self.config.placeHolder = image;
}
@end

View File

@@ -32,7 +32,7 @@ NSString * const kImageTypeMonentsPhoto = @"imageMogr2/auto-orient/thumbnail/400
///
+ (UIImage *)defaultEmptyAvatarPlaceholder {
return [UIImage imageNamed:@"common_empty_avatar"];
return [UIImage imageNamed:@"common_avatar"];
}
///

View File

@@ -279,7 +279,7 @@
self.headWearImageView.hidden = YES;
self.headWearSVGAImageView.hidden = YES;
} else {
if (userInfo.headwearType == 1) {
if ([userInfo isHeadWearSVGA]) {
self.headWearSVGAImageView.hidden = NO;
[self.headWearSVGAImageView setImageName:headurl];
} else {

View File

@@ -694,7 +694,7 @@
extModel.fromSayHelloChannel = userInfo.fromSayHelloChannel;
extModel.avatar = userInfo.avatar;
extModel.nick = userInfo.nick;
extModel.headWearType = userInfo.headwearType;
extModel.headWearType = [userInfo isHeadWearSVGA] ? 1 : 0;
NSString *headwearUrl= userInfo.headwearEffect.length > 0 ? userInfo.headwearEffect : userInfo.headwearPic;
extModel.headWearUrl = headwearUrl;
NSMutableDictionary *remoteExt = [NSMutableDictionary dictionaryWithObject:extModel.model2dictionary forKey:[AccountInfoStorage instance].getUid];

View File

@@ -773,7 +773,7 @@ return view;\
self.headWearImageView.hidden = YES;
self.headWearSvgaImageView.hidden = YES;
} else {
if (self.userInfo.headwearType == 1) {
if ([self.userInfo isHeadWearSVGA]) {
[self playSVGA:headerUrl];
} else {
[self playAnimate:headerUrl];

View File

@@ -277,7 +277,7 @@
redModel.sendUserNick = data.data[@"nick"];
redModel.sendUserAvatar = data.data[@"avatar"];
redModel.redEnvelopePosition = data.data[@"position"];
[[self getView]getRedPacketInftSuccess:redModel];
[[self getView]getRedPacketInfoSuccess:redModel];
}] redEnvelopeId:redEnvelopeId];
}
-(void)getRoomFirstCharegWindow:(NSString *)roomUid{

View File

@@ -30,7 +30,7 @@ NS_ASSUME_NONNULL_BEGIN
///获取红包成功
- (void)getRedPacketSuccess:(NSArray *)list;
///获取红包成功
- (void)getRedPacketInftSuccess:(XPRedPacketModel *)redInfo;
- (void)getRedPacketInfoSuccess:(XPRedPacketModel *)redInfo;
///获取首充弹窗
-(void)getRoomFirstChargeWindowSuccess:(FirstChargeRoomWindowModel*)model;
///屏蔽

View File

@@ -33,7 +33,7 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic,assign) NSInteger uid;
@property (nonatomic,copy) NSString *roomUid;
@property (nonatomic,copy) NSString *goldPrice;
@property (nonatomic,assign) BOOL isInRoomVisiable;
@property (nonatomic,assign) BOOL isInRoomVisable;
@property(nonatomic,assign) GiftBannerType type;
@property (nonatomic,copy) NSDictionary *data;

View File

@@ -462,7 +462,7 @@
moveAnimation.duration = 0.5;
moveAnimation.repeatCount = 1;
moveAnimation.removedOnCompletion = YES;
// @kWeakify(self);
[moveAnimation setCompletionBlock:^(POPAnimation *anim, BOOL finished) {
@kStrongify(self);
if (finished) {
@@ -540,12 +540,6 @@
if(self.animationListB.count > 0){
[self.animationListB removeObjectAtIndex:0];
}
// if(self. isAnimationListAFinish == YES){
//
// [self playAnimationWithModel];
// self.isAnimationListAFinish = NO;
// return;
// }
[self playAnimationWithModel];
}
}];
@@ -609,12 +603,6 @@
if (self.animationListB.count > 0) {
[self.animationListB removeObjectAtIndex:0];
}
// if(self. isAnimationListAFinish == YES){
//
// [self playAnimationWithModel];
// self.isAnimationListAFinish = NO;
// return;
// }
[self playAnimationWithModel];
}
}];
@@ -1717,7 +1705,7 @@
PIBaseAnimationViewModel * prizeModel = [PIBaseAnimationViewModel modelWithDictionary:attachment.data];
prizeModel.type = GiftBannerType_Lucky;
prizeModel.isInRoomVisiable = attachment.second == Custom_Message_Sub_Room_Gift_LuckBag;
prizeModel.isInRoomVisable = attachment.second == Custom_Message_Sub_Room_Gift_LuckBag;
if(self.animationListB.count == 0 && self.isPlayOfB == NO){
[self createBigPrizeAnimation:prizeModel];
@@ -1814,7 +1802,9 @@
}
return;
}
if(self.isPlayOfB == YES)return;
PIBaseAnimationViewModel *model = self.animationListB.firstObject;
if(model.type == GiftBannerType_Lucky){
[self createBigPrizeAnimation:model];
@@ -1854,7 +1844,7 @@
[kWindow addSubview:broadcastView];
return;
}
if (!giftInfo.isInRoomVisiable && giftInfo.roomUid.length > 0 && giftInfo.roomUid.integerValue != self.delegate.getRoomInfo.uid) {
if (!giftInfo.isInRoomVisable && giftInfo.roomUid.length > 0 && giftInfo.roomUid.integerValue != self.delegate.getRoomInfo.uid) {
[self.delegate exitRoom];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[XPRoomViewController openRoom:giftInfo.roomUid viewController:[XCCurrentVCStackManager shareManager].getCurrentVC];
@@ -1868,13 +1858,13 @@
if ([self isInSudGame]) {return;}
if(receiveInfo.isHomeShow == YES)return;
///CPU
RoomInfoModel * roomInfor = [self.delegate getRoomInfo];
RoomInfoModel * roomInfo = [self.delegate getRoomInfo];
if (receiveInfo.isLuckyBagGift) {
if (receiveInfo.isShowAnimation) {
// SVGA
if (receiveInfo.displayGift.count > 0) {
[receiveInfo.displayGift enumerateObjectsUsingBlock:^(GiftInfoModel * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
if ((obj.otherViewType == GiftOtherViewTypeMp4 || obj.otherViewType == GiftOtherViewTypePag) && obj.viewUrl && obj.viewUrl.length > 0 && roomInfor.hasAnimationEffect) {
if ((obj.otherViewType == GiftOtherViewTypeMp4 || obj.otherViewType == GiftOtherViewTypePag) && obj.viewUrl && obj.viewUrl.length > 0 && roomInfo.hasAnimationEffect) {
GiftReceiveInfoModel * model = [[GiftReceiveInfoModel alloc] init];
model.viewUrl = obj.viewUrl;
model.avatar = receiveInfo.sendUserAvatar;
@@ -1886,9 +1876,7 @@
model.targetAvatar = receiveInfo.targetAvatar;
model.targetNick = receiveInfo.targetNick;
[self.svgaQueue addObject:model];
// [self.animationListA addObject:model];
} else if (obj.hasVggPic && roomInfor.hasAnimationEffect) {
} else if (obj.hasVggPic && roomInfo.hasAnimationEffect) {
GiftReceiveInfoModel * model = [[GiftReceiveInfoModel alloc] init];
model.viewUrl = obj.viewUrl;
model.avatar = receiveInfo.sendUserAvatar;
@@ -1900,8 +1888,6 @@
model.targetAvatar = receiveInfo.targetAvatar;
model.targetNick = receiveInfo.targetNick;
[self.svgaQueue addObject:model];
// [self.animationListA addObject:model];
}
}];
}
@@ -1926,11 +1912,11 @@
giftTotal = receiveInfo.giftNum * giftInfo.goldPrice;
}
if ((giftInfo.otherViewType == GiftOtherViewTypeMp4 || giftInfo.otherViewType == GiftOtherViewTypePag) && giftInfo.viewUrl.length > 0 && roomInfor.hasAnimationEffect) {
if ((giftInfo.otherViewType == GiftOtherViewTypeMp4 || giftInfo.otherViewType == GiftOtherViewTypePag) && giftInfo.viewUrl.length > 0 && roomInfo.hasAnimationEffect) {
receiveInfo.viewUrl = giftInfo.viewUrl;
// [self.animationListA addObject:receiveInfo];
[self.svgaQueue addObject:receiveInfo];
} else if (giftInfo.hasVggPic && giftInfo.vggUrl.length > 0 && roomInfor.hasAnimationEffect) {///SVGA
} else if (giftInfo.hasVggPic && giftInfo.vggUrl.length > 0 && roomInfo.hasAnimationEffect) {///SVGA
receiveInfo.vggUrl = giftInfo.vggUrl;
// [self.animationListA addObject:receiveInfo];
[self.svgaQueue addObject:receiveInfo];
@@ -2041,7 +2027,7 @@
if ([[NSFileManager defaultManager] fileExistsAtPath:fullPath]){
NSData *data = [NSData dataWithContentsOfFile:fullPath options:0 error:NULL];
@kWeakify(self);
[self.parser parseWithData:data cacheKey:nil completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) {
[self.parser parseWithData:data cacheKey:@"" completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) {
@kStrongify(self);
if (videoItem != nil) {
self.giftEffectView.hidden = NO;

View File

@@ -110,12 +110,7 @@
for (GiftInfoModel *giftInfoModel in array) {
NSBlockOperation *operation = [NSBlockOperation blockOperationWithBlock:^{
NSString *giftPath = [giftDirPath stringByAppendingPathComponent:[NSString stringWithFormat:@"%ld", (long)giftInfoModel.giftId]];
BOOL success = [NSKeyedArchiver archiveRootObject:giftInfoModel.model2dictionary toFile:giftPath];
if (!success) {
NSLog(@" --- --- --- ---- ---- ----- ---- Failed to archive object for gift ID: %ld", (long)giftInfoModel.giftId);
} else {
NSLog(@" --- --- --- ---- ---- ----- ---- Operations completed.");
}
[NSKeyedArchiver archiveRootObject:giftInfoModel.model2dictionary toFile:giftPath];
}];
[operationQueue addOperation:operation];
}

View File

@@ -57,7 +57,7 @@
} else {
XPWeekStarRankUserModel *rankModel = [XPWeekStarRankUserModel new];
rankModel.type = 0;
rankModel.avatar = @"common_empty_avatar";
rankModel.avatar = @"common_avatar";
rankModel.nick = YMLocalizedString(@"XPGiftWeekStarBroadcastView0");
[self.records addObject:rankModel];
}
@@ -68,7 +68,7 @@
} else {
XPWeekStarRankUserModel *rankModel = [XPWeekStarRankUserModel new];
rankModel.type = 1;
rankModel.avatar = @"common_empty_avatar";
rankModel.avatar = @"common_avatar";
rankModel.nick = YMLocalizedString(@"XPGiftWeekStarBroadcastView0");
[self.records addObject:rankModel];
}
@@ -217,7 +217,7 @@
- (NetImageView *)headView{
if(!_headView){
NetImageConfig *config = [[NetImageConfig alloc]init];
config.placeHolder = kImage(@"common_empty_avatar");
config.placeHolder = kImage(@"common_avatar");
_headView = [[NetImageView alloc]initWithConfig:config];
_headView.layer.cornerRadius = kGetScaleWidth(22)/2;
_headView.layer.masksToBounds = YES;
@@ -226,7 +226,6 @@
}
- (UILabel *)nameView{
if(!_nameView){
_nameView = [UILabel labelInitWithText:@"" font:kFontMedium(12) textColor:[UIColor whiteColor]];
}
return _nameView;

View File

@@ -58,6 +58,7 @@
NetImageConfig *config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultEmptyAvatarPlaceholder];
_backdropView = [[NetImageView alloc]initWithConfig:config];
_backdropView.contentMode = UIViewContentModeScaleAspectFill;
_backdropView.layer.cornerRadius = kGetScaleWidth(5);
_backdropView.layer.masksToBounds = YES;
}

View File

@@ -139,7 +139,7 @@
[self.headWearSVGAImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.center.mas_equalTo(self.avatarImageView);
make.width.mas_equalTo(self.avatarImageView.mas_width).multipliedBy(1.31);
make.width.mas_equalTo(self.avatarImageView.mas_width).multipliedBy(1.4);
make.height.mas_equalTo(self.headWearImageView.mas_width);
}];
@@ -365,7 +365,7 @@
/**
*/
- (void)updatePositionisHighLevel:(BOOL)isHighLevel
- (void)updatePositionIsHighLevel:(BOOL)isHighLevel
isShow:(BOOL)isShow {
self.positionCharmImgView.hidden = !isShow;
if (isHighLevel) {
@@ -404,6 +404,7 @@
} else {
image = [UIImage imageNamed:@"room_position_lock"];
}
[self.avatarImageView updateConfigPlaceHolder:image];
CGSize scaledToSize = CGSizeMake(self.frame.size.width, self.frame.size.width);
if (scaledToSize.width > 0 && scaledToSize.height > 0 ) {
UIGraphicsBeginImageContextWithOptions(scaledToSize, false, 0.0);
@@ -434,13 +435,6 @@
self.forbidKickView.hidden = YES;
if (userInfo) {
self.avatarImageView.imageUrl = userInfo.avatar;
if (userInfo.gender == GenderType_Male) {
} else if(userInfo.gender == GenderType_Female){
}
NSString *nickStr = userInfo.nick;
self.nickLabel.text = nickStr.length > 0 ? nickStr : @"";
if (userInfo.micNickColor.length) {
@@ -455,12 +449,6 @@
make.width.mas_lessThanOrEqualTo(kGetScaleWidth(150));
}];
self.sexImageView.hidden = YES;
[self.sexImageView setTitle:[NSString getAgeWithBirth:userInfo.birth] forState:UIControlStateNormal];
self.sexImageView.backgroundColor = userInfo.gender == GenderType_Male ? UIColorFromRGB(0x6BB3FF) :UIColorFromRGB(0xFF80CC);
self.sexImageView.titleEdgeInsets = userInfo.gender != GenderType_Male ? UIEdgeInsetsMake(0, 2, 0, 0):UIEdgeInsetsMake(0, -1, 0, 0);
self.sexImageView.selected = userInfo.gender != GenderType_Male;
}
self.forbidKickView.hidden = !userInfo.preventKick;
} else {
@@ -472,8 +460,7 @@
}
NSString * headWearUrl = userInfo.headwearEffect.length ? userInfo.headwearEffect : userInfo.headWearUrl.length ? userInfo.headWearUrl : userInfo.headwearPic;
if (headWearUrl.length > 0 && !userInfo.vipMic) {
// if (userInfo.headwearType == 1) {
if ([headWearUrl.lowercaseString hasSuffix:@"svga"]) {
if ([userInfo isHeadWearSVGA]) {
self.headWearSVGAImageView.hidden = NO;
[self.headWearSVGAImageView setImageName:headWearUrl];
} else {
@@ -535,8 +522,6 @@
- (void)resetGiftValue {
self.giftValueView.giftValue = 0;
}
- (void)configRoomInfo:(RoomInfoModel *)roomInfo {

View File

@@ -82,7 +82,7 @@ NS_ASSUME_NONNULL_BEGIN
/**
更新坑位等级头饰
*/
- (void)updatePositionisHighLevel:(BOOL)isHighLevel isShow:(BOOL)isShow;
- (void)updatePositionIsHighLevel:(BOOL)isHighLevel isShow:(BOOL)isShow;
-(void)hiddenPositionisHighLevel;
/**
重置头饰

View File

@@ -36,6 +36,8 @@
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
self.avatarImageView.backgroundColor = [UIColor colorWithPatternImage:newImage];
[self.avatarImageView updateConfigPlaceHolder:image];
}
- (void)configUser:(UserInfoModel *)userInfo {

View File

@@ -249,8 +249,10 @@
- (void)initGiftValue{
RoomInfoModel* roomInfo = self.hostDelegate.getRoomInfo;
//
@kWeakify(self);
[Api roomMicroGiftValue:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if (code == 200) {
@kStrongify(self);
[self giftValueUpdate:data.data];
}
} roomUid:[NSString stringWithFormat:@"%ld", roomInfo.uid] uid:[AccountInfoStorage instance].getUid];
@@ -287,11 +289,9 @@
model.userInfo.uid == self.hostDelegate.getUserInfo.uid) {
selfNeedBroadcast = model.microState.micState == MicroMicStateType_Open;
if (model.microState.micState == MicroMicStateType_Close) {
if (roomInfo.roomModeType != RoomModeType_Open_AcrossRoomPK_mode){
[RtcManager instance].localMuted = YES;
}
}
if (roomInfo.type == RoomType_Anchor && [[AccountInfoStorage instance].getUid isEqualToString:[NSString stringWithFormat:@"%ld", roomInfo.uid]]) {
selfNeedBroadcast = YES;///
@@ -333,13 +333,13 @@
[view configGiftValue:giftValueModel.giftValue];
}
[self updatePostionItemWithRoomOnMicGiftValue:model];
[self updatePositionItemWithRoomOnMicGiftValue:model];
}
/**
*/
- (void)updatePostionItemWithRoomOnMicGiftValue:(GiftValueInfoModel *)roomOnMicGiftValue{
- (void)updatePositionItemWithRoomOnMicGiftValue:(GiftValueInfoModel *)roomOnMicGiftValue{
if (self.hostDelegate.getRoomInfo.type == RoomType_Anchor || self.hostDelegate.getRoomInfo.roomModeType == RoomModeType_Open_Blind) return;
// 0
NSMutableArray <GiftValueDetailModel *> *validGifts = [NSMutableArray array];
@@ -395,18 +395,16 @@
}
}
}
for (MicroQueueModel *item in self.micQueue.allValues) {
if (highest && item.userInfo.uid == highest.integerValue) {
UIView<MicroViewProtocol> * view = [self findMicroViewByUid:highest];
[view updatePositionisHighLevel:YES isShow:YES];
[view updatePositionIsHighLevel:YES isShow:YES];
continue;
}
if (lowest && item.userInfo.uid == lowest.integerValue) {
UIView<MicroViewProtocol> * view = [self findMicroViewByUid:lowest];
[view updatePositionisHighLevel:NO isShow:YES];
[view updatePositionIsHighLevel:NO isShow:YES];
}
}
}
@@ -543,7 +541,6 @@
[[NIMSDK sharedSDK].chatManager sendMessage:message toSession:session completion:^(NSError * _Nullable error) {
}];
}
} roomUid:roomUid micUid:uid position:position uid:uid];
}
@@ -562,7 +559,6 @@
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[RtcManager instance].isMiniEnterk = NO;
});
//
}
}
if(userInfo.isNoProhibitMic == YES){
@@ -619,9 +615,7 @@
}
if (microQueueChanged) {
[self updatePostionItemWithRoomOnMicGiftValue:nil];
[self updatePositionItemWithRoomOnMicGiftValue:nil];
self.isMiniEnter = NO;
[self microQueueUpdated:ownerRTCChanged];
[self.hostDelegate onMicroQueueUpdate:self.micQueue];
@@ -1039,7 +1033,7 @@
extModel.uid = userInfo.uid;
extModel.nick = userInfo.nick;
extModel.headWearUrl = userInfo.headwearEffect.length > 0 ? userInfo.headwearEffect : userInfo.headwearPic;
extModel.headWearType = userInfo.headwearType;
extModel.headWearType = [userInfo isHeadWearSVGA] ? 1 : 0;;
extModel.micCircle = userInfo.micCircle;
extModel.micNickColor = userInfo.micNickColor;
extModel.preventKick = userInfo.userVipInfoVO.preventKick;

View File

@@ -577,7 +577,7 @@
self.headWearImageView.hidden = headwearUrl.length <= 0;
self.headWearSVGAImageView.hidden = headwearUrl.length <= 0;
if (headwearUrl.length > 0) {
if (userInfo.headwearType == 1) {
if ([userInfo isHeadWearSVGA]) {
[self.headWearSVGAImageView setImageName:headwearUrl];
} else {
NSURL *url = [NSURL URLWithString:headwearUrl];

View File

@@ -538,7 +538,7 @@
if ( attachment.second == Custom_Message_Sub_Room_Gift_LuckBag_FullScree) {
PIBaseAnimationViewModel * prizeModel = [PIBaseAnimationViewModel modelWithDictionary:attachment.data];
prizeModel.type = GiftBannerType_Lucky;
prizeModel.isInRoomVisiable = attachment.second == Custom_Message_Sub_Room_Gift_LuckBag;
prizeModel.isInRoomVisable = attachment.second == Custom_Message_Sub_Room_Gift_LuckBag;
if(self.animationListB.count == 0 && self.isPlayOfB == NO){
[self createBigPrizeAnimation:prizeModel];
@@ -607,7 +607,7 @@
[kWindow addSubview:broadcastView];
return;
}
if (!giftInfo.isInRoomVisiable && giftInfo.roomUid.length > 0 ) {
if (!giftInfo.isInRoomVisable && giftInfo.roomUid.length > 0 ) {
[XPRoomViewController openRoom:giftInfo.roomUid viewController:[XCCurrentVCStackManager shareManager].getCurrentVC];
}
}

View File

@@ -90,6 +90,7 @@ NS_ASSUME_NONNULL_BEGIN
///用户信息中的 头饰的动画 如果没有的话 就用这个 从 HeadwearModel 映射而来
@property (nonatomic,copy) NSString *headwearPic;
@property (nonatomic,assign) NSInteger headwearType; // 1 = svga, 表示 headwearEffect 是 svga 的链接
@property (nonatomic,assign) NSInteger headWearType; // 1 = svga, 表示 headwearEffect 是 svga 的链接, W 大小写不一致是后端的原因,这里做个兼容
///头饰(新字段) 上麦的时候 在扩展字段中的 只用在坑位上 从 HeadwearModel 映射而来
@property (nonatomic,copy) NSString *headWearUrl;
#pragma mark - 相亲房的字段
@@ -158,6 +159,8 @@ NS_ASSUME_NONNULL_BEGIN
- (BOOL)isUserValid;
- (NSString *)userIDString;
- (BOOL)isHeadWearSVGA;
@end
NS_ASSUME_NONNULL_END

View File

@@ -58,4 +58,8 @@
return self.nick.hash ^ self.uid;
}
- (BOOL)isHeadWearSVGA {
return self.headwearType == 1 || self.headWearType == 1;
}
@end

View File

@@ -404,7 +404,7 @@
"XPMineDataGiftTableViewCell0" = "普通礼物";
"XPMineDataGiftTableViewCell1" = "幸运礼物";
"XPMineDataGiftTableViewCell2" = "章";
"XPMineDataGiftTableViewCell2" = "章";
"XPMineUserInfoEmptyCollectionViewCell0" = "还未收到过礼物";

View File

@@ -405,7 +405,7 @@
"XPMineDataGiftTableViewCell0" = "普通禮物";
"XPMineDataGiftTableViewCell1" = "幸運禮物";
"XPMineDataGiftTableViewCell2" = "章";
"XPMineDataGiftTableViewCell2" = "章";
"XPMineUserInfoEmptyCollectionViewCell0" = "還未收到過禮物";