Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DiDi
DoraemonKit
提交
ba943c36
D
DoraemonKit
项目概览
DiDi
/
DoraemonKit
9 个月 前同步成功
通知
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,体验更适合开发者的 AI 搜索 >>
未验证
提交
ba943c36
编写于
11月 08, 2021
作者:
A
AdamCaoQAQ
提交者:
GitHub
11月 08, 2021
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #935 from bukecat/dev/jianke
增加ios/androids统一参考指标(页面完全加载时间)
上级
7fafa69d
c4d20c35
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
127 addition
and
19 deletion
+127
-19
Web/packages/web/package-lock.json
Web/packages/web/package-lock.json
+12
-8
Web/packages/web/src/plugins/web-vitals-time/info-box.vue
Web/packages/web/src/plugins/web-vitals-time/info-box.vue
+114
-10
Web/playground/index.html
Web/playground/index.html
+1
-1
未找到文件。
Web/packages/web/package-lock.json
浏览文件 @
ba943c36
...
...
@@ -5,23 +5,27 @@
"requires"
:
true
,
"dependencies"
:
{
"@dokit/web-core"
:
{
"version"
:
"0.0.1-alpha.4"
,
"version"
:
"0.0.1"
,
"resolved"
:
"http://registry.npm.xiaojukeji.com/@dokit/web-core/download/@dokit/web-core-0.0.1.tgz"
,
"integrity"
:
"sha1-j7nbrKT4mgZHgLnozQs4Au5hH0o="
,
"requires"
:
{
"@dokit/web-utils"
:
"^0.0.1-alpha.4"
},
"dependencies"
:
{
"@dokit/web-utils"
:
{
"version"
:
"0.0.1-alpha.4"
}
"@dokit/web-utils"
:
"^0.0.1"
}
},
"@dokit/web-utils"
:
{
"version"
:
"0.0.1-alpha.4"
"version"
:
"0.0.1"
,
"resolved"
:
"http://registry.npm.xiaojukeji.com/@dokit/web-utils/download/@dokit/web-utils-0.0.1.tgz"
,
"integrity"
:
"sha1-wr/rh8Ki7vtjMbEdIqyhWUw6xLA="
},
"mutation-observer"
:
{
"version"
:
"1.0.3"
,
"resolved"
:
"http://registry.npm.xiaojukeji.com/mutation-observer/download/mutation-observer-1.0.3.tgz"
,
"integrity"
:
"sha1-QukiKxAbyoLlup1aes9KFMDyY9A="
},
"web-vitals"
:
{
"version"
:
"2.1.2"
,
"resolved"
:
"http://registry.npm.xiaojukeji.com/web-vitals/download/web-vitals-2.1.2.tgz"
,
"integrity"
:
"sha1-OmyPrr+Ql6bM0X9fRclIXY1i2rE="
}
}
}
Web/packages/web/src/plugins/web-vitals-time/info-box.vue
浏览文件 @
ba943c36
<
template
>
<div
class=
"web-vitals-time"
>
<div
class=
"title"
>
性能指标(web vitals)
</div>
<div
class=
"
desc
"
>
请在页面加载完成后再获取指标
</div>
<div
class=
"
sub-title
"
>
请在页面加载完成后再获取指标
</div>
<div
class=
"content"
>
<div><span
class=
"item important"
>
FCP:
</span>
{{
FCP
}}
</div>
<div><span
class=
"item important"
>
LCP:
</span>
{{
LCP
}}
</div>
<div><span
class=
"item"
>
LOADED:
</span>
{{
loadedTime
}}
</div>
<!--
<div><span
class=
"item"
>
FCP:
</span>
{{
FCP
}}
</div>
-->
<div><span
class=
"item"
>
CLS:
</span>
{{
CLS
}}
</div>
<div><span
class=
"item"
>
FID:
</span>
{{
FID
}}
</div>
<div><span
class=
"item"
>
TTFB:
</span>
{{
TTFB
}}
</div>
</div>
<div
class=
"desc"
>
<div
class=
"title"
>
备注
</div>
<div
class=
"container"
>
<div>
1、LOADED指页面完全加载时间(页面load的总耗时);
</div>
<div>
2、由于IOS系统暂不支持获取LCP指标相关接口,可用LOADED时间作为参考;
</div>
</div>
</div>
</div>
</
template
>
<
script
>
...
...
@@ -16,11 +25,12 @@ import {getFCP, getLCP, getFID, getCLS, getTTFB} from 'web-vitals';
export
default
{
data
()
{
return
{
FCP
:
''
,
CLS
:
''
,
FID
:
''
,
LCP
:
''
,
TTFB
:
''
loadedTime
:
'
--
'
,
FCP
:
'
--
'
,
CLS
:
'
--
'
,
FID
:
'
--
'
,
LCP
:
'
--
'
,
TTFB
:
'
--
'
}
},
mounted
()
{
...
...
@@ -29,12 +39,88 @@ export default {
getCLS
(
this
.
handleData
,
true
);
getFID
(
this
.
handleData
);
getTTFB
(
this
.
handleData
);
// window.addEventListener('load', this.getTiming, false)
this
.
getTiming
()
},
methods
:
{
handleData
(
detail
)
{
console
.
log
(
JSON
.
parse
(
JSON
.
stringify
(
detail
)))
const
{
name
,
value
}
=
detail
this
[
name
]
=
Math
.
round
(
value
)
+
'
ms
'
},
getTiming
()
{
setTimeout
(()
=>
{
let
t
=
window
.
performance
.
timing
;
const
loadedTime
=
t
.
loadEventEnd
-
t
.
navigationStart
this
.
loadedTime
=
loadedTime
+
'
ms
'
let
performanceInfo
=
[{
key
:
"
Redirect
"
,
desc
:
"
网页重定向的耗时
"
,
"
value(ms)
"
:
t
.
redirectEnd
-
t
.
redirectStart
},
{
key
:
"
AppCache
"
,
desc
:
"
检查本地缓存的耗时
"
,
"
value(ms)
"
:
t
.
domainLookupStart
-
t
.
fetchStart
},
{
key
:
"
DNS
"
,
desc
:
"
DNS查询的耗时
"
,
"
value(ms)
"
:
t
.
domainLookupEnd
-
t
.
domainLookupStart
},
{
key
:
"
TCP
"
,
desc
:
"
TCP链接的耗时
"
,
"
value(ms)
"
:
t
.
connectEnd
-
t
.
connectStart
},
{
key
:
"
Waiting(TTFB)
"
,
desc
:
"
从客户端发起请求到接收响应的时间
"
,
"
value(ms)
"
:
t
.
responseStart
-
t
.
requestStart
},
{
key
:
"
Content Download
"
,
desc
:
"
下载服务端返回数据的时间
"
,
"
value(ms)
"
:
t
.
responseEnd
-
t
.
responseStart
},
{
key
:
"
HTTP Total Time
"
,
desc
:
"
http请求总耗时
"
,
"
value(ms)
"
:
t
.
responseEnd
-
t
.
requestStart
},
{
key
:
"
First Time
"
,
desc
:
"
首包时间
"
,
"
value(ms)
"
:
t
.
responseStart
-
t
.
domainLookupStart
},
{
key
:
"
White screen time
"
,
desc
:
"
白屏时间
"
,
"
value(ms)
"
:
t
.
responseEnd
-
t
.
fetchStart
},
{
key
:
"
Time to Interactive(TTI)
"
,
desc
:
"
首次可交互时间
"
,
"
value(ms)
"
:
t
.
domInteractive
-
t
.
fetchStart
},
{
key
:
"
DOM Parsing
"
,
desc
:
"
DOM 解析耗时
"
,
"
value(ms)
"
:
t
.
domInteractive
-
t
.
responseEnd
},
{
key
:
"
DOMContentLoaded
"
,
desc
:
"
DOM 加载完成的时间
"
,
"
value(ms)
"
:
t
.
domInteractive
-
t
.
navigationStart
},
{
key
:
"
Loaded
"
,
desc
:
"
页面load的总耗时
"
,
"
value(ms)
"
:
loadedTime
}]
console
.
table
(
performanceInfo
);
},
0
)
}
}
}
...
...
@@ -43,11 +129,12 @@ export default {
.web-vitals-time {
padding: 10px;
text-align: center;
font-size: 16px;
.title {
font-weight: bold;
font-size: 22px;
}
.
desc
{
.
sub-title
{
font-size: 12px;
color: #999999;
}
...
...
@@ -56,18 +143,35 @@ export default {
margin-top: 20px;
padding-left: 5%;
>div {
font-size:
16
px;
font-size:
22
px;
}
}
.item {
display: inline-block;
text-align: right;
width:
6
0px;
width:
8
0px;
margin-top: 4px;
font-size: 16px;
}
.important {
color: red;
}
.desc {
text-align: left;
margin-top: 40px;
.title {
text-align: center;
font-size: 18px;
font-weight: bold;
}
.container {
margin-top: 4px;
font-size: 14px;
padding: 10px;
background-color: rgba(133,122,122,0.12);
border-radius: 6px;
}
}
}
</
style
>
Web/playground/index.html
浏览文件 @
ba943c36
...
...
@@ -48,4 +48,4 @@
}));
},
5000
);
</script>
</html>
\ No newline at end of file
</html>
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录