跳至主要內容

资源维护

2023年4月15日大约 9 分钟功能介绍功能介绍开发运营系统资源维护

提示

资源是整个系统中,最基础,最重要的功能,请一定要认真理解本节!

资源维护功能用于开发者或运营者在后台创建配置资源数据。

涉及的表

注意

  1. 在代码中增加、修改或删除Controller层接口(API、URI)后,需要重启服务,才能在资源关联的接口被正常选择。

  2. 若你的接口地址发生了变更,需要重新在资源维护页面配置新接口!

    如:第一版配置了 /menu/save 接口,后期调整改为 /menu/saveMenu 接口,需要在此页修改为 /menu/saveMenu ,并保存数据!

  3. 登录用户拥有的菜单权限由后端接口(ResourceController#myRouter)控制,前端仅需将后端返回的菜单数据全部展现出来。后端返回给前端的菜单数据,都是用户有权访问的菜单。

    提示

    若用户访问了没有权限的菜单时,系统不会跳转到401页面,而是404页面。

  4. 按钮权限由前端的 权限指令(v-hasPermission)权限属性(auth、authMode) 控制,后端在登录时会将用户拥有的资源编码数据提供给前端。

  5. 接口权限由后端lamp-gateway的拦截器(AuthenticationFilter)控制。

  6. 用于控制按钮权限的资源编码可以是不同的类型(菜单、视图、按钮、字段4种类型)。

    <button v-hasPermission=['任意类型的资源编码']>save</button>
    

重要字段解释

code

全局唯一的资源编码。编码规则:按资源层级结构逐级编码,并使用 : 作为分隔符。

建议以view、add、edit、delete、export、import、download、upload等关键词结尾。

resource_type

资源类型:应用、菜单、视图、按钮、字段、接口、数据。

name

资源名称。资源类型为菜单视图时,名称在同一应用下必须唯一。

parent_id

上级资源。

open_with

打开方式。菜单或视图的打开方式,可选值为:组件、内链、外链。

path

地址栏路径。资源类型为菜单视图时配置。该字段可以填写以下值:

component

组件。页面的代码所在位置。

redirect

重定向。

is_general

是否公共资源。设置为true,表示无需授权即可访问。

state

状态。true:启用;false:禁用。 禁用后,资源不可用。

sub_group

分组。可以通过此参数来控制一个系统,有多组菜单。

meta_json

元数据。路由扩展的meta参数,RouteMeta支持什么参数,这里就配置成什么参数即可。

// 你可以在这个类中扩展更多的元数据,并在业务代码中合适的位置读取新增的元数。
interface RouteMeta extends Record<string | number | symbol, unknown> {
    // 菜单排序,只对第一级有效
    orderNo?: number;
    // 路由title  一般必填
    title: string;
    // 动态路由可打开Tab页数
    dynamicLevel?: number;
    // 动态路由的实际Path, 即去除路由的动态部分;
    realPath?: string;
    // 是否忽略权限,只在权限模式为Role的时候有效
    ignoreAuth?: boolean;
    // 可以访问的角色,只在权限模式为Role的时候有效
    roles?: RoleEnum[];
    // 是否忽略KeepAlive缓存
    ignoreKeepAlive?: boolean;
    // 是否固定标签
    affix?: boolean;
    // 图标,也是菜单图标
    icon?: string;
    // 内嵌iframe的地址
    frameSrc?: string;
    // 指定该路由切换的动画名
    transitionName?: string;
    // 隐藏该路由在面包屑上面的显示
    hideBreadcrumb?: boolean;
    // 隐藏所有子菜单
    hideChildrenInMenu?: boolean;
    // 如果该路由会携带参数,且需要在tab页上面显示。则需要设置为true
    carryParam?: boolean;
    // Used internally to mark single-level menus
    single?: boolean;
    // 当前激活的菜单。用于配置详情页时左侧激活的菜单路径
    currentActiveMenu?: string;
    // 当前路由不再标签页显示
    hideTab?: boolean;
    // 当前路由不再菜单显示
    hideMenu?: boolean;
    isLink?: boolean;
    // 忽略路由。用于在ROUTE_MAPPING以及BACK权限模式下,生成对应的菜单而忽略路由。2.5.3以上版本有效
    ignoreRoute?: boolean;
    // 是否在子级菜单的完整path中忽略本级path。2.5.3以上版本有效
    hidePathForChildren?: boolean;
    // 菜单上显示的 文字 或 小圆点 的样式
    type?: 'primary' | 'error' | 'warn' | 'success';
    // 是否在菜单上显示 文字
    content?: string;
    // 是否在菜单显示 小圆点
    dot?: boolean;
  }

接口

数据存在def_resource_api表。表示该资源关联的URI接口。

选择弹框中的接口地址来源于:SystemApiScanController#scan/anyone/systemApiScan

提示

  • 增加、修改或删除接口后,需要重启项目,才能加载出接口。

  • 若你的接口地址变更,需要重新在此页面配置接口! 如:第一版配置了 /menu/save 接口,后期调整改为 /menu/saveMenu 接口,需要在此页面删除原来的 /menu/save 接口,然后重新选择 /menu/saveMenu ,并保存数据!

  • 【选择api】界面的【服务名】字段是通过网关提供的接口实时查询成功注册到nacos中的服务,新建的服务需要在lamp-gateway-server.yml中配置路由信息。

  • “录入”和“选择”的区别在于,录入可以方便开发者填写含有通配符的uri接口地址(如: /base/user/** ),而选择只能选择代码中已经编写好的接口。

field_is_secret

是否脱敏。 暂时没有实现。

field_is_edit

是否可以编辑。暂时没有实现。

功能讲解

注意

在此配置了资源后,用户还是无法访问该资源,需要在开发运营系统 - 应用授权管理,给需要此资源的企业授权后,登陆企业的租户管理员账号,在基础平台 - 角色授权管理将资源和角色进行绑定,并将角色分配给员工,员工才拥有刚新增的资源权限。

  1. 新增:点击新增根节点新增按钮后,根据页面上的提示和校验规则,填写表单数据后,点击表单右上方正下方的保存按钮保存数据。

  2. 编辑:点击编辑按钮后,根据页面上的提示和校验规则,填写表单数据后,点击表单右上方正下方的保存按钮保存数据。

  3. 删除:删除会删除当前节点以及其子节点。

  4. 移动:将某个节点移动到其他节点,作为其他节点的子节点。

    • 不能移动到他的父节点
    • 不能移动到他自己
    • 不能移动到他的所有子孙节点
👆🏻👆🏻👆🏻上面是评论区,对系统、本页文档什么疑问,可以在评论区留言。
❗️❗️❗️若评论区无法显示,请使用"手机热点"或"科学上网"。
5.0.4已发布: