Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
A
admin-base
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
new-sing
admin-base
Commits
a197467c
Commit
a197467c
authored
May 23, 2019
by
chenyishuai@singsingenglish.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
5.23
parent
f120715d
Changes
14
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
15 additions
and
3 deletions
+15
-3
index.html
dev/index.html
+1
-1
26.29b711a70156b2bfd4c7.js
dev/static/js/26.29b711a70156b2bfd4c7.js
+1
-0
43.0fc93d3eb1da24905b36.js
dev/static/js/43.0fc93d3eb1da24905b36.js
+1
-0
manifest.ce10eb969b819040c61d.js
dev/static/js/manifest.ce10eb969b819040c61d.js
+1
-0
index.html
dist/index.html
+1
-1
app.d52def0ed92718492724060780bddf63.css
dist/static/css/app.d52def0ed92718492724060780bddf63.css
+1
-0
33.d983d5bb51e8b5193a7a.js
dist/static/js/33.d983d5bb51e8b5193a7a.js
+1
-0
48.3c66b20d6f3a22ce5bf5.js
dist/static/js/48.3c66b20d6f3a22ce5bf5.js
+1
-0
49.a3af5513aaad12295f55.js
dist/static/js/49.a3af5513aaad12295f55.js
+1
-0
50.5d84fbb0517bdc2b59a1.js
dist/static/js/50.5d84fbb0517bdc2b59a1.js
+1
-0
app.9bcaf02ea5a7c1c58995.js
dist/static/js/app.9bcaf02ea5a7c1c58995.js
+1
-0
manifest.48016f9af7601e4a9d42.js
dist/static/js/manifest.48016f9af7601e4a9d42.js
+1
-0
index.vue
src/components/login/index.vue
+2
-1
banner.vue
src/components/system/banner.vue
+1
-0
No files found.
dev/index.html
View file @
a197467c
<!DOCTYPE html>
<html><head><meta
charset=
utf-8
><meta
name=
viewport
content=
"width=device-width,initial-scale=1"
><meta
name=
referrer
content=
never
><link
rel=
stylesheet
href=
https:////at.alicdn.com/t/font_746649_x1rivf5f5.css
><link
rel=
stylesheet
href=
https://lib.baomitu.com/element-ui/2.7.2/theme-chalk/index.css
><title>
唱唱启蒙-后台
</title></head><body><script
src=
https://cdn.bootcss.com/vue/2.5.17/vue.min.js
></script><script
src=
https://unpkg.com/vuex@3.0.1
></script><script
src=
https://cdn.bootcss.com/axios/0.18.0/axios.min.js
></script><script
src=
https://lib.baomitu.com/element-ui/2.7.2/index.js
></script><div
id=
app
></div><script
type=
text/javascript
src=
/static/js/manifest.
e55e6197e840dcd9ccb9
.js
></script><script
type=
text/javascript
src=
/static/js/vendor.9adcd3a16b6f554dbe34.js
></script><script
type=
text/javascript
src=
/static/js/app.05e8c5e86b328b814126.js
></script></body><script>
let
el
=
document
.
getElementsByTagName
(
"script"
);
<!DOCTYPE html>
<html><head><meta
charset=
utf-8
><meta
name=
viewport
content=
"width=device-width,initial-scale=1"
><meta
name=
referrer
content=
never
><link
rel=
stylesheet
href=
https:////at.alicdn.com/t/font_746649_x1rivf5f5.css
><link
rel=
stylesheet
href=
https://lib.baomitu.com/element-ui/2.7.2/theme-chalk/index.css
><title>
唱唱启蒙-后台
</title></head><body><script
src=
https://cdn.bootcss.com/vue/2.5.17/vue.min.js
></script><script
src=
https://unpkg.com/vuex@3.0.1
></script><script
src=
https://cdn.bootcss.com/axios/0.18.0/axios.min.js
></script><script
src=
https://lib.baomitu.com/element-ui/2.7.2/index.js
></script><div
id=
app
></div><script
type=
text/javascript
src=
/static/js/manifest.
ce10eb969b819040c61d
.js
></script><script
type=
text/javascript
src=
/static/js/vendor.9adcd3a16b6f554dbe34.js
></script><script
type=
text/javascript
src=
/static/js/app.05e8c5e86b328b814126.js
></script></body><script>
let
el
=
document
.
getElementsByTagName
(
"script"
);
el
.
onerror
=
function
(
a
,
b
,
c
){
console
.
log
(
'error:'
,
a
,
b
,
c
);
};
...
...
dev/static/js/26.29b711a70156b2bfd4c7.js
0 → 100644
View file @
a197467c
webpackJsonp
([
26
],{
CGL6
:
function
(
t
,
e
,
n
){
"use strict"
;
Object
.
defineProperty
(
e
,
"__esModule"
,{
value
:
!
0
});
var
i
=
n
(
"CCn6"
),
a
=
{
name
:
"banner"
,
components
:{
page
:
n
(
"kmJW"
).
a
},
data
:
function
(){
return
{
loading
:
!
1
,
bannerList
:[],
searchFrom
:{
status
:
"1"
,
type
:
"2"
},
total
:
0
,
nowPage
:
1
,
uploadShow
:
!
0
,
limit
:
10
,
dialog
:{
title
:
"新增"
,
show
:
!
1
,
rules
:{
title
:[{
required
:
!
0
,
message
:
"请填写名称"
,
trigger
:
"change"
}],
link
:[{
required
:
!
0
,
message
:
"请填写链接"
,
trigger
:
"change"
}],
sub_title
:[{
required
:
!
0
,
message
:
"请填写子名称"
,
trigger
:
"change"
}]},
form
:{
title
:
""
,
url
:
""
,
link
:
""
,
id
:
""
,
sub_title
:
""
}},
imageList
:[],
audio
:[]}},
created
:
function
(){
this
.
getList
()},
filters
:{
status
:
function
(
t
){
return
1
===
t
?
"上架中"
:
"已下架"
}},
methods
:{
removeFileAudio2
:
function
(
t
,
e
){
this
.
audio
=
e
},
handleExceed
:
function
(){},
beforeAvatarAudio
:
function
(
t
){
var
e
=
"audio/mp3"
===
t
.
type
;
return
e
||
this
.
$message
.
error
(
"上传视频只能是MP3格式!"
),
e
},
uploadFileAudio2
:
function
(
t
){
var
e
=
this
;
Object
(
i
.
_137
)({
file
:
t
.
file
,
type
:
"local"
,
obj
:
t
}).
then
(
function
(
n
){
e
.
$message
({
type
:
"success"
,
message
:
"上传成功!"
}),
t
.
onSuccess
(
"上传成功"
),
e
.
dialog
.
form
.
link
=
"https://cdn.singsingenglish.com/"
+
n
.
url
,
e
.
audio
.
push
({
name
:
n
.
name
,
url
:
"https://cdn.singsingenglish.com/"
+
n
.
url
,
title
:
""
,
tips
:
""
,
image
:
""
})})},
onPageChange
:
function
(
t
){
this
.
nowPage
=
t
,
this
.
getList
()},
changeStatus
:
function
(
t
){
var
e
=
this
,
n
=
void
0
,
a
=
void
0
;
1
===
t
.
status
?(
n
=
"此操作将下架,是否继续?"
,
a
=
2
):(
n
=
"此操作将上架,是否继续?"
,
a
=
1
),
this
.
$confirm
(
n
,
"提示"
,{
confirmButtonText
:
"继续"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
var
n
=
{
status
:
a
};
Object
(
i
.
t
)(
t
.
id
,
n
).
then
(
function
(
t
){
e
.
$message
({
type
:
"success"
,
message
:
"修改成功!"
}),
e
.
getList
()})})},
onSizeChange
:
function
(
t
){
this
.
nowPage
=
1
,
this
.
limit
=
t
,
this
.
getList
()},
getList
:
function
(){
var
t
=
this
;
this
.
loading
=!
0
;
var
e
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
"-1"
!==
this
.
searchFrom
.
status
&&
(
e
.
status
=
this
.
searchFrom
.
status
),
Object
(
i
.
_23
)(
this
.
searchFrom
.
type
,
e
).
then
(
function
(
e
){
e
&&
(
t
.
bannerList
=
e
.
list
,
t
.
total
=
e
.
total
,
t
.
loading
=!
1
)})},
edit
:
function
(
t
){
var
e
=
this
;
this
.
dialog
.
form
.
id
=
t
.
id
,
this
.
dialog
.
title
=
"编辑"
,
Object
(
i
.
_22
)(
t
.
id
).
then
(
function
(
t
){
e
.
dialog
.
form
.
title
=
t
.
title
,
e
.
dialog
.
form
.
sub_title
=
t
.
sub_title
,
e
.
dialog
.
form
.
link
=
t
.
link
,
e
.
imageList
=
[{
name
:
t
.
url
,
url
:
t
.
url
}],
e
.
dialog
.
show
=!
0
,
e
.
uploadShow
=!
1
,
e
.
audio
=
[]})},
add
:
function
(){
this
.
dialog
.
show
=!
0
,
this
.
dialog
.
form
.
id
=
""
,
this
.
dialog
.
title
=
"新增"
,
this
.
dialog
.
form
.
title
=
""
,
this
.
dialog
.
form
.
sub_title
=
""
,
this
.
dialog
.
form
.
link
=
""
,
this
.
imageList
=
[],
this
.
uploadShow
=!
0
,
this
.
audio
=
[]},
del
:
function
(
t
){
var
e
=
this
;
this
.
$confirm
(
"此操作将删除该?"
,
"提示"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
Object
(
i
.
E
)(
t
.
id
).
then
(
function
(
t
){
e
.
$message
({
type
:
"success"
,
message
:
"删除成功!"
}),
e
.
getList
()})})},
handleAvatarSuccess
:
function
(
t
){
this
.
imageList
=
[{
name
:
t
.
data
.
url
,
url
:
"https://cdn.singsingenglish.com/"
+
t
.
data
.
url
}],
this
.
dialog
.
form
.
url
=
"https://cdn.singsingenglish.com/"
+
t
.
data
.
url
},
beforeAvatarUpload
:
function
(){
this
.
uploadShow
=!
1
},
handleRemove
:
function
(){
this
.
uploadShow
=!
0
},
sub
:
function
(){
var
t
=
this
;
this
.
$refs
.
form
.
validate
(
function
(
e
){
if
(
e
){
var
n
=
t
.
dialog
;
if
(
n
.
form
.
id
){
var
a
=
{
title
:
n
.
form
.
title
,
link
:
n
.
form
.
link
,
sub_title
:
n
.
form
.
sub_title
};
t
.
imageList
.
length
>
0
&&
(
a
.
url
=
t
.
imageList
[
0
].
url
),
t
.
$confirm
(
"确认修改"
,
"提示"
,{
confirmButtonText
:
"继续"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
Object
(
i
.
Z
)(
n
.
form
.
id
,
a
).
then
(
function
(){
t
.
$message
({
type
:
"success"
,
message
:
"修改成功!"
}),
n
.
show
=!
1
,
t
.
getList
()})})}
else
{
var
s
=
{
title
:
n
.
form
.
title
,
link
:
n
.
form
.
link
,
sub_title
:
n
.
form
.
sub_title
};
t
.
imageList
.
length
>
0
&&
(
s
.
url
=
t
.
imageList
[
0
].
url
),
t
.
$confirm
(
"确认添加"
,
"提示"
,{
confirmButtonText
:
"继续"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
Object
(
i
.
b
)(
t
.
searchFrom
.
type
,
s
).
then
(
function
(){
t
.
$message
({
type
:
"success"
,
message
:
"添加成功!"
}),
n
.
show
=!
1
,
t
.
getList
()})})}}})},
moveUp
:
function
(
t
){
var
e
=
this
.
bannerList
;
this
.
sort
(
e
[
t
].
id
,
e
[
t
-
1
].
id
)},
moveDown
:
function
(
t
){
var
e
=
this
.
bannerList
;
this
.
sort
(
e
[
t
+
1
].
id
,
e
[
t
].
id
)},
sort
:
function
(
t
,
e
){
var
n
=
this
;
this
.
loading
=!
0
,
Object
(
i
.
_93
)(
t
,
e
).
then
(
function
(){
n
.
loading
=!
1
,
n
.
getList
()})},
uploadFile
:
function
(
t
){
var
e
=
this
;
this
.
loading
=!
0
,
this
.
$store
.
dispatch
(
"setProgress"
,{
type
:
"new"
,
id
:
t
.
file
.
uid
}),
this
.
fileUid
=
t
.
file
.
uid
,
Object
(
i
.
_137
)({
file
:
t
.
file
,
type
:
"local"
}).
then
(
function
(
t
){
e
.
imageList
=
[{
name
:
t
.
url
,
url
:
"https://cdn.singsingenglish.com/"
+
t
.
url
}],
e
.
loading
=!
1
,
e
.
$message
({
type
:
"success"
,
message
:
"上传成功!"
})}).
catch
(
function
(){
e
.
loading
=!
1
})}}},
s
=
function
(){
var
t
=
this
,
e
=
t
.
$createElement
,
n
=
t
.
_self
.
_c
||
e
;
return
n
(
"div"
,{
directives
:[{
name
:
"loading"
,
rawName
:
"v-loading"
,
value
:
t
.
loading
,
expression
:
"loading"
}],
staticClass
:
"banner"
},[
n
(
"div"
,{
staticClass
:
"head clear-both"
},[
t
.
$store
.
state
.
readonly
?
t
.
_e
():
n
(
"el-button"
,{
staticStyle
:{
float
:
"right"
},
attrs
:{
plain
:
""
,
type
:
"success"
},
on
:{
click
:
t
.
add
}},[
t
.
_v
(
"新增"
)])],
1
),
t
.
_v
(
" "
),
n
(
"el-tabs"
,{
staticStyle
:{
background
:
"white"
,
"padding-top"
:
"10px"
},
attrs
:{
type
:
"card"
},
on
:{
"tab-click"
:
t
.
getList
},
model
:{
value
:
t
.
searchFrom
.
type
,
callback
:
function
(
e
){
t
.
$set
(
t
.
searchFrom
,
"type"
,
e
)},
expression
:
"searchFrom.type"
}},[
n
(
"el-tab-pane"
,{
attrs
:{
label
:
"磨耳朵"
,
name
:
"2"
}}),
t
.
_v
(
" "
),
n
(
"el-tab-pane"
,{
attrs
:{
label
:
"启蒙小课堂"
,
name
:
"3"
}}),
t
.
_v
(
" "
),
n
(
"el-tab-pane"
,{
attrs
:{
label
:
"明星学员"
,
name
:
"4"
}}),
t
.
_v
(
" "
),
n
(
"el-tab-pane"
,{
attrs
:{
label
:
"精彩直播课"
,
name
:
"5"
}})],
1
),
t
.
_v
(
" "
),
n
(
"el-tabs"
,{
staticStyle
:{
background
:
"white"
,
"padding-top"
:
"10px"
},
attrs
:{
type
:
"card"
},
on
:{
"tab-click"
:
t
.
getList
},
model
:{
value
:
t
.
searchFrom
.
status
,
callback
:
function
(
e
){
t
.
$set
(
t
.
searchFrom
,
"status"
,
e
)},
expression
:
"searchFrom.status"
}},[
n
(
"el-tab-pane"
,{
attrs
:{
label
:
"全部"
,
name
:
"-1"
}}),
t
.
_v
(
" "
),
n
(
"el-tab-pane"
,{
attrs
:{
label
:
"上架"
,
name
:
"1"
}}),
t
.
_v
(
" "
),
n
(
"el-tab-pane"
,{
attrs
:{
label
:
"下架"
,
name
:
"2"
}})],
1
),
t
.
_v
(
" "
),
n
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
t
.
bannerList
}},[
n
(
"el-table-column"
,{
attrs
:{
prop
:
"id"
,
label
:
"ID"
}}),
t
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"title"
,
label
:
"标题"
}}),
t
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"url"
,
label
:
"图片"
},
scopedSlots
:
t
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
n
(
"a"
,{
attrs
:{
href
:
t
.
row
.
url
,
target
:
"_blank"
}},[
n
(
"img"
,{
staticClass
:
"short-banner"
,
attrs
:{
src
:
t
.
row
.
url
}})])]}}])}),
t
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
label
:
"状态"
},
scopedSlots
:
t
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
t
.
_v
(
"
\n
"
+
t
.
_s
(
t
.
_f
(
"status"
)(
e
.
row
.
status
))
+
"
\n
"
)]}}])}),
t
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"link"
,
label
:
"链接"
}}),
t
.
_v
(
" "
),
t
.
$store
.
state
.
readonly
?
t
.
_e
():
n
(
"el-table-column"
,{
attrs
:{
label
:
"操作"
,
width
:
"100"
},
scopedSlots
:
t
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
n
(
"el-popover"
,{
attrs
:{
placement
:
"top"
,
width
:
"280"
}},[
n
(
"div"
,{
staticStyle
:{
"text-align"
:
"center"
}},[
n
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
plain
:
""
,
type
:
"primary"
},
on
:{
click
:
function
(
n
){
t
.
edit
(
e
.
row
)}}},[
t
.
_v
(
"
\n
编辑
\n
"
)]),
t
.
_v
(
" "
),
t
.
$store
.
state
.
deletePermission
?
n
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
type
:
"danger"
,
plain
:
""
},
on
:{
click
:
function
(
n
){
t
.
del
(
e
.
row
)}}},[
t
.
_v
(
"
\n
删除
\n
"
)]):
t
.
_e
(),
t
.
_v
(
" "
),
2
==
e
.
row
.
status
?
n
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
function
(
n
){
t
.
changeStatus
(
e
.
row
)}}},[
t
.
_v
(
"
\n
上架
\n
"
)]):
t
.
_e
(),
t
.
_v
(
" "
),
1
==
e
.
row
.
status
?
n
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
function
(
n
){
t
.
changeStatus
(
e
.
row
)}}},[
t
.
_v
(
"
\n
下架
\n
"
)]):
t
.
_e
(),
t
.
_v
(
" "
),
e
.
$index
>
0
?
n
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
function
(
n
){
t
.
moveUp
(
e
.
$index
)}}},[
t
.
_v
(
"
\n
上移
\n
"
)]):
t
.
_e
(),
t
.
_v
(
" "
),
e
.
$index
!==
t
.
bannerList
.
length
-
1
?
n
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
function
(
n
){
t
.
moveDown
(
e
.
$index
)}}},[
t
.
_v
(
"
\n
下移
\n
"
)]):
t
.
_e
()],
1
),
t
.
_v
(
" "
),
n
(
"el-button"
,{
attrs
:{
slot
:
"reference"
,
size
:
"mini"
,
type
:
"text"
},
slot
:
"reference"
},[
t
.
_v
(
"操作"
)])],
1
)]}}])})],
1
),
t
.
_v
(
" "
),
n
(
"page"
,{
attrs
:{
nowPage
:
t
.
nowPage
,
total
:
t
.
total
,
limit
:
t
.
limit
},
on
:{
pageChange
:
t
.
onPageChange
,
sizeChange
:
t
.
onSizeChange
}}),
t
.
_v
(
" "
),
n
(
"el-dialog"
,{
attrs
:{
title
:
t
.
dialog
.
title
,
center
:
""
,
"append-to-body"
:
""
,
visible
:
t
.
dialog
.
show
,
width
:
"30%"
},
on
:{
"update:visible"
:
function
(
e
){
t
.
$set
(
t
.
dialog
,
"show"
,
e
)}}},[
n
(
"el-form"
,{
ref
:
"form"
,
attrs
:{
rules
:
t
.
dialog
.
rules
,
model
:
t
.
dialog
.
form
,
"label-width"
:
"100px"
}},[
n
(
"el-form-item"
,{
attrs
:{
label
:
"名称"
,
prop
:
"title"
}},[
n
(
"el-input"
,{
model
:{
value
:
t
.
dialog
.
form
.
title
,
callback
:
function
(
e
){
t
.
$set
(
t
.
dialog
.
form
,
"title"
,
e
)},
expression
:
"dialog.form.title"
}})],
1
),
t
.
_v
(
" "
),
n
(
"el-form-item"
,{
attrs
:{
label
:
"二级名称"
,
prop
:
"sub_title"
}},[
n
(
"el-input"
,{
model
:{
value
:
t
.
dialog
.
form
.
sub_title
,
callback
:
function
(
e
){
t
.
$set
(
t
.
dialog
.
form
,
"sub_title"
,
e
)},
expression
:
"dialog.form.sub_title"
}})],
1
),
t
.
_v
(
" "
),
n
(
"el-form-item"
,{
attrs
:{
label
:
"链接"
,
prop
:
"link"
}},[
n
(
"el-input"
,{
model
:{
value
:
t
.
dialog
.
form
.
link
,
callback
:
function
(
e
){
t
.
$set
(
t
.
dialog
.
form
,
"link"
,
e
)},
expression
:
"dialog.form.link"
}})],
1
),
t
.
_v
(
" "
),
n
(
"div"
,{
staticClass
:
"upload-block"
},[
n
(
"el-upload"
,{
class
:{
disabled
:
!
t
.
uploadShow
},
attrs
:{
action
:
"/api/public/upload/zone"
,
"http-request"
:
t
.
uploadFile
,
"before-upload"
:
t
.
beforeAvatarUpload
,
"list-type"
:
"picture-card"
,
"file-list"
:
t
.
imageList
,
"on-success"
:
t
.
handleAvatarSuccess
,
"on-remove"
:
t
.
handleRemove
}},[
n
(
"i"
,{
staticClass
:
"el-icon-plus"
})]),
t
.
_v
(
" "
),
n
(
"p"
,{
staticClass
:
"size"
},[
t
.
_v
(
"750*400"
)])],
1
),
t
.
_v
(
" "
),
2
==
t
.
searchFrom
.
type
&&
0
==
t
.
audio
.
length
?
n
(
"el-upload"
,{
staticClass
:
"upload-demo"
,
attrs
:{
"http-request"
:
t
.
uploadFileAudio2
,
"before-upload"
:
t
.
beforeAvatarAudio
,
"file-list"
:
t
.
audio
,
"on-exceed"
:
t
.
handleExceed
,
"on-remove"
:
t
.
removeFileAudio2
,
drag
:
""
,
action
:
"https://jsonplaceholder.typicode.com/posts/"
,
multiple
:
""
}},[
n
(
"i"
,{
staticClass
:
"el-icon-upload"
}),
t
.
_v
(
" "
),
n
(
"div"
,{
staticClass
:
"el-upload__text"
},[
t
.
_v
(
"
\n
将文件拖到此处,或"
),
n
(
"em"
,[
t
.
_v
(
"点击上传"
)]),
t
.
_v
(
" "
),
n
(
"br"
),
t
.
_v
(
" "
),
n
(
"span"
,{
staticStyle
:{
color
:
"#888888"
,
"font-size"
:
"12px"
}},[
t
.
_v
(
"只能上传MP3文件"
)])])]):
t
.
_e
()],
1
),
t
.
_v
(
" "
),
n
(
"span"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
n
(
"el-button"
,{
on
:{
click
:
function
(
e
){
t
.
dialog
.
show
=!
1
}}},[
t
.
_v
(
"取 消"
)]),
t
.
_v
(
" "
),
n
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
t
.
sub
}},[
t
.
_v
(
"确 定"
)])],
1
)],
1
)],
1
)};
s
.
_withStripped
=!
0
;
var
o
=
{
render
:
s
,
staticRenderFns
:[]},
l
=
o
;
var
r
=!
1
;
var
c
=
n
(
"VU/8"
)(
a
,
l
,
!
1
,
function
(
t
){
r
||
(
n
(
"VTr3"
),
n
(
"sqFS"
))},
null
,
null
);
c
.
options
.
__file
=
"src
\\
components
\\
system
\\
banner.vue"
;
e
.
default
=
c
.
exports
},
FXRW
:
function
(
t
,
e
,
n
){(
t
.
exports
=
n
(
"FZ+f"
)(
!
0
)).
push
([
t
.
i
,
"
\n
.banner {
\n
width: 100%;
\n
padding: 20px 0;
\n
}
\n
.banner .head {
\n
/*padding: 5px;*/
\n
margin-bottom: 10px;
\n
}
\n
.banner .page-div {
\n
text-align: center;
\n
padding-top: 20px;
\n
}
\n
.short-banner {
\n
width: 50px;
\n
}
\n
.clear-both:after {
\n
content: '';
\n
display: block;
\n
clear: both;
\n
}
\n
.size {
\n
color: #666;
\n
font-size: 14px;
\n
}
\n
"
,
""
,{
version
:
3
,
sources
:[
"C:/Users/Administrator/Desktop/后台/admin/src/components/system/banner.vue"
],
names
:[],
mappings
:
";AACA;EACE,YAAY;EACZ,gBAAgB;CACjB;AACD;EACE,iBAAiB;EACjB,oBAAoB;CACrB;AACD;EACE,mBAAmB;EACnB,kBAAkB;CACnB;AACD;EACE,YAAY;CACb;AACD;EACE,YAAY;EACZ,eAAe;EACf,YAAY;CACb;AACD;EACE,YAAY;EACZ,gBAAgB;CACjB"
,
file
:
"banner.vue"
,
sourcesContent
:[
"
\n
.banner {
\n
width: 100%;
\n
padding: 20px 0;
\n
}
\n
.banner .head {
\n
/*padding: 5px;*/
\n
margin-bottom: 10px;
\n
}
\n
.banner .page-div {
\n
text-align: center;
\n
padding-top: 20px;
\n
}
\n
.short-banner {
\n
width: 50px;
\n
}
\n
.clear-both:after {
\n
content: '';
\n
display: block;
\n
clear: both;
\n
}
\n
.size {
\n
color: #666;
\n
font-size: 14px;
\n
}
\n
"
],
sourceRoot
:
""
}])},
VTr3
:
function
(
t
,
e
,
n
){
var
i
=
n
(
"FXRW"
);
"string"
==
typeof
i
&&
(
i
=
[[
t
.
i
,
i
,
""
]]),
i
.
locals
&&
(
t
.
exports
=
i
.
locals
);
n
(
"rjj0"
)(
"bd259388"
,
i
,
!
1
,{})},
c75b
:
function
(
t
,
e
,
n
){(
t
.
exports
=
n
(
"FZ+f"
)(
!
0
)).
push
([
t
.
i
,
"
\n
.disabled .el-upload--picture-card {
\n
display: none !important;
\n
}
\n
"
,
""
,{
version
:
3
,
sources
:[
"C:/Users/Administrator/Desktop/后台/admin/src/components/system/banner.vue"
],
names
:[],
mappings
:
";AACA;EACE,yBAAyB;CAC1B"
,
file
:
"banner.vue"
,
sourcesContent
:[
"
\n
.disabled .el-upload--picture-card {
\n
display: none !important;
\n
}
\n
"
],
sourceRoot
:
""
}])},
sqFS
:
function
(
t
,
e
,
n
){
var
i
=
n
(
"c75b"
);
"string"
==
typeof
i
&&
(
i
=
[[
t
.
i
,
i
,
""
]]),
i
.
locals
&&
(
t
.
exports
=
i
.
locals
);
n
(
"rjj0"
)(
"c157bef0"
,
i
,
!
1
,{})}});
\ No newline at end of file
dev/static/js/43.0fc93d3eb1da24905b36.js
0 → 100644
View file @
a197467c
webpackJsonp
([
43
],{
"0HId"
:
function
(
n
,
t
,
a
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
e
=
a
(
"CCn6"
),
i
=
a
(
"NC6I"
),
o
=
a
.
n
(
i
),
r
=
{
data
:
function
(){
return
{
login
:{
username
:
""
,
password
:
""
},
loginRules
:{
username
:[{
required
:
!
0
,
message
:
"请输入您的用户名"
,
trigger
:
"blur"
}],
password
:[{
required
:
!
0
,
message
:
"请输入您的密码"
,
trigger
:
"blur"
}]}}},
mounted
:
function
(){
var
n
=
this
;
document
.
onkeydown
=
function
(
t
){
var
a
=
t
||
window
.
event
;
if
(
13
===
(
a
.
keyCode
||
a
.
which
||
a
.
charCode
)
&&
"login"
===
n
.
$route
.
name
)
return
n
.
submitForm
(),
!
1
;
return
!
0
}},
methods
:{
submitForm
:
function
(){
var
n
=
this
;
this
.
$refs
.
loginForm
.
validate
(
function
(
t
){
if
(
t
){
var
a
=
{
username
:
n
.
login
.
username
,
password
:
o
()(
n
.
login
.
password
)};
Object
(
e
.
_91
)(
a
).
then
(
function
(
t
){
if
(
t
.
teacher_info
){
var
a
=
JSON
.
stringify
(
t
.
teacher_info
);
localStorage
.
setItem
(
"phoneNum"
,
a
)}
else
localStorage
.
setItem
(
"phoneNum"
,
""
);
n
.
$store
.
dispatch
(
"setToken"
,
t
.
token
),
n
.
$store
.
dispatch
(
"setUserName"
,
t
.
desc
),
n
.
$store
.
dispatch
(
"setPermission"
,
JSON
.
parse
(
t
.
roles
.
menu_ids
)),
window
.
location
.
href
=
"/"
})}})}}},
A
=
function
(){
var
n
=
this
,
t
=
n
.
$createElement
,
a
=
n
.
_self
.
_c
||
t
;
return
a
(
"div"
,{
staticClass
:
"login"
},[
a
(
"div"
,{
staticClass
:
"wrap-main"
},[
a
(
"h1"
,{
staticClass
:
"title"
},[
n
.
_v
(
"唱唱启蒙——后台管理系统"
)]),
n
.
_v
(
" "
),
a
(
"el-form"
,{
ref
:
"loginForm"
,
attrs
:{
model
:
n
.
login
,
rules
:
n
.
loginRules
}},[
a
(
"el-form-item"
,{
attrs
:{
prop
:
"username"
}},[
a
(
"el-input"
,{
attrs
:{
placeholder
:
"用户名"
},
model
:{
value
:
n
.
login
.
username
,
callback
:
function
(
t
){
n
.
$set
(
n
.
login
,
"username"
,
t
)},
expression
:
"login.username"
}})],
1
),
n
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
prop
:
"password"
}},[
a
(
"el-input"
,{
attrs
:{
type
:
"password"
,
placeholder
:
"密码"
},
model
:{
value
:
n
.
login
.
password
,
callback
:
function
(
t
){
n
.
$set
(
n
.
login
,
"password"
,
t
)},
expression
:
"login.password"
}})],
1
),
n
.
_v
(
" "
),
a
(
"el-form-item"
,[
a
(
"el-button"
,{
staticClass
:
"btn"
,
attrs
:{
size
:
"medium"
,
type
:
"primary"
},
on
:{
click
:
n
.
submitForm
}},[
n
.
_v
(
"登陆"
)])],
1
)],
1
)],
1
)])};
A
.
_withStripped
=!
0
;
var
s
=
{
render
:
A
,
staticRenderFns
:[]},
l
=
s
;
var
d
=!
1
;
var
f
=
a
(
"VU/8"
)(
r
,
l
,
!
1
,
function
(
n
){
d
||
a
(
"106c"
)},
"data-v-72680f5f"
,
null
);
f
.
options
.
__file
=
"src
\\
components
\\
login
\\
index.vue"
;
t
.
default
=
f
.
exports
},
"106c"
:
function
(
n
,
t
,
a
){
var
e
=
a
(
"Smwe"
);
"string"
==
typeof
e
&&
(
e
=
[[
n
.
i
,
e
,
""
]]),
e
.
locals
&&
(
n
.
exports
=
e
.
locals
);
a
(
"rjj0"
)(
"3f8a32d6"
,
e
,
!
1
,{})},
Smwe
:
function
(
n
,
t
,
a
){(
n
.
exports
=
a
(
"FZ+f"
)(
!
0
)).
push
([
n
.
i
,
'
\
n.search-btn-block[data-v-72680f5f] {
\
n margin-left: 20px;
\
n}
\
n.search-form[data-v-72680f5f] {
\
n background: white;
\
n padding: 10px;
\
n margin: 10px 0;
\
n}
\
n.new-block[data-v-72680f5f] {
\
n margin: 10px;
\
n text-align: right;
\
n}
\
n.fl-r[data-v-72680f5f] {
\
n float: right;
\
n}
\
n.text-c[data-v-72680f5f] {
\
n text-align: center;
\
n}
\
n.text-b[data-v-72680f5f] {
\
n font-weight: bold;
\
n}
\
n.color-b[data-v-72680f5f] {
\
n color: #6ba8e6;
\
n}
\
n.text-r[data-v-72680f5f] {
\
n text-align: right;
\
n}
\
n.main-block[data-v-72680f5f] {
\
n margin: 5px;
\
n background: white;
\
n padding: 5px;
\
n}
\
nhtml[data-v-72680f5f] {
\
n font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "
\\
5FAE
\\
8F6F
\\
96C5
\\
9ED1", Arial, sans-serif;
\
n}
\
n.clear-both[data-v-72680f5f]:after {
\
n content:
\'\'
;
\
n display: block;
\
n clear: both;
\
n}
\
n[data-v-72680f5f]::-webkit-scrollbar-track-piece {
\
n border-radius: 10px;
\
n}
\
n[data-v-72680f5f]::-webkit-scrollbar {
\
n width: 5px;
\
n height: 5px;
\
n}
\
n[data-v-72680f5f]::-webkit-scrollbar-thumb {
\
n background-color: #999;
\
n border-radius: 10px;
\
n height: 10px;
\
n min-height: 10px;
\
n}
\
n.login[data-v-72680f5f] {
\
n height: 100%;
\
n background: -webkit-gradient(linear, left top, right bottom, from(#ecec7c), to(#787af4));
\
n background: linear-gradient(to bottom right, #ecec7c, #787af4);
\
n /* 标准的语法(必须放在最后) */
\
n}
\
n.wrap-main[data-v-72680f5f] {
\
n width: 300px;
\
n height: 180px;
\
n padding: 50px 20px;
\
n border-radius: 5px;
\
n -webkit-box-shadow: 8px 8px 15px rgba(49, 49, 49, 0.5);
\
n box-shadow: 8px 8px 15px rgba(49, 49, 49, 0.5);
\
n position: fixed;
\
n line-height: 50px;
\
n background-color: rgba(255, 255, 255, 0.3);
\
n top: 50%;
\
n left: 50%;
\
n margin-left: -200px;
\
n margin-top: -200px;
\
n}
\
n.wrap-main .btn[data-v-72680f5f] {
\
n display: block;
\
n width: 100%;
\
n}
\
n.wrap-main .title[data-v-72680f5f] {
\
n position: absolute;
\
n top: -100px;
\
n width: 100%;
\
n text-align: center;
\
n left: 0;
\
n color: white;
\
n font-size: 26px;
\
n text-shadow: 6px 6px 3px rgba(49, 49, 49, 0.5);
\
n}
\
n'
,
""
,{
version
:
3
,
sources
:[
"C:/Users/Administrator/Desktop/后台/admin/src/components/login/index.vue"
],
names
:[],
mappings
:
";AACA;EACE,kBAAkB;CACnB;AACD;EACE,kBAAkB;EAClB,cAAc;EACd,eAAe;CAChB;AACD;EACE,aAAa;EACb,kBAAkB;CACnB;AACD;EACE,aAAa;CACd;AACD;EACE,mBAAmB;CACpB;AACD;EACE,kBAAkB;CACnB;AACD;EACE,eAAe;CAChB;AACD;EACE,kBAAkB;CACnB;AACD;EACE,YAAY;EACZ,kBAAkB;EAClB,aAAa;CACd;AACD;EACE,0IAA0H;CAC3H;AACD;EACE,YAAY;EACZ,eAAe;EACf,YAAY;CACb;AACD;EACE,oBAAoB;CACrB;AACD;EACE,WAAW;EACX,YAAY;CACb;AACD;EACE,uBAAuB;EACvB,oBAAoB;EACpB,aAAa;EACb,iBAAiB;CAClB;AACD;EACE,aAAa;EACb,yFAAyF;EACzF,+DAA+D;EAC/D,mBAAmB;CACpB;AACD;EACE,aAAa;EACb,cAAc;EACd,mBAAmB;EACnB,mBAAmB;EACnB,uDAAuD;UAC/C,+CAA+C;EACvD,gBAAgB;EAChB,kBAAkB;EAClB,2CAA2C;EAC3C,SAAS;EACT,UAAU;EACV,oBAAoB;EACpB,mBAAmB;CACpB;AACD;EACE,eAAe;EACf,YAAY;CACb;AACD;EACE,mBAAmB;EACnB,YAAY;EACZ,YAAY;EACZ,mBAAmB;EACnB,QAAQ;EACR,aAAa;EACb,gBAAgB;EAChB,+CAA+C;CAChD"
,
file
:
"index.vue"
,
sourcesContent
:[
'
\
n.search-btn-block[data-v-72680f5f] {
\
n margin-left: 20px;
\
n}
\
n.search-form[data-v-72680f5f] {
\
n background: white;
\
n padding: 10px;
\
n margin: 10px 0;
\
n}
\
n.new-block[data-v-72680f5f] {
\
n margin: 10px;
\
n text-align: right;
\
n}
\
n.fl-r[data-v-72680f5f] {
\
n float: right;
\
n}
\
n.text-c[data-v-72680f5f] {
\
n text-align: center;
\
n}
\
n.text-b[data-v-72680f5f] {
\
n font-weight: bold;
\
n}
\
n.color-b[data-v-72680f5f] {
\
n color: #6ba8e6;
\
n}
\
n.text-r[data-v-72680f5f] {
\
n text-align: right;
\
n}
\
n.main-block[data-v-72680f5f] {
\
n margin: 5px;
\
n background: white;
\
n padding: 5px;
\
n}
\
nhtml[data-v-72680f5f] {
\
n font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;
\
n}
\
n.clear-both[data-v-72680f5f]:after {
\
n content:
\'\'
;
\
n display: block;
\
n clear: both;
\
n}
\
n[data-v-72680f5f]::-webkit-scrollbar-track-piece {
\
n border-radius: 10px;
\
n}
\
n[data-v-72680f5f]::-webkit-scrollbar {
\
n width: 5px;
\
n height: 5px;
\
n}
\
n[data-v-72680f5f]::-webkit-scrollbar-thumb {
\
n background-color: #999;
\
n border-radius: 10px;
\
n height: 10px;
\
n min-height: 10px;
\
n}
\
n.login[data-v-72680f5f] {
\
n height: 100%;
\
n background: -webkit-gradient(linear, left top, right bottom, from(#ecec7c), to(#787af4));
\
n background: linear-gradient(to bottom right, #ecec7c, #787af4);
\
n /* 标准的语法(必须放在最后) */
\
n}
\
n.wrap-main[data-v-72680f5f] {
\
n width: 300px;
\
n height: 180px;
\
n padding: 50px 20px;
\
n border-radius: 5px;
\
n -webkit-box-shadow: 8px 8px 15px rgba(49, 49, 49, 0.5);
\
n box-shadow: 8px 8px 15px rgba(49, 49, 49, 0.5);
\
n position: fixed;
\
n line-height: 50px;
\
n background-color: rgba(255, 255, 255, 0.3);
\
n top: 50%;
\
n left: 50%;
\
n margin-left: -200px;
\
n margin-top: -200px;
\
n}
\
n.wrap-main .btn[data-v-72680f5f] {
\
n display: block;
\
n width: 100%;
\
n}
\
n.wrap-main .title[data-v-72680f5f] {
\
n position: absolute;
\
n top: -100px;
\
n width: 100%;
\
n text-align: center;
\
n left: 0;
\
n color: white;
\
n font-size: 26px;
\
n text-shadow: 6px 6px 3px rgba(49, 49, 49, 0.5);
\
n}
\
n'
],
sourceRoot
:
""
}])}});
\ No newline at end of file
dev/static/js/manifest.ce10eb969b819040c61d.js
0 → 100644
View file @
a197467c
!
function
(
e
){
var
c
=
window
.
webpackJsonp
;
window
.
webpackJsonp
=
function
(
f
,
b
,
n
){
for
(
var
r
,
t
,
o
,
i
=
0
,
u
=
[];
i
<
f
.
length
;
i
++
)
t
=
f
[
i
],
a
[
t
]
&&
u
.
push
(
a
[
t
][
0
]),
a
[
t
]
=
0
;
for
(
r
in
b
)
Object
.
prototype
.
hasOwnProperty
.
call
(
b
,
r
)
&&
(
e
[
r
]
=
b
[
r
]);
for
(
c
&&
c
(
f
,
b
,
n
);
u
.
length
;)
u
.
shift
()();
if
(
n
)
for
(
i
=
0
;
i
<
n
.
length
;
i
++
)
o
=
d
(
d
.
s
=
n
[
i
]);
return
o
};
var
f
=
{},
a
=
{
57
:
0
};
function
d
(
c
){
if
(
f
[
c
])
return
f
[
c
].
exports
;
var
a
=
f
[
c
]
=
{
i
:
c
,
l
:
!
1
,
exports
:{}};
return
e
[
c
].
call
(
a
.
exports
,
a
,
a
.
exports
,
d
),
a
.
l
=!
0
,
a
.
exports
}
d
.
e
=
function
(
e
){
var
c
=
a
[
e
];
if
(
0
===
c
)
return
new
Promise
(
function
(
e
){
e
()});
if
(
c
)
return
c
[
2
];
var
f
=
new
Promise
(
function
(
f
,
d
){
c
=
a
[
e
]
=
[
f
,
d
]});
c
[
2
]
=
f
;
var
b
=
document
.
getElementsByTagName
(
"head"
)[
0
],
n
=
document
.
createElement
(
"script"
);
n
.
type
=
"text/javascript"
,
n
.
charset
=
"utf-8"
,
n
.
async
=!
0
,
n
.
timeout
=
12
e4
,
d
.
nc
&&
n
.
setAttribute
(
"nonce"
,
d
.
nc
),
n
.
src
=
d
.
p
+
"static/js/"
+
e
+
"."
+
{
0
:
"2b72cf03c5b2106544dc"
,
1
:
"aae6a797341ae53c7445"
,
2
:
"95619b1f9876bd652c8c"
,
3
:
"963d2357eb0d869dea67"
,
4
:
"b8c3db3e2c7fa6af047e"
,
5
:
"8abd443ba1a60a888e7c"
,
6
:
"782b21e2caa96b4c3bf8"
,
7
:
"33b5b251dde6ce229b02"
,
8
:
"c171ec4fa8c878f1548d"
,
9
:
"15b1485f25558d3d28da"
,
10
:
"87502c2c0c4974621a1f"
,
11
:
"2edccb5f5df82e483100"
,
12
:
"e97087c949347ee19ef3"
,
13
:
"75d02dae5b1d3f4d31e3"
,
14
:
"4520e4e4b21df642e9ca"
,
15
:
"cd9b40783bd5690df186"
,
16
:
"1c8f86ff1a0d1ece263c"
,
17
:
"ce07a74137c42ca63de4"
,
18
:
"767268716cac78befd33"
,
19
:
"e2fb90f1a1fc9e424b2c"
,
20
:
"9c8f243638d9b4acb21d"
,
21
:
"826b020dd609b959921d"
,
22
:
"e14a2ba1bf457f1e3022"
,
23
:
"ced8e2402d427215e342"
,
24
:
"5faf4bf5fbad39f35803"
,
25
:
"85d99ec26f0633d2ec4b"
,
26
:
"29b711a70156b2bfd4c7"
,
27
:
"c7dd611e841a21271ab4"
,
28
:
"dbcbb583348da44cf575"
,
29
:
"e48c8f30d2559f94b803"
,
30
:
"2259190e195e680a43c6"
,
31
:
"21f93749f50e90d7179a"
,
32
:
"ac34419229f922916b2b"
,
33
:
"2bc4d1b737218e038b79"
,
34
:
"b9704d33c9171c0205e8"
,
35
:
"a4d1bfe8fb6b85f2e99f"
,
36
:
"8ff2d6a6567601f4cdca"
,
37
:
"96d110324b62bd9f9068"
,
38
:
"1b340bba3aad69159c84"
,
39
:
"e4976b3201b918a1f2dc"
,
40
:
"7f0e2f73cd2e8d320d3b"
,
41
:
"80d3c01bce387fa2aeb2"
,
42
:
"16253c77a3ac3def9e3f"
,
43
:
"0fc93d3eb1da24905b36"
,
44
:
"904778098a5d5d413dcd"
,
45
:
"1a542b44cbcb2d50ab4b"
,
46
:
"f80f92ad1b92e6c21c91"
,
47
:
"3c50ec604f7424eaa03a"
,
48
:
"1509078f38ea10d40d8f"
,
49
:
"8a375c060442a360e91e"
,
50
:
"f93ba5be2fe8048fdc31"
,
51
:
"6f7e7db2bd9c6824cc5d"
,
52
:
"86b11260836d672af482"
,
53
:
"f54420748ecd54effd8f"
,
54
:
"134d379e10f18c8492f4"
}[
e
]
+
".js"
;
var
r
=
setTimeout
(
t
,
12
e4
);
function
t
(){
n
.
onerror
=
n
.
onload
=
null
,
clearTimeout
(
r
);
var
c
=
a
[
e
];
0
!==
c
&&
(
c
&&
c
[
1
](
new
Error
(
"Loading chunk "
+
e
+
" failed."
)),
a
[
e
]
=
void
0
)}
return
n
.
onerror
=
n
.
onload
=
t
,
b
.
appendChild
(
n
),
f
},
d
.
m
=
e
,
d
.
c
=
f
,
d
.
d
=
function
(
e
,
c
,
f
){
d
.
o
(
e
,
c
)
||
Object
.
defineProperty
(
e
,
c
,{
configurable
:
!
1
,
enumerable
:
!
0
,
get
:
f
})},
d
.
n
=
function
(
e
){
var
c
=
e
&&
e
.
__esModule
?
function
(){
return
e
.
default
}:
function
(){
return
e
};
return
d
.
d
(
c
,
"a"
,
c
),
c
},
d
.
o
=
function
(
e
,
c
){
return
Object
.
prototype
.
hasOwnProperty
.
call
(
e
,
c
)},
d
.
p
=
"/"
,
d
.
oe
=
function
(
e
){
throw
console
.
error
(
e
),
e
}}([]);
\ No newline at end of file
dist/index.html
View file @
a197467c
<!DOCTYPE html>
<html><head><meta
charset=
utf-8
><meta
name=
viewport
content=
"width=device-width,initial-scale=1"
><meta
name=
referrer
content=
never
><link
rel=
stylesheet
href=
https:////at.alicdn.com/t/font_746649_x1rivf5f5.css
><link
rel=
stylesheet
href=
https://lib.baomitu.com/element-ui/2.7.2/theme-chalk/index.css
><title>
唱唱启蒙-后台
</title><link
href=
/static/css/app.
535279c17d83cac88048290168e30b3a.css
rel=
stylesheet
></head><body><script
src=
https://cdn.bootcss.com/vue/2.5.17/vue.min.js
></script><script
src=
https://unpkg.com/vuex@3.0.1
></script><script
src=
https://cdn.bootcss.com/axios/0.18.0/axios.min.js
></script><script
src=
https://lib.baomitu.com/element-ui/2.7.2/index.js
></script><div
id=
app
></div><script
type=
text/javascript
src=
/static/js/manifest.fce22e55fcbdf712292e.js
></script><script
type=
text/javascript
src=
/static/js/vendor.063223a865183c95a037.js
></script><script
type=
text/javascript
src=
/static/js/app.3634db8e109dd1d9a8e8
.js
></script></body><script>
let
el
=
document
.
getElementsByTagName
(
"script"
);
<!DOCTYPE html>
<html><head><meta
charset=
utf-8
><meta
name=
viewport
content=
"width=device-width,initial-scale=1"
><meta
name=
referrer
content=
never
><link
rel=
stylesheet
href=
https:////at.alicdn.com/t/font_746649_x1rivf5f5.css
><link
rel=
stylesheet
href=
https://lib.baomitu.com/element-ui/2.7.2/theme-chalk/index.css
><title>
唱唱启蒙-后台
</title><link
href=
/static/css/app.
d52def0ed92718492724060780bddf63.css
rel=
stylesheet
></head><body><script
src=
https://cdn.bootcss.com/vue/2.5.17/vue.min.js
></script><script
src=
https://unpkg.com/vuex@3.0.1
></script><script
src=
https://cdn.bootcss.com/axios/0.18.0/axios.min.js
></script><script
src=
https://lib.baomitu.com/element-ui/2.7.2/index.js
></script><div
id=
app
></div><script
type=
text/javascript
src=
/static/js/manifest.48016f9af7601e4a9d42.js
></script><script
type=
text/javascript
src=
/static/js/vendor.063223a865183c95a037.js
></script><script
type=
text/javascript
src=
/static/js/app.9bcaf02ea5a7c1c58995
.js
></script></body><script>
let
el
=
document
.
getElementsByTagName
(
"script"
);
el
.
onerror
=
function
(
a
,
b
,
c
){
console
.
log
(
'error:'
,
a
,
b
,
c
);
};
...
...
dist/static/css/app.d52def0ed92718492724060780bddf63.css
0 → 100644
View file @
a197467c
This source diff could not be displayed because it is too large. You can
view the blob
instead.
dist/static/js/33.d983d5bb51e8b5193a7a.js
0 → 100644
View file @
a197467c
webpackJsonp
([
33
],{
CGL6
:
function
(
t
,
e
,
i
){
"use strict"
;
Object
.
defineProperty
(
e
,
"__esModule"
,{
value
:
!
0
});
var
a
=
i
(
"CCn6"
),
n
=
{
name
:
"banner"
,
components
:{
page
:
i
(
"kmJW"
).
a
},
data
:
function
(){
return
{
loading
:
!
1
,
bannerList
:[],
searchFrom
:{
status
:
"1"
,
type
:
"2"
},
total
:
0
,
nowPage
:
1
,
uploadShow
:
!
0
,
limit
:
10
,
dialog
:{
title
:
"新增"
,
show
:
!
1
,
rules
:{
title
:[{
required
:
!
0
,
message
:
"请填写名称"
,
trigger
:
"change"
}],
link
:[{
required
:
!
0
,
message
:
"请填写链接"
,
trigger
:
"change"
}],
sub_title
:[{
required
:
!
0
,
message
:
"请填写子名称"
,
trigger
:
"change"
}]},
form
:{
title
:
""
,
url
:
""
,
link
:
""
,
id
:
""
,
sub_title
:
""
}},
imageList
:[],
audio
:[]}},
created
:
function
(){
this
.
getList
()},
filters
:{
status
:
function
(
t
){
return
1
===
t
?
"上架中"
:
"已下架"
}},
methods
:{
removeFileAudio2
:
function
(
t
,
e
){
this
.
audio
=
e
},
handleExceed
:
function
(){},
beforeAvatarAudio
:
function
(
t
){
var
e
=
"audio/mp3"
===
t
.
type
;
return
e
||
this
.
$message
.
error
(
"上传视频只能是MP3格式!"
),
e
},
uploadFileAudio2
:
function
(
t
){
var
e
=
this
;
Object
(
a
.
_137
)({
file
:
t
.
file
,
type
:
"local"
,
obj
:
t
}).
then
(
function
(
i
){
e
.
$message
({
type
:
"success"
,
message
:
"上传成功!"
}),
t
.
onSuccess
(
"上传成功"
),
e
.
dialog
.
form
.
link
=
"https://cdn.singsingenglish.com/"
+
i
.
url
,
e
.
audio
.
push
({
name
:
i
.
name
,
url
:
"https://cdn.singsingenglish.com/"
+
i
.
url
,
title
:
""
,
tips
:
""
,
image
:
""
})})},
onPageChange
:
function
(
t
){
this
.
nowPage
=
t
,
this
.
getList
()},
changeStatus
:
function
(
t
){
var
e
=
this
,
i
=
void
0
,
n
=
void
0
;
1
===
t
.
status
?(
i
=
"此操作将下架,是否继续?"
,
n
=
2
):(
i
=
"此操作将上架,是否继续?"
,
n
=
1
),
this
.
$confirm
(
i
,
"提示"
,{
confirmButtonText
:
"继续"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
var
i
=
{
status
:
n
};
Object
(
a
.
t
)(
t
.
id
,
i
).
then
(
function
(
t
){
e
.
$message
({
type
:
"success"
,
message
:
"修改成功!"
}),
e
.
getList
()})})},
onSizeChange
:
function
(
t
){
this
.
nowPage
=
1
,
this
.
limit
=
t
,
this
.
getList
()},
getList
:
function
(){
var
t
=
this
;
this
.
loading
=!
0
;
var
e
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
"-1"
!==
this
.
searchFrom
.
status
&&
(
e
.
status
=
this
.
searchFrom
.
status
),
Object
(
a
.
_23
)(
this
.
searchFrom
.
type
,
e
).
then
(
function
(
e
){
e
&&
(
t
.
bannerList
=
e
.
list
,
t
.
total
=
e
.
total
,
t
.
loading
=!
1
)})},
edit
:
function
(
t
){
var
e
=
this
;
this
.
dialog
.
form
.
id
=
t
.
id
,
this
.
dialog
.
title
=
"编辑"
,
Object
(
a
.
_22
)(
t
.
id
).
then
(
function
(
t
){
e
.
dialog
.
form
.
title
=
t
.
title
,
e
.
dialog
.
form
.
sub_title
=
t
.
sub_title
,
e
.
dialog
.
form
.
link
=
t
.
link
,
e
.
imageList
=
[{
name
:
t
.
url
,
url
:
t
.
url
}],
e
.
dialog
.
show
=!
0
,
e
.
uploadShow
=!
1
,
e
.
audio
=
[]})},
add
:
function
(){
this
.
dialog
.
show
=!
0
,
this
.
dialog
.
form
.
id
=
""
,
this
.
dialog
.
title
=
"新增"
,
this
.
dialog
.
form
.
title
=
""
,
this
.
dialog
.
form
.
sub_title
=
""
,
this
.
dialog
.
form
.
link
=
""
,
this
.
imageList
=
[],
this
.
uploadShow
=!
0
,
this
.
audio
=
[]},
del
:
function
(
t
){
var
e
=
this
;
this
.
$confirm
(
"此操作将删除该?"
,
"提示"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
Object
(
a
.
E
)(
t
.
id
).
then
(
function
(
t
){
e
.
$message
({
type
:
"success"
,
message
:
"删除成功!"
}),
e
.
getList
()})})},
handleAvatarSuccess
:
function
(
t
){
this
.
imageList
=
[{
name
:
t
.
data
.
url
,
url
:
"https://cdn.singsingenglish.com/"
+
t
.
data
.
url
}],
this
.
dialog
.
form
.
url
=
"https://cdn.singsingenglish.com/"
+
t
.
data
.
url
},
beforeAvatarUpload
:
function
(){
this
.
uploadShow
=!
1
},
handleRemove
:
function
(){
this
.
uploadShow
=!
0
},
sub
:
function
(){
var
t
=
this
;
this
.
$refs
.
form
.
validate
(
function
(
e
){
if
(
e
){
var
i
=
t
.
dialog
;
if
(
i
.
form
.
id
){
var
n
=
{
title
:
i
.
form
.
title
,
link
:
i
.
form
.
link
,
sub_title
:
i
.
form
.
sub_title
};
t
.
imageList
.
length
>
0
&&
(
n
.
url
=
t
.
imageList
[
0
].
url
),
t
.
$confirm
(
"确认修改"
,
"提示"
,{
confirmButtonText
:
"继续"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
Object
(
a
.
Z
)(
i
.
form
.
id
,
n
).
then
(
function
(){
t
.
$message
({
type
:
"success"
,
message
:
"修改成功!"
}),
i
.
show
=!
1
,
t
.
getList
()})})}
else
{
var
s
=
{
title
:
i
.
form
.
title
,
link
:
i
.
form
.
link
,
sub_title
:
i
.
form
.
sub_title
};
t
.
imageList
.
length
>
0
&&
(
s
.
url
=
t
.
imageList
[
0
].
url
),
t
.
$confirm
(
"确认添加"
,
"提示"
,{
confirmButtonText
:
"继续"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
Object
(
a
.
b
)(
t
.
searchFrom
.
type
,
s
).
then
(
function
(){
t
.
$message
({
type
:
"success"
,
message
:
"添加成功!"
}),
i
.
show
=!
1
,
t
.
getList
()})})}}})},
moveUp
:
function
(
t
){
var
e
=
this
.
bannerList
;
this
.
sort
(
e
[
t
].
id
,
e
[
t
-
1
].
id
)},
moveDown
:
function
(
t
){
var
e
=
this
.
bannerList
;
this
.
sort
(
e
[
t
+
1
].
id
,
e
[
t
].
id
)},
sort
:
function
(
t
,
e
){
var
i
=
this
;
this
.
loading
=!
0
,
Object
(
a
.
_93
)(
t
,
e
).
then
(
function
(){
i
.
loading
=!
1
,
i
.
getList
()})},
uploadFile
:
function
(
t
){
var
e
=
this
;
this
.
loading
=!
0
,
this
.
$store
.
dispatch
(
"setProgress"
,{
type
:
"new"
,
id
:
t
.
file
.
uid
}),
this
.
fileUid
=
t
.
file
.
uid
,
Object
(
a
.
_137
)({
file
:
t
.
file
,
type
:
"local"
}).
then
(
function
(
t
){
e
.
imageList
=
[{
name
:
t
.
url
,
url
:
"https://cdn.singsingenglish.com/"
+
t
.
url
}],
e
.
loading
=!
1
,
e
.
$message
({
type
:
"success"
,
message
:
"上传成功!"
})}).
catch
(
function
(){
e
.
loading
=!
1
})}}},
s
=
{
render
:
function
(){
var
t
=
this
,
e
=
t
.
$createElement
,
i
=
t
.
_self
.
_c
||
e
;
return
i
(
"div"
,{
directives
:[{
name
:
"loading"
,
rawName
:
"v-loading"
,
value
:
t
.
loading
,
expression
:
"loading"
}],
staticClass
:
"banner"
},[
i
(
"div"
,{
staticClass
:
"head clear-both"
},[
t
.
$store
.
state
.
readonly
?
t
.
_e
():
i
(
"el-button"
,{
staticStyle
:{
float
:
"right"
},
attrs
:{
plain
:
""
,
type
:
"success"
},
on
:{
click
:
t
.
add
}},[
t
.
_v
(
"新增"
)])],
1
),
t
.
_v
(
" "
),
i
(
"el-tabs"
,{
staticStyle
:{
background
:
"white"
,
"padding-top"
:
"10px"
},
attrs
:{
type
:
"card"
},
on
:{
"tab-click"
:
t
.
getList
},
model
:{
value
:
t
.
searchFrom
.
type
,
callback
:
function
(
e
){
t
.
$set
(
t
.
searchFrom
,
"type"
,
e
)},
expression
:
"searchFrom.type"
}},[
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"磨耳朵"
,
name
:
"2"
}}),
t
.
_v
(
" "
),
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"启蒙小课堂"
,
name
:
"3"
}}),
t
.
_v
(
" "
),
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"明星学员"
,
name
:
"4"
}}),
t
.
_v
(
" "
),
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"精彩直播课"
,
name
:
"5"
}})],
1
),
t
.
_v
(
" "
),
i
(
"el-tabs"
,{
staticStyle
:{
background
:
"white"
,
"padding-top"
:
"10px"
},
attrs
:{
type
:
"card"
},
on
:{
"tab-click"
:
t
.
getList
},
model
:{
value
:
t
.
searchFrom
.
status
,
callback
:
function
(
e
){
t
.
$set
(
t
.
searchFrom
,
"status"
,
e
)},
expression
:
"searchFrom.status"
}},[
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"全部"
,
name
:
"-1"
}}),
t
.
_v
(
" "
),
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"上架"
,
name
:
"1"
}}),
t
.
_v
(
" "
),
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"下架"
,
name
:
"2"
}})],
1
),
t
.
_v
(
" "
),
i
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
t
.
bannerList
}},[
i
(
"el-table-column"
,{
attrs
:{
prop
:
"id"
,
label
:
"ID"
}}),
t
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"title"
,
label
:
"标题"
}}),
t
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"url"
,
label
:
"图片"
},
scopedSlots
:
t
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"a"
,{
attrs
:{
href
:
t
.
row
.
url
,
target
:
"_blank"
}},[
i
(
"img"
,{
staticClass
:
"short-banner"
,
attrs
:{
src
:
t
.
row
.
url
}})])]}}])}),
t
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"状态"
},
scopedSlots
:
t
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
t
.
_v
(
"
\n
"
+
t
.
_s
(
t
.
_f
(
"status"
)(
e
.
row
.
status
))
+
"
\n
"
)]}}])}),
t
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"link"
,
label
:
"链接"
}}),
t
.
_v
(
" "
),
t
.
$store
.
state
.
readonly
?
t
.
_e
():
i
(
"el-table-column"
,{
attrs
:{
label
:
"操作"
,
width
:
"100"
},
scopedSlots
:
t
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
i
(
"el-popover"
,{
attrs
:{
placement
:
"top"
,
width
:
"280"
}},[
i
(
"div"
,{
staticStyle
:{
"text-align"
:
"center"
}},[
i
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
plain
:
""
,
type
:
"primary"
},
on
:{
click
:
function
(
i
){
t
.
edit
(
e
.
row
)}}},[
t
.
_v
(
"
\n
编辑
\n
"
)]),
t
.
_v
(
" "
),
t
.
$store
.
state
.
deletePermission
?
i
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
type
:
"danger"
,
plain
:
""
},
on
:{
click
:
function
(
i
){
t
.
del
(
e
.
row
)}}},[
t
.
_v
(
"
\n
删除
\n
"
)]):
t
.
_e
(),
t
.
_v
(
" "
),
2
==
e
.
row
.
status
?
i
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
function
(
i
){
t
.
changeStatus
(
e
.
row
)}}},[
t
.
_v
(
"
\n
上架
\n
"
)]):
t
.
_e
(),
t
.
_v
(
" "
),
1
==
e
.
row
.
status
?
i
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
function
(
i
){
t
.
changeStatus
(
e
.
row
)}}},[
t
.
_v
(
"
\n
下架
\n
"
)]):
t
.
_e
(),
t
.
_v
(
" "
),
e
.
$index
>
0
?
i
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
function
(
i
){
t
.
moveUp
(
e
.
$index
)}}},[
t
.
_v
(
"
\n
上移
\n
"
)]):
t
.
_e
(),
t
.
_v
(
" "
),
e
.
$index
!==
t
.
bannerList
.
length
-
1
?
i
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
function
(
i
){
t
.
moveDown
(
e
.
$index
)}}},[
t
.
_v
(
"
\n
下移
\n
"
)]):
t
.
_e
()],
1
),
t
.
_v
(
" "
),
i
(
"el-button"
,{
attrs
:{
slot
:
"reference"
,
size
:
"mini"
,
type
:
"text"
},
slot
:
"reference"
},[
t
.
_v
(
"操作"
)])],
1
)]}}])})],
1
),
t
.
_v
(
" "
),
i
(
"page"
,{
attrs
:{
nowPage
:
t
.
nowPage
,
total
:
t
.
total
,
limit
:
t
.
limit
},
on
:{
pageChange
:
t
.
onPageChange
,
sizeChange
:
t
.
onSizeChange
}}),
t
.
_v
(
" "
),
i
(
"el-dialog"
,{
attrs
:{
title
:
t
.
dialog
.
title
,
center
:
""
,
"append-to-body"
:
""
,
visible
:
t
.
dialog
.
show
,
width
:
"30%"
},
on
:{
"update:visible"
:
function
(
e
){
t
.
$set
(
t
.
dialog
,
"show"
,
e
)}}},[
i
(
"el-form"
,{
ref
:
"form"
,
attrs
:{
rules
:
t
.
dialog
.
rules
,
model
:
t
.
dialog
.
form
,
"label-width"
:
"100px"
}},[
i
(
"el-form-item"
,{
attrs
:{
label
:
"名称"
,
prop
:
"title"
}},[
i
(
"el-input"
,{
model
:{
value
:
t
.
dialog
.
form
.
title
,
callback
:
function
(
e
){
t
.
$set
(
t
.
dialog
.
form
,
"title"
,
e
)},
expression
:
"dialog.form.title"
}})],
1
),
t
.
_v
(
" "
),
i
(
"el-form-item"
,{
attrs
:{
label
:
"二级名称"
,
prop
:
"sub_title"
}},[
i
(
"el-input"
,{
model
:{
value
:
t
.
dialog
.
form
.
sub_title
,
callback
:
function
(
e
){
t
.
$set
(
t
.
dialog
.
form
,
"sub_title"
,
e
)},
expression
:
"dialog.form.sub_title"
}})],
1
),
t
.
_v
(
" "
),
i
(
"el-form-item"
,{
attrs
:{
label
:
"链接"
,
prop
:
"link"
}},[
i
(
"el-input"
,{
model
:{
value
:
t
.
dialog
.
form
.
link
,
callback
:
function
(
e
){
t
.
$set
(
t
.
dialog
.
form
,
"link"
,
e
)},
expression
:
"dialog.form.link"
}})],
1
),
t
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"upload-block"
},[
i
(
"el-upload"
,{
class
:{
disabled
:
!
t
.
uploadShow
},
attrs
:{
action
:
"/api/public/upload/zone"
,
"http-request"
:
t
.
uploadFile
,
"before-upload"
:
t
.
beforeAvatarUpload
,
"list-type"
:
"picture-card"
,
"file-list"
:
t
.
imageList
,
"on-success"
:
t
.
handleAvatarSuccess
,
"on-remove"
:
t
.
handleRemove
}},[
i
(
"i"
,{
staticClass
:
"el-icon-plus"
})]),
t
.
_v
(
" "
),
i
(
"p"
,{
staticClass
:
"size"
},[
t
.
_v
(
"750*400"
)])],
1
),
t
.
_v
(
" "
),
2
==
t
.
searchFrom
.
type
&&
0
==
t
.
audio
.
length
?
i
(
"el-upload"
,{
staticClass
:
"upload-demo"
,
attrs
:{
"http-request"
:
t
.
uploadFileAudio2
,
"before-upload"
:
t
.
beforeAvatarAudio
,
"file-list"
:
t
.
audio
,
"on-exceed"
:
t
.
handleExceed
,
"on-remove"
:
t
.
removeFileAudio2
,
drag
:
""
,
action
:
"https://jsonplaceholder.typicode.com/posts/"
,
multiple
:
""
}},[
i
(
"i"
,{
staticClass
:
"el-icon-upload"
}),
t
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"el-upload__text"
},[
t
.
_v
(
"
\n
将文件拖到此处,或"
),
i
(
"em"
,[
t
.
_v
(
"点击上传"
)]),
t
.
_v
(
" "
),
i
(
"br"
),
t
.
_v
(
" "
),
i
(
"span"
,{
staticStyle
:{
color
:
"#888888"
,
"font-size"
:
"12px"
}},[
t
.
_v
(
"只能上传MP3文件"
)])])]):
t
.
_e
()],
1
),
t
.
_v
(
" "
),
i
(
"span"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
i
(
"el-button"
,{
on
:{
click
:
function
(
e
){
t
.
dialog
.
show
=!
1
}}},[
t
.
_v
(
"取 消"
)]),
t
.
_v
(
" "
),
i
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
t
.
sub
}},[
t
.
_v
(
"确 定"
)])],
1
)],
1
)],
1
)},
staticRenderFns
:[]};
var
o
=
i
(
"VU/8"
)(
n
,
s
,
!
1
,
function
(
t
){
i
(
"vkdW"
),
i
(
"QPLF"
)},
null
,
null
);
e
.
default
=
o
.
exports
},
QPLF
:
function
(
t
,
e
){},
vkdW
:
function
(
t
,
e
){}});
\ No newline at end of file
dist/static/js/48.3c66b20d6f3a22ce5bf5.js
0 → 100644
View file @
a197467c
webpackJsonp
([
48
],{
"1Mg7"
:
function
(
e
,
t
){},
hLMI
:
function
(
e
,
t
,
a
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
r
=
a
(
"kmJW"
),
s
=
a
(
"sf/l"
),
i
=
a
(
"CCn6"
),
o
=
{
name
:
"index"
,
components
:{
page
:
r
.
a
},
data
:
function
(){
return
{
total
:
0
,
nowPage
:
1
,
limit
:
10
,
searchFrom
:{
source
:
""
},
tableData
:[]}},
created
:
function
(){
this
.
initPage
()},
methods
:{
initPage
:
function
(){
var
e
=
this
,
t
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
this
.
searchFrom
.
time
&&
(
t
.
time
=
this
.
searchFrom
.
time
),
this
.
searchFrom
.
source
&&
(
t
.
source
=
this
.
searchFrom
.
source
),
this
.
searchFrom
.
time
&&
this
.
searchFrom
.
time
.
length
>
0
&&
(
t
.
date_start
=
s
.
a
.
dateFmt
(
this
.
searchFrom
.
time
[
0
],
"yyyy-MM-dd hh:mm:ss"
),
t
.
date_end
=
s
.
a
.
dateFmt
(
this
.
searchFrom
.
time
[
1
],
"yyyy-MM-dd hh:mm:ss"
)),
Object
(
i
.
_21
)(
t
).
then
(
function
(
t
){
e
.
tableData
=
t
.
list
,
e
.
total
=
t
.
total
})},
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
initPage
()},
onSizeChange
:
function
(
e
){
this
.
nowPage
=
1
,
this
.
limit
=
e
,
this
.
initPage
()},
doExport
:
function
(){
var
e
=
"?type=export"
;
this
.
searchFrom
.
source
&&
(
e
=
e
+
"&source="
+
this
.
searchFrom
.
source
),
this
.
searchFrom
.
time
&&
this
.
searchFrom
.
time
.
length
>
0
&&
(
e
=
(
e
=
e
+
"&date_start="
+
s
.
a
.
dateFmt
(
this
.
searchFrom
.
time
[
0
],
"yyyy-MM-dd hh:mm:ss"
))
+
"&date_end="
+
s
.
a
.
dateFmt
(
this
.
searchFrom
.
time
[
1
],
"yyyy-MM-dd hh:mm:ss"
)),
window
.
open
(
"/api/public/ads/export/all"
+
e
)}}},
l
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,{
staticClass
:
"index"
},[
a
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
model
:
e
.
searchFrom
,
"label-width"
:
"80px"
}},[
a
(
"el-row"
,[
a
(
"el-col"
,{
attrs
:{
lg
:
10
,
sm
:
24
,
md
:
24
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"购买时间"
}},[
a
(
"el-date-picker"
,{
attrs
:{
type
:
"datetimerange"
,
"range-separator"
:
"至"
,
"start-placeholder"
:
"开始日期"
,
"end-placeholder"
:
"结束日期"
,
"default-time"
:[
"00:00:00"
,
"23:59:59"
]},
model
:{
value
:
e
.
searchFrom
.
time
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"time"
,
t
)},
expression
:
"searchFrom.time"
}})],
1
)],
1
),
e
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
lg
:
4
,
sm
:
24
,
md
:
12
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"来源"
}},[
a
(
"el-input"
,{
attrs
:{
placeholder
:
"名称"
,
size
:
"small"
},
model
:{
value
:
e
.
searchFrom
.
source
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"source"
,
t
)},
expression
:
"searchFrom.source"
}})],
1
)],
1
),
e
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
lg
:
4
,
sm
:
24
,
md
:
12
}},[
a
(
"el-form-item"
,[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
,
size
:
"small"
},
on
:{
click
:
e
.
initPage
}},[
e
.
_v
(
"
\n
搜索
\n
"
)])],
1
)],
1
),
e
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
lg
:
4
,
sm
:
24
,
md
:
12
}},[
a
(
"el-form-item"
,[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
,
size
:
"small"
},
on
:{
click
:
e
.
doExport
}},[
e
.
_v
(
"
\n
导出
\n
"
)])],
1
)],
1
)],
1
)],
1
),
e
.
_v
(
" "
),
a
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
tableData
}},[
a
(
"el-table-column"
,{
attrs
:{
prop
:
"name"
,
label
:
"宝贝名称"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"create_at"
,
label
:
"添加时间"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"source"
,
label
:
"来源"
}})],
1
),
e
.
_v
(
" "
),
a
(
"page"
,{
attrs
:{
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}})],
1
)},
staticRenderFns
:[]};
var
m
=
a
(
"VU/8"
)(
o
,
l
,
!
1
,
function
(
e
){
a
(
"1Mg7"
)},
"data-v-258bae78"
,
null
);
t
.
default
=
m
.
exports
}});
\ No newline at end of file
dist/static/js/49.a3af5513aaad12295f55.js
0 → 100644
View file @
a197467c
webpackJsonp
([
49
],{
D6So
:
function
(
t
,
e
){},
Dq6T
:
function
(
t
,
e
,
a
){
"use strict"
;
Object
.
defineProperty
(
e
,
"__esModule"
,{
value
:
!
0
});
var
l
=
a
(
"CCn6"
),
s
=
{
name
:
"index"
,
data
:
function
(){
return
{
searchFrom
:{
watchTime
:[]},
dialogLoading
:
!
1
,
dialogVisible
:
!
1
,
tableData
:[],
dialog
:{
list
:[],
total
:
0
,
register
:
0
,
coursesList
:[],
course
:
0
,
time
:
""
,
name
:
""
,
codeList
:[],
inNum
:
0
},
tableHead
:{}}},
methods
:{
defaultTime
:
function
(){
var
t
=
new
Date
,
e
=
t
.
getFullYear
(),
a
=
t
.
getMonth
()
+
1
;
a
<
10
&&
(
a
=
"0"
+
a
);
var
l
=
t
.
getDate
();
l
<
10
&&
(
l
=
"0"
+
l
);
var
s
=
e
+
"-"
+
a
+
"-01"
,
i
=
e
+
"-"
+
a
+
"-"
+
l
;
this
.
searchFrom
.
watchTime
=
[
s
,
i
]},
toDetail
:
function
(
t
,
e
,
a
){
var
s
=
this
;
this
.
dialogLoading
=!
0
,
this
.
dialogVisible
=!
0
;
var
i
=
{
cur_date
:
t
,
code
:
e
};
Object
(
l
.
_73
)(
i
).
then
(
function
(
l
){
s
.
dialog
.
name
=
s
.
tableHead
[
e
],
s
.
dialog
.
time
=
t
,
s
.
dialog
.
inNum
=
l
.
total
,
s
.
dialog
.
list
=
l
.
list
,
s
.
dialog
.
register
=
l
.
register
,
s
.
dialog
.
course
=
l
.
course
,
s
.
dialog
.
code
=
l
.
source
,
s
.
dialog
.
total
=
a
,
s
.
dialog
.
coursesList
=
l
.
courses
,
s
.
dialogLoading
=!
1
})},
getList
:
function
(){
var
t
=
this
,
e
=
{};
this
.
searchFrom
.
watchTime
&&
this
.
searchFrom
.
watchTime
.
length
>
0
&&
(
e
.
start_at
=
this
.
searchFrom
.
watchTime
[
0
],
e
.
end_at
=
this
.
searchFrom
.
watchTime
[
1
]),
Object
(
l
.
_84
)(
e
).
then
(
function
(
e
){
t
.
tableHead
=
e
[
0
],
t
.
tableData
=
e
.
slice
(
1
)})}},
mounted
:
function
(){
this
.
defaultTime
(),
this
.
getList
()}},
i
=
{
render
:
function
(){
var
t
=
this
,
e
=
t
.
$createElement
,
a
=
t
.
_self
.
_c
||
e
;
return
a
(
"div"
,{
staticClass
:
"index"
},[
a
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
model
:
t
.
searchFrom
,
"label-width"
:
"100px"
}},[
a
(
"el-row"
,[
a
(
"el-col"
,{
attrs
:{
span
:
12
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"时间"
}},[
a
(
"el-date-picker"
,{
attrs
:{
type
:
"daterange"
,
"range-separator"
:
"至"
,
"start-placeholder"
:
"开始日期"
,
"value-format"
:
"yyyy-MM-dd"
,
"end-placeholder"
:
"结束日期"
},
model
:{
value
:
t
.
searchFrom
.
watchTime
,
callback
:
function
(
e
){
t
.
$set
(
t
.
searchFrom
,
"watchTime"
,
e
)},
expression
:
"searchFrom.watchTime"
}})],
1
)],
1
),
t
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
span
:
6
,
offset
:
6
}},[
a
(
"el-form-item"
,{
staticStyle
:{
float
:
"right"
}},[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
t
.
getList
}},[
t
.
_v
(
"搜索"
)])],
1
)],
1
)],
1
)],
1
),
t
.
_v
(
" "
),
a
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
t
.
tableData
,
border
:
""
}},
t
.
_l
(
t
.
tableHead
,
function
(
e
,
l
){
return
a
(
"el-table-column"
,{
key
:
e
,
attrs
:{
label
:
e
},
scopedSlots
:
t
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
"cur_date"
!==
l
?
a
(
"div"
,{
staticClass
:
"link"
,
on
:{
click
:
function
(
a
){
t
.
toDetail
(
e
.
row
.
cur_date
,
l
,
e
.
row
[
l
])}}},[
t
.
_v
(
"
\n
"
+
t
.
_s
(
e
.
row
[
l
])
+
"
\n
"
)]):
t
.
_e
(),
t
.
_v
(
" "
),
"cur_date"
===
l
?
a
(
"span"
,[
t
.
_v
(
" "
+
t
.
_s
(
e
.
row
[
l
]))]):
t
.
_e
()]}}])})})),
t
.
_v
(
" "
),
a
(
"el-dialog"
,{
attrs
:{
title
:
"详情"
,
visible
:
t
.
dialogVisible
,
width
:
"80%"
},
on
:{
"update:visible"
:
function
(
e
){
t
.
dialogVisible
=
e
}}},[
a
(
"div"
,{
directives
:[{
name
:
"loading"
,
rawName
:
"v-loading"
,
value
:
t
.
dialogLoading
,
expression
:
"dialogLoading"
}]},[
a
(
"el-row"
,{
staticClass
:
"dialog-tips"
},[
a
(
"el-col"
,{
staticClass
:
"text-r"
,
attrs
:{
span
:
5
}},[
t
.
_v
(
"
\n
时间:
\n
"
)]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
span
:
3
}},[
a
(
"div"
,{
attrs
:{
title
:
t
.
dialog
.
time
}},[
t
.
_v
(
"
\n
"
+
t
.
_s
(
t
.
dialog
.
time
)
+
"
\n
"
)])]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
staticClass
:
"text-r"
,
attrs
:{
span
:
5
}},[
t
.
_v
(
"
\n
状态:
\n
"
)]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
span
:
3
}},[
a
(
"div"
,{
attrs
:{
title
:
t
.
dialog
.
name
}},[
t
.
_v
(
"
\n
"
+
t
.
_s
(
t
.
dialog
.
name
)
+
"
\n
"
)])]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
staticClass
:
"text-r"
,
attrs
:{
span
:
5
}},[
t
.
_v
(
"
\n
总数:
\n
"
)]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
span
:
3
}},[
a
(
"div"
,{
attrs
:{
title
:
t
.
dialog
.
total
}},[
t
.
_v
(
"
\n
"
+
t
.
_s
(
t
.
dialog
.
total
)
+
"
\n
"
)])]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
staticClass
:
"text-r"
,
attrs
:{
span
:
5
}},[
t
.
_v
(
"
\n
进系统人数:
\n
"
)]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
span
:
3
}},[
a
(
"div"
,{
attrs
:{
title
:
t
.
dialog
.
inNum
}},[
t
.
_v
(
"
\n
"
+
t
.
_s
(
t
.
dialog
.
inNum
)
+
"
\n
"
)])]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
staticClass
:
"text-r"
,
attrs
:{
span
:
5
}},[
t
.
_v
(
"
\n
注册数:
\n
"
)]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
span
:
3
}},[
a
(
"div"
,{
attrs
:{
title
:
t
.
dialog
.
register
}},[
t
.
_v
(
"
\n
"
+
t
.
_s
(
t
.
dialog
.
register
)
+
"
\n
"
)])]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
staticClass
:
"text-r"
,
attrs
:{
span
:
5
}},[
t
.
_v
(
"
\n
有课人数:
\n
"
)]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
span
:
3
}},[
a
(
"div"
,{
attrs
:{
title
:
t
.
dialog
.
course
}},[
t
.
_v
(
"
\n
"
+
t
.
_s
(
t
.
dialog
.
course
)
+
"
\n
"
)])]),
t
.
_v
(
" "
),
t
.
_l
(
t
.
dialog
.
code
,
function
(
e
,
l
){
return
a
(
"div"
,{
key
:
e
.
source_name
},[
a
(
"el-col"
,{
staticClass
:
"text-r"
,
attrs
:{
span
:
5
}},[
a
(
"div"
,{
attrs
:{
title
:
e
.
source_name
}},[
t
.
_v
(
"
\n
"
+
t
.
_s
(
e
.
source_name
)
+
":
\n
"
)])]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
span
:
3
}},[
t
.
_v
(
"
\n
"
+
t
.
_s
(
e
.
source_num
)
+
"
\n
"
)])],
1
)}),
t
.
_v
(
" "
),
t
.
_l
(
t
.
dialog
.
coursesList
,
function
(
e
,
l
){
return
a
(
"div"
,{
key
:
e
.
courses_name
},[
a
(
"el-col"
,{
staticClass
:
"text-r"
,
attrs
:{
span
:
5
}},[
a
(
"div"
,{
attrs
:{
title
:
e
.
courses_name
}},[
t
.
_v
(
"
\n
"
+
t
.
_s
(
e
.
courses_name
)
+
":
\n
"
)])]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
span
:
3
}},[
t
.
_v
(
"
\n
"
+
t
.
_s
(
e
.
courses_num
)
+
"
\n
"
)])],
1
)})],
2
),
t
.
_v
(
" "
),
a
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
t
.
dialog
.
list
}},[
a
(
"el-table-column"
,{
attrs
:{
prop
:
"nickname"
,
label
:
"昵称"
}}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"user_id"
,
label
:
"老系统用户ID"
}}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"title"
,
label
:
"课程名称"
}}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"instructor"
,
label
:
"开课日期"
}}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"source_title"
,
label
:
"来源名称"
}}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"created_at"
,
label
:
"注册时间"
}})],
1
)],
1
)])],
1
)},
staticRenderFns
:[]};
var
r
=
a
(
"VU/8"
)(
s
,
i
,
!
1
,
function
(
t
){
a
(
"D6So"
)},
"data-v-1af5a426"
,
null
);
e
.
default
=
r
.
exports
}});
\ No newline at end of file
dist/static/js/50.5d84fbb0517bdc2b59a1.js
0 → 100644
View file @
a197467c
webpackJsonp
([
50
],{
"0HId"
:
function
(
e
,
t
,
s
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
r
=
s
(
"CCn6"
),
n
=
s
(
"NC6I"
),
o
=
s
.
n
(
n
),
i
=
{
data
:
function
(){
return
{
login
:{
username
:
""
,
password
:
""
},
loginRules
:{
username
:[{
required
:
!
0
,
message
:
"请输入您的用户名"
,
trigger
:
"blur"
}],
password
:[{
required
:
!
0
,
message
:
"请输入您的密码"
,
trigger
:
"blur"
}]}}},
mounted
:
function
(){
var
e
=
this
;
document
.
onkeydown
=
function
(
t
){
var
s
=
t
||
window
.
event
;
if
(
13
===
(
s
.
keyCode
||
s
.
which
||
s
.
charCode
)
&&
"login"
===
e
.
$route
.
name
)
return
e
.
submitForm
(),
!
1
;
return
!
0
}},
methods
:{
submitForm
:
function
(){
var
e
=
this
;
this
.
$refs
.
loginForm
.
validate
(
function
(
t
){
if
(
t
){
var
s
=
{
username
:
e
.
login
.
username
,
password
:
o
()(
e
.
login
.
password
)};
Object
(
r
.
_91
)(
s
).
then
(
function
(
t
){
if
(
t
.
teacher_info
){
var
s
=
JSON
.
stringify
(
t
.
teacher_info
);
localStorage
.
setItem
(
"phoneNum"
,
s
)}
else
localStorage
.
setItem
(
"phoneNum"
,
""
);
e
.
$store
.
dispatch
(
"setToken"
,
t
.
token
),
e
.
$store
.
dispatch
(
"setUserName"
,
t
.
desc
),
e
.
$store
.
dispatch
(
"setPermission"
,
JSON
.
parse
(
t
.
roles
.
menu_ids
)),
window
.
location
.
href
=
"/"
})}})}}},
a
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
s
=
e
.
_self
.
_c
||
t
;
return
s
(
"div"
,{
staticClass
:
"login"
},[
s
(
"div"
,{
staticClass
:
"wrap-main"
},[
s
(
"h1"
,{
staticClass
:
"title"
},[
e
.
_v
(
"唱唱启蒙——后台管理系统"
)]),
e
.
_v
(
" "
),
s
(
"el-form"
,{
ref
:
"loginForm"
,
attrs
:{
model
:
e
.
login
,
rules
:
e
.
loginRules
}},[
s
(
"el-form-item"
,{
attrs
:{
prop
:
"username"
}},[
s
(
"el-input"
,{
attrs
:{
placeholder
:
"用户名"
},
model
:{
value
:
e
.
login
.
username
,
callback
:
function
(
t
){
e
.
$set
(
e
.
login
,
"username"
,
t
)},
expression
:
"login.username"
}})],
1
),
e
.
_v
(
" "
),
s
(
"el-form-item"
,{
attrs
:{
prop
:
"password"
}},[
s
(
"el-input"
,{
attrs
:{
type
:
"password"
,
placeholder
:
"密码"
},
model
:{
value
:
e
.
login
.
password
,
callback
:
function
(
t
){
e
.
$set
(
e
.
login
,
"password"
,
t
)},
expression
:
"login.password"
}})],
1
),
e
.
_v
(
" "
),
s
(
"el-form-item"
,[
s
(
"el-button"
,{
staticClass
:
"btn"
,
attrs
:{
size
:
"medium"
,
type
:
"primary"
},
on
:{
click
:
e
.
submitForm
}},[
e
.
_v
(
"登陆"
)])],
1
)],
1
)],
1
)])},
staticRenderFns
:[]};
var
l
=
s
(
"VU/8"
)(
i
,
a
,
!
1
,
function
(
e
){
s
(
"1QlP"
)},
"data-v-1a4cff7e"
,
null
);
t
.
default
=
l
.
exports
},
"1QlP"
:
function
(
e
,
t
){}});
\ No newline at end of file
dist/static/js/app.9bcaf02ea5a7c1c58995.js
0 → 100644
View file @
a197467c
webpackJsonp
([
56
],{
IcnI
:
function
(
e
,
n
,
t
){
"use strict"
;
var
o
=
t
(
"NYxO"
),
a
=
t
(
"lRwf"
),
r
=
t
.
n
(
a
),
i
=
t
(
"zSLJ"
),
u
=
{
setToken
:
function
(
e
,
n
){
e
.
token
=
n
,
i
.
a
.
set
(
"cc_token"
,
n
)},
setUserName
:
function
(
e
,
n
){
e
.
userName
=
n
,
i
.
a
.
set
(
"cc_user_name"
,
n
)},
setPermission
:
function
(
e
,
n
){
e
.
progressList
=
n
,
localStorage
.
setItem
(
"permission"
,
JSON
.
stringify
(
n
))},
setMenu
:
function
(
e
,
n
){
e
.
menuList
=
n
},
readonly
:
function
(
e
,
n
){
e
.
readonly
=
n
},
deletePermission
:
function
(
e
,
n
){
e
.
deletePermission
=
n
},
distribution
:
function
(
e
,
n
){
e
.
distribution
=
n
},
mainCanShow
:
function
(
e
){
e
.
mainLoad
=!
1
},
mainUnShow
:
function
(
e
){
e
.
mainLoad
=!
0
},
changeParentRouter
:
function
(
e
,
n
){
e
.
menuList
.
find
(
function
(
e
){
return
e
.
name
===
n
.
name
}).
routerName
=
n
.
to
.
name
},
progress
:
function
(
e
,
n
){
switch
(
n
.
type
){
case
"new"
:
e
.
progressList
.
push
({
num
:
0
,
id
:
n
.
id
});
break
;
case
"change"
:
e
.
progressList
.
find
(
function
(
e
){
return
e
.
id
===
n
.
id
}).
num
=
n
.
num
;
break
;
case
"delete"
:
e
.
progressList
.
find
(
function
(
e
){
return
e
.
id
===
n
.
id
})}}};
r
.
a
.
use
(
o
.
a
);
n
.
a
=
new
o
.
a
.
Store
({
state
:{
show
:
!
1
,
userName
:
""
,
token
:
""
,
export
:
!
1
,
orderRefund
:
!
1
,
permission
:
!
1
,
readonly
:
!
0
,
deletePermission
:
!
1
,
distribution
:
!
1
,
mainLoad
:
!
0
,
menuList
:[],
menuType
:
!
1
,
nowTab
:
"first"
,
progressList
:[],
openedTab
:[{
value
:
"首页"
,
routerName
:
"first"
,
name
:
"first"
,
delNo
:
!
0
,
path
:
"/index"
}]},
mutations
:
u
,
actions
:{
setToken
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"setToken"
,
n
)},
setUserName
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"setUserName"
,
n
)},
setProgress
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"progress"
,
n
)},
setPermission
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"setPermission"
,
n
)},
setMenu
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"setMenu"
,
n
)},
readonly
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"readonly"
,
n
)},
deletePermission
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"deletePermission"
,
n
)},
distribution
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"distribution"
,
n
)}}})},
NHnr
:
function
(
e
,
n
,
t
){
"use strict"
;
Object
.
defineProperty
(
n
,
"__esModule"
,{
value
:
!
0
});
var
o
=
[{
name
:
""
,
value
:
"教研管理"
,
icon
:
"icon-material"
,
list
:[{
value
:
"教材列表"
,
routerName
:
"resources"
,
path
:
"/resources"
,
cover
:
"1-1"
,
router
:{
path
:
"/resources"
,
name
:
"resources"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
1
)]).
then
(
function
(){
var
n
=
[
t
(
"z5EG"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]},{
name
:
""
,
value
:
"商品课程"
,
icon
:
"icon-shangpin1"
,
list
:[{
value
:
"课程列表"
,
routerName
:
"lesson"
,
path
:
"/lesson"
,
cover
:
"2-1"
,
router
:{
path
:
"/lesson"
,
name
:
"lesson"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
9
)]).
then
(
function
(){
var
n
=
[
t
(
"AbSL"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"商品列表"
,
routerName
:
"shop"
,
path
:
"/shop"
,
cover
:
"4-1"
,
router
:{
path
:
"/shop"
,
name
:
"shop"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
14
)]).
then
(
function
(){
var
n
=
[
t
(
"1djJ"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]},{
name
:
""
,
value
:
"期数管理"
,
icon
:
"icon-kecheng"
,
list
:[{
value
:
"期数列表"
,
routerName
:
"periods"
,
path
:
"/periods"
,
cover
:
"2-2"
,
router
:{
path
:
"/periods"
,
name
:
"periods"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
25
)]).
then
(
function
(){
var
n
=
[
t
(
"ayGs"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"班级列表"
,
routerName
:
"class"
,
path
:
"/class"
,
cover
:
"2-3"
,
router
:{
path
:
"/class"
,
name
:
"class"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
12
)]).
then
(
function
(){
var
n
=
[
t
(
"OX9A"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"市场招生统计"
,
routerName
:
"marketStatistics"
,
path
:
"/marketStatistics"
,
cover
:
"2-5"
,
router
:{
path
:
"/marketStatistics"
,
name
:
"marketStatistics"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
51
)]).
then
(
function
(){
var
n
=
[
t
(
"SKyX"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"不上课日期"
,
routerName
:
"noLesson"
,
path
:
"/noLesson"
,
cover
:
"2-4"
,
router
:{
path
:
"/noLesson"
,
name
:
"noLesson"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
32
)]).
then
(
function
(){
var
n
=
[
t
(
"sg/1"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]},{
name
:
""
,
value
:
"销售管理"
,
icon
:
"icon-laoshi"
,
list
:[{
value
:
"教师列表"
,
routerName
:
"teacher"
,
path
:
"/teacher"
,
cover
:
"3-1"
,
router
:{
path
:
"/teacher"
,
name
:
"teacher"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
2
)]).
then
(
function
(){
var
n
=
[
t
(
"Y0Vi"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"月课订单列表"
,
routerName
:
"monthOrder"
,
path
:
"/monthOrder"
,
cover
:
"5-10"
,
router
:{
path
:
"/monthOrder"
,
name
:
"monthOrder"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
4
)]).
then
(
function
(){
var
n
=
[
t
(
"xdzM"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"月课订单统计"
,
routerName
:
"monthOrderCount"
,
path
:
"/monthOrderCount"
,
cover
:
"5-12"
,
router
:{
path
:
"/monthOrderCount"
,
name
:
"monthOrderCount"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
40
)]).
then
(
function
(){
var
n
=
[
t
(
"v/LD"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"退款列表"
,
routerName
:
"refund"
,
path
:
"/refund"
,
cover
:
"5-2"
,
router
:{
path
:
"/refund"
,
name
:
"refund"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
36
)]).
then
(
function
(){
var
n
=
[
t
(
"89rD"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"业绩排行"
,
routerName
:
"achievement"
,
path
:
"/achievement"
,
cover
:
"5-7"
,
router
:{
path
:
"/achievement"
,
name
:
"achievement"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
22
)]).
then
(
function
(){
var
n
=
[
t
(
"Fmgy"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"话术列表"
,
routerName
:
"talkingSkill"
,
path
:
"/talkingSkill"
,
cover
:
"11-6"
,
router
:{
path
:
"/talkingSkill"
,
name
:
"talkingSkill"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
18
)]).
then
(
function
(){
var
n
=
[
t
(
"CUAv"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]},{
name
:
""
,
value
:
"用户管理"
,
icon
:
"icon-laoshi"
,
list
:[{
value
:
"用户列表"
,
routerName
:
"user"
,
path
:
"/user"
,
cover
:
"3-2"
,
router
:{
path
:
"/user"
,
name
:
"user"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
6
)]).
then
(
function
(){
var
n
=
[
t
(
"jFLA"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"老系统用户列表"
,
routerName
:
"oldUser"
,
path
:
"/oldUser"
,
cover
:
"3-3"
,
router
:{
path
:
"/oldUser"
,
name
:
"oldUser"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
35
)]).
then
(
function
(){
var
n
=
[
t
(
"K2yr"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"用户积分列表"
,
routerName
:
"integral"
,
path
:
"/integral"
,
cover
:
"3-4"
,
router
:{
path
:
"/integral"
,
name
:
"integral"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
13
)]).
then
(
function
(){
var
n
=
[
t
(
"NDyu"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]},{
name
:
""
,
value
:
"订单管理"
,
icon
:
"icon-dingdan"
,
list
:[{
value
:
"日课订单列表"
,
routerName
:
"order"
,
path
:
"/order"
,
cover
:
"5-1"
,
router
:{
path
:
"/order"
,
name
:
"order"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
7
)]).
then
(
function
(){
var
n
=
[
t
(
"2qmY"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"提现列表"
,
routerName
:
"putForward"
,
path
:
"/putForward"
,
cover
:
"5-3"
,
router
:{
path
:
"/putForward"
,
name
:
"putForward"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
37
)]).
then
(
function
(){
var
n
=
[
t
(
"F5pf"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"发货管理"
,
routerName
:
"consignment"
,
path
:
"/consignment"
,
cover
:
"5-4"
,
router
:{
path
:
"/consignment"
,
name
:
"consignment"
,
component
:
function
(
e
){
return
t
.
e
(
47
).
then
(
function
(){
var
n
=
[
t
(
"usUK"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"订单统计"
,
routerName
:
"orderCount"
,
path
:
"/orderCount"
,
cover
:
"5-5"
,
router
:{
path
:
"/orderCount"
,
name
:
"orderCount"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
53
)]).
then
(
function
(){
var
n
=
[
t
(
"s7i+"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"日课订单统计"
,
routerName
:
"dayOrderCount"
,
path
:
"/dayOrderCount"
,
cover
:
"5-11"
,
router
:{
path
:
"/dayOrderCount"
,
name
:
"dayOrderCount"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
41
)]).
then
(
function
(){
var
n
=
[
t
(
"mjLz"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"优惠券列表"
,
routerName
:
"coupon"
,
path
:
"/coupon"
,
cover
:
"5-6"
,
router
:{
path
:
"/coupon"
,
name
:
"coupon"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
31
)]).
then
(
function
(){
var
n
=
[
t
(
"WvRy"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"扫码入课列表"
,
routerName
:
"notBuyClass"
,
path
:
"/notBuyClass"
,
cover
:
"5-8"
,
router
:{
path
:
"/notBuyClass"
,
name
:
"notBuyClass"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
23
)]).
then
(
function
(){
var
n
=
[
t
(
"E6Zo"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"外部订单列表"
,
routerName
:
"yunji"
,
path
:
"/yunji"
,
cover
:
"5-9"
,
router
:{
path
:
"/yunji"
,
name
:
"yunji"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
15
)]).
then
(
function
(){
var
n
=
[
t
(
"69L+"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"兑换码管理"
,
routerName
:
"exchange"
,
path
:
"/exchange"
,
cover
:
"5-13"
,
router
:{
path
:
"/exchange"
,
name
:
"exchange"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
11
)]).
then
(
function
(){
var
n
=
[
t
(
"CvLZ"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]},{
name
:
""
,
value
:
"实物管理"
,
icon
:
"icon-shu"
,
list
:[{
value
:
"单品列表"
,
routerName
:
"single"
,
path
:
"/single"
,
cover
:
"6-1"
,
router
:{
path
:
"/single"
,
name
:
"single"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
21
)]).
then
(
function
(){
var
n
=
[
t
(
"B31M"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"盒子列表"
,
routerName
:
"box"
,
path
:
"/box"
,
cover
:
"6-2"
,
router
:{
path
:
"/box"
,
name
:
"box"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
17
)]).
then
(
function
(){
var
n
=
[
t
(
"+vCD"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]},{
name
:
""
,
value
:
"公众号"
,
icon
:
"icon-ai-weixin"
,
list
:[{
value
:
"自动回复"
,
routerName
:
"focusReply"
,
path
:
"/focusReply"
,
cover
:
"7-1"
,
router
:{
path
:
"/focusReply"
,
name
:
"focusReply"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
19
)]).
then
(
function
(){
var
n
=
[
t
(
"CK6D"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"关键词回复"
,
routerName
:
"autoReply"
,
path
:
"/autoReply"
,
cover
:
"7-2"
,
router
:{
path
:
"/autoReply"
,
name
:
"autoReply"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
20
)]).
then
(
function
(){
var
n
=
[
t
(
"65NY"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"公众号菜单"
,
routerName
:
"weChat"
,
path
:
"/weChat"
,
cover
:
"7-3"
,
router
:{
path
:
"/weChat"
,
name
:
"weChat"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
26
)]).
then
(
function
(){
var
n
=
[
t
(
"q5av"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"素材管理"
,
routerName
:
"weChatResource"
,
path
:
"/weChatResource"
,
cover
:
"7-4"
,
router
:{
path
:
"/weChatResource"
,
name
:
"weChatResource"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
27
)]).
then
(
function
(){
var
n
=
[
t
(
"Xhqp"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"二维码管理"
,
routerName
:
"qrcode"
,
path
:
"/qrcode"
,
cover
:
"7-6"
,
router
:{
path
:
"/qrcode"
,
name
:
"qrcode"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
16
)]).
then
(
function
(){
var
n
=
[
t
(
"lNiQ"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"群发助手"
,
routerName
:
"groupSend"
,
path
:
"/groupSend"
,
cover
:
"7-7"
,
router
:{
path
:
"/groupSend"
,
name
:
"groupSend"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
10
)]).
then
(
function
(){
var
n
=
[
t
(
"oerw"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"关注取关统计"
,
routerName
:
"watchCount"
,
path
:
"/watchCount"
,
cover
:
"7-8"
,
router
:{
path
:
"/watchCount"
,
name
:
"watchCount"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
49
)]).
then
(
function
(){
var
n
=
[
t
(
"Dq6T"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"微信统计"
,
routerName
:
"weChatStatistics"
,
path
:
"/weChatStatistics"
,
cover
:
"7-10"
,
router
:{
path
:
"/weChatStatistics"
,
name
:
"weChatStatistics"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
52
)]).
then
(
function
(){
var
n
=
[
t
(
"5t3x"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"测试"
,
routerName
:
"test"
,
path
:
"/test"
,
cover
:
"7-11"
,
router
:{
path
:
"/test"
,
name
:
"test"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
29
)]).
then
(
function
(){
var
n
=
[
t
(
"9ZSL"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]},{
name
:
""
,
value
:
"系统管理"
,
icon
:
"icon-xitongquanxian"
,
list
:[{
value
:
"首页管理"
,
routerName
:
"banner"
,
path
:
"/banner"
,
cover
:
"7-5"
,
router
:{
path
:
"/banner"
,
name
:
"banner"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
33
)]).
then
(
function
(){
var
n
=
[
t
(
"CGL6"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"外部投放管理"
,
routerName
:
"externalLaunch"
,
path
:
"/externalLaunch"
,
cover
:
"7-9"
,
router
:{
path
:
"/externalLaunch"
,
name
:
"externalLaunch"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
45
)]).
then
(
function
(){
var
n
=
[
t
(
"NrkQ"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"来源码管理"
,
routerName
:
"sourceManage"
,
path
:
"/sourceManage"
,
cover
:
"10-1"
,
router
:{
path
:
"/sourceManage"
,
name
:
"sourceManage"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
34
)]).
then
(
function
(){
var
n
=
[
t
(
"/ubI"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"短信发送记录"
,
routerName
:
"smsRecord"
,
path
:
"/smsRecord"
,
cover
:
"10-2"
,
router
:{
path
:
"/smsRecord"
,
name
:
"smsRecord"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
28
)]).
then
(
function
(){
var
n
=
[
t
(
"qjS+"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"系统配置"
,
routerName
:
"config"
,
path
:
"/config"
,
cover
:
"10-3"
,
router
:{
path
:
"/config"
,
name
:
"config"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
42
)]).
then
(
function
(){
var
n
=
[
t
(
"TPCG"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]},{
name
:
""
,
value
:
"后台管理"
,
icon
:
"icon-shezhi"
,
list
:[{
value
:
"账号管理"
,
routerName
:
"admin"
,
path
:
"/admin"
,
cover
:
"8-1"
,
router
:{
path
:
"/admin"
,
name
:
"admin"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
39
)]).
then
(
function
(){
var
n
=
[
t
(
"+jTk"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"角色管理"
,
routerName
:
"role"
,
path
:
"/role"
,
cover
:
"8-2"
,
router
:{
path
:
"/role"
,
name
:
"role"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
44
)]).
then
(
function
(){
var
n
=
[
t
(
"Vt1u"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"菜单管理"
,
routerName
:
"menu"
,
path
:
"/menu"
,
cover
:
"8-3"
,
router
:{
path
:
"/menu"
,
name
:
"menu"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
54
)]).
then
(
function
(){
var
n
=
[
t
(
"aTXs"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"系统配置"
,
routerName
:
"sysConfig"
,
path
:
"/sysConfig"
,
cover
:
"8-4"
,
router
:{
path
:
"/sysConfig"
,
name
:
"sysConfig"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
30
)]).
then
(
function
(){
var
n
=
[
t
(
"gaNG"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"操作日志"
,
routerName
:
"adminLog"
,
path
:
"/adminLog"
,
cover
:
"8-5"
,
router
:{
path
:
"/adminLog"
,
name
:
"adminLog"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
38
)]).
then
(
function
(){
var
n
=
[
t
(
"WZgi"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]}],
a
=
{
name
:
"App"
,
data
:
function
(){
return
{}},
mounted
:
function
(){
var
e
=
this
;
if
(
window
.
location
.
href
.
indexOf
(
"login"
)
<
0
){
var
n
=
this
.
$store
.
state
.
progressList
;
console
.
log
(
this
.
$store
.
state
);
var
a
=
[];
this
.
$router
.
options
.
routes
[
0
].
children
=
[];
var
r
=
{
path
:
"/userDetail/:id"
,
name
:
"userDetail"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
24
)]).
then
(
function
(){
var
n
=
[
t
(
"9PRC"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}},
i
=
{
path
:
"/teacher/:id"
,
name
:
"teacherDetail"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
5
)]).
then
(
function
(){
var
n
=
[
t
(
"hFUZ"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}};
o
.
forEach
(
function
(
t
){
var
o
=!
1
,
u
=
[];
t
.
list
.
forEach
(
function
(
t
){
var
a
=
n
.
find
(
function
(
e
){
return
e
.
cover
===
t
.
cover
});
a
&&
(
t
.
router
.
meta
=
{},
t
.
router
.
meta
.
readonly
=!!
a
.
readonly
,
t
.
router
.
meta
.
delete
=!!
a
.
delete
,
t
.
router
.
meta
.
export
=!!
a
.
export
,
t
.
router
.
meta
.
refund
=!!
a
.
refund
,
t
.
router
.
meta
.
distribution
=!!
a
.
distribution
,
u
.
push
(
t
),
"3-1"
===
a
.
cover
&&
(
i
.
meta
=
{},
i
.
meta
.
readonly
=
a
.
readonly
,
i
.
meta
.
delete
=!!
a
.
delete
,
e
.
$router
.
options
.
routes
[
0
].
children
.
push
(
i
)),
"3-2"
===
a
.
cover
&&
(
r
.
meta
=
{},
r
.
meta
.
readonly
=
a
.
readonly
,
r
.
meta
.
delete
=!!
a
.
delete
,
e
.
$router
.
options
.
routes
[
0
].
children
.
push
(
r
)),
e
.
$router
.
options
.
routes
[
0
].
children
.
push
(
t
.
router
),
o
=!
0
)}),
o
&&
(
t
.
list
=
u
,
a
.
push
(
t
))}),
this
.
$router
.
addRoutes
([
this
.
$router
.
options
.
routes
[
0
]]),
this
.
$store
.
dispatch
(
"setMenu"
,
a
)}}},
r
=
{
render
:
function
(){
var
e
=
this
.
$createElement
,
n
=
this
.
_self
.
_c
||
e
;
return
n
(
"div"
,{
attrs
:{
id
:
"app"
}},[
n
(
"router-view"
)],
1
)},
staticRenderFns
:[]};
var
i
=
t
(
"VU/8"
)(
a
,
r
,
!
1
,
function
(
e
){
t
(
"R3Es"
)},
null
,
null
).
exports
,
u
=
t
(
"lRwf"
),
c
=
t
.
n
(
u
),
l
=
t
(
"YaEn"
),
s
=
t
(
"IcnI"
),
h
=
t
(
"zL8q"
),
p
=
t
.
n
(
h
);
c
.
a
.
use
(
p
.
a
),
c
.
a
.
config
.
productionTip
=!
1
,
new
c
.
a
({
el
:
"#app"
,
store
:
s
.
a
,
router
:
l
.
a
,
components
:{
App
:
i
},
template
:
"<App/>"
})},
OMN4
:
function
(
e
,
n
){
e
.
exports
=
axios
},
R3Es
:
function
(
e
,
n
){},
YaEn
:
function
(
e
,
n
,
t
){
"use strict"
;
var
o
=
t
(
"IcnI"
),
a
=
t
(
"/ocq"
),
r
=
t
(
"zSLJ"
),
i
=
new
a
.
a
({
routes
:[{
path
:
"/"
,
name
:
"index"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
8
)]).
then
(
function
(){
var
n
=
[
t
(
"jHcp"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)},
redirect
:{
name
:
"first"
},
children
:[{
path
:
""
,
name
:
"first"
,
component
:
function
(
e
){
return
t
.
e
(
43
).
then
(
function
(){
var
n
=
[
t
(
"sJm1"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}]},{
path
:
"/login"
,
name
:
"login"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
50
)]).
then
(
function
(){
var
n
=
[
t
(
"0HId"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)},
meta
:{
skip_auth
:
!
0
}},{
path
:
"/outManager"
,
name
:
"outManager"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
48
)]).
then
(
function
(){
var
n
=
[
t
(
"hLMI"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)},
meta
:{
skip_auth
:
!
0
}},{
path
:
"/upload"
,
name
:
"upload"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
46
)]).
then
(
function
(){
var
n
=
[
t
(
"iPJD"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)},
meta
:{
skip_auth
:
!
0
}},{
path
:
"/newLesson"
,
name
:
"newLesson"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
3
)]).
then
(
function
(){
var
n
=
[
t
(
"4t0V"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)},
meta
:{
skip_auth
:
!
0
}}]});
i
.
beforeEach
(
function
(
e
,
n
,
t
){
if
(
o
.
a
.
commit
(
"mainCanShow"
),
r
.
a
.
get
(
"cc_token"
)
&&
(
o
.
a
.
dispatch
(
"setToken"
,
r
.
a
.
get
(
"cc_token"
)),
o
.
a
.
dispatch
(
"setPermission"
,
JSON
.
parse
(
localStorage
.
getItem
(
"permission"
))),
null
!==
r
.
a
.
get
(
"cc_user_name"
)
&&
o
.
a
.
dispatch
(
"setUserName"
,
r
.
a
.
get
(
"cc_user_name"
))),
o
.
a
.
state
.
nowTab
=
e
.
name
,
e
.
matched
.
length
>
1
&&
"first"
!==
e
.
name
){
for
(
var
a
=
void
0
,
i
=
0
;
i
<
o
.
a
.
state
.
menuList
.
length
;
i
++
)
for
(
var
u
=
o
.
a
.
state
.
menuList
[
i
],
c
=
0
;
c
<
u
.
list
.
length
;
c
++
){
var
l
=
u
.
list
[
c
];
l
.
path
===
e
.
path
&&
(
a
=
l
)}
o
.
a
.
state
.
openedTab
.
indexOf
(
a
)
<
0
&&
o
.
a
.
state
.
openedTab
.
push
(
a
)}
if
(
e
.
meta
.
readonly
?
o
.
a
.
dispatch
(
"readonly"
,
!
0
):
o
.
a
.
dispatch
(
"readonly"
,
!
1
),
o
.
a
.
state
.
orderRefund
=
e
.
meta
.
refund
,
o
.
a
.
state
.
export
=
e
.
meta
.
export
,
o
.
a
.
state
.
distribution
=
e
.
meta
.
distribution
,
"userDetail"
===
e
.
name
){
var
s
=
JSON
.
parse
(
localStorage
.
getItem
(
"permission"
)).
find
(
function
(
e
){
return
"3-2"
===
e
.
cover
}).
readonly
;
o
.
a
.
dispatch
(
"readonly"
,
s
)}
e
.
meta
.
delete
?
o
.
a
.
dispatch
(
"deletePermission"
,
!
0
):
o
.
a
.
dispatch
(
"deletePermission"
,
!
1
),
e
.
matched
.
some
(
function
(
e
){
return
!
0
!==
e
.
meta
.
skip_auth
})
&&!
o
.
a
.
state
.
token
?
t
({
path
:
"/login"
}):
t
()}),
i
.
onError
(
function
(
e
){
var
n
=
e
.
message
.
match
(
/Loading chunk
(\d)
+ failed/g
),
t
=
i
.
history
.
pending
.
fullPath
;
n
&&
i
.
replace
(
t
)}),
n
.
a
=
i
},
lRwf
:
function
(
e
,
n
){
e
.
exports
=
Vue
},
zSLJ
:
function
(
e
,
n
,
t
){
"use strict"
;
n
.
a
=
{
set
:
function
(
e
,
n
,
t
){
var
o
=
new
Date
;
o
.
setTime
(
o
.
getTime
()
+
864
e5
*
t
),
window
.
document
.
cookie
=
e
+
"="
+
n
+
";path=/;expires="
+
o
.
toGMTString
()},
get
:
function
(
e
){
var
n
=
window
.
document
.
cookie
.
match
(
"(^|;) ?"
+
e
+
"=([^;]*)(;|$)"
);
return
n
?
n
[
2
]:
null
},
delete
:
function
(
e
){
this
.
set
(
e
,
""
,
-
1
)}}}},[
"NHnr"
]);
\ No newline at end of file
dist/static/js/manifest.48016f9af7601e4a9d42.js
0 → 100644
View file @
a197467c
!
function
(
e
){
var
f
=
window
.
webpackJsonp
;
window
.
webpackJsonp
=
function
(
a
,
b
,
n
){
for
(
var
r
,
t
,
o
,
i
=
0
,
u
=
[];
i
<
a
.
length
;
i
++
)
t
=
a
[
i
],
c
[
t
]
&&
u
.
push
(
c
[
t
][
0
]),
c
[
t
]
=
0
;
for
(
r
in
b
)
Object
.
prototype
.
hasOwnProperty
.
call
(
b
,
r
)
&&
(
e
[
r
]
=
b
[
r
]);
for
(
f
&&
f
(
a
,
b
,
n
);
u
.
length
;)
u
.
shift
()();
if
(
n
)
for
(
i
=
0
;
i
<
n
.
length
;
i
++
)
o
=
d
(
d
.
s
=
n
[
i
]);
return
o
};
var
a
=
{},
c
=
{
57
:
0
};
function
d
(
f
){
if
(
a
[
f
])
return
a
[
f
].
exports
;
var
c
=
a
[
f
]
=
{
i
:
f
,
l
:
!
1
,
exports
:{}};
return
e
[
f
].
call
(
c
.
exports
,
c
,
c
.
exports
,
d
),
c
.
l
=!
0
,
c
.
exports
}
d
.
e
=
function
(
e
){
var
f
=
c
[
e
];
if
(
0
===
f
)
return
new
Promise
(
function
(
e
){
e
()});
if
(
f
)
return
f
[
2
];
var
a
=
new
Promise
(
function
(
a
,
d
){
f
=
c
[
e
]
=
[
a
,
d
]});
f
[
2
]
=
a
;
var
b
=
document
.
getElementsByTagName
(
"head"
)[
0
],
n
=
document
.
createElement
(
"script"
);
n
.
type
=
"text/javascript"
,
n
.
charset
=
"utf-8"
,
n
.
async
=!
0
,
n
.
timeout
=
12
e4
,
d
.
nc
&&
n
.
setAttribute
(
"nonce"
,
d
.
nc
),
n
.
src
=
d
.
p
+
"static/js/"
+
e
+
"."
+
{
0
:
"d3b0ce69ef926bfe013b"
,
1
:
"edee43e791db370f0870"
,
2
:
"fe6d9d1ea371ddef3d3b"
,
3
:
"45a987d821dd7c3317ff"
,
4
:
"1eebe422cd896b17baad"
,
5
:
"c1a5c686ab2a7ac61496"
,
6
:
"af07574a1f17af3f0f6c"
,
7
:
"589649e505453fbf0005"
,
8
:
"6fc7611ef7b2f7afb6c5"
,
9
:
"348f1a87dba6ff1495b5"
,
10
:
"d79b5c55d6ac2b91eacb"
,
11
:
"c395865faaf22856d565"
,
12
:
"e9215a9810bf8d826424"
,
13
:
"e4cc171c782e56f762ba"
,
14
:
"998373f61bdb6a0aef67"
,
15
:
"a6630ff956247ba0be41"
,
16
:
"0187ee2fbf5943f5f8bb"
,
17
:
"1061babca6ff40dc0647"
,
18
:
"e30ce4f41f0da52bf81d"
,
19
:
"2c1f53ead9e18b834d36"
,
20
:
"8008c0d6d3c668b98dc4"
,
21
:
"c4a4c47d282e7a33fe2d"
,
22
:
"201a0e6341e1f67bc53e"
,
23
:
"ed295c175f8af5889bbc"
,
24
:
"186d3c1af25ffb90f592"
,
25
:
"fcf55d0d0e7eeb11678c"
,
26
:
"20cae982bd22674037a2"
,
27
:
"5737ba5dfa7978cf3e0f"
,
28
:
"67edb1765dd949879e0d"
,
29
:
"68d0bcea36d70d9f4bab"
,
30
:
"901acfc8a226ddc4444f"
,
31
:
"30ecd6eac3915f69ca64"
,
32
:
"2d95629a03fa117f0da0"
,
33
:
"d983d5bb51e8b5193a7a"
,
34
:
"1402486f8f87478e77e9"
,
35
:
"fcd03a0aadf78700fd7f"
,
36
:
"74d2354ce4fd7147da69"
,
37
:
"b1603106db2077d8b924"
,
38
:
"2753ac6611f3485bed7f"
,
39
:
"05e54707b5ba4f2e4e3d"
,
40
:
"f722ddb49d6b7cf1b123"
,
41
:
"260a3c9254959658577f"
,
42
:
"6a4707508ecbbb373f7a"
,
43
:
"fcff0796aec4a518cb9b"
,
44
:
"77e64c4600b75267140e"
,
45
:
"561408f8a7f561020c0e"
,
46
:
"6210e90976e0ae8ab368"
,
47
:
"9cf806e0d226649b8d50"
,
48
:
"3c66b20d6f3a22ce5bf5"
,
49
:
"a3af5513aaad12295f55"
,
50
:
"5d84fbb0517bdc2b59a1"
,
51
:
"62ba9dd05da1a8b8085d"
,
52
:
"ec512101c76e6d44e854"
,
53
:
"af7eb7c6749aa0d2b6f9"
,
54
:
"937f61b47c8b3ce85e34"
}[
e
]
+
".js"
;
var
r
=
setTimeout
(
t
,
12
e4
);
function
t
(){
n
.
onerror
=
n
.
onload
=
null
,
clearTimeout
(
r
);
var
f
=
c
[
e
];
0
!==
f
&&
(
f
&&
f
[
1
](
new
Error
(
"Loading chunk "
+
e
+
" failed."
)),
c
[
e
]
=
void
0
)}
return
n
.
onerror
=
n
.
onload
=
t
,
b
.
appendChild
(
n
),
a
},
d
.
m
=
e
,
d
.
c
=
a
,
d
.
d
=
function
(
e
,
f
,
a
){
d
.
o
(
e
,
f
)
||
Object
.
defineProperty
(
e
,
f
,{
configurable
:
!
1
,
enumerable
:
!
0
,
get
:
a
})},
d
.
n
=
function
(
e
){
var
f
=
e
&&
e
.
__esModule
?
function
(){
return
e
.
default
}:
function
(){
return
e
};
return
d
.
d
(
f
,
"a"
,
f
),
f
},
d
.
o
=
function
(
e
,
f
){
return
Object
.
prototype
.
hasOwnProperty
.
call
(
e
,
f
)},
d
.
p
=
"/"
,
d
.
oe
=
function
(
e
){
throw
console
.
error
(
e
),
e
}}([]);
\ No newline at end of file
src/components/login/index.vue
View file @
a197467c
...
...
@@ -60,6 +60,7 @@
username
:
this
.
login
.
username
,
password
:
md5
(
this
.
login
.
password
)
};
// debugger
loginApi
(
json
).
then
(
res
=>
{
if
(
res
.
teacher_info
){
let
data
=
JSON
.
stringify
(
res
.
teacher_info
)
...
...
@@ -70,13 +71,13 @@
this
.
$store
.
dispatch
(
'setToken'
,
res
.
token
);
this
.
$store
.
dispatch
(
'setUserName'
,
res
.
desc
);
this
.
$store
.
dispatch
(
'setPermission'
,
JSON
.
parse
(
res
.
roles
.
menu_ids
));
// debugger
window
.
location
.
href
=
'/'
;
})
}
})
}
}
}
</
script
>
...
...
src/components/system/banner.vue
View file @
a197467c
...
...
@@ -7,6 +7,7 @@
<el-tab-pane
label=
"磨耳朵"
name=
"2"
></el-tab-pane>
<el-tab-pane
label=
"启蒙小课堂"
name=
"3"
></el-tab-pane>
<el-tab-pane
label=
"明星学员"
name=
"4"
></el-tab-pane>
<el-tab-pane
label=
"精彩直播课"
name=
"5"
></el-tab-pane>
</el-tabs>
<el-tabs
v-model=
"searchFrom.status"
type=
"card"
style=
"background: white;padding-top: 10px"
@
tab-click=
"getList"
>
<el-tab-pane
label=
"全部"
name=
"-1"
></el-tab-pane>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment