Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
L
learn-online-pc
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
learn-online-pc
Commits
4e156b69
提交
4e156b69
authored
1月 09, 2019
作者:
GOD_ZYX
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修复 视频记录 统计 缺少时长问题
上级
2173f62e
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
17 个修改的文件
包含
94 行增加
和
35 行删除
+94
-35
build.zip
build.zip
+0
-0
index.html
client-dist/index.html
+2
-2
10.2354c82f.js
client-dist/resources/10.2354c82f.js
+0
-0
10.236b8345.js
client-dist/resources/10.236b8345.js
+0
-0
17.6f7a3ac1.js
client-dist/resources/17.6f7a3ac1.js
+0
-0
17.d0e004ae2be4.css
client-dist/resources/17.d0e004ae2be4.css
+2
-2
26.ca22e961.js
client-dist/resources/26.ca22e961.js
+0
-0
28.870b4f34.js
client-dist/resources/28.870b4f34.js
+0
-0
6.9c478d8110d6.css
client-dist/resources/6.9c478d8110d6.css
+0
-0
6.d322d54c.js
client-dist/resources/6.d322d54c.js
+0
-0
manifest.fdf6df91.js
client-dist/resources/manifest.fdf6df91.js
+2
-2
chapterVideo.vue
client/components/player/chapterVideo/chapterVideo.vue
+1
-1
chapterWork.vue
client/components/player/chapterWork/chapterWork.vue
+1
-1
courseWork.vue
client/components/player/courseWork/courseWork.vue
+1
-1
index.vue
client/components/player/index.vue
+0
-13
discussDetail.vue
...nt/project/elearning-node/pages/myLearn/discussDetail.vue
+1
-1
index.js
server/elearning-node/routes/index.js
+84
-12
没有找到文件。
build.zip
浏览文件 @
4e156b69
No preview for this file type
client-dist/index.html
浏览文件 @
4e156b69
...
...
@@ -2,4 +2,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.2bf0819b.js"
></script><script
type=
"text/javascript"
src=
"https://zws-imgs-pub.ezijing.com/static/build/learn-mba/resources/vendor.c34ded55.js"
></script><script
type=
"text/javascript"
src=
"https://zws-imgs-pub.ezijing.com/static/build/learn-mba/resources/app.5b490b42.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.fdf6df91.js"
></script><script
type=
"text/javascript"
src=
"https://zws-imgs-pub.ezijing.com/static/build/learn-mba/resources/vendor.c34ded55.js"
></script><script
type=
"text/javascript"
src=
"https://zws-imgs-pub.ezijing.com/static/build/learn-mba/resources/app.5b490b42.js"
></script></body></html>
\ No newline at end of file
client-dist/resources/10.2354c82f.js
0 → 100644
浏览文件 @
4e156b69
差异被折叠。
点击展开。
client-dist/resources/10.236b8345.js
deleted
100644 → 0
浏览文件 @
2173f62e
差异被折叠。
点击展开。
client-dist/resources/17.
71afe09f
.js
→
client-dist/resources/17.
6f7a3ac1
.js
浏览文件 @
4e156b69
差异被折叠。
点击展开。
client-dist/resources/17.
43d7a69049a6
.css
→
client-dist/resources/17.
d0e004ae2be4
.css
浏览文件 @
4e156b69
.discuss-detail-scroll
.ques
[
data-v-effbd298
]
{
padding
:
0
.26rem
.3rem
;
margin-bottom
:
.2rem
;
background
:
#fff
;
-webkit-box-shadow
:
0
2px
4px
rgba
(
10
,
4
,
6
,
.1
);
-moz-box-shadow
:
0
2px
4px
rgba
(
10
,
4
,
6
,
.1
);
box-shadow
:
0
2px
4px
rgba
(
10
,
4
,
6
,
.1
);
overflow
:
hidden
}
.discuss-detail-scroll
.user
[
data-v-effbd298
]
{
margin-top
:
.15rem
;
overflow
:
hidden
}
.discuss-detail-scroll
.user
.name
[
data-v-effbd298
]
{
float
:
left
;
font-size
:
.16rem
;
color
:
#313131
;
line-height
:
.2rem
}
.discuss-detail-scroll
.user
.time
[
data-v-effbd298
]
{
float
:
left
;
margin-left
:
.4rem
;
font-size
:
.14rem
;
color
:
#a0a0a0
;
line-height
:
.2rem
}
.discuss-detail-scroll
.user
.right-txt
[
data-v-effbd298
]
{
float
:
right
;
margin-left
:
.2rem
;
font-size
:
.14rem
;
color
:
#a27c1b
;
cursor
:
pointer
}
.discuss-detail-scroll
.user
.right-txt
.img
[
data-v-effbd298
]
{
display
:
inline-block
;
margin-top
:
1px
;
width
:
.22rem
;
height
:
.2rem
}
.discuss-detail-scroll
.title
[
data-v-effbd298
]
{
margin
:
.15rem
0
;
font-size
:
.24rem
;
color
:
#313131
;
line-height
:
1.5
;
text-align
:
justify
}
.discuss-detail-scroll
.text
[
data-v-effbd298
]
{
font-size
:
.18rem
;
color
:
#535353
;
line-height
:
1.5
;
text-align
:
justify
}
.discuss-detail-scroll
.result
[
data-v-effbd298
]
{
margin-left
:
.26rem
;
margin-top
:
.15rem
;
font-size
:
.14rem
;
color
:
#313131
}
.discuss-detail-scroll
.ask
[
data-v-effbd298
]
{
position
:
relative
;
margin-top
:
.2rem
;
padding
:
0
.26rem
;
background
:
#fff
;
overflow
:
hidden
}
.discuss-detail-scroll
.ask
.user-1
[
data-v-effbd298
]
{
position
:
relative
;
overflow
:
hidden
;
margin-top
:
.25rem
;
margin-bottom
:
.15rem
}
.discuss-detail-scroll
.ask
.user-1
.img-1
[
data-v-effbd298
]
{
float
:
left
;
width
:
.6rem
;
height
:
.6rem
;
-webkit-border-radius
:
50%
;
-moz-border-radius
:
50%
;
border-radius
:
50%
}
.discuss-detail-scroll
.ask
.user-1
.right-1
[
data-v-effbd298
]
{
position
:
absolute
;
left
:
.72rem
;
top
:
50%
;
-webkit-transform
:
translateY
(
-50%
);
-moz-transform
:
translateY
(
-50%
);
-ms-transform
:
translateY
(
-50%
);
-o-transform
:
translateY
(
-50%
);
transform
:
translateY
(
-50%
)}
.discuss-detail-scroll
.ask
.user-1
.right-1
.name-1
[
data-v-effbd298
]
{
font-size
:
.14rem
;
color
:
#313131
;
-o-text-overflow
:
ellipsis
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
word-break
:
break-all
}
.discuss-detail-scroll
.ask
.user-1
.right-1
.time-1
[
data-v-effbd298
]
{
margin-top
:
5px
;
font-size
:
.14rem
;
color
:
#a0a0a0
}
.discuss-detail-scroll
.item-list
[
data-v-effbd298
]
{
position
:
relative
;
padding
:
.3rem
0
;
border-bottom
:
1px
solid
#c9c9c9
}
.discuss-detail-scroll
.item-list
[
data-v-effbd298
]
:last-child
{
border-bottom
:
none
}
.discuss-detail-scroll
.item-list
.user
[
data-v-effbd298
]
{
margin-top
:
0
;
overflow
:
hidden
}
.discuss-detail-scroll
.item-list
.user
.name
[
data-v-effbd298
]
{
float
:
left
;
font-size
:
.16rem
;
color
:
#313131
;
line-height
:
.2rem
}
.discuss-detail-scroll
.item-list
.user
.time
[
data-v-effbd298
]
{
float
:
left
;
margin-left
:
.4rem
;
font-size
:
.14rem
;
color
:
#a0a0a0
;
line-height
:
.2rem
}
.discuss-detail-scroll
.item-list
.user
.right-txt
[
data-v-effbd298
]
{
float
:
right
;
margin-left
:
.2rem
;
font-size
:
.14rem
;
color
:
#a27c1b
}
.discuss-detail-scroll
.item-list
.text
[
data-v-effbd298
]
{
margin-top
:
.15rem
;
font-size
:
.16rem
;
color
:
#535353
}
.discuss-detail-scroll
.item-list
.text.on
[
data-v-effbd298
]
{
color
:
#2263d9
}
.discuss-detail-scroll
.no-data
[
data-v-effbd298
]
{
padding
:
1rem
0
;
font-size
:
.24rem
;
color
:
#c9c9c9
;
text-align
:
center
}
.input-publish
[
data-v-effbd298
]
{
position
:
fixed
;
z-index
:
2
;
height
:
1.5rem
;
left
:
200px
;
right
:
15px
;
bottom
:
0
;
padding
:
.2rem
;
background
:
#fff
;
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
}
.input-publish
#editor
[
data-v-effbd298
]
{
width
:
100%
;
height
:
.7rem
;
font-size
:
18px
;
line-height
:
1.5
;
outline
:
none
}
.input-publish
.send
[
data-v-effbd298
]
{
font-size
:
14px
;
color
:
#ddd
;
margin-left
:
10px
}
.input-publish
.ask
[
data-v-effbd298
]
{
position
:
relative
;
margin
:
12px
auto
;
width
:
90%
;
height
:
56px
;
border
:
1px
solid
#dcdcdc
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
-webkit-box-sizing
:
border-box
}
.input-publish
.ask
.img
[
data-v-effbd298
]
{
position
:
absolute
;
left
:
24px
;
top
:
13px
;
width
:
28px
;
height
:
.26rem
}
.input-publish
.ask
.txt
[
data-v-effbd298
]
{
position
:
absolute
;
left
:
63px
;
top
:
0
;
height
:
54px
;
width
:
100%
;
border
:
none
;
line-height
:
2
;
font-size
:
.18rem
;
color
:
#313131
}
\ No newline at end of file
.discuss-detail-scroll
.ques
[
data-v-0019a818
]
{
padding
:
0
.26rem
.3rem
;
margin-bottom
:
.2rem
;
background
:
#fff
;
-webkit-box-shadow
:
0
2px
4px
rgba
(
10
,
4
,
6
,
.1
);
-moz-box-shadow
:
0
2px
4px
rgba
(
10
,
4
,
6
,
.1
);
box-shadow
:
0
2px
4px
rgba
(
10
,
4
,
6
,
.1
);
overflow
:
hidden
}
.discuss-detail-scroll
.user
[
data-v-0019a818
]
{
margin-top
:
.15rem
;
overflow
:
hidden
}
.discuss-detail-scroll
.user
.name
[
data-v-0019a818
]
{
float
:
left
;
font-size
:
.16rem
;
color
:
#313131
;
line-height
:
.2rem
}
.discuss-detail-scroll
.user
.time
[
data-v-0019a818
]
{
float
:
left
;
margin-left
:
.4rem
;
font-size
:
.14rem
;
color
:
#a0a0a0
;
line-height
:
.2rem
}
.discuss-detail-scroll
.user
.right-txt
[
data-v-0019a818
]
{
float
:
right
;
margin-left
:
.2rem
;
font-size
:
.14rem
;
color
:
#a27c1b
;
cursor
:
pointer
}
.discuss-detail-scroll
.user
.right-txt
.img
[
data-v-0019a818
]
{
display
:
inline-block
;
margin-top
:
1px
;
width
:
.22rem
;
height
:
.2rem
}
.discuss-detail-scroll
.title
[
data-v-0019a818
]
{
margin
:
.15rem
0
;
font-size
:
.24rem
;
color
:
#313131
;
line-height
:
1.5
;
text-align
:
justify
}
.discuss-detail-scroll
.text
[
data-v-0019a818
]
{
font-size
:
.18rem
;
color
:
#535353
;
line-height
:
1.5
;
text-align
:
justify
}
.discuss-detail-scroll
.result
[
data-v-0019a818
]
{
margin-left
:
.26rem
;
margin-top
:
.15rem
;
font-size
:
.14rem
;
color
:
#313131
}
.discuss-detail-scroll
.ask
[
data-v-0019a818
]
{
position
:
relative
;
margin-top
:
.2rem
;
padding
:
0
.26rem
;
background
:
#fff
;
overflow
:
hidden
}
.discuss-detail-scroll
.ask
.user-1
[
data-v-0019a818
]
{
position
:
relative
;
overflow
:
hidden
;
margin-top
:
.25rem
;
margin-bottom
:
.15rem
}
.discuss-detail-scroll
.ask
.user-1
.img-1
[
data-v-0019a818
]
{
float
:
left
;
width
:
.6rem
;
height
:
.6rem
;
-webkit-border-radius
:
50%
;
-moz-border-radius
:
50%
;
border-radius
:
50%
}
.discuss-detail-scroll
.ask
.user-1
.right-1
[
data-v-0019a818
]
{
position
:
absolute
;
left
:
.72rem
;
top
:
50%
;
-webkit-transform
:
translateY
(
-50%
);
-moz-transform
:
translateY
(
-50%
);
-ms-transform
:
translateY
(
-50%
);
-o-transform
:
translateY
(
-50%
);
transform
:
translateY
(
-50%
)}
.discuss-detail-scroll
.ask
.user-1
.right-1
.name-1
[
data-v-0019a818
]
{
font-size
:
.14rem
;
color
:
#313131
;
-o-text-overflow
:
ellipsis
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
word-break
:
break-all
}
.discuss-detail-scroll
.ask
.user-1
.right-1
.time-1
[
data-v-0019a818
]
{
margin-top
:
5px
;
font-size
:
.14rem
;
color
:
#a0a0a0
}
.discuss-detail-scroll
.item-list
[
data-v-0019a818
]
{
position
:
relative
;
padding
:
.3rem
0
;
border-bottom
:
1px
solid
#c9c9c9
}
.discuss-detail-scroll
.item-list
[
data-v-0019a818
]
:last-child
{
border-bottom
:
none
}
.discuss-detail-scroll
.item-list
.user
[
data-v-0019a818
]
{
margin-top
:
0
;
overflow
:
hidden
}
.discuss-detail-scroll
.item-list
.user
.name
[
data-v-0019a818
]
{
float
:
left
;
font-size
:
.16rem
;
color
:
#313131
;
line-height
:
.2rem
}
.discuss-detail-scroll
.item-list
.user
.time
[
data-v-0019a818
]
{
float
:
left
;
margin-left
:
.4rem
;
font-size
:
.14rem
;
color
:
#a0a0a0
;
line-height
:
.2rem
}
.discuss-detail-scroll
.item-list
.user
.right-txt
[
data-v-0019a818
]
{
float
:
right
;
margin-left
:
.2rem
;
font-size
:
.14rem
;
color
:
#a27c1b
}
.discuss-detail-scroll
.item-list
.text
[
data-v-0019a818
]
{
margin-top
:
.15rem
;
font-size
:
.16rem
;
color
:
#535353
}
.discuss-detail-scroll
.item-list
.text.on
[
data-v-0019a818
]
{
color
:
#2263d9
}
.discuss-detail-scroll
.no-data
[
data-v-0019a818
]
{
padding
:
1rem
0
;
font-size
:
.24rem
;
color
:
#c9c9c9
;
text-align
:
center
}
.input-publish
[
data-v-0019a818
]
{
position
:
fixed
;
z-index
:
2
;
height
:
1.5rem
;
left
:
200px
;
right
:
15px
;
bottom
:
0
;
padding
:
.2rem
;
background
:
#fff
;
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
}
.input-publish
#editor
[
data-v-0019a818
]
{
width
:
100%
;
height
:
.7rem
;
font-size
:
18px
;
line-height
:
1.5
;
outline
:
none
}
.input-publish
.send
[
data-v-0019a818
]
{
font-size
:
14px
;
color
:
#ddd
;
margin-left
:
10px
}
.input-publish
.ask
[
data-v-0019a818
]
{
position
:
relative
;
margin
:
12px
auto
;
width
:
90%
;
height
:
56px
;
border
:
1px
solid
#dcdcdc
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
-webkit-box-sizing
:
border-box
}
.input-publish
.ask
.img
[
data-v-0019a818
]
{
position
:
absolute
;
left
:
24px
;
top
:
13px
;
width
:
28px
;
height
:
.26rem
}
.input-publish
.ask
.txt
[
data-v-0019a818
]
{
position
:
absolute
;
left
:
63px
;
top
:
0
;
height
:
54px
;
width
:
100%
;
border
:
none
;
line-height
:
2
;
font-size
:
.18rem
;
color
:
#313131
}
\ No newline at end of file
client-dist/resources/26.
47711baa
.js
→
client-dist/resources/26.
ca22e961
.js
浏览文件 @
4e156b69
差异被折叠。
点击展开。
client-dist/resources/28.
f7d39fd0
.js
→
client-dist/resources/28.
870b4f34
.js
浏览文件 @
4e156b69
差异被折叠。
点击展开。
client-dist/resources/6.9
9a37f54610a
.css
→
client-dist/resources/6.9
c478d8110d6
.css
浏览文件 @
4e156b69
差异被折叠。
点击展开。
client-dist/resources/6.
c31d0af8
.js
→
client-dist/resources/6.
d322d54c
.js
浏览文件 @
4e156b69
差异被折叠。
点击展开。
client-dist/resources/manifest.
2bf0819b
.js
→
client-dist/resources/manifest.
fdf6df91
.js
浏览文件 @
4e156b69
!
function
(
d
){
function
e
(
e
){
for
(
var
t
,
r
,
n
=
e
[
0
],
a
=
e
[
1
],
o
=
e
[
2
],
f
=
0
,
c
=
[];
f
<
n
.
length
;
f
++
)
r
=
n
[
f
],
s
[
r
]
&&
c
.
push
(
s
[
r
][
0
]),
s
[
r
]
=
0
;
for
(
t
in
a
)
Object
.
prototype
.
hasOwnProperty
.
call
(
a
,
t
)
&&
(
d
[
t
]
=
a
[
t
]);
for
(
p
&&
p
(
e
);
c
.
length
;)
c
.
shift
()();
return
i
.
push
.
apply
(
i
,
o
||
[]),
u
()}
function
u
(){
for
(
var
e
,
t
=
0
;
t
<
i
.
length
;
t
++
){
for
(
var
r
=
i
[
t
],
n
=!
0
,
a
=
1
;
a
<
r
.
length
;
a
++
){
var
o
=
r
[
a
];
0
!==
s
[
o
]
&&
(
n
=!
1
)}
n
&&
(
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
}[
i
]
&&
e
.
push
(
l
[
i
]
=
new
Promise
(
function
(
e
,
n
){
for
(
var
t
=
"resources/"
+
({}[
i
]
||
i
)
+
"."
+
{
0
:
"b2e9413b6daa"
,
1
:
"31d6cfe0d16a"
,
5
:
"a95593c8fdac"
,
6
:
"99a37f54610a"
,
7
:
"5fb66d23f2f0"
,
8
:
"c7ab83b7700d"
,
9
:
"3722d9bda5f5"
,
10
:
"eb5caf8d2af7"
,
11
:
"970f20fae48e"
,
12
:
"ecdbc84c1af7"
,
13
:
"cbf94943e0a6"
,
14
:
"27ece10619a6"
,
15
:
"bea3197f71de"
,
16
:
"30dff0c0c0cb"
,
17
:
"43d7a69049a6"
,
18
:
"6585580b0bed"
,
19
:
"81c5f8820ff9"
,
20
:
"3181e4596df6"
,
21
:
"12c536f6abaf"
,
22
:
"31d6cfe0d16a"
,
23
:
"31d6cfe0d16a"
,
24
:
"31d6cfe0d16a"
,
25
:
"31d6cfe0d16a"
,
26
:
"31d6cfe0d16a"
,
27
:
"31d6cfe0d16a"
,
28
:
"31d6cfe0d16a"
,
29
:
"31d6cfe0d16a"
}[
i
]
+
".css"
,
a
=
b
.
p
+
t
,
r
=
document
.
getElementsByTagName
(
"link"
),
o
=
0
;
o
<
r
.
length
;
o
++
){
var
f
=
(
d
=
r
[
o
]).
getAttribute
(
"data-href"
)
||
d
.
getAttribute
(
"href"
);
if
(
"stylesheet"
===
d
.
rel
&&
(
f
===
t
||
f
===
a
))
return
e
()}
var
c
=
document
.
getElementsByTagName
(
"style"
);
for
(
o
=
0
;
o
<
c
.
length
;
o
++
){
var
d
;
if
((
f
=
(
d
=
c
[
o
]).
getAttribute
(
"data-href"
))
===
t
||
f
===
a
)
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
||
a
,
r
=
new
Error
(
"Loading CSS chunk "
+
i
+
" failed.
\
n("
+
t
+
")"
);
r
.
request
=
t
,
delete
l
[
i
],
u
.
parentNode
.
removeChild
(
u
),
n
(
r
)},
u
.
href
=
a
,
document
.
getElementsByTagName
(
"head"
)[
0
].
appendChild
(
u
)}).
then
(
function
(){
l
[
i
]
=
0
}));
var
t
,
r
=
s
[
i
];
if
(
0
!==
r
)
if
(
r
)
e
.
push
(
r
[
2
]);
else
{
var
n
=
new
Promise
(
function
(
e
,
t
){
r
=
s
[
i
]
=
[
e
,
t
]});
e
.
push
(
r
[
2
]
=
n
);
var
a
,
o
=
document
.
getElementsByTagName
(
"head"
)[
0
],
f
=
document
.
createElement
(
"script"
);
f
.
charset
=
"utf-8"
,
f
.
timeout
=
120
,
b
.
nc
&&
f
.
setAttribute
(
"nonce"
,
b
.
nc
),
f
.
src
=
b
.
p
+
"resources/"
+
({}[
t
=
i
]
||
t
)
+
"."
+
{
0
:
"03237134"
,
1
:
"cce9dd13"
,
5
:
"2ecf20b1"
,
6
:
"c31d0af8"
,
7
:
"339ccf47"
,
8
:
"d5cdd163"
,
9
:
"109add9c"
,
10
:
"236b8345"
,
11
:
"7b12fe3f"
,
12
:
"792709ec"
,
13
:
"e92b9d23"
,
14
:
"f019d021"
,
15
:
"a46ce51b"
,
16
:
"6ba9727d"
,
17
:
"71afe09f"
,
18
:
"fa0bd151"
,
19
:
"b26b8ae8"
,
20
:
"b1a3305e"
,
21
:
"d705dc78"
,
22
:
"37fe44a3"
,
23
:
"e833bd21"
,
24
:
"90451017"
,
25
:
"ae4480e0"
,
26
:
"47711baa"
,
27
:
"8ac385cf"
,
28
:
"f7d39fd0"
,
29
:
"4322baee"
}[
t
]
+
".js"
,
a
=
function
(
e
){
f
.
onerror
=
f
.
onload
=
null
,
clearTimeout
(
c
);
var
t
=
s
[
i
];
if
(
0
!==
t
){
if
(
t
){
var
r
=
e
&&
(
"load"
===
e
.
type
?
"missing"
:
e
.
type
),
n
=
e
&&
e
.
target
&&
e
.
target
.
src
,
a
=
new
Error
(
"Loading chunk "
+
i
+
" failed.
\
n("
+
r
+
": "
+
n
+
")"
);
a
.
type
=
r
,
a
.
request
=
n
,
t
[
1
](
a
)}
s
[
i
]
=
void
0
}};
var
c
=
setTimeout
(
function
(){
a
({
type
:
"timeout"
,
target
:
f
})},
12
e4
);
f
.
onerror
=
f
.
onload
=
a
,
o
.
appendChild
(
f
)}
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
n
in
t
)
b
.
d
(
r
,
n
,
function
(
e
){
return
t
[
e
]}.
bind
(
null
,
n
));
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
||
[],
n
=
t
.
push
.
bind
(
t
);
t
.
push
=
e
,
t
=
t
.
slice
();
for
(
var
a
=
0
;
a
<
t
.
length
;
a
++
)
e
(
t
[
a
]);
var
p
=
n
;
u
()}([]);
\ No newline at end of file
!
function
(
d
){
function
e
(
e
){
for
(
var
t
,
r
,
n
=
e
[
0
],
a
=
e
[
1
],
o
=
e
[
2
],
c
=
0
,
f
=
[];
c
<
n
.
length
;
c
++
)
r
=
n
[
c
],
s
[
r
]
&&
f
.
push
(
s
[
r
][
0
]),
s
[
r
]
=
0
;
for
(
t
in
a
)
Object
.
prototype
.
hasOwnProperty
.
call
(
a
,
t
)
&&
(
d
[
t
]
=
a
[
t
]);
for
(
p
&&
p
(
e
);
f
.
length
;)
f
.
shift
()();
return
i
.
push
.
apply
(
i
,
o
||
[]),
u
()}
function
u
(){
for
(
var
e
,
t
=
0
;
t
<
i
.
length
;
t
++
){
for
(
var
r
=
i
[
t
],
n
=!
0
,
a
=
1
;
a
<
r
.
length
;
a
++
){
var
o
=
r
[
a
];
0
!==
s
[
o
]
&&
(
n
=!
1
)}
n
&&
(
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
}[
i
]
&&
e
.
push
(
l
[
i
]
=
new
Promise
(
function
(
e
,
n
){
for
(
var
t
=
"resources/"
+
({}[
i
]
||
i
)
+
"."
+
{
0
:
"b2e9413b6daa"
,
1
:
"31d6cfe0d16a"
,
5
:
"a95593c8fdac"
,
6
:
"9c478d8110d6"
,
7
:
"5fb66d23f2f0"
,
8
:
"c7ab83b7700d"
,
9
:
"3722d9bda5f5"
,
10
:
"eb5caf8d2af7"
,
11
:
"970f20fae48e"
,
12
:
"ecdbc84c1af7"
,
13
:
"cbf94943e0a6"
,
14
:
"27ece10619a6"
,
15
:
"bea3197f71de"
,
16
:
"30dff0c0c0cb"
,
17
:
"d0e004ae2be4"
,
18
:
"6585580b0bed"
,
19
:
"81c5f8820ff9"
,
20
:
"3181e4596df6"
,
21
:
"12c536f6abaf"
,
22
:
"31d6cfe0d16a"
,
23
:
"31d6cfe0d16a"
,
24
:
"31d6cfe0d16a"
,
25
:
"31d6cfe0d16a"
,
26
:
"31d6cfe0d16a"
,
27
:
"31d6cfe0d16a"
,
28
:
"31d6cfe0d16a"
,
29
:
"31d6cfe0d16a"
}[
i
]
+
".css"
,
a
=
b
.
p
+
t
,
r
=
document
.
getElementsByTagName
(
"link"
),
o
=
0
;
o
<
r
.
length
;
o
++
){
var
c
=
(
d
=
r
[
o
]).
getAttribute
(
"data-href"
)
||
d
.
getAttribute
(
"href"
);
if
(
"stylesheet"
===
d
.
rel
&&
(
c
===
t
||
c
===
a
))
return
e
()}
var
f
=
document
.
getElementsByTagName
(
"style"
);
for
(
o
=
0
;
o
<
f
.
length
;
o
++
){
var
d
;
if
((
c
=
(
d
=
f
[
o
]).
getAttribute
(
"data-href"
))
===
t
||
c
===
a
)
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
||
a
,
r
=
new
Error
(
"Loading CSS chunk "
+
i
+
" failed.
\
n("
+
t
+
")"
);
r
.
request
=
t
,
delete
l
[
i
],
u
.
parentNode
.
removeChild
(
u
),
n
(
r
)},
u
.
href
=
a
,
document
.
getElementsByTagName
(
"head"
)[
0
].
appendChild
(
u
)}).
then
(
function
(){
l
[
i
]
=
0
}));
var
t
,
r
=
s
[
i
];
if
(
0
!==
r
)
if
(
r
)
e
.
push
(
r
[
2
]);
else
{
var
n
=
new
Promise
(
function
(
e
,
t
){
r
=
s
[
i
]
=
[
e
,
t
]});
e
.
push
(
r
[
2
]
=
n
);
var
a
,
o
=
document
.
getElementsByTagName
(
"head"
)[
0
],
c
=
document
.
createElement
(
"script"
);
c
.
charset
=
"utf-8"
,
c
.
timeout
=
120
,
b
.
nc
&&
c
.
setAttribute
(
"nonce"
,
b
.
nc
),
c
.
src
=
b
.
p
+
"resources/"
+
({}[
t
=
i
]
||
t
)
+
"."
+
{
0
:
"03237134"
,
1
:
"cce9dd13"
,
5
:
"2ecf20b1"
,
6
:
"d322d54c"
,
7
:
"339ccf47"
,
8
:
"d5cdd163"
,
9
:
"109add9c"
,
10
:
"2354c82f"
,
11
:
"7b12fe3f"
,
12
:
"792709ec"
,
13
:
"e92b9d23"
,
14
:
"f019d021"
,
15
:
"a46ce51b"
,
16
:
"6ba9727d"
,
17
:
"6f7a3ac1"
,
18
:
"fa0bd151"
,
19
:
"b26b8ae8"
,
20
:
"b1a3305e"
,
21
:
"d705dc78"
,
22
:
"37fe44a3"
,
23
:
"e833bd21"
,
24
:
"90451017"
,
25
:
"ae4480e0"
,
26
:
"ca22e961"
,
27
:
"8ac385cf"
,
28
:
"870b4f34"
,
29
:
"4322baee"
}[
t
]
+
".js"
,
a
=
function
(
e
){
c
.
onerror
=
c
.
onload
=
null
,
clearTimeout
(
f
);
var
t
=
s
[
i
];
if
(
0
!==
t
){
if
(
t
){
var
r
=
e
&&
(
"load"
===
e
.
type
?
"missing"
:
e
.
type
),
n
=
e
&&
e
.
target
&&
e
.
target
.
src
,
a
=
new
Error
(
"Loading chunk "
+
i
+
" failed.
\
n("
+
r
+
": "
+
n
+
")"
);
a
.
type
=
r
,
a
.
request
=
n
,
t
[
1
](
a
)}
s
[
i
]
=
void
0
}};
var
f
=
setTimeout
(
function
(){
a
({
type
:
"timeout"
,
target
:
c
})},
12
e4
);
c
.
onerror
=
c
.
onload
=
a
,
o
.
appendChild
(
c
)}
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
n
in
t
)
b
.
d
(
r
,
n
,
function
(
e
){
return
t
[
e
]}.
bind
(
null
,
n
));
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
||
[],
n
=
t
.
push
.
bind
(
t
);
t
.
push
=
e
,
t
=
t
.
slice
();
for
(
var
a
=
0
;
a
<
t
.
length
;
a
++
)
e
(
t
[
a
]);
var
p
=
n
;
u
()}([]);
\ No newline at end of file
client/components/player/chapterVideo/chapterVideo.vue
浏览文件 @
4e156b69
...
...
@@ -118,7 +118,7 @@ export default {
if
(
this
.
_rProgress
&&
this
.
_rProgress
.
id
)
{
let
_rProgress
=
this
.
_rProgress
let
tempTime
=
this
.
videoFlash
.
lastTime
_rProgress
.
pt
=
parseInt
(
_rProgress
.
pt
)
+
parseInt
((
tempTime
-
_rProgress
.
cpt
>
0
)
&&
(
tempTime
-
_rProgress
.
cpt
<
8
)
?
(
tempTime
-
_rProgress
.
cpt
)
:
0
)
_rProgress
.
pt
=
_rProgress
.
pt
+
((
tempTime
-
_rProgress
.
cpt
>
0
)
&&
(
tempTime
-
_rProgress
.
cpt
<
8
)
?
(
tempTime
-
_rProgress
.
cpt
)
:
0
)
_rProgress
.
cpt
=
tempTime
_rProgress
.
mpt
=
tempTime
>
_rProgress
.
mpt
?
tempTime
:
_rProgress
.
mpt
this
.
$emit
(
'updateProgress'
,
this
.
_rProgress
)
...
...
client/components/player/chapterWork/chapterWork.vue
浏览文件 @
4e156b69
...
...
@@ -186,7 +186,7 @@ export default {
!
this
.
ckeditor
&&
(
this
.
ckeditor
=
CKEDITOR
.
replace
(
'editor-chapterWork'
,
{
height
:
300
,
uiColor
:
'#eeeeee'
,
filebrowserImageUploadUrl
:
'/api/
editor
/upload'
,
filebrowserImageUploadUrl
:
'/api/
ckeditor/img
/upload'
,
// resize_enabled: typeof this.props.resizable === 'boolean' ? this.props.resizable : true,
toolbar
:
[
// { name: 'document', items: [ 'Source', '-', 'Save', 'NewPage', 'Preview' ] },
...
...
client/components/player/courseWork/courseWork.vue
浏览文件 @
4e156b69
...
...
@@ -179,7 +179,7 @@ export default {
!
this
.
ckeditor
&&
(
this
.
ckeditor
=
CKEDITOR
.
replace
(
'editor-courseWork'
,
{
height
:
300
,
uiColor
:
'#eeeeee'
,
filebrowserImageUploadUrl
:
'/api/
editor
/upload'
,
filebrowserImageUploadUrl
:
'/api/
ckeditor/img
/upload'
,
// resize_enabled: typeof this.props.resizable === 'boolean' ? this.props.resizable : true,
toolbar
:
[
// { name: 'document', items: [ 'Source', '-', 'Save', 'NewPage', 'Preview' ] },
...
...
client/components/player/index.vue
浏览文件 @
4e156b69
...
...
@@ -20,19 +20,6 @@
@
handlePlayTime=
"handlePlayTime"
@
updateProgress=
"updateProgress"
></router-view>
<!--
{params.chapterId === 'work' ?
: chapter.type === chapterType.VIDEO ?
<ChapterVideo
ref=
"chapterVideo"
prevChapterId=
{prevChapterId}
nextChapterId={nextChapterId}
curProgress={curProgress}
handlePlayTime={this.handlePlayTime}
handleOver={this.handleOver}
lastTime={cpt}
/>
} -->
</div>
</div>
...
...
client/project/elearning-node/pages/myLearn/discussDetail.vue
浏览文件 @
4e156b69
...
...
@@ -354,7 +354,7 @@ export default {
!this.ckeditor && (this.ckeditor = CKEDITOR.replace('
editor
', {
height: 100,
uiColor: '
#
eeeeee
',
filebrowserImageUploadUrl: '
/
api
/
editor
/
upload
',
filebrowserImageUploadUrl: '
/
api
/
ckeditor
/
img
/
upload
',
// resize_enabled: typeof this.props.resizable === '
boolean
' ? this.props.resizable : true,
toolbar: [
// { name: '
document
', items: [ '
Source
', '
-
', '
Save
', '
NewPage
', '
Preview
' ] },
...
...
server/elearning-node/routes/index.js
浏览文件 @
4e156b69
...
...
@@ -229,24 +229,96 @@ const _rmdir = (dir, callback) => {
}
const
ckeditorUpload
=
(
req
,
res
)
=>
{
/* 文件上传 */
/* 文件上传
ckeditor4.5以上返回格式
*/
function
sendHtml
(
url
,
msg
)
{
// req.query.CKEditorFuncNum 我这里用 ckeditor 没有传 这个值 直接默认
res
.
send
(
`<script>window.parent.CKEDITOR.tools.callFunction(
${
0
}
, "
${
url
||
''
}
", "
${
msg
||
''
}
");</script>`
)
res
.
json
({
'uploaded'
:
url
?
1
:
0
,
'fileName'
:
'image'
,
'url'
:
url
,
'error'
:
{
'message'
:
msg
}
})
}
if
(
req
.
files
.
length
)
{
if
(
!
req
.
files
[
0
].
mimetype
.
startsWith
(
'image'
))
{
sendHtml
(
''
,
'文件类型错误,请上传图片'
);
return
}
if
(
req
.
files
[
0
].
size
>
10
*
1024
*
1024
)
{
sendHtml
(
''
,
'图片大小超限'
);
return
}
req
.
files
.
forEach
((
elem
,
i
)
=>
{
/* 缓存文件中 名称替换,上传名称一致 会被覆盖 */
fs
.
renameSync
(
elem
.
path
,
elem
.
destination
+
elem
.
originalname
)
// response.successArr.push({
// fileParam: elem.fieldname,
// fileName: elem.originalname
// })
let
headers
=
_
.
assignIn
({},
req
.
headers
)
let
options
=
{}
options
=
{
timeout
:
30
*
1000
,
url
:
'tenant/util/upload-image'
,
baseURL
:
conf
.
agentApiUrl
,
method
:
req
.
method
,
data
:
req
.
body
,
params
:
req
.
query
}
headers
[
'accept'
]
=
'*/*'
delete
headers
[
'accept-language'
]
if
(
/multipart
\/
form-data/gi
.
test
(
headers
[
'content-type'
]))
{
let
_obj
=
_
.
assignIn
({},
req
.
body
)
req
.
files
.
forEach
((
elem
,
i
)
=>
{
/* 缓存文件中 名称替换,上传名称一致 会被覆盖 */
fs
.
renameSync
(
elem
.
path
,
elem
.
destination
+
elem
.
originalname
)
/* 增加 日期目录 */
let
dateDir
=
'ckeditor '
+
cTool
.
convertTime
.
durationToDateString
(
new
Date
().
getTime
())
/* 异步 处理文件 */
fs
.
stat
(
elem
.
destination
+
dateDir
,
(
error
,
stats
)
=>
{
if
(
error
)
{
fs
.
mkdir
(
elem
.
destination
+
dateDir
,
(
error
)
=>
{
if
(
error
)
{
console
.
log
(
error
);
return
false
}
fs
.
renameSync
(
elem
.
destination
+
elem
.
originalname
,
elem
.
destination
+
dateDir
+
'/'
+
elem
.
originalname
)
})
}
else
{
fs
.
renameSync
(
elem
.
destination
+
elem
.
originalname
,
elem
.
destination
+
dateDir
+
'/'
+
elem
.
originalname
)
}
})
_obj
[
'image'
]
=
fs
.
createReadStream
(
elem
.
destination
+
elem
.
originalname
)
})
let
fro
=
new
FormData
()
for
(
let
key
in
_obj
)
{
fro
.
append
(
key
,
_obj
[
key
])
}
options
.
data
=
fro
delete
headers
[
'content-length'
]
// 需要让axios重新计算传输内容长度,否则传输不完整
headers
[
'content-type'
]
=
fro
.
getHeaders
()[
'content-type'
]
}
let
s
=
''
let
arr
=
headers
.
cookie
.
split
(
'; '
)
for
(
let
i
=
0
;
i
<
arr
.
length
;
i
++
)
{
if
(
/^_SUP/g
.
test
(
arr
[
i
]))
{
s
=
arr
[
i
].
split
(
'='
)[
1
]
break
}
}
s
=
decodeURIComponent
(
s
||
''
)
let
ticket
=
''
s
=
s
.
match
(
/"
([\d\w
=
]
+
)
";
\}
$/
)
if
(
s
&&
s
.
length
===
2
)
{
s
=
new
Buffer
(
s
[
1
],
'base64'
).
toString
()
// eslint-disable-line
s
=
s
.
slice
(
12
,
s
.
search
(
'-TGT'
)
+
4
)
ticket
=
s
.
split
(
''
).
reverse
().
join
(
''
)
}
headers
[
'token'
]
=
ticket
headers
[
'tenant'
]
=
'sofia'
axios
.
defaults
.
headers
=
headers
/* 重新转发请求 */
axios
(
options
).
then
((
data
)
=>
{
if
(
data
.
data
.
success
)
{
sendHtml
(
data
.
data
.
url
,
''
)
}
else
{
sendHtml
(
''
,
'上传错误,请重试'
)
}
req
.
files
.
forEach
((
elem
,
i
)
=>
{
fs
.
stat
(
elem
.
destination
+
elem
.
originalname
,
(
error
,
stats
)
=>
{
if
(
error
)
{
return
}
fs
.
unlink
(
elem
.
destination
+
elem
.
originalname
,
(
error
)
=>
{
if
(
error
)
console
.
log
(
error
)
})
})
})
}).
catch
((
e
)
=>
{
sendHtml
(
''
,
'上传错误,请重试1'
)
})
res
.
status
(
200
)
res
.
end
(
'1'
)
}
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论