Merge pull request 'master' (#4) from master into prod

Reviewed-on: http://git.feashow.cn/clay/mosr-web/pulls/4
This commit is contained in:
2024-03-05 12:49:36 +00:00
4 changed files with 83 additions and 43 deletions

View File

@@ -5,6 +5,7 @@ import Layout from '@/layout/index.vue'
import {getToken} from '../utils/auth'
import {usePermisstionStroe} from '@/stores/permisstion.js'
import {useAuthStore} from '@/stores/userstore.js'
NProgress.configure({showSpinner: false})
const router = createRouter({
@@ -19,6 +20,11 @@ const router = createRouter({
title: '登录'
}
},
{
path: '/cas/login',
name: 'casLogin',
component: () => import('@/views/cas-login/index.vue'),
},
{
path: '/',
name: 'layout',
@@ -169,14 +175,14 @@ router.beforeEach(async (to,form,next)=>{
const authStore = useAuthStore()
NProgress.start()
if (!getToken()) {
if(to.path === '/login' || to.path === '/forbidden') {
if (to.path === '/login' || to.path === '/cas/login' || to.path === '/forbidden') {
next()
NProgress.done()
} else {
next({path: '/login'})
}
} else {
if(to.path === '/login') {
if (to.path === '/login'|| to.path === '/cas/login') {
next('/')
NProgress.done()
} else {

View File

@@ -2,12 +2,23 @@ import { defineStore } from "pinia";
import {ref} from "vue";
import {getUserInfo, login} from "../api/login";
import {ElMessage} from "element-plus";
import { removeToken, setToken} from "../utils/auth";
import {getToken, removeToken, setToken} from "../utils/auth";
export const useAuthStore = defineStore('auth', () => {
const userinfo = ref({})
const permisstions = ref([])
const roles = ref([])
const casToken = (token) => {
console.log('getToken()!==token',getToken()!==token)
let flag=''
if(getToken()!==token){//切换token
setToken(token)
flag=true
}else {
flag=false
}
return flag;
}
const userLogin = async (data) => {
let flag
await login(data).then(res => {
@@ -35,6 +46,7 @@ export const useAuthStore = defineStore('auth',()=>{
return {
userinfo,
permisstions,
casToken,
userLogin,
userLogout,
setUserInfo

View File

@@ -0,0 +1,22 @@
<script setup>
import {useRouter} from 'vue-router';
import {useAuthStore} from '@/stores/userstore'
import {ElLoading} from 'element-plus'
const authStore = useAuthStore()
const router = useRouter();
const tokenValue = reactive(router.currentRoute.value.query.token)
console.log('tokenValue', tokenValue)
const init = () => {
// console.log('authStore.casToken(tokenValue)',authStore.casToken(tokenValue))
if (authStore.casToken(tokenValue)) {
// ElLoading.service({text: '正在加载系统资源', background: '#409eff', lock: true})
router.push('/')
}
// else {
// router.push('/login')
// }
}
init()
</script>

View File

@@ -69,11 +69,11 @@ export default defineConfig({
open: true,
proxy: {
'/api': {
target: 'http://fateverse-vue.frp.feashow.cn',
target: 'http://mosr.feashow.cn',
changeOrigin: true,
},
'/api/notice-ws': {
target: 'ws://fateverse-vue.frp.feashow.cn/api/notice-ws',
target: 'ws://mosr.feashow.cn/api/notice-ws',
ws: true,
changeOrigin: true,
}