1730532197@qq.com

lwj -登录

import request from '@/utils/request'
// 登录方法
export function login(username, password, code, uuid) {
export function login(username, password, rememberMe) {
const data = {
username,
password,
code,
uuid
rememberMe
}
return request({
url: '/login',
url: '/hello',
method: 'post',
data: data
})
......@@ -18,23 +17,15 @@ export function login(username, password, code, uuid) {
// 获取用户详细信息
export function getInfo() {
return request({
url: '/getInfo',
method: 'get'
url: '/auth/getInfo',
method: 'post'
})
}
// 退出方法
export function logout() {
return request({
url: '/logout',
url: '/auth/logout',
method: 'post'
})
}
// 获取验证码
export function getCodeImg() {
return request({
url: '/captchaImage',
method: 'get'
})
}
......
......@@ -3,7 +3,7 @@ import request from '@/utils/request'
// 获取路由
export const getRouters = () => {
return request({
url: '/getRouters',
method: 'get'
url: '/auth/getRouters',
method: 'post'
})
}
\ No newline at end of file
......
......@@ -37,6 +37,7 @@ export default {
if (!this.isDashboard(first)) {
matched = [{ path: '/index', meta: { title: '首页' }}].concat(matched)
}
this.levelList = matched.filter(item => item.meta && item.meta.title && item.meta.breadcrumb !== false)
},
......
......@@ -33,10 +33,10 @@ const user = {
Login({ commit }, userInfo) {
const username = userInfo.username.trim()
const password = userInfo.password
const code = userInfo.code
const uuid = userInfo.uuid
const rememberMe = userInfo.rememberMe
return new Promise((resolve, reject) => {
login(username, password, code, uuid).then(res => {
login(username, password,rememberMe).then(res => {
setToken(res.data.token)
commit('SET_TOKEN', res.data.token)
resolve()
......@@ -71,6 +71,7 @@ const user = {
LogOut({ commit, state }) {
return new Promise((resolve, reject) => {
logout(state.token).then(() => {
commit('SET_TOKEN', '')
commit('SET_ROLES', [])
commit('SET_PERMISSIONS', [])
......
......@@ -8,7 +8,8 @@ axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
// 创建axios实例
const service = axios.create({
// axios中请求配置有baseURL选项,表示请求URL公共部分
baseURL: process.env.VUE_APP_BASE_API,
//baseURL: process.env.VUE_APP_BASE_API,
baseURL: 'http://192.168.1.45:8080',
// 超时
timeout: 10000
})
......@@ -64,7 +65,9 @@ service.interceptors.response.use(res => {
location.href = '/index';
})
})
} else if (code === 500) {
} else if (code === 403) {
location.href = '/401';
}else if (code === 500) {
Message({
message: msg,
type: 'error'
......
......@@ -18,20 +18,7 @@
<svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
</el-input>
</el-form-item>
<el-form-item prop="code">
<el-input
v-model="loginForm.code"
auto-complete="off"
placeholder="验证码"
style="width: 63%"
@keyup.enter.native="handleLogin"
>
<svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" />
</el-input>
<div class="login-code">
<img :src="codeUrl" @click="getCode" class="login-code-img"/>
</div>
</el-form-item>
<el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 25px 0px;">记住密码</el-checkbox>
<el-form-item style="width:100%;">
<el-button
......@@ -56,7 +43,7 @@
<script>
import { getCodeImg } from "@/api/login";
//import Cookies from "js-cookie";
import { encrypt, decrypt } from '@/utils/jsencrypt'
import { encrypt, } from '@/utils/jsencrypt'
export default {
name: "Login",
......@@ -67,9 +54,7 @@ export default {
loginForm: {
username: "admin",
password: "admin123",
rememberMe: false,
code: "",
uuid: ""
rememberMe: false
},
loginRules: {
username: [
......@@ -77,8 +62,7 @@ export default {
],
password: [
{ required: true, trigger: "blur", message: "密码不能为空" }
],
code: [{ required: true, trigger: "change", message: "验证码不能为空" }]
]
},
loading: false,
redirect: undefined
......@@ -93,23 +77,18 @@ export default {
}
},
created() {
//this.getCode();
this.getCookie();
},
methods: {
getCode() {
getCodeImg().then(res => {
this.codeUrl = "data:image/gif;base64," + res.img;
this.loginForm.uuid = res.uuid;
});
},
getCookie() {
const username = localStorage.getItem("username");
const password = localStorage.getItem("password");
const rememberMe = localStorage.getItem('rememberMe')
this.loginForm = {
username: username === undefined ? this.loginForm.username : username,
password: password === undefined ? this.loginForm.password : decrypt(password),
password: password === undefined ? this.loginForm.password : password,
rememberMe: rememberMe === undefined ? false : Boolean(rememberMe)
};
},
......@@ -119,7 +98,7 @@ export default {
this.loading = true;
if (this.loginForm.rememberMe) {
localStorage.setItem("username", this.loginForm.username, { expires: 30 });
localStorage.setItem("password", encrypt(this.loginForm.password), { expires: 30 });
localStorage.setItem("password", this.loginForm.password, { expires: 30 });
localStorage.setItem('rememberMe', this.loginForm.rememberMe, { expires: 30 });
} else {
localStorage.removeItem("username");
......
......@@ -34,7 +34,8 @@ module.exports = {
proxy: {
// detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: {
target: `http://localhost:8080`,
// target: `http://localhost:8080`,
target: `http://192.168.1.45:8080`,
changeOrigin: true,
pathRewrite: {
['^' + process.env.VUE_APP_BASE_API]: ''
......