mirror of
https://github.com/RxReader/wechat_kit.git
synced 2025-08-06 07:10:54 +08:00
添加小图字节数组分享
This commit is contained in:
@ -1,3 +1,8 @@
|
||||
## 0.3.0 - 2019.5.29
|
||||
|
||||
* 添加小图字节数组分享
|
||||
* 添加扫码登录demo
|
||||
|
||||
## 0.3.0 - 2019.5.24
|
||||
|
||||
* 优化
|
||||
|
@ -106,7 +106,9 @@ public class FakeWechatPlugin implements MethodCallHandler, PluginRegistry.ViewD
|
||||
private static final String ARGUMENT_KEY_TITLE = "title";
|
||||
private static final String ARGUMENT_KEY_DESCRIPTION = "description";
|
||||
private static final String ARGUMENT_KEY_THUMBDATA = "thumbData";
|
||||
private static final String ARGUMENT_KEY_IMAGEDATA = "imageData";
|
||||
private static final String ARGUMENT_KEY_IMAGEURI = "imageUri";
|
||||
private static final String ARGUMENT_KEY_EMOJIDATA = "emojiData";
|
||||
private static final String ARGUMENT_KEY_EMOJIURI = "emojiUri";
|
||||
private static final String ARGUMENT_KEY_MUSICURL = "musicUrl";
|
||||
private static final String ARGUMENT_KEY_MUSICDATAURL = "musicDataUrl";
|
||||
@ -360,14 +362,22 @@ public class FakeWechatPlugin implements MethodCallHandler, PluginRegistry.ViewD
|
||||
message.description = call.argument(ARGUMENT_KEY_DESCRIPTION);
|
||||
message.thumbData = call.argument(ARGUMENT_KEY_THUMBDATA);
|
||||
if (METHOD_SHAREIMAGE.equals(call.method)) {
|
||||
String imageUri = call.argument(ARGUMENT_KEY_IMAGEURI);
|
||||
WXImageObject object = new WXImageObject();
|
||||
object.imagePath = Uri.parse(imageUri).getPath();
|
||||
if (call.hasArgument(ARGUMENT_KEY_IMAGEDATA)) {
|
||||
object.imageData = call.argument(ARGUMENT_KEY_IMAGEDATA);
|
||||
} else if (call.hasArgument(ARGUMENT_KEY_IMAGEURI)) {
|
||||
String imageUri = call.argument(ARGUMENT_KEY_IMAGEURI);
|
||||
object.imagePath = Uri.parse(imageUri).getPath();
|
||||
}
|
||||
message.mediaObject = object;
|
||||
} else if (METHOD_SHAREEMOJI.equals(call.method)) {
|
||||
String emojiUri = call.argument(ARGUMENT_KEY_EMOJIURI);
|
||||
WXEmojiObject object = new WXEmojiObject();
|
||||
object.emojiPath = Uri.parse(emojiUri).getPath();
|
||||
if (call.hasArgument(ARGUMENT_KEY_EMOJIDATA)) {
|
||||
object.emojiData = call.argument(ARGUMENT_KEY_EMOJIDATA);
|
||||
} else if (call.hasArgument(ARGUMENT_KEY_EMOJIURI)) {
|
||||
String emojiUri = call.argument(ARGUMENT_KEY_EMOJIURI);
|
||||
object.emojiPath = Uri.parse(emojiUri).getPath();
|
||||
}
|
||||
message.mediaObject = object;
|
||||
} else if (METHOD_SHAREMUSIC.equals(call.method)) {
|
||||
WXMusicObject object = new WXMusicObject();
|
||||
|
@ -40,11 +40,13 @@
|
||||
/* Begin PBXFileReference section */
|
||||
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
|
||||
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
|
||||
198D9934A8A91FD57636EAC6 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
|
||||
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
|
||||
3B80C3931E831B6300D905FE /* App.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = App.framework; path = Flutter/App.framework; sourceTree = "<group>"; };
|
||||
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
|
||||
7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
|
||||
7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
|
||||
901CFCC7F16E2A8DD27C856A /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
|
||||
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
|
||||
9740EEBA1CF902C7004384FC /* Flutter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Flutter.framework; path = Flutter/Flutter.framework; sourceTree = "<group>"; };
|
||||
@ -55,6 +57,7 @@
|
||||
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
||||
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
A568277CF349F59A7E2F6A20 /* libPods-Runner.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Runner.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
E602A1BE61ED8C9EAA7AE6A0 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Pods/Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
@ -82,6 +85,9 @@
|
||||
62A36D57F8D30016508C60CD /* Pods */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
901CFCC7F16E2A8DD27C856A /* Pods-Runner.debug.xcconfig */,
|
||||
198D9934A8A91FD57636EAC6 /* Pods-Runner.release.xcconfig */,
|
||||
E602A1BE61ED8C9EAA7AE6A0 /* Pods-Runner.profile.xcconfig */,
|
||||
);
|
||||
name = Pods;
|
||||
sourceTree = "<group>";
|
||||
@ -254,7 +260,7 @@
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${SRCROOT}/Pods/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh",
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh",
|
||||
"${PODS_ROOT}/../.symlinks/flutter/ios/Flutter.framework",
|
||||
);
|
||||
name = "[CP] Embed Pods Frameworks";
|
||||
@ -263,7 +269,7 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
9740EEB61CF901F6004384FC /* Run Script */ = {
|
||||
|
@ -68,7 +68,9 @@ static NSString * const ARGUMENT_KEY_TEXT = @"text";
|
||||
static NSString * const ARGUMENT_KEY_TITLE = @"title";
|
||||
static NSString * const ARGUMENT_KEY_DESCRIPTION = @"description";
|
||||
static NSString * const ARGUMENT_KEY_THUMBDATA = @"thumbData";
|
||||
static NSString * const ARGUMENT_KEY_IMAGEDATA = @"imageData";
|
||||
static NSString * const ARGUMENT_KEY_IMAGEURI = @"imageUri";
|
||||
static NSString * const ARGUMENT_KEY_EMOJIDATA = @"emojiData";
|
||||
static NSString * const ARGUMENT_KEY_EMOJIURI = @"emojiUri";
|
||||
static NSString * const ARGUMENT_KEY_MUSICURL = @"musicUrl";
|
||||
static NSString * const ARGUMENT_KEY_MUSICDATAURL = @"musicDataUrl";
|
||||
@ -237,16 +239,26 @@ static NSString * const ARGUMENT_KEY_RESULT_AUTHCODE = @"authCode";
|
||||
message.thumbData = thumbData.data;
|
||||
}
|
||||
if ([METHOD_SHAREIMAGE isEqualToString:call.method]) {
|
||||
NSString * imageUri = call.arguments[ARGUMENT_KEY_IMAGEURI];
|
||||
NSURL * imageUrl = [NSURL URLWithString:imageUri];
|
||||
WXImageObject * mediaObject = [WXImageObject object];
|
||||
mediaObject.imageData = [NSData dataWithContentsOfFile:imageUrl.path];
|
||||
FlutterStandardTypedData * imageData = call.arguments[ARGUMENT_KEY_IMAGEDATA];
|
||||
if (imageData != nil) {
|
||||
mediaObject.imageData = imageData.data;
|
||||
} else {
|
||||
NSString * imageUri = call.arguments[ARGUMENT_KEY_IMAGEURI];
|
||||
NSURL * imageUrl = [NSURL URLWithString:imageUri];
|
||||
mediaObject.imageData = [NSData dataWithContentsOfFile:imageUrl.path];
|
||||
}
|
||||
message.mediaObject = mediaObject;
|
||||
} else if ([METHOD_SHAREEMOJI isEqualToString:call.method]) {
|
||||
NSString * emojiUri = call.arguments[ARGUMENT_KEY_EMOJIURI];
|
||||
NSURL * emojiUrl = [NSURL URLWithString:emojiUri];
|
||||
WXEmoticonObject * mediaObject = [WXEmoticonObject object];
|
||||
mediaObject.emoticonData = [NSData dataWithContentsOfFile:emojiUrl.path];
|
||||
FlutterStandardTypedData * emojiData = call.arguments[ARGUMENT_KEY_EMOJIDATA];
|
||||
if (emojiData != nil) {
|
||||
mediaObject.emoticonData = emojiData.data;
|
||||
} else {
|
||||
NSString * emojiUri = call.arguments[ARGUMENT_KEY_EMOJIURI];
|
||||
NSURL * emojiUrl = [NSURL URLWithString:emojiUri];
|
||||
mediaObject.emoticonData = [NSData dataWithContentsOfFile:emojiUrl.path];
|
||||
}
|
||||
message.mediaObject = mediaObject;
|
||||
} else if ([METHOD_SHAREMUSIC isEqualToString:call.method]) {
|
||||
WXMusicObject * mediaObject = [WXMusicObject object];
|
||||
|
@ -69,7 +69,9 @@ class Wechat {
|
||||
static const String _ARGUMENT_KEY_TITLE = 'title';
|
||||
static const String _ARGUMENT_KEY_DESCRIPTION = 'description';
|
||||
static const String _ARGUMENT_KEY_THUMBDATA = 'thumbData';
|
||||
static const String _ARGUMENT_KEY_IMAGEDATA = 'imageData';
|
||||
static const String _ARGUMENT_KEY_IMAGEURI = 'imageUri';
|
||||
static const String _ARGUMENT_KEY_EMOJIDATA = 'emojiData';
|
||||
static const String _ARGUMENT_KEY_EMOJIURI = 'emojiUri';
|
||||
static const String _ARGUMENT_KEY_MUSICURL = 'musicUrl';
|
||||
static const String _ARGUMENT_KEY_MUSICDATAURL = 'musicDataUrl';
|
||||
@ -491,21 +493,24 @@ class Wechat {
|
||||
String title,
|
||||
String description,
|
||||
Uint8List thumbData,
|
||||
@required Uri imageUri,
|
||||
Uint8List imageData,
|
||||
Uri imageUri,
|
||||
}) {
|
||||
assert(title == null || title.length <= 512);
|
||||
assert(description == null || description.length <= 1024);
|
||||
assert(thumbData == null || thumbData.lengthInBytes <= 32 * 1024);
|
||||
assert(imageUri != null &&
|
||||
imageUri.isScheme(_SCHEME_FILE) &&
|
||||
imageUri.toFilePath().length <= 10 * 1024 &&
|
||||
File.fromUri(imageUri).lengthSync() <= 25 * 1024 * 1024);
|
||||
assert((imageData != null && imageData.lengthInBytes <= 25 * 1024 * 1024) ||
|
||||
(imageUri != null &&
|
||||
imageUri.isScheme(_SCHEME_FILE) &&
|
||||
imageUri.toFilePath().length <= 10 * 1024 &&
|
||||
File.fromUri(imageUri).lengthSync() <= 25 * 1024 * 1024));
|
||||
Map<String, dynamic> map = <String, dynamic>{
|
||||
_ARGUMENT_KEY_SCENE: scene, // Scene
|
||||
// _ARGUMENT_KEY_TITLE: title,
|
||||
// _ARGUMENT_KEY_DESCRIPTION: description,
|
||||
// _ARGUMENT_KEY_THUMBDATA: thumbData,
|
||||
_ARGUMENT_KEY_IMAGEURI: imageUri.toString(),
|
||||
// _ARGUMENT_KEY_IMAGEDATA: imageData
|
||||
// _ARGUMENT_KEY_IMAGEURI: imageUri.toString(),
|
||||
};
|
||||
|
||||
/// 兼容 iOS 空安全 -> NSNull
|
||||
@ -518,6 +523,12 @@ class Wechat {
|
||||
if (thumbData != null) {
|
||||
map.putIfAbsent(_ARGUMENT_KEY_THUMBDATA, () => thumbData);
|
||||
}
|
||||
if (imageData != null) {
|
||||
map.putIfAbsent(_ARGUMENT_KEY_IMAGEDATA, () => imageData);
|
||||
}
|
||||
if (imageUri != null) {
|
||||
map.putIfAbsent(_ARGUMENT_KEY_IMAGEURI, () => imageUri.toString());
|
||||
}
|
||||
return _channel.invokeMethod(_METHOD_SHAREIMAGE, map);
|
||||
}
|
||||
|
||||
@ -527,21 +538,23 @@ class Wechat {
|
||||
String title,
|
||||
String description,
|
||||
@required Uint8List thumbData,
|
||||
@required Uri emojiUri,
|
||||
Uint8List emojiData,
|
||||
Uri emojiUri,
|
||||
}) {
|
||||
assert(title == null || title.length <= 512);
|
||||
assert(description == null || description.length <= 1024);
|
||||
assert(thumbData != null && thumbData.lengthInBytes <= 32 * 1024);
|
||||
assert(emojiUri != null &&
|
||||
assert((emojiData != null && emojiData.lengthInBytes <= 10 * 1024 * 1024) || (emojiUri != null &&
|
||||
emojiUri.isScheme(_SCHEME_FILE) &&
|
||||
emojiUri.toFilePath().length <= 10 * 1024 &&
|
||||
File.fromUri(emojiUri).lengthSync() <= 10 * 1024 * 1024);
|
||||
File.fromUri(emojiUri).lengthSync() <= 10 * 1024 * 1024));
|
||||
Map<String, dynamic> map = <String, dynamic>{
|
||||
_ARGUMENT_KEY_SCENE: scene, // Scene
|
||||
// _ARGUMENT_KEY_TITLE: title,
|
||||
// _ARGUMENT_KEY_DESCRIPTION: description,
|
||||
_ARGUMENT_KEY_THUMBDATA: thumbData,
|
||||
_ARGUMENT_KEY_EMOJIURI: emojiUri.toString(),
|
||||
// _ARGUMENT_KEY_EMOJIDATA: emojiData,
|
||||
// _ARGUMENT_KEY_EMOJIURI: emojiUri.toString(),
|
||||
};
|
||||
|
||||
/// 兼容 iOS 空安全 -> NSNull
|
||||
@ -551,6 +564,12 @@ class Wechat {
|
||||
if (description != null) {
|
||||
map.putIfAbsent(_ARGUMENT_KEY_DESCRIPTION, () => description);
|
||||
}
|
||||
if (emojiData != null) {
|
||||
map.putIfAbsent(_ARGUMENT_KEY_EMOJIDATA, () => emojiData);
|
||||
}
|
||||
if (emojiUri != null) {
|
||||
map.putIfAbsent(_ARGUMENT_KEY_EMOJIURI, () => emojiUri.toString());
|
||||
}
|
||||
return _channel.invokeMethod(_METHOD_SHAREEMOJI, map);
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
name: fake_wechat
|
||||
description: A powerful wechat plugin for Flutter.
|
||||
version: 0.3.0
|
||||
version: 0.3.1
|
||||
author: v7lin <v7lin@qq.com>
|
||||
homepage: https://github.com/v7lin/fake_wechat
|
||||
|
||||
|
Reference in New Issue
Block a user