88 lines
3.2 KiB
Mathematica
88 lines
3.2 KiB
Mathematica
|
|
//
|
||
|
|
// TUIGroupCreatedCellData.m
|
||
|
|
// TUIKitDemo
|
||
|
|
//
|
||
|
|
// Created by annidyfeng on 2019/6/10.
|
||
|
|
// Copyright © 2019 Tencent. All rights reserved.
|
||
|
|
//
|
||
|
|
|
||
|
|
#import "TUIGroupCreatedCellData.h"
|
||
|
|
#import <TUICore/NSString+TUIUtil.h>
|
||
|
|
|
||
|
|
@implementation TUIGroupCreatedCellData
|
||
|
|
|
||
|
|
+ (TUIGroupCreatedCellData *)getCellData:(V2TIMMessage *)message {
|
||
|
|
NSDictionary *param = [NSJSONSerialization JSONObjectWithData:message.customElem.data options:NSJSONReadingAllowFragments error:nil];
|
||
|
|
TUIGroupCreatedCellData *cellData = [[TUIGroupCreatedCellData alloc] initWithDirection:(message.isSelf ? MsgDirectionOutgoing : MsgDirectionIncoming)];
|
||
|
|
cellData.innerMessage = message;
|
||
|
|
cellData.msgID = message.msgID;
|
||
|
|
cellData.content = param[@"content"];
|
||
|
|
cellData.opUser = [self.class getOpUserName:message]?:param[@"opUser"];
|
||
|
|
cellData.cmd = param[@"cmd"];
|
||
|
|
return cellData;
|
||
|
|
}
|
||
|
|
|
||
|
|
+ (NSString *)getOpUserName:(V2TIMMessage *)info {
|
||
|
|
NSString *opUser;
|
||
|
|
if (info.nameCard.length > 0) {
|
||
|
|
opUser = info.nameCard;
|
||
|
|
} else if (info.nickName.length > 0) {
|
||
|
|
opUser = info.nickName;
|
||
|
|
} else {
|
||
|
|
opUser = info.userID;
|
||
|
|
}
|
||
|
|
return opUser;
|
||
|
|
}
|
||
|
|
- (NSMutableAttributedString *)attributedString {
|
||
|
|
NSString *localizableContent = self.content;
|
||
|
|
if (self.cmd && [self.cmd isKindOfClass:NSNumber.class]) {
|
||
|
|
NSInteger command = [self.cmd integerValue];
|
||
|
|
if (command == 1) {
|
||
|
|
localizableContent = TIMCommonLocalizableString(TUICommunityCreateTipsMessage);
|
||
|
|
} else {
|
||
|
|
localizableContent = TIMCommonLocalizableString(TUIGroupCreateTipsMessage);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
NSString *str = [NSString stringWithFormat:@"\"%@\" %@", self.opUser, localizableContent];
|
||
|
|
str = rtlString(str);
|
||
|
|
NSMutableAttributedString *attributeString = [[NSMutableAttributedString alloc] initWithString:str];
|
||
|
|
NSDictionary *attributeDict = @{NSForegroundColorAttributeName : [UIColor d_systemGrayColor]};
|
||
|
|
[attributeString setAttributes:attributeDict range:NSMakeRange(0, attributeString.length)];
|
||
|
|
return attributeString;
|
||
|
|
}
|
||
|
|
|
||
|
|
+ (NSString *)getDisplayString:(V2TIMMessage *)msg {
|
||
|
|
if (msg.customElem == nil || msg.customElem.data == nil) {
|
||
|
|
return nil;
|
||
|
|
}
|
||
|
|
|
||
|
|
NSDictionary *param = [TUITool jsonData2Dictionary:msg.customElem.data];
|
||
|
|
if (param == nil || ![param isKindOfClass:[NSDictionary class]]) {
|
||
|
|
return nil;
|
||
|
|
}
|
||
|
|
|
||
|
|
NSString *businessID = param[@"businessID"];
|
||
|
|
if (![businessID isKindOfClass:[NSString class]]) {
|
||
|
|
return nil;
|
||
|
|
}
|
||
|
|
if (![businessID isEqualToString:BussinessID_GroupCreate] && ![param.allKeys containsObject:BussinessID_GroupCreate]) {
|
||
|
|
return nil;
|
||
|
|
}
|
||
|
|
|
||
|
|
NSString *localizableContent = param[@"content"];
|
||
|
|
NSNumber *cmd = param[@"cmd"];
|
||
|
|
if (cmd && [cmd isKindOfClass:NSNumber.class]) {
|
||
|
|
NSInteger command = [cmd integerValue];
|
||
|
|
if (command == 1) {
|
||
|
|
localizableContent = TIMCommonLocalizableString(TUICommunityCreateTipsMessage);
|
||
|
|
} else {
|
||
|
|
localizableContent = TIMCommonLocalizableString(TUIGroupCreateTipsMessage);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
NSString * opUser = [self.class getOpUserName:msg]?:param[@"opUser"];
|
||
|
|
NSString *str = [NSString stringWithFormat:@"\"%@\" %@", opUser, localizableContent];
|
||
|
|
return rtlString(str);
|
||
|
|
}
|
||
|
|
|
||
|
|
@end
|