Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DiDi
DoraemonKit
提交
0b06b956
D
DoraemonKit
项目概览
DiDi
/
DoraemonKit
12 个月 前同步成功
通知
166
Star
19623
Fork
3062
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
DoraemonKit
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
0b06b956
编写于
3月 04, 2020
作者:
Y
yixiangboy
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Doraemon健康体检结束添加丢弃按钮功能
上级
209884fc
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
109 addition
and
80 deletion
+109
-80
iOS/DoraemonKit/Src/Core/Plugin/Performance/ANR/Function/DoraemonPingThread.m
...Core/Plugin/Performance/ANR/Function/DoraemonPingThread.m
+1
-1
iOS/DoraemonKit/Src/Core/Plugin/Platform/Health/Alert/DoraemonHealthAlertView.h
...re/Plugin/Platform/Health/Alert/DoraemonHealthAlertView.h
+3
-2
iOS/DoraemonKit/Src/Core/Plugin/Platform/Health/Alert/DoraemonHealthAlertView.m
...re/Plugin/Platform/Health/Alert/DoraemonHealthAlertView.m
+26
-6
iOS/DoraemonKit/Src/Core/Plugin/Platform/Health/DoraemonHealthViewController.m
...ore/Plugin/Platform/Health/DoraemonHealthViewController.m
+8
-1
iOS/DoraemonKit/Src/Core/Plugin/Platform/Health/Function/DoraemonHealthManager.m
...e/Plugin/Platform/Health/Function/DoraemonHealthManager.m
+71
-70
未找到文件。
iOS/DoraemonKit/Src/Core/Plugin/Performance/ANR/Function/DoraemonPingThread.m
浏览文件 @
0b06b956
...
...
@@ -112,7 +112,7 @@
}
}
#pragma mark - Notification
#pragma mark - Notific
ation
-
(
void
)
applicationDidBecomeActive
{
_isApplicationInActive
=
YES
;
}
...
...
iOS/DoraemonKit/Src/Core/Plugin/Platform/Health/Alert/DoraemonHealthAlertView.h
浏览文件 @
0b06b956
...
...
@@ -11,11 +11,12 @@ NS_ASSUME_NONNULL_BEGIN
typedef
void
(
^
DoraemonHealthAlertOKActionBlock
)(
void
);
typedef
void
(
^
DoraemonHealthAlertCancleActionBlock
)(
void
);
typedef
void
(
^
DoraemonHealthAlertQuitActionBlock
)(
void
);
@interface
DoraemonHealthAlertView
:
UIView
-
(
void
)
renderUI
:(
NSString
*
)
title
placeholder
:(
NSArray
*
)
placeholders
inputTip
:(
NSArray
*
)
inputTips
ok
:(
NSString
*
)
okText
cancle
:(
NSString
*
)
cancleText
okBlock
:(
DoraemonHealthAlertOKActionBlock
)
ok
Block
cancleBlock
:(
DoraemonHealthAlertCancleActionBlock
)
cancleBlock
;
-
(
void
)
renderUI
:(
NSString
*
)
title
placeholder
:(
NSArray
*
)
placeholders
inputTip
:(
NSArray
*
)
inputTips
ok
:(
NSString
*
)
okText
quit
:(
NSString
*
)
quitText
cancle
:(
NSString
*
)
cancleText
okBlock
:(
DoraemonHealthAlertOKActionBlock
)
okBlock
quitBlock
:(
DoraemonHealthAlertQuitActionBlock
)
quit
Block
cancleBlock
:
(
DoraemonHealthAlertCancleActionBlock
)
cancleBlock
;
-
(
NSArray
*
)
getInputText
;
...
...
iOS/DoraemonKit/Src/Core/Plugin/Platform/Health/Alert/DoraemonHealthAlertView.m
浏览文件 @
0b06b956
...
...
@@ -20,9 +20,10 @@
@property
(
nonatomic
,
strong
)
NSMutableArray
*
inputViewArray
;
@property
(
nonatomic
,
strong
)
UIButton
*
okBtn
;
@property
(
nonatomic
,
strong
)
UIButton
*
cancleBtn
;
@property
(
nonatomic
,
strong
)
UIButton
*
quitBtn
;
@property
(
nonatomic
,
copy
)
DoraemonHealthAlertOKActionBlock
okBlock
;
@property
(
nonatomic
,
copy
)
DoraemonHealthAlertCancleActionBlock
cancleBlock
;
@property
(
nonatomic
,
copy
)
DoraemonHealthAlertQuitActionBlock
quitBlock
;
@end
...
...
@@ -47,7 +48,7 @@
_inputViewArray
=
[[
NSMutableArray
alloc
]
init
];
_okBtn
=
[[
UIButton
alloc
]
initWithFrame
:
CGRectMake
(
_width
/
2
,
0
,
_width
/
2
,
kDoraemonSizeFrom750_Landscape
(
90
))];
_okBtn
=
[[
UIButton
alloc
]
initWithFrame
:
CGRectMake
(
_width
/
3
*
2
,
0
,
_width
/
3
,
kDoraemonSizeFrom750_Landscape
(
90
))];
_okBtn
.
titleLabel
.
font
=
[
UIFont
systemFontOfSize
:
kDoraemonSizeFrom750_Landscape
(
30
)];
[
_okBtn
.
layer
setBorderColor
:[
UIColor
doraemon_black_3
].
CGColor
];
[
_okBtn
.
layer
setBorderWidth
:
kDoraemonSizeFrom750_Landscape
(
0
.
5
)];
...
...
@@ -57,7 +58,16 @@
_okBtn
.
enabled
=
NO
;
[
_okBtn
addTarget
:
self
action
:
@selector
(
okBtnAction
:
)
forControlEvents
:
UIControlEventTouchUpInside
];
_cancleBtn
=
[[
UIButton
alloc
]
initWithFrame
:
CGRectMake
(
0
,
0
,
_width
/
2
,
_okBtn
.
doraemon_height
)];
_quitBtn
=
[[
UIButton
alloc
]
initWithFrame
:
CGRectMake
(
_width
/
3
,
0
,
_width
/
3
,
kDoraemonSizeFrom750_Landscape
(
90
))];
_quitBtn
.
titleLabel
.
font
=
[
UIFont
systemFontOfSize
:
kDoraemonSizeFrom750_Landscape
(
30
)];
[
_quitBtn
.
layer
setBorderColor
:[
UIColor
doraemon_black_3
].
CGColor
];
[
_quitBtn
.
layer
setBorderWidth
:
kDoraemonSizeFrom750_Landscape
(
0
.
5
)];
[
_quitBtn
.
layer
setMasksToBounds
:
YES
];
[
_quitBtn
setTitleColor
:[
UIColor
doraemon_black_3
]
forState
:
UIControlStateNormal
];
[
_quitBtn
setTitle
:
DoraemonLocalizedString
(
@"丢弃"
)
forState
:
UIControlStateNormal
];
[
_quitBtn
addTarget
:
self
action
:
@selector
(
quitBtnAction
:
)
forControlEvents
:
UIControlEventTouchUpInside
];
_cancleBtn
=
[[
UIButton
alloc
]
initWithFrame
:
CGRectMake
(
0
,
0
,
_width
/
3
,
_okBtn
.
doraemon_height
)];
_cancleBtn
.
titleLabel
.
font
=
[
UIFont
systemFontOfSize
:
kDoraemonSizeFrom750_Landscape
(
30
)];
[
_cancleBtn
.
layer
setBorderColor
:[
UIColor
doraemon_black_3
].
CGColor
];
[
_cancleBtn
.
layer
setBorderWidth
:
kDoraemonSizeFrom750_Landscape
(
0
.
5
)];
...
...
@@ -70,15 +80,15 @@
[
_alertView
addSubview
:
_title
];
[
_alertView
addSubview
:
_okBtn
];
[
_alertView
addSubview
:
_quitBtn
];
[
_alertView
addSubview
:
_cancleBtn
];
}
return
self
;
}
-
(
void
)
renderUI
:(
NSString
*
)
title
placeholder
:(
NSArray
*
)
placeholders
inputTip
:(
NSArray
*
)
inputTips
ok
:(
NSString
*
)
okText
cancle
:(
NSString
*
)
cancleText
okBlock
:(
DoraemonHealthAlertOKActionBlock
)
okBlock
cancleBlock
:(
DoraemonHealthAlertCancleActionBlock
)
cancleBlock
{
-
(
void
)
renderUI
:(
NSString
*
)
title
placeholder
:(
NSArray
*
)
placeholders
inputTip
:(
NSArray
*
)
inputTips
ok
:(
NSString
*
)
okText
quit
:(
NSString
*
)
quitText
cancle
:(
NSString
*
)
cancleText
okBlock
:(
DoraemonHealthAlertOKActionBlock
)
okBlock
quitBlock
:(
DoraemonHealthAlertQuitActionBlock
)
quitBlock
cancleBlock
:
(
DoraemonHealthAlertCancleActionBlock
)
cancleBlock
{
int
index
=
0
;
_title
.
text
=
title
;
NSString
*
placeholder
=
nil
;
...
...
@@ -101,6 +111,10 @@
if
(
okText
.
length
>
0
){
[
_okBtn
setTitle
:
okText
forState
:
UIControlStateNormal
];
}
_quitBtn
.
frame
=
CGRectMake
(
_quitBtn
.
doraemon_x
,
_height
,
_quitBtn
.
doraemon_width
,
_quitBtn
.
doraemon_height
);
if
(
quitText
.
length
>
0
)
{
[
_quitBtn
setTitle
:
quitText
forState
:
UIControlStateNormal
];
}
_cancleBtn
.
frame
=
CGRectMake
(
_cancleBtn
.
doraemon_x
,
_height
,
_cancleBtn
.
doraemon_width
,
_cancleBtn
.
doraemon_height
);
if
(
cancleText
.
length
>
0
){
[
_cancleBtn
setTitle
:
cancleText
forState
:
UIControlStateNormal
];
...
...
@@ -109,6 +123,7 @@
_alertView
.
frame
=
CGRectMake
(
_padding
,
_alertView
.
doraemon_y
,
_width
,
_height
);
self
.
okBlock
=
okBlock
;
self
.
cancleBlock
=
cancleBlock
;
self
.
quitBlock
=
quitBlock
;
}
-
(
NSArray
*
)
getInputText
{
...
...
@@ -129,6 +144,11 @@
self
.
hidden
=
YES
;
}
-
(
void
)
quitBtnAction
:(
id
)
sender
{
self
.
quitBlock
?
self
.
quitBlock
()
:
nil
;
self
.
hidden
=
YES
;
}
-
(
void
)
textFieldDidEndEditing
:(
UITextField
*
)
textField
{
BOOL
enabled
=
YES
;
for
(
DoraemonHealthEndInputView
*
inputView
in
_inputViewArray
)
{
...
...
iOS/DoraemonKit/Src/Core/Plugin/Platform/Health/DoraemonHealthViewController.m
浏览文件 @
0b06b956
...
...
@@ -84,7 +84,7 @@
if
(
show
){
__weak
typeof
(
self
)
weakSelf
=
self
;
DoraemonHealthAlertView
*
alertView
=
[[
DoraemonHealthAlertView
alloc
]
init
];
[
alertView
renderUI
:
DoraemonLocalizedString
(
@"结束前请完善下列信息"
)
placeholder
:@[]
inputTip
:
@[
DoraemonLocalizedString
(
@"测试用例名称"
),
DoraemonLocalizedString
(
@"测试人名称"
)]
ok
:
DoraemonLocalizedString
(
@"提交"
)
cancle
:
DoraemonLocalizedString
(
@"取消"
)
okBlock
:^
{
[
alertView
renderUI
:
DoraemonLocalizedString
(
@"结束前请完善下列信息"
)
placeholder
:@[]
inputTip
:
@[
DoraemonLocalizedString
(
@"测试用例名称"
),
DoraemonLocalizedString
(
@"测试人名称"
)]
ok
:
DoraemonLocalizedString
(
@"提交"
)
quit
:
DoraemonLocalizedString
(
@"丢弃"
)
cancle
:
DoraemonLocalizedString
(
@"取消"
)
okBlock
:^
{
NSArray
*
result
=
[
alertView
getInputText
];
if
(
result
.
count
==
2
)
{
...
...
@@ -95,6 +95,13 @@
[
weakSelf
.
homeView
.
startingTitle
renderUIWithTitle
:
@"点击开始检测"
];
[[
DoraemonHealthManager
sharedInstance
]
stopHealthCheck
];
}
}
quitBlock
:^
{
[
DoraemonHealthManager
sharedInstance
].
caseName
=
@""
;
[
DoraemonHealthManager
sharedInstance
].
testPerson
=
@""
;
[
weakSelf
showFooter
:
YES
];
[
weakSelf
.
homeView
.
btnView
statusForBtn
:
NO
];
[
weakSelf
.
homeView
.
startingTitle
renderUIWithTitle
:
@"点击开始检测"
];
[[
DoraemonHealthManager
sharedInstance
]
stopHealthCheck
];
}
cancleBlock
:^
{
}];
[
self
.
view
addSubview
:
alertView
];
...
...
iOS/DoraemonKit/Src/Core/Plugin/Platform/Health/Function/DoraemonHealthManager.m
浏览文件 @
0b06b956
...
...
@@ -195,80 +195,81 @@
}
-
(
void
)
upLoadData
{
NSString
*
testTime
=
[
DoraemonUtil
dateFormatNow
];
NSString
*
phoneName
=
[
DoraemonAppInfoUtil
iphoneType
];
NSString
*
phoneSystem
=
[[
UIDevice
currentDevice
]
systemVersion
];
NSString
*
appVersion
=
[[
NSBundle
mainBundle
]
objectForInfoDictionaryKey
:
@"CFBundleShortVersionString"
];
NSString
*
appName
=
[
DoraemonAppInfoUtil
appName
];
//启动流程
NSArray
*
loadArray
=
nil
;
#if __has_include("DoraemonMethodUseTimeManager.h")
loadArray
=
[[
DoraemonMethodUseTimeManager
sharedInstance
]
fixLoadModelArrayForHealth
];
#endif
NSDictionary
*
appStart
=
@{
@"costTime"
:
@
(
self
.
startTime
),
@"costDetail"
:
STRING_NOT_NULL
(
self
.
costDetail
),
@"loadFunc"
:
loadArray
?
loadArray
:
@[]
};
//大文件扫描
NSString
*
homeDir
=
NSHomeDirectory
();
DoraemonUtil
*
util
=
[[
DoraemonUtil
alloc
]
init
];
[
util
getBigSizeFileFormPath
:
homeDir
];
NSArray
*
bigFileInfoArray
=
[
self
formatInfoByPathArray
:
util
.
bigFileArray
];
NSDictionary
*
dic
=
@{
@"baseInfo"
:
@{
@"caseName"
:
STRING_NOT_NULL
(
self
.
caseName
),
@"testPerson"
:
STRING_NOT_NULL
(
self
.
testPerson
),
@"platform"
:
@"iOS"
,
@"time"
:
testTime
,
@"phoneMode"
:
phoneName
,
@"systemVersion"
:
phoneSystem
,
@"appName"
:
appName
,
@"appVersion"
:
appVersion
,
@"dokitVersion"
:
DoKitVersion
,
@"pId"
:
STRING_NOT_NULL
([
DoraemonManager
shareInstance
].
pId
)
},
@"data"
:
@{
@"cpu"
:
[
_cpuArray
copy
],
@"memory"
:
[
_memoryArray
copy
],
@"fps"
:
[
_fpsArray
copy
],
@"appStart"
:
appStart
,
@"network"
:
[
_networkArray
copy
],
@"block"
:
[
_blockArray
copy
],
@"subThreadUI"
:
[
_subThreadUIArray
copy
],
@"uiLevel"
:
[
_uiLevelArray
copy
],
@"leak"
:
[
_leakArray
copy
],
@"pageLoad"
:
[
_pageLoadArray
copy
],
@"bigFile"
:
[
bigFileInfoArray
copy
]
}
};
DoKitLog
(
@"上传信息 == %@"
,
dic
);
if
(
!
[
DoraemonManager
shareInstance
].
pId
)
{
DoKitLog
(
@"dokik pId 为空"
);
}
[
DoraemonNetworkUtil
postWithUrlString
:
@"https://www.dokit.cn/healthCheck/addCheckData"
params
:
dic
success
:^
(
NSDictionary
*
_Nonnull
result
)
{
NSInteger
code
=
[
result
[
@"code"
]
integerValue
];
if
(
code
==
200
)
{
[
DoraemonToastUtil
showToastBlack
:
@"数据上传成功"
inView
:[
UIViewController
rootViewControllerForDoraemonHomeWindow
].
view
];
}
else
{
NSString
*
msg
=
result
[
@"msg"
];
if
(
msg
)
{
[
DoraemonToastUtil
showToastBlack
:
msg
inView
:[
UIViewController
rootViewControllerForDoraemonHomeWindow
].
view
];
if
(
self
.
caseName
.
length
>
0
&&
self
.
testPerson
.
length
>
0
)
{
NSString
*
testTime
=
[
DoraemonUtil
dateFormatNow
];
NSString
*
phoneName
=
[
DoraemonAppInfoUtil
iphoneType
];
NSString
*
phoneSystem
=
[[
UIDevice
currentDevice
]
systemVersion
];
NSString
*
appVersion
=
[[
NSBundle
mainBundle
]
objectForInfoDictionaryKey
:
@"CFBundleShortVersionString"
];
NSString
*
appName
=
[
DoraemonAppInfoUtil
appName
];
//启动流程
NSArray
*
loadArray
=
nil
;
#if __has_include("DoraemonMethodUseTimeManager.h")
loadArray
=
[[
DoraemonMethodUseTimeManager
sharedInstance
]
fixLoadModelArrayForHealth
];
#endif
NSDictionary
*
appStart
=
@{
@"costTime"
:
@
(
self
.
startTime
),
@"costDetail"
:
STRING_NOT_NULL
(
self
.
costDetail
),
@"loadFunc"
:
loadArray
?
loadArray
:
@[]
};
//大文件扫描
NSString
*
homeDir
=
NSHomeDirectory
();
DoraemonUtil
*
util
=
[[
DoraemonUtil
alloc
]
init
];
[
util
getBigSizeFileFormPath
:
homeDir
];
NSArray
*
bigFileInfoArray
=
[
self
formatInfoByPathArray
:
util
.
bigFileArray
];
NSDictionary
*
dic
=
@{
@"baseInfo"
:
@{
@"caseName"
:
STRING_NOT_NULL
(
self
.
caseName
),
@"testPerson"
:
STRING_NOT_NULL
(
self
.
testPerson
),
@"platform"
:
@"iOS"
,
@"time"
:
testTime
,
@"phoneMode"
:
phoneName
,
@"systemVersion"
:
phoneSystem
,
@"appName"
:
appName
,
@"appVersion"
:
appVersion
,
@"dokitVersion"
:
DoKitVersion
,
@"pId"
:
STRING_NOT_NULL
([
DoraemonManager
shareInstance
].
pId
)
},
@"data"
:
@{
@"cpu"
:
[
_cpuArray
copy
],
@"memory"
:
[
_memoryArray
copy
],
@"fps"
:
[
_fpsArray
copy
],
@"appStart"
:
appStart
,
@"network"
:
[
_networkArray
copy
],
@"block"
:
[
_blockArray
copy
],
@"subThreadUI"
:
[
_subThreadUIArray
copy
],
@"uiLevel"
:
[
_uiLevelArray
copy
],
@"leak"
:
[
_leakArray
copy
],
@"pageLoad"
:
[
_pageLoadArray
copy
],
@"bigFile"
:
[
bigFileInfoArray
copy
]
}
};
DoKitLog
(
@"上传信息 == %@"
,
dic
);
if
(
!
[
DoraemonManager
shareInstance
].
pId
)
{
DoKitLog
(
@"dokik pId 为空"
);
}
}
error
:^
(
NSError
*
_Nonnull
error
)
{
[
DoraemonToastUtil
showToastBlack
:
@"数据上传失败"
inView
:[
UIViewController
rootViewControllerForDoraemonHomeWindow
].
view
];
}];
[
DoraemonNetworkUtil
postWithUrlString
:
@"https://www.dokit.cn/healthCheck/addCheckData"
params
:
dic
success
:^
(
NSDictionary
*
_Nonnull
result
)
{
NSInteger
code
=
[
result
[
@"code"
]
integerValue
];
if
(
code
==
200
)
{
[
DoraemonToastUtil
showToastBlack
:
@"数据上传成功"
inView
:[
UIViewController
rootViewControllerForDoraemonHomeWindow
].
view
];
}
else
{
NSString
*
msg
=
result
[
@"msg"
];
if
(
msg
)
{
[
DoraemonToastUtil
showToastBlack
:
msg
inView
:[
UIViewController
rootViewControllerForDoraemonHomeWindow
].
view
];
}
}
}
error
:^
(
NSError
*
_Nonnull
error
)
{
[
DoraemonToastUtil
showToastBlack
:
@"数据上传失败"
inView
:[
UIViewController
rootViewControllerForDoraemonHomeWindow
].
view
];
}];
}
[
_cpuPageArray
removeAllObjects
];
[
_memoryPageArray
removeAllObjects
];
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录