|
@@ -44,7 +44,7 @@
|
|
|
<script lang="ts">
|
|
|
import { Vue, Component, Watch } from 'vue-property-decorator'
|
|
|
import { loginStore } from '@/store/loginStore'
|
|
|
-import { apiLogin } from '@/request/api'
|
|
|
+import { apiLogin, getUserInfo } from '@/request/api'
|
|
|
import crypto from '@/crypto/crypto'
|
|
|
|
|
|
interface IruleForm {
|
|
@@ -69,8 +69,9 @@ export default class Login extends Vue {
|
|
|
mounted () {
|
|
|
const isRemenber = localStorage.getItem('isRemenber')
|
|
|
if (isRemenber) {
|
|
|
+ const password = localStorage.getItem('password')
|
|
|
this.ruleForm.email = localStorage.getItem('username') || ''
|
|
|
- this.ruleForm.password = crypto.get(localStorage.getItem('password')) || ''
|
|
|
+ this.ruleForm.password = (password && crypto.get(password)) || ''
|
|
|
this.ruleForm.isRemenber = true
|
|
|
}
|
|
|
}
|
|
@@ -97,7 +98,7 @@ export default class Login extends Vue {
|
|
|
}
|
|
|
|
|
|
// 登录
|
|
|
- submitForm (formName:string) {
|
|
|
+ submitForm () {
|
|
|
if (this.ruleForm.email === '' || this.ruleForm.password === '') {
|
|
|
if (this.ruleForm.email === '') {
|
|
|
this.showErrTipEmailBlank = true
|
|
@@ -108,29 +109,38 @@ export default class Login extends Vue {
|
|
|
return
|
|
|
}
|
|
|
apiLogin({
|
|
|
- username: this.ruleForm.email,
|
|
|
+ email: this.ruleForm.email,
|
|
|
password: this.ruleForm.password
|
|
|
}, {}).then((res: any) => {
|
|
|
- if (res.code === '200') {
|
|
|
- loginStore().setAuth(true)
|
|
|
- loginStore().setUser({
|
|
|
- name: res.data.username,
|
|
|
- token: res.data.token
|
|
|
- })
|
|
|
- localStorage.setItem('username', this.ruleForm.email)
|
|
|
+ if (res.code === 200) {
|
|
|
+ loginStore().setToken(res.data.token)
|
|
|
const SECRET_PWD = crypto.set(this.ruleForm.password) // 加密
|
|
|
localStorage.setItem('password', SECRET_PWD)
|
|
|
+ localStorage.setItem('username', this.ruleForm.email)
|
|
|
if (this.ruleForm.isRemenber) {
|
|
|
localStorage.setItem('isRemenber', 'true')
|
|
|
} else {
|
|
|
localStorage.removeItem('isRemenber')
|
|
|
}
|
|
|
- const router = this.$router
|
|
|
- router.push('/dashboard')
|
|
|
- } else if (res.code === '-1') {
|
|
|
- this.showErrTip = true
|
|
|
+ getUserInfo({}).then((res: any) => {
|
|
|
+ if (res.code === 200) {
|
|
|
+ loginStore().setAuth(true)
|
|
|
+ localStorage.setItem('user', JSON.stringify({
|
|
|
+ email: this.ruleForm.email,
|
|
|
+ name: res.data.full_name
|
|
|
+ }))
|
|
|
+ loginStore().setUser({
|
|
|
+ email: this.ruleForm.email,
|
|
|
+ name: res.data.full_name
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ this.showErrTip = true
|
|
|
+ }
|
|
|
+ const router = this.$router
|
|
|
+ router.push('/dashboard')
|
|
|
+ })
|
|
|
} else {
|
|
|
- this.$message.error('Failed to connect.')
|
|
|
+ this.showErrTip = true
|
|
|
}
|
|
|
}).catch(err => {
|
|
|
console.log(err)
|