123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444 |
- ///
- /// \file sdkdef.h
- /// \brief SDK中相关常量定义
- ///
- /// Created by Tencent on 12-12-25.
- /// Copyright (c) 2012年 Tencent. All rights reserved.
- ///
- #import <Foundation/Foundation.h>
- #import <UIKit/UIKit.h>
- /**
- * \brief 设置sdk的log等级
- */
- typedef enum {
- TCOLogLevel_Disabled = -1, // 关闭所有log
- TCOLogLevel_Error = 0,
- TCOLogLevel_Warning,
- TCOLogLevel_Info,
- TCOLogLevel_Debug,
- } TCOLogLevel;
- /**
- * \brief 手机qq的当前版本
- */
- typedef enum QQVersion
- {
- kQQUninstall,
- kQQVersion3_0,
- kQQVersion4_0, //支持sso登陆
- kQQVersion4_2_1, //ios7兼容
- kQQVersion4_5, //4.5版本,wpa会话
- kQQVersion4_6, //4.6版本,sso登陆信令通道切换
- kQQVersion4_7, //4.7版本 不确定新支持了什么样的属性
- } QQVersion;
- /**
- * \breif TIM的当前版本
- */
- typedef enum TIMVersion {
- kTIMUinstall,
- kTIMVersion1_1,
- }TIMVersion;
- /**
- * \breif 授权/分享 方式
- */
- typedef enum TencentAuthShareType {
- AuthShareType_QQ,
- AuthShareType_TIM,
- }TencentAuthShareType;
- /**
- * \brief APIResponse.retCode可能的枚举常量
- */
- typedef enum
- {
- URLREQUEST_SUCCEED = 0, /**< 网络请求成功发送至服务器,并且服务器返回数据格式正确
- * \note 这里包括所请求业务操作失败的情况,例如没有授权等原因导致
- */
-
- URLREQUEST_FAILED = 1, /**< 网络异常,或服务器返回的数据格式不正确导致无法解析 */
- } REPONSE_RESULT;
- /**
- * \brief 增量授权失败原因
- *
- * \note 增量授权失败不影响原token的有效性(原token已失效的情况除外)
- */
- typedef enum
- {
- kUpdateFailUnknown = 1, ///< 未知原因
- kUpdateFailUserCancel, ///< 用户取消
- kUpdateFailNetwork, ///< 网络问题
- } UpdateFailType;
- /**
- * \brief 封装服务器返回的结果
- *
- * APIResponse用于封装所有请求的返回结果,包括错误码、错误信息、原始返回数据以及返回数据的json格式字典
- */
- @interface APIResponse : NSObject<NSCoding> {
- int _detailRetCode;
- int _retCode;
- int _seq;
- NSString *_errorMsg;
- NSDictionary *_jsonResponse;
- NSString *_message;
- id _userData;
- }
- /**
- * 新增的详细错误码\n
- * detailRetCode主要用于区分不同的错误情况,参见\ref OpenSDKError
- */
- @property (nonatomic, assign) int detailRetCode;
- /**
- * 网络请求是否成功送达服务器,以及服务器返回的数据格式是否正确\n
- * retCode具体取值可参考\ref REPONSE_RESULT
- */
- @property (nonatomic, assign) int retCode;
- /**
- * 网络请求对应的递增序列号,方便内部管理
- */
- @property (nonatomic, assign) int seq;
- /**
- * 错误提示语
- */
- @property (nonatomic, retain) NSString *errorMsg;
- /**
- * 服务器返回数据的json格式字典\n
- * 字典内具体参数的命名和含义请参考\ref api_spec
- */
- @property (nonatomic, retain) NSDictionary *jsonResponse;
- /**
- * 服务器返回的原始数据字符串
- */
- @property (nonatomic, retain) NSString *message;
- /**
- * 用户保留数据
- */
- @property (nonatomic, retain) id userData;
- @end
- /**
- * 用户自定义的保留字段
- */
- FOUNDATION_EXTERN NSString * const PARAM_USER_DATA;
- /**
- * \name 应用邀请参数字段定义
- */
- ///@{
- /** 应用邀请展示图片url的key */
- FOUNDATION_EXTERN NSString * const PARAM_APP_ICON;
- /** 应用邀请描述文本的key */
- FOUNDATION_EXTERN NSString * const PARAM_APP_DESC;
- /** 应用邀请好友列表的key */
- FOUNDATION_EXTERN NSString * const PARAM_APP_INVITED_OPENIDS;
- ///@}
- /**
- * \name sendStory新分享参数字段定义
- */
- ///@{
- /** 预填入接受人列表的key */
- FOUNDATION_EXTERN NSString * const PARAM_SENDSTORY_RECEIVER;
- /** 分享feeds标题的key */
- FOUNDATION_EXTERN NSString * const PARAM_SENDSTORY_TITLE;
- /** 分享feeds评论内容的key */
- FOUNDATION_EXTERN NSString * const PARAM_SENDSTORY_COMMENT;
- /** 分享feeds摘要的key */
- FOUNDATION_EXTERN NSString * const PARAM_SENDSTORY_SUMMARY;
- /** 分享feeds展示图片url的key */
- FOUNDATION_EXTERN NSString * const PARAM_SENDSTORY_IMAGE;
- /** 分享feeds跳转链接url的key */
- FOUNDATION_EXTERN NSString * const PARAM_SENDSTORY_URL;
- /** 分享feeds点击操作默认行为的key */
- FOUNDATION_EXTERN NSString * const PARAM_SENDSTORY_ACT;
- ///@}
- /**
- * \name 设置头像参数字段定义
- */
- ///@{
- /** 头像图片数据的key */
- FOUNDATION_EXTERN NSString * const PARAM_SETUSERHEAD_PIC;
- /** 头像图片文件名的key */
- FOUNDATION_EXTERN NSString * const PARAM_SETUSERHEAD_FILENAME;
- ///@}
- /**
- * \name 服务器返回数据的参数字段定义
- */
- ///@{
- /** 服务器返回码的key */
- FOUNDATION_EXTERN NSString * const PARAM_RETCODE;
- /** 服务器返回错误信息的key */
- FOUNDATION_EXTERN NSString * const PARAM_MESSAGE;
- /** 服务器返回额外数据的key */
- FOUNDATION_EXTERN NSString * const PARAM_DATA;
- ///@}
- /**
- * \name 错误信息相关常量定义
- */
- ///@{
- /** 详细错误信息字典中额外信息的key */
- FOUNDATION_EXTERN NSString * const TCOpenSDKErrorKeyExtraInfo;
- /** 详细错误信息字典中返回码的key */
- FOUNDATION_EXTERN NSString * const TCOpenSDKErrorKeyRetCode;
- /** 详细错误信息字典中错误语句的key */
- FOUNDATION_EXTERN NSString * const TCOpenSDKErrorKeyMsg;
- /** 不支持的接口 */
- FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgUnsupportedAPI;
- /** 操作成功 */
- FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgSuccess;
- /** 未知错误 */
- FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgUnknown;
- /** 用户取消 */
- FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgUserCancel;
- /** 请重新登录 */
- FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgReLogin;
- /** 应用没有操作权限 */
- FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgOperationDeny;
- /** 网络异常或没有网络 */
- FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgNetwork;
- /** URL格式或协议错误 */
- FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgURL;
- /** 解析数据出错 */
- FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgDataParse;
- /** 传入参数有误 */
- FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgParam;
- /** 连接超时 */
- FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgTimeout;
- /** 安全问题 */
- FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgSecurity;
- /** 文件读写错误 */
- FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgIO;
- /** 服务器端错误 */
- FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgServer;
- /** 页面错误 */
- FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgWebPage;
- /** 设置头像图片过大 */
- FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgUserHeadPicLarge;
- ///@}
- /**
- * \brief SDK新增详细错误常量
- */
- typedef enum
- {
- kOpenSDKInvalid = -1, ///< 无效的错误码
- kOpenSDKErrorUnsupportedAPI = -2, ///< 不支持的接口
-
- /**
- * \name CommonErrorCode
- * 公共错误码
- */
- ///@{
- kOpenSDKErrorSuccess = 0, ///< 成功
- kOpenSDKErrorUnknown, ///< 未知错误
- kOpenSDKErrorUserCancel, ///< 用户取消
- kOpenSDKErrorReLogin, ///< token无效或用户未授权相应权限需要重新登录
- kOpenSDKErrorOperationDeny, ///< 第三方应用没有该api操作的权限
- ///@}
-
- /**
- * \name NetworkRelatedErrorCode
- * 网络相关错误码
- */
- ///@{
- kOpenSDKErrorNetwork, ///< 网络错误,网络不通或连接不到服务器
- kOpenSDKErrorURL, ///< URL格式或协议错误
- kOpenSDKErrorDataParse, ///< 数据解析错误,服务器返回的数据解析出错
- kOpenSDKErrorParam, ///< 传入参数错误
- kOpenSDKErrorConnTimeout, ///< http连接超时
- kOpenSDKErrorSecurity, ///< 安全问题
- kOpenSDKErrorIO, ///< 下载和文件IO错误
- kOpenSDKErrorServer, ///< 服务器端错误
- ///@}
-
- /**
- * \name WebViewRelatedError
- * webview特有错误
- */
- ///@{
- kOpenSDKErrorWebPage, ///< 页面错误
- ///@}
-
- /**
- * \name SetUserHeadRelatedErrorCode
- * 设置头像自定义错误码段
- */
- ///@{
- kOpenSDKErrorUserHeadPicLarge = 0x010000, ///< 图片过大 设置头像自定义错误码
- ///@}
- } OpenSDKError;
- /**
- * \name SDK版本(v1.3)支持的授权列表常量
- */
- ///@{
- /** 发表一条说说到QQ空间(<b>需要申请权限</b>) */
- FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_ADD_TOPIC;
- /** 发表一篇日志到QQ空间(<b>需要申请权限</b>) */
- FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_ADD_ONE_BLOG;
- /** 创建一个QQ空间相册(<b>需要申请权限</b>) */
- FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_ADD_ALBUM;
- /** 上传一张照片到QQ空间相册(<b>需要申请权限</b>) */
- FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_UPLOAD_PIC;
- /** 获取用户QQ空间相册列表(<b>需要申请权限</b>) */
- FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_LIST_ALBUM;
- /** 同步分享到QQ空间、腾讯微博 */
- FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_ADD_SHARE;
- /** 验证是否认证空间粉丝 */
- FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_CHECK_PAGE_FANS;
- /** 获取登录用户自己的详细信息 */
- FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_GET_INFO;
- /** 获取其他用户的详细信息 */
- FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_GET_OTHER_INFO;
- /** 获取会员用户基本信息 */
- FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_GET_VIP_INFO;
- /** 获取会员用户详细信息 */
- FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_GET_VIP_RICH_INFO;
- /** 获取用户信息 */
- FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_GET_USER_INFO;
- /** 移动端获取用户信息 */
- FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_GET_SIMPLE_USER_INFO;
- ///@}
- /**
- * \name CGI接口相关参数类型定义
- */
- ///@{
- /** 必填的字符串类型参数 */
- typedef NSString *TCRequiredStr;
- /** 必填的UIImage类型参数 */
- typedef UIImage *TCRequiredImage;
- /** 必填的整型参数 */
- typedef NSInteger TCRequiredInt;
- /** 必填的数字类型 */
- typedef NSNumber *TCRequiredNumber;
- /** 必填的NSData参数 */
- typedef NSData *TCRequiredData;
- /** 可选的字符串类型参数 */
- typedef NSString *TCOptionalStr;
- /** 可选的UIImage类型参数 */
- typedef UIImage *TCOptionalImage;
- /** 可选的整型参数 */
- typedef NSInteger TCOptionalInt;
- /** 可选的数字类型 */
- typedef NSNumber *TCOptionalNumber;
- /** 可选的不定类型参数 */
- typedef id TCRequiredId;
- ///@}
- /**
- * \brief CGI请求的参数字典封装辅助基类
- *
- * 将相应属性的值以key-value的形式保存到参数字典中
- */
- @interface TCAPIRequest : NSMutableDictionary
- /** CGI请求的URL地址 */
- @property (nonatomic, readonly) NSURL *apiURL;
- /** CGI请求方式:"GET","POST" */
- @property (nonatomic, readonly) NSString *method;
- /**
- * API参数中的保留字段,可以塞入任意字典支持的类型,再调用完成后会带回给调用方
- */
- @property (nonatomic, retain) TCRequiredId paramUserData;
- /**
- * APIResponse,API的返回结果
- */
- @property (nonatomic, readonly) APIResponse *response;
- /** 取消相应的CGI请求任务 */
- - (void)cancel;
- @end
- @protocol TCAPIRequestDelegate <NSObject>
- @optional
- - (void)cgiRequest:(TCAPIRequest *)request didResponse:(APIResponse *)response;
- @end
|