用户注册登录成功之后自动跳转回来源页

dev
truthhun 1 year ago
parent 0ec5fdea24
commit 4d43bd818c

@ -55,7 +55,7 @@
></nuxt-link
>
<nuxt-link
to="/register"
:to="{ name: 'register', query: { redirect } }"
title="注册账户"
class="el-link el-link--default float-right"
></nuxt-link

@ -143,7 +143,9 @@
<nuxt-link to="/findpassword" class="el-link el-link--default"
></nuxt-link
>
<nuxt-link to="/login" class="el-link el-link--default float-right"
<nuxt-link
:to="{ name: 'login', query: { redirect } }"
class="el-link el-link--default float-right"
></nuxt-link
>
</el-form-item>

@ -490,11 +490,12 @@ export default {
this.loopUpdate()
}, 1000 * 60) // 每分钟更新一次
},
handleDropdown(command) {
async handleDropdown(command) {
console.log('handleDropdown', command)
switch (command) {
case 'logout':
this.logout()
const res = await this.logout()
console.log(res)
location.reload()
break
case 'upload':

@ -1,5 +1,26 @@
import { requireLogin } from '~/utils/utils'
export default function ({ store, route, redirect }) {
export default function ({ store, route, redirect, from }) {
// Every time the route changes (fired on initialization too)
// 如果是注册或者登录则带个redirect参数用于登录后跳转
if (
(route.name === 'login' || route.name === 'register') &&
!(from.name === 'login' || from.name === 'register')
) {
console.log(
'checkFront.js: route.name === login or register 1',
route.query
)
if (!route.query.redirect) {
route.query.redirect = from.fullPath
redirect(route)
return
}
console.log(
'checkFront.js: route.name === login or register 2',
route.query
)
}
store.dispatch('user/checkAndRefreshUser')
const settings = store.getters['setting/settings']
const user = store.getters['user/user']

@ -23,6 +23,7 @@
</div>
<form-login
v-if="!(user.id > 0 && settings.security.is_close)"
:redirect="redirect"
></form-login>
</el-card>
</div>
@ -51,6 +52,11 @@ export default {
],
}
},
data() {
return {
redirect: this.$route.query.redirect || '/me',
}
},
computed: {
...mapGetters('setting', ['settings']),
...mapGetters('user', ['user']),

@ -14,7 +14,7 @@
<div slot="header" class="clearfix">
<span></span>
</div>
<form-register></form-register>
<form-register :redirect="redirect"></form-register>
</el-card>
</div>
</div>
@ -26,7 +26,9 @@ export default {
// 已登录用户,直接跳转到个人中心
middleware: ['checklogin'],
data() {
return {}
return {
redirect: this.$route.query.redirect || '/me',
}
},
head() {
return {

Loading…
Cancel
Save