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

send log to flutter

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