|
@@ -47,6 +47,12 @@
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-form-item>
|
|
|
+ <div style ="margin: 20px">
|
|
|
+ <!-- 记住我 -->
|
|
|
+ <el-checkbox v-model="checked" class="rememberMe">记住我</el-checkbox>
|
|
|
+ <!-- 找回密码 -->
|
|
|
+ <!--<el-button type="text" @click="open()" class="forgetPw">忘记密码?</el-button>-->
|
|
|
+ </div>
|
|
|
<el-form-item>
|
|
|
<el-button type="primary" :loading="loading" class="login-submit" @click="login">登录</el-button>
|
|
|
</el-form-item>
|
|
@@ -89,9 +95,10 @@
|
|
|
loading: false,
|
|
|
captchaImg: '',
|
|
|
isShow: false,
|
|
|
+ checked: false,
|
|
|
inputForm: {
|
|
|
- username: 'admin',
|
|
|
- password: 'admin',
|
|
|
+ username: '',
|
|
|
+ password: '',
|
|
|
uuid: '',
|
|
|
code: ''
|
|
|
},
|
|
@@ -120,6 +127,7 @@
|
|
|
}, 1000)
|
|
|
},
|
|
|
mounted () {
|
|
|
+ this.getCookie()
|
|
|
this.configService.getConfig().then(({data}) => {
|
|
|
this.productName = data.productName
|
|
|
})
|
|
@@ -131,12 +139,26 @@
|
|
|
methods: {
|
|
|
// 提交表单
|
|
|
login () {
|
|
|
+ var checked = this.checked
|
|
|
+ var password = this.inputForm.password
|
|
|
+ var username = this.inputForm.username
|
|
|
this.$refs['inputForm'].validate((valid) => {
|
|
|
if (valid) {
|
|
|
this.loading = true
|
|
|
this.loginService.login(this.inputForm).then(({data}) => {
|
|
|
this.$cookie.set('token', data.token)
|
|
|
this.$router.push({name: 'home'})
|
|
|
+ let Base64 = require('js-base64').Base64
|
|
|
+ /* ------ 账号密码的存储 ------ */
|
|
|
+ if (checked) {
|
|
|
+ // eslint-disable-next-line no-undef
|
|
|
+ // let password = Base64.encode(passwordLogin) // base64加密
|
|
|
+ this.setCookie(username, Base64.encode(password), 7)
|
|
|
+ } else {
|
|
|
+ this.setCookie('', '', -1) // 修改2值都为空,天数为负1天就好了
|
|
|
+ }
|
|
|
+ /* ------ http登录请求 ------ */
|
|
|
+
|
|
|
this.$notify({
|
|
|
title: '登录成功',
|
|
|
message: `欢迎回来!<br/>你上次的登录IP是 ${data.oldLoginIp},登录时间是 ${data.oldLoginDate}。`,
|
|
@@ -146,7 +168,6 @@
|
|
|
})
|
|
|
}).catch(e => {
|
|
|
this.loading = false
|
|
|
- console.log(e)
|
|
|
this.getLoginCodeNumber(this.inputForm.username)
|
|
|
})
|
|
|
}
|
|
@@ -170,6 +191,34 @@
|
|
|
this.isShow = true
|
|
|
}
|
|
|
})
|
|
|
+ },
|
|
|
+ // 设置cookie
|
|
|
+ setCookie (username, password, days) {
|
|
|
+ let date = new Date() // 获取时间
|
|
|
+ date.setTime(date.getTime() + 24 * 60 * 60 * 1000 * days) // 保存的天数
|
|
|
+ // 字符串拼接cookie
|
|
|
+ window.document.cookie =
|
|
|
+ 'username' + '=' + username + ';path=/;expires=' + date.toGMTString()
|
|
|
+ window.document.cookie =
|
|
|
+ 'password' + '=' + password + ';path=/;expires=' + date.toGMTString()
|
|
|
+ },
|
|
|
+
|
|
|
+ // 读取cookie 将用户名和密码回显到input框中
|
|
|
+ getCookie () {
|
|
|
+ let Base64 = require('js-base64').Base64
|
|
|
+ if (document.cookie.length > 0) {
|
|
|
+ let arr = document.cookie.split('; ') // 分割成一个个独立的“key=value”的形式
|
|
|
+ for (let i = 0; i < arr.length; i++) {
|
|
|
+ let arr2 = arr[i].split('=') // 再次切割,arr2[0]为key值,arr2[1]为对应的value
|
|
|
+ if (arr2[0] === 'username') {
|
|
|
+ this.inputForm.username = arr2[1]
|
|
|
+ } else if (arr2[0] === 'password') {
|
|
|
+ // eslint-disable-next-line no-undef
|
|
|
+ this.inputForm.password = Base64.decode(arr2[1])// base64解密
|
|
|
+ this.checked = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|