lpw
2021-02-02 210605e741eeafa4455f1387156f263815b7f4e6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
///
/// \file QQApiInterface.h
/// \brief QQApi接口简化封装
///
/// Created by Tencent on 12-5-15.
/// Copyright (c) 2012年 Tencent. All rights reserved.
///
 
#import <Foundation/Foundation.h>
#import "QQApiInterfaceObject.h"
 
typedef void (^sendResultBlock)(NSDictionary *result);
 
/**
 \brief 处理来至QQ的请求及响应的回调协议
 */
@protocol QQApiInterfaceDelegate <NSObject>
 
/**
 处理来至QQ的请求
 */
- (void)onReq:(QQBaseReq *)req;
 
/**
 处理来至QQ的响应
 */
- (void)onResp:(QQBaseResp *)resp;
 
/**
 处理QQ在线状态的回调
 */
- (void)isOnlineResponse:(NSDictionary *)response;
 
@end
 
/**
 \brief 对QQApi的简单封装类
 */
@interface QQApiInterface : NSObject
 
/**
 处理由手Q唤起的普通跳转请求
 \param url 待处理的url跳转请求
 \param delegate 第三方应用用于处理来至QQ请求及响应的委托对象
 \return 跳转请求处理结果,YES表示成功处理,NO表示不支持的请求协议或处理失败
 */
+ (BOOL)handleOpenURL:(NSURL *)url delegate:(id<QQApiInterfaceDelegate>)delegate;
 
/**
 处理由手Q唤起的universallink跳转请求
 \param universallink 待处理的universallink跳转请求
 \param delegate 第三方应用用于处理来至QQ请求及响应的委托对象
 \return 跳转请求处理结果,YES表示成功处理,NO表示不支持的请求协议或处理失败
 */
+ (BOOL)handleOpenUniversallink:(NSURL*)universallink delegate:(id<QQApiInterfaceDelegate>)delegate;
 
/**
 向手Q发起分享请求
 \param req 分享内容的请求
 \return 请求发送结果码
 */
+ (QQApiSendResultCode)sendReq:(QQBaseReq *)req;
 
 
/**
 向手Q QZone结合版发起分享请求
 \note H5分享只支持单张网络图片的传递
 \param req 分享内容的请求
 \return 请求发送结果码
 */
+ (QQApiSendResultCode)SendReqToQZone:(QQBaseReq *)req;
 
/**
 向手Q发起设置QQ头像
 \param req 分享内容的请求
 \return 请求发送结果码
 */
+ (QQApiSendResultCode)sendMessageToQQAvatarWithReq:(QQBaseReq*)req;
 
/**
 向手Q发起组图分享到表情收藏
 \param req 分享内容的请求
 \return 请求发送结果码
 */
+ (QQApiSendResultCode)sendMessageToFaceCollectionWithReq:(QQBaseReq*)req;
 
/**
 检测是否已安装QQ
 \return 如果QQ已安装则返回YES,否则返回NO
 
 \note SDK目前已经支持QQ、TIM授权登录及分享功能, 会按照QQ>TIM的顺序进行调用。
 只要用户安装了QQ、TIM中任意一个应用,都可为第三方应用进行授权登录、分享功能。
 第三方应用在接入SDK时不需要判断是否安装QQ、TIM。若有判断安装QQ、TIM的逻辑建议移除。
 */
+ (BOOL)isQQInstalled;
 
/**
 检测是否已安装TIM
 \return 如果TIM已安装则返回YES,否则返回NO
 
 \note SDK目前已经支持QQ、TIM授权登录及分享功能, 会按照QQ>TIM的顺序进行调用。
 只要用户安装了QQ、TIM中任意一个应用,都可为第三方应用进行授权登录、分享功能。
 第三方应用在接入SDK时不需要判断是否安装QQ、TIM。若有判断安装QQ、TIM的逻辑建议移除。
 */
+ (BOOL)isTIMInstalled;
 
/**
 检测QQ是否支持API调用
 \return 如果当前安装QQ版本支持API调用则返回YES,否则返回NO
 */  
+ (BOOL)isQQSupportApi;
 
/**
 检测TIM是否支持API调用
 \return 如果当前安装TIM版本支持API调用则返回YES,否则返回NO
 */
+ (BOOL)isTIMSupportApi __attribute__((deprecated("已过期, 建议删除调用,调用地方用YES替代。")));
 
/**
 检测是否支持分享
 \return 如果当前已安装QQ且QQ版本支持API调用 或者 当前已安装TIM且TIM版本支持API调用则返回YES,否则返回NO
 */
+ (BOOL)isSupportShareToQQ;
 
/**
 检测是否支持分享到QQ结合版QZone
 \return 如果当前已安装QQ且QQ版本支持API调用则返回YES,否则返回NO
 */
+ (BOOL)isSupportPushToQZone;
 
/**
 启动QQ
 \return 成功返回YES,否则返回NO
 */
+ (BOOL)openQQ;
 
/**
 启动TIM
 \return 成功返回YES,否则返回NO
 */
+ (BOOL)openTIM;
 
/**
 获取QQ下载地址
 
 如果App通过<code>QQApiInterface#isQQInstalled</code>和<code>QQApiInterface#isQQSupportApi</code>检测发现QQ没安装或当前版本QQ不支持API调用,可引导用户通过打开此链接下载最新版QQ。
 \return iPhoneQQ下载地址
 */
+ (NSString *)getQQInstallUrl;
 
/**
 获取TIM下载地址
 
 如果App通过<code>QQApiInterface#isTIMInstalled</code>检测发现TIM没安装或当前版本TIM不支持API调用,可引导用户通过打开此链接下载最新版TIM。
 \return iPhoneTIM下载地址
 */
+ (NSString *)getTIMInstallUrl;
@end