Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
D
device-new-platform
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
device-new-platform
Commits
e6b0bf0e
Commit
e6b0bf0e
authored
Aug 02, 2023
by
“yiyousong”
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
pref:修改title和logo获取
parent
74025df0
Changes
10
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
423 additions
and
333 deletions
+423
-333
device-manager-ui/admin/.env
device-manager-ui/admin/.env
+2
-0
device-manager-ui/admin/.env.development
device-manager-ui/admin/.env.development
+2
-0
device-manager-ui/admin/.env.production
device-manager-ui/admin/.env.production
+2
-0
device-manager-ui/admin/public/index.html
device-manager-ui/admin/public/index.html
+1
-1
device-manager-ui/admin/src/App.vue
device-manager-ui/admin/src/App.vue
+8
-1
device-manager-ui/admin/src/components/Header.vue
device-manager-ui/admin/src/components/Header.vue
+38
-26
device-manager-ui/admin/src/components/HeaderLeft.vue
device-manager-ui/admin/src/components/HeaderLeft.vue
+246
-233
device-manager-ui/admin/src/store.js
device-manager-ui/admin/src/store.js
+57
-32
device-manager-ui/admin/src/views/SSO.vue
device-manager-ui/admin/src/views/SSO.vue
+33
-20
device-manager-ui/admin/src/views/login/login.vue
device-manager-ui/admin/src/views/login/login.vue
+34
-20
No files found.
device-manager-ui/admin/.env
View file @
e6b0bf0e
...
@@ -10,4 +10,6 @@ VUE_APP_PORTAL_URL = http://192.168.0.98:11072
...
@@ -10,4 +10,6 @@ VUE_APP_PORTAL_URL = http://192.168.0.98:11072
# 站点请求地址
# 站点请求地址
VUE_APP_SITETREE_URL = http://192.168.0.98:11078/base/site/siteTree
VUE_APP_SITETREE_URL = http://192.168.0.98:11078/base/site/siteTree
# 系统名称
VUE_APP_sysName = "设备物联网"
device-manager-ui/admin/.env.development
View file @
e6b0bf0e
...
@@ -2,3 +2,5 @@
...
@@ -2,3 +2,5 @@
NODE_ENV = "development"
NODE_ENV = "development"
VUE_APP_BASE_API= http://192.168.0.98:11091/m
VUE_APP_BASE_API= http://192.168.0.98:11091/m
#VUE_APP_BASE_API= /basics_api/m
#VUE_APP_BASE_API= /basics_api/m
#图片地址拼接
VUE_APP_API_IMG_URL=http://192.168.0.98:11078/
\ No newline at end of file
device-manager-ui/admin/.env.production
View file @
e6b0bf0e
...
@@ -12,3 +12,5 @@ VUE_APP_PORTAL_URL =/portal_home
...
@@ -12,3 +12,5 @@ VUE_APP_PORTAL_URL =/portal_home
# 站点请求地址
# 站点请求地址
VUE_APP_SITETREE_URL = /basics_api/base/site/siteTree
VUE_APP_SITETREE_URL = /basics_api/base/site/siteTree
#图片地址拼接
VUE_APP_API_IMG_URL=
device-manager-ui/admin/public/index.html
View file @
e6b0bf0e
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge"
/>
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge"
/>
<meta
name=
"viewport"
content=
"width=device-width,initial-scale=1.0"
/>
<meta
name=
"viewport"
content=
"width=device-width,initial-scale=1.0"
/>
<link
rel=
"icon"
href=
"<%= BASE_URL %>sbgl.ico"
/>
<link
rel=
"icon"
href=
"<%= BASE_URL %>sbgl.ico"
/>
<title>
设备管理平台
</title>
<title>
<
%=
process
.
env
.
VUE_APP_sysName
%
>
</title>
<link
<link
rel=
"stylesheet"
rel=
"stylesheet"
href=
"https://unpkg.zhimg.com/element-ui@2.15.5/lib/theme-chalk/index.css"
href=
"https://unpkg.zhimg.com/element-ui@2.15.5/lib/theme-chalk/index.css"
...
...
device-manager-ui/admin/src/App.vue
View file @
e6b0bf0e
<
template
>
<
template
>
<div
id=
"app"
>
<div
id=
"app"
>
<router-view/>
<router-view
/>
</div>
</div>
</
template
>
</
template
>
<
script
>
export
default
{};
</
script
>
<
style
lang=
"less"
scoped
>
</
style
>
device-manager-ui/admin/src/components/Header.vue
View file @
e6b0bf0e
...
@@ -6,19 +6,17 @@
...
@@ -6,19 +6,17 @@
<div
class=
"layout-menu flex flex-1"
>
<div
class=
"layout-menu flex flex-1"
>
<!-- logo -->
<!-- logo -->
<div
class=
"layout-logo flex"
>
<div
class=
"layout-logo flex"
>
<i
class=
"el-icon-menu"
@
click=
"showMobileMenu = !showMobileMenu"
>
<!--
<i
class=
"el-icon-menu"
@
click=
"showMobileMenu = !showMobileMenu"
>
</i>
</i>
-->
<router-link
to=
"/"
>
<img
<img
src=
"../assets/images/logo2.png
"
class=
"logo
"
style=
"margin-bottom: 5px
"
:src=
"
height=
"27"
sysLogo ? api + sysLogo : require('../assets/images/logo2.png')
width=
"27
"
"
/>
/>
<b
style=
"color: white; font-size: 20px; font-weight: bold; margin-right: 20px"
>
<h1
class=
"title"
>
AIOT智慧边缘物联网系统
</b
{{
sysName
?
sysName
:
systemName
}}
>
</h1>
</router-link>
</div>
</div>
<!-- 站点选择 -->
<!-- 站点选择 -->
<div>
<div>
...
@@ -96,11 +94,19 @@
...
@@ -96,11 +94,19 @@
<
script
>
<
script
>
import
HeaderSite
from
"
./HeaderSite.vue
"
;
import
HeaderSite
from
"
./HeaderSite.vue
"
;
import
{
mapState
}
from
"
vuex
"
;
export
default
{
export
default
{
name
:
"
Header
"
,
name
:
"
Header
"
,
components
:
{
components
:
{
HeaderSite
,
HeaderSite
,
},
},
data
()
{
return
{
api
:
process
.
env
.
VUE_APP_API_IMG_URL
,
systemName
:
process
.
env
.
VUE_APP_sysName
,
showMobileMenu
:
false
,
};
},
methods
:
{
methods
:
{
handleCommand
(
key
)
{
handleCommand
(
key
)
{
if
(
key
===
"
update
"
)
{
if
(
key
===
"
update
"
)
{
...
@@ -122,11 +128,10 @@ export default {
...
@@ -122,11 +128,10 @@ export default {
});
});
},
},
},
},
beforeDestroy
()
{
beforeDestroy
()
{},
},
mounted
()
{},
mounted
()
{
},
computed
:
{
computed
:
{
...
mapState
([
"
sysName
"
,
"
sysLogo
"
]),
activeMenu
()
{
activeMenu
()
{
return
this
.
$route
.
path
;
return
this
.
$route
.
path
;
},
},
...
@@ -202,11 +207,6 @@ export default {
...
@@ -202,11 +207,6 @@ export default {
return
this
.
$store
.
state
.
userData
;
return
this
.
$store
.
state
.
userData
;
},
},
},
},
data
()
{
return
{
showMobileMenu
:
false
,
};
},
};
};
</
script
>
</
script
>
...
@@ -215,23 +215,35 @@ export default {
...
@@ -215,23 +215,35 @@ export default {
.mobile-menu-list {
.mobile-menu-list {
display: none;
display: none;
}
}
.title {
font-size: 18px;
max-width: 200px;
color: #fff;
line-height: normal;
}
.layout-menu-wrapper {
.layout-menu-wrapper {
height: 6
6
px;
height: 6
4
px;
line-height: 6
6
px;
line-height: 6
4
px;
font-size: 14px;
font-size: 14px;
color: #eee;
color: #eee;
background: linear-gradient(90deg, #1845c6 0%, #2999ff 100%);
background: linear-gradient(90deg, #1845c6 0%, #2999ff 100%);
.layout-menu {
align-items: center;
}
.layout-logo {
.layout-logo {
height: 50px;
height: 50px;
padding-left: 23px;
padding-left: 23px;
align-items: center;
.el-icon-menu {
.el-icon-menu {
display: none;
display: none;
}
}
a {
a {
margin: auto;
margin: auto;
}
}
img {
.logo {
vertical-align: middle;
width: 32px;
margin-right: 10px;
}
}
}
}
...
...
device-manager-ui/admin/src/components/HeaderLeft.vue
View file @
e6b0bf0e
<
template
>
<
template
>
<div>
<div>
<div
class=
"profile"
:class=
"
{close: isOpen
}">
<div
class=
"profile"
:class=
"
{ close: isOpen
}">
<p
class=
"menu-switch"
>
<p
class=
"menu-switch"
>
<i
@
click=
"toogle"
:class=
"`el-icon-s-$
{isOpen?'unfold':
'fold'}`" />
<i
@
click=
"toogle"
:class=
"`el-icon-s-$
{isOpen ? 'unfold' :
'fold'}`" />
</p>
</p>
<el-dropdown
@
command=
"handleCommand"
>
<el-dropdown
@
command=
"handleCommand"
>
<span
class=
"el-dropdown-link"
>
<span
class=
"el-dropdown-link"
>
{{
currentUserName
}}
{{
currentUserName
}}
<i
class=
"el-icon-arrow-down el-icon--right"
></i>
<i
class=
"el-icon-arrow-down el-icon--right"
></i>
</span>
</span>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-menu
slot=
"dropdown"
>
...
@@ -15,14 +15,23 @@
...
@@ -15,14 +15,23 @@
</el-dropdown-menu>
</el-dropdown-menu>
</el-dropdown>
</el-dropdown>
</div>
</div>
<div
class=
"sidebar"
:class=
"
{close: isOpen
}">
<div
class=
"sidebar"
:class=
"
{ close: isOpen
}">
<div
class=
"logo"
>
<div
class=
"logo"
>
<router-link
to=
"/"
>
<router-link
to=
"/"
>
<img
src=
"../assets/images/logo.png"
height=
"20"
alt
/>
<img
src=
"../assets/images/logo.png"
height=
"20"
alt
/>
{{
isOpen
?
''
:
'
xxx系统
'
}}
{{
isOpen
?
""
:
"
xxx系统
"
}}
</router-link>
</router-link>
</div>
</div>
<el-menu
:default-active=
"defaultActive"
background-color=
"#222333"
text-color=
"#fff"
active-text-color=
"#409eff"
:collapse=
"isOpen"
:collapse-transition=
"false"
router
unique-opened
>
<el-menu
:default-active=
"defaultActive"
background-color=
"#222333"
text-color=
"#fff"
active-text-color=
"#409eff"
:collapse=
"isOpen"
:collapse-transition=
"false"
router
unique-opened
>
<el-menu-item
index=
"/index"
key=
"home"
>
<el-menu-item
index=
"/index"
key=
"home"
>
<i
class=
"el-icon-s-home"
></i>
<i
class=
"el-icon-s-home"
></i>
<span>
首页
</span>
<span>
首页
</span>
...
@@ -31,11 +40,15 @@
...
@@ -31,11 +40,15 @@
<el-submenu
v-for=
"item in menu"
:key=
"item.id"
:index=
"item.name"
>
<el-submenu
v-for=
"item in menu"
:key=
"item.id"
:index=
"item.name"
>
<template
slot=
"title"
>
<template
slot=
"title"
>
<i
:class=
"`el-icon-$
{item.icon}`">
</i>
<i
:class=
"`el-icon-$
{item.icon}`">
</i>
<span
slot=
"title"
>
{{
item
.
name
}}
</span>
<span
slot=
"title"
>
{{
item
.
name
}}
</span>
</
template
>
</
template
>
<el-menu-item
v-for=
"val in item.children"
:index=
"val.path"
:key=
"val.id"
>
<el-menu-item
v-for=
"val in item.children"
:index=
"val.path"
:key=
"val.id"
>
<i
:class=
"`el-icon-${val.icon}`"
></i>
<i
:class=
"`el-icon-${val.icon}`"
></i>
<span>
{{val.name
}}
</span>
<span>
{{ val.name
}}
</span>
</el-menu-item>
</el-menu-item>
</el-submenu>
</el-submenu>
</el-menu>
</el-menu>
...
...
device-manager-ui/admin/src/store.js
View file @
e6b0bf0e
import
Vue
from
'
vue
'
import
Vue
from
"
vue
"
;
import
Vuex
from
'
vuex
'
import
Vuex
from
"
vuex
"
;
import
{
normalCallPost
}
from
'
./assets/utils
'
;
import
{
normalCallPost
}
from
"
./assets/utils
"
;
Vue
.
use
(
Vuex
)
Vue
.
use
(
Vuex
)
;
let
userData
=
{};
let
userData
=
{};
try
{
try
{
userData
=
JSON
.
parse
(
window
.
sessionStorage
.
userData
||
'
{}
'
);
userData
=
JSON
.
parse
(
window
.
sessionStorage
.
userData
||
"
{}
"
);
}
catch
(
error
)
{
}
catch
(
error
)
{
console
.
log
(
'
未从session中获取到userData
'
)
console
.
log
(
"
未从session中获取到userData
"
);
}
}
function
convertTreeToList
(
root
,
array
)
{
function
convertTreeToList
(
root
,
array
)
{
if
(
!
root
||
!
root
.
length
)
return
array
;
if
(
!
root
||
!
root
.
length
)
return
array
;
root
.
forEach
(
item
=>
{
root
.
forEach
(
(
item
)
=>
{
let
data
=
JSON
.
parse
(
JSON
.
stringify
(
item
));
let
data
=
JSON
.
parse
(
JSON
.
stringify
(
item
));
const
url
=
data
.
url
?
data
.
url
:
(
item
.
childList
[
0
]
?
(
item
.
childList
[
0
].
url
||
''
)
:
''
);
const
url
=
data
.
url
?
data
.
url
:
item
.
childList
[
0
]
?
item
.
childList
[
0
].
url
||
""
:
""
;
delete
data
.
childList
;
delete
data
.
childList
;
array
.
push
({
array
.
push
({
name
:
data
.
name
,
name
:
data
.
name
,
...
@@ -25,19 +29,29 @@ function convertTreeToList(root, array) {
...
@@ -25,19 +29,29 @@ function convertTreeToList(root, array) {
parentId
:
data
.
parentId
,
parentId
:
data
.
parentId
,
icon
:
data
.
imgPath
,
icon
:
data
.
imgPath
,
});
});
if
(
item
.
childList
)
{
if
(
item
.
childList
)
{
convertTreeToList
(
item
.
childList
,
array
);
convertTreeToList
(
item
.
childList
,
array
);
}
}
})
})
;
return
array
;
return
array
;
}
}
function
isPc
()
{
function
isPc
()
{
var
userAgentInfo
=
navigator
.
userAgent
;
var
userAgentInfo
=
navigator
.
userAgent
;
var
Agents
=
new
Array
(
"
Android
"
,
"
iPhone
"
,
"
SymbianOS
"
,
"
Windows Phone
"
,
"
iPad
"
,
"
iPod
"
);
var
Agents
=
new
Array
(
"
Android
"
,
"
iPhone
"
,
"
SymbianOS
"
,
"
Windows Phone
"
,
"
iPad
"
,
"
iPod
"
);
var
flag
=
true
;
var
flag
=
true
;
for
(
var
v
=
0
;
v
<
Agents
.
length
;
v
++
)
{
for
(
var
v
=
0
;
v
<
Agents
.
length
;
v
++
)
{
if
(
userAgentInfo
.
indexOf
(
Agents
[
v
])
>
0
)
{
flag
=
false
;
break
;
}
if
(
userAgentInfo
.
indexOf
(
Agents
[
v
])
>
0
)
{
flag
=
false
;
break
;
}
}
}
return
flag
;
return
flag
;
}
}
...
@@ -47,7 +61,9 @@ export default new Vuex.Store({
...
@@ -47,7 +61,9 @@ export default new Vuex.Store({
isLogin
:
false
,
isLogin
:
false
,
isMobile
:
!
isPc
(),
isMobile
:
!
isPc
(),
userData
,
userData
,
group
:
''
,
group
:
""
,
sysName
:
""
,
// 系统名称
sysLogo
:
""
,
// 系统logo
},
},
mutations
:
{
mutations
:
{
setUserData
(
state
,
data
)
{
setUserData
(
state
,
data
)
{
...
@@ -60,25 +76,34 @@ export default new Vuex.Store({
...
@@ -60,25 +76,34 @@ export default new Vuex.Store({
logout
(
state
)
{
logout
(
state
)
{
state
.
userData
=
{};
state
.
userData
=
{};
state
.
isLogin
=
false
;
state
.
isLogin
=
false
;
window
.
sessionStorage
.
userData
=
''
;
window
.
sessionStorage
.
userData
=
""
;
window
.
sessionStorage
.
token
=
''
;
window
.
sessionStorage
.
token
=
""
;
},
},
setGroup
(
state
,
data
)
{
setGroup
(
state
,
data
)
{
state
.
group
=
data
;
state
.
group
=
data
;
},
},
SET_sysName
(
state
,
sysName
)
{
state
.
sysName
=
sysName
;
},
SET_sysLogo
(
state
,
sysLogo
)
{
state
.
sysLogo
=
sysLogo
;
},
},
},
actions
:
{
actions
:
{
login
({
commit
})
{
login
({
commit
})
{
normalCallPost
(
'
/login/index
'
).
then
(({
data
})
=>
{
normalCallPost
(
"
/login/index
"
)
commit
(
'
setUserData
'
,
data
)
.
then
(({
data
})
=>
{
}).
catch
(
error
=>
{
commit
(
"
setUserData
"
,
data
);
})
})
.
catch
((
error
)
=>
{});
},
},
logout
({
commit
})
{
logout
({
commit
})
{
normalCallPost
(
'
/login/logout
'
).
then
(
data
=>
{}).
catch
(
error
=>
{}).
then
(()
=>
{
normalCallPost
(
"
/login/logout
"
)
commit
(
'
logout
'
)
.
then
((
data
)
=>
{})
})
.
catch
((
error
)
=>
{})
.
then
(()
=>
{
commit
(
"
logout
"
);
});
},
},
}
}
,
})
})
;
device-manager-ui/admin/src/views/SSO.vue
View file @
e6b0bf0e
...
@@ -5,13 +5,25 @@
...
@@ -5,13 +5,25 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
{
mapMutations
}
from
"
vuex
"
;
export
default
{
export
default
{
mounted
()
{
data
()
{
let
token
=
this
.
$route
.
query
.
token
;
return
{};
let
siteid
=
this
.
$route
.
query
.
siteid
;
},
created
()
{
this
.
getInfo
();
},
mounted
()
{},
methods
:
{
...
mapMutations
([
"
SET_sysName
"
,
"
SET_sysLogo
"
]),
// 获取token和站点信息
async
getInfo
()
{
let
{
token
,
siteid
,
sysName
,
sysLogo
}
=
this
.
$route
.
query
;
if
(
token
)
{
if
(
token
)
{
window
.
sessionStorage
.
setItem
(
"
token
"
,
token
);
window
.
sessionStorage
.
setItem
(
"
token
"
,
token
);
window
.
sessionStorage
.
setItem
(
"
siteid
"
,
siteid
);
window
.
sessionStorage
.
setItem
(
"
siteid
"
,
siteid
);
this
.
SET_sysName
(
sysName
);
this
.
SET_sysLogo
(
sysLogo
);
this
.
$router
.
push
(
"
/index
"
);
// 有token直接跳转首页
this
.
$router
.
push
(
"
/index
"
);
// 有token直接跳转首页
}
else
{
}
else
{
this
.
$message
({
this
.
$message
({
...
@@ -27,6 +39,7 @@ export default {
...
@@ -27,6 +39,7 @@ export default {
},
1000
);
},
1000
);
}
}
},
},
},
};
};
</
script
>
</
script
>
...
...
device-manager-ui/admin/src/views/login/login.vue
View file @
e6b0bf0e
...
@@ -10,7 +10,7 @@
...
@@ -10,7 +10,7 @@
label-width=
"80px"
label-width=
"80px"
size=
"small"
size=
"small"
>
>
<h1>
设备管理平台
</h1>
<h1>
{{
sysName
?
sysName
:
systemName
}}
</h1>
<el-form-item
label=
"用户名"
>
<el-form-item
label=
"用户名"
>
<el-input
v-model=
"form.loginName"
></el-input>
<el-input
v-model=
"form.loginName"
></el-input>
</el-form-item>
</el-form-item>
...
@@ -31,18 +31,44 @@
...
@@ -31,18 +31,44 @@
</div>
</div>
<div
class=
"footer"
>
<div
class=
"footer"
>
登陆
©
<a
href=
""
>
信宏翔网络科技有限公司
</a>
出品
<!-- 登陆 ©
<a
href=
""
>
信宏翔网络科技有限公司
</a>
出品 -->
</div>
</div>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
{
createSocket
}
from
"
@/assets/utils/websocket
"
;
//
import { createSocket } from "@/assets/utils/websocket";
import
{
mapMutations
,
mapState
}
from
"
vuex
"
;
export
default
{
export
default
{
name
:
"
login
"
,
name
:
"
login
"
,
created
()
{},
data
()
{
return
{
systemName
:
process
.
env
.
VUE_APP_sysName
,
originData
:
[],
loading
:
false
,
form
:
{
loginName
:
""
,
password
:
""
,
},
};
},
computed
:
{
...
mapState
([
"
sysName
"
]),
},
created
()
{
this
.
getInfo
();
},
methods
:
{
methods
:
{
...
mapMutations
([
"
SET_sysName
"
,
"
SET_sysLogo
"
]),
// 获取token和站点信息
getInfo
()
{
let
{
sysName
,
sysLogo
,
siteid
}
=
this
.
$route
.
query
;
if
(
siteid
&&
sysName
&&
sysLogo
)
{
sessionStorage
.
setItem
(
"
siteid
"
,
siteid
);
this
.
SET_sysName
(
sysName
);
this
.
SET_sysLogo
(
sysLogo
);
}
},
login
()
{
login
()
{
this
.
loading
=
true
;
this
.
loading
=
true
;
this
.
$post
(
"
/login/login
"
,
this
.
form
)
this
.
$post
(
"
/login/login
"
,
this
.
form
)
...
@@ -51,10 +77,9 @@ export default {
...
@@ -51,10 +77,9 @@ export default {
},
},
loginSuccess
({
data
})
{
loginSuccess
({
data
})
{
this
.
$store
.
commit
(
"
setUserData
"
,
data
);
this
.
$store
.
commit
(
"
setUserData
"
,
data
);
this
.
$router
.
replace
({
let
{
token
}
=
data
;
path
:
this
.
redirect
,
sessionStorage
.
setItem
(
"
token
"
,
token
);
});
this
.
$router
.
push
(
"
/index
"
);
//成功 创建websocket连接 process.env.VUE_WEBSOCKET_BASE_API +
//成功 创建websocket连接 process.env.VUE_WEBSOCKET_BASE_API +
// createSocket("ws://"+process.env.VUE_APP_BASE_API +"/ws?accessToken="+data.id)
// createSocket("ws://"+process.env.VUE_APP_BASE_API +"/ws?accessToken="+data.id)
},
},
...
@@ -80,17 +105,6 @@ export default {
...
@@ -80,17 +105,6 @@ export default {
this
.
login
();
this
.
login
();
},
},
},
},
data
()
{
return
{
originData
:
[],
loading
:
false
,
redirect
:
this
.
$route
.
query
.
redirect
||
"
/
"
,
form
:
{
loginName
:
""
,
password
:
""
,
},
};
},
};
};
</
script
>
</
script
>
...
...
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