Преглед изворни кода

使用pod 最新UM分享 ... 注释微信支付(测试分享功能)

zhengkun пре 2 месеци
родитељ
комит
2eb1c08b8b
73 измењених фајлова са 5765 додато и 2143 уклоњено
  1. 2 0
      ios/JianYuIOS/JianYuIOS.xcodeproj/project.pbxproj
  2. BIN
      ios/JianYuIOS/JianYuIOS.xcworkspace/xcuserdata/zhengkun.xcuserdatad/UserInterfaceState.xcuserstate
  3. 23 23
      ios/JianYuIOS/JianYuIOS/AppDelegate.m
  4. 14 14
      ios/JianYuIOS/JianYuIOS/Classes(新模块)/JYBaseViewController.m
  5. 14 14
      ios/JianYuIOS/JianYuIOS/Classes(模块)/JYNewExpViewController.m
  6. 14 14
      ios/JianYuIOS/JianYuIOS/Classes(模块)/JYNewMessViewController.m
  7. 14 14
      ios/JianYuIOS/JianYuIOS/Classes(模块)/JYNewMineViewController.m
  8. 14 14
      ios/JianYuIOS/JianYuIOS/Classes(模块)/JYNewSearchViewController.m
  9. 14 14
      ios/JianYuIOS/JianYuIOS/Classes(模块)/JYNewSubViewController.m
  10. 7 7
      ios/JianYuIOS/Podfile
  11. 11 3
      ios/JianYuIOS/Podfile.lock
  12. 1 0
      ios/JianYuIOS/Pods/Headers/Private/UMShare/WXApi.h
  13. 1 0
      ios/JianYuIOS/Pods/Headers/Private/UMShare/WXApiObject.h
  14. 1 0
      ios/JianYuIOS/Pods/Headers/Private/UMShare/WechatAuthSDK.h
  15. 1 0
      ios/JianYuIOS/Pods/Headers/Public/UMShare/WXApi.h
  16. 1 0
      ios/JianYuIOS/Pods/Headers/Public/UMShare/WXApiObject.h
  17. 1 0
      ios/JianYuIOS/Pods/Headers/Public/UMShare/WechatAuthSDK.h
  18. 11 3
      ios/JianYuIOS/Pods/Manifest.lock
  19. 2015 2015
      ios/JianYuIOS/Pods/Pods.xcodeproj/project.pbxproj
  20. 2 0
      ios/JianYuIOS/Pods/Target Support Files/Pods-JianYuIOS/Pods-JianYuIOS-resources.sh
  21. 3 3
      ios/JianYuIOS/Pods/Target Support Files/Pods-JianYuIOS/Pods-JianYuIOS.debug.xcconfig
  22. 3 3
      ios/JianYuIOS/Pods/Target Support Files/Pods-JianYuIOS/Pods-JianYuIOS.release.xcconfig
  23. 1 1
      ios/JianYuIOS/Pods/Target Support Files/UMShare/UMShare.debug.xcconfig
  24. 1 1
      ios/JianYuIOS/Pods/Target Support Files/UMShare/UMShare.release.xcconfig
  25. 4 0
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenAPI.framework/Headers/Modules/module.modulemap
  26. 220 0
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenAPI.framework/Headers/QQApiInterface.h
  27. 754 0
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenAPI.framework/Headers/QQApiInterfaceObject.h
  28. 420 0
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenAPI.framework/Headers/SDKDef.h
  29. 555 0
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenAPI.framework/Headers/TencentOAuth.h
  30. 24 0
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenAPI.framework/Headers/TencentOpenApiUmbrellaHeader.h
  31. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenAPI.framework/TencentOpenAPI
  32. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/Info.plist
  33. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/btn_cancel.png
  34. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/btn_cancel_hover.png
  35. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/refresh.png
  36. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/refresh@2x.png
  37. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/share_pengyouquan.png
  38. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/share_pengyouquan@2x.png
  39. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/share_qq.png
  40. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/share_qq@2x.png
  41. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/share_qzone.png
  42. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/share_qzone@2x.png
  43. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/share_safari.png
  44. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/share_safari@2x.png
  45. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/share_weixin.png
  46. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/share_weixin@2x.png
  47. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/webview_back.png
  48. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/webview_back@2x.png
  49. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/webview_backtogame.png
  50. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/webview_backtogame@2x.png
  51. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/webview_backward.png
  52. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/webview_backward@2x.png
  53. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/webview_for.png
  54. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/webview_for@2x.png
  55. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/webview_forward.png
  56. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/webview_forward@2x.png
  57. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/webview_more.png
  58. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/webview_more@2x.png
  59. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/webview_recommand.png
  60. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/webview_recommand@2x.png
  61. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/webview_stop.png
  62. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/webview_stop@2x.png
  63. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/webview_toolbg.png
  64. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/webview_toolbg@2x.png
  65. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/error.png
  66. 14 0
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/local.html
  67. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/qqicon.png
  68. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/success.png
  69. 231 0
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/WeChat/WechatSDK/WXApi.h
  70. 1306 0
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/WeChat/WechatSDK/WXApiObject.h
  71. 68 0
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/WeChat/WechatSDK/WechatAuthSDK.h
  72. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/WeChat/WechatSDK/libSocialOfficialWeChat.a
  73. BIN
      ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/WeChat/WechatSDK/libWeChatSDK.a

+ 2 - 0
ios/JianYuIOS/JianYuIOS.xcodeproj/project.pbxproj

@@ -905,11 +905,13 @@
 			);
 			);
 			inputPaths = (
 			inputPaths = (
 				"${PODS_ROOT}/Target Support Files/Pods-JianYuIOS/Pods-JianYuIOS-resources.sh",
 				"${PODS_ROOT}/Target Support Files/Pods-JianYuIOS/Pods-JianYuIOS-resources.sh",
+				"${PODS_ROOT}/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle",
 				"${PODS_ROOT}/UMShare/UMShare/UMSocialUI/UMSocialSDKResources.bundle",
 				"${PODS_ROOT}/UMShare/UMShare/UMSocialUI/UMSocialSDKResources.bundle",
 				"${PODS_CONFIGURATION_BUILD_DIR}/gRPC/gRPCCertificates.bundle",
 				"${PODS_CONFIGURATION_BUILD_DIR}/gRPC/gRPCCertificates.bundle",
 			);
 			);
 			name = "[CP] Copy Pods Resources";
 			name = "[CP] Copy Pods Resources";
 			outputPaths = (
 			outputPaths = (
+				"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/TencentOpenApi_IOS_Bundle.bundle",
 				"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/UMSocialSDKResources.bundle",
 				"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/UMSocialSDKResources.bundle",
 				"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/gRPCCertificates.bundle",
 				"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/gRPCCertificates.bundle",
 			);
 			);

BIN
ios/JianYuIOS/JianYuIOS.xcworkspace/xcuserdata/zhengkun.xcuserdatad/UserInterfaceState.xcuserstate


+ 23 - 23
ios/JianYuIOS/JianYuIOS/AppDelegate.m

@@ -475,29 +475,29 @@ didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken{
 #pragma mark 微信支付代理方法
 #pragma mark 微信支付代理方法
 -(void)onResp:(BaseResp*)resp{
 -(void)onResp:(BaseResp*)resp{
     NSLog(@"收到 微信 回执");
     NSLog(@"收到 微信 回执");
-    if ([resp isKindOfClass:[PayResp class]]){
-        PayResp*response=(PayResp*)resp;
-        NSString *paystatus =@"";
-        switch(response.errCode){
-            case WXSuccess:
-                paystatus = @"1";
-                NSLog(@"微信支付成功");
-                break;
-                
-            case WXErrCodeUserCancel:
-                paystatus = @"0";
-                NSLog(@"微信支付取消");
-                break;
-                
-            default:
-                paystatus = @"-1";
-                NSLog(@"微信支付失败");
-                break;
-        }
-        
-        
-        [[NSNotificationCenter defaultCenter] postNotificationName:AlipayWXpayStatus object:paystatus userInfo:nil];
-    }
+//    if ([resp isKindOfClass:[PayResp class]]){
+//        PayResp*response=(PayResp*)resp;
+//        NSString *paystatus =@"";
+//        switch(response.errCode){
+//            case WXSuccess:
+//                paystatus = @"1";
+//                NSLog(@"微信支付成功");
+//                break;
+//
+//            case WXErrCodeUserCancel:
+//                paystatus = @"0";
+//                NSLog(@"微信支付取消");
+//                break;
+//
+//            default:
+//                paystatus = @"-1";
+//                NSLog(@"微信支付失败");
+//                break;
+//        }
+//
+//
+//        [[NSNotificationCenter defaultCenter] postNotificationName:AlipayWXpayStatus object:paystatus userInfo:nil];
+//    }
 
 
 }
 }
 
 

+ 14 - 14
ios/JianYuIOS/JianYuIOS/Classes(新模块)/JYBaseViewController.m

@@ -891,20 +891,20 @@ NSString *const new_AesKey = @"mGlAgnIBB8bx2nch";
         return;
         return;
     }
     }
     //吊起微信
     //吊起微信
