修复登录多次点击导致路由加载问题,修复一些警告

This commit is contained in:
吕金泽 2022-08-05 19:12:44 +08:00
parent 6384bebdc3
commit 64ef2b6022
5 changed files with 29 additions and 23 deletions

View File

@ -29,6 +29,7 @@ router.beforeEach(async(to, from, next) => {
if (loadInfo) {
next()
} else {
loadInfo = true
try {
// get user info
// note: roles must be a object array! such as: ['admin'] or ,['developer','editor']
@ -42,7 +43,6 @@ router.beforeEach(async(to, from, next) => {
router.addRoute(it)
})
})
loadInfo = true
// dynamically add accessible routes
// hack method to ensure that addRoutes is complete
// set the replace: true, so the navigation will not leave a history record

View File

@ -3,22 +3,24 @@
<div class="magic-login-box">
<!-- <div class="magic-login-logo"></div>-->
<div class="magic-login-text">{{ $global.title }}</div>
<div class="magic-login-row">
<input ref="username" class="magic-input" v-model="loginForm.username" placeholder="用户名" name="username" type="text" tabindex="1" auto-complete="on" />
<mb-icon icon="user"/>
</div>
<div class="magic-login-row">
<input class="magic-input" ref="password" v-model="loginForm.password" type="password" placeholder="密码" name="password" tabindex="2" auto-complete="on" @keyup.enter.native="handleLogin" />
<mb-icon icon="password"/>
</div>
<div class="magic-login-row">
<input class="magic-input code" ref="code" v-model="loginForm.code" placeholder="验证码" name="code" tabindex="3" @keyup.enter.native="handleLogin" />
<mb-icon icon="verification-code"/>
<img class="code-img" :src="codeImg" @click="refreshCode">
</div>
<div class="magic-login-row">
<button :loading="loading" class="magic-button" type="primary" size="medium" @click.native.prevent="handleLogin">登录</button>
</div>
<form>
<div class="magic-login-row">
<input ref="username" class="magic-input" v-model="loginForm.username" placeholder="用户名" name="username" type="text" tabindex="1" autocomplete="on" />
<mb-icon icon="user"/>
</div>
<div class="magic-login-row">
<input class="magic-input" ref="password" v-model="loginForm.password" type="password" placeholder="密码" name="password" tabindex="2" autocomplete="on" @keyup.enter.native="handleLogin" />
<mb-icon icon="password"/>
</div>
<div class="magic-login-row">
<input class="magic-input code" ref="code" v-model="loginForm.code" placeholder="验证码" name="code" tabindex="3" @keyup.enter.native="handleLogin" />
<mb-icon icon="verification-code"/>
<img class="code-img" :src="codeImg" @click="refreshCode">
</div>
<div class="magic-login-row">
<el-button :loading="loading" class="magic-button" type="primary" @click.native.prevent="handleLogin">登录</el-button>
</div>
</form>
</div>
<div class="magic-login-copyright">Copyright © 2020-{{new Date().getYear() + 1900}} <a href="https://ssssssss.org.cn" target="_blank">ssssssss.org.cn</a> All rights reserved.</div>
</div>
@ -61,9 +63,12 @@
return
}else{
loading.value = true
login(loginForm).then((res) => {
proxy.$router.push({ path: '/home' })
loading.value = false
login(loginForm).then((token) => {
if(token){
proxy.$router.push({ path: '/home' })
}else{
loading.value = false
}
}).catch(() => {
refreshCode()
loading.value = false

View File

@ -186,12 +186,13 @@ function save(d) {
if (valid) {
d.loading()
if(temp.value.pid == temp.value.id){
this.$notify({
proxy.$notify({
title: '失败',
message: '上级菜单不能选当前菜单',
type: 'error',
duration: 2000
})
d.hideLoading()
return
}
if(proxy.$treeTable.isChildren(proxy.$treeTable.queryChildren(props.menuData, temp.value.id), temp.value.pid)){
@ -201,6 +202,7 @@ function save(d) {
type: 'error',
duration: 2000
})
d.hideLoading()
return
}
if(menuType.value == 'menu'){

View File

@ -10,7 +10,6 @@
</template>
<div class="icon-item">
<mb-icon :icon="item" />
<svg-icon :icon-class="item" class-name="disabled" />
<span>{{ item }}</span>
</div>
</el-tooltip>

View File

@ -28,7 +28,7 @@
<mb-dialog ref="menuFormDialog" width="1050px" :title="dialogTitle" @confirm-click="menuFormRef.save($event)">
<template #content>
<menu-form ref="menuFormRef" :title="dialogTitle" :menu-tree="menuTree" :menu-data="menuData" @reload-table="reloadTable" />
<menu-form ref="menuFormRef" :menu-tree="menuTree" :menu-data="menuData" @reload-table="reloadTable" />
</template>
</mb-dialog>