登录功能完成
This commit is contained in:
parent
3dcb2d0a4f
commit
d433cc75f6
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<header v-loading="loading">
|
||||
<header>
|
||||
<div id="topnavbar">
|
||||
<div class="logo logo2 cursor">
|
||||
<img src="../../../static/images/logo.png" alt="">
|
||||
|
|
@ -7,48 +7,44 @@
|
|||
<div id="topnanv" v-show="!collapse || navShow">
|
||||
<nav>
|
||||
<ul class="content clearfix">
|
||||
<template v-if="userName">
|
||||
<li class="dropdown" v-for="(item,index) in adminMenu" :key="index">
|
||||
<a href="javascript:void(0);" @click="routerTurn(item.path)">{{item.name}}<img v-show="item.children.length" src="../../../static/images/arrow-down.png" alt=""></a>
|
||||
<ul class="sub-menu" v-show="item.children.length">
|
||||
<li v-for="(item1,index1) in item.children" :key="index1">
|
||||
<a href="javascript:void(0);" @click="routerTurn(item1.path)">{{item1.name}}</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="dropdown">
|
||||
<el-dropdown>
|
||||
<li class="dropdown" v-for="(item,index) in menu" :key="index">
|
||||
<a href="javascript:void(0);" @click="routerTurn(item.path)">{{item.name}}<img v-show="item.children.length" src="../../../static/images/arrow-down.png" alt=""></a>
|
||||
<ul class="sub-menu" v-show="item.children.length">
|
||||
<li v-for="(item1,index1) in item.children" :key="index1">
|
||||
<a href="javascript:void(0);" @click="routerTurn(item1.path)">{{item1.name}}</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li v-show="isLogin" class="dropdown" v-for="(item,index) in adminMenu" :key="index">
|
||||
<a href="javascript:void(0);" @click="routerTurn(item.path)">{{item.name}}<img v-show="item.children.length" src="../../../static/images/arrow-down.png" alt=""></a>
|
||||
<ul class="sub-menu" v-show="item.children.length">
|
||||
<li v-for="(item1,index1) in item.children" :key="index1">
|
||||
<a href="javascript:void(0);" @click="routerTurn(item1.path)">{{item1.name}}</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="dropdown" v-if="isLogin">
|
||||
<el-dropdown>
|
||||
<span class="el-dropdown-link userClass">
|
||||
<a href="javascript:void(0);">admin<img src="../../../static/images/arrow-down.png" alt=""></a>
|
||||
</span>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item>
|
||||
<a href="javascript:void(0);" @click="routerTurn('personalCenter')">个人中心</a>
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item>
|
||||
<a href="javascript:void(0);" @click="onLogout">退出登录</a>
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</li>
|
||||
</template>
|
||||
<template v-else>
|
||||
<li class="dropdown" v-for="(item,index) in menu" :key="index">
|
||||
<a href="javascript:void(0);" @click="routerTurn(item.path)">{{item.name}}<img v-show="item.children.length" src="../../../static/images/arrow-down.png" alt=""></a>
|
||||
<ul class="sub-menu" v-show="item.children.length">
|
||||
<li v-for="(item1,index1) in item.children" :key="index1">
|
||||
<a href="javascript:void(0);" @click="routerTurn(item1.path)">{{item1.name}}</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="dropdown">
|
||||
<el-dropdown trigger="click">
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item>
|
||||
<a href="javascript:void(0);" @click="routerTurn('personalCenter')">个人中心</a>
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item>
|
||||
<a href="javascript:void(0);" @click="onLogout">退出登录</a>
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</li>
|
||||
<li class="dropdown" v-else>
|
||||
<el-dropdown trigger="click">
|
||||
<span class="el-dropdown-link userClass">
|
||||
<a href="javascript:void(0);" @click="routerTurn('login')">登录</a>
|
||||
</span>
|
||||
</el-dropdown>
|
||||
</li>
|
||||
</template>
|
||||
</el-dropdown>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
|
@ -61,6 +57,7 @@
|
|||
|
||||
<script>
|
||||
import { initInfo, loginOut } from '@/api/login'
|
||||
import Cookies from 'js-cookie'
|
||||
|
||||
export default {
|
||||
name: 'headers',
|
||||
|
|
@ -71,6 +68,7 @@ export default {
|
|||
return {
|
||||
loading: false,
|
||||
collapse:true,
|
||||
menuList: [],
|
||||
menu:[
|
||||
{
|
||||
name:"首页",
|
||||
|
|
@ -126,53 +124,6 @@ export default {
|
|||
}
|
||||
],
|
||||
adminMenu: [
|
||||
{
|
||||
name:"首页",
|
||||
path:"home",
|
||||
children:[]
|
||||
},
|
||||
{
|
||||
name:"数据检索",
|
||||
path:"",
|
||||
children:[
|
||||
{
|
||||
name:"数据检索",
|
||||
path:"dataSearch",
|
||||
children:[]
|
||||
},
|
||||
{
|
||||
name:"航次详情",
|
||||
path:"voyagedetail",
|
||||
children:[]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
name:"统计分析",
|
||||
path:"analyse",
|
||||
children:[]
|
||||
},
|
||||
{
|
||||
name:"数据资源",
|
||||
path:"",
|
||||
children:[
|
||||
{
|
||||
name:"海洋地球物理与物理海洋信息库",
|
||||
path:"physicalIndex",
|
||||
children:[]
|
||||
},
|
||||
{
|
||||
name:"海洋生物样品信息库",
|
||||
path:"biologyIndex",
|
||||
children:[]
|
||||
},
|
||||
{
|
||||
name:"深海海洋视频音像信息库",
|
||||
path:"phoneVideoIndex",
|
||||
children:[]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
name:"数据汇交",
|
||||
children:[
|
||||
|
|
@ -185,7 +136,7 @@ export default {
|
|||
name:"样品数据集汇交",
|
||||
path:"SampleDataset",
|
||||
children:[]
|
||||
}
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
@ -238,23 +189,13 @@ export default {
|
|||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
name:"关于我们",
|
||||
path:"",
|
||||
children:[]
|
||||
}
|
||||
],
|
||||
nowPathName: '',
|
||||
navShow:false
|
||||
navShow:false,
|
||||
isLogin: false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
userName() {
|
||||
return sessionStorage.getItem('userName') || this.$store.state.user.name
|
||||
}
|
||||
},
|
||||
created() {
|
||||
console.log(this.userName)
|
||||
this.getLoginInfo()
|
||||
},
|
||||
mounted(){
|
||||
|
|
@ -298,20 +239,20 @@ export default {
|
|||
},
|
||||
// 退出登录
|
||||
onLogout() {
|
||||
this.loading = true
|
||||
loginOut().then(res => {
|
||||
this.$store.commit('SET_NAME', '')
|
||||
sessionStorage.setItem('userName', '')
|
||||
this.$router.push({
|
||||
path: 'login'
|
||||
})
|
||||
location.reload()
|
||||
location.href = '/login#/container/login'
|
||||
})
|
||||
},
|
||||
// 获取登录信息
|
||||
getLoginInfo() {
|
||||
initInfo().then(res => {
|
||||
console.log(res)
|
||||
Cookies.set('JSESSIONID', res.map.FrameSessionId);
|
||||
this.isLogin = res.login
|
||||
if (this.isLogin) {
|
||||
this.menuList = this.adminMenu
|
||||
} else {
|
||||
this.menuList = this.menu
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ const service = axios.create({
|
|||
// baseURL: process.env.VUE_APP_BASE_API,
|
||||
baseURL: process.env.VUE_APP_BASE_API,
|
||||
withCredentials: true, // send cookies when cross-domain requests
|
||||
crossDomain: true,
|
||||
timeout: 900000 // request timeout
|
||||
})
|
||||
service.defaults.headers = {
|
||||
|
|
@ -49,10 +50,10 @@ service.interceptors.response.use(
|
|||
const res = response.data
|
||||
if (res.errorCode === 10301) {
|
||||
// 当前未登录或已经过期
|
||||
Message({
|
||||
message: res.errorMsg,
|
||||
type: 'warning'
|
||||
})
|
||||
// Message({
|
||||
// message: res.errorMsg,
|
||||
// type: 'warning'
|
||||
// })
|
||||
sessionStorage.setItem('userName', '')
|
||||
} else if (res.errorCode === 0) {
|
||||
return res
|
||||
|
|
|
|||
|
|
@ -359,7 +359,7 @@ export default {
|
|||
// 内容
|
||||
//es6模板字符串
|
||||
var addHtml = `
|
||||
<h4 style="">科考船只:搜索一号</h4>
|
||||
<h4 style="">科考船只:探索一号</h4>
|
||||
<p>经度(°):${todo.launchLongtitude}</p>
|
||||
<p>纬度(°):${todo.launchLatitude}</p>
|
||||
<p>航迹向:56°</p>
|
||||
|
|
|
|||
|
|
@ -44,7 +44,8 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { login } from '@/api/login'
|
||||
import { initInfo, login } from '@/api/login'
|
||||
import Cookies from 'js-cookie'
|
||||
|
||||
export default {
|
||||
name: 'Login',
|
||||
|
|
@ -68,9 +69,15 @@ export default {
|
|||
loginCode: this.loginCode
|
||||
}).then(res => {
|
||||
if (res.success) {
|
||||
this.$router.back()
|
||||
this.$store.commit('SET_NAME', this.loginName)
|
||||
sessionStorage.setItem('userName', this.loginName)
|
||||
// this.$router.back()
|
||||
// this.$store.commit('SET_NAME', this.loginName)
|
||||
// sessionStorage.setItem('userName', this.loginName)
|
||||
Cookies.set('JSESSIONID', res.entity);
|
||||
initInfo().then(res => {
|
||||
Cookies.set('JSESSIONID', res.map.FrameSessionId);
|
||||
this.isLogin = res.login
|
||||
location.href = '/'
|
||||
})
|
||||
} else {
|
||||
this.$message.error(res.errorMsg)
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue