feat: 重构分享功能 - 将各平台分享逻辑整理到对应Manager中

- 新增 WechatShareManager:封装微信分享逻辑,支持ShareContent对象
- 增强 DouyinShareManager:新增ShareContent支持和分享引导功能
- 优化 QQShareManager:支持截图/纯文本分享类型自动识别
- 重构 SharePanel:简化为UI调度层,移除具体分享实现
- 实现职责分离:各Manager专注自己的平台分享逻辑
- 提升可维护性:修改某平台不影响其他平台
- 增强可扩展性:新增分享平台更容易实现
This commit is contained in:
joywayer
2025-06-17 19:55:44 +08:00
parent 1666d6cf24
commit 2296c65974
13 changed files with 3730 additions and 2 deletions

View File

@@ -20,6 +20,7 @@
#import "RNCachingURLProtocol.h"
#import "JANALYTICSService.h"
#import "XianliaoApiManager.h"
#import "QQShareManager.h"
@interface AppDelegate ()<BuglyDelegate>
{
BOOL flag;
@@ -31,12 +32,33 @@
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
return [WXApi handleOpenURL:url delegate:[WXApiManager sharedManager]];
// QQ
if ([QQShareManager handleOpenURL:url]) {
return YES;
}
//
return [WXApi handleOpenURL:url delegate:[WXApiManager sharedManager]];
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
// QQ
if ([QQShareManager handleOpenURL:url]) {
return YES;
}
//
return [WXApi handleOpenURL:url delegate:[WXApiManager sharedManager]];
}
// iOS 9+ URL
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
// QQ
if ([QQShareManager handleOpenURL:url]) {
return YES;
}
//
return [WXApi handleOpenURL:url delegate:[WXApiManager sharedManager]];
}
- (void)configureAPIKey
{
if ([APIKey length] == 0)