这个一般用于显示object对象中的某一个字段,比如如下代码
display
在ListDto中用于显示某一个object类型的字段
| 字段 | 类型 | 示例 | 说明 |
|---|---|---|---|
| args1 | 字符 | name | 显示当前字段的某一个子字段,默认为name |
///<summary>
///角色绑定权限
///</summary>
[PasteDisable(true, true)]
public class GradeRoleListDto : EntityDto<int>
{
///<summary>
///角色ID 点击选择角色
///</summary>
public int GradeId { get; set; }
/// <summary>
/// 角色
/// </summary>
[PasteDisplay]
public GradeShortModel ExtendGrade { get; set; }
///<summary>
///权限ID 点击选择权限
///</summary>
public int RoleId { get; set; }
/// <summary>
/// 权限
/// </summary>
[PasteDisplay("name")]
public RoleShortModel ExtendRole { get; set; }
}
看上面的Dto,主要是我这个刚好GradeShortModel的显示是name这个字段,所以可以省略

注意:PasteOuterDisplay 已过期(Obsolete),建议改用 PasteDisplay(本特性)。
这个特性只用于表单的时候
和hidden很像对吧!
不过他们还是有区别的
empty会占位
而hidden不会占位
比如以下信息
///<summary>
///网关配置 为不同项目的不同环境配置不一样的IP网段
///</summary>
public class BindProjectNetworkAddDto
{
///<summary>
///项目 对哪个项目生效
///</summary>
[ColumnDataType("outer", "projectInfo", "extendProject", "id", "name")]
[PasteMark]
[PasteRequired]
public int ProjectId { get; set; }
/// <summary>
/// 占位
/// </summary>
[PasteEmpty]
public int Menu1 { get; set; }
///<summary>
///服务器 在哪一台服务器上生效
///</summary>
[ColumnDataType("outer", "linuxInfo", "extendLinux", "id", "name")]
[PasteMark]
[PasteRequired]
public int LinuxId { get; set; }
/// <summary>
/// 占位
/// </summary>
[PasteEmpty]
public int Menu2 { get; set; }
///<summary>
/// 网关地址 示例:192.168.1.0/16
///</summary>
[MaxLength(24)]
[PasteMark]
[Required(ErrorMessage ="网关地址不能为空,请重新输入 示例 172.5.1.0/16")]
[RegularExpression("^(192|172)(\\.((2(5[0-5]|[0-4]\\d))|[0-1]?\\d{1,2})){2}(\\.0/16)$", ErrorMessage = "{0}输入格式错误,192|172打头0/16结尾,示例:192.168.5.0/16")]
public string Gatway { get; set; }
/// <summary>
/// 占位
/// </summary>
[PasteEmpty]
public int Menu3 { get; set; }
}
看上面,其实Menu字段的都是无效字段,为了占位用而已,不然这个表单就很少内容了
就三个字段,占2行,第一行2个字段,第二行一个字段
通过添加empty字段后,就变成三行了
每行开头一个有效字段,第二列的字段都是空的
效果如下

如上,那么问题来了,如果我需要每一行之间空一个空位咋办???
有些时候,我们希望显示某些内容,不希望用户可以修改
这个时候我们可以给这个字段上一个特性
readonly
这个特性的作用就是给组件上readonly,所以需要对应的组件支持这个特性!
比如text textarea richtext等都是支持的!
注意提交数据的时候,服务端需要做判断,否则用户可以通过F12进行修改后提交!!!
/// <summary>
/// 文本 这个可以编辑
/// </summary>
[PasteText]
public string Name1 { get; set; }
/// <summary>
/// 文本 这个不能编辑
/// </summary>
[PasteText]
[PasteReadOnly]
public string Name2 { get; set; } = "给你看看";
上面的代码在UI上为

