Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-fluwx
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
openSourceLibrary
clx-fluwx
Commits
a43af1aa
Unverified
提交
a43af1aa
authored
11月 04, 2024
作者:
JarvanMo
提交者:
GitHub
11月 04, 2024
浏览文件
操作
浏览文件
下载
差异文件
🔥
Remove thumbnail and format files (#662)
Resolves #661
上级
eb54b610
202453e7
显示空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
174 行增加
和
315 行删除
+174
-315
FluwxDelegate.m
ios/Classes/FluwxDelegate.m
+1
-2
FluwxPlugin.m
ios/Classes/FluwxPlugin.m
+165
-301
FluwxStringUtil.m
ios/Classes/FluwxStringUtil.m
+1
-8
ThumbnailHelper.h
ios/Classes/ThumbnailHelper.h
+2
-1
ThumbnailHelper.m
ios/Classes/ThumbnailHelper.m
+4
-3
FluwxDelegate.h
ios/Classes/public/FluwxDelegate.h
+1
-0
没有找到文件。
ios/Classes/FluwxDelegate.m
浏览文件 @
a43af1aa
...
@@ -20,9 +20,8 @@
...
@@ -20,9 +20,8 @@
return
instance
;
return
instance
;
}
}
-
(
void
)
registerWxAPI
:
(
NSString
*
)
appId
universalLink
:
(
NSString
*
)
universalLink
{
-
(
void
)
registerWxAPI
:
(
NSString
*
)
appId
universalLink
:
(
NSString
*
)
universalLink
{
[
WXApi
registerApp
:
appId
universalLink
:
universalLink
];
[
WXApi
registerApp
:
appId
universalLink
:
universalLink
];
}
}
@end
@end
ios/Classes/FluwxPlugin.m
浏览文件 @
a43af1aa
...
@@ -12,7 +12,6 @@
...
@@ -12,7 +12,6 @@
NSString
*
const
fluwxKeyTitle
=
@"title"
;
NSString
*
const
fluwxKeyTitle
=
@"title"
;
NSString
*
const
fluwxKeyImage
=
@
"image"
;
NSString
*
const
fluwxKeyImage
=
@
"image"
;
NSString
*
const
fluwxKeyImageData
=
@
"imageData"
;
NSString
*
const
fluwxKeyImageData
=
@
"imageData"
;
NSString
*
const
fluwxKeyThumbnail
=
@"thumbnail"
;
NSString
*
const
fluwxKeyDescription
=
@"description"
;
NSString
*
const
fluwxKeyDescription
=
@"description"
;
NSString
*
const
fluwxKeyMsgSignature
=
@"msgSignature"
;
NSString
*
const
fluwxKeyMsgSignature
=
@"msgSignature"
;
NSString
*
const
fluwxKeyThumbData
=
@"thumbData"
;
NSString
*
const
fluwxKeyThumbData
=
@"thumbData"
;
...
@@ -29,8 +28,6 @@ NSString *const fluwxKeyTimeline = @"timeline";
...
@@ -29,8 +28,6 @@ NSString *const fluwxKeyTimeline = @"timeline";
NSString
*
const
fluwxKeySession
=
@"session"
;
NSString
*
const
fluwxKeySession
=
@"session"
;
NSString
*
const
fluwxKeyFavorite
=
@"favorite"
;
NSString
*
const
fluwxKeyFavorite
=
@"favorite"
;
NSString
*
const
fluwxKeyCompressThumbnail
=
@"compressThumbnail"
;
NSString
*
const
keySource
=
@"source"
;
NSString
*
const
keySource
=
@"source"
;
NSString
*
const
keySuffix
=
@"suffix"
;
NSString
*
const
keySuffix
=
@"suffix"
;
...
@@ -39,7 +36,9 @@ CGFloat thumbnailWidth;
...
@@ -39,7 +36,9 @@ CGFloat thumbnailWidth;
NSUInteger
defaultThumbnailSize
=
32
*
1024
;
NSUInteger
defaultThumbnailSize
=
32
*
1024
;
@interface
FluwxPlugin
()
<
WXApiDelegate
,
WechatAuthAPIDelegate
>
@interface
FluwxPlugin
()
<
WXApiDelegate
,
WechatAuthAPIDelegate
>
@property
(
strong
,
nonatomic
)
NSString
*
extMsg
;
@property
(
strong
,
nonatomic
)
NSString
*
extMsg
;
@end
@end
typedef
void
(
^
FluwxWXReqRunnable
)(
void
);
typedef
void
(
^
FluwxWXReqRunnable
)(
void
);
...
@@ -66,7 +65,6 @@ BOOL handleOpenURLByFluwx = YES;
...
@@ -66,7 +65,6 @@ BOOL handleOpenURLByFluwx = YES;
NSObject
<
FlutterPluginRegistrar
>
*
_fluwxRegistrar
;
NSObject
<
FlutterPluginRegistrar
>
*
_fluwxRegistrar
;
+
(
void
)
registerWithRegistrar
:(
NSObject
<
FlutterPluginRegistrar
>
*
)
registrar
{
+
(
void
)
registerWithRegistrar
:(
NSObject
<
FlutterPluginRegistrar
>
*
)
registrar
{
_fluwxRegistrar
=
registrar
;
_fluwxRegistrar
=
registrar
;
FlutterMethodChannel
*
channel
=
FlutterMethodChannel
*
channel
=
...
@@ -96,7 +94,6 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -96,7 +94,6 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
}
}
-
(
void
)
handleMethodCall
:(
FlutterMethodCall
*
)
call
result
:(
FlutterResult
)
result
{
-
(
void
)
handleMethodCall
:(
FlutterMethodCall
*
)
call
result
:(
FlutterResult
)
result
{
if
([
@"registerApp"
isEqualToString
:
call
.
method
])
{
if
([
@"registerApp"
isEqualToString
:
call
.
method
])
{
[
self
registerApp
:
call
result
:
result
];
[
self
registerApp
:
call
result
:
result
];
}
else
if
([
@"isWeChatInstalled"
isEqualToString
:
call
.
method
])
{
}
else
if
([
@"isWeChatInstalled"
isEqualToString
:
call
.
method
])
{
...
@@ -119,9 +116,9 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -119,9 +116,9 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
[
self
handleautoDeductV2
:
call
result
:
result
];
[
self
handleautoDeductV2
:
call
result
:
result
];
}
else
if
([
@"openBusinessView"
isEqualToString
:
call
.
method
])
{
}
else
if
([
@"openBusinessView"
isEqualToString
:
call
.
method
])
{
[
self
handleOpenBusinessView
:
call
result
:
result
];
[
self
handleOpenBusinessView
:
call
result
:
result
];
}
else
if
([
@"authByPhoneLogin"
isEqualToString
:
call
.
method
])
{
}
else
if
([
@"authByPhoneLogin"
isEqualToString
:
call
.
method
])
{
[
self
handleAuthByPhoneLogin
:
call
result
:
result
];
[
self
handleAuthByPhoneLogin
:
call
result
:
result
];
}
else
if
([
@"getExtMsg"
isEqualToString
:
call
.
method
])
{
}
else
if
([
@"getExtMsg"
isEqualToString
:
call
.
method
])
{
[
self
handelGetExtMsgWithCall
:
call
result
:
result
];
[
self
handelGetExtMsgWithCall
:
call
result
:
result
];
}
else
if
([
call
.
method
hasPrefix
:
@"share"
])
{
}
else
if
([
call
.
method
hasPrefix
:
@"share"
])
{
[
self
handleShare
:
call
result
:
result
];
[
self
handleShare
:
call
result
:
result
];
...
@@ -133,24 +130,23 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -133,24 +130,23 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
[
self
handleOpenRankListCall
:
call
result
:
result
];
[
self
handleOpenRankListCall
:
call
result
:
result
];
}
else
if
([
@"openUrl"
isEqualToString
:
call
.
method
])
{
}
else
if
([
@"openUrl"
isEqualToString
:
call
.
method
])
{
[
self
handleOpenUrlCall
:
call
result
:
result
];
[
self
handleOpenUrlCall
:
call
result
:
result
];
}
else
if
([
@"openWeChatInvoice"
isEqualToString
:
call
.
method
])
{
}
else
if
([
@"openWeChatInvoice"
isEqualToString
:
call
.
method
])
{
[
self
openWeChatInvoice
:
call
result
:
result
];
[
self
openWeChatInvoice
:
call
result
:
result
];
}
else
if
([
@"selfCheck"
isEqualToString
:
call
.
method
])
{
}
else
if
([
@"selfCheck"
isEqualToString
:
call
.
method
])
{
#ifndef __OPTIMIZE__
#ifndef __OPTIMIZE__
[
WXApi
checkUniversalLinkReady
:
^
(
WXULCheckStep
step
,
WXCheckULStepResult
*
result
)
{
[
WXApi
checkUniversalLinkReady
:
^
(
WXULCheckStep
step
,
WXCheckULStepResult
*
result
)
{
NSString
*
log
=
[
NSString
stringWithFormat
:
@"%@, %u, %@, %@"
,
@
(
step
),
result
.
success
,
result
.
errorInfo
,
result
.
suggestion
];
NSString
*
log
=
[
NSString
stringWithFormat
:
@"%@, %u, %@, %@"
,
@
(
step
),
result
.
success
,
result
.
errorInfo
,
result
.
suggestion
];
[
self
logToFlutterWithDetail
:
log
];
[
self
logToFlutterWithDetail
:
log
];
}];
}];
#endif
#endif
result
(
nil
);
result
(
nil
);
}
else
if
([
@"attemptToResumeMsgFromWx"
isEqualToString
:
call
.
method
])
{
}
else
if
([
@"attemptToResumeMsgFromWx"
isEqualToString
:
call
.
method
])
{
if
(
_attemptToResumeMsgFromWxRunnable
!=
nil
)
{
if
(
_attemptToResumeMsgFromWxRunnable
!=
nil
)
{
_attemptToResumeMsgFromWxRunnable
();
_attemptToResumeMsgFromWxRunnable
();
_attemptToResumeMsgFromWxRunnable
=
nil
;
_attemptToResumeMsgFromWxRunnable
=
nil
;
}
}
result
(
nil
);
result
(
nil
);
}
}
else
if
([
@"payWithFluwx"
isEqualToString
:
call
.
method
])
{
else
if
([
@"payWithFluwx"
isEqualToString
:
call
.
method
])
{
#ifndef NO_PAY
#ifndef NO_PAY
[
self
handlePayment
:
call
result
:
result
];
[
self
handlePayment
:
call
result
:
result
];
#else
#else
...
@@ -162,8 +158,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -162,8 +158,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
#else
#else
result
(
@NO
);
result
(
@NO
);
#endif
#endif
}
}
else
{
else
{
result
(
FlutterMethodNotImplemented
);
result
(
FlutterMethodNotImplemented
);
}
}
}
}
...
@@ -173,7 +168,10 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -173,7 +168,10 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
NSString
*
appId
=
call
.
arguments
[
@"appId"
];
NSString
*
appId
=
call
.
arguments
[
@"appId"
];
if
([
FluwxStringUtil
isBlank
:
appId
])
{
if
([
FluwxStringUtil
isBlank
:
appId
])
{
result
([
FlutterError
errorWithCode
:
@"invalid app id"
message
:
@"are you sure your app id is correct ? "
details
:
appId
]);
result
([
FlutterError
errorWithCode
:
@"invalid app id"
message
:
@"are you sure your app id is correct ? "
details:
appId
]);
return
;
return
;
}
}
...
@@ -189,7 +187,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -189,7 +187,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
}
}
-
(
void
)
registerApp
:(
FlutterMethodCall
*
)
call
result
:(
FlutterResult
)
result
{
-
(
void
)
registerApp
:(
FlutterMethodCall
*
)
call
result
:(
FlutterResult
)
result
{
NSNumber
*
doOnIOS
=
call
.
arguments
[
@"iOS"
];
NSNumber
*
doOnIOS
=
call
.
arguments
[
@"iOS"
];
if
(
!
[
doOnIOS
boolValue
])
{
if
(
!
[
doOnIOS
boolValue
])
{
result
(
@NO
);
result
(
@NO
);
...
@@ -198,21 +196,27 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -198,21 +196,27 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
NSString
*
appId
=
call
.
arguments
[
@"appId"
];
NSString
*
appId
=
call
.
arguments
[
@"appId"
];
if
([
FluwxStringUtil
isBlank
:
appId
])
{
if
([
FluwxStringUtil
isBlank
:
appId
])
{
result
([
FlutterError
errorWithCode
:
@"invalid app id"
message
:
@"are you sure your app id is correct ? "
details
:
appId
]);
result
([
FlutterError
errorWithCode
:
@"invalid app id"
message
:
@"are you sure your app id is correct ? "
details:
appId
]);
return
;
return
;
}
}
NSString
*
universalLink
=
call
.
arguments
[
@"universalLink"
];
NSString
*
universalLink
=
call
.
arguments
[
@"universalLink"
];
if
([
FluwxStringUtil
isBlank
:
universalLink
])
{
if
([
FluwxStringUtil
isBlank
:
universalLink
])
{
result
([
FlutterError
errorWithCode
:
@"invalid universal link"
message
:
@"are you sure your universal link is correct ? "
details
:
universalLink
]);
result
([
FlutterError
errorWithCode
:
@"invalid universal link"
message
:
@"are you sure your universal link is correct ? "
details:
universalLink
]);
return
;
return
;
}
}
BOOL
isWeChatRegistered
=
[
WXApi
registerApp
:
appId
universalLink
:
universalLink
];
BOOL
isWeChatRegistered
=
[
WXApi
registerApp
:
appId
universalLink
:
universalLink
];
// If registration fails, we can return immediately
// If registration fails, we can return immediately
if
(
!
isWeChatRegistered
)
{
if
(
!
isWeChatRegistered
)
{
result
(
@
(
isWeChatRegistered
));
result
(
@
(
isWeChatRegistered
));
_isRunning
=
NO
;
_isRunning
=
NO
;
return
;
return
;
...
@@ -245,7 +249,6 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -245,7 +249,6 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
NSString
*
url
=
call
.
arguments
[
@"url"
];
NSString
*
url
=
call
.
arguments
[
@"url"
];
NSString
*
corpId
=
call
.
arguments
[
@"corpId"
];
NSString
*
corpId
=
call
.
arguments
[
@"corpId"
];
WXOpenCustomerServiceReq
*
req
=
[[
WXOpenCustomerServiceReq
alloc
]
init
];
WXOpenCustomerServiceReq
*
req
=
[[
WXOpenCustomerServiceReq
alloc
]
init
];
req
.
corpid
=
corpId
;
//企业ID
req
.
corpid
=
corpId
;
//企业ID
req
.
url
=
url
;
//客服URL
req
.
url
=
url
;
//客服URL
...
@@ -255,17 +258,15 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -255,17 +258,15 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
}
}
-
(
void
)
checkSupportOpenBusinessView
:(
FlutterMethodCall
*
)
call
result
:(
FlutterResult
)
result
{
-
(
void
)
checkSupportOpenBusinessView
:(
FlutterMethodCall
*
)
call
result
:(
FlutterResult
)
result
{
if
(
!
[
WXApi
isWXAppInstalled
])
{
if
(
!
[
WXApi
isWXAppInstalled
])
{
result
([
FlutterError
errorWithCode
:
@"WeChat Not Installed"
message
:
@"Please install the WeChat first"
details
:
nil
]);
result
([
FlutterError
errorWithCode
:
@"WeChat Not Installed"
message
:
@"Please install the WeChat first"
details
:
nil
]);
}
else
{
}
else
{
result
(
@
(
true
));
result
(
@
(
true
));
}
}
}
}
#ifndef NO_PAY
#ifndef NO_PAY
-
(
void
)
handlePayment
:(
FlutterMethodCall
*
)
call
result
:(
FlutterResult
)
result
{
-
(
void
)
handlePayment
:(
FlutterMethodCall
*
)
call
result
:(
FlutterResult
)
result
{
NSNumber
*
timestamp
=
call
.
arguments
[
@"timeStamp"
];
NSNumber
*
timestamp
=
call
.
arguments
[
@"timeStamp"
];
NSString
*
partnerId
=
call
.
arguments
[
@"partnerId"
];
NSString
*
partnerId
=
call
.
arguments
[
@"partnerId"
];
...
@@ -276,7 +277,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -276,7 +277,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
NSString
*
sign
=
call
.
arguments
[
@"sign"
];
NSString
*
sign
=
call
.
arguments
[
@"sign"
];
[
FluwxDelegate
defaultManager
].
extData
=
call
.
arguments
[
@"extData"
];
[
FluwxDelegate
defaultManager
].
extData
=
call
.
arguments
[
@"extData"
];
NSString
*
appId
=
call
.
arguments
[
@"appId"
];
NSString
*
appId
=
call
.
arguments
[
@"appId"
];
PayReq
*
req
=
[[
PayReq
alloc
]
init
];
PayReq
*
req
=
[[
PayReq
alloc
]
init
];
req
.
openID
=
(
appId
==
(
id
)
[
NSNull
null
])
?
nil
:
appId
;
req
.
openID
=
(
appId
==
(
id
)
[
NSNull
null
])
?
nil
:
appId
;
req
.
partnerId
=
partnerId
;
req
.
partnerId
=
partnerId
;
...
@@ -309,7 +310,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -309,7 +310,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
-
(
void
)
handleLaunchMiniProgram
:(
FlutterMethodCall
*
)
call
result
:(
FlutterResult
)
result
{
-
(
void
)
handleLaunchMiniProgram
:(
FlutterMethodCall
*
)
call
result
:(
FlutterResult
)
result
{
NSString
*
userName
=
call
.
arguments
[
@"userName"
];
NSString
*
userName
=
call
.
arguments
[
@"userName"
];
NSString
*
path
=
call
.
arguments
[
@"path"
];
NSString
*
path
=
call
.
arguments
[
@"path"
];
//
WXMiniProgramType *miniProgramType = call.arguments[@"miniProgramType"];
//
WXMiniProgramType *miniProgramType = call.arguments[@"miniProgramType"];
NSNumber
*
typeInt
=
call
.
arguments
[
@"miniProgramType"
];
NSNumber
*
typeInt
=
call
.
arguments
[
@"miniProgramType"
];
WXMiniProgramType
miniProgramType
=
WXMiniProgramTypeRelease
;
WXMiniProgramType
miniProgramType
=
WXMiniProgramTypeRelease
;
...
@@ -319,7 +320,6 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -319,7 +320,6 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
miniProgramType
=
WXMiniProgramTypePreview
;
miniProgramType
=
WXMiniProgramTypePreview
;
}
}
WXLaunchMiniProgramReq
*
launchMiniProgramReq
=
[
WXLaunchMiniProgramReq
object
];
WXLaunchMiniProgramReq
*
launchMiniProgramReq
=
[
WXLaunchMiniProgramReq
object
];
launchMiniProgramReq
.
userName
=
userName
;
launchMiniProgramReq
.
userName
=
userName
;
launchMiniProgramReq
.
path
=
(
path
==
(
id
)
[
NSNull
null
])
?
nil
:
path
;
launchMiniProgramReq
.
path
=
(
path
==
(
id
)
[
NSNull
null
])
?
nil
:
path
;
...
@@ -339,11 +339,11 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -339,11 +339,11 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
NSString
*
reserved
=
[
params
valueForKey
:
@"reserved"
];
NSString
*
reserved
=
[
params
valueForKey
:
@"reserved"
];
WXSubscribeMsgReq
*
req
=
[
WXSubscribeMsgReq
new
];
WXSubscribeMsgReq
*
req
=
[
WXSubscribeMsgReq
new
];
#if __LP64__
#if __LP64__
req
.
scene
=
[
scene
unsignedIntValue
];
req
.
scene
=
[
scene
unsignedIntValue
];
#else
#else
req
.
scene
=
[
scene
unsignedLongValue
];
req
.
scene
=
[
scene
unsignedLongValue
];
#endif
#endif
req
.
templateId
=
templateId
;
req
.
templateId
=
templateId
;
req
.
reserved
=
reserved
;
req
.
reserved
=
reserved
;
req
.
openID
=
appId
;
req
.
openID
=
appId
;
...
@@ -367,7 +367,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -367,7 +367,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
-
(
void
)
handleautoDeductV2
:(
FlutterMethodCall
*
)
call
result
:(
FlutterResult
)
result
{
-
(
void
)
handleautoDeductV2
:(
FlutterMethodCall
*
)
call
result
:(
FlutterResult
)
result
{
NSMutableDictionary
*
paramsFromDart
=
call
.
arguments
[
@"queryInfo"
];
NSMutableDictionary
*
paramsFromDart
=
call
.
arguments
[
@"queryInfo"
];
// [paramsFromDart removeObjectForKey:@"businessType"];
// [paramsFromDart removeObjectForKey:@"businessType"];
WXOpenBusinessWebViewReq
*
req
=
[[
WXOpenBusinessWebViewReq
alloc
]
init
];
WXOpenBusinessWebViewReq
*
req
=
[[
WXOpenBusinessWebViewReq
alloc
]
init
];
NSNumber
*
businessType
=
call
.
arguments
[
@"businessType"
];
NSNumber
*
businessType
=
call
.
arguments
[
@"businessType"
];
req
.
businessType
=
[
businessType
unsignedIntValue
];
req
.
businessType
=
[
businessType
unsignedIntValue
];
...
@@ -393,14 +393,17 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -393,14 +393,17 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
-
(
void
)
handelGetExtMsgWithCall
:(
FlutterMethodCall
*
)
call
result
:(
FlutterResult
)
result
{
-
(
void
)
handelGetExtMsgWithCall
:(
FlutterMethodCall
*
)
call
result
:(
FlutterResult
)
result
{
result
([
FluwxDelegate
defaultManager
].
extMsg
);
result
([
FluwxDelegate
defaultManager
].
extMsg
);
[
FluwxDelegate
defaultManager
].
extMsg
=
nil
;
[
FluwxDelegate
defaultManager
].
extMsg
=
nil
;
}
}
// Deprecated since iOS 9
// Deprecated since iOS 9
// See https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1623073-application?language=objc
// See https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1623073-application?language=objc
// Use `application:openURL:options:` instead.
// Use `application:openURL:options:` instead.
-
(
BOOL
)
application
:(
UIApplication
*
)
application
openURL
:(
NSURL
*
)
url
sourceApplication
:(
NSString
*
)
sourceApplication
annotation
:(
id
)
annotation
{
-
(
BOOL
)
application
:(
UIApplication
*
)
application
openURL
:(
NSURL
*
)
url
sourceApplication
:(
NSString
*
)
sourceApplication
annotation
:(
id
)
annotation
{
// Since flutter has minimum iOS version requirement of 11.0, we don't need to change the implementation here.
// Since flutter has minimum iOS version requirement of 11.0, we don't need to change the implementation here.
return
[
WXApi
handleOpenURL
:
url
delegate
:
self
];
return
[
WXApi
handleOpenURL
:
url
delegate
:
self
];
}
}
...
@@ -415,26 +418,24 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -415,26 +418,24 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
// Available on iOS 9.0 and later
// Available on iOS 9.0 and later
// See https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1623112-application?language=objc
// See https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1623112-application?language=objc
-
(
BOOL
)
application
:(
UIApplication
*
)
app
openURL
:(
NSURL
*
)
url
options
:(
NSDictionary
<
NSString
*
,
id
>
*
)
options
{
-
(
BOOL
)
application
:(
UIApplication
*
)
app
openURL
:(
NSURL
*
)
url
options
:(
NSDictionary
<
NSString
*
,
id
>
*
)
options
{
// ↓ previous solution -- according to document, this may fail if the WXApi hasn't registered yet.
// ↓ previous solution -- according to document, this may fail if the WXApi hasn't registered yet.
// return [WXApi handleOpenURL:url delegate:self];
// return [WXApi handleOpenURL:url delegate:self];
if
(
_isRunning
)
{
if
(
_isRunning
)
{
// registered -- directly handle open url request by WXApi
// registered -- directly handle open url request by WXApi
return
[
WXApi
handleOpenURL
:
url
delegate
:
self
];
return
[
WXApi
handleOpenURL
:
url
delegate
:
self
];
}
else
{
}
else
{
// unregistered -- cache open url request and handle it once WXApi is registered
// unregistered -- cache open url request and handle it once WXApi is registered
__weak
typeof
(
self
)
weakSelf
=
self
;
__weak
typeof
(
self
)
weakSelf
=
self
;
_cachedOpenUrlRequest
=
^
()
{
_cachedOpenUrlRequest
=
^
()
{
__strong
typeof
(
weakSelf
)
strongSelf
=
weakSelf
;
__strong
typeof
(
weakSelf
)
strongSelf
=
weakSelf
;
[
WXApi
handleOpenURL
:
url
delegate
:
strongSelf
];
[
WXApi
handleOpenURL
:
url
delegate
:
strongSelf
];
};
};
// Let's hold this until the PR contributor send feedback.
// Let's hold this until the PR contributor send feedback.
// if ([url.absoluteString contains:[self fetchWeChatAppId]]){
//return [url.absoluteString contains:[self fetchWeChatAppId]];
// return YES;
// } else {
// return NO;
// }
// simply return YES to indicate that we can handle open url request later
// simply return YES to indicate that we can handle open url request later
return
NO
;
return
NO
;
...
@@ -442,14 +443,14 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -442,14 +443,14 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
}
}
#ifndef SCENE_DELEGATE
#ifndef SCENE_DELEGATE
-
(
BOOL
)
application
:(
UIApplication
*
)
application
continueUserActivity
:(
NSUserActivity
*
)
userActivity
restorationHandler
:(
void
(
^
)(
NSArray
*
_Nonnull
))
restorationHandler
{
-
(
BOOL
)
application
:(
UIApplication
*
)
application
continueUserActivity
:(
NSUserActivity
*
)
userActivity
restorationHandler
:(
void
(
^
)(
NSArray
*
_Nonnull
))
restorationHandler
{
// TODO: (if need) cache userActivity and handle it once WXApi is registered
// TODO: (if need) cache userActivity and handle it once WXApi is registered
return
[
WXApi
handleOpenUniversalLink
:
userActivity
delegate
:
self
];
return
[
WXApi
handleOpenUniversalLink
:
userActivity
delegate
:
self
];
}
}
#endif
#endif
#ifdef SCENE_DELEGATE
#ifdef SCENE_DELEGATE
-
(
void
)
scene
:(
UIScene
*
)
scene
continueUserActivity
:(
NSUserActivity
*
)
userActivity
API_AVAILABLE
(
ios
(
13
.
0
))
{
-
(
void
)
scene
:(
UIScene
*
)
scene
continueUserActivity
:(
NSUserActivity
*
)
userActivity
API_AVAILABLE
(
ios
(
13
.
0
))
{
// TODO: (if need) cache userActivity and handle it once WXApi is registered
// TODO: (if need) cache userActivity and handle it once WXApi is registered
[
WXApi
handleOpenUniversalLink
:
userActivity
delegate
:
self
];
[
WXApi
handleOpenUniversalLink
:
userActivity
delegate
:
self
];
}
}
...
@@ -460,7 +461,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -460,7 +461,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
OpenWebviewReq
*
req
=
[[
OpenWebviewReq
alloc
]
init
];
OpenWebviewReq
*
req
=
[[
OpenWebviewReq
alloc
]
init
];
req
.
url
=
call
.
arguments
[
@"url"
];
req
.
url
=
call
.
arguments
[
@"url"
];
[
WXApi
sendReq
:
req
[
WXApi
sendReq
:
req
completion
:
^
(
BOOL
success
){
completion
:
^
(
BOOL
success
)
{
result
(
@
(
success
));
result
(
@
(
success
));
}];
}];
}
}
...
@@ -469,7 +470,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -469,7 +470,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
result
:
(
FlutterResult
)
result
{
result
:
(
FlutterResult
)
result
{
OpenRankListReq
*
req
=
[[
OpenRankListReq
alloc
]
init
];
OpenRankListReq
*
req
=
[[
OpenRankListReq
alloc
]
init
];
[
WXApi
sendReq
:
req
[
WXApi
sendReq
:
req
completion
:
^
(
BOOL
success
){
completion
:
^
(
BOOL
success
)
{
result
(
@
(
success
));
result
(
@
(
success
));
}];
}];
}
}
...
@@ -485,7 +486,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -485,7 +486,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
}
}
-
(
void
)
logToFlutterWithDetail
:
(
NSString
*
)
detail
{
-
(
void
)
logToFlutterWithDetail
:
(
NSString
*
)
detail
{
if
(
_channel
!=
nil
)
{
if
(
_channel
!=
nil
)
{
NSDictionary
*
result
=
@{
NSDictionary
*
result
=
@{
@"detail"
:
detail
@"detail"
:
detail
};
};
...
@@ -521,35 +522,27 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -521,35 +522,27 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
}
}
-
(
void
)
shareImage
:
(
FlutterMethodCall
*
)
call
result
:
(
FlutterResult
)
result
{
-
(
void
)
shareImage
:
(
FlutterMethodCall
*
)
call
result
:
(
FlutterResult
)
result
{
dispatch_queue_t
globalQueue
=
dispatch_get_global_queue
(
0
,
0
);
NSNumber
*
scene
=
call
.
arguments
[
fluwxKeyScene
];
dispatch_async
(
globalQueue
,
^
{
NSDictionary
*
sourceImage
=
call
.
arguments
[
keySource
];
NSDictionary
*
sourceImage
=
call
.
arguments
[
keySource
];
FlutterStandardTypedData
*
flutterImageData
=
sourceImage
[
@"uint8List"
];
FlutterStandardTypedData
*
flutterImageData
=
sourceImage
[
@"uint8List"
];
NSData
*
imageData
=
nil
;
NSData
*
imageData
=
nil
;
if
(
flutterImageData
!=
nil
)
{
if
(
flutterImageData
!=
nil
){
imageData
=
flutterImageData
.
data
;
imageData
=
flutterImageData
.
data
;
}
}
NSString
*
imageDataHash
=
sourceImage
[
@"imgDataHash"
];
NSString
*
imageDataHash
=
sourceImage
[
@"imgDataHash"
];
dispatch_async
(
dispatch_get_main_queue
(),
^
{
FlutterStandardTypedData
*
flutterThumbData
=
call
.
arguments
[
fluwxKeyThumbData
];
FlutterStandardTypedData
*
flutterThumbData
=
call
.
arguments
[
fluwxKeyThumbData
];
NSData
*
thumbData
=
nil
;
NSData
*
thumbData
=
nil
;
if
(
!
[
flutterThumbData
isKindOfClass
:[
NSNull
class
]])
{
if
(
!
[
flutterThumbData
isKindOfClass
:[
NSNull
class
]]){
thumbData
=
flutterThumbData
.
data
;
thumbData
=
flutterThumbData
.
data
;
}
}
dispatch_queue_t
globalQueue
=
dispatch_get_global_queue
(
0
,
0
);
NSNumber
*
scene
=
call
.
arguments
[
fluwxKeyScene
];
dispatch_async
(
globalQueue
,
^
{
dispatch_async
(
dispatch_get_main_queue
(),
^
{
[
self
sendImageData
:
imageData
[
self
sendImageData
:
imageData
ImgDataHash
:
imageDataHash
ImgDataHash
:
imageDataHash
TagName
:
call
.
arguments
[
fluwxKeyMediaTagName
]
TagName
:
call
.
arguments
[
fluwxKeyMediaTagName
]
...
@@ -563,38 +556,29 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -563,38 +556,29 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
ThumbDataHash
:
call
.
arguments
[
fluwxKeyThumbDataHash
]
ThumbDataHash
:
call
.
arguments
[
fluwxKeyThumbDataHash
]
completion
:^
(
BOOL
done
)
{
completion
:^
(
BOOL
done
)
{
result
(
@
(
done
));
result
(
@
(
done
));
}
}];
];
});
});
});
});
}
}
-
(
void
)
shareWebPage
:
(
FlutterMethodCall
*
)
call
result
:
(
FlutterResult
)
result
{
-
(
void
)
shareWebPage
:
(
FlutterMethodCall
*
)
call
result
:
(
FlutterResult
)
result
{
dispatch_queue_t
globalQueue
=
dispatch_get_global_queue
(
0
,
0
);
dispatch_async
(
globalQueue
,
^
{
UIImage
*
thumbnailImage
=
[
self
getCommonThumbnail
:
call
];
dispatch_async
(
dispatch_get_main_queue
(),
^
{
NSString
*
webPageUrl
=
call
.
arguments
[
@"webPage"
];
NSString
*
webPageUrl
=
call
.
arguments
[
@"webPage"
];
NSNumber
*
scene
=
call
.
arguments
[
fluwxKeyScene
];
NSNumber
*
scene
=
call
.
arguments
[
fluwxKeyScene
];
FlutterStandardTypedData
*
flutterThumbData
=
call
.
arguments
[
fluwxKeyThumbData
];
FlutterStandardTypedData
*
flutterThumbData
=
call
.
arguments
[
fluwxKeyThumbData
];
NSData
*
thumbData
=
nil
;
NSData
*
thumbData
=
nil
;
if
(
!
[
flutterThumbData
isKindOfClass
:[
NSNull
class
]])
{
if
(
!
[
flutterThumbData
isKindOfClass
:[
NSNull
class
]]){
thumbData
=
flutterThumbData
.
data
;
thumbData
=
flutterThumbData
.
data
;
}
}
dispatch_queue_t
globalQueue
=
dispatch_get_global_queue
(
0
,
0
);
dispatch_async
(
globalQueue
,
^
{
dispatch_async
(
dispatch_get_main_queue
(),
^
{
[
self
sendLinkURL
:
webPageUrl
[
self
sendLinkURL
:
webPageUrl
TagName
:
call
.
arguments
[
fluwxKeyMediaTagName
]
TagName
:
call
.
arguments
[
fluwxKeyMediaTagName
]
Title
:
call
.
arguments
[
fluwxKeyTitle
]
Title
:
call
.
arguments
[
fluwxKeyTitle
]
Description
:
call
.
arguments
[
fluwxKeyDescription
]
Description
:
call
.
arguments
[
fluwxKeyDescription
]
ThumbImage
:
thumbnailImage
MessageExt
:
call
.
arguments
[
fluwxKeyMessageExt
]
MessageExt
:
call
.
arguments
[
fluwxKeyMessageExt
]
MessageAction
:
call
.
arguments
[
fluwxKeyMessageAction
]
MessageAction
:
call
.
arguments
[
fluwxKeyMessageAction
]
InScene
:
[
self
intToWeChatScene
:
scene
]
InScene
:
[
self
intToWeChatScene
:
scene
]
...
@@ -610,28 +594,23 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -610,28 +594,23 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
}
}
-
(
void
)
shareMusic
:
(
FlutterMethodCall
*
)
call
result
:
(
FlutterResult
)
result
{
-
(
void
)
shareMusic
:
(
FlutterMethodCall
*
)
call
result
:
(
FlutterResult
)
result
{
dispatch_queue_t
globalQueue
=
dispatch_get_global_queue
(
0
,
0
);
NSNumber
*
scene
=
call
.
arguments
[
fluwxKeyScene
];
dispatch_async
(
globalQueue
,
^
{
UIImage
*
thumbnailImage
=
[
self
getCommonThumbnail
:
call
];
dispatch_async
(
dispatch_get_main_queue
(),
^
{
FlutterStandardTypedData
*
flutterThumbData
=
call
.
arguments
[
fluwxKeyThumbData
];
FlutterStandardTypedData
*
flutterThumbData
=
call
.
arguments
[
fluwxKeyThumbData
];
NSData
*
thumbData
=
nil
;
NSData
*
thumbData
=
nil
;
if
(
!
[
flutterThumbData
isKindOfClass
:[
NSNull
class
]])
{
if
(
!
[
flutterThumbData
isKindOfClass
:[
NSNull
class
]]){
thumbData
=
flutterThumbData
.
data
;
thumbData
=
flutterThumbData
.
data
;
}
}
NSNumber
*
scene
=
call
.
arguments
[
fluwxKeyScene
];
dispatch_queue_t
globalQueue
=
dispatch_get_global_queue
(
0
,
0
);
dispatch_async
(
globalQueue
,
^
{
dispatch_async
(
dispatch_get_main_queue
(),
^
{
[
self
sendMusicURL
:
call
.
arguments
[
@"musicUrl"
]
[
self
sendMusicURL
:
call
.
arguments
[
@"musicUrl"
]
dataURL
:
call
.
arguments
[
@"musicDataUrl"
]
dataURL
:
call
.
arguments
[
@"musicDataUrl"
]
MusicLowBandUrl
:
call
.
arguments
[
@"musicLowBandUrl"
]
MusicLowBandUrl
:
call
.
arguments
[
@"musicLowBandUrl"
]
MusicLowBandDataUrl
:
call
.
arguments
[
@"musicLowBandDataUrl"
]
MusicLowBandDataUrl
:
call
.
arguments
[
@"musicLowBandDataUrl"
]
Title
:
call
.
arguments
[
fluwxKeyTitle
]
Title
:
call
.
arguments
[
fluwxKeyTitle
]
Description
:
call
.
arguments
[
fluwxKeyDescription
]
Description
:
call
.
arguments
[
fluwxKeyDescription
]
ThumbImage
:
thumbnailImage
MessageExt
:
call
.
arguments
[
fluwxKeyMessageExt
]
MessageExt
:
call
.
arguments
[
fluwxKeyMessageExt
]
MessageAction
:
call
.
arguments
[
fluwxKeyMessageAction
]
MessageAction
:
call
.
arguments
[
fluwxKeyMessageAction
]
TagName
:
call
.
arguments
[
fluwxKeyMediaTagName
]
TagName
:
call
.
arguments
[
fluwxKeyMediaTagName
]
...
@@ -641,35 +620,27 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -641,35 +620,27 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
ThumbDataHash
:
call
.
arguments
[
fluwxKeyThumbDataHash
]
ThumbDataHash
:
call
.
arguments
[
fluwxKeyThumbDataHash
]
completion
:^
(
BOOL
done
)
{
completion
:^
(
BOOL
done
)
{
result
(
@
(
done
));
result
(
@
(
done
));
}
}];
];
});
});
});
});
}
}
-
(
void
)
shareVideo
:
(
FlutterMethodCall
*
)
call
result
:
(
FlutterResult
)
result
{
-
(
void
)
shareVideo
:
(
FlutterMethodCall
*
)
call
result
:
(
FlutterResult
)
result
{
dispatch_queue_t
globalQueue
=
dispatch_get_global_queue
(
0
,
0
);
dispatch_async
(
globalQueue
,
^
{
UIImage
*
thumbnailImage
=
[
self
getCommonThumbnail
:
call
];
dispatch_async
(
dispatch_get_main_queue
(),
^
{
NSNumber
*
scene
=
call
.
arguments
[
fluwxKeyScene
];
NSNumber
*
scene
=
call
.
arguments
[
fluwxKeyScene
];
FlutterStandardTypedData
*
flutterThumbData
=
call
.
arguments
[
fluwxKeyThumbData
];
FlutterStandardTypedData
*
flutterThumbData
=
call
.
arguments
[
fluwxKeyThumbData
];
NSData
*
thumbData
=
nil
;
NSData
*
thumbData
=
nil
;
if
(
!
[
flutterThumbData
isKindOfClass
:[
NSNull
class
]])
{
if
(
!
[
flutterThumbData
isKindOfClass
:[
NSNull
class
]]){
thumbData
=
flutterThumbData
.
data
;
thumbData
=
flutterThumbData
.
data
;
}
}
dispatch_queue_t
globalQueue
=
dispatch_get_global_queue
(
0
,
0
);
dispatch_async
(
globalQueue
,
^
{
dispatch_async
(
dispatch_get_main_queue
(),
^
{
[
self
sendVideoURL
:
call
.
arguments
[
@"videoUrl"
]
[
self
sendVideoURL
:
call
.
arguments
[
@"videoUrl"
]
VideoLowBandUrl
:
call
.
arguments
[
@"videoLowBandUrl"
]
VideoLowBandUrl
:
call
.
arguments
[
@"videoLowBandUrl"
]
Title
:
call
.
arguments
[
fluwxKeyTitle
]
Title
:
call
.
arguments
[
fluwxKeyTitle
]
Description
:
call
.
arguments
[
fluwxKeyDescription
]
Description
:
call
.
arguments
[
fluwxKeyDescription
]
ThumbImage
:
thumbnailImage
MessageExt
:
call
.
arguments
[
fluwxKeyMessageExt
]
MessageExt
:
call
.
arguments
[
fluwxKeyMessageExt
]
MessageAction
:
call
.
arguments
[
fluwxKeyMessageAction
]
MessageAction
:
call
.
arguments
[
fluwxKeyMessageAction
]
TagName
:
call
.
arguments
[
fluwxKeyMediaTagName
]
TagName
:
call
.
arguments
[
fluwxKeyMediaTagName
]
...
@@ -685,10 +656,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -685,10 +656,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
}
}
-
(
void
)
shareFile
:
(
FlutterMethodCall
*
)
call
result
:
(
FlutterResult
)
result
{
-
(
void
)
shareFile
:
(
FlutterMethodCall
*
)
call
result
:
(
FlutterResult
)
result
{
dispatch_queue_t
globalQueue
=
dispatch_get_global_queue
(
0
,
0
);
dispatch_async
(
globalQueue
,
^
{
NSDictionary
*
sourceFile
=
call
.
arguments
[
keySource
];
NSDictionary
*
sourceFile
=
call
.
arguments
[
keySource
];
UIImage
*
thumbnailImage
=
[
self
getCommonThumbnail
:
call
];
NSString
*
fileExtension
;
NSString
*
fileExtension
;
NSString
*
suffix
=
sourceFile
[
keySuffix
];
NSString
*
suffix
=
sourceFile
[
keySuffix
];
fileExtension
=
suffix
;
fileExtension
=
suffix
;
...
@@ -698,22 +666,21 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -698,22 +666,21 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
}
}
NSData
*
data
=
[
self
getNsDataFromWeChatFile
:
sourceFile
];
NSData
*
data
=
[
self
getNsDataFromWeChatFile
:
sourceFile
];
dispatch_async
(
dispatch_get_main_queue
(),
^
{
NSNumber
*
scene
=
call
.
arguments
[
fluwxKeyScene
];
NSNumber
*
scene
=
call
.
arguments
[
fluwxKeyScene
];
FlutterStandardTypedData
*
flutterThumbData
=
call
.
arguments
[
fluwxKeyThumbData
];
FlutterStandardTypedData
*
flutterThumbData
=
call
.
arguments
[
fluwxKeyThumbData
];
NSData
*
thumbData
=
nil
;
NSData
*
thumbData
=
nil
;
if
(
!
[
flutterThumbData
isKindOfClass
:[
NSNull
class
]])
{
if
(
!
[
flutterThumbData
isKindOfClass
:[
NSNull
class
]]){
thumbData
=
flutterThumbData
.
data
;
thumbData
=
flutterThumbData
.
data
;
}
}
dispatch_queue_t
globalQueue
=
dispatch_get_global_queue
(
0
,
0
);
dispatch_async
(
globalQueue
,
^
{
dispatch_async
(
dispatch_get_main_queue
(),
^
{
[
self
sendFileData
:
data
[
self
sendFileData
:
data
fileExtension
:
fileExtension
fileExtension
:
fileExtension
Title
:
call
.
arguments
[
fluwxKeyTitle
]
Title
:
call
.
arguments
[
fluwxKeyTitle
]
Description
:
call
.
arguments
[
fluwxKeyDescription
]
Description
:
call
.
arguments
[
fluwxKeyDescription
]
ThumbImage
:
thumbnailImage
InScene
:
[
self
intToWeChatScene
:
scene
]
InScene
:
[
self
intToWeChatScene
:
scene
]
MsgSignature
:
call
.
arguments
[
fluwxKeyMsgSignature
]
MsgSignature
:
call
.
arguments
[
fluwxKeyMsgSignature
]
ThumbData
:
thumbData
ThumbData
:
thumbData
...
@@ -726,31 +693,20 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -726,31 +693,20 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
}
}
-
(
void
)
shareMiniProgram
:
(
FlutterMethodCall
*
)
call
result
:
(
FlutterResult
)
result
{
-
(
void
)
shareMiniProgram
:
(
FlutterMethodCall
*
)
call
result
:
(
FlutterResult
)
result
{
dispatch_queue_t
globalQueue
=
dispatch_get_global_queue
(
0
,
0
);
NSNumber
*
scene
=
call
.
arguments
[
fluwxKeyScene
];
dispatch_async
(
globalQueue
,
^
{
dispatch_async
(
dispatch_get_main_queue
(),
^
{
FlutterStandardTypedData
*
flutterThumbData
=
call
.
arguments
[
fluwxKeyThumbData
];
FlutterStandardTypedData
*
flutterThumbData
=
call
.
arguments
[
fluwxKeyThumbData
];
FlutterStandardTypedData
*
hdImageDataPayload
=
call
.
arguments
[
@"hdImageData"
];
NSData
*
thumbData
=
nil
;
NSData
*
thumbData
=
nil
;
if
(
!
[
flutterThumbData
isKindOfClass
:[
NSNull
class
]])
{
NSData
*
hdImageData
=
nil
;
if
(
!
[
flutterThumbData
isKindOfClass
:[
NSNull
class
]]){
thumbData
=
flutterThumbData
.
data
;
thumbData
=
flutterThumbData
.
data
;
}
}
if
(
!
[
hdImageDataPayload
isKindOfClass
:[
NSNull
class
]]){
FlutterStandardTypedData
*
hdImageDataPayload
=
call
.
arguments
[
@"hdImageData"
];
NSData
*
hdImageData
=
nil
;
if
(
!
[
hdImageDataPayload
isKindOfClass
:[
NSNull
class
]])
{
hdImageData
=
hdImageDataPayload
.
data
;
hdImageData
=
hdImageDataPayload
.
data
;
}
}
NSNumber
*
scene
=
call
.
arguments
[
fluwxKeyScene
];
NSNumber
*
typeInt
=
call
.
arguments
[
@"miniProgramType"
];
NSNumber
*
typeInt
=
call
.
arguments
[
@"miniProgramType"
];
WXMiniProgramType
miniProgramType
=
WXMiniProgramTypeRelease
;
WXMiniProgramType
miniProgramType
=
WXMiniProgramTypeRelease
;
if
([
typeInt
isEqualToNumber
:
@1
])
{
if
([
typeInt
isEqualToNumber
:
@1
])
{
...
@@ -758,7 +714,9 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -758,7 +714,9 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
}
else
if
([
typeInt
isEqualToNumber
:
@2
])
{
}
else
if
([
typeInt
isEqualToNumber
:
@2
])
{
miniProgramType
=
WXMiniProgramTypePreview
;
miniProgramType
=
WXMiniProgramTypePreview
;
}
}
dispatch_queue_t
globalQueue
=
dispatch_get_global_queue
(
0
,
0
);
dispatch_async
(
globalQueue
,
^
{
dispatch_async
(
dispatch_get_main_queue
(),
^
{
[
self
sendMiniProgramWebpageUrl
:
call
.
arguments
[
@"webPageUrl"
]
[
self
sendMiniProgramWebpageUrl
:
call
.
arguments
[
@"webPageUrl"
]
userName
:
call
.
arguments
[
@"userName"
]
userName
:
call
.
arguments
[
@"userName"
]
path
:
call
.
arguments
[
@"path"
]
path
:
call
.
arguments
[
@"path"
]
...
@@ -776,35 +734,11 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -776,35 +734,11 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
ThumbDataHash
:
call
.
arguments
[
fluwxKeyThumbDataHash
]
ThumbDataHash
:
call
.
arguments
[
fluwxKeyThumbDataHash
]
completion
:^
(
BOOL
done
)
{
completion
:^
(
BOOL
done
)
{
result
(
@
(
done
));
result
(
@
(
done
));
}
}];
];
});
});
});
});
}
}
-
(
UIImage
*
)
getCommonThumbnail
:
(
FlutterMethodCall
*
)
call
{
NSDictionary
*
thumbnail
=
call
.
arguments
[
fluwxKeyThumbnail
];
if
(
thumbnail
==
nil
||
thumbnail
==
(
id
)
[
NSNull
null
])
{
return
nil
;
}
NSString
*
suffix
=
thumbnail
[
@"suffix"
];
NSNumber
*
compress
=
call
.
arguments
[
fluwxKeyCompressThumbnail
];
NSData
*
thumbnailData
=
[
self
getNsDataFromWeChatFile
:
thumbnail
];
UIImage
*
thumbnailImage
=
[
self
getThumbnailFromNSData
:
thumbnailData
size
:
defaultThumbnailSize
isPNG
:
[
self
isPNG
:
suffix
]
compress
:
[
compress
boolValue
]];
return
thumbnailImage
;
}
//enum ImageSchema {
// NETWORK,
// ASSET,
// FILE,
// BINARY,
//}
-
(
NSData
*
)
getNsDataFromWeChatFile
:
(
NSDictionary
*
)
weChatFile
{
-
(
NSData
*
)
getNsDataFromWeChatFile
:
(
NSDictionary
*
)
weChatFile
{
NSNumber
*
schema
=
weChatFile
[
@"schema"
];
NSNumber
*
schema
=
weChatFile
[
@"schema"
];
...
@@ -829,10 +763,11 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -829,10 +763,11 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
-
(
UIImage
*
)
getThumbnailFromNSData
:
(
NSData
*
)
data
size
:
(
NSUInteger
)
size
isPNG
:
(
BOOL
)
isPNG
compress
:
(
BOOL
)
compress
{
-
(
UIImage
*
)
getThumbnailFromNSData
:
(
NSData
*
)
data
size
:
(
NSUInteger
)
size
isPNG
:
(
BOOL
)
isPNG
compress
:
(
BOOL
)
compress
{
UIImage
*
uiImage
=
[
UIImage
imageWithData
:
data
];
UIImage
*
uiImage
=
[
UIImage
imageWithData
:
data
];
if
(
compress
)
if
(
compress
)
{
return
[
ThumbnailHelper
compressImage
:
uiImage
toByte
:
size
isPNG
:
isPNG
];
return
[
ThumbnailHelper
compressImage
:
uiImage
toByte
:
size
isPNG
:
isPNG
];
else
}
else
{
return
uiImage
;
return
uiImage
;
}
}
}
-
(
NSData
*
)
getThumbnailDataFromNSData
:
(
NSData
*
)
data
size
:
(
NSUInteger
)
size
compress
:
(
BOOL
)
compress
{
-
(
NSData
*
)
getThumbnailDataFromNSData
:
(
NSData
*
)
data
size
:
(
NSUInteger
)
size
compress
:
(
BOOL
)
compress
{
...
@@ -877,7 +812,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -877,7 +812,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
}
}
-
(
enum
WXScene
)
intToWeChatScene
:
(
NSNumber
*
)
value
{
-
(
enum
WXScene
)
intToWeChatScene
:
(
NSNumber
*
)
value
{
// enum WeChatScene { SESSION, TIMELINE, FAVORITE }
// enum WeChatScene { SESSION, TIMELINE, FAVORITE }
if
([
value
isEqual
:
@0
])
{
if
([
value
isEqual
:
@0
])
{
return
WXSceneSession
;
return
WXSceneSession
;
}
else
if
([
value
isEqual
:
@1
])
{
}
else
if
([
value
isEqual
:
@1
])
{
...
@@ -889,29 +824,24 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -889,29 +824,24 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
}
}
}
}
-
(
void
)
managerDidRecvLaunchFromWXReq
:
(
LaunchFromWXReq
*
)
request
{
-
(
void
)
managerDidRecvLaunchFromWXReq
:
(
LaunchFromWXReq
*
)
request
{
[
FluwxDelegate
defaultManager
].
extMsg
=
request
.
message
.
messageExt
;
[
FluwxDelegate
defaultManager
].
extMsg
=
request
.
message
.
messageExt
;
// LaunchFromWXReq *launchFromWXReq = (LaunchFromWXReq *)request;
// LaunchFromWXReq *launchFromWXReq = (LaunchFromWXReq *)request;
//
//
// if (_isRunning) {
// if (_isRunning) {
// [FluwxDelegate defaultManager].extMsg = request.message.messageExt;
// [FluwxDelegate defaultManager].extMsg = request.message.messageExt;
// } else {
// } else {
// __weak typeof(self) weakSelf = self;
// __weak typeof(self) weakSelf = self;
// _initialWXReqRunnable = ^() {
// _initialWXReqRunnable = ^() {
// __strong typeof(weakSelf) strongSelf = weakSelf;
// __strong typeof(weakSelf) strongSelf = weakSelf;
// [FluwxDelegate defaultManager].extMsg = request.message.messageExt
// [FluwxDelegate defaultManager].extMsg = request.message.messageExt
// };
// };
// }
// }
}
}
-
(
void
)
onResp
:
(
BaseResp
*
)
resp
{
-
(
void
)
onResp
:
(
BaseResp
*
)
resp
{
if
([
resp
isKindOfClass
:[
SendMessageToWXResp
class
]])
{
if
([
resp
isKindOfClass
:[
SendMessageToWXResp
class
]])
{
SendMessageToWXResp
*
messageResp
=
(
SendMessageToWXResp
*
)
resp
;
SendMessageToWXResp
*
messageResp
=
(
SendMessageToWXResp
*
)
resp
;
NSDictionary
*
result
=
@{
NSDictionary
*
result
=
@{
description:
messageResp
.
description
==
nil
?
@""
:
messageResp
.
description
,
description:
messageResp
.
description
==
nil
?
@""
:
messageResp
.
description
,
errStr:
messageResp
.
errStr
==
nil
?
@""
:
messageResp
.
errStr
,
errStr:
messageResp
.
errStr
==
nil
?
@""
:
messageResp
.
errStr
,
...
@@ -919,13 +849,10 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -919,13 +849,10 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
fluwxType:
@
(
messageResp
.
type
),
fluwxType:
@
(
messageResp
.
type
),
country:
messageResp
.
country
==
nil
?
@""
:
messageResp
.
country
,
country:
messageResp
.
country
==
nil
?
@""
:
messageResp
.
country
,
lang:
messageResp
.
lang
==
nil
?
@""
:
messageResp
.
lang
};
lang:
messageResp
.
lang
==
nil
?
@""
:
messageResp
.
lang
};
if
(
_channel
!=
nil
)
{
if
(
_channel
!=
nil
)
{
[
_channel
invokeMethod
:
@"onShareResponse"
arguments
:
result
];
[
_channel
invokeMethod
:
@"onShareResponse"
arguments
:
result
];
}
}
}
else
if
([
resp
isKindOfClass
:[
SendAuthResp
class
]])
{
}
else
if
([
resp
isKindOfClass
:[
SendAuthResp
class
]])
{
SendAuthResp
*
authResp
=
(
SendAuthResp
*
)
resp
;
SendAuthResp
*
authResp
=
(
SendAuthResp
*
)
resp
;
NSDictionary
*
result
=
@{
NSDictionary
*
result
=
@{
description:
authResp
.
description
==
nil
?
@""
:
authResp
.
description
,
description:
authResp
.
description
==
nil
?
@""
:
authResp
.
description
,
...
@@ -939,39 +866,30 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -939,39 +866,30 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
};
};
if
(
_channel
!=
nil
)
{
if
(
_channel
!=
nil
)
{
[
_channel
invokeMethod
:
@"onAuthResponse"
arguments
:
result
];
[
_channel
invokeMethod
:
@"onAuthResponse"
arguments
:
result
];
}
}
}
else
if
([
resp
isKindOfClass
:[
AddCardToWXCardPackageResp
class
]])
{
}
else
if
([
resp
isKindOfClass
:[
AddCardToWXCardPackageResp
class
]])
{
// pass
}
else
if
([
resp
isKindOfClass
:[
WXChooseCardResp
class
]])
{
}
else
if
([
resp
isKindOfClass
:[
WXChooseCardResp
class
]])
{
// pass
}
else
if
([
resp
isKindOfClass
:[
WXChooseInvoiceResp
class
]])
{
}
else
if
([
resp
isKindOfClass
:[
WXChooseInvoiceResp
class
]])
{
//TODO 处理发票返回,并回调Dart
//TODO 处理发票返回,并回调Dart
WXChooseInvoiceResp
*
chooseInvoiceResp
=
(
WXChooseInvoiceResp
*
)
resp
;
WXChooseInvoiceResp
*
chooseInvoiceResp
=
(
WXChooseInvoiceResp
*
)
resp
;
NSArray
*
array
=
chooseInvoiceResp
.
cardAry
;
NSArray
*
array
=
chooseInvoiceResp
.
cardAry
;
NSMutableArray
*
mutableArray
=
[
NSMutableArray
arrayWithCapacity
:
array
.
count
];
NSMutableArray
*
mutableArray
=
[
NSMutableArray
arrayWithCapacity
:
array
.
count
];
for
(
int
i
=
0
;
i
<
array
.
count
;
i
++
)
{
for
(
int
i
=
0
;
i
<
array
.
count
;
i
++
)
{
WXInvoiceItem
*
item
=
array
[
i
];
WXInvoiceItem
*
item
=
array
[
i
];
NSDictionary
*
dict
=
@{
@"app_id"
:
item
.
appID
,
@"encrypt_code"
:
item
.
encryptCode
,
@"card_id"
:
item
.
cardId
};
NSDictionary
*
dict
=
@{
@"app_id"
:
item
.
appID
,
@"encrypt_code"
:
item
.
encryptCode
,
@"card_id"
:
item
.
cardId
};
[
mutableArray
addObject
:
dict
];
[
mutableArray
addObject
:
dict
];
}
}
NSError
*
error
=
nil
;
NSError
*
error
=
nil
;
NSData
*
jsonData
=
[
NSJSONSerialization
dataWithJSONObject
:
mutableArray
NSData
*
jsonData
=
[
NSJSONSerialization
dataWithJSONObject
:
mutableArray
options
:
NSJSONWritingPrettyPrinted
error
:
&
error
];
options
:
NSJSONWritingPrettyPrinted
error
:
&
error
];
NSString
*
cardItemList
=
@""
;
NSString
*
cardItemList
=
@""
;
if
([
jsonData
length
]
&&
error
==
nil
)
{
if
([
jsonData
length
]
&&
error
==
nil
)
{
cardItemList
=
[[
NSString
alloc
]
initWithData
:
jsonData
encoding
:
NSUTF8StringEncoding
];
cardItemList
=
[[
NSString
alloc
]
initWithData
:
jsonData
encoding
:
NSUTF8StringEncoding
];
}
}
...
@@ -984,46 +902,39 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -984,46 +902,39 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
@"cardItemList"
:
cardItemList
@"cardItemList"
:
cardItemList
};
};
if
(
_channel
!=
nil
){
if
(
_channel
!=
nil
)
{
[
_channel
invokeMethod
:
@"onOpenWechatInvoiceResponse"
arguments
:
result
];
[
_channel
invokeMethod
:
@"onOpenWechatInvoiceResponse"
arguments
:
result
];
}
}
}
else
if
([
resp
isKindOfClass
:[
WXSubscribeMsgResp
class
]])
{
}
else
if
([
resp
isKindOfClass
:[
WXSubscribeMsgResp
class
]])
{
WXSubscribeMsgResp
*
subscribeMsgResp
=
(
WXSubscribeMsgResp
*
)
resp
;
WXSubscribeMsgResp
*
subscribeMsgResp
=
(
WXSubscribeMsgResp
*
)
resp
;
NSMutableDictionary
*
result
=
[
NSMutableDictionary
dictionary
];
NSMutableDictionary
*
result
=
[
NSMutableDictionary
dictionary
];
NSString
*
openid
=
subscribeMsgResp
.
openId
;
NSString
*
openid
=
subscribeMsgResp
.
openId
;
if
(
openid
!=
nil
&&
openid
!=
NULL
&&
!
[
openid
isKindOfClass
:[
NSNull
class
]])
{
if
(
openid
!=
nil
&&
openid
!=
NULL
&&
!
[
openid
isKindOfClass
:[
NSNull
class
]])
{
result
[
@"openid"
]
=
openid
;
result
[
@"openid"
]
=
openid
;
}
}
NSString
*
templateId
=
subscribeMsgResp
.
templateId
;
NSString
*
templateId
=
subscribeMsgResp
.
templateId
;
if
(
templateId
!=
nil
&&
templateId
!=
NULL
&&
!
[
templateId
isKindOfClass
:[
NSNull
class
]])
{
if
(
templateId
!=
nil
&&
templateId
!=
NULL
&&
!
[
templateId
isKindOfClass
:[
NSNull
class
]])
{
result
[
@"templateId"
]
=
templateId
;
result
[
@"templateId"
]
=
templateId
;
}
}
NSString
*
action
=
subscribeMsgResp
.
action
;
NSString
*
action
=
subscribeMsgResp
.
action
;
if
(
action
!=
nil
&&
action
!=
NULL
&&
!
[
action
isKindOfClass
:[
NSNull
class
]])
{
if
(
action
!=
nil
&&
action
!=
NULL
&&
!
[
action
isKindOfClass
:[
NSNull
class
]])
{
result
[
@"action"
]
=
action
;
result
[
@"action"
]
=
action
;
}
}
NSString
*
reserved
=
subscribeMsgResp
.
action
;
NSString
*
reserved
=
subscribeMsgResp
.
action
;
if
(
reserved
!=
nil
&&
reserved
!=
NULL
&&
!
[
reserved
isKindOfClass
:[
NSNull
class
]])
{
if
(
reserved
!=
nil
&&
reserved
!=
NULL
&&
!
[
reserved
isKindOfClass
:[
NSNull
class
]])
{
result
[
@"reserved"
]
=
reserved
;
result
[
@"reserved"
]
=
reserved
;
}
}
UInt32
scene
=
subscribeMsgResp
.
scene
;
UInt32
scene
=
subscribeMsgResp
.
scene
;
result
[
@"scene"
]
=
@
(
scene
);
result
[
@"scene"
]
=
@
(
scene
);
if
(
_channel
!=
nil
)
{
if
(
_channel
!=
nil
)
{
[
_channel
invokeMethod
:
@"onSubscribeMsgResp"
arguments
:
result
];
[
_channel
invokeMethod
:
@"onSubscribeMsgResp"
arguments
:
result
];
}
}
}
else
if
([
resp
isKindOfClass
:[
WXLaunchMiniProgramResp
class
]])
{
}
else
if
([
resp
isKindOfClass
:[
WXLaunchMiniProgramResp
class
]])
{
WXLaunchMiniProgramResp
*
miniProgramResp
=
(
WXLaunchMiniProgramResp
*
)
resp
;
WXLaunchMiniProgramResp
*
miniProgramResp
=
(
WXLaunchMiniProgramResp
*
)
resp
;
NSDictionary
*
commonResult
=
@{
NSDictionary
*
commonResult
=
@{
description:
miniProgramResp
.
description
==
nil
?
@""
:
miniProgramResp
.
description
,
description:
miniProgramResp
.
description
==
nil
?
@""
:
miniProgramResp
.
description
,
errStr:
miniProgramResp
.
errStr
==
nil
?
@""
:
miniProgramResp
.
errStr
,
errStr:
miniProgramResp
.
errStr
==
nil
?
@""
:
miniProgramResp
.
errStr
,
...
@@ -1035,20 +946,13 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -1035,20 +946,13 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
if
(
miniProgramResp
.
extMsg
!=
nil
)
{
if
(
miniProgramResp
.
extMsg
!=
nil
)
{
result
[
@"extMsg"
]
=
miniProgramResp
.
extMsg
;
result
[
@"extMsg"
]
=
miniProgramResp
.
extMsg
;
}
}
if
(
_channel
!=
nil
)
{
// @"extMsg":miniProgramResp.extMsg == nil?@"":miniProgramResp.extMsg
if
(
_channel
!=
nil
){
[
_channel
invokeMethod
:
@"onLaunchMiniProgramResponse"
arguments
:
result
];
[
_channel
invokeMethod
:
@"onLaunchMiniProgramResponse"
arguments
:
result
];
}
}
}
else
if
([
resp
isKindOfClass
:[
WXInvoiceAuthInsertResp
class
]])
{
}
else
if
([
resp
isKindOfClass
:[
WXInvoiceAuthInsertResp
class
]])
{
// pass
}
else
if
([
resp
isKindOfClass
:[
WXOpenBusinessWebViewResp
class
]])
{
}
else
if
([
resp
isKindOfClass
:[
WXOpenBusinessWebViewResp
class
]])
{
WXOpenBusinessWebViewResp
*
businessResp
=
(
WXOpenBusinessWebViewResp
*
)
resp
;
WXOpenBusinessWebViewResp
*
businessResp
=
(
WXOpenBusinessWebViewResp
*
)
resp
;
NSDictionary
*
result
=
@{
NSDictionary
*
result
=
@{
description:
[
FluwxStringUtil
nilToEmpty
:
businessResp
.
description
],
description:
[
FluwxStringUtil
nilToEmpty
:
businessResp
.
description
],
errStr:
[
FluwxStringUtil
nilToEmpty
:
resp
.
errStr
],
errStr:
[
FluwxStringUtil
nilToEmpty
:
resp
.
errStr
],
...
@@ -1057,13 +961,10 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -1057,13 +961,10 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
@"resultInfo"
:
[
FluwxStringUtil
nilToEmpty
:
businessResp
.
result
],
@"resultInfo"
:
[
FluwxStringUtil
nilToEmpty
:
businessResp
.
result
],
@"businessType"
:
@
(
businessResp
.
businessType
),
@"businessType"
:
@
(
businessResp
.
businessType
),
};
};
if
(
_channel
!=
nil
)
{
if
(
_channel
!=
nil
)
{
[
_channel
invokeMethod
:
@"onWXOpenBusinessWebviewResponse"
arguments
:
result
];
[
_channel
invokeMethod
:
@"onWXOpenBusinessWebviewResponse"
arguments
:
result
];
}
}
}
else
if
([
resp
isKindOfClass
:[
WXOpenCustomerServiceResp
class
]])
{
}
else
if
([
resp
isKindOfClass
:[
WXOpenCustomerServiceResp
class
]])
{
WXOpenCustomerServiceResp
*
customerResp
=
(
WXOpenCustomerServiceResp
*
)
resp
;
WXOpenCustomerServiceResp
*
customerResp
=
(
WXOpenCustomerServiceResp
*
)
resp
;
NSDictionary
*
result
=
@{
NSDictionary
*
result
=
@{
description:
[
FluwxStringUtil
nilToEmpty
:
customerResp
.
description
],
description:
[
FluwxStringUtil
nilToEmpty
:
customerResp
.
description
],
...
@@ -1072,14 +973,11 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -1072,14 +973,11 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
fluwxType:
@
(
customerResp
.
type
),
fluwxType:
@
(
customerResp
.
type
),
@"extMsg"
:
[
FluwxStringUtil
nilToEmpty
:
customerResp
.
extMsg
]
@"extMsg"
:
[
FluwxStringUtil
nilToEmpty
:
customerResp
.
extMsg
]
};
};
if
(
_channel
!=
nil
)
{
if
(
_channel
!=
nil
)
{
[
_channel
invokeMethod
:
@"onWXOpenBusinessWebviewResponse"
arguments
:
result
];
[
_channel
invokeMethod
:
@"onWXOpenBusinessWebviewResponse"
arguments
:
result
];
}
}
// 相关错误信息
// 相关错误信息
}
else
if
([
resp
isKindOfClass
:[
WXOpenBusinessViewResp
class
]])
}
else
if
([
resp
isKindOfClass
:[
WXOpenBusinessViewResp
class
]])
{
{
WXOpenBusinessViewResp
*
openBusinessViewResp
=
(
WXOpenBusinessViewResp
*
)
resp
;
WXOpenBusinessViewResp
*
openBusinessViewResp
=
(
WXOpenBusinessViewResp
*
)
resp
;
NSDictionary
*
result
=
@{
NSDictionary
*
result
=
@{
description:
[
FluwxStringUtil
nilToEmpty
:
openBusinessViewResp
.
description
],
description:
[
FluwxStringUtil
nilToEmpty
:
openBusinessViewResp
.
description
],
...
@@ -1089,19 +987,16 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -1089,19 +987,16 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
fluwxType:
@
(
openBusinessViewResp
.
type
),
fluwxType:
@
(
openBusinessViewResp
.
type
),
@"extMsg"
:
[
FluwxStringUtil
nilToEmpty
:
openBusinessViewResp
.
extMsg
]
@"extMsg"
:
[
FluwxStringUtil
nilToEmpty
:
openBusinessViewResp
.
extMsg
]
};
};
if
(
_channel
!=
nil
)
{
if
(
_channel
!=
nil
)
{
[
_channel
invokeMethod
:
@"onOpenBusinessViewResponse"
arguments
:
result
];
[
_channel
invokeMethod
:
@"onOpenBusinessViewResponse"
arguments
:
result
];
}
}
// 相关错误信息
// 相关错误信息
}
}
#ifndef NO_PAY
#ifndef NO_PAY
else
if
([
resp
isKindOfClass
:[
WXPayInsuranceResp
class
]])
{
else
if
([
resp
isKindOfClass
:[
WXPayInsuranceResp
class
]])
{
// pass
}
else
if
([
resp
isKindOfClass
:[
PayResp
class
]])
{
}
else
if
([
resp
isKindOfClass
:[
PayResp
class
]])
{
PayResp
*
payResp
=
(
PayResp
*
)
resp
;
PayResp
*
payResp
=
(
PayResp
*
)
resp
;
NSDictionary
*
result
=
@{
NSDictionary
*
result
=
@{
description:
[
FluwxStringUtil
nilToEmpty
:
payResp
.
description
],
description:
[
FluwxStringUtil
nilToEmpty
:
payResp
.
description
],
errStr:
[
FluwxStringUtil
nilToEmpty
:
resp
.
errStr
],
errStr:
[
FluwxStringUtil
nilToEmpty
:
resp
.
errStr
],
...
@@ -1111,18 +1006,18 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -1111,18 +1006,18 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
@"returnKey"
:
[
FluwxStringUtil
nilToEmpty
:
payResp
.
returnKey
],
@"returnKey"
:
[
FluwxStringUtil
nilToEmpty
:
payResp
.
returnKey
],
};
};
[
FluwxDelegate
defaultManager
].
extData
=
nil
;
[
FluwxDelegate
defaultManager
].
extData
=
nil
;
if
(
_channel
!=
nil
)
{
if
(
_channel
!=
nil
)
{
[
_channel
invokeMethod
:
@"onPayResponse"
arguments
:
result
];
[
_channel
invokeMethod
:
@"onPayResponse"
arguments
:
result
];
}
}
}
else
if
([
resp
isKindOfClass
:[
WXNontaxPayResp
class
]])
{
}
else
if
([
resp
isKindOfClass
:[
WXNontaxPayResp
class
]])
{
// pass
}
}
#endif
#endif
}
}
-
(
void
)
onReq
:
(
BaseReq
*
)
req
{
-
(
void
)
onReq
:
(
BaseReq
*
)
req
{
if
([
req
isKindOfClass
:[
GetMessageFromWXReq
class
]])
{
if
([
req
isKindOfClass
:[
GetMessageFromWXReq
class
]])
{
// pass
}
else
if
([
req
isKindOfClass
:[
ShowMessageFromWXReq
class
]])
{
}
else
if
([
req
isKindOfClass
:[
ShowMessageFromWXReq
class
]])
{
// ShowMessageFromWXReq -- android spec
// ShowMessageFromWXReq -- android spec
ShowMessageFromWXReq
*
showMessageFromWXReq
=
(
ShowMessageFromWXReq
*
)
req
;
ShowMessageFromWXReq
*
showMessageFromWXReq
=
(
ShowMessageFromWXReq
*
)
req
;
...
@@ -1135,7 +1030,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -1135,7 +1030,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
[
result
setValue
:
showMessageFromWXReq
.
country
forKey
:
@"country"
];
[
result
setValue
:
showMessageFromWXReq
.
country
forKey
:
@"country"
];
// Cache extMsg for later use (by calling 'getExtMsg')
// Cache extMsg for later use (by calling 'getExtMsg')
[
FluwxDelegate
defaultManager
].
extMsg
=
wmm
.
messageExt
;
[
FluwxDelegate
defaultManager
].
extMsg
=
wmm
.
messageExt
;
if
(
_isRunning
)
{
if
(
_isRunning
)
{
[
_channel
invokeMethod
:
@"onWXShowMessageFromWX"
arguments
:
result
];
[
_channel
invokeMethod
:
@"onWXShowMessageFromWX"
arguments
:
result
];
...
@@ -1146,7 +1041,6 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -1146,7 +1041,6 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
[
strongSelf
->
_channel
invokeMethod
:
@"onWXShowMessageFromWX"
arguments
:
result
];
[
strongSelf
->
_channel
invokeMethod
:
@"onWXShowMessageFromWX"
arguments
:
result
];
};
};
}
}
}
else
if
([
req
isKindOfClass
:[
LaunchFromWXReq
class
]])
{
}
else
if
([
req
isKindOfClass
:[
LaunchFromWXReq
class
]])
{
// ShowMessageFromWXReq -- ios spec
// ShowMessageFromWXReq -- ios spec
LaunchFromWXReq
*
launchFromWXReq
=
(
LaunchFromWXReq
*
)
req
;
LaunchFromWXReq
*
launchFromWXReq
=
(
LaunchFromWXReq
*
)
req
;
...
@@ -1159,7 +1053,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -1159,7 +1053,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
[
result
setValue
:
launchFromWXReq
.
country
forKey
:
@"country"
];
[
result
setValue
:
launchFromWXReq
.
country
forKey
:
@"country"
];
// Cache extMsg for later use (by calling 'getExtMsg')
// Cache extMsg for later use (by calling 'getExtMsg')
[
FluwxDelegate
defaultManager
].
extMsg
=
wmm
.
messageExt
;
[
FluwxDelegate
defaultManager
].
extMsg
=
wmm
.
messageExt
;
if
(
_isRunning
)
{
if
(
_isRunning
)
{
[
_channel
invokeMethod
:
@"onWXLaunchFromWX"
arguments
:
result
];
[
_channel
invokeMethod
:
@"onWXLaunchFromWX"
arguments
:
result
];
...
@@ -1171,19 +1065,16 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -1171,19 +1065,16 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
};
};
}
}
}
}
}
}
-
(
void
)
sendText
:
(
NSString
*
)
text
-
(
void
)
sendText
:
(
NSString
*
)
text
InScene
:
(
enum
WXScene
)
scene
InScene
:
(
enum
WXScene
)
scene
completion
:
(
void
(
^
__nullable
)(
BOOL
success
))
completion
{
completion
:
(
void
(
^
__nullable
)(
BOOL
success
))
completion
{
SendMessageToWXReq
*
req
=
[[
SendMessageToWXReq
alloc
]
init
];
SendMessageToWXReq
*
req
=
[[
SendMessageToWXReq
alloc
]
init
];
req
.
scene
=
scene
;
req
.
scene
=
scene
;
req
.
bText
=
YES
;
req
.
bText
=
YES
;
req
.
text
=
text
;
req
.
text
=
text
;
[
WXApi
sendReq
:
req
[
WXApi
sendReq
:
req
completion
:
completion
];
completion
:
completion
];
}
}
-
(
void
)
sendImageData
:
(
NSData
*
)
imageData
-
(
void
)
sendImageData
:
(
NSData
*
)
imageData
...
@@ -1226,7 +1117,6 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -1226,7 +1117,6 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
TagName
:
(
NSString
*
)
tagName
TagName
:
(
NSString
*
)
tagName
Title
:
(
NSString
*
)
title
Title
:
(
NSString
*
)
title
Description
:
(
NSString
*
)
description
Description
:
(
NSString
*
)
description
ThumbImage
:
(
UIImage
*
)
thumbImage
MessageExt
:
(
NSString
*
)
messageExt
MessageExt
:
(
NSString
*
)
messageExt
MessageAction
:
(
NSString
*
)
messageAction
MessageAction
:
(
NSString
*
)
messageAction
InScene
:
(
enum
WXScene
)
scene
InScene
:
(
enum
WXScene
)
scene
...
@@ -1261,7 +1151,6 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -1261,7 +1151,6 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
MusicLowBandDataUrl
:
(
NSString
*
)
musicLowBandDataUrl
MusicLowBandDataUrl
:
(
NSString
*
)
musicLowBandDataUrl
Title
:
(
NSString
*
)
title
Title
:
(
NSString
*
)
title
Description
:
(
NSString
*
)
description
Description
:
(
NSString
*
)
description
ThumbImage
:
(
UIImage
*
)
thumbImage
MessageExt
:
(
NSString
*
)
messageExt
MessageExt
:
(
NSString
*
)
messageExt
MessageAction
:
(
NSString
*
)
messageAction
MessageAction
:
(
NSString
*
)
messageAction
TagName
:
(
NSString
*
)
tagName
TagName
:
(
NSString
*
)
tagName
...
@@ -1304,7 +1193,6 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -1304,7 +1193,6 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
VideoLowBandUrl
:
(
NSString
*
)
videoLowBandUrl
VideoLowBandUrl
:
(
NSString
*
)
videoLowBandUrl
Title
:
(
NSString
*
)
title
Title
:
(
NSString
*
)
title
Description
:
(
NSString
*
)
description
Description
:
(
NSString
*
)
description
ThumbImage
:
(
UIImage
*
)
thumbImage
MessageExt
:
(
NSString
*
)
messageExt
MessageExt
:
(
NSString
*
)
messageExt
MessageAction
:
(
NSString
*
)
messageAction
MessageAction
:
(
NSString
*
)
messageAction
TagName
:
(
NSString
*
)
tagName
TagName
:
(
NSString
*
)
tagName
...
@@ -1319,7 +1207,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -1319,7 +1207,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
message
.
messageExt
=
(
messageExt
==
(
id
)
[
NSNull
null
])
?
nil
:
messageExt
;
message
.
messageExt
=
(
messageExt
==
(
id
)
[
NSNull
null
])
?
nil
:
messageExt
;
message
.
messageAction
=
(
messageAction
==
(
id
)
[
NSNull
null
])
?
nil
:
messageAction
;
message
.
messageAction
=
(
messageAction
==
(
id
)
[
NSNull
null
])
?
nil
:
messageAction
;
message
.
mediaTagName
=
(
tagName
==
(
id
)
[
NSNull
null
])
?
nil
:
tagName
;
message
.
mediaTagName
=
(
tagName
==
(
id
)
[
NSNull
null
])
?
nil
:
tagName
;
[
message
setThumbImage
:
thumbImage
];
message
.
thumbData
=
(
thumbData
==
(
id
)
[
NSNull
null
])
?
nil
:
thumbData
;
message
.
thumbDataHash
=
(
thumbDataHash
==
(
id
)
[
NSNull
null
])
?
nil
:
thumbDataHash
;
WXVideoObject
*
ext
=
[
WXVideoObject
object
];
WXVideoObject
*
ext
=
[
WXVideoObject
object
];
if
([
FluwxStringUtil
isBlank
:
videoURL
])
{
if
([
FluwxStringUtil
isBlank
:
videoURL
])
{
...
@@ -1329,26 +1218,22 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -1329,26 +1218,22 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
}
}
message
.
mediaObject
=
ext
;
message
.
mediaObject
=
ext
;
SendMessageToWXReq
*
req
=
[
self
requestWithText
:
nil
SendMessageToWXReq
*
req
=
[
self
requestWithText
:
nil
OrMediaMessage
:
message
bText
:
NO
InScene
:
scene
];
OrMediaMessage
:
message
bText
:
NO
InScene
:
scene
];
[
WXApi
sendReq
:
req
completion
:
completion
];
[
WXApi
sendReq
:
req
completion
:
completion
];
}
}
-
(
void
)
sendEmotionData
:
(
NSData
*
)
emotionData
-
(
void
)
sendEmotionData
:
(
NSData
*
)
emotionData
ThumbImage
:
(
UIImage
*
)
thumbImage
InScene
:
(
enum
WXScene
)
scene
InScene
:
(
enum
WXScene
)
scene
MsgSignature
:
(
NSString
*
)
msgSignature
MsgSignature
:
(
NSString
*
)
msgSignature
ThumbData
:
(
NSData
*
)
thumbData
ThumbData
:
(
NSData
*
)
thumbData
ThumbDataHash
:
(
NSString
*
)
thumbDataHash
ThumbDataHash
:
(
NSString
*
)
thumbDataHash
completion
:
(
void
(
^
__nullable
)(
BOOL
success
))
completion
{
completion
:
(
void
(
^
__nullable
)(
BOOL
success
))
completion
{
WXMediaMessage
*
message
=
[
WXMediaMessage
message
];
WXMediaMessage
*
message
=
[
WXMediaMessage
message
];
[
message
setThumbImage
:
thumbImage
];
message
.
thumbData
=
(
thumbData
==
(
id
)
[
NSNull
null
])
?
nil
:
thumbData
;
message
.
thumbDataHash
=
(
thumbDataHash
==
(
id
)
[
NSNull
null
])
?
nil
:
thumbDataHash
;
WXEmoticonObject
*
ext
=
[
WXEmoticonObject
object
];
WXEmoticonObject
*
ext
=
[
WXEmoticonObject
object
];
ext
.
emoticonData
=
emotionData
;
ext
.
emoticonData
=
emotionData
;
message
.
mediaObject
=
ext
;
message
.
mediaObject
=
ext
;
NSString
*
signature
=
(
msgSignature
==
(
id
)
[
NSNull
null
])
?
nil
:
msgSignature
;
NSString
*
signature
=
(
msgSignature
==
(
id
)
[
NSNull
null
])
?
nil
:
msgSignature
;
...
@@ -1356,10 +1241,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -1356,10 +1241,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
message
.
msgSignature
=
signature
;
message
.
msgSignature
=
signature
;
}
}
SendMessageToWXReq
*
req
=
[
self
requestWithText
:
nil
SendMessageToWXReq
*
req
=
[
self
requestWithText
:
nil
OrMediaMessage
:
message
bText
:
NO
InScene
:
scene
];
OrMediaMessage
:
message
bText
:
NO
InScene
:
scene
];
[
WXApi
sendReq
:
req
completion
:
completion
];
[
WXApi
sendReq
:
req
completion
:
completion
];
}
}
...
@@ -1367,7 +1249,6 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -1367,7 +1249,6 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
fileExtension
:
(
NSString
*
)
extension
fileExtension
:
(
NSString
*
)
extension
Title
:
(
NSString
*
)
title
Title
:
(
NSString
*
)
title
Description
:
(
NSString
*
)
description
Description
:
(
NSString
*
)
description
ThumbImage
:
(
UIImage
*
)
thumbImage
InScene
:
(
enum
WXScene
)
scene
InScene
:
(
enum
WXScene
)
scene
MsgSignature
:
(
NSString
*
)
msgSignature
MsgSignature
:
(
NSString
*
)
msgSignature
ThumbData
:
(
NSData
*
)
thumbData
ThumbData
:
(
NSData
*
)
thumbData
...
@@ -1376,12 +1257,12 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -1376,12 +1257,12 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
WXMediaMessage
*
message
=
[
WXMediaMessage
message
];
WXMediaMessage
*
message
=
[
WXMediaMessage
message
];
message
.
title
=
title
;
message
.
title
=
title
;
message
.
description
=
description
;
message
.
description
=
description
;
[
message
setThumbImage
:
thumbImage
];
message
.
thumbData
=
(
thumbData
==
(
id
)
[
NSNull
null
])
?
nil
:
thumbData
;
message
.
thumbDataHash
=
(
thumbDataHash
==
(
id
)
[
NSNull
null
])
?
nil
:
thumbDataHash
;
WXFileObject
*
ext
=
[
WXFileObject
object
];
WXFileObject
*
ext
=
[
WXFileObject
object
];
ext
.
fileExtension
=
extension
;
ext
.
fileExtension
=
extension
;
ext
.
fileData
=
fileData
;
ext
.
fileData
=
fileData
;
message
.
mediaObject
=
ext
;
message
.
mediaObject
=
ext
;
NSString
*
signature
=
(
msgSignature
==
(
id
)
[
NSNull
null
])
?
nil
:
msgSignature
;
NSString
*
signature
=
(
msgSignature
==
(
id
)
[
NSNull
null
])
?
nil
:
msgSignature
;
...
@@ -1389,10 +1270,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -1389,10 +1270,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
message
.
msgSignature
=
signature
;
message
.
msgSignature
=
signature
;
}
}
SendMessageToWXReq
*
req
=
[
self
requestWithText
:
nil
SendMessageToWXReq
*
req
=
[
self
requestWithText
:
nil
OrMediaMessage
:
message
bText
:
NO
InScene
:
scene
];
OrMediaMessage
:
message
bText
:
NO
InScene
:
scene
];
[
WXApi
sendReq
:
req
completion
:
completion
];
[
WXApi
sendReq
:
req
completion
:
completion
];
}
}
...
@@ -1416,11 +1294,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -1416,11 +1294,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
ext
.
webpageUrl
=
(
webpageUrl
==
(
id
)
[
NSNull
null
])
?
nil
:
webpageUrl
;
ext
.
webpageUrl
=
(
webpageUrl
==
(
id
)
[
NSNull
null
])
?
nil
:
webpageUrl
;
ext
.
userName
=
(
userName
==
(
id
)
[
NSNull
null
])
?
nil
:
userName
;
ext
.
userName
=
(
userName
==
(
id
)
[
NSNull
null
])
?
nil
:
userName
;
ext
.
path
=
(
path
==
(
id
)
[
NSNull
null
])
?
nil
:
path
;
ext
.
path
=
(
path
==
(
id
)
[
NSNull
null
])
?
nil
:
path
;
ext
.
withShareTicket
=
withShareTicket
;
ext
.
withShareTicket
=
withShareTicket
;
ext
.
hdImageData
=
hdImageData
;
ext
.
hdImageData
=
hdImageData
;
ext
.
miniProgramType
=
programType
;
ext
.
miniProgramType
=
programType
;
WXMediaMessage
*
message
=
[
self
messageWithTitle
:(
title
==
(
id
)
[
NSNull
null
])
?
nil
:
title
WXMediaMessage
*
message
=
[
self
messageWithTitle
:(
title
==
(
id
)
[
NSNull
null
])
?
nil
:
title
...
@@ -1430,16 +1305,11 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -1430,16 +1305,11 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
MessageAction
:
(
messageAction
==
(
id
)
[
NSNull
null
])
?
nil
:
messageAction
MessageAction
:
(
messageAction
==
(
id
)
[
NSNull
null
])
?
nil
:
messageAction
MediaTag
:
(
tagName
==
(
id
)
[
NSNull
null
])
?
nil
:
tagName
MediaTag
:
(
tagName
==
(
id
)
[
NSNull
null
])
?
nil
:
tagName
MsgSignature
:
(
msgSignature
==
(
id
)
[
NSNull
null
])
?
nil
:
msgSignature
MsgSignature
:
(
msgSignature
==
(
id
)
[
NSNull
null
])
?
nil
:
msgSignature
ThumbData
:
thumbData
ThumbData
:
(
thumbData
==
(
id
)
[
NSNull
null
]
?
nil
:
thumbData
)
ThumbDataHash
:
(
thumbDataHash
==
(
id
)
[
NSNull
null
])
?
nil
:
thumbDataHash
ThumbDataHash
:
(
thumbDataHash
==
(
id
)
[
NSNull
null
])
?
nil
:
thumbDataHash
];
];
SendMessageToWXReq
*
req
=
[
self
requestWithText
:
nil
SendMessageToWXReq
*
req
=
[
self
requestWithText
:
nil
OrMediaMessage
:
message
bText
:
NO
InScene
:
scene
];
OrMediaMessage
:
message
bText
:
NO
InScene
:
scene
];
[
WXApi
sendReq
:
req
completion
:
completion
];
[
WXApi
sendReq
:
req
completion
:
completion
];
}
}
...
@@ -1450,7 +1320,6 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -1450,7 +1320,6 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
Description
:
(
NSString
*
)
description
Description
:
(
NSString
*
)
description
MessageExt
:
(
NSString
*
)
messageExt
MessageExt
:
(
NSString
*
)
messageExt
MessageAction
:
(
NSString
*
)
action
MessageAction
:
(
NSString
*
)
action
ThumbImage
:
(
UIImage
*
)
thumbImage
InScene
:
(
enum
WXScene
)
scene
InScene
:
(
enum
WXScene
)
scene
MsgSignature
:
(
NSString
*
)
msgSignature
MsgSignature
:
(
NSString
*
)
msgSignature
ThumbData
:
(
NSData
*
)
thumbData
ThumbData
:
(
NSData
*
)
thumbData
...
@@ -1468,19 +1337,16 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -1468,19 +1337,16 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
MessageAction
:
action
MessageAction
:
action
MediaTag
:
nil
MediaTag
:
nil
MsgSignature
:
(
msgSignature
==
(
id
)
[
NSNull
null
])
?
nil
:
msgSignature
MsgSignature
:
(
msgSignature
==
(
id
)
[
NSNull
null
])
?
nil
:
msgSignature
ThumbData
:
thumbData
ThumbData
:
(
thumbData
==
(
id
)
[
NSNull
null
])
?
nil
:
thumbData
ThumbDataHash
:
(
thumbDataHash
==
(
id
)
[
NSNull
null
])
?
nil
:
thumbDataHash
ThumbDataHash
:
(
thumbDataHash
==
(
id
)
[
NSNull
null
])
?
nil
:
thumbDataHash
];
];
SendMessageToWXReq
*
req
=
[
self
requestWithText
:
nil
SendMessageToWXReq
*
req
=
[
self
requestWithText
:
nil
OrMediaMessage
:
message
bText
:
NO
InScene
:
scene
];
OrMediaMessage
:
message
bText
:
NO
InScene
:
scene
];
[
WXApi
sendReq
:
req
completion
:
completion
];
[
WXApi
sendReq
:
req
completion
:
completion
];
}
}
-
(
void
)
addCardsToCardPackage
:
(
NSArray
*
)
cardIds
cardExts
:
(
NSArray
*
)
cardExts
-
(
void
)
addCardsToCardPackage
:
(
NSArray
*
)
cardIds
cardExts
:
(
NSArray
*
)
cardExts
completion
:
(
void
(
^
__nullable
)(
BOOL
success
))
completion
{
completion
:
(
void
(
^
__nullable
)(
BOOL
success
))
completion
{
NSMutableArray
*
cardItems
=
[
NSMutableArray
array
];
NSMutableArray
*
cardItems
=
[
NSMutableArray
array
];
for
(
NSString
*
cardId
in
cardIds
)
{
for
(
NSString
*
cardId
in
cardIds
)
{
...
@@ -1514,10 +1380,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -1514,10 +1380,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
chooseCardReq
.
signType
=
signType
;
chooseCardReq
.
signType
=
signType
;
chooseCardReq
.
timeStamp
=
timestamp
;
chooseCardReq
.
timeStamp
=
timestamp
;
[
WXApi
sendReq
:
chooseCardReq
completion
:
completion
];
[
WXApi
sendReq
:
chooseCardReq
completion
:
completion
];
}
}
-
(
void
)
sendAuthRequestScope
:
(
NSString
*
)
scope
-
(
void
)
sendAuthRequestScope
:
(
NSString
*
)
scope
State
:
(
NSString
*
)
state
State
:
(
NSString
*
)
state
OpenID
:
(
NSString
*
)
openID
OpenID
:
(
NSString
*
)
openID
...
@@ -1528,7 +1392,6 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -1528,7 +1392,6 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
req
.
state
=
state
;
req
.
state
=
state
;
req
.
openID
=
openID
;
req
.
openID
=
openID
;
return
[
WXApi
sendAuthReq
:
req
return
[
WXApi
sendAuthReq
:
req
viewController
:
viewController
viewController
:
viewController
delegate
:
self
delegate
:
self
...
@@ -1570,9 +1433,9 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -1570,9 +1433,9 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
chooseInvoiceReq
.
cardSign
=
cardSign
;
chooseInvoiceReq
.
cardSign
=
cardSign
;
chooseInvoiceReq
.
nonceStr
=
nonceStr
;
chooseInvoiceReq
.
nonceStr
=
nonceStr
;
chooseInvoiceReq
.
signType
=
signType
;
chooseInvoiceReq
.
signType
=
signType
;
// chooseCardReq.cardType = @"INVOICE";
// chooseCardReq.cardType = @"INVOICE";
chooseInvoiceReq
.
timeStamp
=
timestamp
;
chooseInvoiceReq
.
timeStamp
=
timestamp
;
// chooseCardReq.canMultiSelect = 1;
// chooseCardReq.canMultiSelect = 1;
[
WXApi
sendReq
:
chooseInvoiceReq
completion
:
completion
];
[
WXApi
sendReq
:
chooseInvoiceReq
completion
:
completion
];
}
}
...
@@ -1624,17 +1487,17 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -1624,17 +1487,17 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
}
}
-
(
void
)
onQrcodeScanned
{
-
(
void
)
onQrcodeScanned
{
if
(
_channel
!=
nil
)
{
if
(
_channel
!=
nil
)
{
[
_channel
invokeMethod
:
@"onQRCodeScanned"
arguments
:@{
@"errCode"
:
@0
}];
[
_channel
invokeMethod
:
@"onQRCodeScanned"
arguments
:@{
@"errCode"
:
@0
}];
}
}
}
}
-
(
void
)
onAuthGotQrcode
:
(
UIImage
*
)
image
{
-
(
void
)
onAuthGotQrcode
:
(
UIImage
*
)
image
{
NSData
*
imageData
=
UIImagePNGRepresentation
(
image
);
NSData
*
imageData
=
UIImagePNGRepresentation
(
image
);
// if (imageData == nil) {
// if (imageData == nil) {
// imageData = UIImageJPEGRepresentation(image, 1);
// imageData = UIImageJPEGRepresentation(image, 1);
// }
// }
if
(
_channel
!=
nil
)
{
if
(
_channel
!=
nil
)
{
[
_channel
invokeMethod
:
@"onAuthGotQRCode"
arguments
:@{
@"errCode"
:
@0
,
@"qrCode"
:
imageData
}];
[
_channel
invokeMethod
:
@"onAuthGotQRCode"
arguments
:@{
@"errCode"
:
@0
,
@"qrCode"
:
imageData
}];
}
}
}
}
...
@@ -1645,7 +1508,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -1645,7 +1508,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
if
(
authCode
!=
nil
)
{
if
(
authCode
!=
nil
)
{
result
[
@"authCode"
]
=
authCode
;
result
[
@"authCode"
]
=
authCode
;
}
}
if
(
_channel
!=
nil
)
{
if
(
_channel
!=
nil
)
{
[
_channel
invokeMethod
:
@"onAuthByQRCodeFinished"
arguments
:
result
];
[
_channel
invokeMethod
:
@"onAuthByQRCodeFinished"
arguments
:
result
];
}
}
}
}
...
@@ -1658,8 +1521,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -1658,8 +1521,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
MediaTag
:
(
NSString
*
)
tagName
MediaTag
:
(
NSString
*
)
tagName
MsgSignature
:
(
NSString
*
)
msgSignature
MsgSignature
:
(
NSString
*
)
msgSignature
ThumbData
:
(
NSData
*
)
thumbData
ThumbData
:
(
NSData
*
)
thumbData
ThumbDataHash
:
(
NSString
*
)
thumbDataHash
ThumbDataHash
:
(
NSString
*
)
thumbDataHash
{
{
WXMediaMessage
*
message
=
[
WXMediaMessage
message
];
WXMediaMessage
*
message
=
[
WXMediaMessage
message
];
message
.
title
=
title
;
message
.
title
=
title
;
message
.
description
=
description
;
message
.
description
=
description
;
...
@@ -1669,7 +1531,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -1669,7 +1531,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
message
.
mediaTagName
=
tagName
;
message
.
mediaTagName
=
tagName
;
message
.
thumbData
=
thumbData
;
message
.
thumbData
=
thumbData
;
message
.
thumbDataHash
=
thumbDataHash
;
message
.
thumbDataHash
=
thumbDataHash
;
if
(
msgSignature
!=
nil
)
{
if
(
msgSignature
!=
nil
)
{
message
.
msgSignature
=
msgSignature
;
message
.
msgSignature
=
msgSignature
;
}
}
return
message
;
return
message
;
...
@@ -1682,21 +1544,23 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
...
@@ -1682,21 +1544,23 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
SendMessageToWXReq
*
req
=
[[
SendMessageToWXReq
alloc
]
init
];
SendMessageToWXReq
*
req
=
[[
SendMessageToWXReq
alloc
]
init
];
req
.
bText
=
bText
;
req
.
bText
=
bText
;
req
.
scene
=
scene
;
req
.
scene
=
scene
;
if
(
bText
)
if
(
bText
)
{
req
.
text
=
text
;
req
.
text
=
text
;
else
}
else
{
req
.
message
=
message
;
req
.
message
=
message
;
}
return
req
;
return
req
;
}
}
-
(
NSString
*
)
fetchWeChatAppId
{
-
(
NSString
*
)
fetchWeChatAppId
{
NSDictionary
*
infoDic
=
[[
NSBundle
mainBundle
]
infoDictionary
];
NSDictionary
*
infoDic
t
=
[[
NSBundle
mainBundle
]
infoDictionary
];
NSArray
*
types
=
infoDic
[
@"CFBundleURLTypes"
];
NSArray
*
types
=
infoDict
[
@"CFBundleURLTypes"
];
for
(
NSDictionary
*
dic
in
types
)
{
for
(
NSDictionary
*
dict
in
types
)
{
if
([
@"weixin"
isEqualToString
:
dic
[
@"CFBundleURLName"
]])
{
if
([
@"weixin"
isEqualToString
:
dict
[
@"CFBundleURLName"
]])
{
return
dic
[
@"CFBundleURLSchemes"
][
0
];
return
dic
t
[
@"CFBundleURLSchemes"
][
0
];
}
}
}
}
return
nil
;
return
nil
;
}
}
@end
@end
ios/Classes/FluwxStringUtil.m
浏览文件 @
a43af1aa
...
@@ -8,24 +8,17 @@
...
@@ -8,24 +8,17 @@
@implementation
FluwxStringUtil
@implementation
FluwxStringUtil
+
(
BOOL
)
isBlank
:(
NSString
*
)
string
{
+
(
BOOL
)
isBlank
:(
NSString
*
)
string
{
if
(
string
==
nil
)
{
if
(
string
==
nil
)
{
return
YES
;
return
YES
;
}
}
if
([
string
isKindOfClass
:[
NSNull
class
]])
{
if
([
string
isKindOfClass
:[
NSNull
class
]])
{
return
YES
;
return
YES
;
}
}
return
[[
string
stringByTrimmingCharactersInSet
:[
NSCharacterSet
whitespaceCharacterSet
]]
length
]
==
0
;
return
[[
string
stringByTrimmingCharactersInSet
:[
NSCharacterSet
whitespaceCharacterSet
]]
length
]
==
0
;
}
}
+
(
NSString
*
)
nilToEmpty
:(
NSString
*
)
string
{
+
(
NSString
*
)
nilToEmpty
:(
NSString
*
)
string
{
return
string
==
nil
?
@""
:
string
;
return
string
==
nil
?
@""
:
string
;
}
}
@end
@end
ios/Classes/ThumbnailHelper.h
浏览文件 @
a43af1aa
...
@@ -6,11 +6,12 @@
...
@@ -6,11 +6,12 @@
@interface
ThumbnailHelper
:
NSObject
@interface
ThumbnailHelper
:
NSObject
+
(
UIImage
*
)
compressImage
:(
UIImage
*
)
image
toByte
:(
NSUInteger
)
maxLength
isPNG
:(
BOOL
)
isPNG
;
+
(
UIImage
*
)
compressImage
:(
UIImage
*
)
image
toByte
:(
NSUInteger
)
maxLength
isPNG
:(
BOOL
)
isPNG
;
/// NSData 压缩后转NSData
/// NSData 压缩后转NSData
/// @param imageData 来源data
/// @param imageData 来源data
/// @param maxLength 压缩目标值,压缩结果在maxLength的0.9~1之间
/// @param maxLength 压缩目标值,压缩结果在maxLength的0.9~1之间
+
(
NSData
*
)
compressImageData
:(
NSData
*
)
imageData
toByte
:(
NSUInteger
)
maxLength
;
+
(
NSData
*
)
compressImageData
:(
NSData
*
)
imageData
toByte
:(
NSUInteger
)
maxLength
;
@end
@end
ios/Classes/ThumbnailHelper.m
浏览文件 @
a43af1aa
...
@@ -11,7 +11,7 @@
...
@@ -11,7 +11,7 @@
// Compress by quality
// Compress by quality
CGFloat
compression
=
1
;
CGFloat
compression
=
1
;
NSData
*
data
=
imageData
;
NSData
*
data
=
imageData
;
NSLog
(
@"压缩前 %lu
%lu "
,
(
unsigned
long
)
data
.
length
,
maxLength
);
NSLog
(
@"压缩前 %lu
%lu"
,
(
unsigned
long
)
data
.
length
,
maxLength
);
if
(
data
.
length
<
maxLength
)
return
data
;
if
(
data
.
length
<
maxLength
)
return
data
;
UIImage
*
image
=
[
UIImage
imageWithData
:
imageData
];
UIImage
*
image
=
[
UIImage
imageWithData
:
imageData
];
...
@@ -29,7 +29,7 @@
...
@@ -29,7 +29,7 @@
}
}
}
}
NSLog
(
@"压缩第一次 %lu
%lu "
,
(
unsigned
long
)
data
.
length
,
maxLength
);
NSLog
(
@"压缩第一次 %lu
%lu"
,
(
unsigned
long
)
data
.
length
,
maxLength
);
if
(
data
.
length
<
maxLength
)
return
data
;
if
(
data
.
length
<
maxLength
)
return
data
;
UIImage
*
resultImage
;
UIImage
*
resultImage
;
...
@@ -50,7 +50,7 @@
...
@@ -50,7 +50,7 @@
data
=
UIImageJPEGRepresentation
(
resultImage
,
compression
);
data
=
UIImageJPEGRepresentation
(
resultImage
,
compression
);
}
}
NSLog
(
@"压缩第二次
%lu %lu "
,
(
unsigned
long
)
data
.
length
,
maxLength
);
NSLog
(
@"压缩第二次
%lu %lu"
,
(
unsigned
long
)
data
.
length
,
maxLength
);
return
data
;
return
data
;
}
}
...
@@ -130,4 +130,5 @@
...
@@ -130,4 +130,5 @@
UIGraphicsEndImageContext
();
UIGraphicsEndImageContext
();
return
newImage
;
return
newImage
;
}
}
@end
@end
ios/Classes/public/FluwxDelegate.h
浏览文件 @
a43af1aa
...
@@ -15,4 +15,5 @@
...
@@ -15,4 +15,5 @@
+
(
instancetype
)
defaultManager
;
+
(
instancetype
)
defaultManager
;
-
(
void
)
registerWxAPI
:(
NSString
*
)
appId
universalLink
:(
NSString
*
)
universalLink
;
-
(
void
)
registerWxAPI
:(
NSString
*
)
appId
universalLink
:(
NSString
*
)
universalLink
;
@end
@end
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论