自定义弹出消息提示
Chameleon 系统支持两种弹出消息提示方式。
消息提示类型
| 类型 | 说明 | 特点 |
|---|---|---|
| Message | 普通提示消息 | 默认居中弹出展示 |
| Notification | 通知消息 | 默认在右上角显示,带关闭倒计时进度 |
自定义方式
我们提供了两种方式来自定义弹出消息提示类型以及提示相关的配置。本质都是在操作请求 response 中的弹出消息属性配置,具体的属性释义参考 消息提示定义。
方式一:通过自定义响应组件
通过自定义响应组件可以直接返回一个自定义的消息提示。根据需要可以将该组件配置在任意有返回值的组件后,来改变默认的返回值操作方式。
配置示例
在自定义响应组件中配置:
| 配置项 | 值 |
|---|---|
| 执行操作 | 提示消息-普通 |
| 消息提示方式 | 通知 |
| 提示信息 | 操作成功 |
| 提示更多信息 | xxxx |
| 提示自动关闭时间 | 0(默认) |
| 通知弹出位置 | 右上角(默认) |
| 输出到最终结果 | 是 |
使用场景
场景一:直接返回自定义消息
在接口末尾添加自定义响应组件,直接返回自定义的消息提示。
场景二:修改业务操作后的默认返回值
在实际应用开发中,可以根据业务需要和其他组件结合修改默认返回操作:
| 组件 | 输出到最终结果 |
|---|---|
| 其他业务组件 | 勾选 |
| 自定义响应组件 | 不勾选 |
注意
如果修改其他业务操作后的默认值,应该在其他业务组件中勾选【输出到最终结果】,自定义响应组件不勾选【输出到最终结果】。
方式二:通过脚本抛出异常
通过抛出 ChameleonException 异常的方式,直接响应一个错误提示。通常用在脚本处理复杂业务时,对参数进行校验后立即做出提示。
代码示例
using System;
using System.Linq;
using System.Collections.Generic;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using Chameleon.Common;
using Chameleon.Common.Context;
using Chameleon.Common.Exceptions;
using Chameleon.Common.Models;
using Chameleon.Database;
public class ChameleonCSharpScript
{
public object Execute(ComponentContext context, IChameleonDbContext dbContext, ILogger logger)
{
throw new ChameleonException("这是一个错误消息提示")
{
Action = ActionEnum.Error,
MoreMessage = "操作失败额外信息",
PopType = PopTypeEnum.Notification
};
return null;
}
}
异常属性配置
异常支持通过属性配置消息的各项配置:
| 属性 | 类型 | 说明 |
|---|---|---|
| Action | ActionEnum | 动作类型 |
| Code | number | 状态码 |
| MoreMessage | string | 更多消息 |
| Duration | double | 自动关闭时间 |
| PopType | PopTypeEnum | 消息提示方式 |
| Placement | NotificationPlacementEnum | 通知弹出位置 |
| RedirectUrl | string | 重定向 URL |
ActionEnum 枚举值
| 值 | 说明 |
|---|---|
| None = -1 | 无操作(不显示任何提示) |
| Success = 0 | 成功 |
| Error = 1 | 错误 |
| Warning = 2 | 警告 |
| Info = 3 | 信息 |
| Redirect = 4 | 重定向 |
| Open = 5 | 打开新地址 |
PopTypeEnum 枚举值
| 值 | 说明 |
|---|---|
| Default = 0 | 系统默认 |
| Message = 1 | 普通提示消息 |
| Notification = 2 | 通知消息 |
NotificationPlacementEnum 枚举值
| 值 | 说明 |
|---|---|
| Top = 0 | 顶部 |
| TopLeft = 1 | 左上 |
| TopRight = 2 | 右上 |
| Bottom = 3 | 底部 |
| BottomLeft = 4 | 左下 |
| BottomRight = 5 | 右下 |
注意
由于是通过抛出异常的方式,因此会阻断任何的业务操作立即执行消息提示。
相关文档
- 消息提示定义 - 消息提示属性详细说明