电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

如何调用全局通知小浮窗,了解一下?

来源:金蝶云社区作者:金蝶2024-09-234

如何调用全局通知小浮窗,了解一下?

小浮窗应用场景:

适用于轻量级的消息通知:对于用户须知但重要程度没那么高的消息,用户需关注但不打断用户,默认不会自动消失。场景举例:标准补丁更新完成通知/新特性。


视觉展示:

  1. 单条消息

  2. 消息内容最多支持2行,超出2行的内容以省略号的形式展示


  3. 多条消息,以分页的形式展示




功能介绍:

  1.  触发显示方式:不是由用户手动触发,而是由后台通过websocket主动推送,不会像普通弹窗一样打断用户操作,默认不会主动关闭。

  2. 显示位置:默认显示在浏览器的右下角,同时支持修改position配置项调整显示位置,bottomRight(右下角,默认显示位置)|topRight(右上角)|topLeft(左上角)|bottomLeft(左下角)。

  3. 显示内容:消息内容最多支持2行显示,超出2行的内容展示省略号;多条消息通过分页的形式展示。

  4. 按钮交互:消息通知中的按钮文本支持自定义;通过继承AbstractNotificationClick这个派生类,可以在代码中实现点击按钮之后的交互行为。


调用步骤:

  1. 新建NotificationBody实例,将相应的调用参数(appId, title, content, notificationId, buttonInfo)设置进去,具体看下面的代码示例。

  2. 对消息通知中的按钮点击事件进行监听。

  3. 在AbstractNotificationClick派生类中自定义按钮点击的交互行为。

  4. 最后,通过websocket向前端发送消息,一个全局的通知小浮窗,就调用成功了!



操作代码:

  1. 调用通知提醒java代码示例

package kd.bos.notification.sample;
import kd.bos.context.RequestContext;
import kd.bos.dataentity.utils.StringUtils;
import kd.bos.form.control.Control;
import kd.bos.form.plugin.AbstractFormPlugin;
import kd.bos.notification.IconType;
import kd.bos.notification.NotificationBody;
import kd.bos.notification.NotificationFormInfo;
import kd.bos.servicehelper.notification.NotificationServiceHelper;
import java.util.Arrays;
import java.util.EventObject;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
/** 发送全局消息通知插件
 * 演示如何发送一个全局消息通知弹窗
 *
 * 案例设计
 * 1、新建一个动态表单
 * 2、添加一个按钮,标题为‘发送全局消息’,标识为btnnotificationsend
 * 3、界面插件,填写本插件
 * 4、预览,点击‘发送全局消息’按钮,即进入本插件代码,发送测试消息
 *
 */
public class NotificationSendFormPlugin extends AbstractFormPlugin {    
    private static final String KEY_NOTIFICATIONSEND = "btnnotificationsend";    
    /**
     * 添加事件监听:"点击发送全局消息通知"按钮点击事件
     */
    @Override
    public void registerListener(EventObject e) {        
        super.registerListener(e);        
        this.addClickListeners(KEY_NOTIFICATIONSEND);
    }    
    /**
     * 事件处理:"点击发送全局消息通知"按钮点击事件
     */
    @Override
    public void click(EventObject evt) {
        Control source = (Control)evt.getSource();        
        if (StringUtils.equalsIgnoreCase(KEY_NOTIFICATIONSEND, source.getKey())) { 
            this.send();
        }
    }    
    /**
     * 发送全局消息通知
     */
    private void send() {
        NotificationBody notificationBody = new NotificationBody();
        notificationBody.setAppId("bos");
        notificationBody.setTitle("你有新消息需要处理");
        notificationBody.setContent("这是一条测试全局消息提醒弹窗");
        notificationBody.setNotificationId(UU

如何调用全局通知小浮窗,了解一下?

小浮窗应用场景:适用于轻量级的消息通知:对于用户须知但重要程度没那么高的消息,用户需关注但不打断用户,默认不会自动消失。场景举例:...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信