Toggle navigation
Toggle navigation
This project
Loading...
Sign in
Fedex
/
imac-vue
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
1730532197@qq.com
2021-11-29 20:56:21 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
fdcbeadc91573912b67d71f67e7b5b0178be280b
fdcbeadc
1 parent
0d7069d3
lwj -登录
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
28 additions
and
52 deletions
src/api/login.js
src/api/menu.js
src/components/Breadcrumb/index.vue
src/store/modules/user.js
src/utils/request.js
src/views/login.vue
vue.config.js
src/api/login.js
View file @
fdcbead
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
:
'
ge
t'
url
:
'/
auth/
getInfo'
,
method
:
'
pos
t'
})
}
// 退出方法
export
function
logout
()
{
return
request
({
url
:
'/logout'
,
url
:
'/
auth/
logout'
,
method
:
'post'
})
}
// 获取验证码
export
function
getCodeImg
()
{
return
request
({
url
:
'/captchaImage'
,
method
:
'get'
})
}
...
...
src/api/menu.js
View file @
fdcbead
...
...
@@ -3,7 +3,7 @@ import request from '@/utils/request'
// 获取路由
export
const
getRouters
=
()
=>
{
return
request
({
url
:
'/getRouters'
,
method
:
'
ge
t'
url
:
'/
auth/
getRouters'
,
method
:
'
pos
t'
})
}
\ No newline at end of file
...
...
src/components/Breadcrumb/index.vue
View file @
fdcbead
...
...
@@ -38,6 +38,7 @@ export default {
matched = [{ path: '/index', meta: { title: '首页' }}].concat(matched)
}
this.levelList = matched.filter(item => item.meta && item.meta.title && item.meta.breadcrumb !== false)
},
isDashboard(route) {
...
...
src/store/modules/user.js
View file @
fdcbead
...
...
@@ -33,10 +33,10 @@ const user = {
Login
({
commit
},
userInfo
)
{
const
username
=
userInfo
.
username
.
trim
()
const
password
=
userInfo
.
password
const
code
=
userInfo
.
cod
e
const
uuid
=
userInfo
.
uuid
const
rememberMe
=
userInfo
.
rememberM
e
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'
,
[])
...
...
src/utils/request.js
View file @
fdcbead
...
...
@@ -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'
...
...
src/views/login.vue
View file @
fdcbead
...
...
@@ -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");
...
...
vue.config.js
View file @
fdcbead
...
...
@@ -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
]:
''
...
...
Please
register
or
login
to post a comment