根据权限获取菜单列表

接口描述:

  • 根据权限获取菜单列表,等同于根据当前账号的权限获取对应的导航菜单数据。

请求 URL:

  • http|https://host/api/v1/menu/method/get.menu.auth.list/

请求方式:

  • GET
  • POST

是否授权:

业务参数:

参数名 类型 是否必须 范围值 默认值 示例值 描述
menu_id integer egt:0 0 491 菜单编号
module string in:api,admin,home api 所属模块
level integer egt:0 0 菜单深度
is_navi integer in:0,1 1 是否属于导航菜单 0=否 1=是
is_layer integer in:0,1 1 1 是否返回本级菜单 0=否 1=是
status integer in:0,1 1 1 菜单状态 0=禁用 1=启用

响应参数:

参数名 类型 是否返回 示例值 描述
status integer 200 状态码
message string success 消息信息
data array [] 返回数组
data 类型 是否返回 示例值 描述
menu_id string 513 菜单编号
parent_id integer 0 菜单上级编号
name string 添加广告 菜单名称
alias string 添加 菜单别名
icon string  菜单图标
remark string 添加一个广告 菜单备注
module string admin 所属模块
type integer 0 链接类型 0=模块 1=外链
url string api/v1/ads/add.ads.item 链接地址
params string ?id=1&type=1 链接参数
target string _self 打开方式
is_navi integer 0 是否属于导航菜单 0=否 1=是
sort integer 50 菜单排序值
status integer 1 菜单状态 0=禁用 1=启用
children_total integer 5 该菜单下子级菜单数的合计
level integer 0 该菜单的层级深度

响应示例:

  1. {
  2. "status": 200,
  3. "message": "success",
  4. "data": [
  5. {
  6. "menu_id": 491,
  7. "parent_id": 0,
  8. "name": "验证码",
  9. "alias": "",
  10. "icon": "",
  11. "remark": "",
  12. "module": "api",
  13. "type": 0,
  14. "url": "",
  15. "params": "",
  16. "target": "_self",
  17. "is_navi": 1,
  18. "sort": 50,
  19. "status": 1,
  20. "children_total": 2,
  21. "level": 0
  22. },
  23. {
  24. "menu_id": 492,
  25. "parent_id": 491,
  26. "name": "使用验证码",
  27. "alias": "",
  28. "icon": "",
  29. "remark": "",
  30. "module": "api",
  31. "type": 0,
  32. "url": "api/v1/verification/use.verification.item",
  33. "params": "",
  34. "target": "_self",
  35. "is_navi": 1,
  36. "sort": 50,
  37. "status": 1,
  38. "children_total": 0,
  39. "level": 1
  40. },
  41. {
  42. "menu_id": 493,
  43. "parent_id": 491,
  44. "name": "发送短信验证码",
  45. "alias": "",
  46. "icon": "",
  47. "remark": "",
  48. "module": "api",
  49. "type": 0,
  50. "url": "api/v1/verification/send.verification.sms",
  51. "params": "",
  52. "target": "_self",
  53. "is_navi": 1,
  54. "sort": 50,
  55. "status": 1,
  56. "children_total": 0,
  57. "level": 1
  58. }
  59. ]
  60. }

备注:

  1. 该接口支持条件搜索,如果不带入业务参数则使用默认值。

  2. menu_id参数值为 0 表示获取所有菜单,如果参数值非 0 表示从指定的编号开始获取。

  3. module参数的值是不固定的,可根据模块需求决定,在配置文件application\extra\CareyShop.php中可进行配置。

参数示例: 假设当前账号拥有下列权限菜单列表:

  1. 最顶层菜单(ID=0)
  2. ├─ A1 // (ID=1)
  3. └─ A2
  4. └─ A3
  5. └─ B1
  6. └─ B2
  7. └─ B3
  1. 不传入level参数时表示返回所有层级的菜单列表。

  2. level值为 0 时返回A1 B1,值为 1 时返回A1 A2 B1 B2,值为 2 时返回A1 A2 A3 B1 B2 B3

  3. menu_id值为A1(ID=1),并且level值为 0 时返回A1,值为 1 时返回A1 A2,因为is_layer参数默认为 1,所以会返回本级。如果将is_layer参数值设为 0 并且level值为 0 时返回A2,值为 1 时返回A2 A3