提交 05645d38 authored 作者: JarvanMo's avatar JarvanMo

send log to flutter

上级 e65d3bbe
...@@ -22,6 +22,7 @@ import android.content.Context ...@@ -22,6 +22,7 @@ import android.content.Context
import android.content.pm.PackageManager import android.content.pm.PackageManager
import android.util.Log import android.util.Log
import com.jarvan.fluwx.BuildConfig import com.jarvan.fluwx.BuildConfig
import com.jarvan.fluwx.FluwxPlugin
import com.tencent.mm.opensdk.constants.Build import com.tencent.mm.opensdk.constants.Build
import com.tencent.mm.opensdk.openapi.IWXAPI import com.tencent.mm.opensdk.openapi.IWXAPI
import com.tencent.mm.opensdk.openapi.WXAPIFactory import com.tencent.mm.opensdk.openapi.WXAPIFactory
...@@ -135,48 +136,30 @@ object WXAPiHandler : ILog { ...@@ -135,48 +136,30 @@ object WXAPiHandler : ILog {
wxApi?.setLogImpl(this) wxApi?.setLogImpl(this)
} }
fun stopLog() {
wxApi?.setLogImpl(null)
}
override fun d(p0: String?, p1: String?) { override fun d(p0: String?, p1: String?) {
when { logToFlutter(p0,p1)
p1 != null -> {
Log.d(p0, p1)
}
}
} }
override fun i(p0: String?, p1: String?) { override fun i(p0: String?, p1: String?) {
when { logToFlutter(p0,p1)
p1 != null -> {
Log.d(p0, p1);
}
}
} }
override fun e(p0: String?, p1: String?) { override fun e(p0: String?, p1: String?) {
when { logToFlutter(p0,p1)
p1 != null -> {
Log.d(p0, p1);
}
}
} }
override fun v(p0: String?, p1: String?) { override fun v(p0: String?, p1: String?) {
when { logToFlutter(p0,p1)
p1 != null -> {
Log.d(p0, p1);
}
}
} }
override fun w(p0: String?, p1: String?) { override fun w(p0: String?, p1: String?) {
when { logToFlutter(p0,p1)
p1 != null -> {
Log.d(p0, p1);
}
} }
private fun logToFlutter(tag:String?,message:String?){
FluwxPlugin.callingChannel?.invokeMethod("wechatLog", mapOf(
"detail" to "$tag : $message"
))
} }
} }
......
...@@ -52,7 +52,7 @@ FlutterMethodChannel *channel = nil; ...@@ -52,7 +52,7 @@ FlutterMethodChannel *channel = nil;
#ifdef WECHAT_LOGGING #ifdef WECHAT_LOGGING
[WXApi startLogByLevel:WXLogLevelDetail logBlock:^(NSString *log) { [WXApi startLogByLevel:WXLogLevelDetail logBlock:^(NSString *log) {
NSLog(@"Fluwx log: %@", log); [self logToFlutterWithDetail:log];
}]; }];
#endif #endif
} }
...@@ -161,7 +161,8 @@ FlutterMethodChannel *channel = nil; ...@@ -161,7 +161,8 @@ FlutterMethodChannel *channel = nil;
#ifdef WECHAT_LOGGING #ifdef WECHAT_LOGGING
if(isWeChatRegistered) { if(isWeChatRegistered) {
[WXApi checkUniversalLinkReady:^(WXULCheckStep step, WXCheckULStepResult* result) { [WXApi checkUniversalLinkReady:^(WXULCheckStep step, WXCheckULStepResult* result) {
NSLog(@"Fluwx Log:%@, %u, %@, %@", @(step), result.success, result.errorInfo, result.suggestion); NSString *log = [NSString stringWithFormat:@"%@, %u, %@, %@", @(step), result.success, result.errorInfo, result.suggestion];
[self logToFlutterWithDetail:log];
}]; }];
} }
...@@ -359,6 +360,14 @@ FlutterMethodChannel *channel = nil; ...@@ -359,6 +360,14 @@ FlutterMethodChannel *channel = nil;
} }
} }
- (void)logToFlutterWithDetail:(NSString *) detail {
if(channel != nil){
NSDictionary *result = @{
@"detail":detail
};
[channel invokeMethod:@"wechatLog" arguments:result];
}
}
- (void)managerDidRecvLaunchFromWXReq:(LaunchFromWXReq *)request { - (void)managerDidRecvLaunchFromWXReq:(LaunchFromWXReq *)request {
[FluwxDelegate defaultManager].extMsg = request.message.messageExt; [FluwxDelegate defaultManager].extMsg = request.message.messageExt;
......
...@@ -58,16 +58,23 @@ class MethodChannelFluwx extends FluwxPlatform { ...@@ -58,16 +58,23 @@ class MethodChannelFluwx extends FluwxPlatform {
_responseEventHandler.stream; _responseEventHandler.stream;
Future _methodHandler(MethodCall methodCall) { Future _methodHandler(MethodCall methodCall) {
if (methodCall.method == "wechatLog") {
_printLog(methodCall.arguments);
} else {
final response = WeChatResponse.create( final response = WeChatResponse.create(
methodCall.method, methodCall.method,
methodCall.arguments, methodCall.arguments,
); );
_responseEventHandler.add(response); _responseEventHandler.add(response);
}
return Future.value(); return Future.value();
} }
_printLog(Map data){
debugPrint("FluwxLog: ${data["detail"]}");
}
/// [true] if WeChat installed, otherwise [false]. /// [true] if WeChat installed, otherwise [false].
/// Please add WeChat to the white list in order use this method on IOS. /// Please add WeChat to the white list in order use this method on IOS.
@override @override
...@@ -77,7 +84,7 @@ class MethodChannelFluwx extends FluwxPlatform { ...@@ -77,7 +84,7 @@ class MethodChannelFluwx extends FluwxPlatform {
@override @override
Future<bool> open(OpenCommand what) async { Future<bool> open(OpenCommand what) async {
switch(what){ switch (what) {
case OpenWeChat(): case OpenWeChat():
return await methodChannel.invokeMethod('openWXApp'); return await methodChannel.invokeMethod('openWXApp');
case OpenUrl(): case OpenUrl():
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论