Merge remote-tracking branch 'origin/master'
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 9.9 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 9.9 KiB |
@@ -17,7 +17,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
</template>
|
</template>
|
||||||
<div class="avatar-container">
|
<!-- <div class="avatar-container">
|
||||||
<el-dropdown @command="handleCommand" class="right-menu-item hover-effect" trigger="click">
|
<el-dropdown @command="handleCommand" class="right-menu-item hover-effect" trigger="click">
|
||||||
<div class="avatar-wrapper">
|
<div class="avatar-wrapper">
|
||||||
<img :src="userStore.avatar" class="user-avatar" />
|
<img :src="userStore.avatar" class="user-avatar" />
|
||||||
@@ -37,7 +37,7 @@
|
|||||||
</el-dropdown-menu>
|
</el-dropdown-menu>
|
||||||
</template>
|
</template>
|
||||||
</el-dropdown>
|
</el-dropdown>
|
||||||
</div>
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -48,10 +48,7 @@ import Breadcrumb from '@/components/Breadcrumb'
|
|||||||
import TopNav from '@/components/TopNav'
|
import TopNav from '@/components/TopNav'
|
||||||
import Hamburger from '@/components/Hamburger'
|
import Hamburger from '@/components/Hamburger'
|
||||||
import Screenfull from '@/components/Screenfull'
|
import Screenfull from '@/components/Screenfull'
|
||||||
import SizeSelect from '@/components/SizeSelect'
|
|
||||||
import HeaderSearch from '@/components/HeaderSearch'
|
import HeaderSearch from '@/components/HeaderSearch'
|
||||||
import RuoYiGit from '@/components/RuoYi/Git'
|
|
||||||
import RuoYiDoc from '@/components/RuoYi/Doc'
|
|
||||||
import useAppStore from '@/store/modules/app'
|
import useAppStore from '@/store/modules/app'
|
||||||
import useUserStore from '@/store/modules/user'
|
import useUserStore from '@/store/modules/user'
|
||||||
import useSettingsStore from '@/store/modules/settings'
|
import useSettingsStore from '@/store/modules/settings'
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
import { ElNotification , ElMessageBox, ElMessage, ElLoading } from 'element-plus'
|
import { ElNotification, ElMessageBox, ElMessage, ElLoading } from 'element-plus'
|
||||||
import { getToken } from '@/utils/auth'
|
import { getToken } from '@/utils/auth'
|
||||||
import errorCode from '@/utils/errorCode'
|
import errorCode from '@/utils/errorCode'
|
||||||
import { tansParams, blobValidate } from '@/utils/ruoyi'
|
import { tansParams, blobValidate } from '@/utils/ruoyi'
|
||||||
@@ -67,46 +67,53 @@ service.interceptors.request.use(config => {
|
|||||||
}
|
}
|
||||||
return config
|
return config
|
||||||
}, error => {
|
}, error => {
|
||||||
console.log(error)
|
console.log(error)
|
||||||
Promise.reject(error)
|
Promise.reject(error)
|
||||||
})
|
})
|
||||||
|
|
||||||
// 响应拦截器
|
// 响应拦截器
|
||||||
service.interceptors.response.use(res => {
|
service.interceptors.response.use(res => {
|
||||||
// 未设置状态码则默认成功状态
|
// 未设置状态码则默认成功状态
|
||||||
const code = res.data.code || 200;
|
const code = res.data.code || 200;
|
||||||
// 获取错误信息
|
// 获取错误信息
|
||||||
const msg = errorCode[code] || res.data.msg || errorCode['default']
|
const msg = errorCode[code] || res.data.msg || errorCode['default']
|
||||||
// 二进制数据则直接返回
|
// 二进制数据则直接返回
|
||||||
if (res.request.responseType === 'blob' || res.request.responseType === 'arraybuffer') {
|
if (res.request.responseType === 'blob' || res.request.responseType === 'arraybuffer') {
|
||||||
return res.data
|
return res.data
|
||||||
|
}
|
||||||
|
if (code === 401) {
|
||||||
|
if (!isRelogin.show) {
|
||||||
|
// isRelogin.show = true;
|
||||||
|
// ElMessageBox.confirm(
|
||||||
|
// '登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示',
|
||||||
|
// { confirmButtonText: '重新登录', cancelButtonText: '取消', type: 'warning' }
|
||||||
|
// ).then(() => {
|
||||||
|
// isRelogin.show = false;
|
||||||
|
// useUserStore().logOut().then(() => {
|
||||||
|
// location.href = '/index';
|
||||||
|
// })
|
||||||
|
// }).catch(() => {
|
||||||
|
// isRelogin.show = false;
|
||||||
|
// });
|
||||||
|
// 直接重新登录
|
||||||
|
useUserStore().login({ username: 'admin', password: 'admin123' }).then(() => {
|
||||||
|
location.href = '/index';
|
||||||
|
})
|
||||||
}
|
}
|
||||||
if (code === 401) {
|
return Promise.reject('无效的会话,或者会话已过期,请重新登录。')
|
||||||
if (!isRelogin.show) {
|
} else if (code === 500) {
|
||||||
isRelogin.show = true;
|
ElMessage({ message: msg, type: 'error' })
|
||||||
ElMessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { confirmButtonText: '重新登录', cancelButtonText: '取消', type: 'warning' }).then(() => {
|
return Promise.reject(new Error(msg))
|
||||||
isRelogin.show = false;
|
} else if (code === 601) {
|
||||||
useUserStore().logOut().then(() => {
|
ElMessage({ message: msg, type: 'warning' })
|
||||||
location.href = '/index';
|
return Promise.reject(new Error(msg))
|
||||||
})
|
} else if (code !== 200) {
|
||||||
}).catch(() => {
|
ElNotification.error({ title: msg })
|
||||||
isRelogin.show = false;
|
return Promise.reject('error')
|
||||||
});
|
} else {
|
||||||
}
|
return Promise.resolve(res.data)
|
||||||
return Promise.reject('无效的会话,或者会话已过期,请重新登录。')
|
}
|
||||||
} else if (code === 500) {
|
},
|
||||||
ElMessage({ message: msg, type: 'error' })
|
|
||||||
return Promise.reject(new Error(msg))
|
|
||||||
} else if (code === 601) {
|
|
||||||
ElMessage({ message: msg, type: 'warning' })
|
|
||||||
return Promise.reject(new Error(msg))
|
|
||||||
} else if (code !== 200) {
|
|
||||||
ElNotification.error({ title: msg })
|
|
||||||
return Promise.reject('error')
|
|
||||||
} else {
|
|
||||||
return Promise.resolve(res.data)
|
|
||||||
}
|
|
||||||
},
|
|
||||||
error => {
|
error => {
|
||||||
console.log('err' + error)
|
console.log('err' + error)
|
||||||
let { message } = error;
|
let { message } = error;
|
||||||
|
|||||||
@@ -18,10 +18,10 @@
|
|||||||
<input type="password" v-model="loginForm.password" placeholder="密码" class="form-input" />
|
<input type="password" v-model="loginForm.password" placeholder="密码" class="form-input" />
|
||||||
<p class="error-tip" v-if="loginForm.password === ''">密码不能为空</p>
|
<p class="error-tip" v-if="loginForm.password === ''">密码不能为空</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group captcha-group">
|
<!-- <div class="form-group captcha-group">
|
||||||
<input type="text" v-model="loginForm.code" placeholder="验证码" class="form-input captcha-input" />
|
<input type="text" v-model="loginForm.code" placeholder="验证码" class="form-input captcha-input" />
|
||||||
<img :src="codeUrl" @click="getCode" alt="验证码" class="captcha-img" />
|
<img :src="codeUrl" @click="getCode" alt="验证码" class="captcha-img" />
|
||||||
</div>
|
</div> -->
|
||||||
<div class="remember-group">
|
<div class="remember-group">
|
||||||
<input type="checkbox" id="remember" v-model="loginForm.rememberMe" class="remember-checkbox" />
|
<input type="checkbox" id="remember" v-model="loginForm.rememberMe" class="remember-checkbox" />
|
||||||
<label for="remember" class="remember-label">记住密码</label>
|
<label for="remember" class="remember-label">记住密码</label>
|
||||||
@@ -49,14 +49,14 @@ const loginForm = ref({
|
|||||||
username: "admin",
|
username: "admin",
|
||||||
password: "admin123",
|
password: "admin123",
|
||||||
rememberMe: false,
|
rememberMe: false,
|
||||||
code: "",
|
// code: "",
|
||||||
uuid: ""
|
// uuid: ""
|
||||||
});
|
});
|
||||||
|
|
||||||
const loginRules = {
|
const loginRules = {
|
||||||
username: [{ required: true, trigger: "blur", message: "请输入您的账号" }],
|
username: [{ required: true, trigger: "blur", message: "请输入您的账号" }],
|
||||||
password: [{ required: true, trigger: "blur", message: "请输入您的密码" }],
|
password: [{ required: true, trigger: "blur", message: "请输入您的密码" }],
|
||||||
code: [{ required: true, trigger: "change", message: "请输入验证码" }]
|
// code: [{ required: true, trigger: "change", message: "请输入验证码" }]
|
||||||
};
|
};
|
||||||
|
|
||||||
const codeUrl = ref("");
|
const codeUrl = ref("");
|
||||||
@@ -130,6 +130,7 @@ function getCookie() {
|
|||||||
|
|
||||||
getCode();
|
getCode();
|
||||||
getCookie();
|
getCookie();
|
||||||
|
handleLogin();
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ public class SysLoginService
|
|||||||
public String login(String username, String password, String code, String uuid)
|
public String login(String username, String password, String code, String uuid)
|
||||||
{
|
{
|
||||||
// 验证码校验
|
// 验证码校验
|
||||||
validateCaptcha(username, code, uuid);
|
// validateCaptcha(username, code, uuid);
|
||||||
// 登录前置校验
|
// 登录前置校验
|
||||||
loginPreCheck(username, password);
|
loginPreCheck(username, password);
|
||||||
// 用户验证
|
// 用户验证
|
||||||
|
|||||||
Reference in New Issue
Block a user