后面这个点击后没有输入焦点,不让修改,
样式上暂时的需求是不需要不同,你也可以为readonly配置不一样的样式,比如有点灰色的背景色!
看到上面我就知道有个BUG了,readonly应该不要给他删除按钮!!!
这个没啥好说的,就是密码框!
这个表示编写html代码,所以一般用于表格页面
html
如果要显示自定义的表格,则使用这个,表示直接显示信息模板注意里面的带参使用{{:=item.name}}这样的形式
| 字段 | 类型 | 示例 | 说明 |
|---|---|---|---|
| args1 | 字符 | <div><span>{{:=item.name}}</span><span>{{:=item.desc}}</span></div> | 需要在td中显示的html代码,支持模板的写法 |
比如说案例项目的权限列表页面
效果如下
看特别是名称这一列,这一列肯定是html干活的,我们看下这个特性是如何写的
///<summary>
///权限列表
///</summary>
[PasteLinkQuery("fatherId")]
[PasteButton("备份", "global_role_output(this);")]
[PasteButton("恢复", "global_role_default(this);","","grady")]
public class RoleInfoListDto
{
/// <summary>
/// ID
/// </summary>
[ColumnDataType("orderby", "Id", "Id desc")]
public int Id { get; set; }
///<summary>
///名称
///</summary>
[PasteClass]
[ColumnDataType("html", "<div class=\"level level{{:=item.level}} role{{:=item.roleTypeInt}}\">{{ if(item.icon){ }}<i class=\"Hui-iconfont {{:=item.icon}}\"></i>{{ } }} {{:=item.name}}</div>")]
public string Name { get; set; }
}
这个特别适合于自定义一些样式等!
针对一些自定义的class,可以通过这个来配置
| 字段 | 类型 | 示例 | 说明 |
|---|---|---|---|
| args1 | 字符 | btngo | 表示这个对象要添加的class |
可以理解为为表单字段设定class名称
默认调用的是fleft表示内容做停靠!
在表单中,数据一般是以2列显示的,
也就是表单的内容一左一右为一行
如果你要某一个数据占整行,就给他这个特性!
注意:PasteUI 已过期(Obsolete),建议改用 PasteChartui。
这个主要是给chart使用的,默认表格是table,也就是列表页面支持table和chart模式
chart就是图表有line,bar模式的,目前采用的是echarts的组件
| 字段 | 类型 | 示例 | 说明 |
|---|---|---|---|
| args1 | 字符串 | table | 首显方式table就是默认的表格形式 |
| args2 | 字符串 | chart | 备选方式 |
| args1 | 字符串 | ||
| args1 | 字符串 |
如果args2不填写,则UI中不会出现用户可以切换的按钮!
args1写哪个,哪个就是默认显示的方式
如果query有,比如show_type=chart,而args1又为table
则chart生效!!!
和这个相关的还有
charty
chartx
chartseries
X轴
一般表示时间
如上图所示,下面哪一行的就是chartx,在图中表示时间轴
| 参数 | 类型 | 示例 | 备注 |
|---|---|---|---|
| args1 | str | 时间 | X轴的名称,貌似好像没用 |
| args2 | str | 备用 | 备用 |
| args3 | str | 备用 | 备用 |
| args4 | str | 备用 | 备用 |
注意一个Model里面只能有一个为chartx,有且只能有一个!
Y轴?
我的理解Y轴柱
上图的左侧的成绩多少分,右侧的身高多少cm
这个特性是标注在Class上的
按照标注顺序有序标0开始
比如上图的,可能成绩有语文,数学,英语,身高
那么语文,数学,英语就用左边柱子的刻度
身高单独用右边的刻度!
| 参数 | 类型 | 示例 | 说明 |
|---|---|---|---|
| args1 | str | 成绩 | 显示名称,比如上面的成绩,身高 |
| args2 | str | left | 柱子放置位置,left左侧,right右侧 |
| args3 | int | 0 | 偏移量 |
| args4 | str | {value}cm | 格式化显示 |
那么接下来的就是数据轴了,请看chartseries
数据轴,上面案例说的 语文 数学 英语 身高的具体数值!
就是主视图区域的柱子bar或者线段line
| 参数 | 类型 | 示例 | 说明 |
|---|---|---|---|
| args1 | str | line | line线段线条模式bar柱子形式 |
| args2 | int | 0 | 用之前的charty的哪一根,注意和顺序有关 |
| args3 | str | 标题 | 语文 |
| args4 | str | 备用 | 备用 |
我的理解args3就是legend,最中间上面那个!
上面的几个特性介绍了图表,我们来看下上面图片的额Dto的配置是怎么样的
///<summary>
///测试表 用于测试CURD的表
///</summary>
[PasteBatch("批量启用", "global_bitch_state(this,1)")]
[PasteBatch("批量禁用", "global_bitch_state(this,0)")]
[PasteUI("chart","table")]
[PasteCharty("成绩","left",0,"{value}分")]
[PasteCharty("身高","right",0,"{value}cm")]
//[ColumnDataType("button","新增新增","open_window('新增','./view.html?path=xxx')","add")]
public class TestTableListDto : EntityDto<int>
{
///<summary>
///姓名 模拟短文本输入
///</summary>
[ColumnDataType("edit", "view")]
public string Name { get; set; }
///<summary>
///头像 模拟图片上传
///</summary>
[ColumnDataType("image")]
public string Head { get; set; }
///<summary>
///年龄 模拟输入number
///</summary>
[PasteMark]
[PastePrefix("多少")]
[ColumnDataType("edit","view")]
[PasteUnit("周岁")]
public int Age { get; set; }
/// <summary>
/// 金额
/// </summary>
[PasteFenToYuan]
[PastePrefix("¥")]
[ColumnDataType("edit", "view")]
[PasteUnit("元")]
public long Val1 { get; set; } = 1600;
///<summary>
///文本区域 模拟文本区域的输入
///</summary>
[ColumnDataType("class", "fleft")]
[PasteMark]
[ColumnDataType("edit", "view")]
public string Desc { get; set; }
/////<summary>
/////富文本 模拟富文本,前端HTML的是使用wangEditv5
/////</summary>
//public string Blog { get; set; }
/// <summary>
/// 开关
/// </summary>
[PasteSwitch("",true)]
public bool IsOpen { get; set; }
/// <summary>
/// 开关
/// </summary>
[PasteSwitch("", false,"handlerClose")]
public bool IsClose { get; set; }
///<summary>
///加入日期 模拟必填时间的输入
///</summary>
[ColumnDataType("edit","view")]
[ColumnDataType("chartx")]
public DateTime JoinDate { get; set; }
///<summary>
///更新日期 模拟非必填的时间输入
///</summary>
[ColumnDataType("hidden")]
public DateTime? UpdateDate { get; set; }
/////<summary>
/////单选 一般表示状态,内定的,有点像Enum,关于Enum后续会支持
/////</summary>
//[ColumnDataType("html", "<div>{{:=item.dateType}}-{{:=item.gradeId}}</div>")]
//public int DateType { get; set; }
/// <summary>
/// 时间类型
/// </summary>
[ColumnDataType("select", "[{\"name\":\"日类型\",\"value\":0},{\"name\":\"月类型\",\"value\":1},{\"name\":\"年类型\",\"value\":2}]")]
[ColumnDataType("edit","view")]
public int DateType { get; set; }
/// <summary>
/// 给DateType编辑的时候使用,记得要赋值
/// </summary>
[PasteHidden]
public List<SelectIntItem> DateType_expend_select_values { get; set; }
/// <summary>
/// 类型显示
/// </summary>
[ColumnDataType("html", "<div class=\"dtype{{:=item.dateTypeInt}}\">{{:=item.dateType}}-{{:=item.dateType}}</div>")]
public int DateTypeInt { get { return DateType; } }
///<summary>
///角色ID 这里一般用于外表,就是选择其他表的一个数据作为输入内容
///</summary>
[ColumnDataType("hidden")]
public int GradeId { get; set; }
///<summary>
///成绩1 模拟前端限定2位小数
///</summary>
[ColumnDataType("edit", "view")]
[ColumnDataType("chartseries")]
public double Score { get; set; }
///<summary>
///成绩2 模拟前端限定2位小数
///</summary>
[ColumnDataType("chartseries")]
public double Score2 { get; set; }
///<summary>
///身高 模拟前端限定2位小数
///</summary>
[PasteChartseries("bar",1)]
public double Score3 { get; set; }
/// <summary>
/// 普通菜单
/// </summary>
[ColumnDataType("menu", "菜单一", "open_window('查阅用户带参','./pasteform/index.html?path=userInfo&xxid={{:=item.id}}');", "Hui-iconfont-menu")]
public string Menu2 { get; set; }
/// <summary>
/// 普通条件菜单
/// </summary>
[ColumnDataType("ifmenu", "item.age==7", "<a href=\"javascript:;\" onclick=\"open_window(`111`,`./pasteform/index.html?path=userInfo&goid={{:=item.id}}`)\">条件1</a>", "")]
public string Menu3 { get; set; }
/// <summary>
/// 菜单盒子菜单
/// </summary>
[ColumnDataType("menu", "菜单二", "open_window('查阅用户带参','./pasteform/index.html?path=userInfo&xxid={{:=item.id}}');", "Hui-iconfont-menu", "box")]
public string Menu5 { get; set; }
/// <summary>
/// 菜单盒子中的条件菜单
/// </summary>
[ColumnDataType("ifmenu", "item.age==8", "<a href=\"javascript:;\" onclick=\"open_window(`222`,`./pasteform/index.html?path=userInfo&goid={{:=item.id}}`)\">条件2</a>", "box")]
public string Menu4 { get; set; }
/// <summary>
/// 详细
/// </summary>
[ColumnDataType("menu", "详细", "open_window('查看{{:=item.id}}详细','./pasteform/detail.html?path=testTable&id={{:=item.id}}');", "Hui-iconfont-menu")]
public string Menu6 { get; set; }
}
可以看到要以图表形式显示,依然简单,只需要打几个特性即可!!!
本来不引入这个的,但是在最新的一个项目中遇到如下问题!
假设有一个字段
my_stype
值有1,2
当值为1的时候,我希望 regexp:myrole 的显示,也就是不为1的时候 regexp:myrole 隐藏!
注意看上面,myrole更多的是一个类,因为单个没必要用正则regexp,假设他里面有10个字段,有些字段我不希望显示(某些地方要使用long类型,而前端我希望使用datetiem形式显示,那就有了api提交后,由服务端进行转换,所以这个时候hide就有必要了!)
之前也在考虑是否要引入jsonignore这个特性(官方就有了)
这个特性有点特殊,估计后续会引入!
数据隐藏不是直接去除这么简单,比如
user_id
userinfo
这个时候userinfo往往是为了给user_id提供UI的支持的,比如你选中的是10021233这个用户,显示一串数字肯定不合适的,通过比如outer特性,可以读取到显示为张三李四,这样会不会更好!!
changeui不会唤醒hide
hide不会在UI中有渲染或dom
提交的时候hide等效于jsonignore,不会提交给api端!
这个和之前的loaditem很像!
这个是本地化的loaditem!
比如有以下需求
如果type==1,则显示title字段
如果type==2则显示name字段
这个时候你就给type标注特性chagneui即可!
changeui
改变UI,reload的变种,reload需要api配合,这个是本地的,比如某一个选项选中1,则下面的4.5字段隐藏,否则45显示,是否支持组模式等???
如果选中命中args1,则args2隐藏,如果没命中,则args2显示
可以配置多个,比如有一个lselect有a,b,c对应ABC模块,如果默认值为a,则应该配置B,C隐藏,然后配置3个changeui,a,B b,B 和c,C
这样如果选中a,会走3遍,因为都没命中,也就是B,C都隐藏
如果选中B,也会走3遍,最后变成B显示,A,C隐藏了
| 字段 | 类型 | 示例 | 说明 |
|---|---|---|---|
| args1 | 字符串 | 1 | 当前字段的值,多个之间使用,隔开,比如1,2,3,4选项,选中2或4都可以执行以下逻辑,则2,4 |
| args2 | 字符串 | name,age,info_(.*)_name | 表示命中后哪些字段显示,否则隐藏,如果是组则group:开头,比如group:gc_01,如果是正则则regexp:开头,args3同理 |
| args3 | 字符串 | 备用 | 备用 |
| args4 | 字符串 | 备用 | 备用 |
Dto示例
/// <summary>
/// 类型
/// </summary>
[PasteSelect("[{\"name\":\"类型1\",\"value\":1},{\"name\":\"类型2\",\"value\":2}]")]
[PasteChangeui("1","title1")]
[PasteChangeui("2","title2")]
public int Vtype { get; set; }
/// <summary>
/// 标题 Vtype==1的时候填写
/// </summary>
[MaxLength(32)]
public string Title1 { get; set; }
/// <summary>
/// 标题 Vtype==2的时候填写
/// </summary>
[MaxLength(32)]
public string Title2 { get; set; }
UI表现

