Skip to content

model 模型编辑器

基础用法-默认无法编辑

基础用法-可编辑

点击查看示例代码
vue
<template>
	<h-model-v1 :h_data="h_data"></h-model-v1>
</template>

<script setup>
	{
	  component: 'h-model-v1',
	  action: [
				{
					api: {
						header: {},
						method: 'post',
						url: '/issues/:id/edit'
					},
					icon: 'save',
					name: 'save',
					display_name: 'action去考试1'
				},
				{
					api: {
						header: {},
						method: 'post',
						url: '/issues/:id/edit'
					},
					icon: 'save',
					name: 'save',
					display_name: 'action去考试2'
				}
			],
	  meta: [
						{
						method_name: 'method_name1',
						params: [],
						steps: []
						},
						{
						method_name: 'method_name2',
						params: [
									{
							key: 'url1',
							value: {
								text: 'https://www.baidu.com1/',
								array: [],
								object: {},
								raw: {},
							},
							type: 'text'
							},
							{
							key: 'url2',
							value: {
								text: 'https://www.baidu.com2/',
								array: [],
								object: {},
								raw: {},
							},
							type: 'text'
							},
              {
	          key: 'url3',
	          value: {
	            text: 'https://www.baidu.com2/',
	            array: [{key1: 'value1', key2: 'value2'}],
	            object: {key1: 'value1', key2: 'value2'},
	            raw: {key1: 'value1', key2: 'value2'},
	          },
	          type: 'array'
	        },
	        {
	          key: 'url4',
	          value: {
	            text: 'https://www.baidu.com2/',
	            array: [{key1: 'value1', key2: 'value2'}],
	            object: {key1: 'value1', key2: 'value2'},
	            raw: {key1: 'value1', key2: 'value2'},
	          },
	          type: 'object'
	        },
	        {
	          key: 'url5',
	          value: {
	            text: 'https://www.baidu.com2/',
	            array: [{key1: 'value1', key2: 'value2'}],
	            object: {key1: 'value1', key2: 'value2'},
	            raw: {key1: 'value1', key2: 'value2'},
	          },
	          type: 'raw'
	        }
						],
						steps: []
						},
					],
	  content: {
	  object_name: 'object_name',
	  options: [
	    {
	      method_name: 'method_name1',
	      params: [],
	      steps: []
	    },
	    {
	      method_name: 'method_name2',
	      params: [
	                {
	          key: 'url1',
	          value: {
	            text: 'https://www.baidu.com1/',
	            array: [],
	            object: {},
	            raw: {},
	          },
	          type: 'text'
	        },
	        {
	          key: 'url2',
	          value: {
	            text: 'https://www.baidu.com2/',
	            array: [],
	            object: {},
	            raw: {},
	          },
	          type: 'text'
	        },
	        {
	          key: 'url3',
	          value: {
	            text: 'https://www.baidu.com2/',
	            array: [{key1: 'value1', key2: 'value2'}],
	            object: {key1: 'value1', key2: 'value2'},
	            raw: {key1: 'value1', key2: 'value2'},
	          },
	          type: 'array'
	        },
	        {
	          key: 'url4',
	          value: {
	            text: 'https://www.baidu.com2/',
	            array: [{key1: 'value1', key2: 'value2'}],
	            object: {key1: 'value1', key2: 'value2'},
	            raw: {key1: 'value1', key2: 'value2'},
	          },
	          type: 'object'
	        },
	        {
	          key: 'url5',
	          value: {
	            text: 'https://www.baidu.com2/',
	            array: [{key1: 'value1', key2: 'value2'}],
	            object: {key1: 'value1', key2: 'value2'},
	            raw: {key1: 'value1', key2: 'value2'},
	          },
	          type: 'raw'
	        }
	      ],
	      steps: []
	    },
	  ],
	  methods: [
	    {
	      method_name: 'method_name',
	      params: [
	          {
	            key: 'url',
	            value: {
	              text: 'https://www.baidu.com/',
	              array: [],
	              object: {},
	              raw: {},
	            },
	            type: 'text'
	          },
	          {
	            key: 'headers',
	            value: {
	              text: '',
	              array: [],
	              object: {
	              'content-type': 'application/json',
	              authorization: 'Beare token'
	              },
	              raw: {},
	            },
	            type: 'object'
	          },
	          {
	            key: 'params',
	            value: {
	              text: '',
	              array: [],
	              object: {
	                username: '张三',
	                password: '123456'
	              },
	              raw: {},
	            },
	            type: 'object'
	          },
	          {
	            key: 'body1',
	            value: {
	              text: '',
	              array:[
	                {
	                  click: '//*[@name=123]'
	                },
	                {
	                  click: '//*[@name=123]',
	                },
	              ],
	              object: {},
	              raw: {},
	            },
	            type: 'array'
	          },
	          {
	            key: 'body2',
	            value: {
	              text: '',
	              array: [],
	              object: {},
	              raw: {
	                userinfo: {
	                  name: '张三',
	                  avatar: 'https://www.baidu.com/'
	                },
	                token: '123456'
	              },
	            },
	            type: 'raw'
	          },
	        ],
	        steps:  [
	          {
	            method_name: 'method_name1',
	            params: [
	              {
	                key: 'url1',
	                value: {
	                  text: 'https://www.baidu.com1/',
	                  array: [],
	                  object: {},
	                  raw: {},
	                },
	                type: 'text'
	              },
	              {
	                key: 'url2',
	                value: {
	                  text: 'https://www.baidu.com2/',
	                  array: [],
	                  object: {},
	                  raw: {},
	                },
	                type: 'text'
	              }
	            ],
	          },
	        ]
	    }
	  ]
	}
	}
