Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-fluwx
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
openSourceLibrary
clx-fluwx
Commits
2155f733
Unverified
提交
2155f733
authored
4月 14, 2022
作者:
JarvanMo
提交者:
GitHub
4月 14, 2022
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #476 from 9527001/feat-log
feat: 增加微信的日志开关
上级
f04cc263
4e50132a
显示空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
132 行增加
和
2 行删除
+132
-2
FluwxPlugin.kt
android/src/main/kotlin/com/jarvan/fluwx/FluwxPlugin.kt
+2
-0
WXAPiHandler.kt
...src/main/kotlin/com/jarvan/fluwx/handlers/WXAPiHandler.kt
+57
-2
main.dart
example/lib/main.dart
+20
-0
FluwxPlugin.m
ios/Classes/FluwxPlugin.m
+25
-0
fluwx_iml.dart
lib/src/fluwx_iml.dart
+11
-0
wechat_enums.dart
lib/src/wechat_enums.dart
+17
-0
没有找到文件。
android/src/main/kotlin/com/jarvan/fluwx/FluwxPlugin.kt
浏览文件 @
2155f733
...
...
@@ -57,6 +57,8 @@ class FluwxPlugin : FlutterPlugin, MethodCallHandler, ActivityAware,
callingChannel
=
fluwxChannel
when
{
call
.
method
==
"registerApp"
->
WXAPiHandler
.
registerApp
(
call
,
result
,
context
)
call
.
method
==
"startLog"
->
WXAPiHandler
.
startLog
(
call
,
result
)
call
.
method
==
"stopLog"
->
WXAPiHandler
.
stopLog
(
call
,
result
)
call
.
method
==
"sendAuth"
->
authHandler
?.
sendAuth
(
call
,
result
)
call
.
method
==
"authByQRCode"
->
authHandler
?.
authByQRCode
(
call
,
result
)
call
.
method
==
"stopAuthByQRCode"
->
authHandler
?.
stopAuthByQRCode
(
result
)
...
...
android/src/main/kotlin/com/jarvan/fluwx/handlers/WXAPiHandler.kt
浏览文件 @
2155f733
...
...
@@ -19,13 +19,15 @@
package
com.jarvan.fluwx.handlers
import
android.content.Context
import
android.util.Log
import
com.tencent.mm.opensdk.constants.Build
import
com.tencent.mm.opensdk.openapi.IWXAPI
import
com.tencent.mm.opensdk.openapi.WXAPIFactory
import
com.tencent.mm.opensdk.utils.ILog
import
io.flutter.plugin.common.MethodCall
import
io.flutter.plugin.common.MethodChannel
import
com.tencent.mm.opensdk.constants.Build
object
WXAPiHandler
{
object
WXAPiHandler
:
ILog
{
var
wxApi
:
IWXAPI
?
=
null
...
...
@@ -104,4 +106,57 @@ object WXAPiHandler {
registered
=
api
.
registerApp
(
appId
)
wxApi
=
api
}
fun
startLog
(
call
:
MethodCall
,
result
:
MethodChannel
.
Result
)
{
wxApi
?.
setLogImpl
(
this
);
result
.
success
(
true
);
}
fun
stopLog
(
call
:
MethodCall
,
result
:
MethodChannel
.
Result
)
{
wxApi
?.
setLogImpl
(
null
);
result
.
success
(
true
);
}
override
fun
d
(
p0
:
String
?,
p1
:
String
?)
{
when
{
p1
!=
null
->
{
Log
.
d
(
p0
,
p1
);
}
}
}
override
fun
i
(
p0
:
String
?,
p1
:
String
?)
{
when
{
p1
!=
null
->
{
Log
.
d
(
p0
,
p1
);
}
}
}
override
fun
e
(
p0
:
String
?,
p1
:
String
?)
{
when
{
p1
!=
null
->
{
Log
.
d
(
p0
,
p1
);
}
}
}
override
fun
v
(
p0
:
String
?,
p1
:
String
?)
{
when
{
p1
!=
null
->
{
Log
.
d
(
p0
,
p1
);
}
}
}
override
fun
w
(
p0
:
String
?,
p1
:
String
?)
{
when
{
p1
!=
null
->
{
Log
.
d
(
p0
,
p1
);
}
}
}
}
example/lib/main.dart
浏览文件 @
2155f733
...
...
@@ -87,6 +87,26 @@ class ShareSelectorPage extends StatelessWidget {
child:
const
Text
(
'Get ExtMessage'
),
),
),
Padding
(
padding:
const
EdgeInsets
.
all
(
8.0
),
child:
OutlinedButton
(
onPressed:
()
async
{
bool
?
success
=
await
startLog
(
logLevel:
WXLogLevel
.
NORMAL
);
print
(
'startLog:
$success
\n
'
);
},
child:
const
Text
(
'start log'
),
),
),
Padding
(
padding:
const
EdgeInsets
.
all
(
8.0
),
child:
OutlinedButton
(
onPressed:
()
async
{
dynamic
success
=
await
stopLog
();
print
(
'stopLog:
$success
\n
'
);
},
child:
const
Text
(
'stop log'
),
),
),
Padding
(
padding:
const
EdgeInsets
.
all
(
8.0
),
child:
OutlinedButton
(
...
...
ios/Classes/FluwxPlugin.m
浏览文件 @
2155f733
...
...
@@ -59,6 +59,10 @@ FlutterMethodChannel *channel = nil;
if
([
@"registerApp"
isEqualToString
:
call
.
method
])
{
[
self
registerApp
:
call
result
:
result
];
}
else
if
([
@"startLog"
isEqualToString
:
call
.
method
])
{
[
self
startLog
:
call
result
:
result
];
}
else
if
([
@"stopLog"
isEqualToString
:
call
.
method
])
{
[
self
stopLog
:
call
result
:
result
];
}
else
if
([
@"isWeChatInstalled"
isEqualToString
:
call
.
method
])
{
[
self
checkWeChatInstallation
:
call
result
:
result
];
}
else
if
([
@"sendAuth"
isEqualToString
:
call
.
method
])
{
...
...
@@ -124,6 +128,27 @@ FlutterMethodChannel *channel = nil;
result
(
@
(
isWeChatRegistered
));
}
-
(
void
)
startLog
:(
FlutterMethodCall
*
)
call
result
:(
FlutterResult
)
result
{
NSNumber
*
typeInt
=
call
.
arguments
[
@"logLevel"
];
WXLogLevel
logLevel
=
WXLogLevelDetail
;
if
([
typeInt
isEqualToNumber
:
@1
])
{
logLevel
=
WXLogLevelDetail
;
}
else
if
([
typeInt
isEqualToNumber
:
@0
])
{
logLevel
=
WXLogLevelNormal
;
}
NSLog
(
@"%@"
,
call
.
arguments
);
[
WXApi
startLogByLevel
:
logLevel
logBlock
:
^
(
NSString
*
_Nonnull
log
)
{
NSLog
(
@"%@"
,
log
);
}];
result
([
NSNumber
numberWithBool
:
true
]);
}
-
(
void
)
stopLog
:(
FlutterMethodCall
*
)
call
result
:(
FlutterResult
)
result
{
[
WXApi
stopLog
];
result
([
NSNumber
numberWithBool
:
true
]);
}
-
(
void
)
checkWeChatInstallation
:(
FlutterMethodCall
*
)
call
result
:(
FlutterResult
)
result
{
result
(
@
([
WXApi
isWXAppInstalled
]));
}
...
...
lib/src/fluwx_iml.dart
浏览文件 @
2155f733
...
...
@@ -90,6 +90,17 @@ Future<String?> getExtMsg() {
return
_channel
.
invokeMethod
(
'getExtMsg'
);
}
/// start Log
/// defalult [WXLogLevel.DETAIL]
Future
<
bool
?>
startLog
({
WXLogLevel
logLevel
=
WXLogLevel
.
DETAIL
})
async
{
return
await
_channel
.
invokeMethod
(
'startLog'
,
{
'logLevel'
:
logLevel
.
toNativeInt
()});
}
/// stop log
Future
<
bool
?>
stopLog
()
async
{
return
await
_channel
.
invokeMethod
(
'stopLog'
);
}
/// Share your requests to WeChat.
/// This depends on the actual type of [model].
/// see [_shareModelMethodMapper] for detail.
...
...
lib/src/wechat_enums.dart
浏览文件 @
2155f733
...
...
@@ -41,3 +41,20 @@ extension MiniProgramTypeExtensions on WXMiniProgramType {
}
}
}
/// 打印日常的日志
/// 打印详细的日志
enum
WXLogLevel
{
NORMAL
,
DETAIL
}
extension
LogLevelExtensions
on
WXLogLevel
{
int
toNativeInt
()
{
switch
(
this
)
{
case
WXLogLevel
.
DETAIL
:
return
1
;
case
WXLogLevel
.
NORMAL
:
return
0
;
default
:
return
0
;
}
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论