// // WechatAuthSDK.h // WechatAuthSDK // // Created by 李凯 on 13-11-29. // Copyright (c) 2013年 Tencent. All rights reserved. // #import #import NS_ASSUME_NONNULL_BEGIN enum AuthErrCode { WechatAuth_Err_Ok = 0, //Auth成功 WechatAuth_Err_NormalErr = -1, //普通错误 WechatAuth_Err_NetworkErr = -2, //网络错误 WechatAuth_Err_GetQrcodeFailed = -3, //获取二维码失败 WechatAuth_Err_Cancel = -4, //用户取消授权 WechatAuth_Err_Timeout = -5, //超时 }; @protocol WechatAuthAPIDelegate @optional - (void)onAuthGotQrcode:(UIImage *)image; //得到二维码 - (void)onQrcodeScanned; //二维码被扫描 - (void)onAuthFinish:(int)errCode AuthCode:(nullable NSString *)authCode; //成功登录 @end @interface WechatAuthSDK : NSObject{ NSString *_sdkVersion; __weak id _delegate; } @property(nonatomic, weak, nullable) id delegate; @property(nonatomic, readonly) NSString *sdkVersion; //authSDK版本号 /*! @brief 发送登录请求,等待WechatAuthAPIDelegate回调 * * @param appId 微信开发者ID * @param nonceStr 一个随机的尽量不重复的字符串,用来使得每次的signature不同 * @param timeStamp 时间戳 * @param scope 应用授权作用域,拥有多个作用域用逗号(,)分隔 * @param signature 签名 * @param schemeData 会在扫码后拼在scheme后 * @return 成功返回YES,失败返回NO 注:该实现只保证同时只有一个Auth在运行,Auth未完成或未Stop再次调用Auth接口时会返回NO。 */ - (BOOL)Auth:(NSString *)appId nonceStr:(NSString *)nonceStr timeStamp:(NSString *)timeStamp scope:(NSString *)scope signature:(NSString *)signature schemeData:(nullable NSString *)schemeData; /*! @brief 暂停登录请求 * * @return 成功返回YES,失败返回NO。 */ - (BOOL)StopAuth; @end NS_ASSUME_NONNULL_END