-    PayReq *request = [[PayReq alloc] init] ;
-    request.openID = dic[@"Appid"];
-    request.partnerId = dic[@"Partnerid"];
-    request.prepayId= dic[@"Prepayid"];
-    request.package = @"Sign=WXPay";
-    request.nonceStr= dic[@"Noncestr"];
-    request.timeStamp= [dic[@"Timestamp"] intValue];
-    request.sign= dic[@"Sign"];
-    
-    kMainQueue(^{
-        [WXApi sendReq:request completion:^(BOOL success) {
-            
-        }];
-    });
+//    PayReq *request = [[PayReq alloc] init] ;
+//    request.openID = dic[@"Appid"];
+//    request.partnerId = dic[@"Partnerid"];
+//    request.prepayId= dic[@"Prepayid"];
+//    request.package = @"Sign=WXPay";
+//    request.nonceStr= dic[@"Noncestr"];
+//    request.timeStamp= [dic[@"Timestamp"] intValue];
+//    request.sign= dic[@"Sign"];
+//    
+//    kMainQueue(^{
+//        [WXApi sendReq:request completion:^(BOOL success) {
+//            
+//        }];
+//    });
 }
 }
 -(void)jsAliPay:(NSDictionary *)dict {
 -(void)jsAliPay:(NSDictionary *)dict {
     if (![LXUserDefaults isInstallAli]) {
     if (![LXUserDefaults isInstallAli]) {

+ 14 - 14
ios/JianYuIOS/JianYuIOS/Classes(模块)/JYNewExpViewController.m

@@ -842,20 +842,20 @@ NSString *const new_AesKey_3 = @"mGlAgnIBB8bx2nch";
         return;
         return;
     }
     }
     //吊起微信
     //吊起微信
-    PayReq *request = [[PayReq alloc] init] ;
-    request.openID = dic[@"Appid"];
-    request.partnerId = dic[@"Partnerid"];
-    request.prepayId= dic[@"Prepayid"];
-    request.package = @"Sign=WXPay";
-    request.nonceStr= dic[@"Noncestr"];
-    request.timeStamp= [dic[@"Timestamp"] intValue];
-    request.sign= dic[@"Sign"];
-    
-    kMainQueue(^{
-        [WXApi sendReq:request completion:^(BOOL success) {
-            
-        }];
-    });
+//    PayReq *request = [[PayReq alloc] init] ;
+//    request.openID = dic[@"Appid"];
+//    request.partnerId = dic[@"Partnerid"];
+//    request.prepayId= dic[@"Prepayid"];
+//    request.package = @"Sign=WXPay";
+//    request.nonceStr= dic[@"Noncestr"];
+//    request.timeStamp= [dic[@"Timestamp"] intValue];
+//    request.sign= dic[@"Sign"];
+//    
+//    kMainQueue(^{
+//        [WXApi sendReq:request completion:^(BOOL success) {
+//            
+//        }];
+//    });
 }
 }
 -(void)jsAliPay:(NSDictionary *)dict {
 -(void)jsAliPay:(NSDictionary *)dict {
     if (![LXUserDefaults isInstallAli]) { 
     if (![LXUserDefaults isInstallAli]) { 

+ 14 - 14
ios/JianYuIOS/JianYuIOS/Classes(模块)/JYNewMessViewController.m

@@ -845,20 +845,20 @@ NSString *const new_AesKey_5 = @"mGlAgnIBB8bx2nch";
         return;
         return;
     }
     }
     //吊起微信
     //吊起微信
-    PayReq *request = [[PayReq alloc] init] ;
-    request.openID = dic[@"Appid"];
-    request.partnerId = dic[@"Partnerid"];
-    request.prepayId= dic[@"Prepayid"];
-    request.package = @"Sign=WXPay";
-    request.nonceStr= dic[@"Noncestr"];
-    request.timeStamp= [dic[@"Timestamp"] intValue];
-    request.sign= dic[@"Sign"];
-    
-    kMainQueue(^{
-        [WXApi sendReq:request completion:^(BOOL success) {
-            
-        }];
-    });
+//    PayReq *request = [[PayReq alloc] init] ;
+//    request.openID = dic[@"Appid"];
+//    request.partnerId = dic[@"Partnerid"];
+//    request.prepayId= dic[@"Prepayid"];
+//    request.package = @"Sign=WXPay";
+//    request.nonceStr= dic[@"Noncestr"];
+//    request.timeStamp= [dic[@"Timestamp"] intValue];
+//    request.sign= dic[@"Sign"];
+//    
+//    kMainQueue(^{
+//        [WXApi sendReq:request completion:^(BOOL success) {
+//            
+//        }];
+//    });
 }
 }
 -(void)jsAliPay:(NSDictionary *)dict {
 -(void)jsAliPay:(NSDictionary *)dict {
     if (![LXUserDefaults isInstallAli]) {
     if (![LXUserDefaults isInstallAli]) {

+ 14 - 14
ios/JianYuIOS/JianYuIOS/Classes(模块)/JYNewMineViewController.m

@@ -857,20 +857,20 @@ NSString *const new_AesKey_4 = @"mGlAgnIBB8bx2nch";
         return;
         return;
     }
     }
     //吊起微信
     //吊起微信
-    PayReq *request = [[PayReq alloc] init] ;
-    request.openID = dic[@"Appid"];
-    request.partnerId = dic[@"Partnerid"];
-    request.prepayId= dic[@"Prepayid"];
-    request.package = @"Sign=WXPay";
-    request.nonceStr= dic[@"Noncestr"];
-    request.timeStamp= [dic[@"Timestamp"] intValue];
-    request.sign= dic[@"Sign"];
-    
-    kMainQueue(^{
-        [WXApi sendReq:request completion:^(BOOL success) {
-            
-        }];
-    });
+//    PayReq *request = [[PayReq alloc] init] ;
+//    request.openID = dic[@"Appid"];
+//    request.partnerId = dic[@"Partnerid"];
+//    request.prepayId= dic[@"Prepayid"];
+//    request.package = @"Sign=WXPay";
+//    request.nonceStr= dic[@"Noncestr"];
+//    request.timeStamp= [dic[@"Timestamp"] intValue];
+//    request.sign= dic[@"Sign"];
+//    
+//    kMainQueue(^{
+//        [WXApi sendReq:request completion:^(BOOL success) {
+//            
+//        }];
+//    });
 }
 }
 -(void)jsAliPay:(NSDictionary *)dict {
 -(void)jsAliPay:(NSDictionary *)dict {
     if (![LXUserDefaults isInstallAli]) { 
     if (![LXUserDefaults isInstallAli]) { 

+ 14 - 14
ios/JianYuIOS/JianYuIOS/Classes(模块)/JYNewSearchViewController.m

@@ -1048,20 +1048,20 @@ NSString *const new_AesKey_1 = @"mGlAgnIBB8bx2nch";
         return;
         return;
     }
     }
     //吊起微信
     //吊起微信
-    PayReq *request = [[PayReq alloc] init] ;
-    request.openID = dic[@"Appid"];
-    request.partnerId = dic[@"Partnerid"];
-    request.prepayId= dic[@"Prepayid"];
-    request.package = @"Sign=WXPay";
-    request.nonceStr= dic[@"Noncestr"];
-    request.timeStamp= [dic[@"Timestamp"] intValue];
-    request.sign= dic[@"Sign"];
-    
-    kMainQueue(^{
-        [WXApi sendReq:request completion:^(BOOL success) {
-            
-        }];
-    });
+//    PayReq *request = [[PayReq alloc] init] ;
+//    request.openID = dic[@"Appid"];
+//    request.partnerId = dic[@"Partnerid"];
+//    request.prepayId= dic[@"Prepayid"];
+//    request.package = @"Sign=WXPay";
+//    request.nonceStr= dic[@"Noncestr"];
+//    request.timeStamp= [dic[@"Timestamp"] intValue];
+//    request.sign= dic[@"Sign"];
+//    
+//    kMainQueue(^{
+//        [WXApi sendReq:request completion:^(BOOL success) {
+//            
+//        }];
+//    });
 }
 }
 -(void)jsAliPay:(NSDictionary *)dict {
 -(void)jsAliPay:(NSDictionary *)dict {
     if (![LXUserDefaults isInstallAli]) { 
     if (![LXUserDefaults isInstallAli]) { 

+ 14 - 14
ios/JianYuIOS/JianYuIOS/Classes(模块)/JYNewSubViewController.m

@@ -845,20 +845,20 @@ NSString *const new_AesKey_2 = @"mGlAgnIBB8bx2nch";
         return;
         return;
     }
     }
     //吊起微信
     //吊起微信
-    PayReq *request = [[PayReq alloc] init] ;
-    request.openID = dic[@"Appid"];
-    request.partnerId = dic[@"Partnerid"];
-    request.prepayId= dic[@"Prepayid"];
-    request.package = @"Sign=WXPay";
-    request.nonceStr= dic[@"Noncestr"];
-    request.timeStamp= [dic[@"Timestamp"] intValue];
-    request.sign= dic[@"Sign"];
-    
-    kMainQueue(^{
-        [WXApi sendReq:request completion:^(BOOL success) {
-            
-        }];
-    });
+//    PayReq *request = [[PayReq alloc] init] ;
+//    request.openID = dic[@"Appid"];
+//    request.partnerId = dic[@"Partnerid"];
+//    request.prepayId= dic[@"Prepayid"];
+//    request.package = @"Sign=WXPay";
+//    request.nonceStr= dic[@"Noncestr"];
+//    request.timeStamp= [dic[@"Timestamp"] intValue];
+//    request.sign= dic[@"Sign"];
+//    
+//    kMainQueue(^{
+//        [WXApi sendReq:request completion:^(BOOL success) {
+//            
+//        }];
+//    });
 }
 }
 -(void)jsAliPay:(NSDictionary *)dict {
 -(void)jsAliPay:(NSDictionary *)dict {
     if (![LXUserDefaults isInstallAli]) { 
     if (![LXUserDefaults isInstallAli]) { 

+ 7 - 7
ios/JianYuIOS/Podfile

@@ -15,8 +15,8 @@ target 'JianYuIOS' do
 pod 'UMCommon'
 pod 'UMCommon'
 pod 'UMDevice'
 pod 'UMDevice'
 pod 'UMShare/UI'
 pod 'UMShare/UI'
-pod 'UMShare/Social/ReducedWeChat'
-pod 'UMShare/Social/ReducedQQ'
+pod 'UMShare/Social/WeChat'
+pod 'UMShare/Social/QQ'
 #pod 'WechatOpenSDK'
 #pod 'WechatOpenSDK'
   
   
   
   
@@ -40,11 +40,11 @@ pod 'UMShare/Social/ReducedQQ'
             end
             end
           end
           end
         end
         end
-        if target.name.include?('UMeng') || target.name.include?('UShareSDK')
-          target.build_configurations.each do |config|
-            config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64'
-          end
-        end
+#        if target.name.include?('UMeng') || target.name.include?('UShareSDK')
+#          target.build_configurations.each do |config|
+#            config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64'
+#          end
+#        end
       end
       end
     end
     end
   end
   end

+ 11 - 3
ios/JianYuIOS/Podfile.lock

@@ -395,12 +395,20 @@ PODS:
   - UMDevice (3.4.0)
   - UMDevice (3.4.0)
   - UMShare/Core (6.10.14):
   - UMShare/Core (6.10.14):
     - UMCommon
     - UMCommon
+  - UMShare/Social/QQ (6.10.14):
+    - UMCommon
+    - UMShare/Core
+    - UMShare/Social/ReducedQQ
   - UMShare/Social/ReducedQQ (6.10.14):
   - UMShare/Social/ReducedQQ (6.10.14):
     - UMCommon
     - UMCommon
     - UMShare/Core
     - UMShare/Core
   - UMShare/Social/ReducedWeChat (6.10.14):
   - UMShare/Social/ReducedWeChat (6.10.14):
     - UMCommon
     - UMCommon
     - UMShare/Core
     - UMShare/Core
+  - UMShare/Social/WeChat (6.10.14):
+    - UMCommon
+    - UMShare/Core
+    - UMShare/Social/ReducedWeChat
   - UMShare/UI (6.10.14):
   - UMShare/UI (6.10.14):
     - UMCommon
     - UMCommon
     - UMShare/Core
     - UMShare/Core
@@ -425,8 +433,8 @@ DEPENDENCIES:
   - SDWebImage
   - SDWebImage
   - UMCommon
   - UMCommon
   - UMDevice
   - UMDevice
-  - UMShare/Social/ReducedQQ
-  - UMShare/Social/ReducedWeChat
+  - UMShare/Social/QQ
+  - UMShare/Social/WeChat
   - UMShare/UI
   - UMShare/UI
   - zkprotocol (from `zkprotocol.podspec`)
   - zkprotocol (from `zkprotocol.podspec`)
 
 
@@ -478,6 +486,6 @@ SPEC CHECKSUMS:
   UMShare: a33ebb09c2b2a39fee1f3d09a3977149d7822997
   UMShare: a33ebb09c2b2a39fee1f3d09a3977149d7822997
   zkprotocol: 21517643081c5c696d1f7f2e533ce89c52f888af
   zkprotocol: 21517643081c5c696d1f7f2e533ce89c52f888af
 
 
-PODFILE CHECKSUM: 724af8d9ab8a5a4a9370152e68feb1b7cf94fefe
+PODFILE CHECKSUM: a28e6c0fa702d6fbcb2c2f95649da6525665b23d
 
 
 COCOAPODS: 1.15.2
 COCOAPODS: 1.15.2

+ 1 - 0
ios/JianYuIOS/Pods/Headers/Private/UMShare/WXApi.h

@@ -0,0 +1 @@
+../../../UMShare/UMShare/SocialLibraries/WeChat/WechatSDK/WXApi.h

+ 1 - 0
ios/JianYuIOS/Pods/Headers/Private/UMShare/WXApiObject.h

@@ -0,0 +1 @@
+../../../UMShare/UMShare/SocialLibraries/WeChat/WechatSDK/WXApiObject.h

+ 1 - 0
ios/JianYuIOS/Pods/Headers/Private/UMShare/WechatAuthSDK.h

@@ -0,0 +1 @@
+../../../UMShare/UMShare/SocialLibraries/WeChat/WechatSDK/WechatAuthSDK.h

+ 1 - 0
ios/JianYuIOS/Pods/Headers/Public/UMShare/WXApi.h

@@ -0,0 +1 @@
+../../../UMShare/UMShare/SocialLibraries/WeChat/WechatSDK/WXApi.h

+ 1 - 0
ios/JianYuIOS/Pods/Headers/Public/UMShare/WXApiObject.h

@@ -0,0 +1 @@
+../../../UMShare/UMShare/SocialLibraries/WeChat/WechatSDK/WXApiObject.h

+ 1 - 0
ios/JianYuIOS/Pods/Headers/Public/UMShare/WechatAuthSDK.h

@@ -0,0 +1 @@
+../../../UMShare/UMShare/SocialLibraries/WeChat/WechatSDK/WechatAuthSDK.h

+ 11 - 3
ios/JianYuIOS/Pods/Manifest.lock

@@ -395,12 +395,20 @@ PODS:
   - UMDevice (3.4.0)
   - UMDevice (3.4.0)
   - UMShare/Core (6.10.14):
   - UMShare/Core (6.10.14):
     - UMCommon
     - UMCommon
+  - UMShare/Social/QQ (6.10.14):
+    - UMCommon
+    - UMShare/Core
+    - UMShare/Social/ReducedQQ
   - UMShare/Social/ReducedQQ (6.10.14):
   - UMShare/Social/ReducedQQ (6.10.14):
     - UMCommon
     - UMCommon
     - UMShare/Core
     - UMShare/Core
   - UMShare/Social/ReducedWeChat (6.10.14):
   - UMShare/Social/ReducedWeChat (6.10.14):
     - UMCommon
     - UMCommon
     - UMShare/Core
     - UMShare/Core
+  - UMShare/Social/WeChat (6.10.14):
+    - UMCommon
+    - UMShare/Core
+    - UMShare/Social/ReducedWeChat
   - UMShare/UI (6.10.14):
   - UMShare/UI (6.10.14):
     - UMCommon
     - UMCommon
     - UMShare/Core
     - UMShare/Core
@@ -425,8 +433,8 @@ DEPENDENCIES:
   - SDWebImage
   - SDWebImage
   - UMCommon
   - UMCommon
   - UMDevice
   - UMDevice
-  - UMShare/Social/ReducedQQ
-  - UMShare/Social/ReducedWeChat
+  - UMShare/Social/QQ
+  - UMShare/Social/WeChat
   - UMShare/UI
   - UMShare/UI
   - zkprotocol (from `zkprotocol.podspec`)
   - zkprotocol (from `zkprotocol.podspec`)
 
 
@@ -478,6 +486,6 @@ SPEC CHECKSUMS:
   UMShare: a33ebb09c2b2a39fee1f3d09a3977149d7822997
   UMShare: a33ebb09c2b2a39fee1f3d09a3977149d7822997
   zkprotocol: 21517643081c5c696d1f7f2e533ce89c52f888af
   zkprotocol: 21517643081c5c696d1f7f2e533ce89c52f888af
 
 
-PODFILE CHECKSUM: 724af8d9ab8a5a4a9370152e68feb1b7cf94fefe
+PODFILE CHECKSUM: a28e6c0fa702d6fbcb2c2f95649da6525665b23d
 
 
 COCOAPODS: 1.15.2
 COCOAPODS: 1.15.2

Разлика између датотеке није приказан због своје велике величине
+ 2015 - 2015
ios/JianYuIOS/Pods/Pods.xcodeproj/project.pbxproj


+ 2 - 0
ios/JianYuIOS/Pods/Target Support Files/Pods-JianYuIOS/Pods-JianYuIOS-resources.sh

@@ -97,10 +97,12 @@ EOM
   esac
   esac
 }
 }
 if [[ "$CONFIGURATION" == "Debug" ]]; then
 if [[ "$CONFIGURATION" == "Debug" ]]; then
+  install_resource "${PODS_ROOT}/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle"
   install_resource "${PODS_ROOT}/UMShare/UMShare/UMSocialUI/UMSocialSDKResources.bundle"
   install_resource "${PODS_ROOT}/UMShare/UMShare/UMSocialUI/UMSocialSDKResources.bundle"
   install_resource "${PODS_CONFIGURATION_BUILD_DIR}/gRPC/gRPCCertificates.bundle"
   install_resource "${PODS_CONFIGURATION_BUILD_DIR}/gRPC/gRPCCertificates.bundle"
 fi
 fi
 if [[ "$CONFIGURATION" == "Release" ]]; then
 if [[ "$CONFIGURATION" == "Release" ]]; then
+  install_resource "${PODS_ROOT}/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle"
   install_resource "${PODS_ROOT}/UMShare/UMShare/UMSocialUI/UMSocialSDKResources.bundle"
   install_resource "${PODS_ROOT}/UMShare/UMShare/UMSocialUI/UMSocialSDKResources.bundle"
   install_resource "${PODS_CONFIGURATION_BUILD_DIR}/gRPC/gRPCCertificates.bundle"
   install_resource "${PODS_CONFIGURATION_BUILD_DIR}/gRPC/gRPCCertificates.bundle"
 fi
 fi

+ 3 - 3
ios/JianYuIOS/Pods/Target Support Files/Pods-JianYuIOS/Pods-JianYuIOS.debug.xcconfig

@@ -1,10 +1,10 @@
 CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
 CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
 EXCLUDED_ARCHS[sdk=iphonesimulator*] = arm64
 EXCLUDED_ARCHS[sdk=iphonesimulator*] = arm64
-FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/UMCommon/UMCommon_7.5.2" "${PODS_ROOT}/UMDevice/UMDevice_3.4.0" "${PODS_ROOT}/UMShare/UMShare" "${PODS_ROOT}/UMShare/UMShare/UMSocialUI" "${PODS_XCFRAMEWORKS_BUILD_DIR}/UMCommon" "${PODS_XCFRAMEWORKS_BUILD_DIR}/UMDevice"
+FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/UMCommon/UMCommon_7.5.2" "${PODS_ROOT}/UMDevice/UMDevice_3.4.0" "${PODS_ROOT}/UMShare/UMShare" "${PODS_ROOT}/UMShare/UMShare/SocialLibraries/QQ/QQSDK" "${PODS_ROOT}/UMShare/UMShare/UMSocialUI" "${PODS_XCFRAMEWORKS_BUILD_DIR}/UMCommon" "${PODS_XCFRAMEWORKS_BUILD_DIR}/UMDevice"
 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 $(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1
 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 $(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1
 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/BoringSSL-GRPC" "${PODS_ROOT}/Headers/Public/FMDB" "${PODS_ROOT}/Headers/Public/JPush" "${PODS_ROOT}/Headers/Public/MBProgressHUD" "${PODS_ROOT}/Headers/Public/Protobuf" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/UMShare" "${PODS_ROOT}/Headers/Public/abseil" "${PODS_ROOT}/Headers/Public/gRPC" "${PODS_ROOT}/Headers/Public/gRPC-Core" "${PODS_ROOT}/Headers/Public/gRPC-ProtoRPC" "${PODS_ROOT}/Headers/Public/gRPC-RxLibrary" "${PODS_ROOT}/Headers/Public/iCloudDocumentSync"
 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/BoringSSL-GRPC" "${PODS_ROOT}/Headers/Public/FMDB" "${PODS_ROOT}/Headers/Public/JPush" "${PODS_ROOT}/Headers/Public/MBProgressHUD" "${PODS_ROOT}/Headers/Public/Protobuf" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/UMShare" "${PODS_ROOT}/Headers/Public/abseil" "${PODS_ROOT}/Headers/Public/gRPC" "${PODS_ROOT}/Headers/Public/gRPC-Core" "${PODS_ROOT}/Headers/Public/gRPC-ProtoRPC" "${PODS_ROOT}/Headers/Public/gRPC-RxLibrary" "${PODS_ROOT}/Headers/Public/iCloudDocumentSync"
-LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/BoringSSL-GRPC" "${PODS_CONFIGURATION_BUILD_DIR}/FMDB" "${PODS_CONFIGURATION_BUILD_DIR}/MBProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/Protobuf" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage" "${PODS_CONFIGURATION_BUILD_DIR}/abseil" "${PODS_CONFIGURATION_BUILD_DIR}/gRPC" "${PODS_CONFIGURATION_BUILD_DIR}/gRPC-Core" "${PODS_CONFIGURATION_BUILD_DIR}/gRPC-ProtoRPC" "${PODS_CONFIGURATION_BUILD_DIR}/gRPC-RxLibrary" "${PODS_CONFIGURATION_BUILD_DIR}/iCloudDocumentSync" "${PODS_ROOT}/JCore" "${PODS_ROOT}/JPush" "${PODS_ROOT}/UMShare/UMShare/SocialLibraries/QQ" "${PODS_ROOT}/UMShare/UMShare/SocialLibraries/WeChat"
-OTHER_LDFLAGS = $(inherited) -ObjC -l"AFNetworking" -l"BoringSSL-GRPC" -l"FMDB" -l"MBProgressHUD" -l"Protobuf" -l"SDWebImage" -l"SocialQQ" -l"SocialWeChat" -l"abseil" -l"c++" -l"gRPC" -l"gRPC-Core" -l"gRPC-ProtoRPC" -l"gRPC-RxLibrary" -l"iCloudDocumentSync" -l"jcore-ios-2.4.0" -l"jpush-ios-3.3.6" -l"resolv" -l"sqlite3" -l"z" -framework "CFNetwork" -framework "CoreFoundation" -framework "CoreGraphics" -framework "CoreTelephony" -framework "Foundation" -framework "ImageIO" -framework "MobileCoreServices" -framework "QuartzCore" -framework "Security" -framework "StoreKit" -framework "SystemConfiguration" -framework "UIKit" -framework "UMCommon" -framework "UMDevice" -framework "UMShare" -framework "UShareUI" -framework "WebKit" -weak_framework "AppTrackingTransparency" -weak_framework "UserNotifications"
+LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/BoringSSL-GRPC" "${PODS_CONFIGURATION_BUILD_DIR}/FMDB" "${PODS_CONFIGURATION_BUILD_DIR}/MBProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/Protobuf" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage" "${PODS_CONFIGURATION_BUILD_DIR}/abseil" "${PODS_CONFIGURATION_BUILD_DIR}/gRPC" "${PODS_CONFIGURATION_BUILD_DIR}/gRPC-Core" "${PODS_CONFIGURATION_BUILD_DIR}/gRPC-ProtoRPC" "${PODS_CONFIGURATION_BUILD_DIR}/gRPC-RxLibrary" "${PODS_CONFIGURATION_BUILD_DIR}/iCloudDocumentSync" "${PODS_ROOT}/JCore" "${PODS_ROOT}/JPush" "${PODS_ROOT}/UMShare/UMShare/SocialLibraries/QQ" "${PODS_ROOT}/UMShare/UMShare/SocialLibraries/WeChat" "${PODS_ROOT}/UMShare/UMShare/SocialLibraries/WeChat/WechatSDK"
+OTHER_LDFLAGS = $(inherited) -ObjC -l"AFNetworking" -l"BoringSSL-GRPC" -l"FMDB" -l"MBProgressHUD" -l"Protobuf" -l"SDWebImage" -l"SocialOfficialWeChat" -l"SocialQQ" -l"SocialWeChat" -l"WeChatSDK" -l"abseil" -l"c++" -l"gRPC" -l"gRPC-Core" -l"gRPC-ProtoRPC" -l"gRPC-RxLibrary" -l"iCloudDocumentSync" -l"jcore-ios-2.4.0" -l"jpush-ios-3.3.6" -l"resolv" -l"sqlite3" -l"z" -framework "CFNetwork" -framework "CoreFoundation" -framework "CoreGraphics" -framework "CoreTelephony" -framework "Foundation" -framework "ImageIO" -framework "MobileCoreServices" -framework "QuartzCore" -framework "Security" -framework "StoreKit" -framework "SystemConfiguration" -framework "TencentOpenAPI" -framework "UIKit" -framework "UMCommon" -framework "UMDevice" -framework "UMShare" -framework "UShareUI" -framework "WebKit" -weak_framework "AppTrackingTransparency" -weak_framework "UserNotifications"
 PODS_BUILD_DIR = ${BUILD_DIR}
 PODS_BUILD_DIR = ${BUILD_DIR}
 PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
 PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
 PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
 PODS_PODFILE_DIR_PATH = ${SRCROOT}/.

+ 3 - 3
ios/JianYuIOS/Pods/Target Support Files/Pods-JianYuIOS/Pods-JianYuIOS.release.xcconfig

@@ -1,10 +1,10 @@
 CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
 CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
 EXCLUDED_ARCHS[sdk=iphonesimulator*] = arm64
 EXCLUDED_ARCHS[sdk=iphonesimulator*] = arm64
-FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/UMCommon/UMCommon_7.5.2" "${PODS_ROOT}/UMDevice/UMDevice_3.4.0" "${PODS_ROOT}/UMShare/UMShare" "${PODS_ROOT}/UMShare/UMShare/UMSocialUI" "${PODS_XCFRAMEWORKS_BUILD_DIR}/UMCommon" "${PODS_XCFRAMEWORKS_BUILD_DIR}/UMDevice"
+FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/UMCommon/UMCommon_7.5.2" "${PODS_ROOT}/UMDevice/UMDevice_3.4.0" "${PODS_ROOT}/UMShare/UMShare" "${PODS_ROOT}/UMShare/UMShare/SocialLibraries/QQ/QQSDK" "${PODS_ROOT}/UMShare/UMShare/UMSocialUI" "${PODS_XCFRAMEWORKS_BUILD_DIR}/UMCommon" "${PODS_XCFRAMEWORKS_BUILD_DIR}/UMDevice"
 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 $(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1
 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 $(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1
 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/BoringSSL-GRPC" "${PODS_ROOT}/Headers/Public/FMDB" "${PODS_ROOT}/Headers/Public/JPush" "${PODS_ROOT}/Headers/Public/MBProgressHUD" "${PODS_ROOT}/Headers/Public/Protobuf" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/UMShare" "${PODS_ROOT}/Headers/Public/abseil" "${PODS_ROOT}/Headers/Public/gRPC" "${PODS_ROOT}/Headers/Public/gRPC-Core" "${PODS_ROOT}/Headers/Public/gRPC-ProtoRPC" "${PODS_ROOT}/Headers/Public/gRPC-RxLibrary" "${PODS_ROOT}/Headers/Public/iCloudDocumentSync"
 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/BoringSSL-GRPC" "${PODS_ROOT}/Headers/Public/FMDB" "${PODS_ROOT}/Headers/Public/JPush" "${PODS_ROOT}/Headers/Public/MBProgressHUD" "${PODS_ROOT}/Headers/Public/Protobuf" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/UMShare" "${PODS_ROOT}/Headers/Public/abseil" "${PODS_ROOT}/Headers/Public/gRPC" "${PODS_ROOT}/Headers/Public/gRPC-Core" "${PODS_ROOT}/Headers/Public/gRPC-ProtoRPC" "${PODS_ROOT}/Headers/Public/gRPC-RxLibrary" "${PODS_ROOT}/Headers/Public/iCloudDocumentSync"
-LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/BoringSSL-GRPC" "${PODS_CONFIGURATION_BUILD_DIR}/FMDB" "${PODS_CONFIGURATION_BUILD_DIR}/MBProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/Protobuf" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage" "${PODS_CONFIGURATION_BUILD_DIR}/abseil" "${PODS_CONFIGURATION_BUILD_DIR}/gRPC" "${PODS_CONFIGURATION_BUILD_DIR}/gRPC-Core" "${PODS_CONFIGURATION_BUILD_DIR}/gRPC-ProtoRPC" "${PODS_CONFIGURATION_BUILD_DIR}/gRPC-RxLibrary" "${PODS_CONFIGURATION_BUILD_DIR}/iCloudDocumentSync" "${PODS_ROOT}/JCore" "${PODS_ROOT}/JPush" "${PODS_ROOT}/UMShare/UMShare/SocialLibraries/QQ" "${PODS_ROOT}/UMShare/UMShare/SocialLibraries/WeChat"
-OTHER_LDFLAGS = $(inherited) -ObjC -l"AFNetworking" -l"BoringSSL-GRPC" -l"FMDB" -l"MBProgressHUD" -l"Protobuf" -l"SDWebImage" -l"SocialQQ" -l"SocialWeChat" -l"abseil" -l"c++" -l"gRPC" -l"gRPC-Core" -l"gRPC-ProtoRPC" -l"gRPC-RxLibrary" -l"iCloudDocumentSync" -l"jcore-ios-2.4.0" -l"jpush-ios-3.3.6" -l"resolv" -l"sqlite3" -l"z" -framework "CFNetwork" -framework "CoreFoundation" -framework "CoreGraphics" -framework "CoreTelephony" -framework "Foundation" -framework "ImageIO" -framework "MobileCoreServices" -framework "QuartzCore" -framework "Security" -framework "StoreKit" -framework "SystemConfiguration" -framework "UIKit" -framework "UMCommon" -framework "UMDevice" -framework "UMShare" -framework "UShareUI" -framework "WebKit" -weak_framework "AppTrackingTransparency" -weak_framework "UserNotifications"
+LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/BoringSSL-GRPC" "${PODS_CONFIGURATION_BUILD_DIR}/FMDB" "${PODS_CONFIGURATION_BUILD_DIR}/MBProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/Protobuf" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage" "${PODS_CONFIGURATION_BUILD_DIR}/abseil" "${PODS_CONFIGURATION_BUILD_DIR}/gRPC" "${PODS_CONFIGURATION_BUILD_DIR}/gRPC-Core" "${PODS_CONFIGURATION_BUILD_DIR}/gRPC-ProtoRPC" "${PODS_CONFIGURATION_BUILD_DIR}/gRPC-RxLibrary" "${PODS_CONFIGURATION_BUILD_DIR}/iCloudDocumentSync" "${PODS_ROOT}/JCore" "${PODS_ROOT}/JPush" "${PODS_ROOT}/UMShare/UMShare/SocialLibraries/QQ" "${PODS_ROOT}/UMShare/UMShare/SocialLibraries/WeChat" "${PODS_ROOT}/UMShare/UMShare/SocialLibraries/WeChat/WechatSDK"
+OTHER_LDFLAGS = $(inherited) -ObjC -l"AFNetworking" -l"BoringSSL-GRPC" -l"FMDB" -l"MBProgressHUD" -l"Protobuf" -l"SDWebImage" -l"SocialOfficialWeChat" -l"SocialQQ" -l"SocialWeChat" -l"WeChatSDK" -l"abseil" -l"c++" -l"gRPC" -l"gRPC-Core" -l"gRPC-ProtoRPC" -l"gRPC-RxLibrary" -l"iCloudDocumentSync" -l"jcore-ios-2.4.0" -l"jpush-ios-3.3.6" -l"resolv" -l"sqlite3" -l"z" -framework "CFNetwork" -framework "CoreFoundation" -framework "CoreGraphics" -framework "CoreTelephony" -framework "Foundation" -framework "ImageIO" -framework "MobileCoreServices" -framework "QuartzCore" -framework "Security" -framework "StoreKit" -framework "SystemConfiguration" -framework "TencentOpenAPI" -framework "UIKit" -framework "UMCommon" -framework "UMDevice" -framework "UMShare" -framework "UShareUI" -framework "WebKit" -weak_framework "AppTrackingTransparency" -weak_framework "UserNotifications"
 PODS_BUILD_DIR = ${BUILD_DIR}
 PODS_BUILD_DIR = ${BUILD_DIR}
 PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
 PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
 PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
 PODS_PODFILE_DIR_PATH = ${SRCROOT}/.

+ 1 - 1
ios/JianYuIOS/Pods/Target Support Files/UMShare/UMShare.debug.xcconfig

@@ -1,7 +1,7 @@
 CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
 CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
 CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/UMShare
 CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/UMShare
 EXCLUDED_ARCHS[sdk=iphonesimulator*] = arm64
 EXCLUDED_ARCHS[sdk=iphonesimulator*] = arm64
-FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/UMCommon/UMCommon_7.5.2" "${PODS_ROOT}/UMDevice/UMDevice_3.4.0" "${PODS_ROOT}/UMShare/UMShare" "${PODS_ROOT}/UMShare/UMShare/UMSocialUI" "${PODS_XCFRAMEWORKS_BUILD_DIR}/UMCommon" "${PODS_XCFRAMEWORKS_BUILD_DIR}/UMDevice"
+FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/UMCommon/UMCommon_7.5.2" "${PODS_ROOT}/UMDevice/UMDevice_3.4.0" "${PODS_ROOT}/UMShare/UMShare" "${PODS_ROOT}/UMShare/UMShare/SocialLibraries/QQ/QQSDK" "${PODS_ROOT}/UMShare/UMShare/UMSocialUI" "${PODS_XCFRAMEWORKS_BUILD_DIR}/UMCommon" "${PODS_XCFRAMEWORKS_BUILD_DIR}/UMDevice"
 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/UMShare" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/UMShare"
 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/UMShare" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/UMShare"
 PODS_BUILD_DIR = ${BUILD_DIR}
 PODS_BUILD_DIR = ${BUILD_DIR}

+ 1 - 1
ios/JianYuIOS/Pods/Target Support Files/UMShare/UMShare.release.xcconfig

@@ -1,7 +1,7 @@
 CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
 CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
 CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/UMShare
 CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/UMShare
 EXCLUDED_ARCHS[sdk=iphonesimulator*] = arm64
 EXCLUDED_ARCHS[sdk=iphonesimulator*] = arm64
-FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/UMCommon/UMCommon_7.5.2" "${PODS_ROOT}/UMDevice/UMDevice_3.4.0" "${PODS_ROOT}/UMShare/UMShare" "${PODS_ROOT}/UMShare/UMShare/UMSocialUI" "${PODS_XCFRAMEWORKS_BUILD_DIR}/UMCommon" "${PODS_XCFRAMEWORKS_BUILD_DIR}/UMDevice"
+FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/UMCommon/UMCommon_7.5.2" "${PODS_ROOT}/UMDevice/UMDevice_3.4.0" "${PODS_ROOT}/UMShare/UMShare" "${PODS_ROOT}/UMShare/UMShare/SocialLibraries/QQ/QQSDK" "${PODS_ROOT}/UMShare/UMShare/UMSocialUI" "${PODS_XCFRAMEWORKS_BUILD_DIR}/UMCommon" "${PODS_XCFRAMEWORKS_BUILD_DIR}/UMDevice"
 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/UMShare" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/UMShare"
 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/UMShare" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/UMShare"
 PODS_BUILD_DIR = ${BUILD_DIR}
 PODS_BUILD_DIR = ${BUILD_DIR}

+ 4 - 0
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenAPI.framework/Headers/Modules/module.modulemap

@@ -0,0 +1,4 @@
+module TencentOpenApi{
+    umbrella header "TencentOpenApiUmbrellaHeader.h"
+    export *
+}

+ 220 - 0
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenAPI.framework/Headers/QQApiInterface.h

@@ -0,0 +1,220 @@
+///
+/// \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);
+
+// 发送消息回调是否发送成功
+typedef void(^QQApiInterfaceSendMessageResultBlock)(QQApiSendResultCode sendResultCode, NSString *message);
+
+/**
+ \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;
+
+
++ (QQApiSendResultCode)sendMessageToQQAuthWithReq:(QQBaseReq*)req;
+
+
+/**
+ 向手Q发起绑群请求
+ \param req 请求的内容
+ \param resultBlock 请求回调
+ */
++ (void)sendThirdAppBindGroupReq:(QQBaseReq *)req resultBlock:(sendResultBlock)resultBlock;
+
+/**
+ 向手Q发起加群请求
+ \param req 请求的内容
+ \param resultBlock 请求回调
+ */
++ (void)sendThirdAppJoinGroupReq:(QQBaseReq *)req resultBlock:(sendResultBlock)resultBlock;
+
+/**
+ 向手Q发起解绑群请求
+ \param req 请求的内容
+ \param resultBlock 请求回调
+ */
++ (void)sendThirdAppUnBindGroupReq:(QQBaseReq *)req resultBlock:(sendResultBlock)resultBlock;
+
+/**
+ 向手Q发起创建QQ频道的请求
+ \param req 请求的内容
+ \param resultBlock 回调发送结果
+ \return void
+ */
++ (void)sendMessageToCreateQQGroupProWithMessageRequest:(SendMessageToQQReq *)messageRequest sendResultBlock:(QQApiInterfaceSendMessageResultBlock)sendResultBlock;
+
+
+/**
+ 向手Q发起加入QQ频道的请求
+ \param req 请求的内容
+ \param resultBlock 回调发送结果
+ \return void
+ */
++ (void)sendMessageToJoinQQGroupProWithMessageRequest:(SendMessageToQQReq *)messageRequest sendResultBlock:(QQApiInterfaceSendMessageResultBlock)sendResultBlock;
+
+
+/**
+ 向手Q发起查询QQ频道openID的请求
+ \param req 请求的内容
+ \param resultBlock 请求回调
+ */
++ (void)sendQueryQQGroupProInfo:(QQBaseReq *)req resultBlock:(sendResultBlock)resultBlock;
+
+/**
+ 向手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下载地址
+ 
+ 如果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;
+
+#pragma mark - Log
+
+/*! @brief 调用此函数可以导出QQSDK的Log到第三方中,用于定位问题
+ 
+    注意1:SDK会强引用这个block,注意不要导致内存泄漏,注意不要导致内存泄漏
+    注意2:调用过一次startLog by block之后,如果再调用一次任意方式的startLoad,会释放上一次logBlock,不再回调上一个logBlock
+ *
+ *  @param logBlock 打印log的回调block
+ */
++ (void)startLogWithBlock:(QQApiLogBolock)logBlock;
+
+///停止回调打印
++ (void)stopLog;
+
+///设置打印日志到文件开关on/off,如果不设置,默认不打印到文件
++ (void)setSwitchPrintLogToFile:(BOOL)on;
+
+///日志文件目录
++ (NSString *)getLogFilePath;
+
+@end

+ 754 - 0
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenAPI.framework/Headers/QQApiInterfaceObject.h

@@ -0,0 +1,754 @@
+///
+/// \file QQApiInterfaceObject.h
+/// \brief QQApiInterface所依赖的请求及应答消息对象封装帮助类
+///
+/// Created by Tencent on 12-5-15.
+/// Copyright (c) 2012年 Tencent. All rights reserved.
+///
+
+#ifndef QQApiInterface_QQAPIOBJECT_h
+#define QQApiInterface_QQAPIOBJECT_h
+
+#import <Foundation/Foundation.h>
+
+typedef NS_ENUM(NSInteger, QQApiSendResultCode) {
+    EQQAPISENDSUCESS                                 = 0,
+    EQQAPIQQNOTINSTALLED                             = 1,   // QQ未安装
+    EQQAPIQQNOTSUPPORTAPI                            = 2,   // QQ api不支持
+    EQQAPIMESSAGETYPEINVALID                         = 3,
+    EQQAPIMESSAGECONTENTNULL                         = 4,
+    EQQAPIMESSAGECONTENTINVALID                      = 5,
+    EQQAPIAPPNOTREGISTED                             = 6,
+    EQQAPIAPPSHAREASYNC                              = 7,
+    EQQAPIQQNOTSUPPORTAPI_WITH_ERRORSHOW             = 8,   // QQ api不支持 && SDK显示error提示(已废弃)
+    EQQAPIMESSAGEARKCONTENTNULL                      = 9,   // ark内容为空
+    EQQAPIMESSAGE_MINI_CONTENTNULL                   = 10,  // 小程序参数为空
+    EQQAPISENDFAILD                                  = -1,  // 发送失败
+    EQQAPISHAREDESTUNKNOWN                           = -2,  // 未指定分享到QQ或TIM
+    EQQAPITIMSENDFAILD                               = -3,  // 发送失败
+    EQQAPITIMNOTINSTALLED                            = 11,  // TIM未安装
+    EQQAPITIMNOTSUPPORTAPI                           = 12,  // TIM api不支持
+    EQQAPI_INCOMING_PARAM_ERROR                      = 13,  // 外部传参错误
+    EQQAPI_THIRD_APP_GROUP_ERROR_APP_NOT_AUTHORIZIED = 14,  // APP未获得授权
+    EQQAPI_THIRD_APP_GROUP_ERROR_CGI_FAILED          = 15,  // CGI请求失败
+    EQQAPI_THIRD_APP_GROUP_ERROR_HAS_BINDED          = 16,  // 该组织已经绑定群聊
+    EQQAPI_THIRD_APP_GROUP_ERROR_NOT_BINDED          = 17,  // 该组织尚未绑定群聊
+    EQQAPI_THIRD_APP_GROUP_ERROR_HAS_UNBINDED        = 18,  // 该组织已经解绑群聊
+    EQQAPI_IMAGE_SIZE_OUT_OF_BOUNND                  = 19,  // 图片大小超过限制(图片不能超过5M,缩略图不能超过1M)
+    EQQAPI_TITLE_LENGTH_OUT_OF_BOUNND                = 20,  // 标题长度超过限制(不能超过128)
+    EQQAPI_TITLE_NIL_ERROR                           = 21,  // 标题不能为空
+    EQQAPI_DESC_LENGTH_OUT_OF_BOUNND                 = 22,  // 描述信息长度超过限制(不能超过512)
+    EQQAPI_URL_LENGTH_OUT_OF_BOUNND                  = 23,  // URL参数长度超过限制(不能超过1024)
+    EQQAPI_URL_NIL_ERROR                             = 24,  // URL参数不能为空
+    EQQAPIQZONENOTSUPPORTTEXT                        = 10000,   // qzone分享不支持text类型分享
+    EQQAPIQZONENOTSUPPORTIMAGE                       = 10001,   // qzone分享不支持image类型分享
+    EQQAPIVERSIONNEEDUPDATE                          = 10002,   // 当前QQ版本太低,需要更新至新版本才可以支持
+    ETIMAPIVERSIONNEEDUPDATE                         = 10004,   // 当前TIM版本太低,需要更新至新版本才可以支持
+    EAPPURLTYPESILLEGALITY                           = 20000,   // (>=3.3.8)第三方APP的info.plist中UrlTypes字段存在QQ的UrlScheme
+    EQQAPI_ERROR_USER_NOT_AGREED_AUTHORIZATION       = 30001,   // 用户未同意隐私协议,用户同意隐私协议后,需要设置[TencentOAuth setIsUserAgreedAuthorization:YES];
+};
+
+#pragma mark - QQApiObject(分享对象类型)
+
+// QQApiObject control flags
+typedef NS_ENUM(NSUInteger,kQQAPICtrlFlag) {
+    kQQAPICtrlFlagQZoneShareOnStart         = 0x01,
+    kQQAPICtrlFlagQZoneShareForbid          = 0x02, //屏蔽好友选择器上的空间入口
+    kQQAPICtrlFlagQQShare                   = 0x04,
+    kQQAPICtrlFlagQQShareFavorites          = 0x08, //收藏
+    kQQAPICtrlFlagQQShareDataline           = 0x10, //数据线
+    kQQAPICtrlFlagQQShareEnableArk          = 0x20, //支持ARK
+    kQQAPICtrlFlagQQShareEnableMiniProgram  = 0x40, //支持小程序
+};
+
+// 分享到QQ或TIM
+typedef NS_ENUM(NSUInteger, ShareDestType) {
+    ShareDestTypeQQ = 0,
+    ShareDestTypeTIM,
+};
+
+//小程序的类型
+typedef NS_ENUM(NSUInteger, MiniProgramType) {
+    MiniProgramType_Develop = 0,    // 开发版
+    MiniProgramType_Test    = 1,    // 测试版
+    MiniProgramType_Online  = 3,    // 正式版,默认
+    MiniProgramType_Preview = 4,    // 预览版
+};
+
+/// 打印回调的block
+typedef void(^QQApiLogBolock)(NSString *logStr);
+
+// QQApiObject
+/** \brief 所有在QQ及插件间发送的数据对象的根类。
+ */
+__attribute__((visibility("default"))) @interface QQApiObject : NSObject
+
+@property (nonatomic, copy) NSString *title; ///< 标题,最长128个字符
+@property (nonatomic, copy) NSString *description; ///<简要描述,最长512个字符
+@property (nonatomic, copy) NSString *universalLink; ///(>=3.3.7)支持第三方传入在互联开放平台注册的universallink
+@property (nonatomic, assign) uint64_t cflag;
+//353新增两个字断给游戏侧使用,对齐微信sdk
+@property (nonatomic, copy) NSString *tagName;
+@property (nonatomic, copy) NSString *messageExt;
+/*
+ * 分享到QQ/TIM
+ * SDK根据是否安装对应客户端进行判断,判断顺序:QQ > TIM
+ * 默认分享到QQ,如果QQ未安装检测TIM是否安装
+ */
+@property (nonatomic, assign) ShareDestType shareDestType;
+
+/**
+ * 检查参数是否完整有效
+ * @return 检查参数结果
+ */
+- (QQApiSendResultCode)checkParamValid;
+
+@end
+
+// ArkObject
+/** \brief 支持Ark的根类。
+ */
+__attribute__((visibility("default"))) @interface ArkObject : NSObject
+@property (nonatomic, copy) NSString *arkData; ///< 显示Ark所需的数据,json串,长度暂不限制
+@property (nonatomic, strong) QQApiObject* qqApiObject; ///<原有老版本的QQApiObject
+
+- (id)initWithData:(NSString *)arkData qqApiObject:(QQApiObject*)qqApiObject;
++ (id)objectWithData:(NSString *)arkData qqApiObject:(QQApiObject*)qqApiObject;
+@end
+
+#pragma mark QQ小程序
+//分享小程序消息 - QQ 8.0.8
+__attribute__((visibility("default"))) @interface QQApiMiniProgramObject : NSObject
+@property (nonatomic, strong) QQApiObject* qqApiObject; //原有老版本的QQApiObject
+@property (nonatomic, copy) NSString *miniAppID; //必填,小程序的AppId(注:必须在QQ互联平台中,将该小程序与分享的App绑定)
+@property (nonatomic, copy) NSString *miniPath; //必填,小程序的展示路径
+@property (nonatomic, copy) NSString *webpageUrl; //必填,兼容低版本的网页链接
+@property (nonatomic, assign) MiniProgramType miniprogramType; //非必填,小程序的类型,默认正式版(3),可选测试版(1)、预览版(4)
+@end
+
+//唤起小程序 - QQ 8.1.8
+__attribute__((visibility("default"))) @interface QQApiLaunchMiniProgramObject : QQApiObject
+@property (nonatomic, copy) NSString *miniAppID; //必填,小程序的AppId(注:必须在QQ互联平台中,将该小程序与分享的App绑定)
+@property (nonatomic, copy) NSString *miniPath; //小程序的展示路径,不填展示默认小程序首页
+@property (nonatomic, assign) MiniProgramType miniprogramType; //非必填,小程序的类型,默认正式版(3),可选测试版(1)、开发版(0)
+@end
+
+//小程序唤起第三方 - SDK 3.3.9
+__attribute__((visibility("default"))) @interface QQApiMiniProgramLaunchObject : QQApiObject
+@property (nonatomic, copy) NSString *appParameter; //小程序带来的数据,透传
++ (instancetype)newWithAppParameter:(NSString *)parameter;
+@end
+
+// QQApiResultObject
+/** \brief 用于请求回应的数据类型。
+ <h3>可能错误码及描述如下:</h3>
+ <TABLE>
+ <TR><TD>error</TD><TD>errorDescription</TD><TD>注释</TD></TR>
+ <TR><TD>0</TD><TD>nil</TD><TD>成功</TD></TR>
+ <TR><TD>-1</TD><TD>param error</TD><TD>参数错误</TD></TR>
+ <TR><TD>-2</TD><TD>group code is invalid</TD><TD>该群不在自己的群列表里面</TD></TR>
+ <TR><TD>-3</TD><TD>upload photo failed</TD><TD>上传图片失败</TD></TR>
+ <TR><TD>-4</TD><TD>user give up the current operation</TD><TD>用户放弃当前操作</TD></TR>
+ <TR><TD>-5</TD><TD>client internal error</TD><TD>客户端内部处理错误</TD></TR>
+ </TABLE>
+ */
+__attribute__((visibility("default"))) @interface QQApiResultObject : QQApiObject
+@property (nonatomic, copy) NSString *error; ///<错误
+@property (nonatomic, copy) NSString *errorDescription; ///<错误描述
+@property (nonatomic, copy) NSString *extendInfo; ///<扩展信息
+@property (nonatomic, copy) NSDictionary *otherInfo; ///<其他扩展信息
+@end
+
+// QQApiTextObject
+/** \brief 文本对象
+ */
+@interface QQApiTextObject : QQApiObject
+@property (nonatomic, copy)NSString *text; ///<文本内容,必填,最长1536个字符
+
+- (id)initWithText:(NSString *)text; ///<初始化方法
++ (id)objectWithText:(NSString *)text;///<工厂方法,获取一个QQApiTextObject对象.
+
+@end
+
+// QQApiURLObject
+typedef NS_ENUM(NSUInteger, QQApiURLTargetType) {
+    QQApiURLTargetTypeNotSpecified = 0x00,
+    QQApiURLTargetTypeAudio   = 0x01,
+    QQApiURLTargetTypeVideo   = 0x02,
+    QQApiURLTargetTypeNews    = 0x03
+};
+
+/** @brief URL对象类型。
+ 
+ 包括URL地址,URL地址所指向的目标类型及预览图像。
+ */
+__attribute__((visibility("default"))) @interface QQApiURLObject : QQApiObject
+/**
+ URL地址所指向的目标类型.
+ @note 参见QQApi.h 中的 QQApiURLTargetType 定义.
+ */
+@property (nonatomic)QQApiURLTargetType targetContentType;
+
+@property (nonatomic, strong) NSURL *url; ///<URL地址,必填,最长512个字符
+@property (nonatomic, copy) NSData *previewImageData;///<预览图像数据,最大1M字节
+@property (nonatomic, strong) NSURL *previewImageURL;    ///<预览图像URL **预览图像数据与预览图像URL可二选一
+
+/**
+ 初始化方法
+ */
+- (id)initWithURL:(NSURL *)url title:(NSString *)title description:(NSString *)description previewImageData:(NSData *)data targetContentType:(QQApiURLTargetType)targetContentType;
+
+- (id)initWithURL:(NSURL *)url title:(NSString *)title description:(NSString *)description previewImageURL:(NSURL *)previewURL targetContentType:(QQApiURLTargetType)targetContentType;
+/**
+ 工厂方法,获取一个QQApiURLObject对象
+ */
++ (id)objectWithURL:(NSURL *)url title:(NSString *)title description:(NSString *)description previewImageData:(NSData *)data targetContentType:(QQApiURLTargetType)targetContentType;
+
++ (id)objectWithURL:(NSURL *)url title:(NSString *)title description:(NSString *)description previewImageURL:(NSURL *)previewURL targetContentType:(QQApiURLTargetType)targetContentType;
+
+@end
+
+// QQApiExtendObject
+/** @brief 扩展数据类型
+ */
+@interface QQApiExtendObject : QQApiObject
+@property (nonatomic, copy) NSData *data;///<具体数据内容,必填,最大5M字节
+@property (nonatomic, copy) NSData *previewImageData;///<预览图像,最大1M字节
+@property (nonatomic, copy) NSArray *imageDataArray;///图片数组(多图暂只支持分享到手机QQ收藏功能)
+
+/**
+ 初始化方法
+ @param data 数据内容
+ @param previewImageData 用于预览的图片
+ @param title 标题
+ @param description 此对象,分享的描述
+ */
+- (id)initWithData:(NSData *)data previewImageData:(NSData *)previewImageData title:(NSString *)title description:(NSString *)description;
+
+/**
+ 初始化方法
+ @param data 数据内容
+ @param title 标题
+ @param description 此对象,分享的描述
+ @param imageDataArray 发送的多张图片队列
+ */
+- (id)initWithData:(NSData *)data previewImageData:(NSData *)previewImageData title:(NSString *)title description:(NSString *)description imageDataArray:(NSArray *)imageDataArray;
+
+
+/**
+ helper方法获取一个autorelease的<code>QQApiExtendObject</code>对象
+ @param data 数据内容
+ @param previewImageData 用于预览的图片
+ @param title 标题
+ @param description 此对象,分享的描述
+ @return
+ 一个自动释放的<code>QQApiExtendObject</code>实例
+ */
++ (id)objectWithData:(NSData *)data previewImageData:(NSData *)previewImageData title:(NSString *)title description:(NSString *)description;
+/**
+ helper方法获取一个autorelease的<code>QQApiExtendObject</code>对象
+ @param data 数据内容
+ @param previewImageData 用于预览的图片
+ @param title 标题
+ @param description 此对象,分享的描述
+ @param imageDataArray 发送的多张图片队列
+ @return
+ 一个自动释放的<code>QQApiExtendObject</code>实例
+ */
++ (id)objectWithData:(NSData *)data previewImageData:(NSData *)previewImageData title:(NSString *)title description:(NSString *)description imageDataArray:(NSArray *)imageDataArray;
+
+
+@end
+
+// QQApiImageObject
+/** @brief 图片对象
+ 用于分享图片内容的对象,是一个指定为图片类型的<code>QQApiExtendObject</code>
+ */
+@interface QQApiImageObject : QQApiExtendObject
+@end
+
+// QQApiImageForQQAvatarObject
+/** @brief 图片对象
+ 用于设置QQ头像内容的对象,是一个指定为图片类型的<code>QQApiExtendObject</code>
+ */
+@interface QQApiImageForQQAvatarObject : QQApiExtendObject
+@end
+/**
+ * @brief 视频对象
+ * 用于设置动态头像
+ * assetURL可传ALAsset的ALAssetPropertyAssetURL,或者PHAsset的localIdentifier
+ 从手Q返回的错误码:
+ //第三方设置动态头像结果
+ @"ret=0"//设置成功
+ @"ret=-10&error_des=user cancel"//用户取消设置
+ @"ret=-11&error_des=pasteboard have no video data"//剪切板没有数据
+ @"ret=-12&error_des=export data failed"//从剪切板导出数据到本地失败
+ @"ret=-13&error_des=url param invalid"//sdk传递过来的数据有误
+ @"ret=-14&error_des=video param invalid"//视频的参数不符合要求(检测第三方视频源方案:1、分辨率跟480*480保持一致;2、视频长度0.5s~8s)
+ @"ret=-15&error_des=app authorised failed"//应用鉴权失败
+ @"ret=-16&error_des=upload video failed"//设置头像,上传到后台失败
+ @"ret=-17&error_des=account diff"//账号不一致
+ */
+@interface QQApiVideoForQQAvatarObject : QQApiExtendObject
+@property (nonatomic, copy) NSString *assetURL;
+@end
+
+
+
+//QQApiAuthObject 用于拉起手Q的授权详情页
+@interface QQApiAuthObject : QQApiObject
+@end
+
+// QQApiImageArrayForFaceCollectionObject
+/** @brief 图片数组对象
+   用于分享图片组到表情收藏,是一个指定为图片类型的<code>QQApiObject</code>
+ */
+@interface QQApiImageArrayForFaceCollectionObject : QQApiObject
+
+@property (nonatomic, copy) NSArray *imageDataArray;///图片数组
+
+/**
+ 初始化方法
+ @param imageDataArray 图片数组
+ */
+- (id)initWithImageArrayData:(NSArray *)imageDataArray;
+/**
+ helper方法获取一个autorelease的<code>QQApiObject</code>对象
+ @param imageDataArray 发送的多张图片队列
+ @return
+ 一个自动释放的<code>QQApiObject</code>实例
+ */
++ (id)objectWithimageDataArray:(NSArray *)imageDataArray;
+
+@end
+
+// QQApiImageArrayForQZoneObject
+/** @brief 图片对象
+ 用于分享图片到空间,走写说说路径,是一个指定为图片类型的,当图片数组为空时,默认走文本写说说<code>QQApiObject</code>
+ */
+@interface QQApiImageArrayForQZoneObject : QQApiObject
+
+@property (nonatomic, copy) NSArray *imageDataArray;///图片数组
+@property (nonatomic, copy) NSDictionary *extMap; // 扩展字段
+
+/**
+ 初始化方法
+ @param imageDataArray 图片数组
+ @param title 写说说的内容,可以为空
+ @param extMap 扩展字段
+ */
+- (id)initWithImageArrayData:(NSArray *)imageDataArray title:(NSString *)title extMap:(NSDictionary *)extMap;
+
+/**
+ helper方法获取一个autorelease的<code>QQApiExtendObject</code>对象
+ @param title 写说说的内容,可以为空
+ @param imageDataArray 发送的多张图片队列
+ @param extMap 扩展字段
+ @return
+ 一个自动释放的<code>QQApiExtendObject</code>实例
+ */
++ (id)objectWithimageDataArray:(NSArray *)imageDataArray title:(NSString *)title extMap:(NSDictionary *)extMap;
+
+@end
+
+// QQApiVideoForQZoneObject
+/** @brief 视频对象
+ 用于分享视频到空间,走写说说路径<code>QQApiObject</code>,assetURL和videoData两个参数必须设置至少一个参数,如果assetURL设置了忽略videoData参数
+ @param assetURL可传ALAsset的ALAssetPropertyAssetURL,或者PHAsset的localIdentifier
+ @param extMap 扩展字段
+ @param videoData 视频数据,大小不超过50M
+ */
+@interface QQApiVideoForQZoneObject : QQApiObject
+
+@property (nonatomic, copy) NSString *assetURL;
+@property (nonatomic, copy) NSDictionary *extMap; // 扩展字段
+@property (nonatomic, copy) NSData *videoData;
+
+- (id)initWithAssetURL:(NSString *)assetURL title:(NSString *)title extMap:(NSDictionary *)extMap;
+
++ (id)objectWithAssetURL:(NSString *)assetURL title:(NSString *)title extMap:(NSDictionary *)extMap;
+
+- (id)initWithVideoData:(NSData *)videoData title:(NSString *)title extMap:(NSDictionary *)extMap;
+
++ (id)objectWithVideoData:(NSData *)videoData title:(NSString *)title extMap:(NSDictionary *)extMap;
+
+@end
+
+// QQApiWebImageObject
+/** @brief 图片对象
+ 用于分享网络图片内容的对象,是一个指定网络图片url的: 该类型只在2.9.0的h5分享中才支持,
+ 原有的手q分享是不支持该类型的。
+ */
+@interface QQApiWebImageObject : QQApiObject
+
+@property (nonatomic, strong) NSURL *previewImageURL;    ///<预览图像URL
+
+/**
+ 初始化方法
+ @param previewImageURL 用于预览的图片
+ @param title 标题
+ @param description 此对象,分享的描述
+ */
+- (id)initWithPreviewImageURL:(NSURL *)previewImageURL title:(NSString *)title description:(NSString *)description;
+
+/**
+ helper方法获取一个autorelease的<code>QQApiWebImageObject</code>对象
+ @param previewImageURL 用于预览的图片
+ @param title 标题
+ @param description 此对象,分享的描述
+ */
++ (id)objectWithPreviewImageURL:(NSURL *)previewImageURL title:(NSString *)title description:(NSString *)description;
+
+@end
+
+
+//QQApiFileObject
+/** @brief 本地文件对象(暂只支持分享到手机QQ数据线功能)
+ 用于分享文件内容的对象,是一个指定为文件类型的<code>QQApiExtendObject</code>
+ */
+@interface QQApiFileObject : QQApiExtendObject {
+    NSString *_fileName;
+}
+
+@property (nonatomic, copy)NSString *fileName;
+
+@end
+
+// QQApiAudioObject
+/** @brief 音频URL对象
+ 用于分享目标内容为音频的URL的对象
+ */
+@interface QQApiAudioObject : QQApiURLObject
+
+@property (nonatomic, strong) NSURL *flashURL;      ///<音频URL地址,最长512个字符
+
+/**
+ 获取一个autorelease的<code>QQApiAudioObject</code>
+ @param url 音频内容的目标URL
+ @param title 分享内容的标题
+ @param description 分享内容的描述
+ @param data 分享内容的预览图像
+ @note 如果url为空,调用<code>QQApi#sendMessage:</code>时将返回FALSE
+ */
++ (id)objectWithURL:(NSURL *)url title:(NSString *)title description:(NSString *)description previewImageData:(NSData *)data;
+
+/**
+ 获取一个autorelease的<code>QQApiAudioObject</code>
+ @param url 音频内容的目标URL
+ @param title 分享内容的标题
+ @param description 分享内容的描述
+ @param previewURL 分享内容的预览图像URL
+ @note 如果url为空,调用<code>QQApi#sendMessage:</code>时将返回FALSE
+ */
++ (id)objectWithURL:(NSURL *)url title:(NSString *)title description:(NSString *)description previewImageURL:(NSURL *)previewURL;
+
+@end
+
+// QQApiVideoObject
+/** @brief 视频URL对象
+ 用于分享目标内容为视频的URL的对象
+ 
+ QQApiVideoObject类型的分享,目前在Android和PC QQ上接收消息时,展现有待完善,待手机QQ版本以后更新支持
+ 目前如果要分享视频,推荐使用 QQApiNewsObject 类型
+ */
+@interface QQApiVideoObject : QQApiURLObject
+
+@property (nonatomic, strong) NSURL *flashURL;      ///<视频URL地址,最长512个字符
+
+/**
+ 获取一个autorelease的<code>QQApiVideoObject</code>
+ @param url 视频内容的目标URL
+ @param title 分享内容的标题
+ @param description 分享内容的描述
+ @param data 分享内容的预览图像
+ @note 如果url为空,调用<code>QQApi#sendMessage:</code>时将返回FALSE
+ */
++ (id)objectWithURL:(NSURL *)url title:(NSString *)title description:(NSString *)description previewImageData:(NSData *)data;
+/**
+ 获取一个autorelease的<code>QQApiVideoObject</code>
+ @param url 视频内容的目标URL
+ @param title 分享内容的标题
+ @param description 分享内容的描述
+ @param previewURL 分享内容的预览图像URL
+ @note 如果url为空,调用<code>QQApi#sendMessage:</code>时将返回FALSE
+ */
++ (id)objectWithURL:(NSURL *)url title:(NSString *)title description:(NSString *)description previewImageURL:(NSURL *)previewURL;
+
+@end
+
+// QQApiNewsObject
+/** @brief 新闻URL对象
+ 用于分享目标内容为新闻的URL的对象
+ */
+@interface QQApiNewsObject : QQApiURLObject
+/**
+ 获取一个autorelease的<code>QQApiNewsObject</code>
+ @param url 视频内容的目标URL
+ @param title 分享内容的标题
+ @param description 分享内容的描述
+ @param data 分享内容的预览图像
+ @note 如果url为空,调用<code>QQApi#sendMessage:</code>时将返回FALSE
+ */
++ (id)objectWithURL:(NSURL *)url title:(NSString *)title description:(NSString *)description previewImageData:(NSData *)data;
+/**
+ 获取一个autorelease的<code>QQApiNewsObject</code>
+ @param url 视频内容的目标URL
+ @param title 分享内容的标题
+ @param description 分享内容的描述
+ @param previewURL 分享内容的预览图像URL
+ @note 如果url为空,调用<code>QQApi#sendMessage:</code>时将返回FALSE
+ */
++ (id)objectWithURL:(NSURL *)url title:(NSString *)title description:(NSString *)description previewImageURL:(NSURL *)previewURL;
+
+@end
+
+// QQApiCommonContentObject;
+/** @brief 通用模板类型对象
+ 用于分享一个固定显示模板的图文混排对象
+ @note 图片列表和文本列表不能同时为空
+ */
+@interface QQApiCommonContentObject : QQApiObject
+/**
+ 预定义的界面布局类型
+ */
+@property (nonatomic,assign) unsigned int layoutType;
+@property (nonatomic, copy) NSData *previewImageData;///<预览图
+@property (nonatomic, copy) NSArray *textArray;///<文本列表
+@property (nonatomic, copy) NSArray *pictureDataArray;///<图片列表
++ (id)objectWithLayoutType:(int)layoutType textArray:(NSArray *)textArray pictureArray:(NSArray *)pictureArray previewImageData:(NSData *)data;
+/**
+ 将一个NSDictionary对象转化为QQApiCommomContentObject,如果无法转换,则返回空
+ */
++ (id)objectWithDictionary:(NSDictionary *)dic;
+- (NSDictionary *)toDictionary;
+@end
+
+// QQApiExtraServiceObject; 通用业务消息处理类(旧版,后续使用QQApiCommonServiceObject)
+/**
+ @brief OpenSDK扩展支持的服务,通用接口,后续会扩充能力
+ @param serviceID [必选] 扩展支持的服务类型ID,参考官方文档说明
+ @param openID    [必选] 授权登录后对该用户的唯一标识
+ @param toUin     [可选] 对方的QQ号码
+ @param extraInfo [可选] 扩展字段
+ @note 该接口的使用须先登录
+ */
+@interface QQApiExtraServiceObject : QQApiObject
+@property (nonatomic, copy) NSString *serviceID;
+@property (nonatomic, copy) NSString *openID;
+@property (nonatomic, copy) NSString *toUin;
+@property (nonatomic, copy) NSDictionary *extraInfo;
+
+- (id)initWithOpenID:(NSString *)openID serviceID:(NSString *)serviceID;
++ (id)objecWithOpenID:(NSString *)openID serviceID:(NSString *)serviceID;
+@end
+
+
+/**
+ * QQApiCommonServiceObject; 通用业务消息处理类(新),可以适用所有的需要通过互联SDK发消息给手Q的业务去处理。
+ * 使用前需要申请serviceID,每个业务功能有个对应的serviceID
+ */
+@interface QQApiCommonServiceObject : QQApiObject
+
+// [必选] 授权登录后对该用户的唯一标识
+@property (nonatomic, copy) NSString *openID;
+
+// [必选] 扩展支持的服务类型ID,参考官方文档说明
+@property (nonatomic, copy) NSString *serviceID;
+
+// [可选] 扩展字段,由调用方跟具体的业务方协定具体的字段
+@property (nonatomic, copy) NSDictionary *extendInfo;
+
+- (instancetype)initWithOpenID:(NSString *)openID
+                     serviceID:(NSString *)serviceID
+                    extendInfo:(NSDictionary *)extendInfo;
+
++ (instancetype)objecWithOpenID:(NSString *)openID
+                      serviceID:(NSString *)serviceID
+                     extendInfo:(NSDictionary *)extendInfo;
+
+@end
+
+
+#pragma mark - QQApi请求消息类型
+
+/**
+ QQApi请求消息类型
+ */
+typedef NS_ENUM(NSUInteger, QQApiInterfaceReqType) {
+    EGETMESSAGEFROMQQREQTYPE      = 0,  /// < 手Q -> 第三方应用,请求第三方应用向手Q发送消息
+    ESENDMESSAGETOQQREQTYPE       = 1,  /// < 第三方应用 -> 手Q,第三方应用向手Q分享消息
+    ESHOWMESSAGEFROMQQREQTYPE     = 2,  /// < 手Q -> 第三方应用,请求第三方应用展现消息中的数据
+    ESENDMESSAGEARKTOQQREQTYPE    = 3,  /// < 第三方应用 -> 手Q,第三方应用向手Q分享Ark消息
+    ESENDMESSAGE_MINI_TOQQREQTYPE = 4   /// < 第三方应用 -> 手Q,第三方应用向手Q分享小程序消息
+};
+
+/**
+ QQApi应答消息类型
+ */
+typedef NS_ENUM(NSUInteger, QQApiInterfaceRespType) {
+    ESHOWMESSAGEFROMQQRESPTYPE  = 0,    /// < 第三方应用 -> 手Q,第三方应用应答消息展现结果
+    EGETMESSAGEFROMQQRESPTYPE   = 1,    /// < 第三方应用 -> 手Q,第三方应用回应发往手Q的消息
+    ESENDMESSAGETOQQRESPTYPE    = 2     /// < 手Q -> 第三方应用,手Q应答处理分享消息的结果
+};
+
+/**
+ QQApi请求消息基类
+ */
+@interface QQBaseReq : NSObject
+
+/** 请求消息类型,参见\ref QQApiInterfaceReqType */
+@property (nonatomic, assign) int type;
+
+@end
+
+/**
+ QQApi应答消息基类
+ */
+@interface QQBaseResp : NSObject
+
+/** 请求处理结果 */
+@property (nonatomic, copy) NSString *result;
+
+/** 具体错误描述信息 */
+@property (nonatomic, copy) NSString *errorDescription;
+
+/** 应答消息类型,参见\ref QQApiInterfaceRespType */
+@property (nonatomic, assign) int type;
+
+/** 扩展信息 */
+@property (nonatomic, copy) NSString *extendInfo;
+
+@end
+
+/**
+ GetMessageFromQQReq请求帮助类
+ */
+@interface GetMessageFromQQReq : QQBaseReq
+
+/**
+ 创建一个GetMessageFromQQReq请求实例
+ */
++ (GetMessageFromQQReq *)req;
+
+@end
+
+@interface SendMessageToQQReq : QQBaseReq
+
+/**
+ 创建一个SendMessageToQQReq请求实例
+ \param message 具体分享消息实例
+ \return 新创建的SendMessageToQQReq请求实例
+ */
++ (SendMessageToQQReq *)reqWithContent:(QQApiObject *)message;
+
+/**
+ 创建一个支持Ark的SendMessageToQQReq请求实例
+ \param message 具体分享消息实例
+ \return 新创建的SendMessageToQQReq请求实例
+ */
++ (SendMessageToQQReq *)reqWithArkContent:(ArkObject *)message;
+/**
+ * 创建一个支持小程序的消息请求实例
+ * @param miniMessage 小程序实例对象
+ * @return 消息请求实例
+ */
++ (SendMessageToQQReq *)reqWithMiniContent:(QQApiMiniProgramObject *)miniMessage;
+/** 具体分享消息 */
+@property (nonatomic, strong) QQApiObject *apiObject;
+
+/** 支持Ark的具体分享消息 */
+@property (nonatomic, strong) ArkObject *arkObject;
+/** 支持小程序的具体分享消息 */
+@property (nonatomic, strong) QQApiMiniProgramObject *miniProgramObject;
+@end
+
+/**
+ SendMessageToQQResp应答帮助类
+ */
+@interface SendMessageToQQResp : QQBaseResp
+
+/** 其他扩展信息 */
+@property (nonatomic, copy) NSDictionary *otherInfo;
+
+/**
+ 创建一个SendMessageToQQResp应答实例
+ \param result 请求处理结果
+ \param errDesp 具体错误描述信息
+ \param extendInfo 扩展信息
+ \return 新创建的SendMessageToQQResp应答实例
+ */
++ (SendMessageToQQResp *)respWithResult:(NSString *)result errorDescription:(NSString *)errDesp extendInfo:(NSString *)extendInfo;
+
++ (SendMessageToQQResp *) respWithResult:(NSString *)result errorDescription:(NSString *)errDesp extendInfo:(NSString *)extendInfo otherInfo:(NSDictionary *)otherInfo;
+
+@end
+
+/**
+ ShowMessageFromQQReq请求帮助类
+ */
+@interface ShowMessageFromQQReq : QQBaseReq
+
+/**
+ 创建一个ShowMessageFromQQReq请求实例
+ \param message 具体待展现消息实例
+ \return 新创建的ShowMessageFromQQReq请求实例
+ */
++ (ShowMessageFromQQReq *)reqWithContent:(QQApiObject *)message;
+
+/** 具体待展现消息 */
+@property (nonatomic, strong) QQApiObject *message;
+
+@end
+
+#pragma mark --一键加群&建群&解绑群
+// QQApiThirdAppBindGroupObject
+/** \brief 第三方app绑定群
+ */
+@interface QQApiThirdAppBindGroupObject : QQApiObject
+
+@property (nonatomic, copy) NSString *accessToken;
+@property (nonatomic, copy) NSString *payToken;
+@property (nonatomic, copy) NSString *pfkey;
+@property (nonatomic, copy) NSString *unionID;
+@property (nonatomic, copy) NSString *appDisplayName;
+
+- (id)initWithAccessToken:(NSString *)accessToken payToken:(NSString *)payToken pfkey:(NSString *)pfkey unionID:(NSString *)unionID appDisplayName:(NSString *)appDisplayName; ///<初始化方法
++ (id)objectWithAccessToken:(NSString *)accessToken payToken:(NSString *)payToken pfkey:(NSString *)pfkey unionID:(NSString *)unionID appDisplayName:(NSString *)appDisplayName; ///<工厂方法,获取一个QQApiThirdAppBindGroupObject对象.
+
+@end
+
+// QQApiThirdAppJoinGroupObject
+/** \brief 第三方app加入群
+ */
+@interface QQApiThirdAppJoinGroupObject : QQApiObject
+
+@property (nonatomic, copy) NSString *accessToken;
+@property (nonatomic, copy) NSString *payToken;
+@property (nonatomic, copy) NSString *pfkey;
+@property (nonatomic, copy) NSString *unionID;
+
+- (id)initWithAccessToken:(NSString *)accessToken payToken:(NSString *)payToken pfkey:(NSString *)pfkey unionID:(NSString *)unionID; ///<初始化方法
+
++ (id)objectWithAccessToken:(NSString *)accessToken payToken:(NSString *)payToken pfkey:(NSString *)pfkey unionID:(NSString *)unionID; ///<工厂方法,获取一个QQApiThirdAppJoinGroupObject对象.
+
+@end
+
+// QQApiThirdAppUnBindGroupObject
+/** \brief 第三方app解绑群
+ */
+@interface QQApiThirdAppUnBindGroupObject : QQApiObject
+
+@property (nonatomic, copy) NSString *accessToken;
+@property (nonatomic, copy) NSString *openId;
+@property (nonatomic, copy) NSString *payToken;
+@property (nonatomic, copy) NSString *pfkey;
+@property (nonatomic, copy) NSString *unionID;
+
+- (id)initWithAccessToken:(NSString *)accessToken payToken:(NSString *)payToken pfkey:(NSString *)pfkey unionID:(NSString *)unionID openId:(NSString *)openId appId:(NSString *)appId; ///<初始化方法
+
++ (id)objectWithAccessToken:(NSString *)accessToken payToken:(NSString *)payToken pfkey:(NSString *)pfkey unionID:(NSString *)unionID openId:(NSString *)openId appId:(NSString *)appId; ///<工厂方法,获取一个QQApiThirdAppBindGroupObject对象.
+
+@end
+
+
+#endif

+ 420 - 0
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenAPI.framework/Headers/SDKDef.h

@@ -0,0 +1,420 @@
+///
+/// \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;
+
+/**
+ * \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<NSSecureCoding> {
+    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, copy) NSString *errorMsg;
+
+/**
+ * 服务器返回数据的json格式字典\n
+ * 字典内具体参数的命名和含义请参考\ref api_spec
+ */
+@property (nonatomic, copy) NSDictionary *jsonResponse;
+
+/**
+ * 服务器返回的原始数据字符串
+ */
+@property (nonatomic, copy) NSString *message;
+
+/**
+ * 用户保留数据
+ */
+@property (nonatomic, strong) 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;
+
+/** 用户未同意授权隐私协议 */
+FOUNDATION_EXPORT NSString * const TCOpenSDKErrorMsgUserNotAgreedAuthorization;
+
+///@}
+
+/**
+ * \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_ALBUM;
+
+/** 上传一张照片到QQ空间相册(<b>需要申请权限</b>) */
+FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_UPLOAD_PIC;
+
+/** 获取用户QQ空间相册列表(<b>需要申请权限</b>) */
+FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_LIST_ALBUM;
+
+/** 验证是否认证空间粉丝 */
+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;
+
+/** 移动端获取用户信息 */
+FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_ALL;
+///@}
+
+
+/**
+ * \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, strong) 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
+

+ 555 - 0
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenAPI.framework/Headers/TencentOAuth.h

@@ -0,0 +1,555 @@
+///
+/// \file TencentOAuth.h
+/// \brief QQ互联开放平台授权登录及相关开放接口实现类
+///
+/// Created by Tencent on 12-12-21.
+/// Copyright (c) 2012年 Tencent. All rights reserved.
+///
+
+#import <UIKit/UIKit.h>
+#import "SDKDef.h"
+
+@protocol TencentSessionDelegate;
+@protocol TencentLoginDelegate;
+@protocol TencentApiInterfaceDelegate;
+@protocol TencentWebViewDelegate;
+
+@class TencentApiReq;
+@class TencentApiResp;
+
+typedef NS_ENUM(NSUInteger, TencentAuthorizeState) {
+    kTencentNotAuthorizeState,
+    kTencentSSOAuthorizeState,
+    kTencentWebviewAuthorzieState,
+};
+
+typedef NS_ENUM(NSUInteger, TencentAuthMode) {
+    kAuthModeClientSideToken,
+    kAuthModeServerSideCode,
+};
+
+#pragma mark - TencentOAuth(授权登录及相关开放接口调用)
+
+/**
+ * \brief TencentOpenAPI授权登录及相关开放接口调用
+ *
+ * TencentOAuth实现授权登录逻辑以及相关开放接口的请求调用
+ */
+@interface TencentOAuth : NSObject {
+    NSMutableDictionary *_apiRequests;
+}
+
+/** Access Token凭证,用于后续访问各开放接口 */
+@property(nonatomic, copy) NSString *accessToken;
+
+/** Access Token的失效期 */
+@property(nonatomic, strong) NSDate *expirationDate;
+
+/** 已实现的开放接口的回调委托对象 */
+@property(nonatomic, weak) id<TencentSessionDelegate> sessionDelegate;
+
+/** 第三方应用在开发过程中设置的URLSchema,用于浏览器登录后后跳到第三方应用 */
+@property(nonatomic, copy) NSString *localAppId;
+
+/** 用户授权登录后对该用户的唯一标识 */
+@property(nonatomic, copy) NSString *openId;
+
+/** 用户登录成功过后的跳转页面地址 */
+@property(nonatomic, copy) NSString *redirectURI;
+
+/** 第三方应用在互联开放平台申请的appID */
+@property(nonatomic, copy) NSString *appId;
+
+/** 第三方应用在互联开放平台注册的UniversalLink */
+@property(nonatomic, copy) NSString *universalLink;
+
+/** 主要是互娱的游戏设置uin */
+@property(nonatomic, copy) NSString *uin;
+
+/** 主要是互娱的游戏设置鉴定票据 */
+@property(nonatomic, copy) NSString *skey;
+
+/** 登陆透传的数据 */
+@property(nonatomic, copy) NSDictionary *passData;
+
+/** 授权方式(Client Side Token或者Server Side Code) */
+@property(nonatomic, assign) TencentAuthMode authMode;
+
+/** union id */
+@property(nonatomic, copy) NSString *unionid;
+
+/** 第三方在授权登录/分享 时选择 QQ,还是TIM 。在授权前一定要指定其中一个类型*/
+@property(nonatomic, assign) TencentAuthShareType authShareType;
+
+/** SDK打开web登录页,支持自动填充账号  */
+@property (nonatomic, copy) NSString *defaultUin;
+
+/**
+ * 获取上次登录得到的token
+ *
+ **/
+- (NSString *)getCachedToken;
+
+/**
+ * 获取上次登录得到的openid
+ *
+ **/
+- (NSString *)getCachedOpenID;
+
+/**
+ * 获取上次登录的token过期日期
+ *
+ **/
+- (NSDate *)getCachedExpirationDate;
+
+/**
+ * 上次登录的token是否过期(本地判断)
+ **/
+- (BOOL)isCachedTokenValid;
+
+/**
+ * 删除上次登录登录的token信息
+ *
+ **/
+- (BOOL)deleteCachedToken;
+
+/**
+ * 删除openid
+ *
+ **/
+- (void)deleteOpenId;
+
+/**
+ * 用来获得当前sdk的版本号
+ * \return 返回sdk版本号
+ **/
+
++ (NSString *)sdkVersion;
+
+/**
+ * 用来获得当前sdk的小版本号
+ * \return 返回sdk小版本号
+ **/
+
++ (NSString *)sdkSubVersion;
+
+/**
+ * 用来获得当前sdk的是否精简版
+ * @return 返回YES表示精简版
+ **/
+
++ (BOOL)isLiteSDK;
+
+/** 
+ * 主要是用来帮助判断是否有登陆被发起,但是还没有过返回结果 
+ * \return 
+ *          kTencentNotAuthorizeState:无授权 
+ *          kTencentSSOAuthorizeState:有人发起了sso授权但无返回
+ *          kTencentWebviewAuthorzieState:有人发起了webview授权还未返回
+ **/
+
++ (TencentAuthorizeState *)authorizeState;
+
+/**
+ * 获取TencentOAuth单例
+ */
++ (instancetype)sharedInstance;
+
+/**
+ * 设置SDK参数
+ *
+ * @param appId 不可为nil,第三方应用在互联开放平台申请的唯一标识
+ * @param enableUniveralLink  默认为NO,第三方应用是否将sdk和手机QQ的交互方式切换为UniversalLink方式,启用后则在iOS9及以上的系统都会生效UniversalLink方式;否则,默认仅在iOS13及以上的系统生效UniversalLink方式。
+ * @param universalLink 可以为nil,第三方应用在互联开放平台注册的UniversalLink,和bundleID一一对应(当为nil时,互联平台会按规则生成UniversalLink,详见官网说明)
+ * @param delegate 不可为nil,第三方应用用于接收请求返回结果的委托对象
+ *
+ * @note
+ * 使用说明】
+ *  1、支持sdk与手Q的交互切换为UniversalLink模式,主要目的"是为了避免手Q的UrlScheme被其他应用抢注后,导致sdk接口功能受到影响"。
+ *  2 、由于手Q版本在 >=8.1.3 后才适配了UniversalLink,所以一旦开启了enabled开关,“务必做到”及时知会用户升级手Q版本。
+ *
+ */
+- (void)setupAppId:(NSString *)appId
+enableUniveralLink:(BOOL)enableUniveralLink
+     universalLink:(NSString *)universalLink
+          delegate:(id<TencentSessionDelegate>)delegate;
+
+/**
+ * 初始化TencentOAuth对象
+ * !!!注意:3.5.17版本开始,内部单例实现,多次调用返回同一实例
+ *
+ * @param appId 不可为nil,第三方应用在互联开放平台申请的唯一标识
+ * @param delegate 不可为nil,第三方应用用于接收请求返回结果的委托对象
+ * @return 初始化后的授权登录对象
+ *
+ * 推荐使用初始化方法,并且适配UniversalLink:
+ *  - (instancetype)initWithAppId:(NSString *)appId
+ *             enableUniveralLink:(BOOL)enabled
+ *                  universalLink:(NSString *)universalLink
+ *                       delegate:(id<TencentSessionDelegate>)delegate;
+ */
+- (instancetype)initWithAppId:(NSString *)appId
+                  andDelegate:(id<TencentSessionDelegate>)delegate __attribute__((deprecated("此接口即将下线!请使用setupAppId:enableUniveralLink:universalLink:delegate")));
+
+/**
+ * 初始化TencentOAuth对象(>=3.3.7)
+ * !!!注意:3.5.17版本开始,内部单例实现,多次调用返回同一实例
+ *
+ * @param appId 不可为nil,第三方应用在互联开放平台申请的唯一标识
+ * @param universalLink 可以为nil,第三方应用在互联开放平台注册的UniversalLink,和bundleID一一对应(当为nil时,互联平台会按规则生成universallink,详见官网说明)
+ * @param delegate 不可为nil,第三方应用用于接收请求返回结果的委托对象
+ * @return 初始化后的授权登录对象
+ *
+ * 【使用说明】
+ * 1、支持BundleId与UniversalLink的一一对应,主要目的"是为了解决应用的iPhone版本和iPad HD版本共用同一个AppId,导致同时安装情况下的跳转问题"。
+ * 2、由于手Q版本在 >=8.1.8 后才支持了这种对应方式,所以一旦使用,“务必做到”及时知会用户升级手Q版本。
+ *
+ * 推荐使用初始化方法,并且适配UniversalLink:
+ *  - (instancetype)initWithAppId:(NSString *)appId
+ *             enableUniveralLink:(BOOL)enabled
+ *                  universalLink:(NSString *)universalLink
+ *                       delegate:(id<TencentSessionDelegate>)delegate;
+ *
+ */
+- (instancetype)initWithAppId:(NSString *)appId
+             andUniversalLink:(NSString *)universalLink
+                  andDelegate:(id<TencentSessionDelegate>)delegate __attribute__((deprecated("此接口即将下线!请使用setupAppId:enableUniveralLink:universalLink:delegate")));
+
+/**
+ * 初始化TencentOAuth对象(>=3.3.8)
+ * !!!注意:3.5.17版本开始,内部单例实现,多次调用返回同一实例
+ *
+ * @param appId 不可为nil,第三方应用在互联开放平台申请的唯一标识
+ * @param enabled  默认为NO,第三方应用是否将sdk和手机QQ的交互方式切换为UniversalLink方式,启用后则在iOS9及以上的系统都会生效UniversalLink方式;否则,默认仅在iOS13及以上的系统生效UniversalLink方式。
+ * @param universalLink 可以为nil,第三方应用在互联开放平台注册的UniversalLink,和bundleID一一对应(当为nil时,互联平台会按规则生成UniversalLink,详见官网说明)
+ * @param delegate 不可为nil,第三方应用用于接收请求返回结果的委托对象
+ * @return 初始化后的授权登录对象
+ *
+ * @note
+ * 使用说明】
+ *  1、支持sdk与手Q的交互切换为UniversalLink模式,主要目的"是为了避免手Q的UrlScheme被其他应用抢注后,导致sdk接口功能受到影响"。
+ *  2 、由于手Q版本在 >=8.1.3 后才适配了UniversalLink,所以一旦开启了enabled开关,“务必做到”及时知会用户升级手Q版本。
+ *
+ */
+- (instancetype)initWithAppId:(NSString *)appId
+           enableUniveralLink:(BOOL)enabled
+                universalLink:(NSString *)universalLink
+                     delegate:(id<TencentSessionDelegate>)delegate __attribute__((deprecated("此接口即将下线!请使用setupAppId:enableUniveralLink:universalLink:delegate")));
+
+/**
+ * 设置用户是否已经授权同意授权隐私协议,在主体应用中,用户同意授权隐私协议后再初始化互联SDK,默认未同意授权
+ * 注意:如未同意授权隐私协议,则互联SDK的所有功能都无法使用,包括初始化!!!
+ * 从3.5.7版本开始支持该方法
+ *
+ * @param isAgreedAuthorization 是否已经授权,isAgreedAuthorization=YES, 表示已经同意授权;isAgreedAuthorization=NO,表示未同意授权,互联SDK的所有功能都无法使用
+ */
++ (void)setIsUserAgreedAuthorization:(BOOL)isUserAgreedAuthorization;
+
+/**
+ * 获取当前用户是否已经同意授权隐私协议
+ * 从3.5.7版本开始支持该方法
+ */
++ (BOOL)isUserAgreedAuthorization;
+
+/**
+ * 判断用户手机上是否安装手机QQ
+ * @return YES:安装 NO:没安装
+ *
+ * @note SDK目前已经支持QQ、TIM授权登录及分享功能, 会按照QQ>TIM的顺序进行调用。
+ * 只要用户安装了QQ、TIM中任意一个应用,都可为第三方应用进行授权登录、分享功能。
+ * 第三方应用在接入SDK时不需要判断是否安装QQ、TIM。若有判断安装QQ、TIM的逻辑建议移除。
+ */
++ (BOOL)iphoneQQInstalled;
+
+/**
+ * 判断用户手机上是否安装手机TIM
+ * @return YES:安装 NO:没安装
+ *
+ * @note SDK目前已经支持QQ、TIM授权登录及分享功能, 会按照QQ>TIM的顺序进行调用。
+ * 只要用户安装了QQ、TIM中任意一个应用,都可为第三方应用进行授权登录、分享功能。
+ * 第三方应用在接入SDK时不需要判断是否安装QQ、TIM。若有判断安装QQ、TIM的逻辑建议移除。
+ */
++ (BOOL)iphoneTIMInstalled;
+ 
+/**
+ * 发起授权登录,如果安装了QQ APP,则拉起QQ发起授权登录;如果为安装QQ APP则在第三方应用进入H5页面,输入账密授权登录。
+ *
+ * @param permissions 授权信息列
+ * @return 发起调用是否成功
+ */
+- (BOOL)authorize:(NSArray *)permissions;
+
+/**
+ * 发起授权登录, 在第三方应用进入H5页面,显示二维码,通过扫码完成授权登录
+ *
+ * @param permissions 授权信息列
+ * @return 发起调用结果
+ */
+- (BOOL)authorizeWithQRlogin:(NSArray *)permissions;
+
+/**
+ * 增量授权,因用户没有授予相应接口调用的权限,需要用户确认是否授权
+ * @param permissions 需增量授权的信息列表
+ * @return 发起增量授权调用是否成功
+ */
+- (BOOL)incrAuthWithPermissions:(NSArray *)permissions;
+
+/**
+ * 重新授权,因token废除或失效导致接口调用失败,需用户重新授权
+ * @param permissions 授权信息列表,同登录授权
+ * @return 重新授权调用是否成功
+ */
+- (BOOL)reauthorizeWithPermissions:(NSArray *)permissions;
+
+/**
+ * 获取UnindID,可以根据UnindID的比较来确定OpenID是否属于同一个用户
+ * 通过代理方法:- (void)didGetUnionID;返回请求结果。
+ *
+ * @return NO未登录,信息不足;YES条件满足,发送请求成功,请等待回调
+ */
+- (BOOL)RequestUnionId;
+
+/**
+ * (静态方法)处理应用拉起协议
+ * @param url 处理被其他应用呼起时的逻辑
+ * @return 处理结果,YES表示成功,NO表示失败
+ */
++ (BOOL)HandleOpenURL:(NSURL *)url;
+
+/**
+ * (静态方法)sdk是否可以处理应用拉起协议
+ * @param url 处理被其他应用呼起时的逻辑
+ * @return 处理结果,YES表示可以 NO表示不行
+ */
++ (BOOL)CanHandleOpenURL:(NSURL *)url;
+
+/**
+ * (静态方法)处理应用的UniversalLink拉起协议
+ * @param url 处理被其他应用呼起时的逻辑
+ * @return 处理结果,YES表示成功,NO表示失败
+ */
++ (BOOL)HandleUniversalLink:(NSURL *)url;
+
+/**
+ * (静态方法)sdk是否可以处理应用的Universallink拉起协议
+ * @param url 处理被其他应用呼起时的逻辑(应用的Universallink链接须满足官网注册时的格式要求)
+ * @return 处理结果,YES表示可以 NO表示不行
+ * 注:在调用其他Universallink相关处理接口之前,均需进行此项判断
+ */
++ (BOOL)CanHandleUniversalLink:(NSURL *)url;
+
+/**
+ * (静态方法)获取TencentOAuth调用的上一次错误信息
+ */
++ (NSString *)getLastErrorMsg;
+
+/**
+ * 以Server Side Code模式授权登录时,通过此接口获取返回的code值;
+ * 以Client Side Token模式授权登录时,忽略此接口。
+ */
+- (NSString *)getServerSideCode;
+
+/**
+ * 退出登录(退出登录后,TecentOAuth失效,需要重新初始化)
+ * @param delegate 第三方应用用于接收请求返回结果的委托对象
+ */
+- (void)logout:(id<TencentSessionDelegate>)delegate;
+
+/**
+ * 判断登录态是否有效
+ * @return 处理结果,YES表示有效,NO表示无效,请用户重新登录授权
+ */
+- (BOOL)isSessionValid;
+
+/**
+ * 获取用户个人信息
+ * @return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录
+ */
+- (BOOL)getUserInfo;
+
+/**
+ * 退出指定API调用
+ * @param userData 用户调用某条API的时候传入的保留参数
+ * @return 处理结果,YES表示成功 NO表示失败
+ */
+- (BOOL)cancel:(id)userData;
+
+/**
+ * CGI类任务创建接口
+ * @param apiURL CGI请求的URL地址
+ * @param method CGI请求方式:"GET","POST"
+ * @param params CGI请求参数字典
+ * @param callback CGI请求结果的回调接口对象
+ * @return CGI请求任务实例,用于取消任务,返回nil代表任务创建失败
+ */
+- (TCAPIRequest *)cgiRequestWithURL:(NSURL *)apiURL method:(NSString *)method params:(NSDictionary *)params callback:(id<TCAPIRequestDelegate>)callback;
+
+/**
+ * TencentOpenApi发送任务统一接口
+ * @param request 请求发送的任务
+ * @param callback 任务发送后的回调地址
+ */
+- (BOOL)sendAPIRequest:(TCAPIRequest *)request callback:(id<TCAPIRequestDelegate>)callback;
+
+/**
+ * 获得用户的openId,仅有内存缓存
+ * @return 返回openId
+ */
+- (NSString *)getUserOpenID;
+
+/**
+ * 获取appSignToken
+ * @return 返回appSignToken
+ */
++ (NSString *)getAppSignToken;
+
+/**
+ * 设置appSignToken,跨进程的应用可以通过该方法手动设置appSignToken
+ */
++ (void)setupAppSignToken:(NSString *)appSignToken;
+
+@end
+
+#pragma mark - TencentLoginDelegate(授权登录回调协议)
+
+/**
+ * \brief TencentLoginDelegate iOS Open SDK 1.3 API回调协议
+ *
+ * 第三方应用实现登录的回调协议
+ */
+@protocol TencentLoginDelegate <NSObject>
+
+@required
+
+/**
+ * 登录成功后的回调
+ */
+- (void)tencentDidLogin;
+
+/**
+ * 登录失败后的回调
+ * \param cancelled 代表用户是否主动退出登录
+ */
+- (void)tencentDidNotLogin:(BOOL)cancelled;
+
+/**
+ * 登录时网络有问题的回调
+ */
+- (void)tencentDidNotNetWork;
+
+@optional
+/**
+ * 登录时权限信息的获得
+ */
+- (NSArray *)getAuthorizedPermissions:(NSArray *)permissions withExtraParams:(NSDictionary *)extraParams __attribute__((deprecated("该接口已过期, 建议删除调用")));
+
+/**
+ * unionID获得
+ */
+- (void)didGetUnionID;
+
+/**
+ * 强制网页登录,包括账号密码登录和二维码登录
+ * return YES时,就算本地有手Q也会打开web界面
+ */
+- (BOOL)forceWebLogin;
+
+/* 获得appSignToken回调 */
+- (void)tencentDidGetAppSignToken:(NSString *)appSignToken;
+
+@end
+
+#pragma mark - TencentSessionDelegate(开放接口回调协议)
+
+/**
+ * \brief TencentSessionDelegate iOS Open SDK 1.3 API回调协议
+ *
+ * 第三方应用需要实现每条需要调用的API的回调协议
+ */
+@protocol TencentSessionDelegate <NSObject, TencentLoginDelegate, TencentWebViewDelegate>
+
+@optional
+
+/**
+ * 退出登录的回调
+ */
+- (void)tencentDidLogout;
+
+/**
+ * 因用户未授予相应权限而需要执行增量授权。在用户调用某个api接口时,如果服务器返回操作未被授权,则触发该回调协议接口,由第三方决定是否跳转到增量授权页面,让用户重新授权。
+ * @param tencentOAuth 登录授权对象。
+ * @param permissions 需增量授权的权限列表。
+ * @return 是否仍然回调返回原始的api请求结果。
+ * @note 不实现该协议接口则默认为不开启增量授权流程。若需要增量授权请调用\ref TencentOAuth#incrAuthWithPermissions: \n注意:增量授权时用户可能会修改登录的帐号
+ */
+- (BOOL)tencentNeedPerformIncrAuth:(TencentOAuth *)tencentOAuth withPermissions:(NSArray *)permissions;
+
+/**
+ * [该逻辑未实现]因token失效而需要执行重新登录授权。在用户调用某个api接口时,如果服务器返回token失效,则触发该回调协议接口,由第三方决定是否跳转到登录授权页面,让用户重新授权。
+ * @param tencentOAuth 登录授权对象。
+ * @return 是否仍然回调返回原始的api请求结果。
+ * @note 不实现该协议接口则默认为不开启重新登录授权流程。若需要重新登录授权请调用\ref TencentOAuth#reauthorizeWithPermissions: \n注意:重新登录授权时用户可能会修改登录的帐号
+ */
+- (BOOL)tencentNeedPerformReAuth:(TencentOAuth *)tencentOAuth;
+
+/**
+ * 用户通过增量授权流程重新授权登录,token及有效期限等信息已被更新。
+ * @param tencentOAuth token及有效期限等信息更新后的授权实例对象
+ * @note 第三方应用需更新已保存的token及有效期限等信息。
+ */
+- (void)tencentDidUpdate:(TencentOAuth *)tencentOAuth;
+
+/**
+ * 用户增量授权过程中因取消或网络问题导致授权失败
+ * @param reason 授权失败原因,具体失败原因参见sdkdef.h文件中\ref UpdateFailType
+ */
+- (void)tencentFailedUpdate:(UpdateFailType)reason;
+
+/**
+ * 获取用户个人信息回调
+ * @param response API返回结果,具体定义参见sdkdef.h文件中\ref APIResponse
+ * @remarks 正确返回示例: \snippet example/getUserInfoResponse.exp success
+ *          错误返回示例: \snippet example/getUserInfoResponse.exp fail
+ */
+- (void)getUserInfoResponse:(APIResponse*) response;
+
+/**
+ * 社交API统一回调接口
+ * @param response API返回结果,具体定义参见sdkdef.h文件中\ref APIResponse
+ * @param message 响应的消息,目前支持‘SendStory’,‘AppInvitation’,‘AppChallenge’,‘AppGiftRequest’
+ */
+- (void)responseDidReceived:(APIResponse*)response forMessage:(NSString *)message;
+
+/**
+ * post请求的上传进度
+ * @param tencentOAuth 返回回调的tencentOAuth对象
+ * @param bytesWritten 本次回调上传的数据字节数
+ * @param totalBytesWritten 总共已经上传的字节数
+ * @param totalBytesExpectedToWrite 总共需要上传的字节数
+ * @param userData 用户自定义数据
+ */
+- (void)tencentOAuth:(TencentOAuth *)tencentOAuth didSendBodyData:(NSInteger)bytesWritten totalBytesWritten:(NSInteger)totalBytesWritten totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite userData:(id)userData;
+
+
+/**
+ * 通知第三方界面需要被关闭
+ * @param tencentOAuth 返回回调的tencentOAuth对象
+ * @param viewController 需要关闭的viewController
+ */
+- (void)tencentOAuth:(TencentOAuth *)tencentOAuth doCloseViewController:(UIViewController *)viewController;
+
+@end
+
+#pragma mark - TencentWebViewDelegate(H5登录webview旋转方向回调)
+
+/**
+ * @brief TencentWebViewDelegate: H5登录webview旋转方向回调协议
+ *
+ * 第三方应用可以根据自己APP的旋转方向限制,通过此协议设置
+ */
+@protocol TencentWebViewDelegate <NSObject>
+@optional
+- (BOOL) tencentWebViewShouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation;
+- (NSUInteger) tencentWebViewSupportedInterfaceOrientationsWithWebkit;
+- (BOOL) tencentWebViewShouldAutorotateWithWebkit;
+@end

+ 24 - 0
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenAPI.framework/Headers/TencentOpenApiUmbrellaHeader.h

@@ -0,0 +1,24 @@
+//
+//  TencentOpenApiUmbrellaHeader.h
+//  TencentOpenApi_IOS
+//
+//  Created by jyukeizhang(张储祺) on 2020/7/27.
+//  Copyright © 2020 Tencent. All rights reserved.
+//
+
+#ifndef TencentOpenApiUmbrellaHeader_h
+#define TencentOpenApiUmbrellaHeader_h
+
+#import <Foundation/Foundation.h>
+
+FOUNDATION_EXPORT double StaticLibraryModuleVersionNumber;
+FOUNDATION_EXPORT const unsigned char StaticLibraryModuleVersionString[];
+
+#import "QQApiInterface.h"
+#import "QQApiInterfaceObject.h"
+#import "SDKDef.h"
+#import "TencentOAuth.h"
+
+
+#endif /* TencentOpenApiUmbrellaHeader_h */
+

BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenAPI.framework/TencentOpenAPI


BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/Info.plist


BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/btn_cancel.png


BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/btn_cancel_hover.png


BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/refresh.png


BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/refresh@2x.png


BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/share_pengyouquan.png


BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/share_pengyouquan@2x.png


BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/share_qq.png


BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/share_qq@2x.png


BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/share_qzone.png


BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/share_qzone@2x.png


BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/share_safari.png


BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/share_safari@2x.png


BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/share_weixin.png


BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/share_weixin@2x.png


BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/webview_back.png


BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/webview_back@2x.png


BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/webview_backtogame.png


BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/webview_backtogame@2x.png


BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/webview_backward.png


BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/webview_backward@2x.png


BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/webview_for.png


BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/webview_for@2x.png


BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/webview_forward.png


BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/webview_forward@2x.png


BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/webview_more.png


BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/webview_more@2x.png


BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/webview_recommand.png


BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/webview_recommand@2x.png


BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/webview_stop.png


BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/webview_stop@2x.png


BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/webview_toolbg.png


BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/WebViewResources/webview_toolbg@2x.png


BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/error.png


Разлика између датотеке није приказан због своје велике величине
+ 14 - 0
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/local.html


BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/qqicon.png


BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle/success.png


+ 231 - 0
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/WeChat/WechatSDK/WXApi.h

@@ -0,0 +1,231 @@
+//
+//  WXApi.h
+//  所有Api接口
+//
+//  Created by Wechat on 12-2-28.
+//  Copyright (c) 2012年 Tencent. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import "WXApiObject.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+
+typedef BOOL(^WXGrantReadPasteBoardPermissionCompletion)(void);
+
+
+#pragma mark - WXApiDelegate
+/*! @brief 接收并处理来自微信终端程序的事件消息
+ *
+ * 接收并处理来自微信终端程序的事件消息,期间微信界面会切换到第三方应用程序。
+ * WXApiDelegate 会在handleOpenURL:delegate:中使用并触发。
+ */
+@protocol WXApiDelegate <NSObject>
+@optional
+
+/*! @brief 收到一个来自微信的请求,第三方应用程序处理完后调用sendResp向微信发送结果
+ *
+ * 收到一个来自微信的请求,异步处理完成后必须调用sendResp发送处理结果给微信。
+ * 可能收到的请求有GetMessageFromWXReq、ShowMessageFromWXReq等。
+ * @param req 具体请求内容,是自动释放的
+ */
+- (void)onReq:(BaseReq*)req;
+
+
+
+/*! @brief 发送一个sendReq后,收到微信的回应
+ *
+ * 收到一个来自微信的处理结果。调用一次sendReq后会收到onResp。
+ * 可能收到的处理结果有SendMessageToWXResp、SendAuthResp等。
+ * @param resp具体的回应内容,是自动释放的
+ */
+- (void)onResp:(BaseResp*)resp;
+
+/* ! @brief 用于在iOS16以及以上系统上,控制OpenSDK是否读取剪切板中微信传递的数据以及读取的时机
+ * 在iOS16以及以上系统,在SDK需要读取剪切板中微信写入的数据时,会回调该方法。没有实现默认会直接读取微信通过剪切板传递过来的数据
+ * 注意:
+ *      1. 只在iOS16以及以上的系统版本上回调;
+ *      2. 不实现时,OpenSDK会直接调用读取剪切板接口,读取微信传递过来的数据;
+ *      3. 若实现该方法:开发者需要通过调用completion(), 支持异步,通知SDK允许读取剪切板中微信传递的数据,
+ *                    不调用completion()则代表不授权OpenSDK读取剪切板,会导致收不到onReq:, onResp:回调,无法后续业务流程。请谨慎使用
+ *      4. 不要长时间持有completion不释放,可能会导致内存泄漏。
+ */
+- (void)onNeedGrantReadPasteBoardPermissionWithURL:(nonnull NSURL *)openURL completion:(nonnull WXGrantReadPasteBoardPermissionCompletion)completion;
+
+@end
+
+#pragma mark - WXApiLogDelegate
+
+@protocol WXApiLogDelegate <NSObject>
+
+- (void)onLog:(NSString*)log logLevel:(WXLogLevel)level;
+
+@end
+
+
+#pragma mark - WXApi
+
+/*! @brief 微信Api接口函数类
+ *
+ * 该类封装了微信终端SDK的所有接口
+ */
+@interface WXApi : NSObject
+
+/*! @brief WXApi的成员函数,向微信终端程序注册第三方应用。
+ *
+ * 需要在每次启动第三方应用程序时调用。
+ * @attention 请保证在主线程中调用此函数
+ * @param appid 微信开发者ID
+ * @param universalLink 微信开发者Universal Link
+ * @return 成功返回YES,失败返回NO。
+ */
++ (BOOL)registerApp:(NSString *)appid universalLink:(NSString *)universalLink;
+
+
+/*! @brief 处理旧版微信通过URL启动App时传递的数据
+ *
+ * 需要在 application:openURL:sourceApplication:annotation:或者application:handleOpenURL中调用。
+ * @param url 微信启动第三方应用时传递过来的URL
+ * @param delegate  WXApiDelegate对象,用来接收微信触发的消息。
+ * @return 成功返回YES,失败返回NO。
+ */
++ (BOOL)handleOpenURL:(NSURL *)url delegate:(nullable id<WXApiDelegate>)delegate;
+
+
+/*! @brief 处理微信通过Universal Link启动App时传递的数据
+ *
+ * 需要在 application:continueUserActivity:restorationHandler:中调用。
+ * @param userActivity 微信启动第三方应用时系统API传递过来的userActivity
+ * @param delegate  WXApiDelegate对象,用来接收微信触发的消息。
+ * @return 成功返回YES,失败返回NO。
+ */
++ (BOOL)handleOpenUniversalLink:(NSUserActivity *)userActivity delegate:(nullable id<WXApiDelegate>)delegate;
+
+
+/*! @brief 检查微信是否已被用户安装
+ *
+ * @return 微信已安装返回YES,未安装返回NO。
+ */
++ (BOOL)isWXAppInstalled;
+
+
+
+/*! @brief 判断当前微信的版本是否支持OpenApi
+ *
+ * @return 支持返回YES,不支持返回NO。
+ */
++ (BOOL)isWXAppSupportApi;
+
+
+/*! @brief 判断当前微信的版本是否支持分享微信状态功能
+ *
+ * @attention 需在工程LSApplicationQueriesSchemes配置中添加weixinStateAPI
+ * @return 支持返回YES,不支持返回NO。
+ */
++ (BOOL)isWXAppSupportStateAPI;
+
+
+#ifndef BUILD_WITHOUT_PAY
+/*! @brief 判断当前微信的版本是否支持二维码拉起微信支付
+ *
+ * @attention 需在工程LSApplicationQueriesSchemes配置中添加weixinQRCodePayAPI
+ * @return 支持返回YES,不支持返回NO。
+ */
++ (BOOL)isWXAppSupportQRCodePayAPI;
+
+#endif
+
+
+/*! @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 具体的发送请求。
+ * @param completion 调用结果回调block
+ */
++ (void)sendReq:(BaseReq *)req completion:(void (^ __nullable)(BOOL success))completion;
+
+/*! @brief 收到微信onReq的请求,发送对应的应答给微信,并切换到微信界面
+ *
+ * 函数调用后,会切换到微信的界面。第三方应用程序收到微信onReq的请求,异步处理该请求,完成后必须调用该函数。可能发送的相应有
+ * GetMessageFromWXResp、ShowMessageFromWXResp等。
+ * @param resp 具体的应答内容
+ * @param completion 调用结果回调block
+ */
++ (void)sendResp:(BaseResp*)resp completion:(void (^ __nullable)(BOOL success))completion;
+
+
+/*! @brief 发送Auth请求到微信,支持用户没安装微信,等待微信返回onResp
+ *
+ * 函数调用后,会切换到微信的界面。第三方应用程序等待微信返回onResp。微信在异步处理完成后一定会调用onResp。支持SendAuthReq类型。
+ * @param req 具体的发送请求。
+ * @param viewController 当前界面对象。
+ * @param delegate  WXApiDelegate对象,用来接收微信触发的消息。
+ * @param completion 调用结果回调block
+ */
++ (void)sendAuthReq:(SendAuthReq *)req viewController:(UIViewController*)viewController delegate:(nullable id<WXApiDelegate>)delegate completion:(void (^ __nullable)(BOOL success))completion;
+
+
+/*! @brief 测试函数,用于排查当前App通过Universal Link方式分享到微信的流程
+    注意1:  调用自检函数之前必须要先调用registerApp:universalLink接口, 并确认调用成功
+    注意2:  自检过程中会有Log产生,可以先调用startLogByLevel函数,根据Log排查问题
+    注意3:  会多次回调block
+    注意4:  仅用于新接入SDK时调试使用,请勿在正式环境的调用
+ *
+ *  当completion回调的step为WXULCheckStepFinal时,表示检测通过,Universal Link接入成功
+ *  @param completion 回调Block
+ */
++ (void)checkUniversalLinkReady:(nonnull WXCheckULCompletion)completion;
+
+
+/*! @brief WXApi的成员函数,接受微信的log信息。byBlock
+    注意1:SDK会强引用这个block,注意不要导致内存泄漏,注意不要导致内存泄漏
+    注意2:调用过一次startLog by block之后,如果再调用一次任意方式的startLoad,会释放上一次logBlock,不再回调上一个logBlock
+ *
+ *  @param level 打印log的级别
+ *  @param logBlock 打印log的回调block
+ */
+
++ (void)startLogByLevel:(WXLogLevel)level logBlock:(WXLogBolock)logBlock;
+
+/*! @brief WXApi的成员函数,接受微信的log信息。byDelegate 
+    注意1:sdk会弱引用这个delegate,这里可加任意对象为代理,不需要与WXApiDelegate同一个对象
+    注意2:调用过一次startLog by delegate之后,再调用一次任意方式的startLoad,不会再回调上一个logDelegate对象
+ *  @param level 打印log的级别
+ *  @param logDelegate 打印log的回调代理,
+ */
++ (void)startLogByLevel:(WXLogLevel)level logDelegate:(id<WXApiLogDelegate>)logDelegate;
+
+/*! @brief 停止打印log,会清理block或者delegate为空,释放block
+ *  @param 
+ */
++ (void)stopLog;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 1306 - 0
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/WeChat/WechatSDK/WXApiObject.h

@@ -0,0 +1,1306 @@
+//
+//  MMApiObject.h
+//  Api对象,包含所有接口和对象数据定义
+//
+//  Created by Wechat on 12-2-28.
+//  Copyright (c) 2012年 Tencent. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <UIKit/UIKit.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+/*! @brief 错误码
+ *
+ */
+enum  WXErrCode {
+    WXSuccess           = 0,    /**< 成功    */
+    WXErrCodeCommon     = -1,   /**< 普通错误类型    */
+    WXErrCodeUserCancel = -2,   /**< 用户点击取消并返回    */
+    WXErrCodeSentFail   = -3,   /**< 发送失败    */
+    WXErrCodeAuthDeny   = -4,   /**< 授权失败    */
+    WXErrCodeUnsupport  = -5,   /**< 微信不支持    */
+};
+
+
+
+/*! @brief 请求发送场景
+ *
+ */
+enum WXScene {
+    WXSceneSession          = 0,   /**< 聊天界面    */
+    WXSceneTimeline         = 1,   /**< 朋友圈     */
+    WXSceneFavorite         = 2,   /**< 收藏       */
+    WXSceneSpecifiedSession = 3,   /**< 指定联系人  */
+    WXSceneState            = 4,   /**< 状态  */
+};
+
+
+enum WXAPISupport {
+    WXAPISupportSession = 0,
+};
+
+
+
+/*! @brief 跳转profile类型
+ *
+ */
+enum WXBizProfileType {
+    WXBizProfileType_Normal = 0,    //**< 普通公众号  */
+    WXBizProfileType_Device = 1,    //**< 硬件公众号  */
+};
+
+/*! @brief 分享小程序类型
+ *
+ */
+typedef NS_ENUM(NSUInteger, WXMiniProgramType) {
+    WXMiniProgramTypeRelease = 0,       //**< 正式版  */
+    WXMiniProgramTypeTest = 1,        //**< 开发版  */
+    WXMiniProgramTypePreview = 2,         //**< 体验版  */
+};
+
+/*! @brief 跳转mp网页类型
+ *
+ */
+enum WXMPWebviewType {
+    WXMPWebviewType_Ad = 0,        /**< 广告网页 **/
+};
+
+/*! @brief log的级别
+ *
+ */
+typedef NS_ENUM(NSInteger,WXLogLevel) {
+    WXLogLevelNormal = 0,      // 打印日常的日志
+    WXLogLevelDetail = 1,      // 打印详细的日志
+};
+
+
+/*! @brief 打印回调的block
+ *
+ */
+typedef void(^WXLogBolock)(NSString *log);
+
+/*! @brief 微信Universal Link检查函数 (WXApi#checkUniversalLinkReady:),检查步骤枚举值
+ *
+ * WXULCheckStepParams 参数检测
+ * WXULCheckStepSystemVersion 当前系统版本检测
+ * WXULCheckStepWechatVersion 微信客户端版本检测
+ * WXULCheckStepSDKInnerOperation 微信SDK内部操作检测
+ * WXULCheckStepLaunchWechat  App拉起微信检测
+ * WXULCheckStepBackToCurrentApp 由微信返回当前App检测
+ * WXULCheckStepFinal 最终结果
+ */
+typedef NS_ENUM(NSInteger, WXULCheckStep)
+{
+    WXULCheckStepParams,
+    WXULCheckStepSystemVersion,
+    WXULCheckStepWechatVersion,
+    WXULCheckStepSDKInnerOperation,
+    WXULCheckStepLaunchWechat,
+    WXULCheckStepBackToCurrentApp,
+    WXULCheckStepFinal,
+};
+
+
+#pragma mark - WXCheckULStepResult
+
+/*! @brief 该类为微信Universal Link检测函数结果类
+*
+*/
+@interface WXCheckULStepResult : NSObject
+
+/** 是否成功 */
+@property(nonatomic, assign) BOOL success;
+/** 当前错误信息 */
+@property(nonatomic, strong) NSString* errorInfo;
+/** 修正建议 */
+@property(nonatomic, strong) NSString* suggestion;
+
+- (instancetype)initWithCheckResult:(BOOL)success errorInfo:(nullable NSString*)errorInfo suggestion:(nullable NSString*)suggestion;
+
+@end
+
+
+/*! @brief 微信Universal Link检查函数 (WXApi#checkUniversalLinkReady:),回调Block
+ *
+ * @param step 当前检测步骤
+ * @param result 检测结果
+ */
+typedef void(^WXCheckULCompletion)(WXULCheckStep step, WXCheckULStepResult* result);
+
+
+#pragma mark - BaseReq
+/*! @brief 该类为微信终端SDK所有请求类的基类
+ *
+ */
+@interface BaseReq : NSObject
+
+/** 请求类型 */
+@property (nonatomic, assign) int type;
+/** 由用户微信号和AppID组成的唯一标识,需要校验微信用户是否换号登录时填写*/
+@property (nonatomic, copy) NSString *openID;
+
+@end
+
+
+
+#pragma mark - BaseResp
+/*! @brief 该类为微信终端SDK所有响应类的基类
+ *
+ */
+@interface BaseResp : NSObject
+/** 错误码 */
+@property (nonatomic, assign) int errCode;
+/** 错误提示字符串 */
+@property (nonatomic, copy) NSString *errStr;
+/** 响应类型 */
+@property (nonatomic, assign) int type;
+
+@end
+
+
+
+#pragma mark - WXMediaMessage
+@class WXMediaMessage;
+
+#pragma mark - SendAuthReq
+/*! @brief 第三方程序向微信终端请求认证的消息结构
+ *
+ * 第三方程序要向微信申请认证,并请求某些权限,需要调用WXApi的sendReq成员函数,
+ * 向微信终端发送一个SendAuthReq消息结构。微信终端处理完后会向第三方程序发送一个处理结果。
+ * @see SendAuthResp
+ */
+@interface SendAuthReq : BaseReq
+/** 第三方程序要向微信申请认证,并请求某些权限,需要调用WXApi的sendReq成员函数,向微信终端发送一个SendAuthReq消息结构。微信终端处理完后会向第三方程序发送一个处理结果。
+ * @see SendAuthResp
+ * @note scope字符串长度不能超过1K
+ */
+@property (nonatomic, copy) NSString *scope;
+/** 第三方程序本身用来标识其请求的唯一性,最后跳转回第三方程序时,由微信终端回传。
+ * @note state字符串长度不能超过1K
+ */
+@property (nonatomic, copy) NSString *state;
+
+@property (nonatomic, assign) BOOL isOption1;
+
+/** 是否关闭自动授权
+ * @note YES为关闭自动授权,每次登陆都需要用户手动授权;NO为允许自动授权
+ */
+@property (nonatomic, assign) BOOL nonautomatic;
+
+@property (nonatomic, copy) NSString *extData;
+
+@end
+
+#pragma mark - SendAuthResp
+/*! @brief 微信处理完第三方程序的认证和权限申请后向第三方程序回送的处理结果。
+ *
+ * 第三方程序要向微信申请认证,并请求某些权限,需要调用WXApi的sendReq成员函数,向微信终端发送一个SendAuthReq消息结构。
+ * 微信终端处理完后会向第三方程序发送一个SendAuthResp。
+ * @see onResp
+ */
+@interface SendAuthResp : BaseResp
+@property (nonatomic, copy, nullable) NSString *code;
+/** 第三方程序发送时用来标识其请求的唯一性的标志,由第三方程序调用sendReq时传入,由微信终端回传
+ * @note state字符串长度不能超过1K
+ * @note 在复杂度较高的应用程序中,可能会出现其他模块请求的响应对象被错误地回调到当前模块。
+ * 为了避免影响其他模块,建议当前模块的开发者根据SendAuthResp的内容,采用白名单的方式进行处理。
+ * 例如,SendAuthResp.state符合预期时,才对其进行处理。
+ */
+@property (nonatomic, copy, nullable) NSString *state;
+@property (nonatomic, copy, nullable) NSString *lang;
+@property (nonatomic, copy, nullable) NSString *country;
+@end
+
+#pragma mark - WXStateJumpInfo
+/*! @brief 状态发表时的小尾巴跳转信息
+ */
+@interface WXStateJumpInfo : NSObject
+
+@end
+
+#pragma mark - WXStateJumpUrlInfo
+/*! @brief 状态小尾巴跳转指定url的信息
+ */
+@interface WXStateJumpUrlInfo : WXStateJumpInfo
+/** 跳转到指定的url
+ * @note 必填,url长度必须大于0且小于10K
+ */
+@property (nonatomic, copy) NSString *url;
+
+@end
+
+#pragma mark - WXStateJumpWXMiniProgramInfo
+/*! @brief 状态小尾巴跳转指定小程序的信息
+ */
+@interface WXStateJumpMiniProgramInfo : WXStateJumpInfo
+/** 小程序username
+ * @note 必填
+ */
+@property (nonatomic, copy) NSString *username;
+
+/** 小程序页面的路径
+ * @attention 不填默认拉起小程序首页
+ */
+@property (nonatomic, copy, nullable) NSString *path;
+
+/** 分享小程序的版本
+ * @attention (正式,开发,体验)
+ */
+@property (nonatomic, assign) WXMiniProgramType miniProgramType;
+
+@end
+
+
+
+#pragma mark - WXStateJumpWXMiniProgramInfo
+/*! @brief 状态小尾巴跳转指定视频号主页信息
+ */
+@interface WXStateJumpChannelProfileInfo : WXStateJumpInfo
+/** 视频号username
+ * @note 必填,username长度必须大于0且小于1K
+ */
+@property (nonatomic, copy) NSString *username;
+
+
+@end
+
+#pragma mark - WXStateSceneDataObject
+/*! @brief 场景类型额外参数基类
+ */
+@interface WXSceneDataObject : NSObject
+
+@end
+
+#pragma mark - WXStateSceneDataObject
+/*! @brief 状态场景类型
+ * 用户填写WXStateSceneDataObject参数后,可以跳转到微信状态发表页
+ */
+@interface WXStateSceneDataObject : WXSceneDataObject
+
+/** 状态标志的ID
+ * @note 选填,文本长度必须小于10K
+ */
+@property (nonatomic, copy) NSString *stateId;
+/** 状态发表时附带的文本描述
+ * @note 选填,文本长度必须小于10K
+ */
+@property (nonatomic, copy) NSString *stateTitle;
+/** 后台校验token
+ * @note 选填,文本长度必须小于10K
+ */
+@property (nonatomic, copy) NSString *token;
+/** 小尾巴跳转所需的信息
+ * @note 必填,目前仅支持url跳转
+ */
+@property (nonatomic, strong) WXStateJumpInfo *stateJumpDataInfo;
+
+@end
+
+#pragma mark - SendMessageToWXReq
+/*! @brief 第三方程序发送消息至微信终端程序的消息结构体
+ *
+ * 第三方程序向微信发送信息需要传入SendMessageToWXReq结构体,信息类型包括文本消息和多媒体消息,
+ * 分别对应于text和message成员。调用该方法后,微信处理完信息会向第三方程序发送一个处理结果。
+ * @see SendMessageToWXResp
+ */
+@interface SendMessageToWXReq : BaseReq
+/** 发送消息的文本内容
+ * @note 文本长度必须大于0且小于10K
+ */
+@property (nonatomic, copy) NSString *text;
+/** 发送消息的多媒体内容
+ * @see WXMediaMessage
+ */
+@property (nonatomic, strong) WXMediaMessage *message;
+/** 发送消息的类型,包括文本消息和多媒体消息两种,两者只能选择其一,不能同时发送文本和多媒体消息 */
+@property (nonatomic, assign) BOOL bText;
+/** 发送的目标场景,可以选择发送到会话(WXSceneSession)或者朋友圈(WXSceneTimeline)。 默认发送到会话。
+ * @see WXScene
+ */
+@property (nonatomic, assign) int scene;
+/** 指定发送消息的人
+ * @note WXSceneSpecifiedSession时有效
+ */
+@property (nonatomic, copy, nullable) NSString *toUserOpenId;
+/** 目标场景附带信息
+ * @note 目前只针对状态场景
+ */
+@property (nonatomic, strong) WXSceneDataObject *sceneDataObject;
+
+@end
+
+#pragma mark - SendMessageToWXResp
+/*! @brief 微信终端向第三方程序返回的SendMessageToWXReq处理结果。
+ *
+ * 第三方程序向微信终端发送SendMessageToWXReq后,微信发送回来的处理结果,该结果用SendMessageToWXResp表示。
+ */
+@interface SendMessageToWXResp : BaseResp
+@property(nonatomic, copy) NSString *lang;
+@property(nonatomic, copy) NSString *country;
+@end
+
+#pragma mark - GetMessageFromWXReq
+/*! @brief 微信终端向第三方程序请求提供内容的消息结构体。
+ *
+ * 微信终端向第三方程序请求提供内容,微信终端会向第三方程序发送GetMessageFromWXReq消息结构体,
+ * 需要第三方程序调用sendResp返回一个GetMessageFromWXResp消息结构体。
+ */
+@interface GetMessageFromWXReq : BaseReq
+@property (nonatomic, strong) NSString *lang;
+@property (nonatomic, strong) NSString *country;
+@end
+
+
+
+#pragma mark - GetMessageFromWXResp
+/*! @brief 微信终端向第三方程序请求提供内容,第三方程序向微信终端返回的消息结构体。
+ *
+ * 微信终端向第三方程序请求提供内容,第三方程序调用sendResp向微信终端返回一个GetMessageFromWXResp消息结构体。
+ */
+@interface GetMessageFromWXResp : BaseResp
+/** 向微信终端提供的文本内容
+ @note 文本长度必须大于0且小于10K
+ */
+@property (nonatomic, strong) NSString *text;
+/** 向微信终端提供的多媒体内容。
+ * @see WXMediaMessage
+ */
+@property (nonatomic, strong) WXMediaMessage *message;
+/** 向微信终端提供内容的消息类型,包括文本消息和多媒体消息两种,两者只能选择其一,不能同时发送文本和多媒体消息 */
+@property (nonatomic, assign) BOOL bText;
+@end
+
+
+
+#pragma mark - ShowMessageFromWXReq
+/*! @brief 微信通知第三方程序,要求第三方程序显示的消息结构体。
+ *
+ * 微信需要通知第三方程序显示或处理某些内容时,会向第三方程序发送ShowMessageFromWXReq消息结构体。
+ * 第三方程序处理完内容后调用sendResp向微信终端发送ShowMessageFromWXResp。
+ */
+@interface ShowMessageFromWXReq : BaseReq
+/** 微信终端向第三方程序发送的要求第三方程序处理的多媒体内容
+ * @see WXMediaMessage
+ */
+@property (nonatomic, strong) WXMediaMessage *message;
+@property (nonatomic, copy) NSString *lang;
+@property (nonatomic, copy) NSString *country;
+@end
+
+
+
+#pragma mark - ShowMessageFromWXResp
+/*! @brief 微信通知第三方程序,要求第三方程序显示或处理某些消息,第三方程序处理完后向微信终端发送的处理结果。
+ *
+ * 微信需要通知第三方程序显示或处理某些内容时,会向第三方程序发送ShowMessageFromWXReq消息结构体。
+ * 第三方程序处理完内容后调用sendResp向微信终端发送ShowMessageFromWXResp。
+ */
+@interface ShowMessageFromWXResp : BaseResp
+@end
+
+
+#pragma mark - LaunchFromWXReq
+/*! @brief 微信终端打开第三方程序携带的消息结构体
+ *
+ *  微信向第三方发送的结构体,第三方不需要返回
+ */
+@interface LaunchFromWXReq : BaseReq
+@property (nonatomic, strong) WXMediaMessage *message;
+@property (nonatomic, copy) NSString *lang;
+@property (nonatomic, copy) NSString *country;
+@end
+
+
+#pragma mark - OpenWebviewReq
+/* ! @brief 第三方通知微信启动内部浏览器,打开指定网页
+ *
+ *  第三方通知微信启动内部浏览器,打开指定Url对应的网页
+ */
+@interface OpenWebviewReq : BaseReq
+/** 需要打开的网页对应的Url
+ * @attention 长度不能超过1024
+ */
+@property(nonatomic, copy) NSString *url;
+
+@end
+
+#pragma mark - OpenWebviewResp
+/*! @brief 微信终端向第三方程序返回的OpenWebviewReq处理结果
+ *
+ * 第三方程序向微信终端发送OpenWebviewReq后,微信发送回来的处理结果,该结果用OpenWebviewResp表示
+ */
+@interface OpenWebviewResp : BaseResp
+
+@end
+
+
+
+#pragma mark - WXOpenBusinessWebViewReq
+/*! @brief 第三方通知微信启动内部浏览器,打开指定业务的网页
+ *
+ *
+ */
+@interface WXOpenBusinessWebViewReq : BaseReq
+
+/** 网页业务类型
+ * @attention
+ */
+@property (nonatomic, assign) UInt32 businessType;
+
+/** 网页业务参数
+ * @attention
+ */
+@property (nonatomic, strong, nullable) NSDictionary *queryInfoDic;
+
+@end
+
+#pragma mark - WXOpenBusinessWebViewResp
+/*! @brief 微信终端向第三方程序返回的WXOpenBusinessWebViewResp处理结果。
+ *
+ * 第三方程序向微信终端发送WXOpenBusinessWebViewReq后,微信发送回来的处理结果,该结果用WXOpenBusinessWebViewResp表示。
+ */
+@interface WXOpenBusinessWebViewResp : BaseResp
+/** 第三方程序自定义简单数据,微信终端会回传给第三方程序处理
+ * @attention 长度不能超过2k
+ */
+@property (nonatomic, copy) NSString *result;
+
+/** 网页业务类型
+ * @attention
+ */
+@property (nonatomic, assign) UInt32 businessType;
+
+@end
+
+
+#pragma mark - OpenRankListReq
+/* ! @brief 第三方通知微信,打开硬件排行榜
+ *
+ * 第三方通知微信,打开硬件排行榜
+ */
+@interface OpenRankListReq : BaseReq
+
+@end
+
+#pragma mark - OpenRanklistResp
+/*! @brief 微信终端向第三方程序返回的OpenRankListReq处理结果。
+ *
+ * 第三方程序向微信终端发送OpenRankListReq后,微信发送回来的处理结果,该结果用OpenRankListResp表示。
+ */
+@interface OpenRankListResp : BaseResp
+
+@end
+
+
+#pragma mark - WXCardItem
+
+@interface WXCardItem : NSObject
+/** 卡id
+ * @attention 长度不能超过1024字节
+ */
+@property (nonatomic, copy) NSString *cardId;
+/** ext信息
+ * @attention 长度不能超过2024字节
+ */
+@property (nonatomic, copy, nullable) NSString *extMsg;
+/**
+ * @attention 卡的状态,req不需要填。resp:0为未添加,1为已添加。
+ */
+@property (nonatomic, assign) UInt32 cardState;
+/**
+ * @attention req不需要填,chooseCard返回的。
+ */
+@property (nonatomic, copy) NSString *encryptCode;
+/**
+ * @attention req不需要填,chooseCard返回的。
+ */
+@property (nonatomic, copy) NSString *appID;
+@end;
+
+#pragma mark - WXInvoiceItem
+
+@interface WXInvoiceItem : NSObject
+/** 卡id
+ * @attention 长度不能超过1024字节
+ */
+@property (nonatomic, copy) NSString *cardId;
+/** ext信息
+ * @attention 长度不能超过2024字节
+ */
+@property (nonatomic, copy, nullable) NSString *extMsg;
+/**
+ * @attention 卡的状态,req不需要填。resp:0为未添加,1为已添加。
+ */
+@property (nonatomic, assign) UInt32 cardState;
+/**
+ * @attention req不需要填,chooseCard返回的。
+ */
+@property (nonatomic, copy) NSString *encryptCode;
+/**
+ * @attention req不需要填,chooseCard返回的。
+ */
+@property (nonatomic, copy) NSString *appID;
+
+@end
+
+#pragma mark - AddCardToWXCardPackageReq
+/* ! @brief 请求添加卡券至微信卡包
+ *
+ */
+
+@interface AddCardToWXCardPackageReq : BaseReq
+/** 卡列表
+ * @attention 个数不能超过40个 类型WXCardItem
+ */
+@property (nonatomic, strong) NSArray *cardAry;
+
+@end
+
+
+#pragma mark - AddCardToWXCardPackageResp
+/** ! @brief 微信返回第三方添加卡券结果
+ *
+ */
+
+@interface AddCardToWXCardPackageResp : BaseResp
+/** 卡列表
+ * @attention 个数不能超过40个 类型WXCardItem
+ */
+@property (nonatomic, strong) NSArray *cardAry;
+@end
+
+#pragma mark - WXChooseCardReq
+/* ! @brief 请求从微信选取卡券
+ *
+ */
+
+@interface WXChooseCardReq : BaseReq
+@property (nonatomic, copy) NSString *appID;
+@property (nonatomic, assign) UInt32 shopID;
+@property (nonatomic, assign) UInt32 canMultiSelect;
+@property (nonatomic, copy) NSString *cardType;
+@property (nonatomic, copy) NSString *cardTpID;
+@property (nonatomic, copy) NSString *signType;
+@property (nonatomic, copy) NSString *cardSign;
+@property (nonatomic, assign) UInt32 timeStamp;
+@property (nonatomic, copy) NSString *nonceStr;
+@end
+
+
+#pragma mark - WXChooseCardResp
+/** ! @brief 微信返回第三方请求选择卡券结果
+ *
+ */
+
+@interface WXChooseCardResp : BaseResp
+@property (nonatomic, strong ) NSArray* cardAry;
+@end
+
+
+#pragma mark - WXChooseInvoiceReq
+/* ! @brief 请求从微信选取发票
+ *
+ */
+@interface WXChooseInvoiceReq : BaseReq
+@property (nonatomic, copy) NSString *appID;
+@property (nonatomic, assign) UInt32 shopID;
+@property (nonatomic, copy) NSString *signType;
+@property (nonatomic, copy) NSString *cardSign;
+@property (nonatomic, assign) UInt32 timeStamp;
+@property (nonatomic, copy) NSString *nonceStr;
+@end
+
+#pragma mark - WXChooseInvoiceResp
+/** ! @brief 微信返回第三方请求选择发票结果
+ *
+ */
+@interface WXChooseInvoiceResp : BaseResp
+@property (nonatomic, strong) NSArray* cardAry;
+@end
+
+#pragma mark - WXSubscriptionReq
+@interface WXSubscribeMsgReq : BaseReq
+@property (nonatomic, assign) UInt32 scene;
+@property (nonatomic, copy) NSString *templateId;
+@property (nonatomic, copy, nullable) NSString *reserved;
+@end
+
+#pragma mark - WXSubscriptionReq
+@interface WXSubscribeMsgResp : BaseResp
+
+@property (nonatomic, copy) NSString *templateId;
+@property (nonatomic, assign) UInt32 scene;
+@property (nonatomic, copy) NSString *action;
+@property (nonatomic, copy) NSString *reserved;
+@property (nonatomic, copy, nullable) NSString *openId;
+
+@end
+
+#pragma mark - WXSubscribeMiniProgramMsg
+/** ! @brief 第三方请求订阅小程序消息
+ *
+ */
+@interface WXSubscribeMiniProgramMsgReq : BaseReq
+@property (nonatomic, copy) NSString *miniProgramAppid;
+@end
+
+#pragma mark - WXSubscriptionReq
+@interface WXSubscribeMiniProgramMsgResp : BaseResp
+
+@property(nonatomic, copy) NSString *openId;   // 小程序openid
+@property(nonatomic, copy) NSString *unionId;  // unionId
+@property(nonatomic, copy) NSString *nickName; // 用户昵称
+
+@end
+
+#pragma mark - WXinvoiceAuthInsertReq
+@interface WXInvoiceAuthInsertReq : BaseReq
+
+@property (nonatomic, copy) NSString *urlString;
+
+@end
+
+#pragma mark - WXinvoiceAuthInsertResp
+
+@interface WXInvoiceAuthInsertResp : BaseResp
+
+@property (nonatomic, copy) NSString *wxOrderId;
+
+@end
+
+#pragma mark - WXMediaMessage
+
+/*! @brief 多媒体消息结构体
+ *
+ * 用于微信终端和第三方程序之间传递消息的多媒体消息内容
+ */
+@interface WXMediaMessage : NSObject
+
++ (WXMediaMessage *)message;
+
+/** 标题
+ * @note 长度不能超过512字节
+ */
+@property (nonatomic, copy) NSString *title;
+/** 描述内容
+ * @note 长度不能超过1K
+ */
+@property (nonatomic, copy) NSString *description;
+/** 缩略图数据
+ * @note 大小不能超过64K
+ */
+@property (nonatomic, strong, nullable) NSData *thumbData;
+/**
+ * @note 长度不能超过64字节
+ */
+@property (nonatomic, copy, nullable) NSString *mediaTagName;
+/**
+ *
+ */
+@property (nonatomic, copy, nullable) NSString *messageExt;
+@property (nonatomic, copy, nullable) NSString *messageAction;
+/**
+ * 多媒体数据对象,可以为WXImageObject,WXMusicObject,WXVideoObject,WXWebpageObject等。
+ */
+@property (nonatomic, strong) id mediaObject;
+
+/** 缩略图的hash值
+ * @note 使用sha256得到,用于计算签名
+ */
+@property (nonatomic, copy, nullable) NSString *thumbDataHash;
+
+/** 消息签名
+ * @note 用于校验消息体是否被篡改过
+ */
+@property (nonatomic, copy, nullable) NSString *msgSignature;
+
+
+/*! @brief 设置消息缩略图的方法
+ *
+ * @param image 缩略图
+ * @note 大小不能超过256K
+ */
+- (void)setThumbImage:(UIImage *)image;
+
+@end
+
+
+
+#pragma mark - WXImageObject
+/*! @brief 多媒体消息中包含的图片数据对象
+ *
+ * 微信终端和第三方程序之间传递消息中包含的图片数据对象。
+ * @note imageData成员不能为空
+ * @see WXMediaMessage
+ */
+@interface WXImageObject : NSObject
+/*! @brief 返回一个WXImageObject对象
+ *
+ * @note 返回的WXImageObject对象是自动释放的
+ */
++ (WXImageObject *)object;
+
+/** 图片真实数据内容
+ * @note 大小不能超过25M
+ */
+@property (nonatomic, strong) NSData *imageData;
+
+/** 图片数据的hash值
+ * @note 使用sha256得到,用于计算签名
+ */
+@property (nonatomic, copy, nullable) NSString *imgDataHash;
+
+/** 分享的图片消息是否要带小程序入口,若 'entranceMiniProgramUsername' 非空则显示
+ *  仅部分小程序类目可用
+ * @note 本字段为空则发送普通app图片消息
+ */
+@property (nonatomic, copy, nullable) NSString *entranceMiniProgramUsername;
+
+/** 分享的图片消息显示的小程序入口可以跳转的小程序路径
+ * 仅当 'entranceMiniProgramUsername' 非空时生效
+ */
+@property (nonatomic, copy, nullable) NSString *entranceMiniProgramPath;
+
+@end
+
+
+#pragma mark - WXMusicObject
+/*! @brief 多媒体消息中包含的音乐数据对象
+ *
+ * 微信终端和第三方程序之间传递消息中包含的音乐数据对象。
+ * @note musicUrl和musicLowBandUrl成员不能同时为空。
+ * @see WXMediaMessage
+ */
+@interface WXMusicObject : NSObject
+/*! @brief 返回一个WXMusicObject对象
+ *
+ * @note 返回的WXMusicObject对象是自动释放的
+ */
++ (WXMusicObject *)object;
+
+/** 音乐网页的url地址
+ * @note 长度不能超过10K
+ */
+@property (nonatomic, copy) NSString *musicUrl;
+/** 音乐lowband网页的url地址
+ * @note 长度不能超过10K
+ */
+@property (nonatomic, copy) NSString *musicLowBandUrl;
+/** 音乐数据url地址
+ * @note 长度不能超过10K
+ */
+@property (nonatomic, copy) NSString *musicDataUrl;
+
+/**音乐lowband数据url地址
+ * @note 长度不能超过10K
+ */
+@property (nonatomic, copy) NSString *musicLowBandDataUrl;
+
+/**音乐封面图Url
+ * @note 长度不能超过10K
+ */
+@property (nonatomic, copy) NSString *songAlbumUrl;
+
+/**歌词信息 LRC格式
+ * @note 长度不能超过32K
+ */
+@property (nonatomic, copy, nullable) NSString *songLyric;
+@end
+
+
+
+#pragma mark - WXMusicVideoObject
+
+@interface WXMusicVipInfo : NSObject
+
+/**付费歌曲的id
+ * @note 长度不能超过32K
+ */
+@property (nonatomic, copy) NSString *musicId;
+
+@end
+
+
+@interface WXMusicVideoObject : NSObject
+
+/*! @brief 返回一个WXMusicVideoObject对象
+ *
+ * @note 返回的WXMusicVideoObject对象是自动释放的
+ */
++ (WXMusicVideoObject *)object;
+
+/** 音乐网页的url地址
+ * @note 长度不能超过10K,不能为空
+ */
+@property (nonatomic, copy) NSString *musicUrl;
+
+/** 音乐数据url地址
+ * @note 长度不能超过10K,不能为空
+ */
+@property (nonatomic, copy) NSString *musicDataUrl;
+
+/**歌手名
+ * @note 长度不能超过1k,不能为空
+ */
+@property (nonatomic, copy) NSString *singerName;
+
+/**
+ * @note 音乐时长, 单位毫秒
+ */
+@property (nonatomic, assign) UInt32 duration;
+
+/**歌词信息 LRC格式
+ * @note 长度不能超过32K
+ */
+@property (nonatomic, copy) NSString *songLyric;
+
+/**高清封面图
+ * @note 大小不能超过1M
+ */
+@property (nonatomic, strong) NSData *hdAlbumThumbData;
+
+/** 高清封面图数据的hash值
+ * @note 使用sha256得到,用于计算签名
+ */
+@property (nonatomic, copy, nullable) NSString *hdAlbumThumbFileHash;
+
+/**音乐专辑名称
+ * @note 长度不能超过1k
+ */
+@property (nonatomic, copy, nullable) NSString *albumName;
+
+/**音乐流派
+ * @note 长度不能超过1k
+ */
+@property (nonatomic, copy, nullable) NSString *musicGenre;
+
+/**发行时间
+ * @note Unix时间戳,单位为秒
+ */
+@property (nonatomic, assign) UInt64 issueDate;
+
+/**音乐标识符
+ * @note 长度不能超过1K,从微信跳回应用时会带上
+ */
+@property (nonatomic, copy, nullable) NSString *identification;
+
+/**运营H5地址
+ * @note 选填,建议填写,用户进入歌曲详情页将展示内嵌的运营H5,可展示该歌曲的相关评论、歌曲推荐等内容,不可诱导下载、分享等。
+ */
+@property (nonatomic, copy, nullable) NSString *musicOperationUrl;
+
+/** 付费歌曲相关信息
+ * @note 选填,如果歌曲是需要付费的,那么将付费歌曲id等信息封装在内。
+ */
+@property (nonatomic, strong) WXMusicVipInfo *musicVipInfo;
+
+@end
+
+
+
+#pragma mark - WXVideoObject
+/*! @brief 多媒体消息中包含的视频数据对象
+ *
+ * 微信终端和第三方程序之间传递消息中包含的视频数据对象。
+ * @note videoUrl和videoLowBandUrl不能同时为空。
+ * @see WXMediaMessage
+ */
+@interface WXVideoObject : NSObject
+/*! @brief 返回一个WXVideoObject对象
+ *
+ * @note 返回的WXVideoObject对象是自动释放的
+ */
++ (WXVideoObject *)object;
+
+/** 视频网页的url地址
+ * @note 长度不能超过10K
+ */
+@property (nonatomic, copy) NSString *videoUrl;
+/** 视频lowband网页的url地址
+ * @note 长度不能超过10K
+ */
+@property (nonatomic, copy) NSString *videoLowBandUrl;
+
+@end
+
+
+
+#pragma mark - WXWebpageObject
+/*! @brief 多媒体消息中包含的网页数据对象
+ *
+ * 微信终端和第三方程序之间传递消息中包含的网页数据对象。
+ * @see WXMediaMessage
+ */
+@interface WXWebpageObject : NSObject
+/*! @brief 返回一个WXWebpageObject对象
+ *
+ * @note 返回的WXWebpageObject对象是自动释放的
+ */
++ (WXWebpageObject *)object;
+
+/** 网页的url地址
+ * @note 不能为空且长度不能超过10K
+ */
+@property (nonatomic, copy) NSString *webpageUrl;
+
+/**是否是私密消息
+ */
+@property (nonatomic, assign) BOOL isSecretMessage;
+
+/** 业务所需的额外信息 */
+@property (nonatomic, strong, nullable) NSDictionary *extraInfoDic;
+
+@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, copy) NSString *url;
+/** 第三方程序自定义简单数据,微信终端会回传给第三方程序处理
+ * @note 长度不能超过2K
+ */
+@property (nonatomic, copy, nullable) NSString *extInfo;
+/** App文件数据,该数据发送给微信好友,微信好友需要点击后下载数据,微信终端会回传给第三方程序处理
+ * @note 大小不能超过10M
+ */
+@property (nonatomic, strong, nullable) NSData *fileData;
+
+@end
+
+
+
+#pragma mark - WXEmoticonObject
+/*! @brief 多媒体消息中包含的表情数据对象
+ *
+ * 微信终端和第三方程序之间传递消息中包含的表情数据对象。
+ * @see WXMediaMessage
+ */
+@interface WXEmoticonObject : NSObject
+
+/*! @brief 返回一个WXEmoticonObject对象
+ *
+ * @note 返回的WXEmoticonObject对象是自动释放的
+ */
++ (WXEmoticonObject *)object;
+
+/** 表情真实数据内容
+ * @note 大小不能超过10M
+ */
+@property (nonatomic, strong) NSData *emoticonData;
+
+@end
+
+
+
+#pragma mark - WXFileObject
+/*! @brief 多媒体消息中包含的文件数据对象
+ *
+ * @see WXMediaMessage
+ */
+@interface WXFileObject : NSObject
+
+/*! @brief 返回一个WXFileObject对象
+ *
+ * @note 返回的WXFileObject对象是自动释放的
+ */
++ (WXFileObject *)object;
+
+/** 文件后缀名
+ * @note 长度不超过64字节
+ */
+@property (nonatomic, copy) NSString *fileExtension;
+
+/** 文件真实数据内容
+ * @note 大小不能超过10M
+ */
+@property (nonatomic, strong) 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, copy) NSString *contentText;
+
+@end
+
+#pragma mark - WXMiniProgramObject
+
+@interface WXMiniProgramObject : NSObject
+
+/*! @brief WXMiniProgramObject对象
+ *
+ * @note 返回的WXMiniProgramObject对象是自动释放的
+ */
++ (WXMiniProgramObject *)object;
+
+/** 低版本网页链接
+ * @attention 长度不能超过1024字节
+ */
+@property (nonatomic, copy) NSString *webpageUrl;
+
+/** 小程序username */
+@property (nonatomic, copy) NSString *userName;
+
+/** 小程序页面的路径
+ * @attention 不填默认拉起小程序首页
+ */
+@property (nonatomic, copy, nullable) NSString *path;
+
+/** 小程序新版本的预览图
+ * @attention 大小不能超过128k
+ */
+@property (nonatomic, strong, nullable) NSData *hdImageData;
+
+/** 是否使用带 shareTicket 的转发 */
+@property (nonatomic, assign) BOOL withShareTicket;
+
+/** 分享小程序的版本
+ * @attention (正式,开发,体验)
+ */
+@property (nonatomic, assign) WXMiniProgramType miniProgramType;
+
+/** 是否禁用转发 */
+@property (nonatomic, assign) BOOL disableForward;
+
+@property (nonatomic, assign) BOOL isUpdatableMessage;
+
+@property (nonatomic, assign) BOOL isSecretMessage;
+
+
+/** 业务所需的额外信息 */
+@property (nonatomic, strong, nullable) NSDictionary *extraInfoDic;
+
+@end
+
+#pragma mark - WXGameLiveObject
+
+/*! @brief WXGameLiveObject对象
+ *
+ * @note 游戏直播消息类型
+ */
+
+@interface WXGameLiveObject : NSObject
+
++ (WXGameLiveObject *)object;
+
+/** 业务所需的额外信息 */
+@property (nonatomic, strong, nullable) NSDictionary *extraInfoDic;
+
+@end
+
+@interface WXNativeGamePageObject : NSObject
+
+/** 是否为视频类型
+ */
+@property (nonatomic, assign) BOOL isVideo;
+
+/** 视频时长
+ @note 当为视频类型时,必填;单位为秒
+ */
+@property (nonatomic, assign) UInt32 videoDuration;
+
+/** 透传字段
+ @note 长度限制为100K
+ */
+@property (nonatomic, copy) NSString *shareData;
+
+/** 缩略图
+ @note 大小限制为256K
+ */
+@property (nonatomic, strong) NSData *gameThumbData;
+
++ (WXNativeGamePageObject *)object;
+
+@end
+
+#pragma mark - WXLaunchMiniProgramReq
+
+/*! @brief WXLaunchMiniProgramReq对象, 可实现通过sdk拉起微信小程序
+ *
+ * @note 返回的WXLaunchMiniProgramReq对象是自动释放的
+ */
+@interface WXLaunchMiniProgramReq : BaseReq
+
++ (WXLaunchMiniProgramReq *)object;
+
+/** 小程序username */
+@property (nonatomic, copy) NSString *userName;
+
+/** 小程序页面的路径
+ * @attention 不填默认拉起小程序首页
+ */
+@property (nonatomic, copy, nullable) NSString *path;
+
+/** 分享小程序的版本
+ * @attention (正式,开发,体验)
+ */
+@property (nonatomic, assign) WXMiniProgramType miniProgramType;
+
+/** ext信息
+ * @attention json格式
+ */
+@property (nonatomic, copy, nullable) NSString *extMsg;
+
+/** extDic
+ * @attention 字典,可存放图片等比较大的数据
+ */
+@property (nonatomic, copy, nullable) NSDictionary *extDic;
+
+@end
+
+#pragma mark - WXLaunchMiniProgramResp
+/*! @brief 微信终端向第三方程序返回的WXLaunchMiniProgramReq处理结果。
+ *
+ * 第三方程序向微信终端发送WXLaunchMiniProgramReq后,微信发送回来的处理结果,该结果用WXLaunchMiniProgramResp表示。
+ */
+@interface WXLaunchMiniProgramResp : BaseResp
+
+@property (nonatomic, copy, nullable) NSString *extMsg;
+
+@end
+
+
+#pragma mark - WXOpenBusinessViewReq
+/*! @brief WXOpenBusinessViewReq对象, 可实现第三方通知微信启动,打开业务页面
+ *
+ * @note 返回的WXOpenBusinessViewReq对象是自动释放的
+ */
+
+@interface WXOpenBusinessViewReq : BaseReq
+
++ (WXOpenBusinessViewReq *)object;
+
+/** 业务类型
+ */
+@property (nonatomic, copy) NSString *businessType;
+
+/** 业务参数
+ */
+@property (nonatomic, copy, nullable) NSString *query;
+
+/** ext信息
+ * @note 选填,json格式
+ */
+@property (nonatomic, copy, nullable) NSString *extInfo;
+
+/** extData数据
+ * @note
+ */
+@property (nonatomic, strong, nullable) NSData *extData;
+@end
+
+
+@interface WXOpenBusinessViewResp : BaseResp
+
+/** 业务类型
+ */
+@property (nonatomic, copy) NSString *businessType;
+
+/** 业务返回数据
+ */
+@property (nonatomic, copy, nullable) NSString *extMsg;
+
+@end
+
+#pragma mark - WXOpenCustomerServiceReq
+@interface WXOpenCustomerServiceReq : BaseReq
+
++ (WXOpenCustomerServiceReq *)object;
+
+/**企微客服发起流程 url
+ */
+@property (nonatomic, copy, nullable) NSString *url;
+
+/**企业 id
+ */
+@property (nonatomic, copy, nullable) NSString *corpid;
+
+@end
+
+@interface WXOpenCustomerServiceResp : BaseResp
+
+/** 业务返回数据
+ */
+@property (nonatomic, copy, nullable) NSString *extMsg;
+
+@end
+
+
+#pragma mark - WXChannelStartLiveReq
+
+@interface WXChannelStartLiveReq : BaseReq
+
++ (WXChannelStartLiveReq *)object;
+
+/** 必填,直播业务数据(json格式)
+ */
+@property (nonatomic, copy) NSString *liveJsonInfo;
+
+@end
+
+@interface WXChannelStartLiveResp : BaseResp
+
+/** 业务返回数据
+ */
+@property (nonatomic, copy, nullable) NSString *extMsg;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 68 - 0
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/WeChat/WechatSDK/WechatAuthSDK.h

@@ -0,0 +1,68 @@
+//
+//  WechatAuthSDK.h
+//  WechatAuthSDK
+//
+//  Created by 李凯 on 13-11-29.
+//  Copyright (c) 2013年 Tencent. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <UIKit/UIKit.h>
+
+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<NSObject>
+@optional
+
+- (void)onAuthGotQrcode:(UIImage *)image;  //得到二维码
+- (void)onQrcodeScanned;    //二维码被扫描
+- (void)onAuthFinish:(int)errCode AuthCode:(nullable NSString *)authCode;    //成功登录
+
+@end
+
+@interface WechatAuthSDK : NSObject{
+    NSString *_sdkVersion;
+    __weak id<WechatAuthAPIDelegate> _delegate;
+}
+
+@property(nonatomic, weak, nullable) id<WechatAuthAPIDelegate> 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

BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/WeChat/WechatSDK/libSocialOfficialWeChat.a


BIN
ios/JianYuIOS/Pods/UMShare/UMShare/SocialLibraries/WeChat/WechatSDK/libWeChatSDK.a


Неке датотеке нису приказане због велике количине промена