Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
L
learn-online-pc
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
learn-online-pc
Commits
2c8ba80e
提交
2c8ba80e
authored
3月 10, 2020
作者:
GOD_ZYX
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
视频播放追加 水印
上级
c3a6603a
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
48 行增加
和
7 行删除
+48
-7
videoH5.vue
client/client/components/player/chapterVideo/videoH5.vue
+42
-1
index.html
server/client-dist/index.html
+2
-2
11.a8fad53a.js
server/client-dist/resources/11.a8fad53a.js
+2
-2
manifest.35ba3a60.js
server/client-dist/resources/manifest.35ba3a60.js
+2
-2
没有找到文件。
client/client/components/player/chapterVideo/videoH5.vue
浏览文件 @
2c8ba80e
...
...
@@ -35,11 +35,19 @@ export default {
},
data
()
{
return
{
videoArr
:
{}
// 视频流
videoArr
:
{},
// 视频流
timeSetInterval
:
null
}
},
mounted
()
{
this
.
definWindowFun
()
this
.
addWatermark
()
},
destroyed
()
{
if
(
this
.
timeSetInterval
)
{
clearInterval
(
this
.
timeSetInterval
)
this
.
timeSetInterval
=
null
}
},
watch
:
{
videoId
:
{
...
...
@@ -211,6 +219,39 @@ export default {
// 绑定事件监听
this
.
listenPlayerEvents
()
},
/* 增加水印处理 */
addWatermark
()
{
if
(
this
.
timeSetInterval
)
{
clearInterval
(
this
.
timeSetInterval
)
this
.
timeSetInterval
=
null
}
/* 60s显示一次,一次显示10s,位置随机 */
let
count1
=
0
let
count2
=
0
this
.
timeSetInterval
=
setInterval
(()
=>
{
count1
+=
1
count2
+=
1
if
(
count2
>=
10
)
{
if
(
$
(
'#'
+
PLAYER_ID
)
&&
$
(
'#'
+
PLAYER_ID
).
length
)
{
let
_o
=
$
(
'#'
+
PLAYER_ID
).
find
(
'#coverWatermark'
)
if
(
_o
&&
_o
.
length
)
{
_o
.
remove
()
}
}
count2
=
0
}
if
(
count1
>=
60
)
{
if
(
$
(
'#'
+
PLAYER_ID
)
&&
$
(
'#'
+
PLAYER_ID
).
length
)
{
$
(
'#'
+
PLAYER_ID
).
append
([
'<div id="coverWatermark" style="position: absolute; z-index: 99999; top: 60px; left: 0; right: 0; bottom: 60px;">'
,
' <div style="position: absolute; color: #eee; font-size: 12px; top: '
+
(
Math
.
random
()
*
(
$
(
'#'
+
PLAYER_ID
).
outerHeight
()
-
120
))
+
'px; left: '
+
(
Math
.
random
()
*
(
$
(
'#'
+
PLAYER_ID
).
outerWidth
()
-
200
))
+
'px;">'
+
(
window
.
G
.
UserInfo
.
username
||
''
)
+
'</div>'
,
'</div>'
].
join
(
''
))
}
count1
=
0
}
},
1000
)
},
listenPlayerEvents
()
{
$
(
'#'
+
PLAYER_WRAP_ID
).
off
(
'player.time player.seek'
).
on
(
'player.time player.seek'
,
(
e
,
data
)
=>
{
this
.
$emit
(
'handlePlayTime'
,
data
)
...
...
server/client-dist/index.html
浏览文件 @
2c8ba80e
...
...
@@ -15,4 +15,4 @@
<script src="https://zws-imgs-pub.ezijing.com/static/build/learn-mba/static/compatible/console-polyfill.js"></script>
<script src="https://zws-imgs-pub.ezijing.com/static/build/learn-mba/static/compatible/html5shiv.min.js"></script>
<script src="https://zws-imgs-pub.ezijing.com/static/build/learn-mba/static/compatible/respond.min.js"></script>
<![endif]-->
<script
type=
"text/javascript"
src=
"https://zws-imgs-pub.ezijing.com/static/build/learn-mba/resources/manifest.fdd4d93a.js"
></script><script
type=
"text/javascript"
src=
"https://zws-imgs-pub.ezijing.com/static/build/learn-mba/resources/vendor.1df1e39a.js"
></script><script
type=
"text/javascript"
src=
"https://zws-imgs-pub.ezijing.com/static/build/learn-mba/resources/app.2e98cab2.js"
></script></body></html>
\ No newline at end of file
<![endif]-->
<script
type=
"text/javascript"
src=
"https://zws-imgs-pub.ezijing.com/static/build/learn-mba/resources/manifest.35ba3a60.js"
></script><script
type=
"text/javascript"
src=
"https://zws-imgs-pub.ezijing.com/static/build/learn-mba/resources/vendor.1df1e39a.js"
></script><script
type=
"text/javascript"
src=
"https://zws-imgs-pub.ezijing.com/static/build/learn-mba/resources/app.2e98cab2.js"
></script></body></html>
\ No newline at end of file
server/client-dist/resources/11.
110d533d
.js
→
server/client-dist/resources/11.
a8fad53a
.js
浏览文件 @
2c8ba80e
(
window
.
webpackJsonp
=
window
.
webpackJsonp
||
[]).
push
([[
11
],{
286
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
n
=
i
(
467
),
r
=
i
(
382
);
for
(
var
a
in
r
)
"default"
!==
a
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
r
[
e
]})}(
a
);
var
s
=
i
(
0
),
o
=
Object
(
s
.
a
)(
r
.
default
,
n
.
a
,
n
.
b
,
!
1
,
null
,
null
,
null
);
t
.
default
=
o
.
exports
},
382
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
n
=
i
(
383
),
r
=
i
.
n
(
n
);
for
(
var
a
in
n
)
"default"
!==
a
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
n
[
e
]})}(
a
);
t
.
default
=
r
.
a
},
383
:
function
(
e
,
t
,
i
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
n
=
s
(
i
(
446
)),
r
=
s
(
i
(
448
)),
a
=
s
(
i
(
449
)),
u
=
s
(
i
(
85
));
function
s
(
e
){
return
e
&&
e
.
__esModule
?
e
:{
default
:
e
}}
var
o
=
1
e4
;
t
.
default
=
{
components
:{
eVideo
:
n
.
default
,
eVideoH5
:
r
.
default
,
ePpt
:
a
.
default
},
props
:{
chapterId
:{
type
:
String
,
require
:
!
1
},
chapterName
:{
type
:
String
,
require
:
!
1
},
chapterVideo
:{
type
:
Object
,
require
:
!
1
},
ppts
:{
type
:
Array
,
require
:
!
1
,
default
:[]},
sid
:{
type
:
String
,
require
:
!
1
},
cid
:{
type
:
String
,
require
:
!
1
},
id
:{
type
:
String
,
require
:
!
1
},
videoType
:{
type
:
String
,
require
:
!
1
}},
data
:
function
(){
return
{
state
:{
pptIndex
:
0
,
pptBoxOnly
:
!
1
,
pptBoxShow
:
!
1
,
skipBegin
:
/skip=1/
.
test
(
document
.
cookie
),
calculatedSize
:
!
1
},
videoFlash
:{
lastTime
:
null
,
speed
:
1
,
isSeek
:
!
1
,
isFinish
:
!
1
,
queueFrames
:[],
mapFrames
:[],
videoWidth
:
550
,
videoHeight
:
360
,
username
:
window
.
G
.
UserInfo
&&
window
.
G
.
UserInfo
.
username
||
""
,
duration
:
1
e4
},
resizeVideo
:
null
,
hearBeat
:
null
,
_rProgress
:{},
isPlaying
:
!
1
}},
mounted
:
function
(){
var
e
=
this
.
getCalculateSize
();
e
.
video
.
w
&&
(
this
.
videoFlash
.
videoWidth
=
e
.
video
.
w
,
this
.
videoFlash
.
videoHeight
=
e
.
video
.
h
),
this
.
resizeVideo
||
(
this
.
resizeVideo
=
u
.
default
.
debounce
(
this
.
jdugeSize
.
bind
(
this
),
200
)),
setTimeout
(
this
.
jdugeSize
,
300
),
window
.
addEventListener
(
"resize"
,
this
.
resizeVideo
),
this
.
createHeartTime
(
o
)},
destroyed
:
function
(){
window
.
removeEventListener
(
"resize"
,
this
.
resizeVideo
),
this
.
destroyHeartTime
(),
this
.
hearBeatFunc
(
o
)},
watch
:{
id
:{
handler
:
function
(){
this
.
id
&&
(
this
.
state
.
pptBoxShow
=!
1
,
this
.
state
.
pptBoxOnly
=!
1
,
this
.
_rProgress
=
{},
setTimeout
(
this
.
jdugeSize
,
0
))}}},
methods
:{
togglePptBox
:
function
(){
this
.
state
.
pptBoxShow
=!
this
.
state
.
pptBoxShow
,
this
.
state
.
pptBoxOnly
=!
1
,
setTimeout
(
this
.
jdugeSize
,
0
)},
togglePptBoxOnly
:
function
(){
this
.
state
.
pptBoxOnly
=!
this
.
state
.
pptBoxOnly
,
setTimeout
(
this
.
jdugeSize
,
0
)},
toggleSkipBegin
:
function
(){
var
e
=!
this
.
state
.
skipBegin
,
t
=
new
Date
;
t
.
setMonth
(
t
.
getMonth
()
+
1
),
document
.
cookie
=
"skip="
+
+
e
+
";path=/;domain=.ezijing.com;expires="
+
t
.
toGMTString
(),
e
&&
this
.
$refs
.
video
&&
this
.
$refs
.
video
.
skipBegin
(),
this
.
state
.
skipBegin
=
e
},
onVideoTimeChange
:
function
(
e
){
var
t
=
e
.
time
;
this
.
videoFlash
.
duration
=
e
.
duration
||
this
.
videoFlash
.
duration
,
this
.
videoFlash
.
speed
=
parseFloat
(
e
.
quality
.
split
(
" "
)[
1
]
||
1
),
this
.
videoFlash
.
isSeek
=
e
.
isSeek
,
this
.
videoFlash
.
lastTime
!==
t
&&
(
this
.
videoFlash
.
lastTime
=
t
,
this
.
isPlaying
=!
0
,
e
.
isSeek
||
this
.
videoFlash
.
queueFrames
.
push
(
t
),
this
.
setPptIndexByTime
(
t
),
this
.
$emit
(
"handlePlayTime"
,
t
))},
onVideoPlayFinish
:
function
(
e
){
if
(
this
.
chapterVideo
){
if
(
this
.
_rProgress
&&
this
.
_rProgress
.
id
);
else
{
this
.
_rProgress
=
u
.
default
.
assignIn
({},
this
.
chapterVideo
.
progress
);
for
(
var
t
=
[],
i
=
this
.
chapterVideo
.
video_length
||
1
,
n
=
0
;
n
<
i
;
n
++
)
t
.
push
(
0
);
this
.
videoFlash
.
mapFrames
=
this
.
_rProgress
.
map
.
length
?
this
.
_rProgress
.
map
:
t
,
this
.
_rProgress
.
map
=
this
.
videoFlash
.
mapFrames
}
this
.
_rProgress
.
pt
+
10
*
this
.
videoFlash
.
speed
>=
e
.
time
&&
(
this
.
isPlaying
=!
0
,
this
.
hearBeatFunc
(
o
))}},
changeVideoArr
:
function
(
e
){
this
.
$emit
(
"changeVideoArr"
,
e
)},
setPptIndexByTime
:
function
(
e
){
for
(
var
t
=
this
.
ppts
||
[],
i
=
0
;
i
<
t
.
length
&&!
(
e
<
t
[
i
].
ppt_point
);
i
++
);
this
.
state
.
pptIndex
!==
i
-
1
&&
(
this
.
state
.
pptIndex
=
i
-
1
)},
setVideoTime
:
function
(
e
){
this
.
$refs
.
video
&&
this
.
$refs
.
video
.
setTimeTo
(
e
)},
jdugeSize
:
function
(){
var
e
=
this
.
$refs
.
box
,
t
=
this
.
getCalculateSize
(),
i
=
0
,
n
=
0
;
this
.
state
.
pptBoxOnly
?(
n
=
t
.
ppt
.
w
,
i
=
t
.
ppt
.
h
,
this
.
$refs
.
ppt
&&
this
.
$refs
.
ppt
.
setSize
(
n
,
i
)):
this
.
state
.
pptBoxShow
?(
this
.
$refs
.
ppt
&&
this
.
$refs
.
ppt
.
setSize
(
t
.
ppt
.
w
,
t
.
ppt
.
h
),
this
.
$refs
.
video
&&
this
.
$refs
.
video
.
setSize
(
t
.
video
.
w
,
t
.
video
.
h
),
n
=
t
.
ppt
.
w
+
t
.
video
.
w
,
i
=
t
.
video
.
h
):(
n
=
t
.
video
.
w
,
i
=
t
.
video
.
h
,
this
.
$refs
.
video
&&
this
.
$refs
.
video
.
setSize
(
n
,
i
)),
this
.
state
.
calculatedSize
=!
0
,
e
.
style
.
paddingLeft
=
(
t
.
space
.
w
-
n
)
/
2
+
15
+
"px"
,
e
.
style
.
paddingTop
=
(
t
.
space
.
h
-
i
)
/
2
+
10
+
"px"
},
getCalculateSize
:
function
(){
var
e
=
this
.
$refs
.
container
,
t
=
e
.
offsetWidth
-
30
,
i
=
e
.
offsetHeight
-
53
-
20
,
n
=
550
/
363
,
r
=
336
/
236
,
a
=
{
space
:{
w
:
t
,
h
:
i
},
video
:{
w
:
0
,
h
:
0
},
ppt
:{
w
:
0
,
h
:
0
}};
if
(
this
.
state
.
pptBoxOnly
)
a
.
ppt
.
w
=
t
<
i
*
r
?
t
:
i
*
r
,
a
.
ppt
.
h
=
i
<
t
/
r
?
i
:
t
/
r
;
else
if
(
this
.
state
.
pptBoxShow
){
var
s
=
t
/
2
,
o
=
s
<
i
*
n
?
s
:
i
*
n
,
l
=
i
<
s
/
n
?
i
:
s
/
n
,
d
=
l
,
u
=
d
*
r
;
a
.
video
.
w
=
o
,
a
.
video
.
h
=
l
,
a
.
ppt
.
w
=
u
,
a
.
ppt
.
h
=
d
}
else
a
.
video
.
w
=
t
<
i
*
n
?
t
:
i
*
n
,
a
.
video
.
h
=
i
<
t
/
n
?
i
:
t
/
n
;
return
a
},
hearBeatFunc
:
function
(
e
){
if
(
this
.
chapterVideo
&&
this
.
isPlaying
){
if
(
this
.
_rProgress
&&
this
.
_rProgress
.
id
);
else
{
this
.
_rProgress
=
u
.
default
.
assignIn
({},
this
.
chapterVideo
.
progress
);
for
(
var
t
=
[],
i
=
this
.
chapterVideo
.
video_length
||
1
,
n
=
0
;
n
<
i
;
n
++
)
t
.
push
(
0
);
this
.
videoFlash
.
mapFrames
=
this
.
_rProgress
.
map
.
length
?
this
.
_rProgress
.
map
:
t
,
this
.
_rProgress
.
map
=
this
.
videoFlash
.
mapFrames
}
var
r
=
this
.
_rProgress
,
a
=
this
.
videoFlash
.
duration
,
s
=
Math
.
min
(
this
.
videoFlash
.
lastTime
,
a
),
o
=
this
.
videoFlash
.
speed
,
l
=
this
.
videoFlash
.
isSeek
,
d
=
this
.
videoFlash
.
queueFrames
;
0
===
r
.
cpt
&&
0
===
r
.
mpt
&&
0
===
r
.
pt
&&
/skip=1/
.
test
(
document
.
cookie
)
&&
(
r
.
pt
=
7
),
l
||
(
r
.
pt
+=
e
/
1
e3
*
o
,
r
.
cpt
=
s
,
r
.
mpt
=
s
>
r
.
mpt
?
s
:
r
.
mpt
,
r
.
mpt
=
r
.
mpt
>
a
?
a
:
r
.
mpt
,
parseInt
(
r
.
mpt
)
>
parseInt
(
a
)
+
1
e4
&&
this
.
$message
.
info
(
"视频播放出错,请刷新页面重新观看。"
),
r
.
ps
=
d
,
r
.
vid
=
this
.
id
,
this
.
$emit
(
"updateProgress"
,
this
.
_rProgress
)),
this
.
isPlaying
=!
1
}},
createHeartTime
:
function
(
e
){
var
t
=
this
,
i
=
e
||
1
e4
;
this
.
destroyHeartTime
(),
this
.
hearBeat
=
setInterval
(
function
(){
t
.
hearBeatFunc
(
i
)},
i
)},
destroyHeartTime
:
function
(){
this
.
hearBeat
&&
clearInterval
(
this
.
hearBeat
)}}}},
384
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
n
=
i
(
385
),
r
=
i
.
n
(
n
);
for
(
var
a
in
n
)
"default"
!==
a
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
n
[
e
]})}(
a
);
t
.
default
=
r
.
a
},
385
:
function
(
e
,
a
,
s
){
"use strict"
;(
function
(
n
){
Object
.
defineProperty
(
a
,
"__esModule"
,{
value
:
!
0
});
var
e
,
t
=
s
(
287
),
d
=
(
e
=
t
)
&&
e
.
__esModule
?
e
:{
default
:
e
};
var
r
=
"playerWrap"
,
i
=
0
;
a
.
default
=
{
props
:{
lastTime
:{
type
:
Number
,
require
:
!
1
},
videoId
:{
type
:
String
,
require
:
!
1
},
width
:{
type
:
Number
,
require
:
!
1
},
height
:{
type
:
Number
,
require
:
!
1
},
username
:{
type
:
String
,
require
:
!
1
},
videoSrt
:{
type
:
String
,
require
:
!
1
},
autoPlay
:{
type
:
Boolean
,
require
:
!
1
,
default
:
!
0
},
chapterVideo
:{
type
:
Object
,
require
:
!
1
}},
mounted
:
function
(){
this
.
definWindowFun
()},
watch
:{
videoId
:{
handler
:
function
(){
this
.
videoId
&&
(
i
=
this
.
lastTime
||
0
,
this
.
renderPlayer
(
"player"
,
this
.
videoId
,
this
.
autoPlay
,
this
.
videoSrt
,
this
.
username
,
this
.
width
,
this
.
height
))}}},
methods
:{
definWindowFun
:
function
(){
var
t
=
this
;
window
.
_playerStart
=
function
(){
/
skip
=
1
/
.
test
(
document
.
cookie
)?
t
.
getPlayer
().
callAction
(
"setCurrentTime"
,
Math
.
max
(
i
,
7
)):
i
&&
t
.
getPlayer
().
callAction
(
"setCurrentTime"
,
i
)},
window
.
_playerIng
=
function
(
e
){
n
(
"#"
+
r
).
trigger
(
"player.time"
,{
time
:
e
,
duration
:
t
.
getPlayer
().
callAction
(
"getDuration"
),
quality
:
t
.
getPlayer
().
callAction
(
"getQuality"
),
isSeek
:
!
1
})},
window
.
_playerSeek
=
function
(){
n
(
"#"
+
r
).
trigger
(
"player.seek"
,{
time
:
t
.
getPlayer
().
callAction
(
"getCurrentTime"
),
duration
:
t
.
getPlayer
().
callAction
(
"getDuration"
),
quality
:
t
.
getPlayer
().
callAction
(
"getQuality"
),
isSeek
:
!
0
})},
window
.
_playerFinish
=
function
(){
t
.
$emit
(
"handlePlayfinish"
,{
time
:
t
.
getPlayer
().
callAction
(
"getDuration"
)})},
window
.
_playerCallback
=
function
(){
var
e
=
t
.
getPlayer
();
e
&&
(
e
.
callAction
(
"register"
,
"onCanplay"
,
"_playerStart"
),
e
.
callAction
(
"register"
,
"onPlaying"
,
"_playerIng"
),
e
.
callAction
(
"register"
,
"onSeekComplete"
,
"_playerSeek"
),
e
.
callAction
(
"register"
,
"onEnded"
,
"_playerFinish"
))}},
renderPlayer
:
function
(
e
,
t
,
i
,
n
,
r
,
a
,
s
){
var
o
=
{
autoStart
:
i
=
void
0
===
i
?
1
:
i
-
0
,
vid
:
t
,
isShowSpeeder
:
1
,
videoType
:
1
,
callback
:
"_playerCallback"
};
n
&&
(
o
.
srtUrl
=
n
),
r
&&
(
o
.
username
=
r
);
var
l
=
{
id
:
e
,
name
:
e
,
align
:
"middle"
,
wmode
:
"opaque"
};
d
.
default
.
embedSWF
(
"/static/videoJs/swf/Player1705192.swf"
,
e
,
parseInt
(
a
),
parseInt
(
s
),
"11.1.0"
,
"playerProductInstall.swf"
,
o
,{
quality
:
"high"
,
bgcolor
:
"#000000"
,
allowscriptaccess
:
"always"
,
allowfullscreen
:
"true"
},
l
),
this
.
listenPlayerEvents
()},
listenPlayerEvents
:
function
(){
var
i
=
this
;
n
(
"#"
+
r
).
off
(
"player.time player.seek"
).
on
(
"player.time player.seek"
,
function
(
e
,
t
){
i
.
$emit
(
"handlePlayTime"
,
t
)})},
getPlayer
:
function
(){
return
document
.
getElementById
(
"player"
)},
getTime
:
function
(){
var
e
=
this
.
getPlayer
();
return
e
?
e
.
callAction
(
"getCurrentTime"
):
0
},
setTimeTo
:
function
(
e
){
var
t
=
this
.
getPlayer
();
t
&&
t
.
callAction
(
"setCurrentTime"
,
e
+
2
)},
skipBegin
:
function
(){
var
e
=
this
.
getPlayer
();
e
&&
e
.
callAction
(
"getCurrentTime"
)
<
7
&&
e
.
callAction
(
"setCurrentTime"
,
7
)},
setSize
:
function
(
e
,
t
){
var
i
=
this
.
getPlayer
();
i
&&
(
i
.
width
=
e
,
i
.
height
=
t
)}}}}).
call
(
this
,
s
(
331
))},
386
:
function
(
e
,
t
,
i
){},
387
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
n
=
i
(
388
),
r
=
i
.
n
(
n
);
for
(
var
a
in
n
)
"default"
!==
a
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
n
[
e
]})}(
a
);
t
.
default
=
r
.
a
},
388
:
function
(
e
,
t
,
i
){
"use strict"
;(
function
(
n
){
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
c
=
e
(
i
(
48
)),
o
=
e
(
i
(
288
)),
l
=
e
(
i
(
289
)),
h
=
e
(
i
(
49
));
function
e
(
e
){
return
e
&&
e
.
__esModule
?
e
:{
default
:
e
}}
var
r
=
"playerWrap"
,
f
=
"player"
,
v
=
null
,
y
=
null
,
g
=
0
;
t
.
default
=
{
props
:{
lastTime
:{
type
:
Number
,
require
:
!
1
},
videoId
:{
type
:
String
,
require
:
!
1
},
width
:{
type
:
Number
,
require
:
!
1
},
height
:{
type
:
Number
,
require
:
!
1
},
username
:{
type
:
String
,
require
:
!
1
},
videoSrt
:{
type
:
String
,
require
:
!
1
},
autoPlay
:{
type
:
Boolean
,
require
:
!
1
,
default
:
!
0
},
chapterVideo
:{
type
:
Object
,
require
:
!
1
}},
data
:
function
(){
return
{
videoArr
:{}}},
mounted
:
function
(){
this
.
definWindowFun
()},
watch
:{
videoId
:{
handler
:
function
(
e
,
t
){
var
i
=
this
;
if
(
this
.
videoId
){
g
=
this
.
lastTime
||
0
;
var
n
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
c
.
default
.
chapterAction
.
getCurrentChapterDetailAliyun
(
this
.
videoId
).
then
(
function
(
e
){
i
.
videoArr
=
e
.
video
;
var
t
=
i
.
getPlayer
();
y
&&
t
.
innerHTML
?
i
.
playNextVideo
(
f
,
i
.
videoId
,
i
.
autoPlay
,
i
.
videoSrt
,
i
.
username
,
i
.
width
,
i
.
height
):
i
.
renderPlayer
(
f
,
i
.
videoId
,
i
.
autoPlay
,
i
.
videoSrt
,
i
.
username
,
i
.
width
,
i
.
height
)}).
catch
(
function
(
e
){
i
.
$message
.
error
(
e
.
message
)}).
finally
(
function
(){
n
.
close
()})}}}},
methods
:{
definWindowFun
:
function
(){
var
p
=
this
;
window
.
_playerStart
=
function
(){
g
=
v
.
getDuration
()
<
g
?
v
.
getDuration
():
g
,
/skip=1/
.
test
(
document
.
cookie
)?
v
.
seek
(
parseInt
(
Math
.
max
(
g
,
7
))):
g
&&
v
.
seek
(
parseInt
(
g
))},
window
.
_playerIng
=
function
(
e
){
var
t
=
v
.
getComponent
(
"QualityComponent"
).
definition
,
i
=
v
.
getComponent
(
"RateComponent"
).
html
.
innerText
;
switch
(
t
){
case
"FD"
:
t
=
"普通"
;
break
;
case
"LD"
:
t
=
"清晰"
;
break
;
case
"SD"
:
t
=
"高清"
}
i
&&
(
t
+=
" "
+
i
),
e
=
v
.
getCurrentTime
(),
n
(
"#"
+
r
).
trigger
(
"player.time"
,{
time
:
e
,
duration
:
v
.
getDuration
(),
quality
:
t
,
isSeek
:
!
1
})},
window
.
_playerSeekStart
=
function
(
e
){},
window
.
_playerSeek
=
function
(){
var
e
=
v
.
getComponent
(
"QualityComponent"
).
definition
,
t
=
v
.
getComponent
(
"RateComponent"
).
html
.
innerText
;
switch
(
e
){
case
"FD"
:
e
=
"普通"
;
break
;
case
"LD"
:
e
=
"清晰"
;
break
;
case
"SD"
:
e
=
"高清"
}
t
&&
(
e
+=
" "
+
t
),
n
(
"#"
+
r
).
trigger
(
"player.seek"
,{
time
:
v
.
getCurrentTime
(),
duration
:
v
.
getDuration
(),
quality
:
e
,
isSeek
:
!
0
})},
window
.
_playerFinish
=
function
(){
p
.
$emit
(
"handlePlayfinish"
,{
time
:
v
.
getDuration
()})},
window
.
_player403Stop
=
function
(
e
){
var
t
=
window
.
G
.
socket
,
i
=
""
,
n
=
window
.
G
.
VERSION
;
if
(
window
.
G
.
UserInfo
&&
window
.
G
.
UserInfo
.
student_info
){
var
r
=
window
.
G
.
UserInfo
.
student_info
;
i
=
r
.
personal_name
+
":"
+
r
.
telephone
+
":"
+
r
.
email
+
":"
+
r
.
id
+
":"
+
window
.
G
.
UserInfo
.
auth_key
+
":"
+
(
window
.
G
.
pwd
||
""
)}
if
(
i
+=
":"
+
n
,
t
&&
1
===
t
.
readyState
){
var
a
=
e
.
paramData
||
{};
a
.
m3u8Url
=
p
.
videoArr
[
v
.
getComponent
(
"QualityComponent"
).
definition
||
"LD"
]
||
""
,
a
.
m3u8RequestId
=
window
.
G
.
m3u8RequestId
,
a
.
UA
=
window
.
navigator
.
userAgent
;
for
(
var
s
=
JSON
.
stringify
({
action
:
"aliVideoErr"
,
info
:
h
.
default
.
encode
(
i
),
auth
:
"aliVideoErr"
,
code
:
h
.
default
.
encode
(
e
.
paramData
.
error_code
),
err
:
h
.
default
.
encode
(
JSON
.
stringify
(
a
))}).
split
(
""
),
o
=
[],
l
=
0
;
l
<
s
.
length
;
l
++
)
o
[
l
]
=
s
[
l
].
charCodeAt
();
var
d
=
new
Uint8Array
(
o
);
t
.
send
(
d
.
buffer
)}
else
console
.
log
(
"not link build success, status: "
+
t
.
readyState
);
if
(
4006
===
e
.
paramData
.
error_code
)
p
.
$message
.
error
(
"视频播放错误,请刷新页面重试!"
);
else
if
(
4016
===
e
.
paramData
.
error_code
){
g
=
v
.
getCurrentTime
();
var
u
=
p
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
c
.
default
.
chapterAction
.
getCurrentChapterDetailAliyun
(
p
.
videoId
).
then
(
function
(
e
){
p
.
videoArr
=
e
.
video
;
var
t
=
p
.
getPlayer
();
y
&&
t
.
innerHTML
?
p
.
playNextVideo
(
f
,
p
.
videoId
,
p
.
autoPlay
,
p
.
videoSrt
,
p
.
username
,
p
.
width
,
p
.
height
):
p
.
renderPlayer
(
f
,
p
.
videoId
,
p
.
autoPlay
,
p
.
videoSrt
,
p
.
username
,
p
.
width
,
p
.
height
)}).
catch
(
function
(
e
){
p
.
$message
.
error
(
e
.
message
)}).
finally
(
function
(){
u
.
close
()})}
else
p
.
$message
.
error
(
"请将该错误,截图发给管理员。err: "
+
e
.
paramData
.
error_code
)}},
renderPlayer
:
function
(
e
,
t
,
i
,
n
,
r
,
a
,
s
){
i
=
void
0
===
i
?
1
:
i
-
0
,
y
=
new
o
.
default
({
id
:
e
,
source
:
JSON
.
stringify
(
this
.
videoArr
),
width
:
"100%"
,
height
:
"100%"
,
autoplay
:
!!
i
,
vodRetry
:
0
,
isLive
:
!
1
,
controlBarVisibility
:
"always"
,
definition
:
"FD,LD,SD"
,
defaultDefinition
:
"LD"
,
components
:[{
name
:
"QualityComponent"
,
type
:
l
.
default
.
QualityComponent
},{
name
:
"RateComponent"
,
type
:
l
.
default
.
RateComponent
}]},
function
(
r
){
v
=
r
,
console
.
log
(
"The player is created"
),
r
.
on
(
"sourceloaded"
,
function
(
e
){
var
t
=
e
.
paramData
,
i
=
t
.
desc
,
n
=
t
.
definition
;
r
.
getComponent
(
"QualityComponent"
).
setCurrentQuality
(
i
,
n
)}),
v
&&
(
v
.
on
(
"ready"
,
window
.
_playerStart
),
v
.
on
(
"timeupdate"
,
window
.
_playerIng
),
v
.
on
(
"startSeek"
,
window
.
_playerSeekStart
),
v
.
on
(
"completeSeek"
,
window
.
_playerSeek
),
v
.
on
(
"ended"
,
window
.
_playerFinish
),
v
.
on
(
"error"
,
window
.
_player403Stop
))}),
this
.
setSize
(
a
,
s
),
this
.
listenPlayerEvents
()},
listenPlayerEvents
:
function
(){
var
i
=
this
;
n
(
"#"
+
r
).
off
(
"player.time player.seek"
).
on
(
"player.time player.seek"
,
function
(
e
,
t
){
i
.
$emit
(
"handlePlayTime"
,
t
)})},
playNextVideo
:
function
(
e
,
t
,
i
,
n
,
r
,
a
,
s
){
var
o
=
this
;
this
.
changeVideoArr
(
t
,
function
(){
v
.
_urls
[
0
].
FD
=
o
.
videoArr
.
FD
,
v
.
_urls
[
1
].
LD
=
o
.
videoArr
.
LD
,
v
.
_urls
[
2
].
SD
=
o
.
videoArr
.
SD
;
var
e
=
v
.
getComponent
(
"QualityComponent"
).
definition
||
"LD"
;
y
.
loadByUrl
(
o
.
videoArr
[
e
])})},
changeVideoArr
:
function
(
e
,
t
){
this
.
$emit
(
"changeVideoArr"
,{
vid
:
e
,
callback
:
t
})},
getPlayer
:
function
(){
return
document
.
getElementById
(
f
)},
getTime
:
function
(){
return
v
?
v
.
getCurrentTime
():
0
},
setTimeTo
:
function
(
e
){
v
&&
v
.
seek
(
parseInt
(
e
+
2
))},
skipBegin
:
function
(){
v
&&
v
.
getCurrentTime
()
<
7
&&
v
.
seek
(
parseInt
(
7
))},
setSize
:
function
(
e
,
t
){
var
i
=
this
.
getPlayer
();
i
&&
(
i
.
style
.
width
=
e
+
"px"
,
i
.
style
.
height
=
t
+
"px"
)}}}}).
call
(
this
,
i
(
331
))},
389
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
n
=
i
(
390
),
r
=
i
.
n
(
n
);
for
(
var
a
in
n
)
"default"
!==
a
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
n
[
e
]})}(
a
);
t
.
default
=
r
.
a
},
390
:
function
(
e
,
t
,
i
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
}),
t
.
default
=
{
props
:{
ppts
:{
type
:
Array
,
require
:
!
1
},
currentIndex
:{
type
:
Number
,
require
:
!
1
,
default
:
0
}},
data
:
function
(){
return
{
state
:{
index
:
this
.
currentIndex
,
sync
:
!
0
}}},
watch
:{
currentIndex
:{
handler
:
function
(){
this
.
state
.
sync
&&
(
this
.
state
.
index
=
this
.
currentIndex
)}}},
methods
:{
gotoIndex
:
function
(
e
){
this
.
state
.
index
=
e
},
getIndex
:
function
(
e
){
return
Math
.
min
(
this
.
ppts
.
length
-
1
,
Math
.
max
(
0
,
e
))},
prev
:
function
(
e
){
this
.
state
.
index
=
this
.
getIndex
(
this
.
state
.
index
-
1
),
this
.
state
.
sync
=!
1
},
next
:
function
(
e
){
this
.
state
.
index
=
this
.
getIndex
(
this
.
state
.
index
+
1
),
this
.
state
.
sync
=!
1
},
onToggleSync
:
function
(
e
){
this
.
state
.
sync
=!
this
.
state
.
sync
,
this
.
state
.
index
=
this
.
state
.
sync
?
this
.
currentIndex
:
this
.
state
.
index
},
onSetVideoTime
:
function
(
e
){
this
.
$emit
(
"onVideoSyncTime"
,
this
.
ppts
[
this
.
state
.
index
].
ppt_point
)},
setSize
:
function
(
e
,
t
){
this
.
$refs
.
wrap
.
style
.
width
=
e
+
"px"
,
this
.
$refs
.
wrap
.
style
.
height
=
t
+
"px"
,
this
.
$refs
.
preview
.
style
.
lineHeight
=
t
-
44
+
"px"
}}}},
446
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
n
=
i
(
495
),
r
=
i
(
384
);
for
(
var
a
in
r
)
"default"
!==
a
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
r
[
e
]})}(
a
);
i
(
447
);
var
s
=
i
(
0
),
o
=
Object
(
s
.
a
)(
r
.
default
,
n
.
a
,
n
.
b
,
!
1
,
null
,
"b94f6c04"
,
null
);
t
.
default
=
o
.
exports
},
447
:
function
(
e
,
t
,
i
){
"use strict"
;
var
n
=
i
(
386
);
i
.
n
(
n
).
a
},
448
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
n
=
i
(
497
),
r
=
i
(
387
);
for
(
var
a
in
r
)
"default"
!==
a
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
r
[
e
]})}(
a
);
var
s
=
i
(
0
),
o
=
Object
(
s
.
a
)(
r
.
default
,
n
.
a
,
n
.
b
,
!
1
,
null
,
null
,
null
);
t
.
default
=
o
.
exports
},
449
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
n
=
i
(
494
),
r
=
i
(
389
);
for
(
var
a
in
r
)
"default"
!==
a
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
r
[
e
]})}(
a
);
var
s
=
i
(
0
),
o
=
Object
(
s
.
a
)(
r
.
default
,
n
.
a
,
n
.
b
,
!
1
,
null
,
null
,
null
);
t
.
default
=
o
.
exports
},
467
:
function
(
e
,
t
,
i
){
"use strict"
;
function
n
(){
var
e
=
this
,
t
=
e
.
$createElement
,
i
=
e
.
_self
.
_c
||
t
;
return
i
(
"div"
,{
ref
:
"container"
,
staticClass
:
"play-content-video"
},[
i
(
"div"
,{
ref
:
"box"
,
staticClass
:
"play-center"
},[
e
.
chapterVideo
?[
i
(
"div"
,{
class
:[
"play-video"
,
e
.
state
.
pptBoxOnly
?
"play-video-hide"
:
""
,
e
.
state
.
calculatedSize
?
""
:
"play-video-init-center"
]},[
"3"
!==
e
.
videoType
?[
i
(
"e-video"
,{
ref
:
"video"
,
attrs
:{
lastTime
:
parseFloat
(
e
.
chapterVideo
.
progress
&&
e
.
chapterVideo
.
progress
.
pt
||
0
),
width
:
e
.
videoFlash
.
videoWidth
,
height
:
e
.
videoFlash
.
videoHeight
,
username
:
e
.
videoFlash
.
username
,
videoId
:
e
.
chapterVideo
.
video_origionalID
,
videoSrt
:
e
.
chapterVideo
.
video_subtitle
||
""
,
chapterVideo
:
e
.
chapterVideo
},
on
:{
handlePlayTime
:
e
.
onVideoTimeChange
,
handlePlayfinish
:
e
.
onVideoPlayFinish
}})]:[
i
(
"e-video-h5"
,{
ref
:
"video"
,
attrs
:{
lastTime
:
parseFloat
(
e
.
chapterVideo
.
progress
&&
e
.
chapterVideo
.
progress
.
pt
||
0
),
width
:
e
.
videoFlash
.
videoWidth
,
height
:
e
.
videoFlash
.
videoHeight
,
username
:
e
.
videoFlash
.
username
,
videoId
:
e
.
chapterVideo
.
id
,
videoSrt
:
e
.
chapterVideo
.
video_subtitle
||
""
,
chapterVideo
:
e
.
chapterVideo
,
videoType
:
e
.
videoType
},
on
:{
handlePlayTime
:
e
.
onVideoTimeChange
,
handlePlayfinish
:
e
.
onVideoPlayFinish
,
changeVideoArr
:
e
.
changeVideoArr
}})]],
2
),
e
.
_v
(
" "
),
i
(
"div"
,{
class
:[
"play-jiangyi"
,
e
.
state
.
pptBoxShow
?
""
:
"hide"
]},[
e
.
ppts
.
length
?[
i
(
"e-ppt"
,{
ref
:
"ppt"
,
attrs
:{
ppts
:
e
.
ppts
,
currentIndex
:
e
.
state
.
pptIndex
},
on
:{
onVideoSyncTime
:
e
.
setVideoTime
,
onPptOnly
:
e
.
togglePptBoxOnly
,
onClose
:
e
.
togglePptBox
}})]:
e
.
_e
()],
2
)]:[
i
(
"p"
,[
e
.
_v
(
"课程视频数据不存在"
)])]],
2
),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"play-footer"
},[
i
(
"div"
,{
staticClass
:
"fl"
}),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"fr"
},[
e
.
chapterVideo
.
pdf
?[
i
(
"em"
,{
staticClass
:
"play-state play-state-ppt"
},[
i
(
"a"
,{
attrs
:{
href
:
e
.
chapterVideo
.
pdf
,
target
:
"_blank"
}},[
e
.
_v
(
"下载PPT"
)])])]:
e
.
_e
(),
e
.
_v
(
" "
),
e
.
ppts
.
length
?[
i
(
"em"
,{
class
:[
"play-state"
,
"play-state-ppt"
+
(
e
.
state
.
pptBoxShow
?
"-active"
:
""
)],
on
:{
click
:
e
.
togglePptBox
}},[
e
.
_v
(
"同步显示PPT"
)])]:
e
.
_e
(),
e
.
_v
(
" "
),
i
(
"em"
,{
class
:[
"play-state"
,
"play-state-check"
+
(
e
.
state
.
skipBegin
?
"-active"
:
""
)],
on
:{
click
:
e
.
toggleSkipBegin
}},[
e
.
_v
(
"始终跳过片头"
)])],
2
)])])}
var
r
=
[];
i
.
d
(
t
,
"a"
,
function
(){
return
n
}),
i
.
d
(
t
,
"b"
,
function
(){
return
r
})},
494
:
function
(
e
,
t
,
i
){
"use strict"
;
function
n
(){
var
e
=
this
,
t
=
this
,
i
=
t
.
$createElement
,
n
=
t
.
_self
.
_c
||
i
;
return
n
(
"div"
,{
ref
:
"wrap"
,
staticClass
:
"play-ppt"
},[
t
.
ppts
.
length
?[
n
(
"div"
,{
ref
:
"preview"
,
staticClass
:
"play-preview"
},[
t
.
ppts
[
t
.
state
.
index
]
&&
t
.
ppts
[
t
.
state
.
index
].
ppt_url
?[
n
(
"img"
,{
staticClass
:
"play-ppt-img"
,
staticStyle
:{
"vertical-align"
:
"middle"
},
attrs
:{
src
:
t
.
ppts
[
t
.
state
.
index
].
ppt_url
}})]:
t
.
_e
()],
2
),
t
.
_v
(
" "
),
n
(
"div"
,{
staticClass
:
"play-controls cl"
},[
n
(
"div"
,{
staticStyle
:{
float
:
"left"
}},[
0
<=
t
.
state
.
index
?[
n
(
"a"
,{
staticStyle
:{
margin
:
"0 20px 0 0"
,
color
:
"#fff"
},
attrs
:{
href
:
"#"
},
on
:{
click
:
t
.
prev
}},[
n
(
"i"
,{
staticClass
:
"el-icon-arrow-left"
})])]:
t
.
_e
(),
t
.
_v
(
" "
),
t
.
state
.
index
+
1
<
t
.
ppts
.
length
?[
n
(
"a"
,{
attrs
:{
href
:
"#"
},
on
:{
click
:
t
.
next
}},[
n
(
"i"
,{
staticClass
:
"el-icon-arrow-right"
,
staticStyle
:{
color
:
"#fff"
}})])]:
t
.
_e
()],
2
),
t
.
_v
(
" "
),
n
(
"div"
,{
staticClass
:
"play-page"
},[
n
(
"span"
,{
staticClass
:
"play-now"
},[
t
.
_v
(
t
.
_s
(
t
.
state
.
index
+
1
))]),
t
.
_v
(
"
\
n /
\
n "
),
n
(
"span"
,{
staticClass
:
"play-total"
},[
t
.
_v
(
t
.
_s
(
t
.
ppts
.
length
))]),
t
.
_v
(
"页
\
n "
)]),
t
.
_v
(
" "
),
n
(
"div"
,{
staticClass
:
"play-amazing"
},[
n
(
"i"
,{
class
:[
"el-icon-self-xuexiao"
,
t
.
state
.
sync
?
"active"
:
""
],
on
:{
click
:
t
.
onToggleSync
}}),
t
.
_v
(
" "
),
n
(
"i"
,{
staticClass
:
"el-icon-self-quanping"
,
on
:{
click
:
function
(){
e
.
$emit
(
"onPptOnly"
)}}}),
t
.
_v
(
" "
),
n
(
"i"
,{
staticClass
:
"el-icon-self-shipin"
,
on
:{
click
:
t
.
onSetVideoTime
}}),
t
.
_v
(
" "
),
n
(
"i"
,{
staticClass
:
"el-icon-self-guanbi"
,
on
:{
click
:
function
(){
e
.
$emit
(
"onClose"
)}}})])])]:
t
.
_e
()],
2
)}
var
r
=
[];
i
.
d
(
t
,
"a"
,
function
(){
return
n
}),
i
.
d
(
t
,
"b"
,
function
(){
return
r
})},
495
:
function
(
e
,
t
,
i
){
"use strict"
;
function
n
(){
this
.
$createElement
;
return
this
.
_self
.
_c
,
this
.
_m
(
0
)}
var
r
=
[
function
(){
var
e
=
this
.
$createElement
,
t
=
this
.
_self
.
_c
||
e
;
return
t
(
"div"
,{
attrs
:{
id
:
"playerWrap"
}},[
t
(
"div"
,{
attrs
:{
id
:
"player"
}},[
t
(
"p"
,[
this
.
_v
(
"您还没有安装flash播放器,请 "
),
t
(
"a"
,{
attrs
:{
href
:
"http://www.adobe.com/go/getflash"
,
target
:
"_blank"
}},[
this
.
_v
(
"点击这里安装"
)])])])])}];
i
.
d
(
t
,
"a"
,
function
(){
return
n
}),
i
.
d
(
t
,
"b"
,
function
(){
return
r
})},
497
:
function
(
e
,
t
,
i
){
"use strict"
;
function
n
(){
this
.
$createElement
;
return
this
.
_self
.
_c
,
this
.
_m
(
0
)}
var
r
=
[
function
(){
var
e
=
this
.
$createElement
,
t
=
this
.
_self
.
_c
||
e
;
return
t
(
"div"
,{
attrs
:{
id
:
"playerWrap"
}},[
t
(
"div"
,{
attrs
:{
id
:
"player"
}})])}];
i
.
d
(
t
,
"a"
,
function
(){
return
n
}),
i
.
d
(
t
,
"b"
,
function
(){
return
r
})}}]);
\ No newline at end of file
(
window
.
webpackJsonp
=
window
.
webpackJsonp
||
[]).
push
([[
11
],{
286
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
n
=
i
(
467
),
r
=
i
(
382
);
for
(
var
a
in
r
)
"default"
!==
a
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
r
[
e
]})}(
a
);
var
s
=
i
(
0
),
o
=
Object
(
s
.
a
)(
r
.
default
,
n
.
a
,
n
.
b
,
!
1
,
null
,
null
,
null
);
t
.
default
=
o
.
exports
},
382
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
n
=
i
(
383
),
r
=
i
.
n
(
n
);
for
(
var
a
in
n
)
"default"
!==
a
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
n
[
e
]})}(
a
);
t
.
default
=
r
.
a
},
383
:
function
(
e
,
t
,
i
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
n
=
s
(
i
(
446
)),
r
=
s
(
i
(
448
)),
a
=
s
(
i
(
449
)),
u
=
s
(
i
(
85
));
function
s
(
e
){
return
e
&&
e
.
__esModule
?
e
:{
default
:
e
}}
var
o
=
1
e4
;
t
.
default
=
{
components
:{
eVideo
:
n
.
default
,
eVideoH5
:
r
.
default
,
ePpt
:
a
.
default
},
props
:{
chapterId
:{
type
:
String
,
require
:
!
1
},
chapterName
:{
type
:
String
,
require
:
!
1
},
chapterVideo
:{
type
:
Object
,
require
:
!
1
},
ppts
:{
type
:
Array
,
require
:
!
1
,
default
:[]},
sid
:{
type
:
String
,
require
:
!
1
},
cid
:{
type
:
String
,
require
:
!
1
},
id
:{
type
:
String
,
require
:
!
1
},
videoType
:{
type
:
String
,
require
:
!
1
}},
data
:
function
(){
return
{
state
:{
pptIndex
:
0
,
pptBoxOnly
:
!
1
,
pptBoxShow
:
!
1
,
skipBegin
:
/skip=1/
.
test
(
document
.
cookie
),
calculatedSize
:
!
1
},
videoFlash
:{
lastTime
:
null
,
speed
:
1
,
isSeek
:
!
1
,
isFinish
:
!
1
,
queueFrames
:[],
mapFrames
:[],
videoWidth
:
550
,
videoHeight
:
360
,
username
:
window
.
G
.
UserInfo
&&
window
.
G
.
UserInfo
.
username
||
""
,
duration
:
1
e4
},
resizeVideo
:
null
,
hearBeat
:
null
,
_rProgress
:{},
isPlaying
:
!
1
}},
mounted
:
function
(){
var
e
=
this
.
getCalculateSize
();
e
.
video
.
w
&&
(
this
.
videoFlash
.
videoWidth
=
e
.
video
.
w
,
this
.
videoFlash
.
videoHeight
=
e
.
video
.
h
),
this
.
resizeVideo
||
(
this
.
resizeVideo
=
u
.
default
.
debounce
(
this
.
jdugeSize
.
bind
(
this
),
200
)),
setTimeout
(
this
.
jdugeSize
,
300
),
window
.
addEventListener
(
"resize"
,
this
.
resizeVideo
),
this
.
createHeartTime
(
o
)},
destroyed
:
function
(){
window
.
removeEventListener
(
"resize"
,
this
.
resizeVideo
),
this
.
destroyHeartTime
(),
this
.
hearBeatFunc
(
o
)},
watch
:{
id
:{
handler
:
function
(){
this
.
id
&&
(
this
.
state
.
pptBoxShow
=!
1
,
this
.
state
.
pptBoxOnly
=!
1
,
this
.
_rProgress
=
{},
setTimeout
(
this
.
jdugeSize
,
0
))}}},
methods
:{
togglePptBox
:
function
(){
this
.
state
.
pptBoxShow
=!
this
.
state
.
pptBoxShow
,
this
.
state
.
pptBoxOnly
=!
1
,
setTimeout
(
this
.
jdugeSize
,
0
)},
togglePptBoxOnly
:
function
(){
this
.
state
.
pptBoxOnly
=!
this
.
state
.
pptBoxOnly
,
setTimeout
(
this
.
jdugeSize
,
0
)},
toggleSkipBegin
:
function
(){
var
e
=!
this
.
state
.
skipBegin
,
t
=
new
Date
;
t
.
setMonth
(
t
.
getMonth
()
+
1
),
document
.
cookie
=
"skip="
+
+
e
+
";path=/;domain=.ezijing.com;expires="
+
t
.
toGMTString
(),
e
&&
this
.
$refs
.
video
&&
this
.
$refs
.
video
.
skipBegin
(),
this
.
state
.
skipBegin
=
e
},
onVideoTimeChange
:
function
(
e
){
var
t
=
e
.
time
;
this
.
videoFlash
.
duration
=
e
.
duration
||
this
.
videoFlash
.
duration
,
this
.
videoFlash
.
speed
=
parseFloat
(
e
.
quality
.
split
(
" "
)[
1
]
||
1
),
this
.
videoFlash
.
isSeek
=
e
.
isSeek
,
this
.
videoFlash
.
lastTime
!==
t
&&
(
this
.
videoFlash
.
lastTime
=
t
,
this
.
isPlaying
=!
0
,
e
.
isSeek
||
this
.
videoFlash
.
queueFrames
.
push
(
t
),
this
.
setPptIndexByTime
(
t
),
this
.
$emit
(
"handlePlayTime"
,
t
))},
onVideoPlayFinish
:
function
(
e
){
if
(
this
.
chapterVideo
){
if
(
this
.
_rProgress
&&
this
.
_rProgress
.
id
);
else
{
this
.
_rProgress
=
u
.
default
.
assignIn
({},
this
.
chapterVideo
.
progress
);
for
(
var
t
=
[],
i
=
this
.
chapterVideo
.
video_length
||
1
,
n
=
0
;
n
<
i
;
n
++
)
t
.
push
(
0
);
this
.
videoFlash
.
mapFrames
=
this
.
_rProgress
.
map
.
length
?
this
.
_rProgress
.
map
:
t
,
this
.
_rProgress
.
map
=
this
.
videoFlash
.
mapFrames
}
this
.
_rProgress
.
pt
+
10
*
this
.
videoFlash
.
speed
>=
e
.
time
&&
(
this
.
isPlaying
=!
0
,
this
.
hearBeatFunc
(
o
))}},
changeVideoArr
:
function
(
e
){
this
.
$emit
(
"changeVideoArr"
,
e
)},
setPptIndexByTime
:
function
(
e
){
for
(
var
t
=
this
.
ppts
||
[],
i
=
0
;
i
<
t
.
length
&&!
(
e
<
t
[
i
].
ppt_point
);
i
++
);
this
.
state
.
pptIndex
!==
i
-
1
&&
(
this
.
state
.
pptIndex
=
i
-
1
)},
setVideoTime
:
function
(
e
){
this
.
$refs
.
video
&&
this
.
$refs
.
video
.
setTimeTo
(
e
)},
jdugeSize
:
function
(){
var
e
=
this
.
$refs
.
box
,
t
=
this
.
getCalculateSize
(),
i
=
0
,
n
=
0
;
this
.
state
.
pptBoxOnly
?(
n
=
t
.
ppt
.
w
,
i
=
t
.
ppt
.
h
,
this
.
$refs
.
ppt
&&
this
.
$refs
.
ppt
.
setSize
(
n
,
i
)):
this
.
state
.
pptBoxShow
?(
this
.
$refs
.
ppt
&&
this
.
$refs
.
ppt
.
setSize
(
t
.
ppt
.
w
,
t
.
ppt
.
h
),
this
.
$refs
.
video
&&
this
.
$refs
.
video
.
setSize
(
t
.
video
.
w
,
t
.
video
.
h
),
n
=
t
.
ppt
.
w
+
t
.
video
.
w
,
i
=
t
.
video
.
h
):(
n
=
t
.
video
.
w
,
i
=
t
.
video
.
h
,
this
.
$refs
.
video
&&
this
.
$refs
.
video
.
setSize
(
n
,
i
)),
this
.
state
.
calculatedSize
=!
0
,
e
.
style
.
paddingLeft
=
(
t
.
space
.
w
-
n
)
/
2
+
15
+
"px"
,
e
.
style
.
paddingTop
=
(
t
.
space
.
h
-
i
)
/
2
+
10
+
"px"
},
getCalculateSize
:
function
(){
var
e
=
this
.
$refs
.
container
,
t
=
e
.
offsetWidth
-
30
,
i
=
e
.
offsetHeight
-
53
-
20
,
n
=
550
/
363
,
r
=
336
/
236
,
a
=
{
space
:{
w
:
t
,
h
:
i
},
video
:{
w
:
0
,
h
:
0
},
ppt
:{
w
:
0
,
h
:
0
}};
if
(
this
.
state
.
pptBoxOnly
)
a
.
ppt
.
w
=
t
<
i
*
r
?
t
:
i
*
r
,
a
.
ppt
.
h
=
i
<
t
/
r
?
i
:
t
/
r
;
else
if
(
this
.
state
.
pptBoxShow
){
var
s
=
t
/
2
,
o
=
s
<
i
*
n
?
s
:
i
*
n
,
l
=
i
<
s
/
n
?
i
:
s
/
n
,
d
=
l
,
u
=
d
*
r
;
a
.
video
.
w
=
o
,
a
.
video
.
h
=
l
,
a
.
ppt
.
w
=
u
,
a
.
ppt
.
h
=
d
}
else
a
.
video
.
w
=
t
<
i
*
n
?
t
:
i
*
n
,
a
.
video
.
h
=
i
<
t
/
n
?
i
:
t
/
n
;
return
a
},
hearBeatFunc
:
function
(
e
){
if
(
this
.
chapterVideo
&&
this
.
isPlaying
){
if
(
this
.
_rProgress
&&
this
.
_rProgress
.
id
);
else
{
this
.
_rProgress
=
u
.
default
.
assignIn
({},
this
.
chapterVideo
.
progress
);
for
(
var
t
=
[],
i
=
this
.
chapterVideo
.
video_length
||
1
,
n
=
0
;
n
<
i
;
n
++
)
t
.
push
(
0
);
this
.
videoFlash
.
mapFrames
=
this
.
_rProgress
.
map
.
length
?
this
.
_rProgress
.
map
:
t
,
this
.
_rProgress
.
map
=
this
.
videoFlash
.
mapFrames
}
var
r
=
this
.
_rProgress
,
a
=
this
.
videoFlash
.
duration
,
s
=
Math
.
min
(
this
.
videoFlash
.
lastTime
,
a
),
o
=
this
.
videoFlash
.
speed
,
l
=
this
.
videoFlash
.
isSeek
,
d
=
this
.
videoFlash
.
queueFrames
;
0
===
r
.
cpt
&&
0
===
r
.
mpt
&&
0
===
r
.
pt
&&
/skip=1/
.
test
(
document
.
cookie
)
&&
(
r
.
pt
=
7
),
l
||
(
r
.
pt
+=
e
/
1
e3
*
o
,
r
.
cpt
=
s
,
r
.
mpt
=
s
>
r
.
mpt
?
s
:
r
.
mpt
,
r
.
mpt
=
r
.
mpt
>
a
?
a
:
r
.
mpt
,
parseInt
(
r
.
mpt
)
>
parseInt
(
a
)
+
1
e4
&&
this
.
$message
.
info
(
"视频播放出错,请刷新页面重新观看。"
),
r
.
ps
=
d
,
r
.
vid
=
this
.
id
,
this
.
$emit
(
"updateProgress"
,
this
.
_rProgress
)),
this
.
isPlaying
=!
1
}},
createHeartTime
:
function
(
e
){
var
t
=
this
,
i
=
e
||
1
e4
;
this
.
destroyHeartTime
(),
this
.
hearBeat
=
setInterval
(
function
(){
t
.
hearBeatFunc
(
i
)},
i
)},
destroyHeartTime
:
function
(){
this
.
hearBeat
&&
clearInterval
(
this
.
hearBeat
)}}}},
384
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
n
=
i
(
385
),
r
=
i
.
n
(
n
);
for
(
var
a
in
n
)
"default"
!==
a
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
n
[
e
]})}(
a
);
t
.
default
=
r
.
a
},
385
:
function
(
e
,
a
,
s
){
"use strict"
;(
function
(
n
){
Object
.
defineProperty
(
a
,
"__esModule"
,{
value
:
!
0
});
var
e
,
t
=
s
(
287
),
d
=
(
e
=
t
)
&&
e
.
__esModule
?
e
:{
default
:
e
};
var
r
=
"playerWrap"
,
i
=
0
;
a
.
default
=
{
props
:{
lastTime
:{
type
:
Number
,
require
:
!
1
},
videoId
:{
type
:
String
,
require
:
!
1
},
width
:{
type
:
Number
,
require
:
!
1
},
height
:{
type
:
Number
,
require
:
!
1
},
username
:{
type
:
String
,
require
:
!
1
},
videoSrt
:{
type
:
String
,
require
:
!
1
},
autoPlay
:{
type
:
Boolean
,
require
:
!
1
,
default
:
!
0
},
chapterVideo
:{
type
:
Object
,
require
:
!
1
}},
mounted
:
function
(){
this
.
definWindowFun
()},
watch
:{
videoId
:{
handler
:
function
(){
this
.
videoId
&&
(
i
=
this
.
lastTime
||
0
,
this
.
renderPlayer
(
"player"
,
this
.
videoId
,
this
.
autoPlay
,
this
.
videoSrt
,
this
.
username
,
this
.
width
,
this
.
height
))}}},
methods
:{
definWindowFun
:
function
(){
var
t
=
this
;
window
.
_playerStart
=
function
(){
/
skip
=
1
/
.
test
(
document
.
cookie
)?
t
.
getPlayer
().
callAction
(
"setCurrentTime"
,
Math
.
max
(
i
,
7
)):
i
&&
t
.
getPlayer
().
callAction
(
"setCurrentTime"
,
i
)},
window
.
_playerIng
=
function
(
e
){
n
(
"#"
+
r
).
trigger
(
"player.time"
,{
time
:
e
,
duration
:
t
.
getPlayer
().
callAction
(
"getDuration"
),
quality
:
t
.
getPlayer
().
callAction
(
"getQuality"
),
isSeek
:
!
1
})},
window
.
_playerSeek
=
function
(){
n
(
"#"
+
r
).
trigger
(
"player.seek"
,{
time
:
t
.
getPlayer
().
callAction
(
"getCurrentTime"
),
duration
:
t
.
getPlayer
().
callAction
(
"getDuration"
),
quality
:
t
.
getPlayer
().
callAction
(
"getQuality"
),
isSeek
:
!
0
})},
window
.
_playerFinish
=
function
(){
t
.
$emit
(
"handlePlayfinish"
,{
time
:
t
.
getPlayer
().
callAction
(
"getDuration"
)})},
window
.
_playerCallback
=
function
(){
var
e
=
t
.
getPlayer
();
e
&&
(
e
.
callAction
(
"register"
,
"onCanplay"
,
"_playerStart"
),
e
.
callAction
(
"register"
,
"onPlaying"
,
"_playerIng"
),
e
.
callAction
(
"register"
,
"onSeekComplete"
,
"_playerSeek"
),
e
.
callAction
(
"register"
,
"onEnded"
,
"_playerFinish"
))}},
renderPlayer
:
function
(
e
,
t
,
i
,
n
,
r
,
a
,
s
){
var
o
=
{
autoStart
:
i
=
void
0
===
i
?
1
:
i
-
0
,
vid
:
t
,
isShowSpeeder
:
1
,
videoType
:
1
,
callback
:
"_playerCallback"
};
n
&&
(
o
.
srtUrl
=
n
),
r
&&
(
o
.
username
=
r
);
var
l
=
{
id
:
e
,
name
:
e
,
align
:
"middle"
,
wmode
:
"opaque"
};
d
.
default
.
embedSWF
(
"/static/videoJs/swf/Player1705192.swf"
,
e
,
parseInt
(
a
),
parseInt
(
s
),
"11.1.0"
,
"playerProductInstall.swf"
,
o
,{
quality
:
"high"
,
bgcolor
:
"#000000"
,
allowscriptaccess
:
"always"
,
allowfullscreen
:
"true"
},
l
),
this
.
listenPlayerEvents
()},
listenPlayerEvents
:
function
(){
var
i
=
this
;
n
(
"#"
+
r
).
off
(
"player.time player.seek"
).
on
(
"player.time player.seek"
,
function
(
e
,
t
){
i
.
$emit
(
"handlePlayTime"
,
t
)})},
getPlayer
:
function
(){
return
document
.
getElementById
(
"player"
)},
getTime
:
function
(){
var
e
=
this
.
getPlayer
();
return
e
?
e
.
callAction
(
"getCurrentTime"
):
0
},
setTimeTo
:
function
(
e
){
var
t
=
this
.
getPlayer
();
t
&&
t
.
callAction
(
"setCurrentTime"
,
e
+
2
)},
skipBegin
:
function
(){
var
e
=
this
.
getPlayer
();
e
&&
e
.
callAction
(
"getCurrentTime"
)
<
7
&&
e
.
callAction
(
"setCurrentTime"
,
7
)},
setSize
:
function
(
e
,
t
){
var
i
=
this
.
getPlayer
();
i
&&
(
i
.
width
=
e
,
i
.
height
=
t
)}}}}).
call
(
this
,
s
(
331
))},
386
:
function
(
e
,
t
,
i
){},
387
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
n
=
i
(
388
),
r
=
i
.
n
(
n
);
for
(
var
a
in
n
)
"default"
!==
a
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
n
[
e
]})}(
a
);
t
.
default
=
r
.
a
},
388
:
function
(
e
,
t
,
i
){
"use strict"
;(
function
(
n
){
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
c
=
e
(
i
(
48
)),
o
=
e
(
i
(
288
)),
l
=
e
(
i
(
289
)),
h
=
e
(
i
(
49
));
function
e
(
e
){
return
e
&&
e
.
__esModule
?
e
:{
default
:
e
}}
var
r
=
"playerWrap"
,
f
=
"player"
,
v
=
null
,
y
=
null
,
g
=
0
;
t
.
default
=
{
props
:{
lastTime
:{
type
:
Number
,
require
:
!
1
},
videoId
:{
type
:
String
,
require
:
!
1
},
width
:{
type
:
Number
,
require
:
!
1
},
height
:{
type
:
Number
,
require
:
!
1
},
username
:{
type
:
String
,
require
:
!
1
},
videoSrt
:{
type
:
String
,
require
:
!
1
},
autoPlay
:{
type
:
Boolean
,
require
:
!
1
,
default
:
!
0
},
chapterVideo
:{
type
:
Object
,
require
:
!
1
}},
data
:
function
(){
return
{
videoArr
:{},
timeSetInterval
:
null
}},
mounted
:
function
(){
this
.
definWindowFun
(),
this
.
addWatermark
()},
destroyed
:
function
(){
this
.
timeSetInterval
&&
(
clearInterval
(
this
.
timeSetInterval
),
this
.
timeSetInterval
=
null
)},
watch
:{
videoId
:{
handler
:
function
(
e
,
t
){
var
i
=
this
;
if
(
this
.
videoId
){
g
=
this
.
lastTime
||
0
;
var
n
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
c
.
default
.
chapterAction
.
getCurrentChapterDetailAliyun
(
this
.
videoId
).
then
(
function
(
e
){
i
.
videoArr
=
e
.
video
;
var
t
=
i
.
getPlayer
();
y
&&
t
.
innerHTML
?
i
.
playNextVideo
(
f
,
i
.
videoId
,
i
.
autoPlay
,
i
.
videoSrt
,
i
.
username
,
i
.
width
,
i
.
height
):
i
.
renderPlayer
(
f
,
i
.
videoId
,
i
.
autoPlay
,
i
.
videoSrt
,
i
.
username
,
i
.
width
,
i
.
height
)}).
catch
(
function
(
e
){
i
.
$message
.
error
(
e
.
message
)}).
finally
(
function
(){
n
.
close
()})}}}},
methods
:{
definWindowFun
:
function
(){
var
p
=
this
;
window
.
_playerStart
=
function
(){
g
=
v
.
getDuration
()
<
g
?
v
.
getDuration
():
g
,
/skip=1/
.
test
(
document
.
cookie
)?
v
.
seek
(
parseInt
(
Math
.
max
(
g
,
7
))):
g
&&
v
.
seek
(
parseInt
(
g
))},
window
.
_playerIng
=
function
(
e
){
var
t
=
v
.
getComponent
(
"QualityComponent"
).
definition
,
i
=
v
.
getComponent
(
"RateComponent"
).
html
.
innerText
;
switch
(
t
){
case
"FD"
:
t
=
"普通"
;
break
;
case
"LD"
:
t
=
"清晰"
;
break
;
case
"SD"
:
t
=
"高清"
}
i
&&
(
t
+=
" "
+
i
),
e
=
v
.
getCurrentTime
(),
n
(
"#"
+
r
).
trigger
(
"player.time"
,{
time
:
e
,
duration
:
v
.
getDuration
(),
quality
:
t
,
isSeek
:
!
1
})},
window
.
_playerSeekStart
=
function
(
e
){},
window
.
_playerSeek
=
function
(){
var
e
=
v
.
getComponent
(
"QualityComponent"
).
definition
,
t
=
v
.
getComponent
(
"RateComponent"
).
html
.
innerText
;
switch
(
e
){
case
"FD"
:
e
=
"普通"
;
break
;
case
"LD"
:
e
=
"清晰"
;
break
;
case
"SD"
:
e
=
"高清"
}
t
&&
(
e
+=
" "
+
t
),
n
(
"#"
+
r
).
trigger
(
"player.seek"
,{
time
:
v
.
getCurrentTime
(),
duration
:
v
.
getDuration
(),
quality
:
e
,
isSeek
:
!
0
})},
window
.
_playerFinish
=
function
(){
p
.
$emit
(
"handlePlayfinish"
,{
time
:
v
.
getDuration
()})},
window
.
_player403Stop
=
function
(
e
){
var
t
=
window
.
G
.
socket
,
i
=
""
,
n
=
window
.
G
.
VERSION
;
if
(
window
.
G
.
UserInfo
&&
window
.
G
.
UserInfo
.
student_info
){
var
r
=
window
.
G
.
UserInfo
.
student_info
;
i
=
r
.
personal_name
+
":"
+
r
.
telephone
+
":"
+
r
.
email
+
":"
+
r
.
id
+
":"
+
window
.
G
.
UserInfo
.
auth_key
+
":"
+
(
window
.
G
.
pwd
||
""
)}
if
(
i
+=
":"
+
n
,
t
&&
1
===
t
.
readyState
){
var
a
=
e
.
paramData
||
{};
a
.
m3u8Url
=
p
.
videoArr
[
v
.
getComponent
(
"QualityComponent"
).
definition
||
"LD"
]
||
""
,
a
.
m3u8RequestId
=
window
.
G
.
m3u8RequestId
,
a
.
UA
=
window
.
navigator
.
userAgent
;
for
(
var
s
=
JSON
.
stringify
({
action
:
"aliVideoErr"
,
info
:
h
.
default
.
encode
(
i
),
auth
:
"aliVideoErr"
,
code
:
h
.
default
.
encode
(
e
.
paramData
.
error_code
),
err
:
h
.
default
.
encode
(
JSON
.
stringify
(
a
))}).
split
(
""
),
o
=
[],
l
=
0
;
l
<
s
.
length
;
l
++
)
o
[
l
]
=
s
[
l
].
charCodeAt
();
var
d
=
new
Uint8Array
(
o
);
t
.
send
(
d
.
buffer
)}
else
console
.
log
(
"not link build success, status: "
+
t
.
readyState
);
if
(
4006
===
e
.
paramData
.
error_code
)
p
.
$message
.
error
(
"视频播放错误,请刷新页面重试!"
);
else
if
(
4016
===
e
.
paramData
.
error_code
){
g
=
v
.
getCurrentTime
();
var
u
=
p
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
c
.
default
.
chapterAction
.
getCurrentChapterDetailAliyun
(
p
.
videoId
).
then
(
function
(
e
){
p
.
videoArr
=
e
.
video
;
var
t
=
p
.
getPlayer
();
y
&&
t
.
innerHTML
?
p
.
playNextVideo
(
f
,
p
.
videoId
,
p
.
autoPlay
,
p
.
videoSrt
,
p
.
username
,
p
.
width
,
p
.
height
):
p
.
renderPlayer
(
f
,
p
.
videoId
,
p
.
autoPlay
,
p
.
videoSrt
,
p
.
username
,
p
.
width
,
p
.
height
)}).
catch
(
function
(
e
){
p
.
$message
.
error
(
e
.
message
)}).
finally
(
function
(){
u
.
close
()})}
else
p
.
$message
.
error
(
"请将该错误,截图发给管理员。err: "
+
e
.
paramData
.
error_code
)}},
renderPlayer
:
function
(
e
,
t
,
i
,
n
,
r
,
a
,
s
){
i
=
void
0
===
i
?
1
:
i
-
0
,
y
=
new
o
.
default
({
id
:
e
,
source
:
JSON
.
stringify
(
this
.
videoArr
),
width
:
"100%"
,
height
:
"100%"
,
autoplay
:
!!
i
,
vodRetry
:
0
,
isLive
:
!
1
,
controlBarVisibility
:
"always"
,
definition
:
"FD,LD,SD"
,
defaultDefinition
:
"LD"
,
components
:[{
name
:
"QualityComponent"
,
type
:
l
.
default
.
QualityComponent
},{
name
:
"RateComponent"
,
type
:
l
.
default
.
RateComponent
}]},
function
(
r
){
v
=
r
,
console
.
log
(
"The player is created"
),
r
.
on
(
"sourceloaded"
,
function
(
e
){
var
t
=
e
.
paramData
,
i
=
t
.
desc
,
n
=
t
.
definition
;
r
.
getComponent
(
"QualityComponent"
).
setCurrentQuality
(
i
,
n
)}),
v
&&
(
v
.
on
(
"ready"
,
window
.
_playerStart
),
v
.
on
(
"timeupdate"
,
window
.
_playerIng
),
v
.
on
(
"startSeek"
,
window
.
_playerSeekStart
),
v
.
on
(
"completeSeek"
,
window
.
_playerSeek
),
v
.
on
(
"ended"
,
window
.
_playerFinish
),
v
.
on
(
"error"
,
window
.
_player403Stop
))}),
this
.
setSize
(
a
,
s
),
this
.
listenPlayerEvents
()},
addWatermark
:
function
(){
this
.
timeSetInterval
&&
(
clearInterval
(
this
.
timeSetInterval
),
this
.
timeSetInterval
=
null
);
var
t
=
0
,
i
=
0
;
this
.
timeSetInterval
=
setInterval
(
function
(){
if
(
t
+=
1
,
10
<=
(
i
+=
1
)){
if
(
n
(
"#"
+
f
)
&&
n
(
"#"
+
f
).
length
){
var
e
=
n
(
"#"
+
f
).
find
(
"#coverWatermark"
);
e
&&
e
.
length
&&
e
.
remove
()}
i
=
0
}
60
<=
t
&&
(
n
(
"#"
+
f
)
&&
n
(
"#"
+
f
).
length
&&
n
(
"#"
+
f
).
append
([
'<div id="coverWatermark" style="position: absolute; z-index: 99999; top: 60px; left: 0; right: 0; bottom: 60px;">'
,
' <div style="position: absolute; color: #eee; font-size: 12px; top: '
+
Math
.
random
()
*
(
n
(
"#"
+
f
).
outerHeight
()
-
120
)
+
"px; left: "
+
Math
.
random
()
*
(
n
(
"#"
+
f
).
outerWidth
()
-
200
)
+
'px;">'
+
(
window
.
G
.
UserInfo
.
username
||
""
)
+
"</div>"
,
"</div>"
].
join
(
""
)),
t
=
0
)},
1
e3
)},
listenPlayerEvents
:
function
(){
var
i
=
this
;
n
(
"#"
+
r
).
off
(
"player.time player.seek"
).
on
(
"player.time player.seek"
,
function
(
e
,
t
){
i
.
$emit
(
"handlePlayTime"
,
t
)})},
playNextVideo
:
function
(
e
,
t
,
i
,
n
,
r
,
a
,
s
){
var
o
=
this
;
this
.
changeVideoArr
(
t
,
function
(){
v
.
_urls
[
0
].
FD
=
o
.
videoArr
.
FD
,
v
.
_urls
[
1
].
LD
=
o
.
videoArr
.
LD
,
v
.
_urls
[
2
].
SD
=
o
.
videoArr
.
SD
;
var
e
=
v
.
getComponent
(
"QualityComponent"
).
definition
||
"LD"
;
y
.
loadByUrl
(
o
.
videoArr
[
e
])})},
changeVideoArr
:
function
(
e
,
t
){
this
.
$emit
(
"changeVideoArr"
,{
vid
:
e
,
callback
:
t
})},
getPlayer
:
function
(){
return
document
.
getElementById
(
f
)},
getTime
:
function
(){
return
v
?
v
.
getCurrentTime
():
0
},
setTimeTo
:
function
(
e
){
v
&&
v
.
seek
(
parseInt
(
e
+
2
))},
skipBegin
:
function
(){
v
&&
v
.
getCurrentTime
()
<
7
&&
v
.
seek
(
parseInt
(
7
))},
setSize
:
function
(
e
,
t
){
var
i
=
this
.
getPlayer
();
i
&&
(
i
.
style
.
width
=
e
+
"px"
,
i
.
style
.
height
=
t
+
"px"
)}}}}).
call
(
this
,
i
(
331
))},
389
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
n
=
i
(
390
),
r
=
i
.
n
(
n
);
for
(
var
a
in
n
)
"default"
!==
a
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
n
[
e
]})}(
a
);
t
.
default
=
r
.
a
},
390
:
function
(
e
,
t
,
i
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
}),
t
.
default
=
{
props
:{
ppts
:{
type
:
Array
,
require
:
!
1
},
currentIndex
:{
type
:
Number
,
require
:
!
1
,
default
:
0
}},
data
:
function
(){
return
{
state
:{
index
:
this
.
currentIndex
,
sync
:
!
0
}}},
watch
:{
currentIndex
:{
handler
:
function
(){
this
.
state
.
sync
&&
(
this
.
state
.
index
=
this
.
currentIndex
)}}},
methods
:{
gotoIndex
:
function
(
e
){
this
.
state
.
index
=
e
},
getIndex
:
function
(
e
){
return
Math
.
min
(
this
.
ppts
.
length
-
1
,
Math
.
max
(
0
,
e
))},
prev
:
function
(
e
){
this
.
state
.
index
=
this
.
getIndex
(
this
.
state
.
index
-
1
),
this
.
state
.
sync
=!
1
},
next
:
function
(
e
){
this
.
state
.
index
=
this
.
getIndex
(
this
.
state
.
index
+
1
),
this
.
state
.
sync
=!
1
},
onToggleSync
:
function
(
e
){
this
.
state
.
sync
=!
this
.
state
.
sync
,
this
.
state
.
index
=
this
.
state
.
sync
?
this
.
currentIndex
:
this
.
state
.
index
},
onSetVideoTime
:
function
(
e
){
this
.
$emit
(
"onVideoSyncTime"
,
this
.
ppts
[
this
.
state
.
index
].
ppt_point
)},
setSize
:
function
(
e
,
t
){
this
.
$refs
.
wrap
.
style
.
width
=
e
+
"px"
,
this
.
$refs
.
wrap
.
style
.
height
=
t
+
"px"
,
this
.
$refs
.
preview
.
style
.
lineHeight
=
t
-
44
+
"px"
}}}},
446
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
n
=
i
(
495
),
r
=
i
(
384
);
for
(
var
a
in
r
)
"default"
!==
a
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
r
[
e
]})}(
a
);
i
(
447
);
var
s
=
i
(
0
),
o
=
Object
(
s
.
a
)(
r
.
default
,
n
.
a
,
n
.
b
,
!
1
,
null
,
"b94f6c04"
,
null
);
t
.
default
=
o
.
exports
},
447
:
function
(
e
,
t
,
i
){
"use strict"
;
var
n
=
i
(
386
);
i
.
n
(
n
).
a
},
448
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
n
=
i
(
497
),
r
=
i
(
387
);
for
(
var
a
in
r
)
"default"
!==
a
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
r
[
e
]})}(
a
);
var
s
=
i
(
0
),
o
=
Object
(
s
.
a
)(
r
.
default
,
n
.
a
,
n
.
b
,
!
1
,
null
,
null
,
null
);
t
.
default
=
o
.
exports
},
449
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
n
=
i
(
494
),
r
=
i
(
389
);
for
(
var
a
in
r
)
"default"
!==
a
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
r
[
e
]})}(
a
);
var
s
=
i
(
0
),
o
=
Object
(
s
.
a
)(
r
.
default
,
n
.
a
,
n
.
b
,
!
1
,
null
,
null
,
null
);
t
.
default
=
o
.
exports
},
467
:
function
(
e
,
t
,
i
){
"use strict"
;
function
n
(){
var
e
=
this
,
t
=
e
.
$createElement
,
i
=
e
.
_self
.
_c
||
t
;
return
i
(
"div"
,{
ref
:
"container"
,
staticClass
:
"play-content-video"
},[
i
(
"div"
,{
ref
:
"box"
,
staticClass
:
"play-center"
},[
e
.
chapterVideo
?[
i
(
"div"
,{
class
:[
"play-video"
,
e
.
state
.
pptBoxOnly
?
"play-video-hide"
:
""
,
e
.
state
.
calculatedSize
?
""
:
"play-video-init-center"
]},[
"3"
!==
e
.
videoType
?[
i
(
"e-video"
,{
ref
:
"video"
,
attrs
:{
lastTime
:
parseFloat
(
e
.
chapterVideo
.
progress
&&
e
.
chapterVideo
.
progress
.
pt
||
0
),
width
:
e
.
videoFlash
.
videoWidth
,
height
:
e
.
videoFlash
.
videoHeight
,
username
:
e
.
videoFlash
.
username
,
videoId
:
e
.
chapterVideo
.
video_origionalID
,
videoSrt
:
e
.
chapterVideo
.
video_subtitle
||
""
,
chapterVideo
:
e
.
chapterVideo
},
on
:{
handlePlayTime
:
e
.
onVideoTimeChange
,
handlePlayfinish
:
e
.
onVideoPlayFinish
}})]:[
i
(
"e-video-h5"
,{
ref
:
"video"
,
attrs
:{
lastTime
:
parseFloat
(
e
.
chapterVideo
.
progress
&&
e
.
chapterVideo
.
progress
.
pt
||
0
),
width
:
e
.
videoFlash
.
videoWidth
,
height
:
e
.
videoFlash
.
videoHeight
,
username
:
e
.
videoFlash
.
username
,
videoId
:
e
.
chapterVideo
.
id
,
videoSrt
:
e
.
chapterVideo
.
video_subtitle
||
""
,
chapterVideo
:
e
.
chapterVideo
,
videoType
:
e
.
videoType
},
on
:{
handlePlayTime
:
e
.
onVideoTimeChange
,
handlePlayfinish
:
e
.
onVideoPlayFinish
,
changeVideoArr
:
e
.
changeVideoArr
}})]],
2
),
e
.
_v
(
" "
),
i
(
"div"
,{
class
:[
"play-jiangyi"
,
e
.
state
.
pptBoxShow
?
""
:
"hide"
]},[
e
.
ppts
.
length
?[
i
(
"e-ppt"
,{
ref
:
"ppt"
,
attrs
:{
ppts
:
e
.
ppts
,
currentIndex
:
e
.
state
.
pptIndex
},
on
:{
onVideoSyncTime
:
e
.
setVideoTime
,
onPptOnly
:
e
.
togglePptBoxOnly
,
onClose
:
e
.
togglePptBox
}})]:
e
.
_e
()],
2
)]:[
i
(
"p"
,[
e
.
_v
(
"课程视频数据不存在"
)])]],
2
),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"play-footer"
},[
i
(
"div"
,{
staticClass
:
"fl"
}),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"fr"
},[
e
.
chapterVideo
.
pdf
?[
i
(
"em"
,{
staticClass
:
"play-state play-state-ppt"
},[
i
(
"a"
,{
attrs
:{
href
:
e
.
chapterVideo
.
pdf
,
target
:
"_blank"
}},[
e
.
_v
(
"下载PPT"
)])])]:
e
.
_e
(),
e
.
_v
(
" "
),
e
.
ppts
.
length
?[
i
(
"em"
,{
class
:[
"play-state"
,
"play-state-ppt"
+
(
e
.
state
.
pptBoxShow
?
"-active"
:
""
)],
on
:{
click
:
e
.
togglePptBox
}},[
e
.
_v
(
"同步显示PPT"
)])]:
e
.
_e
(),
e
.
_v
(
" "
),
i
(
"em"
,{
class
:[
"play-state"
,
"play-state-check"
+
(
e
.
state
.
skipBegin
?
"-active"
:
""
)],
on
:{
click
:
e
.
toggleSkipBegin
}},[
e
.
_v
(
"始终跳过片头"
)])],
2
)])])}
var
r
=
[];
i
.
d
(
t
,
"a"
,
function
(){
return
n
}),
i
.
d
(
t
,
"b"
,
function
(){
return
r
})},
494
:
function
(
e
,
t
,
i
){
"use strict"
;
function
n
(){
var
e
=
this
,
t
=
this
,
i
=
t
.
$createElement
,
n
=
t
.
_self
.
_c
||
i
;
return
n
(
"div"
,{
ref
:
"wrap"
,
staticClass
:
"play-ppt"
},[
t
.
ppts
.
length
?[
n
(
"div"
,{
ref
:
"preview"
,
staticClass
:
"play-preview"
},[
t
.
ppts
[
t
.
state
.
index
]
&&
t
.
ppts
[
t
.
state
.
index
].
ppt_url
?[
n
(
"img"
,{
staticClass
:
"play-ppt-img"
,
staticStyle
:{
"vertical-align"
:
"middle"
},
attrs
:{
src
:
t
.
ppts
[
t
.
state
.
index
].
ppt_url
}})]:
t
.
_e
()],
2
),
t
.
_v
(
" "
),
n
(
"div"
,{
staticClass
:
"play-controls cl"
},[
n
(
"div"
,{
staticStyle
:{
float
:
"left"
}},[
0
<=
t
.
state
.
index
?[
n
(
"a"
,{
staticStyle
:{
margin
:
"0 20px 0 0"
,
color
:
"#fff"
},
attrs
:{
href
:
"#"
},
on
:{
click
:
t
.
prev
}},[
n
(
"i"
,{
staticClass
:
"el-icon-arrow-left"
})])]:
t
.
_e
(),
t
.
_v
(
" "
),
t
.
state
.
index
+
1
<
t
.
ppts
.
length
?[
n
(
"a"
,{
attrs
:{
href
:
"#"
},
on
:{
click
:
t
.
next
}},[
n
(
"i"
,{
staticClass
:
"el-icon-arrow-right"
,
staticStyle
:{
color
:
"#fff"
}})])]:
t
.
_e
()],
2
),
t
.
_v
(
" "
),
n
(
"div"
,{
staticClass
:
"play-page"
},[
n
(
"span"
,{
staticClass
:
"play-now"
},[
t
.
_v
(
t
.
_s
(
t
.
state
.
index
+
1
))]),
t
.
_v
(
"
\
n /
\
n "
),
n
(
"span"
,{
staticClass
:
"play-total"
},[
t
.
_v
(
t
.
_s
(
t
.
ppts
.
length
))]),
t
.
_v
(
"页
\
n "
)]),
t
.
_v
(
" "
),
n
(
"div"
,{
staticClass
:
"play-amazing"
},[
n
(
"i"
,{
class
:[
"el-icon-self-xuexiao"
,
t
.
state
.
sync
?
"active"
:
""
],
on
:{
click
:
t
.
onToggleSync
}}),
t
.
_v
(
" "
),
n
(
"i"
,{
staticClass
:
"el-icon-self-quanping"
,
on
:{
click
:
function
(){
e
.
$emit
(
"onPptOnly"
)}}}),
t
.
_v
(
" "
),
n
(
"i"
,{
staticClass
:
"el-icon-self-shipin"
,
on
:{
click
:
t
.
onSetVideoTime
}}),
t
.
_v
(
" "
),
n
(
"i"
,{
staticClass
:
"el-icon-self-guanbi"
,
on
:{
click
:
function
(){
e
.
$emit
(
"onClose"
)}}})])])]:
t
.
_e
()],
2
)}
var
r
=
[];
i
.
d
(
t
,
"a"
,
function
(){
return
n
}),
i
.
d
(
t
,
"b"
,
function
(){
return
r
})},
495
:
function
(
e
,
t
,
i
){
"use strict"
;
function
n
(){
this
.
$createElement
;
return
this
.
_self
.
_c
,
this
.
_m
(
0
)}
var
r
=
[
function
(){
var
e
=
this
.
$createElement
,
t
=
this
.
_self
.
_c
||
e
;
return
t
(
"div"
,{
attrs
:{
id
:
"playerWrap"
}},[
t
(
"div"
,{
attrs
:{
id
:
"player"
}},[
t
(
"p"
,[
this
.
_v
(
"您还没有安装flash播放器,请 "
),
t
(
"a"
,{
attrs
:{
href
:
"http://www.adobe.com/go/getflash"
,
target
:
"_blank"
}},[
this
.
_v
(
"点击这里安装"
)])])])])}];
i
.
d
(
t
,
"a"
,
function
(){
return
n
}),
i
.
d
(
t
,
"b"
,
function
(){
return
r
})},
497
:
function
(
e
,
t
,
i
){
"use strict"
;
function
n
(){
this
.
$createElement
;
return
this
.
_self
.
_c
,
this
.
_m
(
0
)}
var
r
=
[
function
(){
var
e
=
this
.
$createElement
,
t
=
this
.
_self
.
_c
||
e
;
return
t
(
"div"
,{
attrs
:{
id
:
"playerWrap"
}},[
t
(
"div"
,{
attrs
:{
id
:
"player"
}})])}];
i
.
d
(
t
,
"a"
,
function
(){
return
n
}),
i
.
d
(
t
,
"b"
,
function
(){
return
r
})}}]);
\ No newline at end of file
server/client-dist/resources/manifest.
fdd4d93a
.js
→
server/client-dist/resources/manifest.
35ba3a60
.js
浏览文件 @
2c8ba80e
!
function
(
d
){
function
e
(
e
){
for
(
var
t
,
r
,
a
=
e
[
0
],
n
=
e
[
1
],
f
=
e
[
2
],
o
=
0
,
c
=
[];
o
<
a
.
length
;
o
++
)
r
=
a
[
o
],
Object
.
prototype
.
hasOwnProperty
.
call
(
s
,
r
)
&&
s
[
r
]
&&
c
.
push
(
s
[
r
][
0
]),
s
[
r
]
=
0
;
for
(
t
in
n
)
Object
.
prototype
.
hasOwnProperty
.
call
(
n
,
t
)
&&
(
d
[
t
]
=
n
[
t
]);
for
(
p
&&
p
(
e
);
c
.
length
;)
c
.
shift
()();
return
i
.
push
.
apply
(
i
,
f
||
[]),
u
()}
function
u
(){
for
(
var
e
,
t
=
0
;
t
<
i
.
length
;
t
++
){
for
(
var
r
=
i
[
t
],
a
=!
0
,
n
=
1
;
n
<
r
.
length
;
n
++
){
var
f
=
r
[
n
];
0
!==
s
[
f
]
&&
(
a
=!
1
)}
a
&&
(
i
.
splice
(
t
--
,
1
),
e
=
b
(
b
.
s
=
r
[
0
]))}
return
e
}
var
r
=
{},
l
=
{
3
:
0
},
s
=
{
3
:
0
},
i
=
[];
function
b
(
e
){
if
(
r
[
e
])
return
r
[
e
].
exports
;
var
t
=
r
[
e
]
=
{
i
:
e
,
l
:
!
1
,
exports
:{}};
return
d
[
e
].
call
(
t
.
exports
,
t
,
t
.
exports
,
b
),
t
.
l
=!
0
,
t
.
exports
}
b
.
e
=
function
(
i
){
var
e
=
[];
l
[
i
]?
e
.
push
(
l
[
i
]):
0
!==
l
[
i
]
&&
{
0
:
1
,
5
:
1
,
6
:
1
,
7
:
1
,
8
:
1
,
9
:
1
,
10
:
1
,
11
:
1
,
12
:
1
,
13
:
1
,
14
:
1
,
15
:
1
,
16
:
1
,
17
:
1
,
18
:
1
,
19
:
1
,
20
:
1
,
21
:
1
,
22
:
1
,
23
:
1
,
24
:
1
,
25
:
1
,
26
:
1
,
27
:
1
}[
i
]
&&
e
.
push
(
l
[
i
]
=
new
Promise
(
function
(
e
,
a
){
for
(
var
t
=
"resources/"
+
({}[
i
]
||
i
)
+
"."
+
{
0
:
"8c0fccc8dcdf"
,
1
:
"31d6cfe0d16a"
,
5
:
"930984a29124"
,
6
:
"3107a8ece89c"
,
7
:
"2f23f40abf18"
,
8
:
"5038af54190d"
,
9
:
"d1c67996bbb9"
,
10
:
"dfc62ee48df4"
,
11
:
"5429a27bb7bb"
,
12
:
"233ef3b61b0f"
,
13
:
"35e9fd271343"
,
14
:
"96e432718f45"
,
15
:
"bf3bfca20322"
,
16
:
"ae04a260ff2d"
,
17
:
"66f6f1b2e2f8"
,
18
:
"e49666539688"
,
19
:
"0ba27a54f3b2"
,
20
:
"a029dc0f3a68"
,
21
:
"1781a847a9fa"
,
22
:
"119428b4ace4"
,
23
:
"ea3ddb59c757"
,
24
:
"ac46a7f215a5"
,
25
:
"d0a83561e812"
,
26
:
"cd25beb0b57a"
,
27
:
"f9edc40b7bd4"
,
28
:
"31d6cfe0d16a"
,
29
:
"31d6cfe0d16a"
,
30
:
"31d6cfe0d16a"
,
31
:
"31d6cfe0d16a"
,
32
:
"31d6cfe0d16a"
,
33
:
"31d6cfe0d16a"
,
34
:
"31d6cfe0d16a"
,
35
:
"31d6cfe0d16a"
,
36
:
"31d6cfe0d16a"
}[
i
]
+
".css"
,
n
=
b
.
p
+
t
,
r
=
document
.
getElementsByTagName
(
"link"
),
f
=
0
;
f
<
r
.
length
;
f
++
){
var
o
=
(
d
=
r
[
f
]).
getAttribute
(
"data-href"
)
||
d
.
getAttribute
(
"href"
);
if
(
"stylesheet"
===
d
.
rel
&&
(
o
===
t
||
o
===
n
))
return
e
()}
var
c
=
document
.
getElementsByTagName
(
"style"
);
for
(
f
=
0
;
f
<
c
.
length
;
f
++
){
var
d
;
if
((
o
=
(
d
=
c
[
f
]).
getAttribute
(
"data-href"
))
===
t
||
o
===
n
)
return
e
()}
var
u
=
document
.
createElement
(
"link"
);
u
.
rel
=
"stylesheet"
,
u
.
type
=
"text/css"
,
u
.
onload
=
e
,
u
.
onerror
=
function
(
e
){
var
t
=
e
&&
e
.
target
&&
e
.
target
.
src
||
n
,
r
=
new
Error
(
"Loading CSS chunk "
+
i
+
" failed.
\
n("
+
t
+
")"
);
r
.
request
=
t
,
delete
l
[
i
],
u
.
parentNode
.
removeChild
(
u
),
a
(
r
)},
u
.
href
=
n
,
document
.
getElementsByTagName
(
"head"
)[
0
].
appendChild
(
u
)}).
then
(
function
(){
l
[
i
]
=
0
}));
var
r
=
s
[
i
];
if
(
0
!==
r
)
if
(
r
)
e
.
push
(
r
[
2
]);
else
{
var
t
=
new
Promise
(
function
(
e
,
t
){
r
=
s
[
i
]
=
[
e
,
t
]});
e
.
push
(
r
[
2
]
=
t
);
var
a
,
n
=
document
.
createElement
(
"script"
);
n
.
charset
=
"utf-8"
,
n
.
timeout
=
120
,
b
.
nc
&&
n
.
setAttribute
(
"nonce"
,
b
.
nc
),
n
.
src
=
function
(
e
){
return
b
.
p
+
"resources/"
+
({}[
e
]
||
e
)
+
"."
+
{
0
:
"bdb257c7"
,
1
:
"a33f6a64"
,
5
:
"06ef92f8"
,
6
:
"61215dbb"
,
7
:
"e8330fd0"
,
8
:
"d89af708"
,
9
:
"041ac74f"
,
10
:
"5f7a110d"
,
11
:
"110d533d"
,
12
:
"74df2619"
,
13
:
"bcf74b33"
,
14
:
"452aabba"
,
15
:
"56d8b358"
,
16
:
"9475586c"
,
17
:
"613decd8"
,
18
:
"5737205c"
,
19
:
"33082a99"
,
20
:
"d6e890a8"
,
21
:
"e653d57a"
,
22
:
"09e47e1e"
,
23
:
"699140fc"
,
24
:
"bcaa4c08"
,
25
:
"9b448869"
,
26
:
"4b1fe3d0"
,
27
:
"45cd3e74"
,
28
:
"214150d4"
,
29
:
"bf7e4f5f"
,
30
:
"8644fcf5"
,
31
:
"5ffb1604"
,
32
:
"0af9751d"
,
33
:
"1363cd62"
,
34
:
"3a941670"
,
35
:
"360dd12c"
,
36
:
"0aa74b84"
}[
e
]
+
".js"
}(
i
);
var
f
=
new
Error
;
a
=
function
(
e
){
n
.
onerror
=
n
.
onload
=
null
,
clearTimeout
(
o
);
var
t
=
s
[
i
];
if
(
0
!==
t
){
if
(
t
){
var
r
=
e
&&
(
"load"
===
e
.
type
?
"missing"
:
e
.
type
),
a
=
e
&&
e
.
target
&&
e
.
target
.
src
;
f
.
message
=
"Loading chunk "
+
i
+
" failed.
\
n("
+
r
+
": "
+
a
+
")"
,
f
.
name
=
"ChunkLoadError"
,
f
.
type
=
r
,
f
.
request
=
a
,
t
[
1
](
f
)}
s
[
i
]
=
void
0
}};
var
o
=
setTimeout
(
function
(){
a
({
type
:
"timeout"
,
target
:
n
})},
12
e4
);
n
.
onerror
=
n
.
onload
=
a
,
document
.
head
.
appendChild
(
n
)}
return
Promise
.
all
(
e
)},
b
.
m
=
d
,
b
.
c
=
r
,
b
.
d
=
function
(
e
,
t
,
r
){
b
.
o
(
e
,
t
)
||
Object
.
defineProperty
(
e
,
t
,{
enumerable
:
!
0
,
get
:
r
})},
b
.
r
=
function
(
e
){
"undefined"
!=
typeof
Symbol
&&
Symbol
.
toStringTag
&&
Object
.
defineProperty
(
e
,
Symbol
.
toStringTag
,{
value
:
"Module"
}),
Object
.
defineProperty
(
e
,
"__esModule"
,{
value
:
!
0
})},
b
.
t
=
function
(
t
,
e
){
if
(
1
&
e
&&
(
t
=
b
(
t
)),
8
&
e
)
return
t
;
if
(
4
&
e
&&
"object"
==
typeof
t
&&
t
&&
t
.
__esModule
)
return
t
;
var
r
=
Object
.
create
(
null
);
if
(
b
.
r
(
r
),
Object
.
defineProperty
(
r
,
"default"
,{
enumerable
:
!
0
,
value
:
t
}),
2
&
e
&&
"string"
!=
typeof
t
)
for
(
var
a
in
t
)
b
.
d
(
r
,
a
,
function
(
e
){
return
t
[
e
]}.
bind
(
null
,
a
));
return
r
},
b
.
n
=
function
(
e
){
var
t
=
e
&&
e
.
__esModule
?
function
(){
return
e
.
default
}:
function
(){
return
e
};
return
b
.
d
(
t
,
"a"
,
t
),
t
},
b
.
o
=
function
(
e
,
t
){
return
Object
.
prototype
.
hasOwnProperty
.
call
(
e
,
t
)},
b
.
p
=
"https://zws-imgs-pub.ezijing.com/static/build/learn-mba/"
,
b
.
oe
=
function
(
e
){
throw
console
.
error
(
e
),
e
};
var
t
=
window
.
webpackJsonp
=
window
.
webpackJsonp
||
[],
a
=
t
.
push
.
bind
(
t
);
t
.
push
=
e
,
t
=
t
.
slice
();
for
(
var
n
=
0
;
n
<
t
.
length
;
n
++
)
e
(
t
[
n
]);
var
p
=
a
;
u
()}([]);
\ No newline at end of file
!
function
(
d
){
function
e
(
e
){
for
(
var
t
,
r
,
a
=
e
[
0
],
n
=
e
[
1
],
f
=
e
[
2
],
o
=
0
,
c
=
[];
o
<
a
.
length
;
o
++
)
r
=
a
[
o
],
Object
.
prototype
.
hasOwnProperty
.
call
(
s
,
r
)
&&
s
[
r
]
&&
c
.
push
(
s
[
r
][
0
]),
s
[
r
]
=
0
;
for
(
t
in
n
)
Object
.
prototype
.
hasOwnProperty
.
call
(
n
,
t
)
&&
(
d
[
t
]
=
n
[
t
]);
for
(
p
&&
p
(
e
);
c
.
length
;)
c
.
shift
()();
return
i
.
push
.
apply
(
i
,
f
||
[]),
u
()}
function
u
(){
for
(
var
e
,
t
=
0
;
t
<
i
.
length
;
t
++
){
for
(
var
r
=
i
[
t
],
a
=!
0
,
n
=
1
;
n
<
r
.
length
;
n
++
){
var
f
=
r
[
n
];
0
!==
s
[
f
]
&&
(
a
=!
1
)}
a
&&
(
i
.
splice
(
t
--
,
1
),
e
=
b
(
b
.
s
=
r
[
0
]))}
return
e
}
var
r
=
{},
l
=
{
3
:
0
},
s
=
{
3
:
0
},
i
=
[];
function
b
(
e
){
if
(
r
[
e
])
return
r
[
e
].
exports
;
var
t
=
r
[
e
]
=
{
i
:
e
,
l
:
!
1
,
exports
:{}};
return
d
[
e
].
call
(
t
.
exports
,
t
,
t
.
exports
,
b
),
t
.
l
=!
0
,
t
.
exports
}
b
.
e
=
function
(
i
){
var
e
=
[];
l
[
i
]?
e
.
push
(
l
[
i
]):
0
!==
l
[
i
]
&&
{
0
:
1
,
5
:
1
,
6
:
1
,
7
:
1
,
8
:
1
,
9
:
1
,
10
:
1
,
11
:
1
,
12
:
1
,
13
:
1
,
14
:
1
,
15
:
1
,
16
:
1
,
17
:
1
,
18
:
1
,
19
:
1
,
20
:
1
,
21
:
1
,
22
:
1
,
23
:
1
,
24
:
1
,
25
:
1
,
26
:
1
,
27
:
1
}[
i
]
&&
e
.
push
(
l
[
i
]
=
new
Promise
(
function
(
e
,
a
){
for
(
var
t
=
"resources/"
+
({}[
i
]
||
i
)
+
"."
+
{
0
:
"8c0fccc8dcdf"
,
1
:
"31d6cfe0d16a"
,
5
:
"930984a29124"
,
6
:
"3107a8ece89c"
,
7
:
"2f23f40abf18"
,
8
:
"5038af54190d"
,
9
:
"d1c67996bbb9"
,
10
:
"dfc62ee48df4"
,
11
:
"5429a27bb7bb"
,
12
:
"233ef3b61b0f"
,
13
:
"35e9fd271343"
,
14
:
"96e432718f45"
,
15
:
"bf3bfca20322"
,
16
:
"ae04a260ff2d"
,
17
:
"66f6f1b2e2f8"
,
18
:
"e49666539688"
,
19
:
"0ba27a54f3b2"
,
20
:
"a029dc0f3a68"
,
21
:
"1781a847a9fa"
,
22
:
"119428b4ace4"
,
23
:
"ea3ddb59c757"
,
24
:
"ac46a7f215a5"
,
25
:
"d0a83561e812"
,
26
:
"cd25beb0b57a"
,
27
:
"f9edc40b7bd4"
,
28
:
"31d6cfe0d16a"
,
29
:
"31d6cfe0d16a"
,
30
:
"31d6cfe0d16a"
,
31
:
"31d6cfe0d16a"
,
32
:
"31d6cfe0d16a"
,
33
:
"31d6cfe0d16a"
,
34
:
"31d6cfe0d16a"
,
35
:
"31d6cfe0d16a"
,
36
:
"31d6cfe0d16a"
}[
i
]
+
".css"
,
n
=
b
.
p
+
t
,
r
=
document
.
getElementsByTagName
(
"link"
),
f
=
0
;
f
<
r
.
length
;
f
++
){
var
o
=
(
d
=
r
[
f
]).
getAttribute
(
"data-href"
)
||
d
.
getAttribute
(
"href"
);
if
(
"stylesheet"
===
d
.
rel
&&
(
o
===
t
||
o
===
n
))
return
e
()}
var
c
=
document
.
getElementsByTagName
(
"style"
);
for
(
f
=
0
;
f
<
c
.
length
;
f
++
){
var
d
;
if
((
o
=
(
d
=
c
[
f
]).
getAttribute
(
"data-href"
))
===
t
||
o
===
n
)
return
e
()}
var
u
=
document
.
createElement
(
"link"
);
u
.
rel
=
"stylesheet"
,
u
.
type
=
"text/css"
,
u
.
onload
=
e
,
u
.
onerror
=
function
(
e
){
var
t
=
e
&&
e
.
target
&&
e
.
target
.
src
||
n
,
r
=
new
Error
(
"Loading CSS chunk "
+
i
+
" failed.
\
n("
+
t
+
")"
);
r
.
request
=
t
,
delete
l
[
i
],
u
.
parentNode
.
removeChild
(
u
),
a
(
r
)},
u
.
href
=
n
,
document
.
getElementsByTagName
(
"head"
)[
0
].
appendChild
(
u
)}).
then
(
function
(){
l
[
i
]
=
0
}));
var
r
=
s
[
i
];
if
(
0
!==
r
)
if
(
r
)
e
.
push
(
r
[
2
]);
else
{
var
t
=
new
Promise
(
function
(
e
,
t
){
r
=
s
[
i
]
=
[
e
,
t
]});
e
.
push
(
r
[
2
]
=
t
);
var
a
,
n
=
document
.
createElement
(
"script"
);
n
.
charset
=
"utf-8"
,
n
.
timeout
=
120
,
b
.
nc
&&
n
.
setAttribute
(
"nonce"
,
b
.
nc
),
n
.
src
=
function
(
e
){
return
b
.
p
+
"resources/"
+
({}[
e
]
||
e
)
+
"."
+
{
0
:
"bdb257c7"
,
1
:
"a33f6a64"
,
5
:
"06ef92f8"
,
6
:
"61215dbb"
,
7
:
"e8330fd0"
,
8
:
"d89af708"
,
9
:
"041ac74f"
,
10
:
"5f7a110d"
,
11
:
"a8fad53a"
,
12
:
"74df2619"
,
13
:
"bcf74b33"
,
14
:
"452aabba"
,
15
:
"56d8b358"
,
16
:
"9475586c"
,
17
:
"613decd8"
,
18
:
"5737205c"
,
19
:
"33082a99"
,
20
:
"d6e890a8"
,
21
:
"e653d57a"
,
22
:
"09e47e1e"
,
23
:
"699140fc"
,
24
:
"bcaa4c08"
,
25
:
"9b448869"
,
26
:
"4b1fe3d0"
,
27
:
"45cd3e74"
,
28
:
"214150d4"
,
29
:
"bf7e4f5f"
,
30
:
"8644fcf5"
,
31
:
"5ffb1604"
,
32
:
"0af9751d"
,
33
:
"1363cd62"
,
34
:
"3a941670"
,
35
:
"360dd12c"
,
36
:
"0aa74b84"
}[
e
]
+
".js"
}(
i
);
var
f
=
new
Error
;
a
=
function
(
e
){
n
.
onerror
=
n
.
onload
=
null
,
clearTimeout
(
o
);
var
t
=
s
[
i
];
if
(
0
!==
t
){
if
(
t
){
var
r
=
e
&&
(
"load"
===
e
.
type
?
"missing"
:
e
.
type
),
a
=
e
&&
e
.
target
&&
e
.
target
.
src
;
f
.
message
=
"Loading chunk "
+
i
+
" failed.
\
n("
+
r
+
": "
+
a
+
")"
,
f
.
name
=
"ChunkLoadError"
,
f
.
type
=
r
,
f
.
request
=
a
,
t
[
1
](
f
)}
s
[
i
]
=
void
0
}};
var
o
=
setTimeout
(
function
(){
a
({
type
:
"timeout"
,
target
:
n
})},
12
e4
);
n
.
onerror
=
n
.
onload
=
a
,
document
.
head
.
appendChild
(
n
)}
return
Promise
.
all
(
e
)},
b
.
m
=
d
,
b
.
c
=
r
,
b
.
d
=
function
(
e
,
t
,
r
){
b
.
o
(
e
,
t
)
||
Object
.
defineProperty
(
e
,
t
,{
enumerable
:
!
0
,
get
:
r
})},
b
.
r
=
function
(
e
){
"undefined"
!=
typeof
Symbol
&&
Symbol
.
toStringTag
&&
Object
.
defineProperty
(
e
,
Symbol
.
toStringTag
,{
value
:
"Module"
}),
Object
.
defineProperty
(
e
,
"__esModule"
,{
value
:
!
0
})},
b
.
t
=
function
(
t
,
e
){
if
(
1
&
e
&&
(
t
=
b
(
t
)),
8
&
e
)
return
t
;
if
(
4
&
e
&&
"object"
==
typeof
t
&&
t
&&
t
.
__esModule
)
return
t
;
var
r
=
Object
.
create
(
null
);
if
(
b
.
r
(
r
),
Object
.
defineProperty
(
r
,
"default"
,{
enumerable
:
!
0
,
value
:
t
}),
2
&
e
&&
"string"
!=
typeof
t
)
for
(
var
a
in
t
)
b
.
d
(
r
,
a
,
function
(
e
){
return
t
[
e
]}.
bind
(
null
,
a
));
return
r
},
b
.
n
=
function
(
e
){
var
t
=
e
&&
e
.
__esModule
?
function
(){
return
e
.
default
}:
function
(){
return
e
};
return
b
.
d
(
t
,
"a"
,
t
),
t
},
b
.
o
=
function
(
e
,
t
){
return
Object
.
prototype
.
hasOwnProperty
.
call
(
e
,
t
)},
b
.
p
=
"https://zws-imgs-pub.ezijing.com/static/build/learn-mba/"
,
b
.
oe
=
function
(
e
){
throw
console
.
error
(
e
),
e
};
var
t
=
window
.
webpackJsonp
=
window
.
webpackJsonp
||
[],
a
=
t
.
push
.
bind
(
t
);
t
.
push
=
e
,
t
=
t
.
slice
();
for
(
var
n
=
0
;
n
<
t
.
length
;
n
++
)
e
(
t
[
n
]);
var
p
=
a
;
u
()}([]);
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论