format
This commit is contained in:
parent
db4c1712c2
commit
6a7dce2903
@ -223,7 +223,7 @@ public class WeiboKitPlugin implements FlutterPlugin, ActivityAware, PluginRegis
|
|||||||
Map<String, Object> map = new HashMap<>();
|
Map<String, Object> map = new HashMap<>();
|
||||||
map.put(ARGUMENT_KEY_RESULT_ERRORCODE, WeiboErrorCode.UNKNOWN);
|
map.put(ARGUMENT_KEY_RESULT_ERRORCODE, WeiboErrorCode.UNKNOWN);
|
||||||
if (channel != null) {
|
if (channel != null) {
|
||||||
channel.invokeMethod(METHOD_ONAUTHRESP, map);
|
channel.invokeMethod(METHOD_ONAUTHRESP, map);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,47 +6,47 @@
|
|||||||
@end
|
@end
|
||||||
|
|
||||||
@implementation WeiboKitPlugin {
|
@implementation WeiboKitPlugin {
|
||||||
FlutterMethodChannel * _channel;
|
FlutterMethodChannel *_channel;
|
||||||
}
|
}
|
||||||
|
|
||||||
+ (void)registerWithRegistrar:(NSObject<FlutterPluginRegistrar> *)registrar {
|
+ (void)registerWithRegistrar:(NSObject<FlutterPluginRegistrar> *)registrar {
|
||||||
FlutterMethodChannel *channel =
|
FlutterMethodChannel *channel =
|
||||||
[FlutterMethodChannel methodChannelWithName:@"v7lin.github.io/weibo_kit"
|
[FlutterMethodChannel methodChannelWithName:@"v7lin.github.io/weibo_kit"
|
||||||
binaryMessenger:[registrar messenger]];
|
binaryMessenger:[registrar messenger]];
|
||||||
WeiboKitPlugin *instance = [[WeiboKitPlugin alloc] initWithChannel:channel];
|
WeiboKitPlugin *instance = [[WeiboKitPlugin alloc] initWithChannel:channel];
|
||||||
[registrar addApplicationDelegate:instance];
|
[registrar addApplicationDelegate:instance];
|
||||||
[registrar addMethodCallDelegate:instance channel:channel];
|
[registrar addMethodCallDelegate:instance channel:channel];
|
||||||
}
|
}
|
||||||
|
|
||||||
static NSString * const METHOD_REGISTERAPP = @"registerApp";
|
static NSString *const METHOD_REGISTERAPP = @"registerApp";
|
||||||
static NSString * const METHOD_ISINSTALLED = @"isInstalled";
|
static NSString *const METHOD_ISINSTALLED = @"isInstalled";
|
||||||
static NSString * const METHOD_AUTH = @"auth";
|
static NSString *const METHOD_AUTH = @"auth";
|
||||||
static NSString * const METHOD_SHARETEXT = @"shareText";
|
static NSString *const METHOD_SHARETEXT = @"shareText";
|
||||||
static NSString * const METHOD_SHAREIMAGE = @"shareImage";
|
static NSString *const METHOD_SHAREIMAGE = @"shareImage";
|
||||||
static NSString * const METHOD_SHAREWEBPAGE = @"shareWebpage";
|
static NSString *const METHOD_SHAREWEBPAGE = @"shareWebpage";
|
||||||
|
|
||||||
static NSString * const METHOD_ONAUTHRESP = @"onAuthResp";
|
static NSString *const METHOD_ONAUTHRESP = @"onAuthResp";
|
||||||
static NSString * const METHOD_ONSHAREMSGRESP = @"onShareMsgResp";
|
static NSString *const METHOD_ONSHAREMSGRESP = @"onShareMsgResp";
|
||||||
|
|
||||||
static NSString * const ARGUMENT_KEY_APPKEY = @"appKey";
|
static NSString *const ARGUMENT_KEY_APPKEY = @"appKey";
|
||||||
static NSString * const ARGUMENT_KEY_SCOPE = @"scope";
|
static NSString *const ARGUMENT_KEY_SCOPE = @"scope";
|
||||||
static NSString * const ARGUMENT_KEY_REDIRECTURL = @"redirectUrl";
|
static NSString *const ARGUMENT_KEY_REDIRECTURL = @"redirectUrl";
|
||||||
static NSString * const ARGUMENT_KEY_TEXT = @"text";
|
static NSString *const ARGUMENT_KEY_TEXT = @"text";
|
||||||
static NSString * const ARGUMENT_KEY_TITLE = @"title";
|
static NSString *const ARGUMENT_KEY_TITLE = @"title";
|
||||||
static NSString * const ARGUMENT_KEY_DESCRIPTION = @"description";
|
static NSString *const ARGUMENT_KEY_DESCRIPTION = @"description";
|
||||||
static NSString * const ARGUMENT_KEY_THUMBDATA = @"thumbData";
|
static NSString *const ARGUMENT_KEY_THUMBDATA = @"thumbData";
|
||||||
static NSString * const ARGUMENT_KEY_IMAGEDATA = @"imageData";
|
static NSString *const ARGUMENT_KEY_IMAGEDATA = @"imageData";
|
||||||
static NSString * const ARGUMENT_KEY_IMAGEURI = @"imageUri";
|
static NSString *const ARGUMENT_KEY_IMAGEURI = @"imageUri";
|
||||||
static NSString * const ARGUMENT_KEY_WEBPAGEURL = @"webpageUrl";
|
static NSString *const ARGUMENT_KEY_WEBPAGEURL = @"webpageUrl";
|
||||||
|
|
||||||
static NSString * const ARGUMENT_KEY_RESULT_ERRORCODE = @"errorCode";
|
static NSString *const ARGUMENT_KEY_RESULT_ERRORCODE = @"errorCode";
|
||||||
static NSString * const ARGUMENT_KEY_RESULT_ERRORMESSAGE = @"errorMessage";
|
static NSString *const ARGUMENT_KEY_RESULT_ERRORMESSAGE = @"errorMessage";
|
||||||
static NSString * const ARGUMENT_KEY_RESULT_USERID = @"userId";
|
static NSString *const ARGUMENT_KEY_RESULT_USERID = @"userId";
|
||||||
static NSString * const ARGUMENT_KEY_RESULT_ACCESSTOKEN = @"accessToken";
|
static NSString *const ARGUMENT_KEY_RESULT_ACCESSTOKEN = @"accessToken";
|
||||||
static NSString * const ARGUMENT_KEY_RESULT_REFRESHTOKEN = @"refreshToken";
|
static NSString *const ARGUMENT_KEY_RESULT_REFRESHTOKEN = @"refreshToken";
|
||||||
static NSString * const ARGUMENT_KEY_RESULT_EXPIRESIN = @"expiresIn";
|
static NSString *const ARGUMENT_KEY_RESULT_EXPIRESIN = @"expiresIn";
|
||||||
|
|
||||||
-(instancetype)initWithChannel:(FlutterMethodChannel *)channel {
|
- (instancetype)initWithChannel:(FlutterMethodChannel *)channel {
|
||||||
self = [super init];
|
self = [super init];
|
||||||
if (self) {
|
if (self) {
|
||||||
_channel = channel;
|
_channel = channel;
|
||||||
@ -56,26 +56,26 @@ static NSString * const ARGUMENT_KEY_RESULT_EXPIRESIN = @"expiresIn";
|
|||||||
|
|
||||||
- (void)handleMethodCall:(FlutterMethodCall *)call
|
- (void)handleMethodCall:(FlutterMethodCall *)call
|
||||||
result:(FlutterResult)result {
|
result:(FlutterResult)result {
|
||||||
if ([METHOD_REGISTERAPP isEqualToString:call.method]) {
|
if ([METHOD_REGISTERAPP isEqualToString:call.method]) {
|
||||||
NSString * appKey = call.arguments[ARGUMENT_KEY_APPKEY];
|
NSString *appKey = call.arguments[ARGUMENT_KEY_APPKEY];
|
||||||
[WeiboSDK registerApp:appKey];
|
[WeiboSDK registerApp:appKey];
|
||||||
result(nil);
|
result(nil);
|
||||||
} else if ([METHOD_ISINSTALLED isEqualToString:call.method]) {
|
} else if ([METHOD_ISINSTALLED isEqualToString:call.method]) {
|
||||||
result([NSNumber numberWithBool:[WeiboSDK isWeiboAppInstalled]]);
|
result([NSNumber numberWithBool:[WeiboSDK isWeiboAppInstalled]]);
|
||||||
} else if ([METHOD_AUTH isEqualToString:call.method]) {
|
} else if ([METHOD_AUTH isEqualToString:call.method]) {
|
||||||
[self handleAuthCall:call result:result];
|
[self handleAuthCall:call result:result];
|
||||||
} else if ([METHOD_SHARETEXT isEqualToString:call.method]) {
|
} else if ([METHOD_SHARETEXT isEqualToString:call.method]) {
|
||||||
[self handleShareTextCall:call result:result];
|
[self handleShareTextCall:call result:result];
|
||||||
} else if ([METHOD_SHAREIMAGE isEqualToString:call.method] ||
|
} else if ([METHOD_SHAREIMAGE isEqualToString:call.method] ||
|
||||||
[METHOD_SHAREWEBPAGE isEqualToString:call.method]) {
|
[METHOD_SHAREWEBPAGE isEqualToString:call.method]) {
|
||||||
[self handleShareMediaCall:call result:result];
|
[self handleShareMediaCall:call result:result];
|
||||||
} else {
|
} else {
|
||||||
result(FlutterMethodNotImplemented);
|
result(FlutterMethodNotImplemented);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
-(void)handleAuthCall:(FlutterMethodCall*)call result:(FlutterResult)result {
|
- (void)handleAuthCall:(FlutterMethodCall *)call result:(FlutterResult)result {
|
||||||
WBAuthorizeRequest * request = [WBAuthorizeRequest request];
|
WBAuthorizeRequest *request = [WBAuthorizeRequest request];
|
||||||
request.scope = call.arguments[ARGUMENT_KEY_SCOPE];
|
request.scope = call.arguments[ARGUMENT_KEY_SCOPE];
|
||||||
request.redirectURI = call.arguments[ARGUMENT_KEY_REDIRECTURL];
|
request.redirectURI = call.arguments[ARGUMENT_KEY_REDIRECTURL];
|
||||||
request.shouldShowWebViewForAuthIfCannotSSO = YES;
|
request.shouldShowWebViewForAuthIfCannotSSO = YES;
|
||||||
@ -84,36 +84,36 @@ static NSString * const ARGUMENT_KEY_RESULT_EXPIRESIN = @"expiresIn";
|
|||||||
result(nil);
|
result(nil);
|
||||||
}
|
}
|
||||||
|
|
||||||
-(void)handleShareTextCall:(FlutterMethodCall*)call result:(FlutterResult)result {
|
- (void)handleShareTextCall:(FlutterMethodCall *)call result:(FlutterResult)result {
|
||||||
WBSendMessageToWeiboRequest * request = [WBSendMessageToWeiboRequest request];
|
WBSendMessageToWeiboRequest *request = [WBSendMessageToWeiboRequest request];
|
||||||
WBMessageObject * message = [WBMessageObject message];
|
WBMessageObject *message = [WBMessageObject message];
|
||||||
message.text = call.arguments[ARGUMENT_KEY_TEXT];
|
message.text = call.arguments[ARGUMENT_KEY_TEXT];
|
||||||
request.message = message;
|
request.message = message;
|
||||||
[WeiboSDK sendRequest:request];
|
[WeiboSDK sendRequest:request];
|
||||||
result(nil);
|
result(nil);
|
||||||
}
|
}
|
||||||
|
|
||||||
-(void)handleShareMediaCall:(FlutterMethodCall*)call result:(FlutterResult)result {
|
- (void)handleShareMediaCall:(FlutterMethodCall *)call result:(FlutterResult)result {
|
||||||
WBSendMessageToWeiboRequest * request = [WBSendMessageToWeiboRequest request];
|
WBSendMessageToWeiboRequest *request = [WBSendMessageToWeiboRequest request];
|
||||||
WBMessageObject * message = [WBMessageObject message];
|
WBMessageObject *message = [WBMessageObject message];
|
||||||
if ([METHOD_SHAREIMAGE isEqualToString:call.method]) {
|
if ([METHOD_SHAREIMAGE isEqualToString:call.method]) {
|
||||||
message.text = call.arguments[ARGUMENT_KEY_TEXT];
|
message.text = call.arguments[ARGUMENT_KEY_TEXT];
|
||||||
WBImageObject * object = [WBImageObject object];
|
WBImageObject *object = [WBImageObject object];
|
||||||
FlutterStandardTypedData * imageData = call.arguments[ARGUMENT_KEY_IMAGEDATA];
|
FlutterStandardTypedData *imageData = call.arguments[ARGUMENT_KEY_IMAGEDATA];
|
||||||
if (imageData != nil) {
|
if (imageData != nil) {
|
||||||
object.imageData = imageData.data;
|
object.imageData = imageData.data;
|
||||||
} else {
|
} else {
|
||||||
NSString * imageUri = call.arguments[ARGUMENT_KEY_IMAGEURI];
|
NSString *imageUri = call.arguments[ARGUMENT_KEY_IMAGEURI];
|
||||||
NSURL * imageUrl = [NSURL URLWithString:imageUri];
|
NSURL *imageUrl = [NSURL URLWithString:imageUri];
|
||||||
object.imageData = [NSData dataWithContentsOfFile:imageUrl.path];
|
object.imageData = [NSData dataWithContentsOfFile:imageUrl.path];
|
||||||
}
|
}
|
||||||
message.imageObject = object;
|
message.imageObject = object;
|
||||||
} else if ([METHOD_SHAREWEBPAGE isEqualToString:call.method]) {
|
} else if ([METHOD_SHAREWEBPAGE isEqualToString:call.method]) {
|
||||||
WBWebpageObject * object = [WBWebpageObject object];
|
WBWebpageObject *object = [WBWebpageObject object];
|
||||||
object.objectID = [[NSUUID UUID].UUIDString stringByReplacingOccurrencesOfString:@"-" withString:@""];
|
object.objectID = [[NSUUID UUID].UUIDString stringByReplacingOccurrencesOfString:@"-" withString:@""];
|
||||||
object.title = call.arguments[ARGUMENT_KEY_TITLE];
|
object.title = call.arguments[ARGUMENT_KEY_TITLE];
|
||||||
object.description = call.arguments[ARGUMENT_KEY_DESCRIPTION];
|
object.description = call.arguments[ARGUMENT_KEY_DESCRIPTION];
|
||||||
FlutterStandardTypedData * thumbData = call.arguments[ARGUMENT_KEY_THUMBDATA];
|
FlutterStandardTypedData *thumbData = call.arguments[ARGUMENT_KEY_THUMBDATA];
|
||||||
if (thumbData != nil) {
|
if (thumbData != nil) {
|
||||||
object.thumbnailData = thumbData.data;
|
object.thumbnailData = thumbData.data;
|
||||||
}
|
}
|
||||||
@ -125,36 +125,35 @@ static NSString * const ARGUMENT_KEY_RESULT_EXPIRESIN = @"expiresIn";
|
|||||||
result(nil);
|
result(nil);
|
||||||
}
|
}
|
||||||
|
|
||||||
# pragma mark - AppDelegate
|
#pragma mark - AppDelegate
|
||||||
|
|
||||||
-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
|
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
|
||||||
return [WeiboSDK handleOpenURL:url delegate:self];
|
return [WeiboSDK handleOpenURL:url delegate:self];
|
||||||
}
|
}
|
||||||
|
|
||||||
-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
|
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
|
||||||
return [WeiboSDK handleOpenURL:url delegate:self];
|
return [WeiboSDK handleOpenURL:url delegate:self];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
|
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options {
|
||||||
return [WeiboSDK handleOpenURL:url delegate:self];
|
return [WeiboSDK handleOpenURL:url delegate:self];
|
||||||
}
|
}
|
||||||
|
|
||||||
# pragma mark - WeiboSDKDelegate
|
#pragma mark - WeiboSDKDelegate
|
||||||
|
|
||||||
-(void)didReceiveWeiboRequest:(WBBaseRequest *)request {
|
|
||||||
|
|
||||||
|
- (void)didReceiveWeiboRequest:(WBBaseRequest *)request {
|
||||||
}
|
}
|
||||||
|
|
||||||
-(void)didReceiveWeiboResponse:(WBBaseResponse *)response {
|
- (void)didReceiveWeiboResponse:(WBBaseResponse *)response {
|
||||||
NSMutableDictionary * dictionary = [NSMutableDictionary dictionary];
|
NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];
|
||||||
[dictionary setValue:[NSNumber numberWithInteger:response.statusCode] forKey:ARGUMENT_KEY_RESULT_ERRORCODE];
|
[dictionary setValue:[NSNumber numberWithInteger:response.statusCode] forKey:ARGUMENT_KEY_RESULT_ERRORCODE];
|
||||||
if ([response isKindOfClass:[WBAuthorizeResponse class]]) {
|
if ([response isKindOfClass:[WBAuthorizeResponse class]]) {
|
||||||
if (response.statusCode == WeiboSDKResponseStatusCodeSuccess) {
|
if (response.statusCode == WeiboSDKResponseStatusCodeSuccess) {
|
||||||
WBAuthorizeResponse * authorizeResponse = (WBAuthorizeResponse *) response;
|
WBAuthorizeResponse *authorizeResponse = (WBAuthorizeResponse *)response;
|
||||||
NSString * userId = authorizeResponse.userID;
|
NSString *userId = authorizeResponse.userID;
|
||||||
NSString * accessToken = authorizeResponse.accessToken;
|
NSString *accessToken = authorizeResponse.accessToken;
|
||||||
NSString * refreshToken = authorizeResponse.refreshToken;
|
NSString *refreshToken = authorizeResponse.refreshToken;
|
||||||
long long expiresIn = ceil(authorizeResponse.expirationDate.timeIntervalSinceNow);// 向上取整
|
long long expiresIn = ceil(authorizeResponse.expirationDate.timeIntervalSinceNow); // 向上取整
|
||||||
[dictionary setValue:userId forKey:ARGUMENT_KEY_RESULT_USERID];
|
[dictionary setValue:userId forKey:ARGUMENT_KEY_RESULT_USERID];
|
||||||
[dictionary setValue:accessToken forKey:ARGUMENT_KEY_RESULT_ACCESSTOKEN];
|
[dictionary setValue:accessToken forKey:ARGUMENT_KEY_RESULT_ACCESSTOKEN];
|
||||||
[dictionary setValue:refreshToken forKey:ARGUMENT_KEY_RESULT_REFRESHTOKEN];
|
[dictionary setValue:refreshToken forKey:ARGUMENT_KEY_RESULT_REFRESHTOKEN];
|
||||||
@ -163,7 +162,7 @@ static NSString * const ARGUMENT_KEY_RESULT_EXPIRESIN = @"expiresIn";
|
|||||||
[_channel invokeMethod:METHOD_ONAUTHRESP arguments:dictionary];
|
[_channel invokeMethod:METHOD_ONAUTHRESP arguments:dictionary];
|
||||||
} else if ([response isKindOfClass:[WBSendMessageToWeiboResponse class]]) {
|
} else if ([response isKindOfClass:[WBSendMessageToWeiboResponse class]]) {
|
||||||
if (response.statusCode == WeiboSDKResponseStatusCodeSuccess) {
|
if (response.statusCode == WeiboSDKResponseStatusCodeSuccess) {
|
||||||
WBSendMessageToWeiboResponse * sendMessageToWeiboResponse = (WBSendMessageToWeiboResponse *) response;
|
WBSendMessageToWeiboResponse *sendMessageToWeiboResponse = (WBSendMessageToWeiboResponse *)response;
|
||||||
}
|
}
|
||||||
[_channel invokeMethod:METHOD_ONSHAREMSGRESP arguments:dictionary];
|
[_channel invokeMethod:METHOD_ONSHAREMSGRESP arguments:dictionary];
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user