增加换肤功能
This commit is contained in:
61
TUIKit/TUIChat/CommonModel/TUIAIDenoiseSignatureManager.m
Normal file
61
TUIKit/TUIChat/CommonModel/TUIAIDenoiseSignatureManager.m
Normal file
@@ -0,0 +1,61 @@
|
||||
|
||||
// Created by Tencent on 2023/06/09.
|
||||
// Copyright © 2023 Tencent. All rights reserved.
|
||||
//
|
||||
// TUIAIDenoiseSignatureManager.m
|
||||
// TUIChat
|
||||
//
|
||||
|
||||
#import "TUIAIDenoiseSignatureManager.h"
|
||||
#import <ImSDK_Plus/ImSDK_Plus.h>
|
||||
|
||||
static TUIAIDenoiseSignatureManager *gSharedInstance = nil;
|
||||
static NSString *const kAPIKey = @"getAIDenoiseSignature";
|
||||
static NSString *const kSignatureKey = @"signature";
|
||||
static NSString *const kExpiredTimeKey = @"expired_time";
|
||||
|
||||
@interface TUIAIDenoiseSignatureManager ()
|
||||
@property(nonatomic, copy, readwrite) NSString *signature;
|
||||
@property(nonatomic, assign) NSTimeInterval expiredTime;
|
||||
@end
|
||||
|
||||
@implementation TUIAIDenoiseSignatureManager
|
||||
|
||||
+ (instancetype)sharedInstance {
|
||||
static dispatch_once_t once_token;
|
||||
dispatch_once(&once_token, ^{
|
||||
gSharedInstance = [[TUIAIDenoiseSignatureManager alloc] init];
|
||||
});
|
||||
return gSharedInstance;
|
||||
}
|
||||
|
||||
- (void)updateSignature {
|
||||
NSTimeInterval currentTime = [[NSDate date] timeIntervalSince1970];
|
||||
if (currentTime < self.expiredTime) {
|
||||
return;
|
||||
}
|
||||
[[V2TIMManager sharedInstance] callExperimentalAPI:kAPIKey
|
||||
param:nil
|
||||
succ:^(NSObject *result) {
|
||||
if (result == nil || ![result isKindOfClass:NSDictionary.class]) {
|
||||
return;
|
||||
}
|
||||
NSDictionary *dict = (NSDictionary *)result;
|
||||
if (dict[kSignatureKey] != nil && [dict[kSignatureKey] isKindOfClass:NSString.class]) {
|
||||
self.signature = dict[kSignatureKey];
|
||||
}
|
||||
if (dict[kExpiredTimeKey] != nil && [dict[kExpiredTimeKey] isKindOfClass:NSNumber.class]) {
|
||||
self.expiredTime = [dict[kExpiredTimeKey] doubleValue];
|
||||
}
|
||||
}
|
||||
fail:^(int code, NSString *desc) {
|
||||
NSLog(@"getAIDenoiseSignature failed, code: %d, desc: %@", code, desc);
|
||||
}];
|
||||
}
|
||||
|
||||
- (NSString *)signature {
|
||||
[self updateSignature];
|
||||
return _signature;
|
||||
}
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user