提交 20a94fe6 authored 作者: JarvanMo's avatar JarvanMo

support MsgSignature when sharig & non-auto when login

上级 6645e764
...@@ -57,7 +57,7 @@ internal class FluwxAuthHandler(private val methodChannel: MethodChannel) { ...@@ -57,7 +57,7 @@ internal class FluwxAuthHandler(private val methodChannel: MethodChannel) {
if (!openId.isNullOrBlank()) { if (!openId.isNullOrBlank()) {
req.openId = call.argument("openId") req.openId = call.argument("openId")
} }
req.nonAutomatic = call.argument<Boolean?>("nonAutomatic") ?: false
result.success(WXAPiHandler.wxApi?.sendReq(req)) result.success(WXAPiHandler.wxApi?.sendReq(req))
} }
......
...@@ -267,6 +267,9 @@ internal interface FluwxShareHandler : CoroutineScope { ...@@ -267,6 +267,9 @@ internal interface FluwxShareHandler : CoroutineScope {
// SESSION, TIMELINE, FAVORITE // SESSION, TIMELINE, FAVORITE
private fun setCommonArguments(call: MethodCall, req: SendMessageToWX.Req, msg: WXMediaMessage) { private fun setCommonArguments(call: MethodCall, req: SendMessageToWX.Req, msg: WXMediaMessage) {
msg.messageAction = call.argument("messageAction") msg.messageAction = call.argument("messageAction")
call.argument<String?>("msgSignature")?.let {
msg.msgSignature = it
}
msg.messageExt = call.argument("messageExt") msg.messageExt = call.argument("messageExt")
msg.mediaTagName = call.argument("mediaTagName") msg.mediaTagName = call.argument("mediaTagName")
msg.title = call.argument(keyTitle) msg.title = call.argument(keyTitle)
......
...@@ -21,9 +21,9 @@ FlutterMethodChannel *_fluwxMethodChannel = nil; ...@@ -21,9 +21,9 @@ FlutterMethodChannel *_fluwxMethodChannel = nil;
return self; return self;
} }
- (void)handleAuthByPhoneLogin:(FlutterMethodCall*)call result:(FlutterResult)result{ - (void)handleAuthByPhoneLogin:(FlutterMethodCall *)call result:(FlutterResult)result {
UIViewController *vc = UIApplication.sharedApplication.keyWindow.rootViewController; UIViewController *vc = UIApplication.sharedApplication.keyWindow.rootViewController;
SendAuthReq *authReq = [[SendAuthReq alloc]init]; SendAuthReq *authReq = [[SendAuthReq alloc] init];
authReq.scope = call.arguments[@"scope"]; authReq.scope = call.arguments[@"scope"];
authReq.state = (call.arguments[@"state"] == (id) [NSNull null]) ? nil : call.arguments[@"state"]; authReq.state = (call.arguments[@"state"] == (id) [NSNull null]) ? nil : call.arguments[@"state"];
[WXApi sendAuthReq:authReq viewController:vc delegate:[FluwxResponseHandler defaultManager] completion:^(BOOL success) { [WXApi sendAuthReq:authReq viewController:vc delegate:[FluwxResponseHandler defaultManager] completion:^(BOOL success) {
...@@ -36,9 +36,11 @@ FlutterMethodChannel *_fluwxMethodChannel = nil; ...@@ -36,9 +36,11 @@ FlutterMethodChannel *_fluwxMethodChannel = nil;
[WXApiRequestHandler sendAuthRequestScope:call.arguments[@"scope"] [WXApiRequestHandler sendAuthRequestScope:call.arguments[@"scope"]
State:(call.arguments[@"state"] == (id) [NSNull null]) ? nil : call.arguments[@"state"] State:(call.arguments[@"state"] == (id) [NSNull null]) ? nil : call.arguments[@"state"]
OpenID:(openId == (id) [NSNull null]) ? nil : openId completion:^(BOOL done) { OpenID:(openId == (id) [NSNull null]) ? nil : openId
result(@(done)); NonAutomatic:[call.arguments[@"nonAutomatic"] boolValue]
}]; completion:^(BOOL done) {
result(@(done));
}];
} }
- (void)authByQRCode:(FlutterMethodCall *)call result:(FlutterResult)result { - (void)authByQRCode:(FlutterMethodCall *)call result:(FlutterResult)result {
......
...@@ -15,6 +15,7 @@ NSString *const fluwxKeyImage = @ "image"; ...@@ -15,6 +15,7 @@ NSString *const fluwxKeyImage = @ "image";
NSString *const fluwxKeyImageData = @ "imageData"; NSString *const fluwxKeyImageData = @ "imageData";
NSString *const fluwxKeyThumbnail = @"thumbnail"; NSString *const fluwxKeyThumbnail = @"thumbnail";
NSString *const fluwxKeyDescription = @"description"; NSString *const fluwxKeyDescription = @"description";
NSString *const fluwxKeyMsgSignature = @"msgSignature";
NSString *const fluwxKeyPackage = @"?package="; NSString *const fluwxKeyPackage = @"?package=";
...@@ -68,6 +69,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -68,6 +69,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
- (void)shareText:(FlutterMethodCall *)call result:(FlutterResult)result { - (void)shareText:(FlutterMethodCall *)call result:(FlutterResult)result {
NSString *text = call.arguments[@"source"]; NSString *text = call.arguments[@"source"];
NSNumber *scene = call.arguments[fluwxKeyScene]; NSNumber *scene = call.arguments[fluwxKeyScene];
[WXApiRequestHandler sendText:text InScene:[self intToWeChatScene:scene] completion:^(BOOL done) { [WXApiRequestHandler sendText:text InScene:[self intToWeChatScene:scene] completion:^(BOOL done) {
result(@(done)); result(@(done));
}]; }];
...@@ -85,7 +87,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -85,7 +87,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
if (thumbnailImage == nil) { if (thumbnailImage == nil) {
NSString *suffix = sourceImage[@"suffix"]; NSString *suffix = sourceImage[@"suffix"];
BOOL isPNG = [self isPNG:suffix]; BOOL isPNG = [self isPNG:suffix];
BOOL compress = call.arguments[fluwxKeyCompressThumbnail]; BOOL compress = [call.arguments[fluwxKeyCompressThumbnail] boolValue];
realThumbnailImage = [self getThumbnailFromNSData:sourceImageData size:defaultThumbnailSize isPNG:isPNG compress:compress]; realThumbnailImage = [self getThumbnailFromNSData:sourceImageData size:defaultThumbnailSize isPNG:isPNG compress:compress];
} else { } else {
...@@ -103,6 +105,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -103,6 +105,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
InScene:[self intToWeChatScene:scene] InScene:[self intToWeChatScene:scene]
title:call.arguments[fluwxKeyTitle] title:call.arguments[fluwxKeyTitle]
description:call.arguments[fluwxKeyDescription] description:call.arguments[fluwxKeyDescription]
MsgSignature:call.arguments[fluwxKeyMsgSignature]
completion:^(BOOL done) { completion:^(BOOL done) {
result(@(done)); result(@(done));
} }
...@@ -132,6 +135,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -132,6 +135,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
MessageExt:call.arguments[fluwxKeyMessageExt] MessageExt:call.arguments[fluwxKeyMessageExt]
MessageAction:call.arguments[fluwxKeyMessageAction] MessageAction:call.arguments[fluwxKeyMessageAction]
InScene:[self intToWeChatScene:scene] InScene:[self intToWeChatScene:scene]
MsgSignature:call.arguments[fluwxKeyMsgSignature]
completion:^(BOOL done) { completion:^(BOOL done) {
result(@(done)); result(@(done));
}]; }];
...@@ -160,6 +164,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -160,6 +164,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
MessageAction:call.arguments[fluwxKeyMessageAction] MessageAction:call.arguments[fluwxKeyMessageAction]
TagName:call.arguments[fluwxKeyMediaTagName] TagName:call.arguments[fluwxKeyMediaTagName]
InScene:[self intToWeChatScene:scene] InScene:[self intToWeChatScene:scene]
MsgSignature:call.arguments[fluwxKeyMsgSignature]
completion:^(BOOL done) { completion:^(BOOL done) {
result(@(done)); result(@(done));
} }
...@@ -187,6 +192,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -187,6 +192,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
MessageAction:call.arguments[fluwxKeyMessageAction] MessageAction:call.arguments[fluwxKeyMessageAction]
TagName:call.arguments[fluwxKeyMediaTagName] TagName:call.arguments[fluwxKeyMediaTagName]
InScene:[self intToWeChatScene:scene] InScene:[self intToWeChatScene:scene]
MsgSignature:call.arguments[fluwxKeyMsgSignature]
completion:^(BOOL done) { completion:^(BOOL done) {
result(@(done)); result(@(done));
}]; }];
...@@ -217,6 +224,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -217,6 +224,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
Description:call.arguments[fluwxKeyDescription] Description:call.arguments[fluwxKeyDescription]
ThumbImage:thumbnailImage ThumbImage:thumbnailImage
InScene:[self intToWeChatScene:scene] InScene:[self intToWeChatScene:scene]
MsgSignature:call.arguments[fluwxKeyMsgSignature]
completion:^(BOOL success) { completion:^(BOOL success) {
result(@(success)); result(@(success));
}]; }];
...@@ -235,7 +244,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -235,7 +244,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
NSDictionary *hdImagePath = call.arguments[@"hdImagePath"]; NSDictionary *hdImagePath = call.arguments[@"hdImagePath"];
if (hdImagePath != (id) [NSNull null]) { if (hdImagePath != (id) [NSNull null]) {
NSData *imageData = [self getNsDataFromWeChatFile:hdImagePath]; NSData *imageData = [self getNsDataFromWeChatFile:hdImagePath];
BOOL compress = call.arguments[fluwxKeyCompressThumbnail]; BOOL compress = [call.arguments[fluwxKeyCompressThumbnail] boolValue];
hdImageData = [self getThumbnailDataFromNSData:imageData size:120 * 1024 compress:compress]; hdImageData = [self getThumbnailDataFromNSData:imageData size:120 * 1024 compress:compress];
// UIImage *uiImage = [self getThumbnailFromNSData:imageData size:120 * 1024 isPNG:isPNG compress:compress]; // UIImage *uiImage = [self getThumbnailFromNSData:imageData size:120 * 1024 isPNG:isPNG compress:compress];
...@@ -271,6 +280,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -271,6 +280,7 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
MessageAction:call.arguments[fluwxKeyMessageAction] MessageAction:call.arguments[fluwxKeyMessageAction]
TagName:call.arguments[fluwxKeyMediaTagName] TagName:call.arguments[fluwxKeyMediaTagName]
InScene:[self intToWeChatScene:scene] InScene:[self intToWeChatScene:scene]
MsgSignature:call.arguments[fluwxKeyMsgSignature]
completion:^(BOOL done) { completion:^(BOOL done) {
result(@(done)); result(@(done));
} }
...@@ -289,8 +299,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -289,8 +299,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
} }
NSString *suffix = thumbnail[@"suffix"]; NSString *suffix = thumbnail[@"suffix"];
NSNumber* compress = call.arguments[fluwxKeyCompressThumbnail]; NSNumber *compress = call.arguments[fluwxKeyCompressThumbnail];
NSData *thumbnailData = [self getNsDataFromWeChatFile:thumbnail]; NSData *thumbnailData = [self getNsDataFromWeChatFile:thumbnail];
UIImage *thumbnailImage = [self getThumbnailFromNSData:thumbnailData size:defaultThumbnailSize isPNG:[self isPNG:suffix] compress:[compress boolValue]]; UIImage *thumbnailImage = [self getThumbnailFromNSData:thumbnailData size:defaultThumbnailSize isPNG:[self isPNG:suffix] compress:[compress boolValue]];
return thumbnailImage; return thumbnailImage;
...@@ -323,18 +333,19 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -323,18 +333,19 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
return nil; return nil;
} }
} }
- (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 {
if(compress) { if (compress) {
return [ThumbnailHelper compressImageData:data toByte:size]; return [ThumbnailHelper compressImageData:data toByte:size];
} else{ } else {
return data; return data;
} }
} }
...@@ -374,11 +385,11 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -374,11 +385,11 @@ 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]) {
return WXSceneTimeline; return WXSceneTimeline;
} else if ([value isEqual: @2]) { } else if ([value isEqual:@2]) {
return WXSceneFavorite; return WXSceneFavorite;
} else { } else {
return WXSceneSession; return WXSceneSession;
......
...@@ -23,6 +23,7 @@ NS_ASSUME_NONNULL_BEGIN ...@@ -23,6 +23,7 @@ NS_ASSUME_NONNULL_BEGIN
InScene:(enum WXScene)scene InScene:(enum WXScene)scene
title:(NSString *)title title:(NSString *)title
description:(NSString *)description description:(NSString *)description
MsgSignature:(NSString *)msgSignature
completion:(void (^ __nullable)(BOOL success))completion; completion:(void (^ __nullable)(BOOL success))completion;
+ (void)sendLinkURL:(NSString *)urlString + (void)sendLinkURL:(NSString *)urlString
...@@ -33,6 +34,7 @@ NS_ASSUME_NONNULL_BEGIN ...@@ -33,6 +34,7 @@ NS_ASSUME_NONNULL_BEGIN
MessageExt:(NSString *)messageExt MessageExt:(NSString *)messageExt
MessageAction:(NSString *)messageAction MessageAction:(NSString *)messageAction
InScene:(enum WXScene)scene InScene:(enum WXScene)scene
MsgSignature:(NSString *)msgSignature
completion:(void (^ __nullable)(BOOL success))completion; completion:(void (^ __nullable)(BOOL success))completion;
+ (void)sendMusicURL:(NSString *)musicURL + (void)sendMusicURL:(NSString *)musicURL
...@@ -46,6 +48,7 @@ NS_ASSUME_NONNULL_BEGIN ...@@ -46,6 +48,7 @@ NS_ASSUME_NONNULL_BEGIN
MessageAction:(NSString *)messageAction MessageAction:(NSString *)messageAction
TagName:(NSString *)tagName TagName:(NSString *)tagName
InScene:(enum WXScene)scene InScene:(enum WXScene)scene
MsgSignature:(NSString *)msgSignature
completion:(void (^ __nullable)(BOOL success))completion; completion:(void (^ __nullable)(BOOL success))completion;
+ (void)sendVideoURL:(NSString *)videoURL + (void)sendVideoURL:(NSString *)videoURL
...@@ -57,11 +60,13 @@ NS_ASSUME_NONNULL_BEGIN ...@@ -57,11 +60,13 @@ NS_ASSUME_NONNULL_BEGIN
MessageAction:(NSString *)messageAction MessageAction:(NSString *)messageAction
TagName:(NSString *)tagName TagName:(NSString *)tagName
InScene:(enum WXScene)scene InScene:(enum WXScene)scene
MsgSignature:(NSString *)msgSignature
completion:(void (^ __nullable)(BOOL success))completion; completion:(void (^ __nullable)(BOOL success))completion;
+ (void)sendEmotionData:(NSData *)emotionData + (void)sendEmotionData:(NSData *)emotionData
ThumbImage:(UIImage *)thumbImage ThumbImage:(UIImage *)thumbImage
InScene:(enum WXScene)scene InScene:(enum WXScene)scene
MsgSignature:(NSString *)msgSignature
completion:(void (^ __nullable)(BOOL success))completion; completion:(void (^ __nullable)(BOOL success))completion;
+ (void)sendFileData:(NSData *)fileData + (void)sendFileData:(NSData *)fileData
...@@ -70,6 +75,7 @@ NS_ASSUME_NONNULL_BEGIN ...@@ -70,6 +75,7 @@ NS_ASSUME_NONNULL_BEGIN
Description:(NSString *)description Description:(NSString *)description
ThumbImage:(UIImage *)thumbImage ThumbImage:(UIImage *)thumbImage
InScene:(enum WXScene)scene InScene:(enum WXScene)scene
MsgSignature:(NSString *)msgSignature
completion:(void (^ __nullable)(BOOL success))completion; completion:(void (^ __nullable)(BOOL success))completion;
+ (void)sendMiniProgramWebpageUrl:(NSString *)webpageUrl + (void)sendMiniProgramWebpageUrl:(NSString *)webpageUrl
...@@ -85,6 +91,7 @@ NS_ASSUME_NONNULL_BEGIN ...@@ -85,6 +91,7 @@ NS_ASSUME_NONNULL_BEGIN
MessageAction:(NSString *)messageAction MessageAction:(NSString *)messageAction
TagName:(NSString *)tagName TagName:(NSString *)tagName
InScene:(enum WXScene)scene InScene:(enum WXScene)scene
MsgSignature:(NSString *)msgSignature
completion:(void (^ __nullable)(BOOL success))completion; completion:(void (^ __nullable)(BOOL success))completion;
+ (void)launchMiniProgramWithUserName:(NSString *)userName + (void)launchMiniProgramWithUserName:(NSString *)userName
...@@ -101,6 +108,7 @@ NS_ASSUME_NONNULL_BEGIN ...@@ -101,6 +108,7 @@ NS_ASSUME_NONNULL_BEGIN
MessageAction:(NSString *)action MessageAction:(NSString *)action
ThumbImage:(UIImage *)thumbImage ThumbImage:(UIImage *)thumbImage
InScene:(enum WXScene)scene InScene:(enum WXScene)scene
MsgSignature:(NSString *)msgSignature
completion:(void (^ __nullable)(BOOL success))completion; completion:(void (^ __nullable)(BOOL success))completion;
+ (void)addCardsToCardPackage:(NSArray *)cardIds cardExts:(NSArray *)cardExts + (void)addCardsToCardPackage:(NSArray *)cardIds cardExts:(NSArray *)cardExts
...@@ -115,6 +123,7 @@ NS_ASSUME_NONNULL_BEGIN ...@@ -115,6 +123,7 @@ NS_ASSUME_NONNULL_BEGIN
+ (void)sendAuthRequestScope:(NSString *)scope + (void)sendAuthRequestScope:(NSString *)scope
State:(NSString *)state State:(NSString *)state
OpenID:(NSString *)openID OpenID:(NSString *)openID
NonAutomatic:(BOOL)nonAutomatic
completion:(void (^ __nullable)(BOOL success))completion; completion:(void (^ __nullable)(BOOL success))completion;
...@@ -133,8 +142,6 @@ NS_ASSUME_NONNULL_BEGIN ...@@ -133,8 +142,6 @@ NS_ASSUME_NONNULL_BEGIN
completion:(void (^ __nullable)(BOOL success))completion; completion:(void (^ __nullable)(BOOL success))completion;
+ (void)sendPayment:(NSString *)appId + (void)sendPayment:(NSString *)appId
PartnerId:(NSString *)partnerId PartnerId:(NSString *)partnerId
PrepayId:(NSString *)prepayId PrepayId:(NSString *)prepayId
...@@ -146,7 +153,7 @@ NS_ASSUME_NONNULL_BEGIN ...@@ -146,7 +153,7 @@ NS_ASSUME_NONNULL_BEGIN
+ (void)openCustomerService:(NSString *)url + (void)openCustomerService:(NSString *)url
CorpId:(NSString *)corpId CorpId:(NSString *)corpId
completion:(void (^ __nullable)(BOOL success))completion; completion:(void (^ __nullable)(BOOL success))completion;
@end @end
NS_ASSUME_NONNULL_END NS_ASSUME_NONNULL_END
...@@ -32,18 +32,21 @@ ...@@ -32,18 +32,21 @@
InScene:(enum WXScene)scene InScene:(enum WXScene)scene
title:(NSString *)title title:(NSString *)title
description:(NSString *)description description:(NSString *)description
MsgSignature:(NSString *)msgSignature
completion:(void (^ __nullable)(BOOL success))completion { completion:(void (^ __nullable)(BOOL success))completion {
WXImageObject *ext = [WXImageObject object]; WXImageObject *ext = [WXImageObject object];
ext.imageData = imageData; ext.imageData = imageData;
WXMediaMessage *message = [WXMediaMessage messageWithTitle:(title == (id) [NSNull null]) ? nil : title WXMediaMessage *message = [WXMediaMessage messageWithTitle:(title == (id) [NSNull null]) ? nil : title
Description:(description == (id) [NSNull null]) ? nil : description Description:(description == (id) [NSNull null]) ? nil : description
Object:ext Object:ext
MessageExt:(messageExt == (id) [NSNull null]) ? nil : messageExt MessageExt:(messageExt == (id) [NSNull null]) ? nil : messageExt
MessageAction:(action == (id) [NSNull null]) ? nil : action MessageAction:(action == (id) [NSNull null]) ? nil : action
ThumbImage:thumbImage ThumbImage:thumbImage
MediaTag:(tagName == (id) [NSNull null]) ? nil : tagName]; MediaTag:(tagName == (id) [NSNull null]) ? nil : tagName
MsgSignature:(msgSignature == (id) [NSNull null]) ? nil : msgSignature
];;
SendMessageToWXReq *req = [SendMessageToWXReq requestWithText:nil SendMessageToWXReq *req = [SendMessageToWXReq requestWithText:nil
OrMediaMessage:message OrMediaMessage:message
...@@ -61,6 +64,7 @@ ...@@ -61,6 +64,7 @@
MessageExt:(NSString *)messageExt MessageExt:(NSString *)messageExt
MessageAction:(NSString *)messageAction MessageAction:(NSString *)messageAction
InScene:(enum WXScene)scene InScene:(enum WXScene)scene
MsgSignature:(NSString *)msgSignature
completion:(void (^ __nullable)(BOOL success))completion { completion:(void (^ __nullable)(BOOL success))completion {
WXWebpageObject *ext = [WXWebpageObject object]; WXWebpageObject *ext = [WXWebpageObject object];
ext.webpageUrl = urlString; ext.webpageUrl = urlString;
...@@ -71,7 +75,9 @@ ...@@ -71,7 +75,9 @@
MessageExt:(messageExt == (id) [NSNull null]) ? nil : messageExt MessageExt:(messageExt == (id) [NSNull null]) ? nil : messageExt
MessageAction:(messageAction == (id) [NSNull null]) ? nil : messageAction MessageAction:(messageAction == (id) [NSNull null]) ? nil : messageAction
ThumbImage:thumbImage ThumbImage:thumbImage
MediaTag:(tagName == (id) [NSNull null]) ? nil : tagName]; MediaTag:(tagName == (id) [NSNull null]) ? nil : tagName
MsgSignature:(msgSignature == (id) [NSNull null]) ? nil : msgSignature
];
SendMessageToWXReq *req = [SendMessageToWXReq requestWithText:nil SendMessageToWXReq *req = [SendMessageToWXReq requestWithText:nil
OrMediaMessage:message OrMediaMessage:message
...@@ -91,6 +97,7 @@ ...@@ -91,6 +97,7 @@
MessageAction:(NSString *)messageAction MessageAction:(NSString *)messageAction
TagName:(NSString *)tagName TagName:(NSString *)tagName
InScene:(enum WXScene)scene InScene:(enum WXScene)scene
MsgSignature:(NSString *)msgSignature
completion:(void (^ __nullable)(BOOL success))completion { completion:(void (^ __nullable)(BOOL success))completion {
WXMusicObject *ext = [WXMusicObject object]; WXMusicObject *ext = [WXMusicObject object];
...@@ -109,7 +116,9 @@ ...@@ -109,7 +116,9 @@
MessageExt:(messageExt == (id) [NSNull null]) ? nil : messageExt MessageExt:(messageExt == (id) [NSNull null]) ? nil : messageExt
MessageAction:(messageAction == (id) [NSNull null]) ? nil : messageAction MessageAction:(messageAction == (id) [NSNull null]) ? nil : messageAction
ThumbImage:thumbImage ThumbImage:thumbImage
MediaTag:(tagName == (id) [NSNull null]) ? nil : tagName]; MediaTag:(tagName == (id) [NSNull null]) ? nil : tagName
MsgSignature:(msgSignature == (id) [NSNull null]) ? nil : msgSignature
];
SendMessageToWXReq *req = [SendMessageToWXReq requestWithText:nil SendMessageToWXReq *req = [SendMessageToWXReq requestWithText:nil
OrMediaMessage:message OrMediaMessage:message
...@@ -128,6 +137,7 @@ ...@@ -128,6 +137,7 @@
MessageAction:(NSString *)messageAction MessageAction:(NSString *)messageAction
TagName:(NSString *)tagName TagName:(NSString *)tagName
InScene:(enum WXScene)scene InScene:(enum WXScene)scene
MsgSignature:(NSString *)msgSignature
completion:(void (^ __nullable)(BOOL success))completion { completion:(void (^ __nullable)(BOOL success))completion {
WXMediaMessage *message = [WXMediaMessage message]; WXMediaMessage *message = [WXMediaMessage message];
message.title = (title == (id) [NSNull null]) ? nil : title; message.title = (title == (id) [NSNull null]) ? nil : title;
...@@ -155,6 +165,7 @@ ...@@ -155,6 +165,7 @@
+ (void)sendEmotionData:(NSData *)emotionData + (void)sendEmotionData:(NSData *)emotionData
ThumbImage:(UIImage *)thumbImage ThumbImage:(UIImage *)thumbImage
InScene:(enum WXScene)scene InScene:(enum WXScene)scene
MsgSignature:(NSString *)msgSignature
completion:(void (^ __nullable)(BOOL success))completion { completion:(void (^ __nullable)(BOOL success))completion {
WXMediaMessage *message = [WXMediaMessage message]; WXMediaMessage *message = [WXMediaMessage message];
[message setThumbImage:thumbImage]; [message setThumbImage:thumbImage];
...@@ -164,6 +175,11 @@ ...@@ -164,6 +175,11 @@
message.mediaObject = ext; message.mediaObject = ext;
NSString *signature = (msgSignature == (id) [NSNull null]) ? nil : msgSignature;
if (signature != nil) {
message.msgSignature = signature;
}
SendMessageToWXReq *req = [SendMessageToWXReq requestWithText:nil SendMessageToWXReq *req = [SendMessageToWXReq requestWithText:nil
OrMediaMessage:message OrMediaMessage:message
bText:NO bText:NO
...@@ -177,6 +193,7 @@ ...@@ -177,6 +193,7 @@
Description:(NSString *)description Description:(NSString *)description
ThumbImage:(UIImage *)thumbImage ThumbImage:(UIImage *)thumbImage
InScene:(enum WXScene)scene InScene:(enum WXScene)scene
MsgSignature:(NSString *)msgSignature
completion:(void (^ __nullable)(BOOL success))completion { completion:(void (^ __nullable)(BOOL success))completion {
WXMediaMessage *message = [WXMediaMessage message]; WXMediaMessage *message = [WXMediaMessage message];
message.title = title; message.title = title;
...@@ -189,6 +206,11 @@ ...@@ -189,6 +206,11 @@
message.mediaObject = ext; message.mediaObject = ext;
NSString *signature = (msgSignature == (id) [NSNull null]) ? nil : msgSignature;
if (signature != nil) {
message.msgSignature = signature;
}
SendMessageToWXReq *req = [SendMessageToWXReq requestWithText:nil SendMessageToWXReq *req = [SendMessageToWXReq requestWithText:nil
OrMediaMessage:message OrMediaMessage:message
bText:NO bText:NO
...@@ -209,6 +231,7 @@ ...@@ -209,6 +231,7 @@
MessageAction:(NSString *)messageAction MessageAction:(NSString *)messageAction
TagName:(NSString *)tagName TagName:(NSString *)tagName
InScene:(enum WXScene)scene InScene:(enum WXScene)scene
MsgSignature:(NSString *)msgSignature
completion:(void (^ __nullable)(BOOL success))completion { completion:(void (^ __nullable)(BOOL success))completion {
WXMiniProgramObject *ext = [WXMiniProgramObject object]; WXMiniProgramObject *ext = [WXMiniProgramObject object];
ext.webpageUrl = (webpageUrl == (id) [NSNull null]) ? nil : webpageUrl; ext.webpageUrl = (webpageUrl == (id) [NSNull null]) ? nil : webpageUrl;
...@@ -235,7 +258,10 @@ ...@@ -235,7 +258,10 @@
MessageExt:(messageExt == (id) [NSNull null]) ? nil : messageExt MessageExt:(messageExt == (id) [NSNull null]) ? nil : messageExt
MessageAction:(messageAction == (id) [NSNull null]) ? nil : messageAction MessageAction:(messageAction == (id) [NSNull null]) ? nil : messageAction
ThumbImage:thumbImage ThumbImage:thumbImage
MediaTag:(tagName == (id) [NSNull null]) ? nil : tagName]; MediaTag:(tagName == (id) [NSNull null]) ? nil : tagName
MsgSignature:(msgSignature == (id) [NSNull null]) ? nil : msgSignature
];
SendMessageToWXReq *req = [SendMessageToWXReq requestWithText:nil SendMessageToWXReq *req = [SendMessageToWXReq requestWithText:nil
OrMediaMessage:message OrMediaMessage:message
...@@ -267,6 +293,7 @@ ...@@ -267,6 +293,7 @@
MessageAction:(NSString *)action MessageAction:(NSString *)action
ThumbImage:(UIImage *)thumbImage ThumbImage:(UIImage *)thumbImage
InScene:(enum WXScene)scene InScene:(enum WXScene)scene
MsgSignature:(NSString *)msgSignature
completion:(void (^ __nullable)(BOOL success))completion { completion:(void (^ __nullable)(BOOL success))completion {
WXAppExtendObject *ext = [WXAppExtendObject object]; WXAppExtendObject *ext = [WXAppExtendObject object];
ext.extInfo = info; ext.extInfo = info;
...@@ -279,7 +306,9 @@ ...@@ -279,7 +306,9 @@
MessageExt:messageExt MessageExt:messageExt
MessageAction:action MessageAction:action
ThumbImage:thumbImage ThumbImage:thumbImage
MediaTag:nil]; MediaTag:nil
MsgSignature:(msgSignature == (id) [NSNull null]) ? nil : msgSignature
];
SendMessageToWXReq *req = [SendMessageToWXReq requestWithText:nil SendMessageToWXReq *req = [SendMessageToWXReq requestWithText:nil
OrMediaMessage:message OrMediaMessage:message
...@@ -327,8 +356,8 @@ ...@@ -327,8 +356,8 @@
} }
+ (void)chooseInvoice:(NSString *)appid + (void)chooseInvoice:(NSString *)appid
timestamp:(UInt32)timestamp timestamp:(UInt32)timestamp
completion:(void (^ __nullable)(BOOL success))completion { completion:(void (^ __nullable)(BOOL success))completion {
WXChooseInvoiceReq *chooseInvoiceReq = [[WXChooseInvoiceReq alloc] init]; WXChooseInvoiceReq *chooseInvoiceReq = [[WXChooseInvoiceReq alloc] init];
chooseInvoiceReq.appID = appid; chooseInvoiceReq.appID = appid;
chooseInvoiceReq.timeStamp = timestamp; chooseInvoiceReq.timeStamp = timestamp;
...@@ -356,20 +385,21 @@ ...@@ -356,20 +385,21 @@
completion:completion]; completion:completion];
} }
+ (void)sendAuthRequestScope:(NSString *)scope + (void)sendAuthRequestScope:(NSString *)scope
State:(NSString *)state State:(NSString *)state
OpenID:(NSString *)openID OpenID:(NSString *)openID
completion:(void (^ __nullable)(BOOL success))completion { NonAutomatic:(BOOL)nonAutomatic
completion:(void (^)(BOOL))completion {
SendAuthReq *req = [[SendAuthReq alloc] init]; SendAuthReq *req = [[SendAuthReq alloc] init];
req.scope = scope; // @"post_timeline,sns" req.scope = scope; // @"post_timeline,sns"
req.state = state; req.state = state;
req.openID = openID; req.openID = openID;
req.nonautomatic = nonAutomatic;
[WXApi sendReq:req completion:completion]; [WXApi sendReq:req completion:completion];
}
}
+ (void)openUrl:(NSString *)url + (void)openUrl:(NSString *)url
...@@ -413,7 +443,7 @@ ...@@ -413,7 +443,7 @@
[WXApi sendReq:req completion:completion]; [WXApi sendReq:req completion:completion];
} }
+ (void)openCustomerService:(NSString *)url CorpId:(NSString *)corpId completion:(void (^)(BOOL))completion{ + (void)openCustomerService:(NSString *)url CorpId:(NSString *)corpId completion:(void (^)(BOOL))completion {
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
......
...@@ -15,5 +15,6 @@ ...@@ -15,5 +15,6 @@
MessageExt:(NSString *)messageExt MessageExt:(NSString *)messageExt
MessageAction:(NSString *)action MessageAction:(NSString *)action
ThumbImage:(UIImage *)thumbImage ThumbImage:(UIImage *)thumbImage
MediaTag:(NSString *)tagName; MediaTag:(NSString *)tagName
MsgSignature:(NSString *)msgSignature;
@end @end
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
// //
#import "WXMediaMessage+messageConstruct.h" #import "WXMediaMessage+messageConstruct.h"
@implementation WXMediaMessage (messageConstruct) @implementation WXMediaMessage (messageConstruct)
+ (WXMediaMessage *)messageWithTitle:(NSString *)title + (WXMediaMessage *)messageWithTitle:(NSString *)title
...@@ -15,7 +16,8 @@ ...@@ -15,7 +16,8 @@
MessageExt:(NSString *)messageExt MessageExt:(NSString *)messageExt
MessageAction:(NSString *)action MessageAction:(NSString *)action
ThumbImage:(UIImage *)thumbImage ThumbImage:(UIImage *)thumbImage
MediaTag:(NSString *)tagName { MediaTag:(NSString *)tagName
MsgSignature:(NSString *)msgSignature {
WXMediaMessage *message = [WXMediaMessage message]; WXMediaMessage *message = [WXMediaMessage message];
message.title = title; message.title = title;
message.description = description; message.description = description;
...@@ -23,8 +25,10 @@ ...@@ -23,8 +25,10 @@
message.messageExt = messageExt; message.messageExt = messageExt;
message.messageAction = action; message.messageAction = action;
message.mediaTagName = tagName; message.mediaTagName = tagName;
if(msgSignature != nil ){
message.msgSignature = msgSignature;
}
[message setThumbImage:thumbImage]; [message setThumbImage:thumbImage];
return message; return message;
} }
@end @end
...@@ -20,13 +20,13 @@ A new Flutter plugin for Wechat SDK. ...@@ -20,13 +20,13 @@ A new Flutter plugin for Wechat SDK.
# s.dependency 'WechatOpenSDK', '1.8.7.1' # s.dependency 'WechatOpenSDK', '1.8.7.1'
# s.dependency 'WechatOpenSDK_Fuck', '~> 1.9.2' # s.dependency 'WechatOpenSDK_Fuck', '~> 1.9.2'
s.dependency 'OpenWeChatSDK','~> 1.9.6' s.dependency 'OpenWeChatSDK','~> 1.9.9'
# s.xcconfig = { 'HEADER_SEARCH_PATHS' => "${PODS_ROOT}/Headers/Public/#{s.name}" } # s.xcconfig = { 'HEADER_SEARCH_PATHS' => "${PODS_ROOT}/Headers/Public/#{s.name}" }
s.frameworks = ["SystemConfiguration", "CoreTelephony","WebKit"] s.frameworks = ["SystemConfiguration", "CoreTelephony","WebKit"]
s.libraries = ["z", "sqlite3.0", "c++"] s.libraries = ["z", "sqlite3.0", "c++"]
s.preserve_paths = 'Lib/*.a' s.preserve_paths = 'Lib/*.a'
s.vendored_libraries = "**/*.a" s.vendored_libraries = "**/*.a"
s.ios.deployment_target = '9.0' s.ios.deployment_target = '12.0'
# Flutter.framework does not contain a i386 slice. Only x86_64 simulators are supported. # Flutter.framework does not contain a i386 slice. Only x86_64 simulators are supported.
s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'VALID_ARCHS[sdk=iphonesimulator*]' => 'x86_64' } s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'VALID_ARCHS[sdk=iphonesimulator*]' => 'x86_64' }
......
...@@ -93,7 +93,8 @@ Future<String?> getExtMsg() { ...@@ -93,7 +93,8 @@ Future<String?> getExtMsg() {
/// start Log /// start Log
/// defalult [WXLogLevel.DETAIL] /// defalult [WXLogLevel.DETAIL]
Future<bool?> startLog({WXLogLevel logLevel = WXLogLevel.DETAIL}) async { Future<bool?> startLog({WXLogLevel logLevel = WXLogLevel.DETAIL}) async {
return await _channel.invokeMethod('startLog', {'logLevel': logLevel.toNativeInt()}); return await _channel
.invokeMethod('startLog', {'logLevel': logLevel.toNativeInt()});
} }
/// stop log /// stop log
...@@ -124,14 +125,14 @@ Future<bool> shareToWeChat(WeChatShareBaseModel model) async { ...@@ -124,14 +125,14 @@ Future<bool> shareToWeChat(WeChatShareBaseModel model) async {
/// Once AuthCode got, you need to request Access_Token /// Once AuthCode got, you need to request Access_Token
/// For more information please visit: /// For more information please visit:
/// * https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419317851&token= /// * https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419317851&token=
Future<bool> sendWeChatAuth({ Future<bool> sendWeChatAuth(
required String scope, {required String scope,
String state = 'state', String state = 'state',
}) async { bool nonAutomatic = false}) async {
assert(scope.trim().isNotEmpty); assert(scope.trim().isNotEmpty);
return await _channel.invokeMethod( return await _channel.invokeMethod(
'sendAuth', 'sendAuth',
{'scope': scope, 'state': state}, {'scope': scope, 'state': state, 'nonAutomatic': nonAutomatic},
); );
} }
...@@ -314,19 +315,17 @@ Future<bool> checkSupportOpenBusinessView() async { ...@@ -314,19 +315,17 @@ Future<bool> checkSupportOpenBusinessView() async {
return await _channel.invokeMethod("checkSupportOpenBusinessView"); return await _channel.invokeMethod("checkSupportOpenBusinessView");
} }
Future<bool> openWeChatInvoice(
Future<bool> openWeChatInvoice({ {required String appId,
required String appId, required String cardType,
required String cardType, String locationId = "",
String locationId = "", String cardId = "",
String cardId = "", String canMultiSelect = "1"}) async {
String canMultiSelect = "1"
}) async {
return await _channel.invokeMethod("openWeChatInvoice", { return await _channel.invokeMethod("openWeChatInvoice", {
"appId":appId, "appId": appId,
"cardType":cardType, "cardType": cardType,
"locationId":locationId, "locationId": locationId,
"cardId": cardId, "cardId": cardId,
"canMultiSelect": canMultiSelect "canMultiSelect": canMultiSelect
}); });
} }
\ No newline at end of file
...@@ -27,6 +27,7 @@ const String _messageExt = "messageExt"; ...@@ -27,6 +27,7 @@ const String _messageExt = "messageExt";
const String _mediaTagName = "mediaTagName"; const String _mediaTagName = "mediaTagName";
const String _messageAction = "messageAction"; const String _messageAction = "messageAction";
const String _compressThumbnail = "compressThumbnail"; const String _compressThumbnail = "compressThumbnail";
const String _msgSignature = "msgSignature";
mixin WeChatShareBaseModel { mixin WeChatShareBaseModel {
Map toMap(); Map toMap();
...@@ -41,6 +42,7 @@ class WeChatShareTextModel implements WeChatShareBaseModel { ...@@ -41,6 +42,7 @@ class WeChatShareTextModel implements WeChatShareBaseModel {
this.mediaTagName, this.mediaTagName,
this.messageAction, this.messageAction,
this.messageExt, this.messageExt,
this.msgSignature,
String? description, String? description,
String? title, String? title,
}) : this.title = title ?? source, }) : this.title = title ?? source,
...@@ -53,6 +55,7 @@ class WeChatShareTextModel implements WeChatShareBaseModel { ...@@ -53,6 +55,7 @@ class WeChatShareTextModel implements WeChatShareBaseModel {
final String? mediaTagName; final String? mediaTagName;
final String? title; final String? title;
final String? description; final String? description;
final String? msgSignature;
@override @override
Map toMap() { Map toMap() {
...@@ -63,7 +66,8 @@ class WeChatShareTextModel implements WeChatShareBaseModel { ...@@ -63,7 +66,8 @@ class WeChatShareTextModel implements WeChatShareBaseModel {
_messageAction: messageAction, _messageAction: messageAction,
_mediaTagName: mediaTagName, _mediaTagName: mediaTagName,
_title: title, _title: title,
_description: description _description: description,
_msgSignature: msgSignature
}; };
} }
} }
...@@ -72,21 +76,22 @@ class WeChatShareTextModel implements WeChatShareBaseModel { ...@@ -72,21 +76,22 @@ class WeChatShareTextModel implements WeChatShareBaseModel {
/// [hdImagePath] only works on iOS, not sure the relationship /// [hdImagePath] only works on iOS, not sure the relationship
/// between [thumbnail] and [hdImagePath]. /// between [thumbnail] and [hdImagePath].
class WeChatShareMiniProgramModel implements WeChatShareBaseModel { class WeChatShareMiniProgramModel implements WeChatShareBaseModel {
WeChatShareMiniProgramModel({ WeChatShareMiniProgramModel(
required this.webPageUrl, {required this.webPageUrl,
this.miniProgramType = WXMiniProgramType.RELEASE, this.miniProgramType = WXMiniProgramType.RELEASE,
required this.userName, required this.userName,
this.path: "/", this.path: "/",
this.title, this.title,
this.description, this.description,
this.withShareTicket: false, this.withShareTicket: false,
this.thumbnail, this.thumbnail,
this.hdImagePath, this.hdImagePath,
this.mediaTagName, this.mediaTagName,
this.messageAction, this.messageAction,
this.messageExt, this.messageExt,
this.compressThumbnail = true, this.compressThumbnail = true,
}) : assert(webPageUrl.isNotEmpty), this.msgSignature})
: assert(webPageUrl.isNotEmpty),
assert(userName.isNotEmpty), assert(userName.isNotEmpty),
assert(path.isNotEmpty); assert(path.isNotEmpty);
...@@ -103,6 +108,7 @@ class WeChatShareMiniProgramModel implements WeChatShareBaseModel { ...@@ -103,6 +108,7 @@ class WeChatShareMiniProgramModel implements WeChatShareBaseModel {
final String? messageAction; final String? messageAction;
final String? mediaTagName; final String? mediaTagName;
final bool compressThumbnail; final bool compressThumbnail;
final String? msgSignature;
@override @override
Map toMap() { Map toMap() {
...@@ -118,7 +124,8 @@ class WeChatShareMiniProgramModel implements WeChatShareBaseModel { ...@@ -118,7 +124,8 @@ class WeChatShareMiniProgramModel implements WeChatShareBaseModel {
"hdImagePath": hdImagePath?.toMap(), "hdImagePath": hdImagePath?.toMap(),
_messageAction: messageAction, _messageAction: messageAction,
_mediaTagName: mediaTagName, _mediaTagName: mediaTagName,
_compressThumbnail: compressThumbnail _compressThumbnail: compressThumbnail,
_msgSignature: msgSignature
}; };
} }
} }
...@@ -127,17 +134,17 @@ class WeChatShareMiniProgramModel implements WeChatShareBaseModel { ...@@ -127,17 +134,17 @@ class WeChatShareMiniProgramModel implements WeChatShareBaseModel {
/// [scene] the target you want to send /// [scene] the target you want to send
/// [thumbnail] the preview of your image, will be created from [scene] if null. /// [thumbnail] the preview of your image, will be created from [scene] if null.
class WeChatShareImageModel implements WeChatShareBaseModel { class WeChatShareImageModel implements WeChatShareBaseModel {
WeChatShareImageModel( WeChatShareImageModel(this.source,
this.source, { {WeChatImage? thumbnail,
WeChatImage? thumbnail, this.title,
this.title, this.scene = WeChatScene.SESSION,
this.scene = WeChatScene.SESSION, this.description,
this.description, this.mediaTagName,
this.mediaTagName, this.messageAction,
this.messageAction, this.messageExt,
this.messageExt, this.compressThumbnail = true,
this.compressThumbnail = true, this.msgSignature})
}) : this.thumbnail = thumbnail ?? source; : this.thumbnail = thumbnail ?? source;
final WeChatImage source; final WeChatImage source;
final WeChatImage thumbnail; final WeChatImage thumbnail;
...@@ -148,6 +155,7 @@ class WeChatShareImageModel implements WeChatShareBaseModel { ...@@ -148,6 +155,7 @@ class WeChatShareImageModel implements WeChatShareBaseModel {
final String? messageAction; final String? messageAction;
final String? mediaTagName; final String? mediaTagName;
final bool compressThumbnail; final bool compressThumbnail;
final String? msgSignature;
@override @override
Map toMap() { Map toMap() {
...@@ -159,7 +167,8 @@ class WeChatShareImageModel implements WeChatShareBaseModel { ...@@ -159,7 +167,8 @@ class WeChatShareImageModel implements WeChatShareBaseModel {
_description: description, _description: description,
_messageAction: messageAction, _messageAction: messageAction,
_mediaTagName: mediaTagName, _mediaTagName: mediaTagName,
_compressThumbnail: compressThumbnail _compressThumbnail: compressThumbnail,
_msgSignature: msgSignature
}; };
} }
} }
...@@ -167,20 +176,21 @@ class WeChatShareImageModel implements WeChatShareBaseModel { ...@@ -167,20 +176,21 @@ class WeChatShareImageModel implements WeChatShareBaseModel {
/// if [musicUrl] and [musicLowBandUrl] are both provided, /// if [musicUrl] and [musicLowBandUrl] are both provided,
/// only [musicUrl] will be used. /// only [musicUrl] will be used.
class WeChatShareMusicModel implements WeChatShareBaseModel { class WeChatShareMusicModel implements WeChatShareBaseModel {
WeChatShareMusicModel({ WeChatShareMusicModel(
this.musicUrl, {this.musicUrl,
this.musicLowBandUrl, this.musicLowBandUrl,
this.title: "", this.title: "",
this.description: "", this.description: "",
this.musicDataUrl, this.musicDataUrl,
this.musicLowBandDataUrl, this.musicLowBandDataUrl,
this.thumbnail, this.thumbnail,
this.mediaTagName, this.mediaTagName,
this.messageAction, this.messageAction,
this.messageExt, this.messageExt,
this.scene = WeChatScene.SESSION, this.scene = WeChatScene.SESSION,
this.compressThumbnail = true, this.compressThumbnail = true,
}) : assert(musicUrl != null || musicLowBandUrl != null); this.msgSignature})
: assert(musicUrl != null || musicLowBandUrl != null);
final String? musicUrl; final String? musicUrl;
final String? musicDataUrl; final String? musicDataUrl;
...@@ -194,6 +204,7 @@ class WeChatShareMusicModel implements WeChatShareBaseModel { ...@@ -194,6 +204,7 @@ class WeChatShareMusicModel implements WeChatShareBaseModel {
final String? messageAction; final String? messageAction;
final String? mediaTagName; final String? mediaTagName;
final bool compressThumbnail; final bool compressThumbnail;
final String? msgSignature;
@override @override
Map toMap() { Map toMap() {
...@@ -208,7 +219,8 @@ class WeChatShareMusicModel implements WeChatShareBaseModel { ...@@ -208,7 +219,8 @@ class WeChatShareMusicModel implements WeChatShareBaseModel {
_description: description, _description: description,
_messageAction: messageAction, _messageAction: messageAction,
_mediaTagName: mediaTagName, _mediaTagName: mediaTagName,
_compressThumbnail: compressThumbnail _compressThumbnail: compressThumbnail,
_msgSignature: msgSignature
}; };
} }
} }
...@@ -216,18 +228,19 @@ class WeChatShareMusicModel implements WeChatShareBaseModel { ...@@ -216,18 +228,19 @@ class WeChatShareMusicModel implements WeChatShareBaseModel {
/// if [videoUrl] and [videoLowBandUrl] are both provided, /// if [videoUrl] and [videoLowBandUrl] are both provided,
/// only [videoUrl] will be used. /// only [videoUrl] will be used.
class WeChatShareVideoModel implements WeChatShareBaseModel { class WeChatShareVideoModel implements WeChatShareBaseModel {
WeChatShareVideoModel({ WeChatShareVideoModel(
this.scene = WeChatScene.SESSION, {this.scene = WeChatScene.SESSION,
this.videoUrl, this.videoUrl,
this.videoLowBandUrl, this.videoLowBandUrl,
this.title: "", this.title: "",
this.description: "", this.description: "",
this.thumbnail, this.thumbnail,
this.mediaTagName, this.mediaTagName,
this.messageAction, this.messageAction,
this.messageExt, this.messageExt,
this.compressThumbnail = true, this.compressThumbnail = true,
}) : assert(videoUrl != null || videoLowBandUrl != null), this.msgSignature})
: assert(videoUrl != null || videoLowBandUrl != null),
assert(thumbnail != null); assert(thumbnail != null);
final String? videoUrl; final String? videoUrl;
...@@ -240,6 +253,7 @@ class WeChatShareVideoModel implements WeChatShareBaseModel { ...@@ -240,6 +253,7 @@ class WeChatShareVideoModel implements WeChatShareBaseModel {
final String? messageAction; final String? messageAction;
final String? mediaTagName; final String? mediaTagName;
final bool compressThumbnail; final bool compressThumbnail;
final String? msgSignature;
@override @override
Map toMap() { Map toMap() {
...@@ -252,7 +266,8 @@ class WeChatShareVideoModel implements WeChatShareBaseModel { ...@@ -252,7 +266,8 @@ class WeChatShareVideoModel implements WeChatShareBaseModel {
_description: description, _description: description,
_messageAction: messageAction, _messageAction: messageAction,
_mediaTagName: mediaTagName, _mediaTagName: mediaTagName,
_compressThumbnail: compressThumbnail _compressThumbnail: compressThumbnail,
_msgSignature: msgSignature
}; };
} }
} }
...@@ -269,6 +284,7 @@ class WeChatShareWebPageModel implements WeChatShareBaseModel { ...@@ -269,6 +284,7 @@ class WeChatShareWebPageModel implements WeChatShareBaseModel {
this.mediaTagName, this.mediaTagName,
this.messageAction, this.messageAction,
this.messageExt, this.messageExt,
this.msgSignature,
this.compressThumbnail = true, this.compressThumbnail = true,
}) : assert(webPage.isNotEmpty), }) : assert(webPage.isNotEmpty),
this.description = description ?? webPage; this.description = description ?? webPage;
...@@ -282,6 +298,7 @@ class WeChatShareWebPageModel implements WeChatShareBaseModel { ...@@ -282,6 +298,7 @@ class WeChatShareWebPageModel implements WeChatShareBaseModel {
final String? messageAction; final String? messageAction;
final String? mediaTagName; final String? mediaTagName;
final bool compressThumbnail; final bool compressThumbnail;
final String? msgSignature;
@override @override
Map toMap() { Map toMap() {
...@@ -293,7 +310,8 @@ class WeChatShareWebPageModel implements WeChatShareBaseModel { ...@@ -293,7 +310,8 @@ class WeChatShareWebPageModel implements WeChatShareBaseModel {
_messageAction: messageAction, _messageAction: messageAction,
_mediaTagName: mediaTagName, _mediaTagName: mediaTagName,
_description: description, _description: description,
_compressThumbnail: compressThumbnail _compressThumbnail: compressThumbnail,
_msgSignature: msgSignature
}; };
} }
} }
...@@ -311,6 +329,7 @@ class WeChatShareFileModel implements WeChatShareBaseModel { ...@@ -311,6 +329,7 @@ class WeChatShareFileModel implements WeChatShareBaseModel {
this.mediaTagName, this.mediaTagName,
this.messageAction, this.messageAction,
this.messageExt, this.messageExt,
this.msgSignature,
this.compressThumbnail = true, this.compressThumbnail = true,
}); });
...@@ -323,6 +342,7 @@ class WeChatShareFileModel implements WeChatShareBaseModel { ...@@ -323,6 +342,7 @@ class WeChatShareFileModel implements WeChatShareBaseModel {
final String? messageAction; final String? messageAction;
final String? mediaTagName; final String? mediaTagName;
final bool compressThumbnail; final bool compressThumbnail;
final String? msgSignature;
@override @override
Map toMap() { Map toMap() {
...@@ -334,7 +354,8 @@ class WeChatShareFileModel implements WeChatShareBaseModel { ...@@ -334,7 +354,8 @@ class WeChatShareFileModel implements WeChatShareBaseModel {
_description: description, _description: description,
_messageAction: messageAction, _messageAction: messageAction,
_mediaTagName: mediaTagName, _mediaTagName: mediaTagName,
_compressThumbnail: compressThumbnail _compressThumbnail: compressThumbnail,
_msgSignature: msgSignature
}; };
} }
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论