//
//  XXGShareSDKManager.m
//  XXGPlayKitCN
//
//  Created by apple on 2026/3/20.
//

#import "XXGShareSDKManager.h"
#import "XXGPlayKitConfig.h"
#import "NSObject+XXGPerformSelector.h"
#import "ZBObjectiveCBeaver.h"

@implementation XXGShareSDKManager

+ (id)xxpk_middlewareClass {
    Class class = NSClassFromString(__data_core.xxpk_middleware_sharesdk);
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        ZBLogInfo(__data_core.xxpk_middleware_sharesdk,class?__data_core.xxpk_manager_status_exist:__data_core.xxpk_manager_status_not_exist);
    });
    return class;
}

+ (void)xxpk_registPlatformsWithMobAppKey:(NSString *)mobAppKey
                             mobAppSecret:(NSString *)mobAppSecret
                              wechatAppId:(NSString *)wechatAppId
                          wechatAppSecret:(NSString *)wechatAppSecret
                      wechatUniversalLink:(NSString *)wechatUniversalLink
                                  qqAppId:(NSString *)qqAppId
                                 qqAppkey:(NSString *)qqAppkey
                          qqUniversalLink:(NSString *)qqUniversalLink
                                 dyAppKey:(NSString *)dyAppKey
                              dyAppSecret:(NSString *)dyAppSecret
                           taptapClientId:(NSString *)taptapClientId
                        taptapClientToken:(NSString *)taptapClientToken {
    
    if ([self xxpk_middlewareClass]) {
        [[self xxpk_middlewareClass] xxpk_performSelector:@selector(xxpk_registPlatformsWithMobAppKey:mobAppSecret:wechatAppId:wechatAppSecret:wechatUniversalLink:qqAppId:qqAppkey:qqUniversalLink:dyAppKey:dyAppSecret:taptapClientId:taptapClientToken:) withObject:mobAppKey withObject:mobAppSecret withObject:wechatAppId withObject:wechatAppSecret withObject:wechatUniversalLink withObject:qqAppId withObject:qqAppkey withObject:qqUniversalLink withObject:dyAppKey withObject:dyAppSecret withObject:taptapClientId withObject:taptapClientToken];
    }
}

+ (void)xxpk_shareWithType:(NSInteger)platformType
                     title:(NSString *)title
                      text:(NSString *)text
                    images:(id)images
                       url:(NSURL *)url
              groupLabelId:(NSString *)groupLabelId
                hashtagIds:(NSString *)hashtagIds
              footerImages:(NSArray *)footerImages
                   failUrl:(NSString *)failUrl
                   backUrl:(NSString *)backUrl
                  callback:(void(^)(BOOL result,NSString *errorMsg))callback {
    if ([self xxpk_middlewareClass]) {
        [[self xxpk_middlewareClass] xxpk_performSelector:@selector(xxpk_shareWithType:title:text:images:url:groupLabelId:hashtagIds:footerImages:failUrl:backUrl:callback:) withObject:@(platformType).stringValue withObject:title withObject:text withObject:images withObject:url withObject:groupLabelId withObject:hashtagIds withObject:footerImages withObject:failUrl withObject:backUrl withObject:callback];
    }
}

@end