那是因为我给Vtype的默认值为0,所以2个都没显示!
如果切换一下,就会发现UI变了!
所以默认值也很重要!
注意
目前的changeui只能作用于select或者lselect特性之后,后续会扩展更多的支持,至少outer也是可以支持的!
标记字段,用于生成表格中的标记列。
书签特性的 popup 形式,点击后不跳转到新页面,而是在当前页面对应的位置弹出 popup 显示说明。
需要到 ../lib/api.js 配置 global_tap_mark 的 apiRoute。
| 字段 | 类型 | 示例 | 说明 |
|---|---|---|---|
| args1 | 字符 | product | 书签模块,为空表示当前模块 |
| args2 | 字符 | code | 书签项,为空表示当前字段 |
| args3 | 字符 | popup | 固定为 popup |
| args4 | 字符 | 留空 | 备用 |
批量操作,作用于 ListDto 中,在表格左上方显示,左侧会有可选的单选框,表示批量操作。
使用 FuncReadBitchCheckedNumber 或者 FuncReadBitchCheckedString 可以读取选中的值。
| 字段 | 类型 | 示例 | 说明 |
|---|---|---|---|
| args1 | 字符 | 批量删除 | 按钮名称 |
| args2 | 字符 | global_batch_del(this); | 点击后执行的函数 |
| args3 | 字符 | Hui-iconfont-shanchu | 图标 class |
| args4 | 字符 | 批量删除 | 鼠标悬浮标题 |
还支持 btnCode 参数用于按钮权限。
按钮。注意 Property 上只能单个,Class 上可以多个,表示功能按钮。
如果在 Class 上做权限按钮,需要配合 PasteEnable 使用:先禁用某功能,再写入对应按钮,也就是 PasteEnable 中配置 add 为 0,然后 PasteButton 中的 code 配置为 add。
| 字段 | 类型 | 示例 | 说明 |
|---|---|---|---|
| args1 | 字符 | 保存 | 按钮名称(Class 时为最下方提交按钮的文本) |
| args2 | 字符 | global_tap_regex(this); | 点击后执行的函数,支持宏 |
| args3 | 字符 | add | add 表示替换表格页面的新增按钮 |
| args4 | 字符 | 标题 | 鼠标悬浮标题 |
还支持 btnCode 参数用于按钮权限。
注意:PasteTitle 已废弃(建议改用 Notice 替代),其参数主要用于按钮等特殊组件的标题。
编辑模式后的小按钮(估计用 html 模式更可靠)。
| 字段 | 类型 | 示例 | 说明 |
|---|---|---|---|
| args1 | 字符 | 保存 | 按钮名称 |
| args2 | 字符 | 留空 | 自定义函数,留空表示 func_min_btn_click(this,id,name) |
| args3 | 字符 | 留空 | 样式名称 |
| args4 | 字符 | 留空 | 自定义参数 |
分组,用于 Class。
如果和 PasteDirectsun 一起用,且为数组,code 的格式形如 xxxx__0,这样才能基于当前新增一个组。
| 字段 | 类型 | 示例 | 说明 |
|---|---|---|---|
| args1 | 字符 | gr1 | 代码,唯一 |
| args2 | 字符 | 基础配置 | 名称 |
| args3 | 字符 | open | 是否展开,默认 open |
| args4 | 字符 | 留空 | 如果为 edit 表示可以基于当前版本创建一个新的,需要为数组模式 |
分组,用于 Property,需要和 Class 中的 PasteGroup 呼应。
Class 不写 PasteGroup 时,可以使用带名称的重载:命中第一个作为组。
如果和 PasteDirectsun 一起用,且为数组,code 的格式形如 xxxx__0。
| 字段 | 类型 | 示例 | 说明 |
|---|---|---|---|
| args1 | 字符 | gr1 | 代码,需和 Class 中的特性呼应 |
| args2 | 字符 | 基础配置 | 名称(Class 不写 Group 时使用) |
| args3 | 字符 | open | 是否展开,默认 open |
| args4 | 字符 | 留空 | 如果为 edit 表示可以基于当前版本创建一个新的,需要为数组模式 |
针对表格头设计的样式,默认 hresize 表示列拖拽调整大小。
| 字段 | 类型 | 示例 | 说明 |
|---|---|---|---|
| args1 | 字符 | hresize | 样式名称,默认 hresize |
| args2 | 字符 | 留空 | 备用 |
| args3 | 字符 | 留空 | 备用 |
| args4 | 字符 | 留空 | 备用 |
为表格的 tr 标记 class,可以使用宏。
有些时候表格需要为行限定样式,则指定一个字段用于当前行的 class 名称。
| 字段 | 类型 | 示例 | 说明 |
|---|---|---|---|
| args1 | 字符 | trclass_name | 字段的名称,表示从数据的该字段读取值作为样式名称 |
| args2 | 字符 | 留空 | 备用 |
| args3 | 字符 | 留空 | 备用 |
| args4 | 字符 | 留空 | 备用 |
为 tr 写入 html 代码,不再使用默认样式,直接渲染整行 tr,可以使用宏。
| 字段 | 类型 | 示例 | 说明 |
|---|---|---|---|
| args1 | 字符 | data-level=”{{:=item.level}}” | 写入到 tr 上的 html 属性代码 |
| args2 | 字符 | 留空 | 备用 |
| args3 | 字符 | 留空 | 备用 |
| args4 | 字符 | 留空 | 备用 |
标记为半行。主要针对 maxlength 大于 64 的字段,希望半行显示,否则会切换到单行。
要点字段,打重点、注意点,非必填。
字段统计,用于 Sum 计算,可以用于 UI 的当前页,也可以用于后端基于查询的统计。
用于表格中某一列值的统计,体现在表格页面就是某一列当前页面的合计是多少,支持多个字段都标记。
如果是基于查询的统计,你得返回 PasteTotal,也就是返回类型改成 PastePagedto。
评分,5 星评分,需要配合 PasteLoadlib 引入 ./lib/star_score.js。
| 字段 | 类型 | 示例 | 说明 |
|---|---|---|---|
| args1 | 数字 | 5 | 最大多少分 |
获取定位信息,需要坐标和地址信息(对应 wx.chooseLocation),详细地址放当前字段。
| 字段 | 类型 | 示例 | 说明 |
|---|---|---|---|
| args1 | 字符 | city | 城市放到哪个字段 |
| args2 | 字符 | longitude | 经度放到哪个字段,double 类型 |
| args3 | 字符 | latitude | 纬度放到哪个字段,double 类型 |
获取定位信息,只要坐标信息(对应 wx.getLocation)。
| 字段 | 类型 | 示例 | 说明 |
|---|---|---|---|
| args1 | 字符 | longitude | 经度放到哪个字段,double 类型 |
| args2 | 字符 | latitude | 纬度放到哪个字段,double 类型 |
是否启用 CRUD 功能,是 PasteDisable 的反向配置。
1 启用,0 不启用,其他值忽略、使用前端的默认配置。
| 字段 | 类型 | 示例 | 说明 |
|---|---|---|---|
| args1 | 数字 | 1 | 新增 1 启用 0 禁用 2 忽略 |
| args2 | 数字 | 1 | 编辑 1 启用 0 禁用 2 忽略 |
| args3 | 数字 | 1 | 删除 1 启用 0 禁用 2 忽略 |
| args4 | 数字 | 2 | 详细 1 启用 0 禁用 2 忽略 |
注意:PasteDisable 已过期,建议改用 PasteEnable。
表示忽略这个字段。和 JsonIgnore 有点区别,JsonIgnore 包含它。
标记这个的话,后端还是可以接收 json 的,只是返回给前端的时候不会有这个字段的信息,所以基于实际情况使用。
如果标记于 Class 上,表示这个 Class 不进行比如 Desc 等的处理(这里说的是 PasteBuilder 工具)。
值类型,特别用于前端要推测类型的时候,比如 EnumRoleType[],这个时候没办法从 value 推测,因为可能为 null,就需要这个辅助。
| 字段 | 类型 | 示例 | 说明 |
|---|---|---|---|
| args1 | 字符 | number | 值类型,可选 number/string/boolean |
配置默认以图表显示还是表格显示,还是 2 个都可以显示。谁写在前面就默认用哪个显示,也可以使用 query 中的 show_type 来传值。
| 字段 | 类型 | 示例 | 说明 |
|---|---|---|---|
| args1 | 字符 | table | 默认方式,table 表格 / chart 图表 |
| args2 | 字符 | chart | 可选方式,不能 2 个都一样,单个显示的时候这个参数留空 |
| args3 | 字符 | 留空 | 备用 |
| args4 | 字符 | 留空 | 备用 |
按需显示,是 PasteHidden 的权限版本,表示有对应 btnCode 的才显示。
特性名称为 hidden,有权限的时候不下发 hidden 特性。
| 字段 | 类型 | 示例 | 说明 |
|---|---|---|---|
| args1 | 字符 | view,bind | 不隐藏的 model,支持用 , 分割多个 |
| args2 | 字符 | 留空 | 备用 |
| args3 | 字符 | 留空 | 备用 |
| args4 | 字符 | 留空 | 备用 |
还支持 btnCode 参数,表示有该权限的时候才显示。
服务端特性,脱敏处理。需要 Class 先标记,表示这个对象有字段要脱敏,然后字段再标记。
| 字段 | 类型 | 示例 | 说明 |
|---|---|---|---|
| args1 | 数字 | 3 | 起始保留长度 |
| args2 | 数字 | 4 | 末尾保留长度 |
| args3 | 字符 | * | 脱敏字符 |
| args4 | 布尔 | false | 是否在新对象上处理,false 为原对象上变更 |
导出忽略。导出的时候,忽略这个字段,一般用于 ListDto 中的字段。
导出约定:没有名称的、菜单区域的、配置了当前特性的,都不导出。