// // SharePanel.h // msext // // Created on 2025/06/15. // Copyright © 2025年. All rights reserved. // #import NS_ASSUME_NONNULL_BEGIN // 分享类型枚举 typedef NS_ENUM(NSInteger, ShareType) { ShareTypeWeChat, // 微信分享 ShareTypeQQ, // QQ分享 ShareTypeDouyin // 抖音分享 }; // 分享内容模型 @interface ShareContent : NSObject @property (nonatomic, copy) NSString *title; // 标题 @property (nonatomic, copy) NSString *desc; // 描述 (原名 description 与 NSObject 方法冲突) @property (nonatomic, copy) NSString *webpageUrl; // 链接 @property (nonatomic, copy) NSString *sharefriend; // 好友分享,朋友圈分享 @property (nonatomic, copy) NSString *type; // 好友分享,朋友圈分享 @end // 分享面板回调 typedef void (^SharePanelCompletionBlock)(ShareType type, BOOL success); @interface SharePanel : UIView /** * 显示分享面板 * @param content 分享内容 * @param completion 分享完成后的回调 */ + (void)showWithContent:(ShareContent *)content completion:(nullable SharePanelCompletionBlock)completion; /** * 显示分享面板(使用字典数据) * @param data 包含分享内容的字典 * @param completion 分享完成后的回调 * * 字典key说明: * - title: 标题 * - description: 描述 * - link: 链接URL * - thumbImage: 缩略图 (UIImage对象) * - image: 分享图片 (UIImage对象, 仅图片分享时使用) * - videoPath: 视频路径 (仅视频分享时使用) */ + (void)showWithDictionary:(NSDictionary *)data completion:(nullable SharePanelCompletionBlock)completion; /** * 隐藏分享面板 */ + (void)dismiss; /** * QQ分享到好友 * @param content 分享内容 * @param completion 分享完成后的回调 */ + (void)shareToQQFriend:(ShareContent *)content completion:(nullable SharePanelCompletionBlock)completion; /** * QQ分享到空间 * @param content 分享内容 * @param completion 分享完成后的回调 */ + (void)shareToQZone:(ShareContent *)content completion:(nullable SharePanelCompletionBlock)completion; @end NS_ASSUME_NONNULL_END