Skip to main content
Version: 3.3

语言概览

分类概念概念JSON 示例
basics/typesTypeAnnotation类型标注Boolean 布尔值
{
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Boolean",
"inferred": false,
"ruleMap": {}
}
Integer 整数
{
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Long",
"inferred": false,
"ruleMap": {}
}
Decimal 小数
{
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Decimal",
"inferred": false,
"ruleMap": {}
}
String 字符串
{
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "String",
"inferred": false,
"ruleMap": {}
}
basics/typesDatabaseTypeAnnotation数据库存储类型
{
"concept": "DatabaseTypeAnnotation",
"typeName": "decimal",
"arguments": {
"precision": "31"
}
}
basics/typesTypeParam类型参数
{
"concept": "TypeParam",
"name": "T"
}
basics/typesStructure数据结构
{
"concept": "Structure",
"name": "ProductOrder",
"description": "",
"properties": [
{
"concept": "StructureProperty",
"name": "product",
"label": "商品",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "reference",
"typeNamespace": "app.dataSources.defaultDS.entities",
"typeName": "Product",
"inferred": false,
"ruleMap": {}
},
"jsonName": "",
"description": "",
"required": false,
"defaultValue": ""
},
{
"concept": "StructureProperty",
"name": "order",
"label": "订单",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "reference",
"typeNamespace": "app.dataSources.defaultDS.entities",
"typeName": "OrderForm",
"inferred": false,
"ruleMap": {}
},
"jsonName": "",
"description": "",
"required": false,
"defaultValue": ""
},
{
"concept": "StructureProperty",
"name": "count",
"label": "数量",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Long",
"inferred": false,
"ruleMap": {}
},
"jsonName": "",
"description": "",
"required": false,
"defaultValue": ""
}
]
}
带描述的示例
{
"concept": "Structure",
"name": "ProductOrder",
"description": "表示商品订单的结构",
"properties": [
{
"concept": "StructureProperty",
"name": "product",
"label": "商品",
"description": "商品属性",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "reference",
"typeNamespace": "app.dataSources.defaultDS.entities",
"typeName": "Product",
"inferred": false,
"ruleMap": {}
},
"jsonName": "product-",
"required": false,
"defaultValue": ""
},
{
"concept": "StructureProperty",
"name": "order",
"label": "订单",
"description": "订单属性",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "reference",
"typeNamespace": "app.dataSources.defaultDS.entities",
"typeName": "OrderForm",
"inferred": false,
"ruleMap": {}
},
"jsonName": "order-",
"required": false,
"defaultValue": ""
},
{
"concept": "StructureProperty",
"name": "count",
"label": "数量",
"description": "订单中该商品的数量",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Long",
"inferred": false,
"ruleMap": {}
},
"jsonName": "count-",
"required": false,
"defaultValue": "120"
}
]
}
{
"concept": "Structure",
"name": "ExtendedList",
"description": "",
"typeParams": [
{
"concept": "TypeParam",
"name": "T"
}
],
"properties": [
{
"concept": "StructureProperty",
"name": "length",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Integer",
"inferred": false,
"ruleMap": {}
},
"description": "",
"required": false,
"defaultValue": "",
"jsonName": ""
}
]
}
basics/typesStructureProperty数据结构属性
{
"concept": "StructureProperty",
"name": "count",
"label": "数量",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Long",
"inferred": false,
"ruleMap": {}
},
"description": "",
"required": false,
"defaultValue": "",
"jsonName": ""
}
{
"concept": "StructureProperty",
"name": "count",
"label": "数量",
"description": "订单中该商品的数量",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Long",
"inferred": false,
"ruleMap": {}
},
"jsonName": "count-",
"required": false,
"defaultValue": "120"
}
basics/typesEnum枚举
{
"concept": "Enum",
"name": "ProductStatus",
"label": "",
"description": "",
"enumItems": [
{
"concept": "EnumItem",
"value": "Listing",
"label": "上架"
},
{
"concept": "EnumItem",
"value": "Delisting",
"label": "下架"
}
]
}
带描述的示例
{
"concept": "Enum",
"name": "ProductStatus",
"label": "商品状态",
"description": "表示商品状态的枚举",
"enumItems": [
{
"concept": "EnumItem",
"value": "Listing",
"label": "上架"
},
{
"concept": "EnumItem",
"value": "Delisting",
"label": "下架"
}
]
}
basics/typesEnumItem枚举值带描述的示例
{
"concept": "EnumItem",
"value": "Listing",
"label": "上架"
}
basics/typesMetadataType元数据类型
{
"concept": "MetadataType",
"name": "Currency",
"label": "货币",
"uuid": "83450632af284642ab5c967e82d49be4",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Decimal",
"inferred": false,
"ruleMap": {}
},
"rules": [
{
"concept": "ValidationRule",
"calleeNamespace": "nasl.validation",
"calleeName": "min",
"arguments": [
{
"concept": "Argument",
"keyword": "min",
"expression": {
"concept": "NumericLiteral",
"value": "0",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Long",
"inferred": false,
"ruleMap": {}
}
}
}
],
"target": {
"concept": "Identifier",
"namespace": "",
"name": ""
},
"enableServerValidation": true
},
{
"concept": "ValidationRule",
"calleeNamespace": "nasl.validation",
"calleeName": "max",
"arguments": [
{
"concept": "Argument",
"keyword": "max",
"expression": {
"concept": "NumericLiteral",
"value": "99999999",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Long",
"inferred": false,
"ruleMap": {}
}
}
}
],
"target": {
"concept": "Identifier",
"namespace": "",
"name": ""
},
"enableServerValidation": true
}
],
"playground": []
}
basics/literalsNullLiteral空字面量
{
"concept": "NullLiteral"
}
basics/literalsBooleanLiteral布尔型字面量
{
"concept": "BooleanLiteral",
"value": "true"
}
basics/literalsStringLiteral字符串字面量
{
"concept": "StringLiteral",
"value": "这是一段文本"
}
basics/literalsStringInterpolation字符串插值
{
"concept": "StringInterpolation",
"expressions": [
{
"concept": "StringLiteral",
"value": "总数:"
},
{
"concept": "Identifier",
"namespace": "",
"name": "total"
},
{
"concept": "StringLiteral",
"value": "\n价格:"
},
{
"concept": "Identifier",
"namespace": "",
"name": "price"
}
]
}
basics/literalsNumericLiteral数字字面量
{
"concept": "NumericLiteral",
"value": "24",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeNamespace": "nasl.core",
"typeKind": "primitive",
"typeName": "Long",
"inferred": false,
"ruleMap": {}
}
}
basics/expressionsCallFunction调用函数
{
"concept": "CallFunction",
"label": "调用逻辑",
"calleeNamespace": "nasl.util",
"calleeName": "Clone",
"arguments": [
{
"concept": "Argument",
"keyword": "obj",
"expression": {
"concept": "Identifier",
"namespace": "",
"name": "student"
}
}
]
}
带 lambda 的入参
{
"concept": "CallFunction",
"label": "内置函数",
"calleeNamespace": "nasl.util",
"calleeName": "ListFilter",
"typeArguments": [],
"arguments": [
{
"concept": "Argument",
"keyword": "list",
"expression": {
"concept": "Identifier",
"namespace": "",
"name": "list"
}
},
{
"concept": "Argument",
"keyword": "by",
"expression": {
"concept": "AnonymousFunction",
"params": [
{
"concept": "Param",
"name": "item",
"description": "",
"required": true
}
],
"body": {
"concept": "BinaryExpression",
"left": {
"concept": "MemberExpression",
"object": {
"concept": "MemberExpression",
"object": {
"concept": "Identifier",
"namespace": "",
"name": "item"
},
"property": {
"concept": "Identifier",
"namespace": "",
"name": "productReport"
}
},
"property": {
"concept": "Identifier",
"namespace": "",
"name": "executed"
}
},
"right": {
"concept": "NullLiteral"
},
"operator": "!="
}
}
}
]
}
basics/expressionsValidationRule验证规则
{
"concept": "ValidationRule",
"calleeNamespace": "nasl.validation",
"calleeName": "maxLength",
"arguments": [
{
"concept": "Argument",
"keyword": "max",
"expression": {
"concept": "NumericLiteral",
"value": "100",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Long",
"inferred": false,
"ruleMap": {}
}
}
}
],
"target": {
"concept": "Identifier",
"namespace": "",
"name": ""
},
"enableServerValidation": true
}
{
"concept": "ValidationRule",
"calleeNamespace": "nasl.validation",
"calleeName": "maxLength",
"arguments": [
{
"concept": "Argument",
"keyword": "max",
"expression": {
"concept": "NumericLiteral",
"value": "100",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Long",
"inferred": false,
"ruleMap": {}
}
}
}
],
"errorMessage": {
"concept": "StringLiteral",
"value": "格式不正确"
},
"target": {
"concept": "Identifier",
"namespace": "",
"name": ""
},
"enableServerValidation": true
}
basics/expressionsIdentifier标识符
{
"concept": "Identifier",
"namespace": "",
"name": "student"
}
枚举标识符
{
"concept": "Identifier",
"namespace": "app.enums",
"name": "StatusEnum"
}
basics/expressionsBinaryExpression二元表达式
{
"concept": "BinaryExpression",
"left": {
"concept": "Identifier",
"namespace": "",
"name": "ratio"
},
"operator": "*",
"right": {
"concept": "NumericLiteral",
"value": "100",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Long",
"inferred": false,
"ruleMap": {}
}
}
}
{
"concept": "BinaryExpression",
"left": {
"concept": "Identifier",
"namespace": "",
"name": "ratio"
},
"operator": "==",
"right": {
"concept": "NumericLiteral",
"value": "1",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Long",
"inferred": false,
"ruleMap": {}
}
}
}
{
"concept": "BinaryExpression",
"left": {
"concept": "Identifier",
"namespace": "",
"name": "condition1"
},
"operator": "||",
"right": {
"concept": "BinaryExpression",
"left": {
"concept": "Identifier",
"namespace": "",
"name": "ratio"
},
"operator": ">",
"right": {
"concept": "NumericLiteral",
"value": "1",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Long",
"inferred": false,
"ruleMap": {}
}
}
}
}
数据查询中的二元表达式
{
"concept": "BinaryExpression",
"left": {
"concept": "QueryFieldExpression",
"isDotStar": false,
"entityAsName": "Student",
"propertyName": "fullName",
"asName": ""
},
"right": {
"concept": "Identifier",
"namespace": "",
"name": "name"
},
"operator": "like"
}
basics/expressionsMatchCase匹配分支
{
"concept": "MatchCase",
"patterns": [
{
"concept": "BooleanLiteral",
"value": "true"
}
],
"body": [
{
"concept": "NumericLiteral",
"value": "1",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Long",
"inferred": false,
"ruleMap": {}
}
}
],
"isMatchedTypeEnumable": true
}
{
"concept": "MatchCase",
"patterns": [],
"body": [],
"isMatchedTypeEnumable": false
}
basics/expressionsMatch匹配
{
"concept": "Match",
"expression": {
"concept": "MemberExpression",
"object": {
"concept": "MemberExpression",
"object": {
"concept": "Identifier",
"namespace": "",
"name": "item"
},
"property": {
"concept": "Identifier",
"namespace": "",
"name": "productReport"
}
},
"property": {
"concept": "Identifier",
"namespace": "",
"name": "executed"
}
},
"isExpression": true,
"cases": [
{
"concept": "MatchCase",
"patterns": [
{
"concept": "BooleanLiteral",
"value": "true"
}
],
"body": [
{
"concept": "NumericLiteral",
"value": "1",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Long",
"inferred": false,
"ruleMap": {}
}
}
],
"isMatchedTypeEnumable": true
},
{
"concept": "MatchCase",
"patterns": [
{
"concept": "BooleanLiteral",
"value": "false"
}
],
"body": [
{
"concept": "NumericLiteral",
"value": "0",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Long",
"inferred": false,
"ruleMap": {}
}
}
],
"isMatchedTypeEnumable": true
},
{
"concept": "MatchCase",
"patterns": [],
"body": [],
"isMatchedTypeEnumable": false
}
]
}
basics/expressionsUnaryExpression一元表达式
{
"concept": "UnaryExpression",
"operator": "!",
"argument": {
"concept": "Identifier",
"namespace": "",
"name": "condition"
}
}
数据查询中的一元表达式
{
"concept": "UnaryExpression",
"operator": "isNull",
"argument": {
"concept": "Identifier",
"namespace": "",
"name": "condition"
}
}
basics/expressionsMemberExpression成员表达式
{
"concept": "MemberExpression",
"object": {
"concept": "Identifier",
"namespace": "",
"name": "student"
},
"property": {
"concept": "Identifier",
"namespace": "",
"name": "name"
}
}
{
"concept": "MemberExpression",
"object": {
"concept": "MemberExpression",
"object": {
"concept": "Identifier",
"namespace": "",
"name": "item"
},
"property": {
"concept": "Identifier",
"namespace": "",
"name": "student"
}
},
"property": {
"concept": "Identifier",
"namespace": "",
"name": "name"
}
}
枚举标识符
{
"concept": "MemberExpression",
"object": {
"concept": "Identifier",
"namespace": "app.enums",
"name": "Status"
},
"property": {
"concept": "Identifier",
"namespace": "",
"name": "Normal"
}
}
数值枚举标识符
{
"concept": "MemberExpression",
"object": {
"concept": "Identifier",
"namespace": "app.enums",
"name": "Status"
},
"property": {
"concept": "Identifier",
"namespace": "",
"name": "0"
}
}
basics/expressionsUnparsed未解析的
basics/expressionsNew构造器
{
"concept": "New"
}
basics/expressionsNewComposite实体/(匿名)数据结构构造器
{
"concept": "NewComposite",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "reference",
"typeNamespace": "app.dataSources.defaultDS.entities",
"typeName": "Student",
"inferred": false,
"ruleMap": {}
},
"properties": [
{
"concept": "Identifier",
"namespace": "",
"name": "id"
},
{
"concept": "Identifier",
"namespace": "",
"name": "createdTime"
},
{
"concept": "Identifier",
"namespace": "",
"name": "updatedTime"
},
{
"concept": "Identifier",
"namespace": "",
"name": "createdBy"
},
{
"concept": "Identifier",
"namespace": "",
"name": "updatedBy"
},
{
"concept": "Identifier",
"namespace": "",
"name": "name"
}
],
"rights": [
{
"concept": "SelectMembers",
"hideMembers": false,
"expression": {
"concept": "StringLiteral",
"value": "学生甲"
},
"members": []
}
],
"assignmentLines": [
{
"concept": "AssignmentLine",
"leftIndex": [
0,
5
],
"rightIndex": [
0
]
}
],
"hideProperties": false,
"hideDefaults": false,
"autoConnection": true
}
新建匿名数据结构
{
"concept": "NewComposite",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "anonymousStructure",
"typeNamespace": "",
"typeName": "",
"inferred": false,
"ruleMap": {},
"properties": [
{
"concept": "StructureProperty",
"name": "name",
"required": true
},
{
"concept": "StructureProperty",
"name": "age",
"required": true
}
]
},
"properties": [
{
"concept": "Identifier",
"namespace": "",
"name": "name"
},
{
"concept": "Identifier",
"namespace": "",
"name": "age"
}
],
"rights": [
{
"concept": "SelectMembers",
"hideMembers": false,
"expression": {
"concept": "NumericLiteral",
"value": "24",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Long",
"inferred": false,
"ruleMap": {}
}
},
"members": []
},
{
"concept": "SelectMembers",
"hideMembers": false,
"expression": {
"concept": "StringLiteral",
"value": "学生甲"
},
"members": []
}
],
"assignmentLines": [
{
"concept": "AssignmentLine",
"leftIndex": [
0,
0
],
"rightIndex": [
1
]
},
{
"concept": "AssignmentLine",
"leftIndex": [
0,
1
],
"rightIndex": [
0
]
}
],
"hideProperties": false,
"hideDefaults": false,
"autoConnection": true
}
basics/expressionsNewList列表构造器
{
"concept": "NewList",
"items": [
{
"concept": "StringLiteral",
"value": "选项1"
},
{
"concept": "StringLiteral",
"value": "选项2"
},
{
"concept": "StringLiteral",
"value": "选项3"
}
]
}
basics/expressionsNewMapMap 构造器
{
"concept": "NewMap",
"keys": [
{
"concept": "NumericLiteral",
"value": "1",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Long",
"inferred": false,
"ruleMap": {}
}
},
{
"concept": "NumericLiteral",
"value": "2",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Long",
"inferred": false,
"ruleMap": {}
}
},
{
"concept": "NumericLiteral",
"value": "3",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Long",
"inferred": false,
"ruleMap": {}
}
}
],
"values": [
{
"concept": "StringLiteral",
"value": "选项1"
},
{
"concept": "StringLiteral",
"value": "选项2"
},
{
"concept": "StringLiteral",
"value": "选项3"
}
]
}
basics/statementsAbort中止表达式
{
"concept": "Abort"
}
basics/statementsStart开始节点
{
"concept": "Start"
}
basics/statementsEnd结束节点
{
"concept": "End"
}
basics/statementsIfStatement条件分支
{
"concept": "IfStatement",
"test": {
"concept": "BinaryExpression",
"left": {
"concept": "MemberExpression",
"object": {
"concept": "Identifier",
"namespace": "",
"name": "list"
},
"property": {
"concept": "Identifier",
"namespace": "",
"name": "length"
}
},
"right": {
"concept": "NumericLiteral",
"value": "0",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Long",
"inferred": false,
"ruleMap": {}
}
},
"operator": "=="
},
"consequent": [
{
"concept": "Assignment",
"label": "赋值",
"left": {
"concept": "Identifier",
"namespace": "",
"name": "result"
},
"right": {
"concept": "NullLiteral"
}
}
],
"alternate": [
{
"concept": "Assignment",
"label": "赋值",
"left": {
"concept": "Identifier",
"namespace": "",
"name": "result"
},
"right": {
"concept": "BinaryExpression",
"left": {
"concept": "CallFunction",
"label": "内置函数",
"calleeNamespace": "nasl.util",
"calleeName": "ListSum",
"typeArguments": [],
"arguments": [
{
"concept": "Argument",
"keyword": "list",
"expression": {
"concept": "Identifier",
"namespace": "",
"name": "list"
}
}
]
},
"right": {
"concept": "MemberExpression",
"object": {
"concept": "Identifier",
"namespace": "",
"name": "list"
},
"property": {
"concept": "Identifier",
"namespace": "",
"name": "length"
}
},
"operator": "/"
}
}
]
}
basics/statementsSwitchStatement选择分支
{
"concept": "SwitchStatement",
"cases": [
{
"concept": "SwitchCase",
"test": {
"concept": "BinaryExpression",
"left": {
"concept": "MemberExpression",
"object": {
"concept": "Identifier",
"namespace": "",
"name": "list"
},
"property": {
"concept": "Identifier",
"namespace": "",
"name": "length"
}
},
"right": {
"concept": "NumericLiteral",
"value": "0",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Long",
"inferred": false,
"ruleMap": {}
}
},
"operator": "=="
},
"consequent": [
{
"concept": "CallLogic",
"uuid": "1a3ec5f53ff84d5f87cd9d81b741bd39",
"calleeNamespace": "nasl.logging",
"calleeName": "INFO",
"shortcut": true,
"arguments": [
{
"concept": "Argument",
"keyword": "模板",
"expression": {
"concept": "StringLiteral",
"value": "情况1"
}
}
]
}
]
},
{
"concept": "SwitchCase",
"test": {
"concept": "BinaryExpression",
"left": {
"concept": "MemberExpression",
"object": {
"concept": "Identifier",
"namespace": "",
"name": "list"
},
"property": {
"concept": "Identifier",
"namespace": "",
"name": "length"
}
},
"right": {
"concept": "NumericLiteral",
"value": "10",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Long",
"inferred": false,
"ruleMap": {}
}
},
"operator": "<="
},
"consequent": [
{
"concept": "CallLogic",
"uuid": "08d83151df934c3e904ab8704e14b2ae",
"calleeNamespace": "nasl.logging",
"calleeName": "INFO",
"shortcut": true,
"arguments": [
{
"concept": "Argument",
"keyword": "模板",
"expression": {
"concept": "StringLiteral",
"value": "情况2"
}
}
]
}
]
},
{
"concept": "SwitchCase",
"consequent": [
{
"concept": "CallLogic",
"uuid": "11fe6dacbd3f42749c14c272fad6ffbb",
"calleeNamespace": "nasl.logging",
"calleeName": "INFO",
"shortcut": true,
"arguments": [
{
"concept": "Argument",
"keyword": "模板",
"expression": {
"concept": "StringLiteral",
"value": "其它情况"
}
}
]
}
]
}
]
}
basics/statementsSwitchCase选择分支情况
{
"concept": "SwitchCase",
"test": {
"concept": "BinaryExpression",
"left": {
"concept": "MemberExpression",
"object": {
"concept": "Identifier",
"namespace": "",
"name": "list"
},
"property": {
"concept": "Identifier",
"namespace": "",
"name": "length"
}
},
"right": {
"concept": "NumericLiteral",
"value": "10",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Long",
"inferred": false,
"ruleMap": {}
}
},
"operator": "<="
},
"consequent": [
{
"concept": "CallLogic",
"uuid": "08d83151df934c3e904ab8704e14b2ae",
"calleeNamespace": "nasl.logging",
"calleeName": "INFO",
"shortcut": true,
"arguments": [
{
"concept": "Argument",
"keyword": "模板",
"expression": {
"concept": "StringLiteral",
"value": "情况2"
}
}
]
}
]
}
else
{
"concept": "SwitchCase",
"consequent": [
{
"concept": "CallLogic",
"uuid": "11fe6dacbd3f42749c14c272fad6ffbb",
"calleeNamespace": "nasl.logging",
"calleeName": "INFO",
"shortcut": true,
"arguments": [
{
"concept": "Argument",
"keyword": "模板",
"expression": {
"concept": "StringLiteral",
"value": "其它情况"
}
}
]
}
]
}
basics/statementsForEachStatementForEach 循环分支
{
"concept": "ForEachStatement",
"each": {
"concept": "Identifier",
"namespace": "",
"name": "list"
},
"item": {
"concept": "Param",
"name": "item",
"description": "",
"required": true
},
"index": {
"concept": "Param",
"name": "index",
"description": "",
"required": true
},
"start": {
"concept": "NumericLiteral",
"value": "0",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Long",
"inferred": false,
"ruleMap": {}
}
},
"body": [
{
"concept": "IfStatement",
"test": {
"concept": "BinaryExpression",
"left": {
"concept": "MemberExpression",
"object": {
"concept": "MemberExpression",
"object": {
"concept": "Identifier",
"namespace": "",
"name": "item"
},
"property": {
"concept": "Identifier",
"namespace": "",
"name": "productReport"
}
},
"property": {
"concept": "Identifier",
"namespace": "",
"name": "accepted"
}
},
"right": {
"concept": "BooleanLiteral",
"value": "true"
},
"operator": "=="
},
"consequent": [
{
"concept": "CallFunction",
"label": "内置函数",
"calleeNamespace": "nasl.util",
"calleeName": "Add",
"typeArguments": [],
"arguments": [
{
"concept": "Argument",
"keyword": "list",
"expression": {
"concept": "Identifier",
"namespace": "",
"name": "fullAcceptedList"
}
},
{
"concept": "Argument",
"keyword": "item",
"expression": {
"concept": "NumericLiteral",
"value": "1",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Long",
"inferred": false,
"ruleMap": {}
}
}
}
]
}
],
"alternate": [
{
"concept": "CallFunction",
"label": "内置函数",
"calleeNamespace": "nasl.util",
"calleeName": "Add",
"typeArguments": [],
"arguments": [
{
"concept": "Argument",
"keyword": "list",
"expression": {
"concept": "Identifier",
"namespace": "",
"name": "fullAcceptedList"
}
},
{
"concept": "Argument",
"keyword": "item",
"expression": {
"concept": "NumericLiteral",
"value": "0",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Long",
"inferred": false,
"ruleMap": {}
}
}
}
]
}
]
}
]
}
basics/statementsWhileStatementWhile 循环分支
{
"concept": "WhileStatement",
"test": {
"concept": "BinaryExpression",
"left": {
"concept": "MemberExpression",
"object": {
"concept": "Identifier",
"namespace": "",
"name": "list"
},
"property": {
"concept": "Identifier",
"namespace": "",
"name": "length"
}
},
"operator": ">",
"right": {
"concept": "NumericLiteral",
"value": "0",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Long",
"inferred": false,
"ruleMap": {}
}
}
},
"body": [
{
"concept": "CallFunction",
"calleeNamespace": "nasl.util",
"calleeName": "RemoveAt",
"typeArguments": [],
"arguments": [
{
"concept": "Argument",
"keyword": "list",
"expression": {
"concept": "Identifier",
"namespace": "",
"name": "list"
}
},
{
"concept": "Argument",
"keyword": "index",
"expression": {
"concept": "NumericLiteral",
"value": "0",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Long",
"inferred": false,
"ruleMap": {}
}
}
}
]
}
]
}
basics/statementsAssignment赋值语句
{
"concept": "Assignment",
"label": "赋值",
"left": {
"concept": "Identifier",
"namespace": "",
"name": "result"
},
"right": {
"concept": "MemberExpression",
"object": {
"concept": "Identifier",
"namespace": "",
"name": "product"
},
"property": {
"concept": "Identifier",
"namespace": "",
"name": "price"
}
}
}
basics/statementsBatchAssignment批量赋值语句
{
"concept": "BatchAssignment",
"label": "批量赋值",
"left": {
"concept": "SelectMembers",
"hideMembers": false,
"expression": {
"concept": "Identifier",
"namespace": "",
"name": "result"
},
"members": [
{
"concept": "MemberExpression",
"object": {
"concept": "Identifier",
"namespace": "",
"name": "result"
},
"property": {
"concept": "Identifier",
"namespace": "",
"name": "accepted"
}
},
{
"concept": "MemberExpression",
"object": {
"concept": "Identifier",
"namespace": "",
"name": "result"
},
"property": {
"concept": "Identifier",
"namespace": "",
"name": "executed"
}
},
{
"concept": "MemberExpression",
"object": {
"concept": "Identifier",
"namespace": "",
"name": "result"
},
"property": {
"concept": "Identifier",
"namespace": "",
"name": "fullAccepted"
}
},
{
"concept": "MemberExpression",
"object": {
"concept": "Identifier",
"namespace": "",
"name": "result"
},
"property": {
"concept": "Identifier",
"namespace": "",
"name": "success"
}
}
]
},
"rights": [
{
"concept": "SelectMembers",
"hideMembers": false,
"expression": {
"uuid": "52f1329c82414b9a8c320815cf703425",
"concept": "CallLogic",
"label": "调用逻辑",
"calleeNamespace": "app.logics",
"calleeName": "computeRatio",
"handleError": false,
"arguments": [
{
"concept": "Argument",
"keyword": "list",
"expression": {
"concept": "Identifier",
"namespace": "",
"name": "executedList"
}
}
]
},
"members": []
},
{
"concept": "SelectMembers",
"hideMembers": false,
"expression": {
"uuid": "aabee80d05b94a64ab797bae0f11aa85",
"concept": "CallLogic",
"label": "调用逻辑",
"calleeNamespace": "app.logics",
"calleeName": "computeRatio",
"handleError": false,
"arguments": [
{
"concept": "Argument",
"keyword": "list",
"expression": {
"concept": "Identifier",
"namespace": "",
"name": "successList"
}
}
]
},
"members": []
},
{
"concept": "SelectMembers",
"hideMembers": false,
"expression": {
"uuid": "a274f5173af049feaee53c1b968c17c1",
"concept": "CallLogic",
"label": "调用逻辑",
"calleeNamespace": "app.logics",
"calleeName": "computeRatio",
"handleError": false,
"arguments": [
{
"concept": "Argument",
"keyword": "list",
"expression": {
"concept": "Identifier",
"namespace": "",
"name": "acceptedList"
}
}
]
},
"members": []
},
{
"concept": "SelectMembers",
"hideMembers": false,
"expression": {
"uuid": "6ac10af536c446acbc7179b4f525d3d6",
"concept": "CallLogic",
"label": "调用逻辑",
"calleeNamespace": "app.logics",
"calleeName": "computeRatio",
"handleError": false,
"arguments": [
{
"concept": "Argument",
"keyword": "list",
"expression": {
"concept": "Identifier",
"namespace": "",
"name": "fullAcceptedList"
}
}
]
},
"members": []
}
],
"assignmentLines": [
{
"concept": "AssignmentLine",
"leftIndex": [
0,
2
],
"rightIndex": [
3
]
},
{
"concept": "AssignmentLine",
"leftIndex": [
0,
0
],
"rightIndex": [
2
]
},
{
"concept": "AssignmentLine",
"leftIndex": [
0,
3
],
"rightIndex": [
1
]
},
{
"concept": "AssignmentLine",
"leftIndex": [
0,
1
],
"rightIndex": [
0
]
}
],
"autoConnection": true
}
basics/statementsComment注释
{
"concept": "Comment",
"value": "这是一段注释,用户可自行修改。"
}
basics/statementsCallLogic调用逻辑
{
"uuid": "43a14fc183ed4b1bab03a839ea7fce9f",
"concept": "CallLogic",
"label": "调用逻辑",
"calleeNamespace": "elements.saveModal_1.logics",
"calleeName": "open",
"arguments": []
}
带 shortcut
{
"uuid": "d5ab84861fa64b5f928b655182c9a19d",
"concept": "CallLogic",
"label": "输出日志",
"calleeNamespace": "nasl.logging",
"calleeName": "INFO",
"shortcut": true,
"arguments": [
{
"concept": "Argument",
"keyword": "模板",
"expression": {
"concept": "StringInterpolation",
"expressions": [
{
"concept": "StringLiteral",
"value": "count: "
},
{
"concept": "CallFunction",
"label": "内置函数",
"calleeNamespace": "nasl.util",
"calleeName": "ListSum",
"typeArguments": [],
"arguments": [
{
"concept": "Argument",
"keyword": "list",
"expression": {
"concept": "Identifier",
"namespace": "",
"name": "list"
}
}
]
},
{
"concept": "StringLiteral",
"value": ", length: "
},
{
"concept": "MemberExpression",
"object": {
"concept": "Identifier",
"namespace": "",
"name": "list"
},
"property": {
"concept": "Identifier",
"namespace": "",
"name": "length"
}
}
]
}
}
]
}
basics/statementsCallInterface调用接口
basics/statementsDestination跳转页面
{
"concept": "Destination",
"viewNamespace": "app.frontendTypes.pc.frontends.pc.views.dashboard.views",
"viewName": "productList",
"arguments": [],
"target": "_self",
"anchor": {
"concept": "Anchor",
"expression": {
"concept": "StringLiteral",
"value": "标题1"
}
}
}
basics/statementsExternalDestination跳转到外部链接
{
"concept": "ExternalDestination",
"link": {
"concept": "StringLiteral",
"value": "https://nasl.codewave.163.com",
"folded": false
},
"target": "_self"
}
basics/statementsArgument实际参数
{
"concept": "Argument",
"keyword": "",
"expression": {
"concept": "Identifier",
"namespace": "",
"name": "list1"
}
}
{
"concept": "Argument",
"keyword": "list",
"expression": {
"concept": "Identifier",
"namespace": "",
"name": "list1"
}
}
basics/statementsAnchor锚点参数
{
"concept": "Anchor",
"expression": {
"concept": "StringLiteral",
"value": "标题1"
}
}
basics/statementsJSBlockJS 代码块
basics/statementsCallAuthInterface调用接口
basics[[BaseNode]]节点基类
basicsLogic逻辑
{
"concept": "Logic",
"name": "logic1",
"title": "标题",
"description": "",
"triggerType": "",
"cron": "",
"overridable": false,
"transactional": {
"concept": "Transactional",
"enabled": false,
"propagation": "REQUIRED",
"isolation": "DEFAULT"
},
"params": [
{
"concept": "Param",
"name": "param1",
"description": "",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeNamespace": "nasl.core",
"typeKind": "primitive",
"typeName": "Long",
"inferred": false,
"ruleMap": {}
},
"required": false
}
],
"returns": [],
"variables": [],
"body": [
{
"concept": "MemberExpression",
"object": {
"concept": "Identifier",
"namespace": "",
"name": "student"
},
"property": {
"concept": "Identifier",
"namespace": "",
"name": "name"
}
}
],
"playground": []
}
basicsAuthLogic鉴权逻辑
basicsAuthLogicForCallInterface调用接口的鉴权逻辑
basicsOverriddenLogic覆写逻辑
basicsParam输入参数
{
"concept": "Param",
"name": "filter",
"description": "",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Date",
"inferred": false,
"ruleMap": {}
},
"required": true
}
无类型标注的参数
{
"concept": "Param",
"name": "index",
"description": "",
"required": true
}
basicsReturn输出参数
{
"concept": "Return",
"name": "result",
"description": ""
}
basicsVariable变量
{
"concept": "Variable",
"name": "total",
"description": "",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Long",
"inferred": false,
"ruleMap": {}
}
}
basicsBackendVariable后端全局变量
{
"concept": "BackendVariable",
"name": "httpRequest",
"description": "httpRequest对象,可在逻辑中使用,用于获取当前请求的属性,例如: cookie、header、ip等",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "generic",
"typeNamespace": "nasl.http",
"typeName": "HttpRequest",
"typeArguments": [
{
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "String",
"inferred": false,
"ruleMap": {}
}
],
"inferred": false,
"ruleMap": {}
},
"scope": "request"
}
basicsFrontendVariable前端全局变量
{
"concept": "FrontendVariable",
"localCache": false,
"name": "frontendVariable1",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "String",
"inferred": false,
"ruleMap": {}
}
}
basicsConstant常量
{
"concept": "Constant",
"name": "MAX_COUNT",
"description": "",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Long",
"inferred": false,
"ruleMap": {}
},
"defaultValue": "1000"
}
basics[[LogicItem]]逻辑项
basicsFunction函数
basicsAnonymousFunction匿名函数
{
"concept": "AnonymousFunction",
"params": [
{
"concept": "Param",
"name": "item",
"description": "",
"required": true
}
],
"body": {
"concept": "BinaryExpression",
"left": {
"concept": "MemberExpression",
"object": {
"concept": "MemberExpression",
"object": {
"concept": "Identifier",
"namespace": "",
"name": "item"
},
"property": {
"concept": "Identifier",
"namespace": "",
"name": "productReport"
}
},
"property": {
"concept": "Identifier",
"namespace": "",
"name": "executed"
}
},
"right": {
"concept": "NullLiteral"
},
"operator": "!="
}
}
basicsInterface接口
basicsInterfaceParam接口参数
basicsTransactional事务
{
"concept": "Transactional",
"enabled": true
}
basicsJavaLogicJava 扩展逻辑
basicsAuthInterface鉴权接口
modularityApp应用
modularityModule模块
modularityNamespace命名空间
modularityFrontend前端
modularityBackend后端
modularityFrontendLibrary前端库
integrationIntegration集成
integrationMicroApp微应用
integrationTriggerEvent触发器事件
integrationMsgTriggerEvent触发器事件消息
integrationConnectorTrigger连接器触发器
integrationTriggerLauncher触发器启动器
integrationMsgTriggerLauncher触发器启动器消息
integrationConnector连接器
integrationCallConnector调用连接器
integrationConnection连接
dataDataSource数据源
{
"concept": "DataSource",
"name": "defaultDS",
"description": "默认数据源",
"entities": [
{
"concept": "Entity",
"name": "Product",
"description": "",
"uuid": "bd624ce40865488faff6d6e6a5f04422",
"tableName": "product",
"origin": "ide",
"properties": [
{
"concept": "EntityProperty",
"name": "id",
"uuid": "4a1d95bf7a3c4c14a6b0e19da915908c",
"columnName": "id",
"label": "主键",
"description": "主键",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Long",
"inferred": false,
"ruleMap": {}
},
"required": true,
"primaryKey": true,
"display": {
"inTable": false,
"inFilter": false,
"inForm": false,
"inDetail": false
},
"rules": [],
"generationRule": "auto",
"sequence": "Entity11050486256"
},
{
"concept": "EntityProperty",
"name": "createdTime",
"uuid": "a64b6d6b317a4e6f84532986d7c35aa3",
"columnName": "created_time",
"label": "创建时间",
"description": "创建时间",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "DateTime",
"inferred": false,
"ruleMap": {}
},
"display": {
"inTable": true,
"inFilter": false,
"inForm": false,
"inDetail": false
},
"rules": [],
"generationRule": "auto"
},
{
"concept": "EntityProperty",
"name": "updatedTime",
"uuid": "24167f6184964537857b4031479f0262",
"columnName": "updated_time",
"label": "更新时间",
"description": "更新时间",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "DateTime",
"inferred": false,
"ruleMap": {}
},
"display": {
"inTable": true,
"inFilter": false,
"inForm": false,
"inDetail": false
},
"rules": [],
"generationRule": "auto"
},
{
"concept": "EntityProperty",
"name": "createdBy",
"uuid": "971e11c2bf224828a7f328417049f94b",
"columnName": "created_by",
"label": "创建者",
"description": "创建者",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "String",
"inferred": false,
"ruleMap": {}
},
"display": {
"inTable": false,
"inFilter": false,
"inForm": false,
"inDetail": false
},
"rules": [],
"generationRule": "auto"
},
{
"concept": "EntityProperty",
"name": "updatedBy",
"uuid": "8c409bb2165946358064f43b334fb5a6",
"columnName": "updated_by",
"label": "更新者",
"description": "更新者",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "String",
"inferred": false,
"ruleMap": {}
},
"display": {
"inTable": false,
"inFilter": false,
"inForm": false,
"inDetail": false
},
"rules": [],
"generationRule": "auto"
},
{
"concept": "EntityProperty",
"name": "price",
"uuid": "8f9b69575e4c4e33b8673aefe7ada2c0",
"label": "",
"description": "",
"columnName": "price",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Decimal",
"inferred": false,
"ruleMap": {
"scale": 2
}
},
"display": {
"inDetail": true,
"inFilter": true,
"inForm": true,
"inTable": true
},
"rules": [],
"generationRule": "manual"
},
{
"concept": "EntityProperty",
"name": "name",
"uuid": "f617749bae2545639102821de778add3",
"label": "",
"description": "",
"columnName": "name",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "String",
"inferred": false,
"ruleMap": {}
},
"display": {
"inDetail": true,
"inFilter": true,
"inForm": true,
"inTable": true
},
"rules": [],
"generationRule": "manual"
},
{
"concept": "EntityProperty",
"name": "category",
"uuid": "78500e51966245d984b095c7795dd21e",
"label": "",
"description": "",
"columnName": "category",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "String",
"inferred": false,
"ruleMap": {}
},
"display": {
"inDetail": true,
"inFilter": true,
"inForm": true,
"inTable": true
},
"rules": [],
"generationRule": "manual"
},
{
"concept": "EntityProperty",
"name": "status",
"uuid": "b1a9e167277e4f73b6b218eb7ede43ad",
"label": "",
"description": "",
"columnName": "status",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "reference",
"typeNamespace": "app.enums",
"typeName": "ProductStatus",
"inferred": false,
"ruleMap": {}
},
"display": {
"inDetail": true,
"inFilter": true,
"inForm": true,
"inTable": true
},
"rules": [],
"generationRule": "manual"
}
],
"indexes": []
}
],
"ddlStrategy": "originNotTable"
}
dataEntity实体
{
"concept": "Entity",
"name": "Product",
"description": "",
"uuid": "bd624ce40865488faff6d6e6a5f04422",
"tableName": "product",
"origin": "ide",
"properties": [
{
"concept": "EntityProperty",
"name": "id",
"uuid": "4a1d95bf7a3c4c14a6b0e19da915908c",
"columnName": "id",
"label": "主键",
"description": "主键",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Long",
"inferred": false,
"ruleMap": {}
},
"required": true,
"primaryKey": true,
"display": {
"inTable": false,
"inFilter": false,
"inForm": false,
"inDetail": false
},
"rules": [],
"generationRule": "auto",
"sequence": "Entity11050486256"
},
{
"concept": "EntityProperty",
"name": "createdTime",
"uuid": "a64b6d6b317a4e6f84532986d7c35aa3",
"columnName": "created_time",
"label": "创建时间",
"description": "创建时间",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "DateTime",
"inferred": false,
"ruleMap": {}
},
"display": {
"inTable": true,
"inFilter": false,
"inForm": false,
"inDetail": false
},
"rules": [],
"generationRule": "auto"
},
{
"concept": "EntityProperty",
"name": "updatedTime",
"uuid": "24167f6184964537857b4031479f0262",
"columnName": "updated_time",
"label": "更新时间",
"description": "更新时间",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "DateTime",
"inferred": false,
"ruleMap": {}
},
"display": {
"inTable": true,
"inFilter": false,
"inForm": false,
"inDetail": false
},
"rules": [],
"generationRule": "auto"
},
{
"concept": "EntityProperty",
"name": "createdBy",
"uuid": "971e11c2bf224828a7f328417049f94b",
"columnName": "created_by",
"label": "创建者",
"description": "创建者",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "String",
"inferred": false,
"ruleMap": {}
},
"display": {
"inTable": false,
"inFilter": false,
"inForm": false,
"inDetail": false
},
"rules": [],
"generationRule": "auto"
},
{
"concept": "EntityProperty",
"name": "updatedBy",
"uuid": "8c409bb2165946358064f43b334fb5a6",
"columnName": "updated_by",
"label": "更新者",
"description": "更新者",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "String",
"inferred": false,
"ruleMap": {}
},
"display": {
"inTable": false,
"inFilter": false,
"inForm": false,
"inDetail": false
},
"rules": [],
"generationRule": "auto"
},
{
"concept": "EntityProperty",
"name": "price",
"uuid": "8f9b69575e4c4e33b8673aefe7ada2c0",
"label": "",
"description": "",
"columnName": "price",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Decimal",
"inferred": false,
"ruleMap": {
"scale": 2
}
},
"display": {
"inDetail": true,
"inFilter": true,
"inForm": true,
"inTable": true
},
"rules": [],
"generationRule": "manual"
},
{
"concept": "EntityProperty",
"name": "name",
"uuid": "f617749bae2545639102821de778add3",
"label": "",
"description": "",
"columnName": "name",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "String",
"inferred": false,
"ruleMap": {}
},
"display": {
"inDetail": true,
"inFilter": true,
"inForm": true,
"inTable": true
},
"rules": [],
"generationRule": "manual"
},
{
"concept": "EntityProperty",
"name": "category",
"uuid": "78500e51966245d984b095c7795dd21e",
"label": "",
"description": "",
"columnName": "category",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "String",
"inferred": false,
"ruleMap": {}
},
"display": {
"inDetail": true,
"inFilter": true,
"inForm": true,
"inTable": true
},
"rules": [],
"generationRule": "manual"
},
{
"concept": "EntityProperty",
"name": "status",
"uuid": "b1a9e167277e4f73b6b218eb7ede43ad",
"label": "",
"description": "",
"columnName": "status",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "reference",
"typeNamespace": "app.enums",
"typeName": "ProductStatus",
"inferred": false,
"ruleMap": {}
},
"display": {
"inDetail": true,
"inFilter": true,
"inForm": true,
"inTable": true
},
"rules": [],
"generationRule": "manual"
}
],
"indexes": []
}
dataEntityProperty实体属性
{
"concept": "EntityProperty",
"name": "status",
"uuid": "b1a9e167277e4f73b6b218eb7ede43ad",
"label": "",
"description": "",
"columnName": "status",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "reference",
"typeNamespace": "app.enums",
"typeName": "ProductStatus",
"inferred": false,
"ruleMap": {}
},
"display": {
"inDetail": true,
"inFilter": true,
"inForm": true,
"inTable": true
},
"rules": [],
"generationRule": "manual"
}
带关联关系的
{
"concept": "EntityProperty",
"name": "productId",
"uuid": "b1a9e167277e4f73b6b218eb7ede43ad",
"label": "",
"description": "",
"columnName": "productId",
"relationNamespace": "app.dataSources.defaultDS",
"relationEntity": "Product",
"relationProperty": "id",
"typeAnnotation": {
"concept": "TypeAnnotation",
"typeKind": "primitive",
"typeNamespace": "nasl.core",
"typeName": "Long",
"inferred": false,
"ruleMap": {}
},
"display": {
"inDetail": true,
"inFilter": true,
"inForm": true,
"inTable": true
},
"rules": [],
"generationRule": "manual"
}
dataEntityIndex实体索引
{
"concept": "EntityIndex",
"name": "nameIndex",
"propertyNames": [
"name"
],
"unique": true
}
viewView页面
viewViewElement页面元素
{
"concept": "ViewElement",
"tag": "u-button",
"name": "button_2",
"bindAttrs": [
{
"concept": "BindAttribute",
"name": "color",
"type":