提交
This commit is contained in:
21
TUIKit/TUIChat/BaseCellData/Custom/TUIEvaluationCellData.h
Normal file
21
TUIKit/TUIChat/BaseCellData/Custom/TUIEvaluationCellData.h
Normal file
@@ -0,0 +1,21 @@
|
||||
//
|
||||
// TUIEvaluationCellData.h
|
||||
// TUIChat
|
||||
//
|
||||
// Created by xia on 2022/6/10.
|
||||
// Copyright © 2023 Tencent. All rights reserved.
|
||||
//
|
||||
|
||||
#import <TIMCommon/TUIBubbleMessageCellData.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface TUIEvaluationCellData : TUIBubbleMessageCellData
|
||||
|
||||
@property(nonatomic, assign) NSInteger score;
|
||||
@property(nonatomic, copy) NSString *desc;
|
||||
@property(nonatomic, copy) NSString *comment;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
40
TUIKit/TUIChat/BaseCellData/Custom/TUIEvaluationCellData.m
Normal file
40
TUIKit/TUIChat/BaseCellData/Custom/TUIEvaluationCellData.m
Normal file
@@ -0,0 +1,40 @@
|
||||
//
|
||||
// TUIEvaluationCellData.m
|
||||
// TUIChat
|
||||
//
|
||||
// Created by xia on 2022/6/10.
|
||||
// Copyright © 2023 Tencent. All rights reserved.
|
||||
//
|
||||
|
||||
#import "TUIEvaluationCellData.h"
|
||||
|
||||
@implementation TUIEvaluationCellData
|
||||
|
||||
+ (TUIMessageCellData *)getCellData:(V2TIMMessage *)message {
|
||||
NSDictionary *param = [NSJSONSerialization JSONObjectWithData:message.customElem.data options:NSJSONReadingAllowFragments error:nil];
|
||||
if (param == nil) {
|
||||
return nil;
|
||||
}
|
||||
TUIEvaluationCellData *cellData = [[TUIEvaluationCellData alloc] initWithDirection:message.isSelf ? MsgDirectionOutgoing : MsgDirectionIncoming];
|
||||
cellData.innerMessage = message;
|
||||
cellData.desc = message.customElem.desc;
|
||||
cellData.score = [param[@"score"] integerValue];
|
||||
cellData.comment = param[@"comment"];
|
||||
return cellData;
|
||||
}
|
||||
|
||||
+ (NSString *)getDisplayString:(V2TIMMessage *)message {
|
||||
return message.customElem.desc;
|
||||
}
|
||||
|
||||
- (CGSize)contentSize {
|
||||
CGRect rect = [self.comment boundingRectWithSize:CGSizeMake(215, MAXFLOAT)
|
||||
options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading
|
||||
attributes:@{NSFontAttributeName : [UIFont systemFontOfSize:15]}
|
||||
context:nil];
|
||||
CGSize size = CGSizeMake(245, ceilf(rect.size.height));
|
||||
size.height += self.comment.length > 0 ? 88 : 50;
|
||||
return size;
|
||||
}
|
||||
|
||||
@end
|
||||
19
TUIKit/TUIChat/BaseCellData/Custom/TUILinkCellData.h
Normal file
19
TUIKit/TUIChat/BaseCellData/Custom/TUILinkCellData.h
Normal file
@@ -0,0 +1,19 @@
|
||||
//
|
||||
// MyCustomCellData.h
|
||||
// TUIKitDemo
|
||||
//
|
||||
// Created by annidyfeng on 2019/6/10.
|
||||
// Copyright © 2019 Tencent. All rights reserved.
|
||||
//
|
||||
#import <TIMCommon/TUIBubbleMessageCellData.h>
|
||||
#import <TIMCommon/TUIMessageCellData.h>
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface TUILinkCellData : TUIBubbleMessageCellData
|
||||
|
||||
@property NSString *text;
|
||||
@property NSString *link;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
38
TUIKit/TUIChat/BaseCellData/Custom/TUILinkCellData.m
Normal file
38
TUIKit/TUIChat/BaseCellData/Custom/TUILinkCellData.m
Normal file
@@ -0,0 +1,38 @@
|
||||
//
|
||||
// MyCustomCellData.m
|
||||
// TUIKitDemo
|
||||
//
|
||||
// Created by annidyfeng on 2019/6/10.
|
||||
// Copyright © 2019 Tencent. All rights reserved.
|
||||
//
|
||||
|
||||
#import "TUILinkCellData.h"
|
||||
|
||||
@implementation TUILinkCellData
|
||||
|
||||
+ (TUIMessageCellData *)getCellData:(V2TIMMessage *)message {
|
||||
NSDictionary *param = [NSJSONSerialization JSONObjectWithData:message.customElem.data options:NSJSONReadingAllowFragments error:nil];
|
||||
TUILinkCellData *cellData = [[TUILinkCellData alloc] initWithDirection:message.isSelf ? MsgDirectionOutgoing : MsgDirectionIncoming];
|
||||
cellData.msgID = message.msgID;
|
||||
cellData.text = param[@"text"];
|
||||
cellData.link = param[@"link"];
|
||||
cellData.avatarUrl = [NSURL URLWithString:message.faceURL];
|
||||
return cellData;
|
||||
}
|
||||
|
||||
+ (NSString *)getDisplayString:(V2TIMMessage *)message {
|
||||
NSDictionary *param = [NSJSONSerialization JSONObjectWithData:message.customElem.data options:NSJSONReadingAllowFragments error:nil];
|
||||
return param[@"text"];
|
||||
}
|
||||
|
||||
- (CGSize)contentSize {
|
||||
CGFloat textMaxWidth = 245.f;
|
||||
CGRect rect = [self.text boundingRectWithSize:CGSizeMake(textMaxWidth, MAXFLOAT)
|
||||
options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading
|
||||
attributes:@{NSFontAttributeName : [UIFont systemFontOfSize:15]}
|
||||
context:nil];
|
||||
CGSize size = CGSizeMake(textMaxWidth + 15, rect.size.height + 56);
|
||||
return size;
|
||||
}
|
||||
|
||||
@end
|
||||
17
TUIKit/TUIChat/BaseCellData/Custom/TUILocalTipsCellData.h
Normal file
17
TUIKit/TUIChat/BaseCellData/Custom/TUILocalTipsCellData.h
Normal file
@@ -0,0 +1,17 @@
|
||||
//
|
||||
// TUILocalTipsCellData.h
|
||||
// TUIChat
|
||||
//
|
||||
// Created by yiliangwang on 2025/3/18.
|
||||
// Copyright © 2025 Tencent. All rights reserved.
|
||||
//
|
||||
|
||||
#import <TIMCommon/TUISystemMessageCellData.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface TUILocalTipsCellData : TUISystemMessageCellData
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
29
TUIKit/TUIChat/BaseCellData/Custom/TUILocalTipsCellData.m
Normal file
29
TUIKit/TUIChat/BaseCellData/Custom/TUILocalTipsCellData.m
Normal file
@@ -0,0 +1,29 @@
|
||||
//
|
||||
// TUILocalTipsCellData.m
|
||||
// TUIChat
|
||||
//
|
||||
// Created by yiliangwang on 2025/3/18.
|
||||
// Copyright © 2025 Tencent. All rights reserved.
|
||||
//
|
||||
|
||||
#import "TUILocalTipsCellData.h"
|
||||
|
||||
@implementation TUILocalTipsCellData
|
||||
+ (TUIMessageCellData *)getCellData:(V2TIMMessage *)message {
|
||||
NSDictionary *param = [NSJSONSerialization JSONObjectWithData:message.customElem.data options:NSJSONReadingAllowFragments error:nil];
|
||||
TUILocalTipsCellData *cellData = [[TUILocalTipsCellData alloc] initWithDirection:MsgDirectionIncoming];
|
||||
cellData.innerMessage = message;
|
||||
cellData.msgID = message.msgID;
|
||||
cellData.content = param[@"content"];
|
||||
cellData.reuseId = TSystemMessageCell_ReuseId;
|
||||
|
||||
return cellData;
|
||||
}
|
||||
|
||||
+ (NSString *)getDisplayString:(V2TIMMessage *)message {
|
||||
NSDictionary *param = [NSJSONSerialization JSONObjectWithData:message.customElem.data options:NSJSONReadingAllowFragments error:nil];
|
||||
return param[@"content"];
|
||||
}
|
||||
|
||||
|
||||
@end
|
||||
23
TUIKit/TUIChat/BaseCellData/Custom/TUIOrderCellData.h
Normal file
23
TUIKit/TUIChat/BaseCellData/Custom/TUIOrderCellData.h
Normal file
@@ -0,0 +1,23 @@
|
||||
//
|
||||
// TUIOrderCellData.h
|
||||
// TUIChat
|
||||
//
|
||||
// Created by xia on 2022/6/10.
|
||||
// Copyright © 2023 Tencent. All rights reserved.
|
||||
//
|
||||
|
||||
#import <TIMCommon/TUIBubbleMessageCellData.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface TUIOrderCellData : TUIBubbleMessageCellData
|
||||
|
||||
@property(nonatomic, copy) NSString *title;
|
||||
@property(nonatomic, copy) NSString *desc;
|
||||
@property(nonatomic, copy) NSString *price;
|
||||
@property(nonatomic, copy) NSString *imageUrl;
|
||||
@property(nonatomic, copy) NSString *link;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
37
TUIKit/TUIChat/BaseCellData/Custom/TUIOrderCellData.m
Normal file
37
TUIKit/TUIChat/BaseCellData/Custom/TUIOrderCellData.m
Normal file
@@ -0,0 +1,37 @@
|
||||
//
|
||||
// TUIOrderCellData.m
|
||||
// TUIChat
|
||||
//
|
||||
// Created by xia on 2022/6/10.
|
||||
// Copyright © 2023 Tencent. All rights reserved.
|
||||
//
|
||||
|
||||
#import "TUIOrderCellData.h"
|
||||
|
||||
@implementation TUIOrderCellData
|
||||
|
||||
+ (TUIMessageCellData *)getCellData:(V2TIMMessage *)message {
|
||||
NSDictionary *param = [NSJSONSerialization JSONObjectWithData:message.customElem.data options:NSJSONReadingAllowFragments error:nil];
|
||||
TUIOrderCellData *cellData = [[TUIOrderCellData alloc] initWithDirection:message.isSelf ? MsgDirectionOutgoing : MsgDirectionIncoming];
|
||||
cellData.innerMessage = message;
|
||||
cellData.msgID = message.msgID;
|
||||
cellData.title = param[@"title"];
|
||||
cellData.desc = param[@"description"];
|
||||
cellData.imageUrl = param[@"imageUrl"];
|
||||
cellData.link = param[@"link"];
|
||||
cellData.price = param[@"price"];
|
||||
cellData.avatarUrl = [NSURL URLWithString:message.faceURL];
|
||||
return cellData;
|
||||
}
|
||||
|
||||
+ (NSString *)getDisplayString:(V2TIMMessage *)message {
|
||||
NSDictionary *param = [NSJSONSerialization JSONObjectWithData:message.customElem.data options:NSJSONReadingAllowFragments error:nil];
|
||||
return param[@"title"];
|
||||
}
|
||||
|
||||
- (CGSize)contentSize {
|
||||
CGSize size = CGSizeMake(245, 80);
|
||||
return size;
|
||||
}
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user