如何增加用户中心的菜单

1.工程中引起pamirs-user-api

<dependency>
<groupId>pro.shushi.pamirs.core</groupId>
<artifactId>pamirs-user-api</artifactId>
</dependency>

2.实现扩展接口TopBarUserBlockDataApi

/**
 * 自定义扩展TopBarUserBlock
 */
@Order(10)
@Component
@SPI.Service
public class DemoTopBarUserBlockDataApi implements TopBarUserBlockDataApi {

    @Override
    public TopBarUserBlock extendData(TopBarUserBlock data) {
        List<TopBarActionGroup> actionGroups = data.getActionGroups();
        TopBarActionGroup actionGroup = new TopBarActionGroup();
        List<Action> actions = new ArrayList<>();

        //例如增加一个菜单
        ViewAction demoViewAction = new ViewAction().setName("DemoMenus_ItemPMenu_DemoItemMenu").setModel(ProducePlanDetail.MODEL_MODEL).queryOne();
        if(demoViewAction != null){

            //设置菜单的icon
            Map<String, Object> attributes = Optional.ofNullable(demoViewAction.getAttributes()).orElse(new HashMap<>());
            attributes.put("icon", "oinone-xiugaimima");
            demoViewAction.setAttributes(attributes);
            actions.add(demoViewAction);
            actionGroup.setActions(actions);
        }
        //例如增加一个菜单
        ViewAction demoViewAction2 = new ViewAction().setName("DemoMenus_ItemPMenu_DemoItemCategoryMenu").setModel(ProducePlanDetail.MODEL_MODEL).queryOne();
        if(demoViewAction2 != null){

            //设置菜单2的icon
            Map<String, Object> attributes = Optional.ofNullable(demoViewAction2.getAttributes()).orElse(new HashMap<>());
            attributes.put("icon", "oinone-xiugaimima");
            demoViewAction2.setAttributes(attributes);
            actions.add(demoViewAction2);
            actionGroup.setActions(actions);
        }
        actionGroups.add(new TopBarActionGroup().setActions(actions));
        data.setActionGroups(actionGroups);
        return data;
    }
}

实现效果

如何增加用户中心的菜单

Oinone社区 作者:数式-海波原创文章,如若转载,请注明出处:https://doc.oinone.top/backend/4764.html

访问Oinone官网:https://www.oinone.top获取数式Oinone低代码应用平台体验

(0)
数式-海波的头像数式-海波数式管理员
上一篇 2023年11月27日 上午11:14
下一篇 2023年11月27日 下午4:30

相关推荐

  • 查询时自定义排序字段和排序规则

    指定字段排序 平台默认排序字段,参考IdModel,按创建时间和ID倒序(ordering = "createDate DESC, id DESC") 方法1:模型指定排序 模型定义增加排序字段。@Model.Advanced(ordering = "xxxxx DESC, yyyy DESC") @Model.mod…

    2024年5月25日
    42400
  • 如何自定义SQL(Mapper)语句

    场景描述 在实际业务场景中,存在复杂SQL的情况,具体表现为: 单表单SQL满足不了的情况下 有复杂的Join关系或者子查询 复杂SQL的逻辑通过程序逻辑难以实现或实现代价较大 在此情况下,通过原生的mybatis/mybatis-plus, 自定义Mapper的方式实现业务功能 1、编写所需的Mapper SQL Mapper写法无限制,与使用原生的myb…

    2023年11月27日
    29500
  • EIP开放接口使用MD5验签发起请求(v5.x)

    验签工具类 PS:该验签方法仅在pamirs-core的5.0.16版本以上可正常使用 public class EipSignUtils { public static final String SIGN_METHOD_MD5 = "md5"; private static final String SIGN_METHOD_HMAC =…

    2024年6月29日
    34500
  • 如何发送邮箱、手机短信以及设置

    1.邮件发送 1.1 邮件服务设置 1.1.1 方法一:通过yaml文件配置 pamirs: email: smtp: smtpHost: smtp.exmail.qq.com smtpUser: xxx@xxx.com smtpPassword: xxxxxx smtpPort: 465 smtpSecurity: SSL #邮件模块可后续后台自行添加 t…

    后端 2023年11月6日
    10100
  • 【达梦】后端部署使用达梦数据库

    达梦数据库配置 驱动配置 达梦数据库的服务端版本和驱动版本需要匹配,建议使用服务端安装时提供的jdbc驱动,不要使用官方maven仓库中的驱动。 报错 表 xx 中不能同时包含聚集 KEY 和大字段,建表的时候就指定非聚集主键。SELECT * FROM V$DM_INI WHERE PARA_NAME = ‘PK_WITH_CLUSTER’;SP_SET_…

    后端 2023年11月1日
    36900

发表回复

登录后才能评论