Commit 0239e519 by qinjianhui

fix:saas 菜单页面

parent 9114be88
import axios from './axios'
export function login({ userName, password }) {
export function getLoginState({ userName, password }) {
return axios.post('sys/saasUserLogin/login', null, {
params: { userName, password },
})
}
export function logout() {
return axios.get('sys/saasUserLogin/logout')
}
......@@ -7,7 +7,7 @@ export function updateSysmenu({ id, enable, type }) {
}
export function getAllMenusTree() {
return axios.get('sysMenu/getAllMenusTree')
return axios.get('sysSaasMenu/getAllMenusTree')
}
export function addMenu(data) {
......
......@@ -23,6 +23,7 @@ import {
MenuItem,
MenuItemGroup,
Tag,
Checkbox,
} from 'element-ui'
const components = [
......@@ -45,6 +46,7 @@ const components = [
Submenu,
MenuItemGroup,
Tag,
Checkbox,
]
export default {
......
......@@ -2,18 +2,24 @@ import Vue from 'vue'
import Vuex from 'vuex'
import tags from './tags'
// import { getLoginState } from '@/common/api/login'
import { getUser } from '@/utils/auth'
Vue.use(Vuex)
export default new Vuex.Store({
state: {
keyCode: null,
userInfo: getUser(),
},
getters: {},
mutations: {
setKeyCode(state, msg) {
state.keyCode = msg
},
setUserInfo(state, profile) {
console.log(profile)
state.userInfo = profile
},
},
actions: {
setKeyCode({ commit }, msg) {
......
......@@ -4,3 +4,13 @@ export function setToken(token) {
export function getToken() {
return localStorage.getItem('token')
}
export function setUser(user) {
localStorage.setItem('user', JSON.stringify(user))
}
export function getUser() {
try {
return JSON.parse(localStorage.getItem('user'))
} catch {
return null
}
}
......@@ -38,8 +38,10 @@
</div>
</template>
<script>
import { login } from '@/common/api/login'
import { setToken } from '@/utils/auth'
import { getLoginState } from '@/common/api/login'
import { setToken, setUser } from '@/utils/auth'
import { mapMutations } from 'vuex'
export default {
name: 'LoginPage',
data() {
......@@ -55,6 +57,7 @@ export default {
this.loginForm = {}
},
methods: {
...mapMutations(['setUserInfo']),
async login() {
if (!this.loginForm.userName || !this.loginForm.password) {
this.$message.error('请输入用户名或密码')
......@@ -64,13 +67,15 @@ export default {
background: 'rgba(0, 0, 0, 0.3)',
})
try {
const res = await login(this.loginForm)
const res = await getLoginState(this.loginForm)
if (res.code === 200) {
setToken(res.data.token)
setUser(res.data.saasUser)
this.setUserInfo(res.data.saasUser)
this.$router.push('/saas/manage')
}
} catch (e) {
console.log(e)
console.error(e)
} finally {
l.close()
}
......
......@@ -2,17 +2,38 @@
<div class="home-header">
<page-tags />
<div class="user-area">
<span class="user-name">系统管理员</span>
<el-button type="text">注销</el-button>
<span class="user-name">{{ userInfo && userInfo.userName }}</span>
<el-button type="text" @click="logout"
>退出登录</el-button
>
</div>
</div>
</template>
<script>
import pageTags from './pageTags.vue'
import { logout } from '@/common/api/login'
import { setToken, setUser } from '@/utils/auth'
import { mapState } from 'vuex'
export default {
components: { pageTags },
name: 'HomeHeader',
computed: {
...mapState(['userInfo']),
},
methods: {
async logout() {
try {
await logout()
} catch (e) {
console.error(e)
}
setUser(null)
setToken('')
this.$router.push('/login')
},
},
}
</script>
<style lang="scss" scoped>
......
......@@ -4,7 +4,9 @@
<div class="right">
<home-header />
<div class="content">
<router-view></router-view>
<keep-alive :include="cacheView">
<router-view :key="$route.name" />
</keep-alive>
</div>
</div>
</div>
......@@ -13,6 +15,7 @@
<script>
import NavMenu from './navMenu.vue'
import HomeHeader from './HomeHeader.vue'
import { mapState } from 'vuex'
// @ is an alias to /src
export default {
......@@ -21,8 +24,12 @@ export default {
NavMenu,
HomeHeader,
},
created() {
// this.$router.push('/saas/manage')
computed: {
...mapState('tags', ['tags']),
cacheView() {
const arr = []
return arr.concat(this.tags.map((item) => item.name))
},
},
data() {
return {}
......
......@@ -160,7 +160,7 @@ import {
} from '../common/api/sys'
export default {
name: 'menu_management',
name: 'saasMenu',
components: {
tableView,
// myLayout,
......@@ -298,7 +298,7 @@ export default {
},
},
mounted() {
// this.getlist()
this.getlist()
},
methods: {
async enableChange(item, v) {
......@@ -329,6 +329,8 @@ export default {
}
} catch (e) {
console.error(e)
} finally {
this.loading = false
}
},
resetForm() {
......
......@@ -173,7 +173,7 @@
label="数据库地址"
prop="dataHost"
header-align="center"
align="center"
align="left"
width="160"
:show-overflow-tooltip="true"
></el-table-column>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment