diff --git a/RCTWeChat.podspec b/RCTWeChat.podspec index bcf3852d..39bc99a6 100644 --- a/RCTWeChat.podspec +++ b/RCTWeChat.podspec @@ -8,7 +8,7 @@ Pod::Spec.new do |s| s.name = "RCTWeChat" - s.version = "1.9.12" + s.version = "1.10.0" s.summary = "React-Native(iOS/Android) functionalities include WeChat Login, Share, Favorite and Payment {QQ: 336021910}" s.description = <<-DESC React-Native(iOS/Android) functionalities include WeChat Login, Share, Favorite and Payment {QQ: 336021910} @@ -18,10 +18,10 @@ Pod::Spec.new do |s| s.license = "MIT" s.platform = :ios, "9.0" s.source = { :git => "https://github.com/yorkie/react-native-wechat.git", :tag => "master" } + s.source_files = "ios/*.{h,m}" + s.dependency "React" - s.vendored_libraries = "ios/libWeChatSDK.a" + s.dependency "WechatOpenSDK", "1.8.4" s.requires_arc = true - s.frameworks = 'SystemConfiguration','CoreTelephony' - s.library = 'sqlite3','c++','z' end diff --git a/index.js b/index.js index 9dc02876..9bfdac57 100644 --- a/index.js +++ b/index.js @@ -95,16 +95,6 @@ export const removeAllListeners = emitter.removeAllListeners.bind(emitter); */ export const registerApp = wrapRegisterApp(WeChat.registerApp); -/** - * @method registerAppWithDescription - * @param {String} appid - the app id - * @param {String} appdesc - the app description - * @return {Promise} - */ -export const registerAppWithDescription = wrapRegisterApp( - WeChat.registerAppWithDescription, -); - /** * Return if the wechat app is installed in the device. * @method isWXAppInstalled diff --git a/ios/RCTWeChat.m b/ios/RCTWeChat.m index da657fa1..5ffe5d0e 100644 --- a/ios/RCTWeChat.m +++ b/ios/RCTWeChat.m @@ -66,13 +66,6 @@ + (BOOL)requiresMainQueueSetup { callback(@[[WXApi registerApp:appid] ? [NSNull null] : INVOKE_FAILED]); } -RCT_EXPORT_METHOD(registerAppWithDescription:(NSString *)appid - :(NSString *)appdesc - :(RCTResponseSenderBlock)callback) -{ - callback(@[[WXApi registerApp:appid withDescription:appdesc] ? [NSNull null] : INVOKE_FAILED]); -} - RCT_EXPORT_METHOD(isWXAppInstalled:(RCTResponseSenderBlock)callback) { callback(@[[NSNull null], @([WXApi isWXAppInstalled])]); diff --git a/ios/RCTWeChat.podspec b/ios/RCTWeChat.podspec deleted file mode 100644 index f3738cc8..00000000 --- a/ios/RCTWeChat.podspec +++ /dev/null @@ -1,38 +0,0 @@ -# -# Be sure to run `pod spec lint RCTPili.podspec' to ensure this is a -# valid spec and to remove all comments including this before submitting the spec. -# -# To learn more about Podspec attributes see http://docs.cocoapods.org/specification.html -# To see working Podspecs in the CocoaPods repo see https://github.com/CocoaPods/Specs/ -# - -Pod::Spec.new do |s| - s.name = "RCTWeChat" - s.version = "0.1.0" - s.summary = "React-Native(iOS/Android) functionalities include WeChat Login, Share, Favorite and Payment {QQ: 336021910}" - - # This description is used to generate tags and improve search results. - # * Think: What does it do? Why did you write it? What is the focus? - # * Try to keep it short, snappy and to the point. - # * Write the description between the DESC delimiters below. - # * Finally, don't worry about the indent, CocoaPods strips it! - s.description = <<-DESC - React-Native(iOS/Android) functionalities include WeChat Login, Share, Favorite and Payment {QQ: 336021910} - DESC - - s.homepage = "https://github.com/weflex/react-native-wechat" - s.license = "MIT" - # s.license = { :type => "MIT", :file => "FILE_LICENSE" } - s.author = { "weflex" => "336021910@qq.com" } - s.platform = :ios, "7.0" - s.source = { :git => "https://github.com/weflex/react-native-wechat.git", :tag => "master" } - s.source_files = "**/*.{h,m}" - s.requires_arc = true - - # s.xcconfig = { "HEADER_SEARCH_PATHS" => "$(SDKROOT)/usr/include/libxml2" } - s.dependency "React" - s.vendored_libraries = "libWeChatSDK.a" - s.ios.frameworks = 'SystemConfiguration','CoreTelephony','XCTest' - s.ios.library = 'sqlite3','c++','z' - -end diff --git a/ios/WXApi.h b/ios/WXApi.h deleted file mode 100644 index 85529162..00000000 --- a/ios/WXApi.h +++ /dev/null @@ -1,166 +0,0 @@ -// -// WXApi.h -// 所有Api接口 -// -// Created by Wechat on 12-2-28. -// Copyright (c) 2012年 Tencent. All rights reserved. -// - -#import -#import "WXApiObject.h" - - -#pragma mark - WXApiDelegate -/*! @brief 接收并处理来自微信终端程序的事件消息 - * - * 接收并处理来自微信终端程序的事件消息,期间微信界面会切换到第三方应用程序。 - * WXApiDelegate 会在handleOpenURL:delegate:中使用并触发。 - */ -@protocol WXApiDelegate -@optional - -/*! @brief 收到一个来自微信的请求,第三方应用程序处理完后调用sendResp向微信发送结果 - * - * 收到一个来自微信的请求,异步处理完成后必须调用sendResp发送处理结果给微信。 - * 可能收到的请求有GetMessageFromWXReq、ShowMessageFromWXReq等。 - * @param req 具体请求内容,是自动释放的 - */ --(void) onReq:(BaseReq*)req; - - - -/*! @brief 发送一个sendReq后,收到微信的回应 - * - * 收到一个来自微信的处理结果。调用一次sendReq后会收到onResp。 - * 可能收到的处理结果有SendMessageToWXResp、SendAuthResp等。 - * @param resp具体的回应内容,是自动释放的 - */ --(void) onResp:(BaseResp*)resp; - -@end - - - -#pragma mark - WXApi - -/*! @brief 微信Api接口函数类 - * - * 该类封装了微信终端SDK的所有接口 - */ -@interface WXApi : NSObject - -/*! @brief WXApi的成员函数,向微信终端程序注册第三方应用。 - * - * 需要在每次启动第三方应用程序时调用。第一次调用后,会在微信的可用应用列表中出现。 - * iOS7及以上系统需要调起一次微信才会出现在微信的可用应用列表中。 - * @attention 请保证在主线程中调用此函数 - * @param appid 微信开发者ID - * @param typeFlag 应用支持打开的文件类型 - * @return 成功返回YES,失败返回NO。 - */ -+(BOOL) registerApp:(NSString *)appid; - - -/*! @brief WXApi的成员函数,向微信终端程序注册第三方应用。 - * - * 需要在每次启动第三方应用程序时调用。第一次调用后,会在微信的可用应用列表中出现。 - * @see registerApp - * @param appid 微信开发者ID - * @param appdesc 应用附加信息,长度不超过1024字节 - * @return 成功返回YES,失败返回NO。 - */ -+(BOOL) registerApp:(NSString *)appid withDescription:(NSString *)appdesc; - - -/*! @brief WXApi的成员函数,向微信终端程序注册应用支持打开的文件类型。 - * - * 需要在每次启动第三方应用程序时调用。调用后并第一次成功分享数据到微信后,会在微信的可用应用列表中出现。 - * @see registerApp - * @param typeFlag 应用支持打开的数据类型, enAppSupportContentFlag枚举类型 “|” 操作后结果 - */ -+(void) registerAppSupportContentFlag:(UInt64)typeFlag; - - - -/*! @brief 处理微信通过URL启动App时传递的数据 - * - * 需要在 application:openURL:sourceApplication:annotation:或者application:handleOpenURL中调用。 - * @param url 微信启动第三方应用时传递过来的URL - * @param delegate WXApiDelegate对象,用来接收微信触发的消息。 - * @return 成功返回YES,失败返回NO。 - */ -+(BOOL) handleOpenURL:(NSURL *) url delegate:(id) delegate; - - - -/*! @brief 检查微信是否已被用户安装 - * - * @return 微信已安装返回YES,未安装返回NO。 - */ -+(BOOL) isWXAppInstalled; - - - -/*! @brief 判断当前微信的版本是否支持OpenApi - * - * @return 支持返回YES,不支持返回NO。 - */ -+(BOOL) isWXAppSupportApi; - - - -/*! @brief 获取微信的itunes安装地址 - * - * @return 微信的安装地址字符串。 - */ -+(NSString *) getWXAppInstallUrl; - - - -/*! @brief 获取当前微信SDK的版本号 - * - * @return 返回当前微信SDK的版本号 - */ -+(NSString *) getApiVersion; - - - -/*! @brief 打开微信 - * - * @return 成功返回YES,失败返回NO。 - */ -+(BOOL) openWXApp; - - - -/*! @brief 发送请求到微信,等待微信返回onResp - * - * 函数调用后,会切换到微信的界面。第三方应用程序等待微信返回onResp。微信在异步处理完成后一定会调用onResp。支持以下类型 - * SendAuthReq、SendMessageToWXReq、PayReq等。 - * @param req 具体的发送请求,在调用函数后,请自己释放。 - * @return 成功返回YES,失败返回NO。 - */ -+(BOOL) sendReq:(BaseReq*)req; - -/*! @brief 发送Auth请求到微信,支持用户没安装微信,等待微信返回onResp - * - * 函数调用后,会切换到微信的界面。第三方应用程序等待微信返回onResp。微信在异步处理完成后一定会调用onResp。支持SendAuthReq类型。 - * @param req 具体的发送请求,在调用函数后,请自己释放。 - * @param viewController 当前界面对象。 - * @param delegate WXApiDelegate对象,用来接收微信触发的消息。 - * @return 成功返回YES,失败返回NO。 - */ -+(BOOL) sendAuthReq:(SendAuthReq*)req viewController:(UIViewController*)viewController delegate:(id)delegate; - - -/*! @brief 收到微信onReq的请求,发送对应的应答给微信,并切换到微信界面 - * - * 函数调用后,会切换到微信的界面。第三方应用程序收到微信onReq的请求,异步处理该请求,完成后必须调用该函数。可能发送的相应有 - * GetMessageFromWXResp、ShowMessageFromWXResp等。 - * @param resp 具体的应答内容,调用函数后,请自己释放 - * @return 成功返回YES,失败返回NO。 - */ -+(BOOL) sendResp:(BaseResp*)resp; - - -@end diff --git a/ios/WXApiObject.h b/ios/WXApiObject.h deleted file mode 100644 index 12dc9ba7..00000000 --- a/ios/WXApiObject.h +++ /dev/null @@ -1,803 +0,0 @@ -// -// MMApiObject.h -// Api对象,包含所有接口和对象数据定义 -// -// Created by Wechat on 12-2-28. -// Copyright (c) 2012年 Tencent. All rights reserved. -// - -#import - -/*! @brief 错误码 - * - */ -enum WXErrCode { - WXSuccess = 0, /**< 成功 */ - WXErrCodeCommon = -1, /**< 普通错误类型 */ - WXErrCodeUserCancel = -2, /**< 用户点击取消并返回 */ - WXErrCodeSentFail = -3, /**< 发送失败 */ - WXErrCodeAuthDeny = -4, /**< 授权失败 */ - WXErrCodeUnsupport = -5, /**< 微信不支持 */ -}; - - - -/*! @brief 请求发送场景 - * - */ -enum WXScene { - WXSceneSession = 0, /**< 聊天界面 */ - WXSceneTimeline = 1, /**< 朋友圈 */ - WXSceneFavorite = 2, /**< 收藏 */ -}; - - - -enum WXAPISupport { - WXAPISupportSession = 0, -}; - - - -/*! @brief 跳转profile类型 - * - */ -enum WXBizProfileType{ - WXBizProfileType_Normal = 0, //**< 普通公众号 */ - WXBizProfileType_Device = 1, //**< 硬件公众号 */ -}; - - - -/*! @brief 跳转mp网页类型 - * - */ -enum WXMPWebviewType { - WXMPWebviewType_Ad = 0, /**< 广告网页 **/ -}; - - -/*! @brief 应用支持接收微信的文件类型 - * - */ -typedef NS_ENUM(UInt64, enAppSupportContentFlag) -{ - MMAPP_SUPPORT_NOCONTENT = 0x0, - MMAPP_SUPPORT_TEXT = 0x1, - MMAPP_SUPPORT_PICTURE = 0x2, - MMAPP_SUPPORT_LOCATION = 0x4, - MMAPP_SUPPORT_VIDEO = 0x8, - MMAPP_SUPPORT_AUDIO = 0x10, - MMAPP_SUPPORT_WEBPAGE = 0x20, - - // Suport File Type - MMAPP_SUPPORT_DOC = 0x40, // doc - MMAPP_SUPPORT_DOCX = 0x80, // docx - MMAPP_SUPPORT_PPT = 0x100, // ppt - MMAPP_SUPPORT_PPTX = 0x200, // pptx - MMAPP_SUPPORT_XLS = 0x400, // xls - MMAPP_SUPPORT_XLSX = 0x800, // xlsx - MMAPP_SUPPORT_PDF = 0x1000, // pdf -}; - -#pragma mark - BaseReq -/*! @brief 该类为微信终端SDK所有请求类的基类 - * - */ -@interface BaseReq : NSObject - -/** 请求类型 */ -@property (nonatomic, assign) int type; -/** 由用户微信号和AppID组成的唯一标识,发送请求时第三方程序必须填写,用于校验微信用户是否换号登录*/ -@property (nonatomic, retain) NSString* openID; - -@end - - - -#pragma mark - BaseResp -/*! @brief 该类为微信终端SDK所有响应类的基类 - * - */ -@interface BaseResp : NSObject -/** 错误码 */ -@property (nonatomic, assign) int errCode; -/** 错误提示字符串 */ -@property (nonatomic, retain) NSString *errStr; -/** 响应类型 */ -@property (nonatomic, assign) int type; - -@end - - - -#pragma mark - WXMediaMessage -@class WXMediaMessage; - -/*! @brief 第三方向微信终端发起支付的消息结构体 - * - * 第三方向微信终端发起支付的消息结构体,微信终端处理后会向第三方返回处理结果 - * @see PayResp - */ -@interface PayReq : BaseReq - -/** 商家向财付通申请的商家id */ -@property (nonatomic, retain) NSString *partnerId; -/** 预支付订单 */ -@property (nonatomic, retain) NSString *prepayId; -/** 随机串,防重发 */ -@property (nonatomic, retain) NSString *nonceStr; -/** 时间戳,防重发 */ -@property (nonatomic, assign) UInt32 timeStamp; -/** 商家根据财付通文档填写的数据和签名 */ -@property (nonatomic, retain) NSString *package; -/** 商家根据微信开放平台文档对数据做的签名 */ -@property (nonatomic, retain) NSString *sign; - -@end - - - -#pragma mark - PayResp -/*! @brief 微信终端返回给第三方的关于支付结果的结构体 - * - * 微信终端返回给第三方的关于支付结果的结构体 - */ -@interface PayResp : BaseResp - -/** 财付通返回给商家的信息 */ -@property (nonatomic, retain) NSString *returnKey; - -@end - - - -/*! @brief 第三方向微信终端发起拆企业红包的消息结构体 - * - * 第三方向微信终端发起拆企业红包的消息结构体,微信终端处理后会向第三方返回处理结果 - * @see HBReq - */ -@interface HBReq : BaseReq - -/** 随机串,防重发 */ -@property (nonatomic, retain) NSString *nonceStr; -/** 时间戳,防重发 */ -@property (nonatomic, assign) UInt32 timeStamp; -/** 商家根据微信企业红包开发文档填写的数据和签名 */ -@property (nonatomic, retain) NSString *package; -/** 商家根据微信企业红包开发文档对数据做的签名 */ -@property (nonatomic, retain) NSString *sign; - -@end - - - -#pragma mark - HBResp -/*! @brief 微信终端返回给第三方的关于拆企业红包结果的结构体 - * - * 微信终端返回给第三方的关于拆企业红包结果的结构体 - */ -@interface HBResp : BaseResp - -@end - - - - -#pragma mark - SendAuthReq -/*! @brief 第三方程序向微信终端请求认证的消息结构 - * - * 第三方程序要向微信申请认证,并请求某些权限,需要调用WXApi的sendReq成员函数, - * 向微信终端发送一个SendAuthReq消息结构。微信终端处理完后会向第三方程序发送一个处理结果。 - * @see SendAuthResp - */ -@interface SendAuthReq : BaseReq -/** 第三方程序要向微信申请认证,并请求某些权限,需要调用WXApi的sendReq成员函数,向微信终端发送一个SendAuthReq消息结构。微信终端处理完后会向第三方程序发送一个处理结果。 - * @see SendAuthResp - * @note scope字符串长度不能超过1K - */ -@property (nonatomic, retain) NSString* scope; -/** 第三方程序本身用来标识其请求的唯一性,最后跳转回第三方程序时,由微信终端回传。 - * @note state字符串长度不能超过1K - */ -@property (nonatomic, retain) NSString* state; -@end - - - -#pragma mark - SendAuthResp -/*! @brief 微信处理完第三方程序的认证和权限申请后向第三方程序回送的处理结果。 - * - * 第三方程序要向微信申请认证,并请求某些权限,需要调用WXApi的sendReq成员函数,向微信终端发送一个SendAuthReq消息结构。 - * 微信终端处理完后会向第三方程序发送一个SendAuthResp。 - * @see onResp - */ -@interface SendAuthResp : BaseResp -@property (nonatomic, retain) NSString* code; -/** 第三方程序发送时用来标识其请求的唯一性的标志,由第三方程序调用sendReq时传入,由微信终端回传 - * @note state字符串长度不能超过1K - */ -@property (nonatomic, retain) NSString* state; -@property (nonatomic, retain) NSString* lang; -@property (nonatomic, retain) NSString* country; -@end - - - -#pragma mark - SendMessageToWXReq -/*! @brief 第三方程序发送消息至微信终端程序的消息结构体 - * - * 第三方程序向微信发送信息需要传入SendMessageToWXReq结构体,信息类型包括文本消息和多媒体消息, - * 分别对应于text和message成员。调用该方法后,微信处理完信息会向第三方程序发送一个处理结果。 - * @see SendMessageToWXResp - */ -@interface SendMessageToWXReq : BaseReq -/** 发送消息的文本内容 - * @note 文本长度必须大于0且小于10K - */ -@property (nonatomic, retain) NSString* text; -/** 发送消息的多媒体内容 - * @see WXMediaMessage - */ -@property (nonatomic, retain) WXMediaMessage* message; -/** 发送消息的类型,包括文本消息和多媒体消息两种,两者只能选择其一,不能同时发送文本和多媒体消息 */ -@property (nonatomic, assign) BOOL bText; -/** 发送的目标场景,可以选择发送到会话(WXSceneSession)或者朋友圈(WXSceneTimeline)。 默认发送到会话。 - * @see WXScene - */ -@property (nonatomic, assign) int scene; - -@end - - - -#pragma mark - SendMessageToWXResp -/*! @brief 微信终端向第三方程序返回的SendMessageToWXReq处理结果。 - * - * 第三方程序向微信终端发送SendMessageToWXReq后,微信发送回来的处理结果,该结果用SendMessageToWXResp表示。 - */ -@interface SendMessageToWXResp : BaseResp -@property(nonatomic, retain) NSString* lang; -@property(nonatomic, retain) NSString* country; -@end - - - -#pragma mark - GetMessageFromWXReq -/*! @brief 微信终端向第三方程序请求提供内容的消息结构体。 - * - * 微信终端向第三方程序请求提供内容,微信终端会向第三方程序发送GetMessageFromWXReq消息结构体, - * 需要第三方程序调用sendResp返回一个GetMessageFromWXResp消息结构体。 - */ -@interface GetMessageFromWXReq : BaseReq -@property (nonatomic, retain) NSString* lang; -@property (nonatomic, retain) NSString* country; -@end - - - -#pragma mark - GetMessageFromWXResp -/*! @brief 微信终端向第三方程序请求提供内容,第三方程序向微信终端返回的消息结构体。 - * - * 微信终端向第三方程序请求提供内容,第三方程序调用sendResp向微信终端返回一个GetMessageFromWXResp消息结构体。 - */ -@interface GetMessageFromWXResp : BaseResp -/** 向微信终端提供的文本内容 - @note 文本长度必须大于0且小于10K - */ -@property (nonatomic, retain) NSString* text; -/** 向微信终端提供的多媒体内容。 - * @see WXMediaMessage - */ -@property (nonatomic, retain) WXMediaMessage* message; -/** 向微信终端提供内容的消息类型,包括文本消息和多媒体消息两种,两者只能选择其一,不能同时发送文本和多媒体消息 */ -@property (nonatomic, assign) BOOL bText; -@end - - - -#pragma mark - ShowMessageFromWXReq -/*! @brief 微信通知第三方程序,要求第三方程序显示的消息结构体。 - * - * 微信需要通知第三方程序显示或处理某些内容时,会向第三方程序发送ShowMessageFromWXReq消息结构体。 - * 第三方程序处理完内容后调用sendResp向微信终端发送ShowMessageFromWXResp。 - */ -@interface ShowMessageFromWXReq : BaseReq -/** 微信终端向第三方程序发送的要求第三方程序处理的多媒体内容 - * @see WXMediaMessage - */ -@property (nonatomic, retain) WXMediaMessage* message; -@property (nonatomic, retain) NSString* lang; -@property (nonatomic, retain) NSString* country; -@end - - - -#pragma mark - ShowMessageFromWXResp -/*! @brief 微信通知第三方程序,要求第三方程序显示或处理某些消息,第三方程序处理完后向微信终端发送的处理结果。 - * - * 微信需要通知第三方程序显示或处理某些内容时,会向第三方程序发送ShowMessageFromWXReq消息结构体。 - * 第三方程序处理完内容后调用sendResp向微信终端发送ShowMessageFromWXResp。 - */ -@interface ShowMessageFromWXResp : BaseResp -@end - - - -#pragma mark - LaunchFromWXReq -/*! @brief 微信终端打开第三方程序携带的消息结构体 - * - * 微信向第三方发送的结构体,第三方不需要返回 - */ -@interface LaunchFromWXReq : BaseReq -@property (nonatomic, retain) WXMediaMessage* message; -@property (nonatomic, retain) NSString* lang; -@property (nonatomic, retain) NSString* country; -@end - -#pragma mark - OpenTempSessionReq -/* ! @brief 第三方通知微信,打开临时会话 - * - * 第三方通知微信,打开临时会话 - */ -@interface OpenTempSessionReq : BaseReq -/** 需要打开的用户名 - * @attention 长度不能超过512字节 - */ -@property (nonatomic, retain) NSString* username; -/** 开发者自定义参数,拉起临时会话后会发给开发者后台,可以用于识别场景 - * @attention 长度不能超过32位 - */ -@property (nonatomic, retain) NSString* sessionFrom; -@end - -#pragma mark - OpenWebviewReq -/* ! @brief 第三方通知微信启动内部浏览器,打开指定网页 - * - * 第三方通知微信启动内部浏览器,打开指定Url对应的网页 - */ -@interface OpenWebviewReq : BaseReq -/** 需要打开的网页对应的Url - * @attention 长度不能超过1024 - */ -@property(nonatomic,retain)NSString* url; - -@end - -#pragma mark - OpenWebviewResp -/*! @brief 微信终端向第三方程序返回的OpenWebviewReq处理结果 - * - * 第三方程序向微信终端发送OpenWebviewReq后,微信发送回来的处理结果,该结果用OpenWebviewResp表示 - */ -@interface OpenWebviewResp : BaseResp - -@end - - -#pragma mark - OpenTempSessionResp -/*! @brief 微信终端向第三方程序返回的OpenTempSessionReq处理结果。 - * - * 第三方程序向微信终端发送OpenTempSessionReq后,微信发送回来的处理结果,该结果用OpenTempSessionResp表示。 - */ -@interface OpenTempSessionResp : BaseResp - -@end - -#pragma mark - OpenRankListReq -/* ! @brief 第三方通知微信,打开硬件排行榜 - * - * 第三方通知微信,打开硬件排行榜 - */ -@interface OpenRankListReq : BaseReq - -@end - -#pragma mark - OpenRanklistResp -/*! @brief 微信终端向第三方程序返回的OpenRankListReq处理结果。 - * - * 第三方程序向微信终端发送OpenRankListReq后,微信发送回来的处理结果,该结果用OpenRankListResp表示。 - */ -@interface OpenRankListResp : BaseResp - -@end - -#pragma mark - JumpToBizProfileReq -/* ! @brief 第三方通知微信,打开指定微信号profile页面 - * - * 第三方通知微信,打开指定微信号profile页面 - */ -@interface JumpToBizProfileReq : BaseReq -/** 跳转到该公众号的profile - * @attention 长度不能超过512字节 - */ -@property (nonatomic, retain) NSString* username; -/** 如果用户加了该公众号为好友,extMsg会上传到服务器 - * @attention 长度不能超过1024字节 - */ -@property (nonatomic, retain) NSString* extMsg; -/** - * 跳转的公众号类型 - * @see WXBizProfileType - */ -@property (nonatomic, assign) int profileType; -@end - - - -#pragma mark - JumpToBizWebviewReq -/* ! @brief 第三方通知微信,打开指定usrname的profile网页版 - * - */ -@interface JumpToBizWebviewReq : BaseReq -/** 跳转的网页类型,目前只支持广告页 - * @see WXMPWebviewType - */ -@property(nonatomic, assign) int webType; -/** 跳转到该公众号的profile网页版 - * @attention 长度不能超过512字节 - */ -@property(nonatomic, retain) NSString* tousrname; -/** 如果用户加了该公众号为好友,extMsg会上传到服务器 - * @attention 长度不能超过1024字节 - */ -@property(nonatomic, retain) NSString* extMsg; - -@end - -#pragma mark - WXCardItem - -@interface WXCardItem : NSObject -/** 卡id - * @attention 长度不能超过1024字节 - */ -@property (nonatomic,retain) NSString* cardId; -/** ext信息 - * @attention 长度不能超过2024字节 - */ -@property (nonatomic,retain) NSString* extMsg; -/** - * @attention 卡的状态,req不需要填。resp:0为未添加,1为已添加。 - */ -@property (nonatomic,assign) UInt32 cardState; -/** - * @attention req不需要填,chooseCard返回的。 - */ -@property (nonatomic,retain) NSString* encryptCode; -/** - * @attention req不需要填,chooseCard返回的。 - */ -@property (nonatomic,retain) NSString* appID; -@end; - -#pragma mark - AddCardToWXCardPackageReq -/* ! @brief 请求添加卡券至微信卡包 - * - */ - -@interface AddCardToWXCardPackageReq : BaseReq -/** 卡列表 - * @attention 个数不能超过40个 类型WXCardItem - */ -@property (nonatomic,retain) NSArray* cardAry; - -@end - - -#pragma mark - AddCardToWXCardPackageResp -/** ! @brief 微信返回第三方添加卡券结果 - * - */ - -@interface AddCardToWXCardPackageResp : BaseResp -/** 卡列表 - * @attention 个数不能超过40个 类型WXCardItem - */ -@property (nonatomic,retain) NSArray* cardAry; -@end - -#pragma mark - WXChooseCardReq -/* ! @brief 请求从微信选取卡券 - * - */ - -@interface WXChooseCardReq : BaseReq -@property(nonatomic, strong) NSString *appID; -@property(nonatomic, assign) UInt32 shopID; -@property(nonatomic, assign) UInt32 canMultiSelect; -@property(nonatomic, strong) NSString *cardType; -@property(nonatomic, strong) NSString *cardTpID; -@property(nonatomic, strong) NSString *signType; -@property(nonatomic, strong) NSString *cardSign; -@property(nonatomic, assign) UInt32 timeStamp; -@property(nonatomic, strong) NSString *nonceStr; -@end - - -#pragma mark - WXChooseCardResp -/** ! @brief 微信返回第三方请求选择卡券结果 - * - */ - -@interface WXChooseCardResp : BaseResp -@property (nonatomic,retain) NSArray* cardAry; -@end - -#pragma mark - WXMediaMessage - -/*! @brief 多媒体消息结构体 - * - * 用于微信终端和第三方程序之间传递消息的多媒体消息内容 - */ -@interface WXMediaMessage : NSObject - -+(WXMediaMessage *) message; - -/** 标题 - * @note 长度不能超过512字节 - */ -@property (nonatomic, retain) NSString *title; -/** 描述内容 - * @note 长度不能超过1K - */ -@property (nonatomic, retain) NSString *description; -/** 缩略图数据 - * @note 大小不能超过32K - */ -@property (nonatomic, retain) NSData *thumbData; -/** - * @note 长度不能超过64字节 - */ -@property (nonatomic, retain) NSString *mediaTagName; -/** - * - */ -@property (nonatomic, retain) NSString *messageExt; -@property (nonatomic, retain) NSString *messageAction; -/** - * 多媒体数据对象,可以为WXImageObject,WXMusicObject,WXVideoObject,WXWebpageObject等。 - */ -@property (nonatomic, retain) id mediaObject; - -/*! @brief 设置消息缩略图的方法 - * - * @param image 缩略图 - * @note 大小不能超过32K - */ -- (void) setThumbImage:(UIImage *)image; - -@end - - - -#pragma mark - WXImageObject -/*! @brief 多媒体消息中包含的图片数据对象 - * - * 微信终端和第三方程序之间传递消息中包含的图片数据对象。 - * @note imageData成员不能为空 - * @see WXMediaMessage - */ -@interface WXImageObject : NSObject -/*! @brief 返回一个WXImageObject对象 - * - * @note 返回的WXImageObject对象是自动释放的 - */ -+(WXImageObject *) object; - -/** 图片真实数据内容 - * @note 大小不能超过10M - */ -@property (nonatomic, retain) NSData *imageData; - -@end - - -#pragma mark - WXMusicObject -/*! @brief 多媒体消息中包含的音乐数据对象 - * - * 微信终端和第三方程序之间传递消息中包含的音乐数据对象。 - * @note musicUrl和musicLowBandUrl成员不能同时为空。 - * @see WXMediaMessage - */ -@interface WXMusicObject : NSObject -/*! @brief 返回一个WXMusicObject对象 - * - * @note 返回的WXMusicObject对象是自动释放的 - */ -+(WXMusicObject *) object; - -/** 音乐网页的url地址 - * @note 长度不能超过10K - */ -@property (nonatomic, retain) NSString *musicUrl; -/** 音乐lowband网页的url地址 - * @note 长度不能超过10K - */ -@property (nonatomic, retain) NSString *musicLowBandUrl; -/** 音乐数据url地址 - * @note 长度不能超过10K - */ -@property (nonatomic, retain) NSString *musicDataUrl; - -/**音乐lowband数据url地址 - * @note 长度不能超过10K - */ -@property (nonatomic, retain) NSString *musicLowBandDataUrl; - -@end - - - -#pragma mark - WXVideoObject -/*! @brief 多媒体消息中包含的视频数据对象 - * - * 微信终端和第三方程序之间传递消息中包含的视频数据对象。 - * @note videoUrl和videoLowBandUrl不能同时为空。 - * @see WXMediaMessage - */ -@interface WXVideoObject : NSObject -/*! @brief 返回一个WXVideoObject对象 - * - * @note 返回的WXVideoObject对象是自动释放的 - */ -+(WXVideoObject *) object; - -/** 视频网页的url地址 - * @note 长度不能超过10K - */ -@property (nonatomic, retain) NSString *videoUrl; -/** 视频lowband网页的url地址 - * @note 长度不能超过10K - */ -@property (nonatomic, retain) NSString *videoLowBandUrl; - -@end - - - -#pragma mark - WXWebpageObject -/*! @brief 多媒体消息中包含的网页数据对象 - * - * 微信终端和第三方程序之间传递消息中包含的网页数据对象。 - * @see WXMediaMessage - */ -@interface WXWebpageObject : NSObject -/*! @brief 返回一个WXWebpageObject对象 - * - * @note 返回的WXWebpageObject对象是自动释放的 - */ -+(WXWebpageObject *) object; - -/** 网页的url地址 - * @note 不能为空且长度不能超过10K - */ -@property (nonatomic, retain) NSString *webpageUrl; - -@end - - - -#pragma mark - WXAppExtendObject -/*! @brief 多媒体消息中包含的App扩展数据对象 - * - * 第三方程序向微信终端发送包含WXAppExtendObject的多媒体消息, - * 微信需要处理该消息时,会调用该第三方程序来处理多媒体消息内容。 - * @note url,extInfo和fileData不能同时为空 - * @see WXMediaMessage - */ -@interface WXAppExtendObject : NSObject -/*! @brief 返回一个WXAppExtendObject对象 - * - * @note 返回的WXAppExtendObject对象是自动释放的 - */ -+(WXAppExtendObject *) object; - -/** 若第三方程序不存在,微信终端会打开该url所指的App下载地址 - * @note 长度不能超过10K - */ -@property (nonatomic, retain) NSString *url; -/** 第三方程序自定义简单数据,微信终端会回传给第三方程序处理 - * @note 长度不能超过2K - */ -@property (nonatomic, retain) NSString *extInfo; -/** App文件数据,该数据发送给微信好友,微信好友需要点击后下载数据,微信终端会回传给第三方程序处理 - * @note 大小不能超过10M - */ -@property (nonatomic, retain) NSData *fileData; - -@end - - - -#pragma mark - WXEmoticonObject -/*! @brief 多媒体消息中包含的表情数据对象 - * - * 微信终端和第三方程序之间传递消息中包含的表情数据对象。 - * @see WXMediaMessage - */ -@interface WXEmoticonObject : NSObject - -/*! @brief 返回一个WXEmoticonObject对象 - * - * @note 返回的WXEmoticonObject对象是自动释放的 - */ -+(WXEmoticonObject *) object; - -/** 表情真实数据内容 - * @note 大小不能超过10M - */ -@property (nonatomic, retain) NSData *emoticonData; - -@end - - - -#pragma mark - WXFileObject -/*! @brief 多媒体消息中包含的文件数据对象 - * - * @see WXMediaMessage - */ -@interface WXFileObject : NSObject - -/*! @brief 返回一个WXFileObject对象 - * - * @note 返回的WXFileObject对象是自动释放的 - */ -+(WXFileObject *) object; - -/** 文件后缀名 - * @note 长度不超过64字节 - */ -@property (nonatomic, retain) NSString *fileExtension; - -/** 文件真实数据内容 - * @note 大小不能超过10M - */ -@property (nonatomic, retain) NSData *fileData; - -@end - - -#pragma mark - WXLocationObject -/*! @brief 多媒体消息中包含的地理位置数据对象 - * - * 微信终端和第三方程序之间传递消息中包含的地理位置数据对象。 - * @see WXMediaMessage - */ -@interface WXLocationObject : NSObject - -/*! @brief 返回一个WXLocationObject对象 - * - * @note 返回的WXLocationObject对象是自动释放的 - */ -+(WXLocationObject *) object; - -/** 地理位置信息 - * @note 经纬度 - */ -@property (nonatomic, assign) double lng; //经度 -@property (nonatomic, assign) double lat; //纬度 - -@end - - -#pragma mark - WXTextObject -/*! @brief 多媒体消息中包含的文本数据对象 - * - * 微信终端和第三方程序之间传递消息中包含的文本数据对象。 - * @see WXMediaMessage - */ -@interface WXTextObject : NSObject - -/*! @brief 返回一个WXTextObject对象 - * - * @note 返回的WXTextObject对象是自动释放的 - */ -+(WXTextObject *) object; - -/** 地理位置信息 - * @note 文本内容 - */ -@property (nonatomic, retain) NSString *contentText; - -@end - diff --git a/ios/WechatAuthSDK.h b/ios/WechatAuthSDK.h deleted file mode 100644 index 076b1d7f..00000000 --- a/ios/WechatAuthSDK.h +++ /dev/null @@ -1,64 +0,0 @@ -// -// WechatAuthSDK.h -// WechatAuthSDK -// -// Created by 李凯 on 13-11-29. -// Copyright (c) 2013年 Tencent. All rights reserved. -// - -#import -#import - -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:(NSString *)authCode; //成功登录 - -@end - -@interface WechatAuthSDK : NSObject{ - NSString *_sdkVersion; - __weak id _delegate; -} - -@property(nonatomic, weak) 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:(NSString *)schemeData; - - -/*! @brief 暂停登录请求 - * - * @return 成功返回YES,失败返回NO。 - */ -- (BOOL)StopAuth; - -@end diff --git a/ios/libWeChatSDK.a b/ios/libWeChatSDK.a deleted file mode 100644 index b537d543..00000000 Binary files a/ios/libWeChatSDK.a and /dev/null differ