登录后获取菜单数据失败

Blade 未结 2 98
shuke
shuke 剑童 2025-01-10 11:37

一、该问题的重现步骤是什么?

  1. 用的超级管理员账号登录的,登录进去拿不到菜单数据

    image.png

2. 后端打断点显示接收的值是空的

image.png

3.前端在发送获取菜单请求的地方打印  是undefined

image.png

image.png

二、你期待的结果是什么?实际看到的又是什么?


三、你正在使用的是什么产品,什么版本?在什么操作系统上?

前端版本是saber 后端版本是4.0

四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

2条回答
  • 2025-01-10 11:40

    右上角显示的是用户1,确定是超级管理员么?你把sql脚本重新执行一下再登录试试看。

    然后跟一下menuService.routes方法,看看返回的值是什么。

    然后看下f12 network里对应routes的接口传递的请求头参数是什么。

    正常情况是下图这样。

    CleanShot20250110114214@2x.png

    CleanShot20250110114143@2x.png

    作者追问:2025-01-10 12:01

    用超级管理员登录不显示菜单,我就用一个普通用户的试试,结果也不显示

    image.png

    menuService.routes方法里面传的roleId是空的,直接返回null了

    image.png

    请求头里面有token什么的

    image.png

    image.png

    返回结果是空的

    image.png

    回答: 2025-01-10 12:04

    复制这个token,找个在线工具解码下看看是什么内容

    作者追问:2025-01-10 16:25

    不去掉前面的 bearer 是这样

    image.png

    去掉后是这样

    image.png

    那个bearer是调用 获取token认证接口返回的东西

    image.png


    回答: 2025-01-10 16:32

    接着这里打断点,看看解析token的时候有没有报错,看看为什么解析的是空

    CleanShot20250110163131@2x.png

    作者追问:2025-01-10 16:53

    这里解析出来有值的是前端那个parentId没传到值吧

    image.png

    0 讨论(0)
  • 2025-01-10 16:52

    这里解析出来是有东西的

    image.png

    是前端没传到值吧 那个parentId

    作者追问:2025-01-10 17:04

    parentId没关系的,主要问题是你的BladeUser入参为null,这个入参的逻辑在这,你打断点看看能不能获取到。正常情况下有token,都是可以获取到BladeUser的值,然后返回对应菜单列表的


    CleanShot20250110170228@2x.png

    0 讨论(0)
提交回复