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