Files
real-e-party-iOS/YuMi/Modules/YMMessage/Tool/CustomAttachmentDecoder.m
edwinQQQ a35a711be6 chore: Initial clean commit
- Removed YuMi/Library/ (138 MB, not tracked)
- Removed YuMi/Resources/ (23 MB, not tracked)
- Removed old version assets (566 files, not tracked)
- Excluded Pods/, xcuserdata/ and other build artifacts
- Clean repository optimized for company server deployment
2025-10-09 16:19:14 +08:00

63 lines
2.1 KiB
Objective-C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// CustomAttachmentDecoder.m
// YUMI
//
// Created by YUMI on 2021/11/16.
//
#import "CustomAttachmentDecoder.h"
#import "NSObject+MJExtension.h"
#import "AttachmentModel.h"
@implementation CustomAttachmentDecoder
- (id<NIMCustomAttachment>)decodeAttachment:(NSString *)content{
id<NIMCustomAttachment> attachment;
NSData *data = [content dataUsingEncoding:NSUTF8StringEncoding];
if (data) {
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data
options:0
error:nil];
if ([dict isKindOfClass:[NSDictionary class]]) {
int first = [dict[@"first"] intValue];
int second = [dict[@"second"] intValue];
id originalData = dict[@"data"];
AttachmentModel *model = [[AttachmentModel alloc]init];
model.first = (short)first;
model.second = (short)second;
if ([originalData isKindOfClass:[NSArray class]]) {
model.data = originalData;
} else if ([originalData isKindOfClass:[NSDictionary class]]) {
model.data = originalData;
} else if ([originalData isKindOfClass:[NSString class]]) {
NSDictionary *jsonDict = [self dictionaryWithJsonString:(NSString *)originalData];
if ([jsonDict isKindOfClass:[NSDictionary class]]) {
model.data = jsonDict;
}
}
attachment = model;
}
}
return attachment;
}
//json格式字符串转字典
- (NSDictionary *)dictionaryWithJsonString:(NSString *)jsonString {
if (jsonString == nil || jsonString.length == 0) {
return nil;
}
NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
NSError *err;
NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:jsonData
options:NSJSONReadingMutableContainers
error:&err];
if(err) {
// NSLog(@"json解析失败%@",err);
return nil;
}
return dic;
}
@end