{"type":"object","properties":{"name":{"description":"必填, 应用名称, 标识","maxLength":214,"minLength":1,"pattern":"^(?:\\x40[a-z0-9-*~][a-z0-9-*._~]*\\x47)?[a-z0-9-~][a-z0-9-._~]*$","type":"string"},"label":{"description":"选填, 应用别名","type":"string"},"version":{"description":"选填, 应用版本\nversion 值应该能够被 node-semver 解析","default":"0.1.0","type":"string"},"schemaVersion":{"description":"协议版本 (格式semver version)","type":"string"},"description":{"description":"选填, 应用简介","type":"string"},"main":{"description":"选填, 应用的入口组件","default":"home","type":"string"},"author":{"description":"选填, 应用的作者","type":"string"},"attributes":{"description":"可选, 应用的控制属性","type":"object","additionalProperties":{}},"events":{"description":"可选, 应用事件信息"},"items":{"description":"必填, 应用的组件集合","type":"array","items":{"$ref":"#/definitions/IBaseComponent"}},"dataSources":{"description":"可选, 数据源集合","type":"array","items":{"$ref":"#/definitions/IDataSource"}},"resources":{"description":"可选, 应用的资源集合\n\n例如, 代码片段、组件库、静态资源","type":"array","items":{"$ref":"#/definitions/IResource"}},"listeners":{"description":"可选, 应用绑定的监听器","type":"array","items":{"$ref":"#/definitions/IListener"}},"extra":{"description":"可选, 扩展字段, 尽量避免用"}},"additionalProperties":false,"required":["items"],"definitions":{"IBaseComponent":{"type":"object","properties":{"id":{"description":"选填, 当前页面内的唯一 ID","type":"string"},"name":{"description":"可选, 数据字段名, 作为向后台传值的名称约定, 如 \"user_name\"","type":"string"},"label":{"description":"可选, 对用户可读的名称, 如 \"用户名\"","type":"string"},"module":{"description":"所属组件库","type":"string"},"component":{"description":"必填, 组件名, 一般首字母大写的大驼峰形式, 如 Image","type":"string"},"type":{"description":"选填, 组件类型","type":"string"},"value":{"description":"可选, 组件取值, 具体类型依赖 validity.format 决定"},"attributes":{"description":"可选, 组件控制属性","$ref":"#/definitions/IAttributes"},"events":{"description":"可选, 组件事件信息","$ref":"#/definitions/IEvents"},"validity":{"description":"可选, 组件的数据有效性校验","$ref":"#/definitions/IValidity"},"extra":{"description":"可选, 扩展字段, 尽量避免用"},"items":{"description":"可选, 可递归结构, 子级对应","type":"array","items":{"$ref":"#/definitions/IBaseComponent"}},"resources":{"description":"可选, 应用的资源集合\n\n例如, 代码片段、组件库、静态资源","type":"array","items":{"$ref":"#/definitions/IResource"}},"listeners":{"description":"可选, 组件绑定的监听器","type":"array","items":{"$ref":"#/definitions/IListener"}},"dataset":{"description":"可选, 变量集合","$ref":"#/definitions/IDataset"},":class":{"description":"可选，动态绑定 class，字符串表达式\n'[\"1\", \"2\"]'","type":"string"},":style":{"description":"可选，动态绑定 style, 与静态合并，字符表达式\n'{width: 17}'","type":"string"},"scopedStyle":{"description":"可选，组件局部样式","type":"string"},"directives":{"description":"选填，指令属性","type":"object","properties":{":if":{"description":"选填，动态 if 指令\nboolean 或 字符串表达式","default":true,"type":["string","boolean"]},":display":{"description":"选填，动态 display 指令\nboolean 或 字符串表达式","default":true,"type":["string","boolean"]},":for":{"description":"选填，动态 for 指令\n字符串表达式 (item, index) in list","type":"string"},"key":{"description":"选填，静态 for key\n字符串，表示 for item 的 key","type":"string"}},"additionalProperties":false}},"additionalProperties":false},"IAttributes":{"type":"object","additionalProperties":{},"properties":{"class":{"description":"可选, 样式名","type":"string"},"style":{"description":"可选, 标准 CSS 属性, 由于过多不宜下钻定义","type":"object","properties":{},"additionalProperties":true},"hide":{"description":"可选, 是否隐藏","type":"boolean"}}},"IEvents":{"type":"object","properties":{"clickEventName":{"description":"可选, 点击事件名","default":"click","type":"string"},"dblClickEventName":{"description":"可选, 双击事件名","default":"dbClick","type":"string"},"mouseEnterEventName":{"description":"可选, 鼠标移入事件名","default":"mouseEnter","type":"string"},"mouseLeaveEventName":{"description":"可选, 鼠标移出事件名","default":"mouseLeave","type":"string"},"changeEventName":{"description":"可选, 值变化事件名","default":"change","type":"string"},"dragStartEventName":{"description":"可选, 开始拖拽事件名","default":"dragStart","type":"string"},"dragEventName":{"description":"可选, 拖拽事件名","default":"drag","type":"string"},"dragEndEventName":{"description":"可选, 结束拖拽事件名","default":"dragEnd","type":"string"},"customEventName":{"description":"可选, 自定义事件名","type":"string"},"lifecycleConnectedEventName":{"description":"可选, 生命周期 - connected 事件名","type":"string"},"lifecycleDisconnectedEventName":{"description":"可选, 生命周期 - disconnected 事件名","type":"string"},"lifecycleAdoptedEventName":{"description":"可选, 生命周期 - adopted 事件名","type":"string"},"lifecycleAttributeChangedEventName":{"description":"可选, 生命周期 - attributeChanged 事件名","type":"string"}},"additionalProperties":false},"IValidity":{"type":"object","properties":{"required":{"description":"可选, 组件值是否必填","type":"boolean"},"format":{"description":"可选, 组件值的数据类型","type":"string"},"min":{"description":"可选, 最小值/最小长度","type":"number"},"max":{"description":"可选, 最大值/最大长度","type":"number"},"pattern":{"description":"可选, 需要符合的正则表达式","type":"string"}},"additionalProperties":false},"IResource":{"type":"object","additionalProperties":{},"properties":{"name":{"description":"必填，资源名","type":"string"},"type":{"description":"必填，资源类型","type":"string"}},"required":["name","type"]},"IListener":{"description":"应用/组件 绑定的监听器","type":"object","properties":{"id":{"description":"可选，listener id","type":"string"},"isCapturePhase":{"description":"可选，是否在捕获阶段响应","default":false,"type":"boolean"},"noPropagation":{"description":"可选，是否附上事件传播","type":"boolean"},"type":{"description":"可选, 监听器类型","type":"string"},"handler":{"description":"可选, 绑定的处理器","$ref":"#/definitions/IHandler"},"eventName":{"description":"必填, 监听的事件名, 来源于 IEvents 定义的事件","type":"string"}},"additionalProperties":false,"required":["eventName"]},"IHandler":{"description":"监听器触发的处理器 handler中可查询 诸如数据源信息以及各种事件信息","type":"object","properties":{"name":{"description":"必填, 处理器的名称","type":"string"},"module":{"description":"可选, 处理器所属的模块","type":"string"},"code":{"type":"string"},":code":{"description":"可选，handler inline 代码表达式\n因为主要作为引用来使用，使用表达式更合适","type":"string"},"params":{"description":"可选, 处理器的入参","anyOf":[{"type":"object","properties":{},"additionalProperties":true},{"type":"array","items":{}}]}},"additionalProperties":false,"required":["name"]},"IDataset":{"description":"变量","type":"object","properties":{"state":{"description":"状态","type":"object","additionalProperties":{}},"params":{"description":"页面/应用 参数","type":"object","additionalProperties":{"$ref":"#/definitions/IParamsVariable"}},"pageName":{"description":"可选，页面配置名称","type":"string"}},"additionalProperties":false},"IParamsVariable":{"description":"页面参数定义","type":"object","properties":{"name":{"description":"参数名称","type":"string"},"varType":{"description":"变量类型","type":"string","const":"params"},"label":{"description":"中文名","type":"string"},"required":{"description":"是否必填, 默认 false","type":"boolean"},"initialValue":{"description":"默认值","type":"string"},"sampleValue":{"description":"示例值, ide 开发时使用","type":"string"}},"additionalProperties":false,"required":["name","varType"]},"IDataSource":{"type":"object","properties":{"name":{"description":"必填, 数据源标识","type":"string"},"label":{"description":"选填, 数据源别名","type":"string"},"description":{"description":"选填, 数据源描述","type":"string"},"type":{"description":"选填, 数据源类型","type":"string"},"config":{"description":"选填, 数据源配置"},"methods":{"description":"选填, 数据源操作方法","type":"array","items":{"$ref":"#/definitions/IDataMethod"}}},"additionalProperties":false,"required":["name"]},"IDataMethod":{"type":"object","properties":{"name":{"description":"必填, 数据源方法名","type":"string"},"label":{"description":"选填, 数据源方法别名","type":"string"},"description":{"description":"选填, 数据源方法的描述","type":"string"},"disabled":{"description":"方法是否禁用, 留空则默认启用\n 为true则方法定义后不实际使用","type":"boolean"},"calleeBody":{"description":"选填, 数据源方法的实现"}},"additionalProperties":false,"required":["name"]}},"$schema":"http://json-schema.org/draft-07/schema#"}