</script>
<template>
	<h-model-v1 :h_data="h_data"></h-model-v1>
</template>

<script setup>
	{
	  component: 'h-model-v1',
	  action: [
				{
					api: {
						header: {},
						method: 'post',
						url: '/issues/:id/edit'
					},
					icon: 'save',
					name: 'save',
					display_name: 'action去考试1'
				},
				{
					api: {
						header: {},
						method: 'post',
						url: '/issues/:id/edit'
					},
					icon: 'save',
					name: 'save',
					display_name: 'action去考试2'
				}
			],
	  meta: [
						{
						method_name: 'method_name1',
						params: [],
						steps: []
						},
						{
						method_name: 'method_name2',
						params: [
									{
							key: 'url1',
							value: {
								text: 'https://www.baidu.com1/',
								array: [],
								object: {},
								raw: {},
							},
							type: 'text'
							},
							{
							key: 'url2',
							value: {
								text: 'https://www.baidu.com2/',
								array: [],
								object: {},
								raw: {},
							},
							type: 'text'
							},
              {
	          key: 'url3',
	          value: {
	            text: 'https://www.baidu.com2/',
	            array: [{key1: 'value1', key2: 'value2'}],
	            object: {key1: 'value1', key2: 'value2'},
	            raw: {key1: 'value1', key2: 'value2'},
	          },
	          type: 'array'
	        },
	        {
	          key: 'url4',
	          value: {
	            text: 'https://www.baidu.com2/',
	            array: [{key1: 'value1', key2: 'value2'}],
	            object: {key1: 'value1', key2: 'value2'},
	            raw: {key1: 'value1', key2: 'value2'},
	          },
	          type: 'object'
	        },
	        {
	          key: 'url5',
	          value: {
	            text: 'https://www.baidu.com2/',
	            array: [{key1: 'value1', key2: 'value2'}],
	            object: {key1: 'value1', key2: 'value2'},
	            raw: {key1: 'value1', key2: 'value2'},
	          },
	          type: 'raw'
	        }
						],
						steps: []
						},
					],
	  content: {
	  object_name: 'object_name',
	  options: [
	    {
	      method_name: 'method_name1',
	      params: [],
	      steps: []
	    },
	    {
	      method_name: 'method_name2',
	      params: [
	                {
	          key: 'url1',
	          value: {
	            text: 'https://www.baidu.com1/',
	            array: [],
	            object: {},
	            raw: {},
	          },
	          type: 'text'
	        },
	        {
	          key: 'url2',
	          value: {
	            text: 'https://www.baidu.com2/',
	            array: [],
	            object: {},
	            raw: {},
	          },
	          type: 'text'
	        },
	        {
	          key: 'url3',
	          value: {
	            text: 'https://www.baidu.com2/',
	            array: [{key1: 'value1', key2: 'value2'}],
	            object: {key1: 'value1', key2: 'value2'},
	            raw: {key1: 'value1', key2: 'value2'},
	          },
	          type: 'array'
	        },
	        {
	          key: 'url4',
	          value: {
	            text: 'https://www.baidu.com2/',
	            array: [{key1: 'value1', key2: 'value2'}],
	            object: {key1: 'value1', key2: 'value2'},
	            raw: {key1: 'value1', key2: 'value2'},
	          },
	          type: 'object'
	        },
	        {
	          key: 'url5',
	          value: {
	            text: 'https://www.baidu.com2/',
	            array: [{key1: 'value1', key2: 'value2'}],
	            object: {key1: 'value1', key2: 'value2'},
	            raw: {key1: 'value1', key2: 'value2'},
	          },
	          type: 'raw'
	        }
	      ],
	      steps: []
	    },
	  ],
	  methods: [
	    {
	      method_name: 'method_name',
	      params: [
	          {
	            key: 'url',
	            value: {
	              text: 'https://www.baidu.com/',
	              array: [],
	              object: {},
	              raw: {},
	            },
	            type: 'text'
	          },
	          {
	            key: 'headers',
	            value: {
	              text: '',
	              array: [],
	              object: {
	              'content-type': 'application/json',
	              authorization: 'Beare token'
	              },
	              raw: {},
	            },
	            type: 'object'
	          },
	          {
	            key: 'params',
	            value: {
	              text: '',
	              array: [],
	              object: {
	                username: '张三',
	                password: '123456'
	              },
	              raw: {},
	            },
	            type: 'object'
	          },
	          {
	            key: 'body1',
	            value: {
	              text: '',
	              array:[
	                {
	                  click: '//*[@name=123]'
	                },
	                {
	                  click: '//*[@name=123]',
	                },
	              ],
	              object: {},
	              raw: {},
	            },
	            type: 'array'
	          },
	          {
	            key: 'body2',
	            value: {
	              text: '',
	              array: [],
	              object: {},
	              raw: {
	                userinfo: {
	                  name: '张三',
	                  avatar: 'https://www.baidu.com/'
	                },
	                token: '123456'
	              },
	            },
	            type: 'raw'
	          },
	        ],
	        steps:  [
	          {
	            method_name: 'method_name1',
	            params: [
	              {
	                key: 'url1',
	                value: {
	                  text: 'https://www.baidu.com1/',
	                  array: [],
	                  object: {},
	                  raw: {},
	                },
	                type: 'text'
	              },
	              {
	                key: 'url2',
	                value: {
	                  text: 'https://www.baidu.com2/',
	                  array: [],
	                  object: {},
	                  raw: {},
	                },
	                type: 'text'
	              }
	            ],
	          },
	        ]
	    }
	  ]
	}
	}
</script>