提交 bd101648 authored 作者: JarvanMo's avatar JarvanMo

* 分享新增基础字段:thumbData

* 分享新增基础字段:thumbDataHash
上级 282461be
...@@ -261,6 +261,14 @@ internal interface FluwxShareHandler : CoroutineScope { ...@@ -261,6 +261,14 @@ internal interface FluwxShareHandler : CoroutineScope {
call.argument<String?>("msgSignature")?.let { call.argument<String?>("msgSignature")?.let {
msg.msgSignature = it msg.msgSignature = it
} }
call.argument<ByteArray?>("thumbData")?.let {
msg.thumbData = it
}
call.argument<String?>("thumbDataHash")?.let {
msg.thumbDataHash = 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)
......
...@@ -15,6 +15,8 @@ NSString *const fluwxKeyImageData = @ "imageData"; ...@@ -15,6 +15,8 @@ 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 fluwxKeyMsgSignature = @"msgSignature";
NSString *const fluwxKeyThumbData = @"thumbData";
NSString *const fluwxKeyThumbDataHash = @"thumbDataHash";
NSString *const fluwxKeyPackage = @"?package="; NSString *const fluwxKeyPackage = @"?package=";
...@@ -538,7 +540,13 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -538,7 +540,13 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
} }
dispatch_async(dispatch_get_main_queue(), ^{ dispatch_async(dispatch_get_main_queue(), ^{
FlutterStandardTypedData *flutterThumbData = call.arguments[fluwxKeyThumbData];
NSData *thumbData = nil;
if (flutterThumbData != nil){
thumbData = flutterThumbData.data;
}
NSNumber *scene = call.arguments[fluwxKeyScene]; NSNumber *scene = call.arguments[fluwxKeyScene];
[self sendImageData:sourceImageData [self sendImageData:sourceImageData
TagName:call.arguments[fluwxKeyMediaTagName] TagName:call.arguments[fluwxKeyMediaTagName]
...@@ -549,6 +557,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -549,6 +557,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
title:call.arguments[fluwxKeyTitle] title:call.arguments[fluwxKeyTitle]
description:call.arguments[fluwxKeyDescription] description:call.arguments[fluwxKeyDescription]
MsgSignature:call.arguments[fluwxKeyMsgSignature] MsgSignature:call.arguments[fluwxKeyMsgSignature]
ThumbData:thumbData
ThumbDataHash:call.arguments[fluwxKeyThumbDataHash]
completion:^(BOOL done) { completion:^(BOOL done) {
result(@(done)); result(@(done));
} }
...@@ -570,6 +580,13 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -570,6 +580,13 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
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];
NSData *thumbData = nil;
if (flutterThumbData != nil){
thumbData = flutterThumbData.data;
}
[self sendLinkURL:webPageUrl [self sendLinkURL:webPageUrl
TagName:call.arguments[fluwxKeyMediaTagName] TagName:call.arguments[fluwxKeyMediaTagName]
Title:call.arguments[fluwxKeyTitle] Title:call.arguments[fluwxKeyTitle]
...@@ -579,6 +596,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -579,6 +596,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
MessageAction:call.arguments[fluwxKeyMessageAction] MessageAction:call.arguments[fluwxKeyMessageAction]
InScene:[self intToWeChatScene:scene] InScene:[self intToWeChatScene:scene]
MsgSignature:call.arguments[fluwxKeyMsgSignature] MsgSignature:call.arguments[fluwxKeyMsgSignature]
ThumbData:thumbData
ThumbDataHash:call.arguments[fluwxKeyThumbDataHash]
completion:^(BOOL done) { completion:^(BOOL done) {
result(@(done)); result(@(done));
}]; }];
...@@ -594,7 +613,13 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -594,7 +613,13 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
UIImage *thumbnailImage = [self getCommonThumbnail:call]; UIImage *thumbnailImage = [self getCommonThumbnail:call];
dispatch_async(dispatch_get_main_queue(), ^{ dispatch_async(dispatch_get_main_queue(), ^{
FlutterStandardTypedData *flutterThumbData = call.arguments[fluwxKeyThumbData];
NSData *thumbData = nil;
if (flutterThumbData != nil){
thumbData = flutterThumbData.data;
}
NSNumber *scene = call.arguments[fluwxKeyScene]; NSNumber *scene = call.arguments[fluwxKeyScene];
[self sendMusicURL:call.arguments[@"musicUrl"] [self sendMusicURL:call.arguments[@"musicUrl"]
dataURL:call.arguments[@"musicDataUrl"] dataURL:call.arguments[@"musicDataUrl"]
...@@ -608,6 +633,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -608,6 +633,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
TagName:call.arguments[fluwxKeyMediaTagName] TagName:call.arguments[fluwxKeyMediaTagName]
InScene:[self intToWeChatScene:scene] InScene:[self intToWeChatScene:scene]
MsgSignature:call.arguments[fluwxKeyMsgSignature] MsgSignature:call.arguments[fluwxKeyMsgSignature]
ThumbData:thumbData
ThumbDataHash:call.arguments[fluwxKeyThumbDataHash]
completion:^(BOOL done) { completion:^(BOOL done) {
result(@(done)); result(@(done));
} }
...@@ -625,7 +652,13 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -625,7 +652,13 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
dispatch_async(dispatch_get_main_queue(), ^{ dispatch_async(dispatch_get_main_queue(), ^{
NSNumber *scene = call.arguments[fluwxKeyScene]; NSNumber *scene = call.arguments[fluwxKeyScene];
FlutterStandardTypedData *flutterThumbData = call.arguments[fluwxKeyThumbData];
NSData *thumbData = nil;
if (flutterThumbData != nil){
thumbData = flutterThumbData.data;
}
[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]
...@@ -636,7 +669,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -636,7 +669,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
TagName:call.arguments[fluwxKeyMediaTagName] TagName:call.arguments[fluwxKeyMediaTagName]
InScene:[self intToWeChatScene:scene] InScene:[self intToWeChatScene:scene]
MsgSignature:call.arguments[fluwxKeyMsgSignature] MsgSignature:call.arguments[fluwxKeyMsgSignature]
ThumbData:thumbData
ThumbDataHash:call.arguments[fluwxKeyThumbDataHash]
completion:^(BOOL done) { completion:^(BOOL done) {
result(@(done)); result(@(done));
}]; }];
...@@ -661,6 +695,14 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -661,6 +695,14 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
dispatch_async(dispatch_get_main_queue(), ^{ dispatch_async(dispatch_get_main_queue(), ^{
NSNumber *scene = call.arguments[fluwxKeyScene]; NSNumber *scene = call.arguments[fluwxKeyScene];
FlutterStandardTypedData *flutterThumbData = call.arguments[fluwxKeyThumbData];
NSData *thumbData = nil;
if (flutterThumbData != nil){
thumbData = flutterThumbData.data;
}
[self sendFileData:data [self sendFileData:data
fileExtension:fileExtension fileExtension:fileExtension
Title:call.arguments[fluwxKeyTitle] Title:call.arguments[fluwxKeyTitle]
...@@ -668,7 +710,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -668,7 +710,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
ThumbImage:thumbnailImage ThumbImage:thumbnailImage
InScene:[self intToWeChatScene:scene] InScene:[self intToWeChatScene:scene]
MsgSignature:call.arguments[fluwxKeyMsgSignature] MsgSignature:call.arguments[fluwxKeyMsgSignature]
ThumbData:thumbData
ThumbDataHash:call.arguments[fluwxKeyThumbDataHash]
completion:^(BOOL success) { completion:^(BOOL success) {
result(@(success)); result(@(success));
}]; }];
...@@ -700,6 +743,13 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -700,6 +743,13 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
dispatch_async(dispatch_get_main_queue(), ^{ dispatch_async(dispatch_get_main_queue(), ^{
FlutterStandardTypedData *flutterThumbData = call.arguments[fluwxKeyThumbData];
NSData *thumbData = nil;
if (flutterThumbData != nil){
thumbData = flutterThumbData.data;
}
NSNumber *scene = call.arguments[fluwxKeyScene]; NSNumber *scene = call.arguments[fluwxKeyScene];
NSNumber *typeInt = call.arguments[@"miniProgramType"]; NSNumber *typeInt = call.arguments[@"miniProgramType"];
...@@ -724,6 +774,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -724,6 +774,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
TagName:call.arguments[fluwxKeyMediaTagName] TagName:call.arguments[fluwxKeyMediaTagName]
InScene:[self intToWeChatScene:scene] InScene:[self intToWeChatScene:scene]
MsgSignature:call.arguments[fluwxKeyMsgSignature] MsgSignature:call.arguments[fluwxKeyMsgSignature]
ThumbData:thumbData
ThumbDataHash:call.arguments[fluwxKeyThumbDataHash]
completion:^(BOOL done) { completion:^(BOOL done) {
result(@(done)); result(@(done));
} }
...@@ -1145,6 +1197,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -1145,6 +1197,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
title:(NSString *)title title:(NSString *)title
description:(NSString *)description description:(NSString *)description
MsgSignature:(NSString *)msgSignature MsgSignature:(NSString *)msgSignature
ThumbData:(NSData *)thumbData
ThumbDataHash:(NSString*)thumbDataHash
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;
...@@ -1157,6 +1211,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -1157,6 +1211,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
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 MsgSignature:(msgSignature == (id) [NSNull null]) ? nil : msgSignature
ThumbData: thumbData
ThumbDataHash:(thumbDataHash == (id) [NSNull null]) ? nil : thumbDataHash
];; ];;
...@@ -1177,6 +1233,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -1177,6 +1233,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
MessageAction:(NSString *)messageAction MessageAction:(NSString *)messageAction
InScene:(enum WXScene)scene InScene:(enum WXScene)scene
MsgSignature:(NSString *)msgSignature MsgSignature:(NSString *)msgSignature
ThumbData:(NSData *)thumbData
ThumbDataHash:(NSString*)thumbDataHash
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;
...@@ -1189,6 +1247,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -1189,6 +1247,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
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 MsgSignature:(msgSignature == (id) [NSNull null]) ? nil : msgSignature
ThumbData: thumbData
ThumbDataHash:(thumbDataHash == (id) [NSNull null]) ? nil : thumbDataHash
]; ];
SendMessageToWXReq *req = [self requestWithText:nil SendMessageToWXReq *req = [self requestWithText:nil
...@@ -1210,6 +1270,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -1210,6 +1270,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
TagName:(NSString *)tagName TagName:(NSString *)tagName
InScene:(enum WXScene)scene InScene:(enum WXScene)scene
MsgSignature:(NSString *)msgSignature MsgSignature:(NSString *)msgSignature
ThumbData:(NSData *)thumbData
ThumbDataHash:(NSString*)thumbDataHash
completion:(void (^ __nullable)(BOOL success))completion { completion:(void (^ __nullable)(BOOL success))completion {
WXMusicObject *ext = [WXMusicObject object]; WXMusicObject *ext = [WXMusicObject object];
...@@ -1230,6 +1292,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -1230,6 +1292,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
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 MsgSignature:(msgSignature == (id) [NSNull null]) ? nil : msgSignature
ThumbData: thumbData
ThumbDataHash:(thumbDataHash == (id) [NSNull null]) ? nil : thumbDataHash
]; ];
SendMessageToWXReq *req = [self requestWithText:nil SendMessageToWXReq *req = [self requestWithText:nil
...@@ -1250,6 +1314,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -1250,6 +1314,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
TagName:(NSString *)tagName TagName:(NSString *)tagName
InScene:(enum WXScene)scene InScene:(enum WXScene)scene
MsgSignature:(NSString *)msgSignature MsgSignature:(NSString *)msgSignature
ThumbData:(NSData *)thumbData
ThumbDataHash:(NSString*)thumbDataHash
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;
...@@ -1278,6 +1344,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -1278,6 +1344,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
ThumbImage:(UIImage *)thumbImage ThumbImage:(UIImage *)thumbImage
InScene:(enum WXScene)scene InScene:(enum WXScene)scene
MsgSignature:(NSString *)msgSignature MsgSignature:(NSString *)msgSignature
ThumbData:(NSData *)thumbData
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 setThumbImage:thumbImage];
...@@ -1306,6 +1374,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -1306,6 +1374,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
ThumbImage:(UIImage *)thumbImage ThumbImage:(UIImage *)thumbImage
InScene:(enum WXScene)scene InScene:(enum WXScene)scene
MsgSignature:(NSString *)msgSignature MsgSignature:(NSString *)msgSignature
ThumbData:(NSData *)thumbData
ThumbDataHash:(NSString*)thumbDataHash
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;
...@@ -1344,6 +1414,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -1344,6 +1414,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
TagName:(NSString *)tagName TagName:(NSString *)tagName
InScene:(enum WXScene)scene InScene:(enum WXScene)scene
MsgSignature:(NSString *)msgSignature MsgSignature:(NSString *)msgSignature
ThumbData:(NSData *)thumbData
ThumbDataHash:(NSString*)thumbDataHash
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;
...@@ -1362,6 +1434,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -1362,6 +1434,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
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 MsgSignature:(msgSignature == (id) [NSNull null]) ? nil : msgSignature
ThumbData: thumbData
ThumbDataHash:(thumbDataHash == (id) [NSNull null]) ? nil : thumbDataHash
]; ];
...@@ -1383,6 +1457,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -1383,6 +1457,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
ThumbImage:(UIImage *)thumbImage ThumbImage:(UIImage *)thumbImage
InScene:(enum WXScene)scene InScene:(enum WXScene)scene
MsgSignature:(NSString *)msgSignature MsgSignature:(NSString *)msgSignature
ThumbData:(NSData *)thumbData
ThumbDataHash:(NSString*)thumbDataHash
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;
...@@ -1397,6 +1473,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -1397,6 +1473,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
ThumbImage:thumbImage ThumbImage:thumbImage
MediaTag:nil MediaTag:nil
MsgSignature:(msgSignature == (id) [NSNull null]) ? nil : msgSignature MsgSignature:(msgSignature == (id) [NSNull null]) ? nil : msgSignature
ThumbData: thumbData
ThumbDataHash:(thumbDataHash == (id) [NSNull null]) ? nil : thumbDataHash
]; ];
SendMessageToWXReq *req = [self requestWithText:nil SendMessageToWXReq *req = [self requestWithText:nil
...@@ -1584,7 +1662,10 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -1584,7 +1662,10 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
MessageAction:(NSString *)action MessageAction:(NSString *)action
ThumbImage:(UIImage *)thumbImage ThumbImage:(UIImage *)thumbImage
MediaTag:(NSString *)tagName MediaTag:(NSString *)tagName
MsgSignature:(NSString *)msgSignature { MsgSignature:(NSString *)msgSignature
ThumbData:(NSData *)thumbData
ThumbDataHash:(NSString*)thumbDataHash
{
WXMediaMessage *message = [WXMediaMessage message]; WXMediaMessage *message = [WXMediaMessage message];
message.title = title; message.title = title;
message.description = description; message.description = description;
...@@ -1592,6 +1673,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar; ...@@ -1592,6 +1673,8 @@ NSObject <FlutterPluginRegistrar> *_fluwxRegistrar;
message.messageExt = messageExt; message.messageExt = messageExt;
message.messageAction = action; message.messageAction = action;
message.mediaTagName = tagName; message.mediaTagName = tagName;
message.thumbData = thumbData;
message.thumbDataHash = thumbDataHash;
if(msgSignature != nil ){ if(msgSignature != nil ){
message.msgSignature = msgSignature; message.msgSignature = msgSignature;
} }
......
...@@ -17,6 +17,8 @@ ...@@ -17,6 +17,8 @@
* the License. * the License.
*/ */
import 'dart:typed_data';
import '../wechat_enums.dart'; import '../wechat_enums.dart';
import '../wechat_file.dart'; import '../wechat_file.dart';
......
...@@ -29,8 +29,23 @@ const String _mediaTagName = "mediaTagName"; ...@@ -29,8 +29,23 @@ const String _mediaTagName = "mediaTagName";
const String _messageAction = "messageAction"; const String _messageAction = "messageAction";
const String _compressThumbnail = "compressThumbnail"; const String _compressThumbnail = "compressThumbnail";
const String _msgSignature = "msgSignature"; const String _msgSignature = "msgSignature";
const String _thumbData = "thumbData";
const String _thumbDataHash = "thumbDataHash";
sealed class WeChatShareModel with _Argument {} sealed class WeChatShareModel with _Argument {
final String? title;
final String? description;
final Uint8List? thumbData;
final String? thumbDataHash;
final String? msgSignature;
WeChatShareModel(
{required this.title,
required this.description,
required this.thumbData,
required this.thumbDataHash,
required this.msgSignature});
}
/// [source] the text you want to send to WeChat /// [source] the text you want to send to WeChat
/// [scene] the target you want to send /// [scene] the target you want to send
...@@ -41,20 +56,21 @@ class WeChatShareTextModel extends WeChatShareModel { ...@@ -41,20 +56,21 @@ class WeChatShareTextModel extends WeChatShareModel {
this.mediaTagName, this.mediaTagName,
this.messageAction, this.messageAction,
this.messageExt, this.messageExt,
this.msgSignature, super.msgSignature,
super.thumbData,
super.thumbDataHash,
String? description, String? description,
String? title, String? title,
}) : title = title ?? source, }) : super(
description = description ?? source; title: title ?? source,
description: description ?? source,
);
final String source; final String source;
final WeChatScene scene; final WeChatScene scene;
final String? messageExt; final String? messageExt;
final String? messageAction; final String? messageAction;
final String? mediaTagName; final String? mediaTagName;
final String? title;
final String? description;
final String? msgSignature;
@override @override
Map<String, dynamic> get arguments => { Map<String, dynamic> get arguments => {
...@@ -65,7 +81,9 @@ class WeChatShareTextModel extends WeChatShareModel { ...@@ -65,7 +81,9 @@ class WeChatShareTextModel extends WeChatShareModel {
_mediaTagName: mediaTagName, _mediaTagName: mediaTagName,
_title: title, _title: title,
_description: description, _description: description,
_msgSignature: msgSignature _msgSignature: msgSignature,
_thumbData: thumbData,
_thumbDataHash: thumbDataHash,
}; };
} }
...@@ -73,22 +91,24 @@ class WeChatShareTextModel extends WeChatShareModel { ...@@ -73,22 +91,24 @@ class WeChatShareTextModel extends WeChatShareModel {
/// [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 extends WeChatShareModel { class WeChatShareMiniProgramModel extends WeChatShareModel {
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, super.title,
this.description, super.description,
this.withShareTicket = false, this.withShareTicket = false,
required this.thumbnail, required this.thumbnail,
this.hdImagePath, this.hdImagePath,
this.mediaTagName, this.mediaTagName,
this.messageAction, this.messageAction,
this.messageExt, this.messageExt,
this.compressThumbnail = true, this.compressThumbnail = true,
this.msgSignature}) super.msgSignature,
: assert(webPageUrl.isNotEmpty), super.thumbData,
super.thumbDataHash,
}) : assert(webPageUrl.isNotEmpty),
assert(userName.isNotEmpty), assert(userName.isNotEmpty),
assert(path.isNotEmpty); assert(path.isNotEmpty);
...@@ -97,15 +117,12 @@ class WeChatShareMiniProgramModel extends WeChatShareModel { ...@@ -97,15 +117,12 @@ class WeChatShareMiniProgramModel extends WeChatShareModel {
final String userName; final String userName;
final String path; final String path;
final WeChatImage? hdImagePath; final WeChatImage? hdImagePath;
final String? title;
final String? description;
final WeChatImage thumbnail; final WeChatImage thumbnail;
final bool withShareTicket; final bool withShareTicket;
final String? messageExt; final String? messageExt;
final String? messageAction; final String? messageAction;
final String? mediaTagName; final String? mediaTagName;
final bool compressThumbnail; final bool compressThumbnail;
final String? msgSignature;
@override @override
Map<String, dynamic> get arguments => { Map<String, dynamic> get arguments => {
...@@ -121,7 +138,9 @@ class WeChatShareMiniProgramModel extends WeChatShareModel { ...@@ -121,7 +138,9 @@ class WeChatShareMiniProgramModel extends WeChatShareModel {
_messageAction: messageAction, _messageAction: messageAction,
_mediaTagName: mediaTagName, _mediaTagName: mediaTagName,
_compressThumbnail: compressThumbnail, _compressThumbnail: compressThumbnail,
_msgSignature: msgSignature _msgSignature: msgSignature,
_thumbData: thumbData,
_thumbDataHash: thumbDataHash,
}; };
} }
...@@ -129,28 +148,28 @@ class WeChatShareMiniProgramModel extends WeChatShareModel { ...@@ -129,28 +148,28 @@ class WeChatShareMiniProgramModel extends WeChatShareModel {
/// [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 extends WeChatShareModel { class WeChatShareImageModel extends WeChatShareModel {
WeChatShareImageModel(this.source, WeChatShareImageModel(
{WeChatImage? thumbnail, this.source, {
this.title, WeChatImage? thumbnail,
this.scene = WeChatScene.session, super.title,
this.description, this.scene = WeChatScene.session,
this.mediaTagName, super.description,
this.messageAction, this.mediaTagName,
this.messageExt, this.messageAction,
this.compressThumbnail = true, this.messageExt,
this.msgSignature}) this.compressThumbnail = true,
: thumbnail = thumbnail ?? source; super.msgSignature,
super.thumbData,
super.thumbDataHash,
}) : thumbnail = thumbnail ?? source;
final WeChatImage source; final WeChatImage source;
final WeChatImage thumbnail; final WeChatImage thumbnail;
final String? title;
final WeChatScene scene; final WeChatScene scene;
final String? description;
final String? messageExt; final String? messageExt;
final String? messageAction; final String? messageAction;
final String? mediaTagName; final String? mediaTagName;
final bool compressThumbnail; final bool compressThumbnail;
final String? msgSignature;
@override @override
Map<String, dynamic> get arguments => { Map<String, dynamic> get arguments => {
...@@ -162,7 +181,9 @@ class WeChatShareImageModel extends WeChatShareModel { ...@@ -162,7 +181,9 @@ class WeChatShareImageModel extends WeChatShareModel {
_messageAction: messageAction, _messageAction: messageAction,
_mediaTagName: mediaTagName, _mediaTagName: mediaTagName,
_compressThumbnail: compressThumbnail, _compressThumbnail: compressThumbnail,
_msgSignature: msgSignature _msgSignature: msgSignature,
_thumbData: thumbData,
_thumbDataHash: thumbDataHash,
}; };
} }
...@@ -172,8 +193,8 @@ class WeChatShareMusicModel extends WeChatShareModel { ...@@ -172,8 +193,8 @@ class WeChatShareMusicModel extends WeChatShareModel {
WeChatShareMusicModel( WeChatShareMusicModel(
{this.musicUrl, {this.musicUrl,
this.musicLowBandUrl, this.musicLowBandUrl,
this.title = "", super.title = "",
this.description = "", super.description = "",
this.musicDataUrl, this.musicDataUrl,
this.musicLowBandDataUrl, this.musicLowBandDataUrl,
this.thumbnail, this.thumbnail,
...@@ -182,7 +203,9 @@ class WeChatShareMusicModel extends WeChatShareModel { ...@@ -182,7 +203,9 @@ class WeChatShareMusicModel extends WeChatShareModel {
this.messageExt, this.messageExt,
this.scene = WeChatScene.session, this.scene = WeChatScene.session,
this.compressThumbnail = true, this.compressThumbnail = true,
this.msgSignature}) super.msgSignature,
super.thumbData,
super.thumbDataHash})
: assert(musicUrl != null || musicLowBandUrl != null); : assert(musicUrl != null || musicLowBandUrl != null);
final String? musicUrl; final String? musicUrl;
...@@ -190,14 +213,11 @@ class WeChatShareMusicModel extends WeChatShareModel { ...@@ -190,14 +213,11 @@ class WeChatShareMusicModel extends WeChatShareModel {
final String? musicLowBandUrl; final String? musicLowBandUrl;
final String? musicLowBandDataUrl; final String? musicLowBandDataUrl;
final WeChatImage? thumbnail; final WeChatImage? thumbnail;
final String? title;
final String? description;
final WeChatScene scene; final WeChatScene scene;
final String? messageExt; final String? messageExt;
final String? messageAction; final String? messageAction;
final String? mediaTagName; final String? mediaTagName;
final bool compressThumbnail; final bool compressThumbnail;
final String? msgSignature;
@override @override
Map<String, dynamic> get arguments => { Map<String, dynamic> get arguments => {
...@@ -212,39 +232,40 @@ class WeChatShareMusicModel extends WeChatShareModel { ...@@ -212,39 +232,40 @@ class WeChatShareMusicModel extends WeChatShareModel {
_messageAction: messageAction, _messageAction: messageAction,
_mediaTagName: mediaTagName, _mediaTagName: mediaTagName,
_compressThumbnail: compressThumbnail, _compressThumbnail: compressThumbnail,
_msgSignature: msgSignature _msgSignature: msgSignature,
_thumbData: thumbData,
_thumbDataHash: thumbDataHash,
}; };
} }
/// 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 extends WeChatShareModel { class WeChatShareVideoModel extends WeChatShareModel {
WeChatShareVideoModel( WeChatShareVideoModel({
{this.scene = WeChatScene.session, this.scene = WeChatScene.session,
this.videoUrl, this.videoUrl,
this.videoLowBandUrl, this.videoLowBandUrl,
this.title = "", super.title = "",
this.description = "", super.description = "",
this.thumbnail, this.thumbnail,
this.mediaTagName, this.mediaTagName,
this.messageAction, this.messageAction,
this.messageExt, this.messageExt,
this.compressThumbnail = true, this.compressThumbnail = true,
this.msgSignature}) super.msgSignature,
: assert(videoUrl != null || videoLowBandUrl != null), super.thumbData,
super.thumbDataHash,
}) : assert(videoUrl != null || videoLowBandUrl != null),
assert(thumbnail != null); assert(thumbnail != null);
final String? videoUrl; final String? videoUrl;
final String? videoLowBandUrl; final String? videoLowBandUrl;
final WeChatImage? thumbnail; final WeChatImage? thumbnail;
final String? title;
final String? description;
final WeChatScene scene; final WeChatScene scene;
final String? messageExt; final String? messageExt;
final String? messageAction; final String? messageAction;
final String? mediaTagName; final String? mediaTagName;
final bool compressThumbnail; final bool compressThumbnail;
final String? msgSignature;
@override @override
Map<String, dynamic> get arguments => { Map<String, dynamic> get arguments => {
...@@ -257,7 +278,9 @@ class WeChatShareVideoModel extends WeChatShareModel { ...@@ -257,7 +278,9 @@ class WeChatShareVideoModel extends WeChatShareModel {
_messageAction: messageAction, _messageAction: messageAction,
_mediaTagName: mediaTagName, _mediaTagName: mediaTagName,
_compressThumbnail: compressThumbnail, _compressThumbnail: compressThumbnail,
_msgSignature: msgSignature _msgSignature: msgSignature,
_thumbData: thumbData,
_thumbDataHash: thumbDataHash,
}; };
} }
...@@ -266,28 +289,26 @@ class WeChatShareVideoModel extends WeChatShareModel { ...@@ -266,28 +289,26 @@ class WeChatShareVideoModel extends WeChatShareModel {
class WeChatShareWebPageModel extends WeChatShareModel { class WeChatShareWebPageModel extends WeChatShareModel {
WeChatShareWebPageModel( WeChatShareWebPageModel(
this.webPage, { this.webPage, {
this.title = "", super.title = "",
String? description, super.description,
this.thumbnail, this.thumbnail,
this.scene = WeChatScene.session, this.scene = WeChatScene.session,
this.mediaTagName, this.mediaTagName,
this.messageAction, this.messageAction,
this.messageExt, this.messageExt,
this.msgSignature,
this.compressThumbnail = true, this.compressThumbnail = true,
}) : assert(webPage.isNotEmpty), super.msgSignature,
description = description ?? webPage; super.thumbData,
super.thumbDataHash,
}) : assert(webPage.isNotEmpty);
final String webPage; final String webPage;
final WeChatImage? thumbnail; final WeChatImage? thumbnail;
final String title;
final String description;
final WeChatScene scene; final WeChatScene scene;
final String? messageExt; final String? messageExt;
final String? messageAction; final String? messageAction;
final String? mediaTagName; final String? mediaTagName;
final bool compressThumbnail; final bool compressThumbnail;
final String? msgSignature;
@override @override
Map<String, dynamic> get arguments => { Map<String, dynamic> get arguments => {
...@@ -299,7 +320,9 @@ class WeChatShareWebPageModel extends WeChatShareModel { ...@@ -299,7 +320,9 @@ class WeChatShareWebPageModel extends WeChatShareModel {
_mediaTagName: mediaTagName, _mediaTagName: mediaTagName,
_description: description, _description: description,
_compressThumbnail: compressThumbnail, _compressThumbnail: compressThumbnail,
_msgSignature: msgSignature _msgSignature: msgSignature,
_thumbData: thumbData,
_thumbDataHash: thumbDataHash,
}; };
} }
...@@ -309,27 +332,26 @@ class WeChatShareWebPageModel extends WeChatShareModel { ...@@ -309,27 +332,26 @@ class WeChatShareWebPageModel extends WeChatShareModel {
class WeChatShareFileModel extends WeChatShareModel { class WeChatShareFileModel extends WeChatShareModel {
WeChatShareFileModel( WeChatShareFileModel(
this.source, { this.source, {
this.title = "", super.title = "",
this.description = "", super.description = "",
this.thumbnail, this.thumbnail,
this.scene = WeChatScene.session, this.scene = WeChatScene.session,
this.mediaTagName, this.mediaTagName,
this.messageAction, this.messageAction,
this.messageExt, this.messageExt,
this.msgSignature,
this.compressThumbnail = true, this.compressThumbnail = true,
super.msgSignature,
super.thumbData,
super.thumbDataHash,
}); });
final WeChatFile source; final WeChatFile source;
final WeChatImage? thumbnail; final WeChatImage? thumbnail;
final String title;
final String description;
final WeChatScene scene; final WeChatScene scene;
final String? messageExt; final String? messageExt;
final String? messageAction; final String? messageAction;
final String? mediaTagName; final String? mediaTagName;
final bool compressThumbnail; final bool compressThumbnail;
final String? msgSignature;
@override @override
Map<String, dynamic> get arguments => { Map<String, dynamic> get arguments => {
...@@ -341,6 +363,8 @@ class WeChatShareFileModel extends WeChatShareModel { ...@@ -341,6 +363,8 @@ class WeChatShareFileModel extends WeChatShareModel {
_messageAction: messageAction, _messageAction: messageAction,
_mediaTagName: mediaTagName, _mediaTagName: mediaTagName,
_compressThumbnail: compressThumbnail, _compressThumbnail: compressThumbnail,
_msgSignature: msgSignature _msgSignature: msgSignature,
_thumbData: thumbData,
_thumbDataHash: thumbDataHash,
}; };
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论