登录接口请求成功跳转至首页,路由地址无变化,页面不跳转,也没有报错,咋回事?
看网上说的几点,地址没错,书写没错,个人认为是路由守卫这里的问题,但是搞不明白,帮忙看下
点击登录方法
handleLogin() {
// this.$router.push('/distributors')//只写这个都不跳转
this.$refs.form.validate(async (valid) => {
if (valid)
try {
this.loading = true
console.log(this.form)
await login(this.form).catch(() => {})
console.log('this.form')
await this.$router.push(this.handleRoute())
console.log(this.$router)
} finally {
this.loading = false
}
})
},
框架写好的部分,跟这里有关系吗?
/**
* @description 登录
* @param {*} { commit }
* @param {*} userInfo
*/
async login({ commit }, userInfo) {
const {
data: { [tokenName]: token },
} = await login(userInfo)
if (token) {
console.log(token)
commit('setToken', token)
const hour = new Date().getHours()
const thisTime =
hour < 8 ?
'早上好' :
hour <= 11 ?
'上午好' :
hour <= 13 ?
'中午好' :
hour < 18 ?
'下午好' :
'晚上好'
Vue.prototype.$baseNotify(`欢迎登录${title}`, `${thisTime}!`)
} else {
const err = `登录接口异常,未正确返回${tokenName}...`
Vue.prototype.$baseMessage(err, 'error', 'vab-hey-message-error')
throw err
}
},
setting.config.js,内容
// 路由模式,可选值为 history 或 hash
routerMode: 'hash',
// 不经过token校验的路由,白名单路由建议配置到与login页面同级,如果需要放行带传参的页面,请使用query传参,配置时只配置path即可
routesWhiteList: ['/login', '/register', '/callback', '/404', '/403'],
// 加载时显示文字
loadingText: '正在加载中...',
// token名称
tokenName: 'token',