Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
L
learn-online-pc
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
learn-online-pc
Commits
8ec37b1b
提交
8ec37b1b
authored
10月 10, 2023
作者:
王鹏飞
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
chore: 新增教学评估
上级
6ad34e25
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
209 行增加
和
59 行删除
+209
-59
dev.ezijing.com.key
build/dev.ezijing.com.key
+26
-27
dev.ezijing.com.pem
build/dev.ezijing.com.pem
+25
-24
index.html
src/index.html
+7
-4
CourseChapter.vue
src/pages/learn/course/components/CourseChapter.vue
+12
-4
survey2.vue
src/pages/survey/survey2.vue
+133
-0
routes.js
src/router/routes.js
+6
-0
没有找到文件。
build/dev.ezijing.com.key
浏览文件 @
8ec37b1b
-----BEGIN RSA PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
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
-----END RSA PRIVATE KEY-----
-----END RSA PRIVATE KEY-----
\ No newline at end of file
build/dev.ezijing.com.pem
浏览文件 @
8ec37b1b
-----BEGIN CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIGt
jCCBZ6gAwIBAgIQDjUArTRdZ4P5wtQVmCqJGj
ANBgkqhkiG9w0BAQsFADBj
MIIGt
DCCBZygAwIBAgIQJtN62MbxMBaLhLadTXD/Lz
ANBgkqhkiG9w0BAQsFADBj
MQswCQYDVQQGEwJDTjE2MDQGA1UECgwtQmVpamluZyBYaW5jaGFjaGEgQ3JlZGl0
MQswCQYDVQQGEwJDTjE2MDQGA1UECgwtQmVpamluZyBYaW5jaGFjaGEgQ3JlZGl0
IE1hbmFnZW1lbnQgQ28uLCBMdGQuMRwwGgYDVQQDDBNYY2MgVHJ1c3QgT1YgU1NM
IE1hbmFnZW1lbnQgQ28uLCBMdGQuMRwwGgYDVQQDDBNYY2MgVHJ1c3QgT1YgU1NM
IENBMB4XDTI
yMDgxODE0MDAzMVoXDTIzMDkxNzE0MDAz
MFowgY4xCzAJBgNVBAYT
IENBMB4XDTI
zMDkwNzA1NTM0MVoXDTI0MDkwNjA1NTM0
MFowgY4xCzAJBgNVBAYT
AkNOMRIwEAYDVQQIDAnljJfkuqzluIIxEjAQBgNVBAcMCeWMl+S6rOW4gjE/MD0G
AkNOMRIwEAYDVQQIDAnljJfkuqzluIIxEjAQBgNVBAcMCeWMl+S6rOW4gjE/MD0G
A1UECgw25riF5o6n57Sr6I2G77yI5YyX5Lqs77yJ5pWZ6IKy56eR5oqA6IKh5Lu9
A1UECgw25riF5o6n57Sr6I2G77yI5YyX5Lqs77yJ5pWZ6IKy56eR5oqA6IKh5Lu9
5pyJ6ZmQ5YWs5Y+4MRYwFAYDVQQDDA0qLmV6aWppbmcuY29tMIIBIjANBgkqhkiG
5pyJ6ZmQ5YWs5Y+4MRYwFAYDVQQDDA0qLmV6aWppbmcuY29tMIIBIjANBgkqhkiG
9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
ucCbdPPyAp6vmnr5XObuPsctUhVLyXwqbIpg
9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
wZGHX8Zg+EP5uwnEBWkQazq8DMnKz3QfcNRU
I5jWzjG7wmk8V6z8WJKPO9KZM6D9ejtN/bbbd3j1cRiw7NSl8AUykiVHJWz9TXAf
jFsxsZjM/98roYYp+K6/i/b8JXAVMqjC9+X/ZajgbDPLTrgDJ4TQ70ajdusqG3sw
lET2EpILLeraI1B2XAcBsc8dZBGGJD/LT97ZvNLYzuQOr7R1wytWH1uisAK5Clzg
NqG0qLUogNgUPcgVRKr2Pk+m79GD/nnxFgeaG6eBfLsb73G2cQUwsgi3bjf6mX6b
nSptMenXFyhw5Xw0Lm3zoeeqYF/KMQ1McAYMGxgu6s6dxXKiA0BcgWQ31yZey0c4
9bjxjqzwX0PWes27yyqdS9uQFzV5KLTA2FJJjGGbg54ZLxVc01aVXx2gG0eLnOFc
HhCt7T7sA/UNahUsxtCcSNSvdgXay5Pu/l3N88TwW2QzaCzrueILHWRFwkREhpqy
DSmgXUN4hBmNgYF4FYHhOVXdMl2+yGGp6IvtIIrt+cp2/TQePnxB2QYwrlDMajHr
rwjN3gkaa+1TjLxzCsk/pTnPccxlFwc3YQ3hYLMl36NJ/OIpHwIDAQABo4IDOD
CC
Kp0x7LsqWwZTjepPgGWWDssiSgTCYVaPx28ESbotpzR7D+LlHQIDAQABo4IDNj
CC
Az
Q
wDAYDVR0TAQH/BAIwADBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8veGluY2hh
Az
I
wDAYDVR0TAQH/BAIwADBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8veGluY2hh
Y2hhMm92LmNybC5jZXJ0dW0ucGwveGluY2hhY2hhMm92LmNybDB5BggrBgEFBQcB
Y2hhMm92LmNybC5jZXJ0dW0ucGwveGluY2hhY2hhMm92LmNybDB5BggrBgEFBQcB
AQRtMGswLwYIKwYBBQUHMAGGI2h0dHA6Ly94aW5jaGFjaGEyb3Yub2NzcC1jZXJ0
AQRtMGswLwYIKwYBBQUHMAGGI2h0dHA6Ly94aW5jaGFjaGEyb3Yub2NzcC1jZXJ0
dW0uY29tMDgGCCsGAQUFBzAChixodHRwOi8vcmVwb3NpdG9yeS5jZXJ0dW0ucGwv
dW0uY29tMDgGCCsGAQUFBzAChixodHRwOi8vcmVwb3NpdG9yeS5jZXJ0dW0ucGwv
eGluY2hhY2hhMm92LmNlcjAfBgNVHSMEGDAWgBT6oMvCx12BtSCSByALtjtwOwkO
eGluY2hhY2hhMm92LmNlcjAfBgNVHSMEGDAWgBT6oMvCx12BtSCSByALtjtwOwkO
VTAdBgNVHQ4EFgQU
EJufsd5nLNR+wqR2GsFWDn7qTn0
wTAYDVR0gBEUwQzAIBgZn
VTAdBgNVHQ4EFgQU
Xm2TAFqEePvMkmcMN+bVXSvLTH8
wTAYDVR0gBEUwQzAIBgZn
gQwBAgIwNwYMKoRoAYb2dwIFARYCMCcwJQYIKwYBBQUHAgEWGWh0dHBzOi8vd3d3
gQwBAgIwNwYMKoRoAYb2dwIFARYCMCcwJQYIKwYBBQUHAgEWGWh0dHBzOi8vd3d3
LmNlcnR1bS5wbC9DUFMwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA4G
LmNlcnR1bS5wbC9DUFMwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA4G
A1UdDwEB/wQEAwIFoDAlBgNVHREEHjAcgg0qLmV6aWppbmcuY29tggtlemlqaW5n
A1UdDwEB/wQEAwIFoDAlBgNVHREEHjAcgg0qLmV6aWppbmcuY29tggtlemlqaW5n
LmNvbTCCAX
4GCisGAQQB1nkCBAIEggFuBIIBagFoAHYAVYHUwhaQNgFK6gubVzx
T
LmNvbTCCAX
wGCisGAQQB1nkCBAIEggFsBIIBaAFmAHUA7s3QZNXbGs7FXLedtM0
T
8MDkOHhwJQgXL6OqHQcT0wwAAAGCsUFwdgAABAMARzBFAiAc51lynft4sehXTgy
w
ojKHRny87N7DUUhZRnEftZsAAAGKbjQU6wAABAMARjBEAiAMbEi/VFFT/mgWiXP
w
tjQ83PAVmfZ3FC55eIpIETe2hgIhANvo5ZtGQpcZQ5HSGbRLy4Y9/MbUrS8dtkwP
WgVT5THVJCfr9j1oIcfiB5MFHgIgJ2nAv7xTmfoZfcO8sWoGigLdN8QtGksVUSI2
l7I/lRj7AHYArfe++nz/EMiLnT2cHj4YarRnKV3PsQwkyoWGNOvcgooAAAGCsUFw
86Wg3O4AdgDatr9rP7W2Ip+bwrtca+hwkXFsu1GEhTS9pD0wSNf7qwAAAYpuNBUS
TwAABAMARzBFAiATnQDMw1wykBdnTIRfSSXPj7HZfDdRRq6VaiTbSpYKYQIhAMTp
AAAEAwBHMEUCIDmQ1/B1s3jRr+0SvDSWEFN9/b4/W8QV5yULASXqQkYqAiEA0wKZ
V6K0W9gtdYGdeg4j6n17S1yMODYvLJxd3kAFFNDTAHYAejKMVNi3LbYg6jjgUh7p
lklUASXMM8mluAimD5e4qSXu76+148bfZA2d404AdQBIsONr2qZHNA/lagL6nTDr
hBZwMhOFTTvSK8E6V6NS61IAAAGCsUFwrQAABAMARzBFAiEAwWKXKxp6DcKG7R/d
HFIBy1bdLIHZu7+rOdiEcwAAAYpuNBefAAAEAwBGMEQCICyokQlEyxPTPYNBZzwv
rxmPUg8uNbUcdxysrpB3gOzkIlACICWpx7/+2ulDG2EC9m4RqGcXbts3VWu/yxpE
W8AxbKUJl+I5TbJEJsiFECRUAiA8fA86Hof/yLHhMl4amx5AttDNhpDrCHDK1N7m
0pAYuAP8MA0GCSqGSIb3DQEBCwUAA4IBAQCf3AdKLO8EUntMjKaRa0lncwh/pBIQ
NYx9XjANBgkqhkiG9w0BAQsFAAOCAQEAq4Q2vW3Xh5TOYk/DofnV2uRiK08P5a5I
bcQfkJBfiTpo6tnRphR+DE50oYOX1TSQRm4cDgP2JURYiTK6Z2+ljqMbUx4mNLqe
NRE5Tet3J5rp2WnNgXoSAOabqWGI6VrTyenTZxrmS/2Aq2A008WOj4Z7T3P9iDS/
+6yG+PGCUX6rX4BsJqlRP2W7WONE/I3/3S6MRfclKmakHSyrGFi8O/JJyNqm+5z9
MgJkPmc/REqHr15LIDnyRRfmn9+1ShVMwukYHSmZgPewAzSkKdGFN85t3uCEUnXz
8tnk8c1Cn7FboJZonhX0yszHkXLLeA93xm5+Etkw0+DvRcZGiEqKQivO3CnUh1gs
kna3ZmSqgJrSWSO9n/3t/kICsVivjqSUuHtnCSbBa+DTSNxIkbkr1t1RJkF4KvSk
LZg27a8s3dtmAAHbb2icm5jloK9Jgpx/NkGL/cCoNZ8Ng2TZkRvo6GzIp43uS332
AKkvyojoKoeCd+WWEl2MBHY6TK4CzfyLN5qhQub0XqTOh6cG9TwALcLZ4MQeaeOO
R07dQ6rNWZkPzdxKUdNcT0v3yJJyxD1H3Rk4/bxp78giw4JGHp52Df+U
ZkGv9DcyeOz7FwwzFa+vAyzhq2XlDPLlpZ4ELALbaqnq3x7HHpzlpw==
-----END CERTIFICATE-----
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEzzCCA7egAwIBAgIRAPJECC2rqQ2ljHLp8pqTQK4wDQYJKoZIhvcNAQELBQAw
MIIEzzCCA7egAwIBAgIRAPJECC2rqQ2ljHLp8pqTQK4wDQYJKoZIhvcNAQELBQAw
...
@@ -111,3 +111,4 @@ CjqTE5s7FCMTY5w/0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5x
...
@@ -111,3 +111,4 @@ CjqTE5s7FCMTY5w/0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5x
O/fIR/RpbxXyEV6DHpx8Uq79AtoSqFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs
O/fIR/RpbxXyEV6DHpx8Uq79AtoSqFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs
6GAqm4VKQPNriiTsBhYscw==
6GAqm4VKQPNriiTsBhYscw==
-----END CERTIFICATE-----
-----END CERTIFICATE-----
src/index.html
浏览文件 @
8ec37b1b
...
@@ -9,12 +9,15 @@
...
@@ -9,12 +9,15 @@
<meta
http-equiv=
"Pragma"
content=
"no-cache"
/>
<meta
http-equiv=
"Pragma"
content=
"no-cache"
/>
<meta
http-equiv=
"Expires"
content=
"0"
/>
<meta
http-equiv=
"Expires"
content=
"0"
/>
<title></title>
<title></title>
<meta
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, shrink-to-fit=no"
/>
name=
"viewport"
content=
"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, shrink-to-fit=no"
/>
<!-- 直接引入aliyun播放插件 CSS -->
<!-- 直接引入aliyun播放插件 CSS -->
<link
rel=
"stylesheet"
href=
"https://g.alicdn.com/de/prismplayer/2.9.3/skins/default/aliplayer-min.css"
/>
<link
rel=
"stylesheet"
href=
"https://g.alicdn.com/de/prismplayer/2.9.3/skins/default/aliplayer-min.css"
/>
<script
type=
"module"
>
;(
async
()
=>
{
const
{
list
}
=
await
import
(
'https://webapp-pub.ezijing.com/lms/ciis/ciis.js?v=2'
)
window
.
QA_LIST
=
list
})()
</script>
</head>
</head>
<body>
<body>
<div
id=
"app"
></div>
<div
id=
"app"
></div>
...
...
src/pages/learn/course/components/CourseChapter.vue
浏览文件 @
8ec37b1b
<
template
>
<
template
>
<div
class=
"course-chapter"
>
<div
class=
"course-chapter"
>
<el-collapse
v-model=
"activeNames"
>
<el-collapse
v-model=
"activeNames"
>
<template
v-for=
"
item
in chapters"
>
<template
v-for=
"
(item, index)
in chapters"
>
<el-collapse-item
:title=
"item.name"
:name=
"item.id"
:key=
"item.id"
v-if=
"item.children"
>
<el-collapse-item
:title=
"item.name"
:name=
"item.id"
:key=
"item.id"
v-if=
"item.children"
>
<ul>
<ul>
<li
v-for=
"subItem in item.children"
:key=
"subItem.id"
@
click=
"handleClick(subItem)"
>
<li
v-for=
"subItem in item.children"
:key=
"subItem.id"
@
click=
"handleClick(subItem)"
>
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
</li>
</li>
</ul>
</ul>
</el-collapse-item>
</el-collapse-item>
<div
class=
"el-collapse-item"
:key=
"item.id"
@
click=
"handleClick(item)"
v-else
>
<div
class=
"el-collapse-item"
:key=
"item.id
+ index
"
@
click=
"handleClick(item)"
v-else
>
<div
class=
"el-collapse-item__header"
>
{{ item.name }}
</div>
<div
class=
"el-collapse-item__header"
>
{{ item.name }}
</div>
</div>
</div>
</template>
</template>
...
@@ -58,7 +58,11 @@ export default {
...
@@ -58,7 +58,11 @@ export default {
if
(
this
.
course
.
course_examination
)
{
if
(
this
.
course
.
course_examination
)
{
customeChapter
.
push
({
name
:
this
.
$t
(
'viewerMain.courseExam'
),
id
:
'course_exam'
,
type
:
101
})
customeChapter
.
push
({
name
:
this
.
$t
(
'viewerMain.courseExam'
),
id
:
'course_exam'
,
type
:
101
})
}
}
return
chapters
.
concat
(
customeChapter
)
const
survey
=
window
.
QA_LIST
.
filter
(
item
=>
item
.
course_id
===
this
.
cid
).
map
((
item
,
index
,
arr
)
=>
{
const
name
=
arr
.
length
>
1
?
`教学评估 ——
${
item
.
teacher_name
}
`
:
'教学评估'
return
{
name
,
id
:
'teach_evaluation'
,
type
:
102
,
order_id
:
index
+
1
}
})
return
chapters
.
concat
(
customeChapter
,
survey
)
}
}
},
},
methods
:
{
methods
:
{
...
@@ -81,8 +85,12 @@ export default {
...
@@ -81,8 +85,12 @@ export default {
// }
// }
// 教学评估
// 教学评估
if
(
data
.
id
===
'teach_evaluation'
)
{
if
(
data
.
id
===
'teach_evaluation'
)
{
if
(
this
.
course
.
surveys
.
includes
(
data
.
order_id
+
''
))
{
this
.
$message
(
'已提交'
)
return
}
const
{
sid
,
cid
}
=
this
.
$route
.
params
const
{
sid
,
cid
}
=
this
.
$route
.
params
this
.
$router
.
push
({
name
:
'survey
'
,
params
:
{
sid
,
c
id
}
})
this
.
$router
.
push
({
name
:
'survey
2'
,
params
:
{
sid
,
cid
},
query
:
{
order_id
:
data
.
order_
id
}
})
return
return
}
}
...
...
src/pages/survey/survey2.vue
0 → 100644
浏览文件 @
8ec37b1b
<
template
>
<div
style=
"padding: 80px;"
>
<div
class=
"survey-container"
v-if=
"detail"
>
<header
class=
"header"
>
<div
class=
"header-title"
>
{{
detail
.
title
}}
</div>
<div
class=
"header-desc"
>
{{
detail
.
description
}}
</div>
</header>
<div
class=
"group"
v-for=
"(group, index) in fields"
>
<div
class=
"group-title"
>
{{
index
+
1
}}
.
{{
group
.
title
}}
</div>
<template
v-if=
"group.type == 3"
>
<el-table
:data=
"group.arr"
>
<el-table-column
prop=
"option"
></el-table-column>
<el-table-column
align=
"center"
width=
"100"
:label=
"option"
v-for=
"option in options"
:key=
"option"
>
<template
v-slot=
"
{ row }">
<el-tooltip
effect=
"light"
:content=
"option"
>
<el-radio
:label=
"option"
v-model=
"row.star"
></el-radio>
</el-tooltip>
</
template
>
</el-table-column>
</el-table>
</template>
<el-input
v-model=
"group.area"
style=
"width:50%"
v-if=
"group.type == 1"
></el-input>
<el-input
type=
"textarea"
:autosize=
"{ minRows: 4 }"
v-model=
"group.area"
v-if=
"group.type == 4"
></el-input>
</div>
<footer
class=
"footer"
>
<el-button
type=
"primary"
@
click=
"handleSubmit"
class=
"btn"
>
提交
</el-button>
</footer>
</div>
</div>
</template>
<
script
>
import
Base64
from
'Base64'
import
cAction
from
'@action'
export
default
{
props
:
{
sid
:
{
type
:
String
,
require
:
false
},
cid
:
{
type
:
String
,
require
:
false
}
},
data
()
{
return
{
detail
:
{},
fields
:
[],
options
:
[
'非常不同意'
,
'不同意'
,
'一般'
,
'同意'
,
'非常同意'
]
}
},
mounted
()
{
const
orderId
=
parseInt
(
this
.
$route
.
query
.
order_id
)
-
1
const
list
=
window
.
QA_LIST
?.
filter
(
item
=>
item
.
course_id
===
this
.
cid
)
||
[]
this
.
detail
=
list
[
orderId
]
||
list
[
0
]
this
.
fields
=
this
.
detail
?.
arr
.
map
(
item
=>
{
if
(
item
.
arr
&&
item
.
arr
.
length
>
1
)
return
item
return
{
...
item
,
area
:
''
}
})
||
[]
},
methods
:
{
/* 提交数据 */
handleSubmit
()
{
for
(
const
group
of
this
.
fields
)
{
if
(
group
.
arr
&&
group
.
arr
.
length
)
{
for
(
const
item
of
group
.
arr
)
{
if
(
!
item
.
star
)
{
this
.
$message
.
error
(
'尚有内容未填写,请填写完整每一项'
)
return
}
}
}
else
if
(
!
group
.
area
)
{
this
.
$message
.
error
(
'尚有内容未填写,请填写完整每一项'
)
return
}
}
cAction
.
Player
.
updateSurveyAnswer
({
semester_id
:
this
.
sid
,
course_id
:
this
.
cid
,
raw
:
Base64
.
encode
(
JSON
.
stringify
(
this
.
fields
)),
order_id
:
this
.
$route
.
query
.
order_id
}).
then
(()
=>
{
this
.
$message
.
success
(
'感谢你的宝贵意见。'
)
setTimeout
(()
=>
{
this
.
$router
.
push
({
path
:
`/app/learn/course-detail/
${
this
.
sid
}
/
${
this
.
cid
}
`
})
},
2000
)
})
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.survey-container
{
max-width
:
800px
;
margin
:
0
auto
;
padding
:
40px
;
background-color
:
#fff
;
overflow
:
hidden
;
}
.header
{
padding
:
10px
0
26px
;
margin-bottom
:
16px
;
border-bottom
:
1px
dashed
#ccc
;
}
.header-title
{
font-size
:
24px
;
line-height
:
32px
;
font-weight
:
600
;
text-align
:
center
;
margin-bottom
:
20px
;
}
.header-desc
{
font-size
:
15px
;
line-height
:
24px
;
}
.group
{
padding
:
20px
0
;
}
.group-title
{
padding-bottom
:
10px
;
font-size
:
17px
;
line-height
:
26px
;
font-weight
:
500
;
color
:
#262626
;
}
.btn
{
display
:
block
;
width
:
200px
;
margin
:
80px
auto
20px
;
border-radius
:
0
;
}
::v-deep
.el-radio__label
{
display
:
none
;
}
</
style
>
src/router/routes.js
浏览文件 @
8ec37b1b
...
@@ -214,6 +214,12 @@ export default [
...
@@ -214,6 +214,12 @@ export default [
component
:
()
=>
import
(
'@/pages/survey/survey.vue'
),
component
:
()
=>
import
(
'@/pages/survey/survey.vue'
),
props
:
true
props
:
true
},
},
{
path
:
'/survey2/:sid/:cid'
,
name
:
'survey2'
,
component
:
()
=>
import
(
'@/pages/survey/survey2.vue'
),
props
:
true
},
{
path
:
'/403'
,
name
:
'403'
,
component
:
()
=>
import
(
'@/pages/exception/403.vue'
)
},
{
path
:
'/403'
,
name
:
'403'
,
component
:
()
=>
import
(
'@/pages/exception/403.vue'
)
},
{
path
:
'/browser'
,
name
:
'browser'
,
component
:
()
=>
import
(
'@/pages/exception/browser.vue'
)
},
{
path
:
'/browser'
,
name
:
'browser'
,
component
:
()
=>
import
(
'@/pages/exception/browser.vue'
)
},
{
path
:
'/editor'
,
name
:
'editor'
,
component
:
()
=>
import
(
'@/components/tinymce/index.vue'
)
}
{
path
:
'/editor'
,
name
:
'editor'
,
component
:
()
=>
import
(
'@/components/tinymce/index.vue'
)
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论