weixin_58412143 2024-04-01 15:30 采纳率: 91.6%
浏览 4
已结题

vue admin pro 路由跳转无效

登录接口请求成功跳转至首页,路由地址无变化,页面不跳转,也没有报错,咋回事?
看网上说的几点,地址没错,书写没错,个人认为是路由守卫这里的问题,但是搞不明白,帮忙看下
点击登录方法

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',

  • 写回答

4条回答 默认 最新

  • GISer Liu 2024-04-01 15:31
    关注

    该回答引用自GPT-3.5,由博主GISer Liu编写:

    根据你提供的代码和描述,可能的原因是路由跳转时出现了问题。你可以按照以下步骤来解决:

    1. 确认路由模式是否正确配置为hash,以保证路由正常工作。
    2. 确认this.$router.push()方法中传递的路径是否正确。可以先尝试写死一个路径看看是否能跳转,比如this.$router.push('/distributors')
    3. 确认路由地址是否在白名单routesWhiteList中,以免因为路由守卫的限制而导致无法跳转。
      如果以上步骤都没有解决问题,可以尝试在this.$router.push()方法之后加上一个console.log来查看是否能正常执行到跳转的代码,以确定问题所在。

    如果该回答解决了您的问题,请采纳!如果没有,请参考以下方案进行修订

    用户答题指南

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 5月22日
  • 已采纳回答 5月14日
  • 创建了问题 4月1日

悬赏问题

  • ¥15 数据量少可以用MK趋势分析吗
  • ¥15 使用VH6501干扰RTR位,CANoe上显示的错误帧不足32个就进入bus off快慢恢复,为什么?
  • ¥15 大智慧怎么编写一个选股程序
  • ¥100 python 调用 cgps 命令获取 实时位置信息
  • ¥15 两台交换机分别是trunk接口和access接口为何无法通信,通信过程是如何?
  • ¥15 C语言使用vscode编码错误
  • ¥15 用KSV5转成本时,如何不生成那笔中间凭证
  • ¥20 ensp怎么配置让PC1和PC2通讯上
  • ¥50 有没有适合匹配类似图中的运动规律的图像处理算法
  • ¥15 dnat基础问题,本机发出,别人返回的包,不能命中