diff --git a/mockServer/src/database/pages.db b/mockServer/src/database/pages.db index 6076038f6..f4060a9eb 100644 --- a/mockServer/src/database/pages.db +++ b/mockServer/src/database/pages.db @@ -1,5 +1,5 @@ {"name":"DemoPage","id":"5bhD7p5FUsUOTFRN","app":"918","route":"demopage","page_content":{"state":{},"methods":{},"componentName":"Page","css":"","props":{},"lifeCycles":{},"children":[{"componentName":"div","props":{},"id":"85375559","children":[{"componentName":"TinySwitch","props":{"modelValue":""},"id":"33433546"}]},{"componentName":"AntdRadio","props":{"autoFocus":false,"disabled":false,"defaultChecked":false},"children":[{"componentName":"Text","props":{"text":"单选框Label"},"id":"64425466"}],"id":"766345ce"},{"componentName":"AntdRadioButton","props":{"defaultChecked":true,"checked":false},"children":[{"componentName":"Text","props":{"text":"单选框Label"},"id":"a46d1659"}],"id":"31432525"},{"componentName":"AntdRadioButton","props":{"checked":false,"defaultChecked":true},"children":[{"componentName":"Text","props":{"text":"单选框Label"},"id":"65215462"}],"id":"53342943"}],"dataSource":{"list":[]},"utils":[],"bridge":[],"inputs":[],"outputs":[],"fileName":"DemoPage"},"tenant":1,"isBody":false,"parentId":"0","group":"staticPages","depth":0,"isPage":true,"isDefault":false,"occupier":{"id":86,"username":"开发者","email":"developer@lowcode.com","resetPasswordToken":"developer","confirmationToken":"dfb2c162-351f-4f44-ad5f-8998","is_admin":true},"isHome":false,"message":"Page auto save","_id":"5bhD7p5FUsUOTFRN"} {"name":"Untitled","id":"Hs85JTrC7z394qVf","app":"918","route":"Untitled","page_content":{"state":{},"methods":{},"componentName":"Page","css":"","props":{},"lifeCycles":{},"children":[{"componentName":"AntdRadioButton","props":{"defaultChecked":true,"checked":false},"children":[{"componentName":"Text","props":{"text":"单选框Label"},"id":"326c3324"}],"id":"85a263a4"}],"dataSource":{"list":[]},"utils":[],"bridge":[],"inputs":[],"outputs":[],"fileName":"Untitled"},"tenant":1,"isBody":false,"parentId":"0","depth":0,"isPage":true,"isDefault":false,"group":"staticPages","occupier":{"id":86,"username":"开发者","email":"developer@lowcode.com","resetPasswordToken":"developer","confirmationToken":"dfb2c162-351f-4f44-ad5f-8998","is_admin":true},"isHome":false,"message":"Page auto save","_id":"Hs85JTrC7z394qVf"} -{"name":"CreateVm","id":"NTJ4MjvqoVj8OVsc","app":"918","route":"createVm","page_content":{"state":{"dataDisk":[1,2,3]},"methods":{},"componentName":"Page","css":"body {\r\n background-color:#eef0f5 ;\r\n margin-bottom: 80px;\r\n}","props":{},"children":[{"componentName":"div","props":{"style":"padding-bottom: 10px; padding-top: 10px;"},"id":"2b2cabf0","children":[{"componentName":"TinyTimeLine","props":{"active":"2","data":[{"name":"基础配置"},{"name":"网络配置"},{"name":"高级配置"},{"name":"确认配置"}],"horizontal":true,"style":"border-radius: 0px;"},"id":"dd764b17"}]},{"componentName":"div","props":{"style":"border-width: 1px; border-style: solid; border-radius: 4px; border-color: #fff; padding-top: 10px; padding-bottom: 10px; padding-left: 10px; padding-right: 10px; box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px; background-color: #fff; margin-bottom: 10px;"},"id":"30c94cc8","children":[{"componentName":"TinyForm","props":{"labelWidth":"80px","labelPosition":"top","inline":false,"label-position":"left ","label-width":"150px","style":"border-radius: 0px;"},"children":[{"componentName":"TinyFormItem","props":{"label":"计费模式"},"children":[{"componentName":"TinyButtonGroup","props":{"data":[{"text":"包年/包月","value":"1"},{"text":"按需计费","value":"2"}],"modelValue":"1"},"id":"a8d84361"}],"id":"9f39f3e7"},{"componentName":"TinyFormItem","props":{"label":"区域"},"children":[{"componentName":"TinyButtonGroup","props":{"data":[{"text":"乌兰察布二零一","value":"1"}],"modelValue":"1","style":"border-radius: 0px; margin-right: 10px;"},"id":"c97ccd99"},{"componentName":"Text","props":{"text":"温馨提示:页面左上角切换区域","style":"background-color: [object Event]; color: #8a8e99; font-size: 12px;"},"id":"20923497"},{"componentName":"Text","props":{"text":"不同区域的云服务产品之间内网互不相通;请就近选择靠近您业务的区域,可减少网络时延,提高访问速度","style":"display: block; color: #8a8e99; border-radius: 0px; font-size: 12px;"},"id":"54780a26"}],"id":"4966384d"},{"componentName":"TinyFormItem","props":{"label":"可用区","style":"border-radius: 0px;"},"children":[{"componentName":"TinyButtonGroup","props":{"data":[{"text":"可用区1","value":"1"},{"text":"可用区2","value":"2"},{"text":"可用区3","value":"3"}],"modelValue":"1"},"id":"6184481b"}],"id":"690837bf"}],"id":"b6a425d4"}]},{"componentName":"div","props":{"style":"border-width: 1px; border-style: solid; border-radius: 4px; border-color: #fff; padding-top: 10px; padding-bottom: 10px; padding-left: 10px; padding-right: 10px; box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px; background-color: #fff; margin-bottom: 10px;"},"children":[{"componentName":"TinyForm","props":{"labelWidth":"80px","labelPosition":"top","inline":false,"label-position":"left ","label-width":"150px","style":"border-radius: 0px;"},"children":[{"componentName":"TinyFormItem","props":{"label":"CPU架构"},"children":[{"componentName":"TinyButtonGroup","props":{"data":[{"text":"x86计算","value":"1"},{"text":"鲲鹏计算","value":"2"}],"modelValue":"1"},"id":"7d33ced7"}],"id":"05ed5a79"},{"componentName":"TinyFormItem","props":{"label":"区域"},"children":[{"componentName":"div","props":{"style":"display: flex; justify-content: flex-start; align-items: center;"},"id":"606edf78","children":[{"componentName":"div","props":{"style":"display: flex; align-items: center; margin-right: 10px;"},"id":"f3f98246","children":[{"componentName":"Text","props":{"text":"vCPUs","style":"width: 80px;"},"id":"c287437e"},{"componentName":"TinySelect","props":{"modelValue":"","placeholder":"请选择","options":[{"value":"1","label":"黄金糕"},{"value":"2","label":"双皮奶"}]},"id":"4c43286b"}]},{"componentName":"div","props":{"style":"display: flex; align-items: center; margin-right: 10px;"},"children":[{"componentName":"Text","props":{"text":"内存","style":"width: 80px; border-radius: 0px;"},"id":"38b8fa1f"},{"componentName":"TinySelect","props":{"modelValue":"","placeholder":"请选择","options":[{"value":"1","label":"黄金糕"},{"value":"2","label":"双皮奶"}]},"id":"cd33328e"}],"id":"2b2c678f"},{"componentName":"div","props":{"style":"display: flex; align-items: center;"},"children":[{"componentName":"Text","props":{"text":"规格名称","style":"width: 80px;"},"id":"d3eb6352"},{"componentName":"TinySearch","props":{"modelValue":"","placeholder":"输入关键词"},"id":"21cb9282"}],"id":"b8e0f35c"}]},{"componentName":"div","props":{"style":"border-radius: 0px;"},"id":"5000c83e","children":[{"componentName":"TinyButtonGroup","props":{"data":[{"text":"通用计算型","value":"1"},{"text":"通用计算增强型","value":"2"},{"text":"内存优化型","value":"3"},{"text":"内存优化型","value":"4"},{"text":"磁盘增强型","value":"5"},{"text":"超高I/O型","value":"6"},{"text":"GPU加速型","value":"7"}],"modelValue":"1","style":"border-radius: 0px; margin-top: 12px;"},"id":"b8724703"},{"componentName":"TinyGrid","props":{"editConfig":{"trigger":"click","mode":"cell","showStatus":true},"columns":[{"type":"radio","width":60},{"field":"employees","title":"规格名称"},{"field":"created_date","title":"vCPUs | 内存(GiB)","sortable":true},{"field":"city","title":"CPU","sortable":true},{"title":"基准 / 最大带宽\t","sortable":true},{"title":"内网收发包","sortable":true}],"data":[{"id":"1","name":"GFD科技有限公司","city":"福州","employees":800,"created_date":"2014-04-30 00:56:00","boole":false},{"id":"2","name":"WWW科技有限公司","city":"深圳","employees":300,"created_date":"2016-07-08 12:36:22","boole":true}],"style":"margin-top: 12px; border-radius: 0px;","auto-resize":true},"id":"77701c25"},{"componentName":"div","props":{"style":"margin-top: 12px; border-radius: 0px;"},"id":"3339838b","children":[{"componentName":"Text","props":{"text":"当前规格","style":"width: 150px; display: inline-block;"},"id":"203b012b"},{"componentName":"Text","props":{"text":"通用计算型 | Si2.large.2 | 2vCPUs | 4 GiB","style":"font-weight: 700;"},"id":"87723f52"}]}]}],"id":"657fb2fc"}],"id":"d19b15cf"}],"id":"9991228b"},{"componentName":"div","props":{"style":"border-width: 1px; border-style: solid; border-radius: 4px; border-color: #fff; padding-top: 10px; padding-bottom: 10px; padding-left: 10px; padding-right: 10px; box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px; background-color: #fff; margin-bottom: 10px;"},"children":[{"componentName":"TinyForm","props":{"labelWidth":"80px","labelPosition":"top","inline":false,"label-position":"left ","label-width":"150px","style":"border-radius: 0px;"},"children":[{"componentName":"TinyFormItem","props":{"label":"镜像","style":"border-radius: 0px;"},"children":[{"componentName":"TinyButtonGroup","props":{"data":[{"text":"公共镜像","value":"1"},{"text":"私有镜像","value":"2"},{"text":"共享镜像","value":"3"}],"modelValue":"1"},"id":"922b14cb"},{"componentName":"div","props":{"style":"display: flex; margin-top: 12px; border-radius: 0px;"},"id":"6b679524","children":[{"componentName":"TinySelect","props":{"modelValue":"","placeholder":"请选择","options":[{"value":"1","label":"黄金糕"},{"value":"2","label":"双皮奶"}],"style":"width: 170px; margin-right: 10px;"},"id":"4851fff7"},{"componentName":"TinySelect","props":{"modelValue":"","placeholder":"请选择","options":[{"value":"1","label":"黄金糕"},{"value":"2","label":"双皮奶"}],"style":"width: 340px;"},"id":"a7183eb7"}]},{"componentName":"div","props":{"style":"margin-top: 12px;"},"id":"57aee314","children":[{"componentName":"Text","props":{"text":"请注意操作系统的语言类型。","style":"color: #e37d29;"},"id":"56d36c27"}]}],"id":"e3b02436"}],"id":"59aebf2b"}],"id":"87ff7b99"},{"componentName":"div","props":{"style":"border-width: 1px; border-style: solid; border-radius: 4px; border-color: #fff; padding-top: 10px; padding-bottom: 10px; padding-left: 10px; padding-right: 10px; box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px; background-color: #fff; margin-bottom: 10px;"},"children":[{"componentName":"TinyForm","props":{"labelWidth":"80px","labelPosition":"top","inline":false,"label-position":"left ","label-width":"150px","style":"border-radius: 0px;"},"children":[{"componentName":"TinyFormItem","props":{"label":"系统盘","style":"border-radius: 0px;"},"children":[{"componentName":"div","props":{"style":"display: flex;"},"id":"cddba5b8","children":[{"componentName":"TinySelect","props":{"modelValue":"","placeholder":"请选择","options":[{"value":"1","label":"黄金糕"},{"value":"2","label":"双皮奶"}],"style":"width: 200px; margin-right: 10px;"},"id":"a97fbe15"},{"componentName":"TinyInput","props":{"placeholder":"请输入","modelValue":"","style":"width: 120px; margin-right: 10px;"},"id":"1cde4c0f"},{"componentName":"Text","props":{"text":"GiB \nIOPS上限240,IOPS突发上限5,000","style":"color: #575d6c; font-size: 12px;"},"id":"2815d82d"}]}],"id":"50239a3a"}],"id":"e8582986"},{"componentName":"TinyForm","props":{"labelWidth":"80px","labelPosition":"top","inline":false,"label-position":"left ","label-width":"150px","style":"border-radius: 0px;"},"children":[{"componentName":"TinyFormItem","props":{"label":"数据盘","style":"border-radius: 0px;"},"children":[{"componentName":"div","props":{"style":"margin-top: 12px; display: flex;"},"id":"728c9825","children":[{"componentName":"Icon","props":{"style":"margin-right: 10px; width: 16px; height: 16px;","name":"IconPanelMini"},"id":"fded6930"},{"componentName":"TinySelect","props":{"modelValue":"","placeholder":"请选择","options":[{"value":"1","label":"黄金糕"},{"value":"2","label":"双皮奶"}],"style":"width: 200px; margin-right: 10px;"},"id":"62734e3f"},{"componentName":"TinyInput","props":{"placeholder":"请输入","modelValue":"","style":"width: 120px; margin-right: 10px;"},"id":"667c7926"},{"componentName":"Text","props":{"text":"GiB \nIOPS上限600,IOPS突发上限5,000","style":"color: #575d6c; font-size: 12px; margin-right: 10px;"},"id":"e7bc36d6"},{"componentName":"TinyInput","props":{"placeholder":"请输入","modelValue":"","style":"width: 120px;"},"id":"1bd56dc0"}],"loop":{"type":"JSExpression","value":"this.state.dataDisk"}},{"componentName":"div","props":{"style":"display: flex; margin-top: 12px; border-radius: 0px;"},"children":[{"componentName":"Icon","props":{"name":"IconPlus","style":"width: 16px; height: 16px; margin-right: 10px;"},"id":"65c89f2b"},{"componentName":"Text","props":{"text":"增加一块数据盘","style":"font-size: 12px; border-radius: 0px; margin-right: 10px;"},"id":"cb344071"},{"componentName":"Text","props":{"text":"您还可以挂载 21 块磁盘(云硬盘)","style":"color: #8a8e99; font-size: 12px;"},"id":"80eea996"}],"id":"e9e530ab"}],"id":"078e03ef"}],"id":"ccef886e"}],"id":"0fb7bd74"},{"componentName":"div","props":{"style":"border-width: 1px; border-style: solid; border-color: #ffffff; padding-top: 10px; padding-left: 10px; padding-right: 10px; box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px; background-color: #fff; position: fixed; inset: auto 0% 0% 0%; height: 80px; line-height: 80px; border-radius: 0px;"},"children":[{"componentName":"TinyForm","props":{"labelWidth":"80px","labelPosition":"top","inline":false,"label-position":"left ","label-width":"150px","style":"border-radius: 0px;"},"children":[],"id":"21ed4475"},{"componentName":"TinyRow","props":{"style":"border-radius: 0px; height: 100%;"},"children":[{"componentName":"TinyCol","props":{"span":"8"},"id":"b9d051a5","children":[{"componentName":"TinyRow","props":{"style":"border-radius: 0px;"},"children":[{"componentName":"TinyCol","props":{"span":"5","style":"display: flex;"},"id":"02352776","children":[{"componentName":"Text","props":{"text":"购买量","style":"margin-right: 10px;"},"id":"0cd9ed5c"},{"componentName":"TinyInput","props":{"placeholder":"请输入","modelValue":"","style":"width: 120px; margin-right: 10px;"},"id":"2f9cf442"},{"componentName":"Text","props":{"text":"台"},"id":"facd4481"}]},{"componentName":"TinyCol","props":{"span":"7"},"id":"82b6c659","children":[{"componentName":"div","props":{},"id":"9cd65874","children":[{"componentName":"Text","props":{"text":"配置费用","style":"font-size: 12px;"},"id":"b5a0a0da"},{"componentName":"Text","props":{"text":"¥1.5776","style":"padding-left: 10px; padding-right: 10px; color: #de504e;"},"id":"d9464214"},{"componentName":"Text","props":{"text":"/小时","style":"font-size: 12px;"},"id":"af7cc5e6"}]},{"componentName":"div","props":{},"id":"89063830","children":[{"componentName":"Text","props":{"text":"参考价格,具体扣费请以账单为准。","style":"font-size: 12px; border-radius: 0px;"},"id":"d8995fbc"},{"componentName":"Text","props":{"text":"了解计费详情","style":"font-size: 12px; color: #344899;"},"id":"b383c3e2"}]}]}],"id":"94fc0e43"}]},{"componentName":"TinyCol","props":{"span":"4","style":"display: flex; flex-direction: row-reverse; border-radius: 0px; height: 100%; justify-content: flex-start; align-items: center;"},"id":"10b73009","children":[{"componentName":"TinyButton","props":{"text":"下一步: 网络配置","type":"danger","style":"max-width: unset;"},"id":"0b584011"}]}],"id":"d414a473"}],"id":"e8ec029b"}],"fileName":"CreateVm","lifeCycles":{"componentWillMount":{"type":"JSFunction","value":"function componentWillMount () {\r\n console.log('wujiayu')\r\n} "},"componentDidMount":{"type":"JSFunction","value":"function componentDidMount () {\r\n console.log('wujiayu')\r\n} "},"componentDidUpdate":{"type":"JSFunction","value":"function componentDidUpdate () {\r\n console.log('useEffect')\r\n} "},"componentWillUnmount":{"type":"JSFunction","value":"function componentWillUnmount () {\r\n console.log('unmountUseEffect')\r\n} "}}},"tenant":1,"isBody":false,"parentId":"0","group":"staticPages","depth":0,"isPage":true,"isDefault":false,"occupier":{"id":86,"username":"开发者","email":"developer@lowcode.com","resetPasswordToken":"developer","confirmationToken":"dfb2c162-351f-4f44-ad5f-8998","is_admin":true},"isHome":false,"_id":"NTJ4MjvqoVj8OVsc","message":"Page auto save"} +{"name":"createVm","id":"NTJ4MjvqoVj8OVsc","app":"918","route":"createVm","page_content":{"state":{"dataDisk":[1,2,3],"wujiayu":"fithThing"},"methods":{"onClickNew":{"type":"JSFunction","value":"function onClickNew(event) {\n alert('wujiayu')\n}"}},"componentName":"Page","css":"body {\r\n background-color:#eef0f5 ;\r\n margin-bottom: 80px;\r\n}","props":{"onClick":{"type":"JSExpression","value":"this.onClickNew"}},"children":[{"componentName":"div","props":{"style":"padding-bottom: 10px; padding-top: 10px;"},"id":"2b2cabf0","children":[{"componentName":"TinyTimeLine","props":{"active":2,"data":[{"name":"基础配置"},{"name":"网络配置"},{"name":"高级配置"},{"name":"确认配置"}],"horizontal":true,"style":"border-radius: 0px;"},"id":"dd764b17"}]},{"componentName":"div","props":{"style":"border-width: 1px; border-style: solid; border-radius: 4px; border-color: #fff; padding-top: 10px; padding-bottom: 10px; padding-left: 10px; padding-right: 10px; box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px; background-color: #fff; margin-bottom: 10px;"},"id":"30c94cc8","children":[{"componentName":"TinyForm","props":{"labelWidth":"80px","labelPosition":"top","inline":false,"label-position":"left ","label-width":"150px","style":"border-radius: 0px;"},"children":[{"componentName":"TinyFormItem","props":{"label":"区域"},"children":[{"componentName":"TinyButtonGroup","props":{"data":[{"text":"乌兰察布二零一","value":"1"}],"modelValue":"1","style":"border-radius: 0px; margin-right: 10px;"},"id":"c97ccd99"},{"componentName":"Text","props":{"text":"温馨提示:页面左上角切换区域","style":"background-color: [object Event]; color: #8a8e99; font-size: 12px;"},"id":"20923497"},{"componentName":"Text","props":{"text":"不同区域的云服务产品之间内网互不相通;请就近选择靠近您业务的区域,可减少网络时延,提高访问速度","style":"display: block; color: #8a8e99; border-radius: 0px; font-size: 12px;"},"id":"54780a26"}],"id":"4966384d"},{"componentName":"TinyFormItem","props":{"label":"可用区","style":"border-radius: 0px;"},"children":[{"componentName":"TinyButtonGroup","props":{"data":[{"text":"可用区1","value":"1"},{"text":"可用区2","value":"2"},{"text":"可用区3","value":"3"}],"modelValue":"1"},"id":"6184481b"}],"id":"690837bf"}],"id":"b6a425d4"}]},{"componentName":"div","props":{"style":"border-width: 1px; border-style: solid; border-radius: 4px; border-color: #fff; padding-top: 10px; padding-bottom: 10px; padding-left: 10px; padding-right: 10px; box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px; background-color: #fff; margin-bottom: 10px;"},"children":[{"componentName":"TinyForm","props":{"labelWidth":"80px","labelPosition":"top","inline":false,"label-position":"left ","label-width":"150px","style":"border-radius: 0px;"},"children":[{"componentName":"TinyFormItem","props":{"label":"CPU架构"},"children":[{"componentName":"TinyButtonGroup","props":{"data":[{"text":"x86计算","value":"1"},{"text":"鲲鹏计算","value":"2"}],"modelValue":"1"},"id":"7d33ced7"}],"id":"05ed5a79"},{"componentName":"TinyFormItem","props":{"label":"区域"},"children":[{"componentName":"div","props":{"style":"display: flex; justify-content: flex-start; align-items: center;"},"id":"606edf78","children":[{"componentName":"div","props":{"style":"display: flex; align-items: center; margin-right: 10px;"},"id":"f3f98246","children":[{"componentName":"Text","props":{"text":"vCPUs","style":"width: 80px;"},"id":"c287437e"},{"componentName":"TinySelect","props":{"modelValue":"","placeholder":"请选择","options":[{"value":"1","label":"黄金糕"},{"value":"2","label":"双皮奶"}]},"id":"4c43286b"}]},{"componentName":"div","props":{"style":"display: flex; align-items: center; margin-right: 10px;"},"children":[{"componentName":"Text","props":{"text":"内存","style":"width: 80px; border-radius: 0px;"},"id":"38b8fa1f"},{"componentName":"TinySelect","props":{"modelValue":"","placeholder":"请选择","options":[{"value":"1","label":"黄金糕"},{"value":"2","label":"双皮奶"}]},"id":"cd33328e"}],"id":"2b2c678f"},{"componentName":"div","props":{"style":"display: flex; align-items: center;"},"children":[{"componentName":"Text","props":{"text":"规格名称","style":"width: 80px;"},"id":"d3eb6352"},{"componentName":"TinySearch","props":{"modelValue":"","placeholder":"输入关键词"},"id":"21cb9282"}],"id":"b8e0f35c"},{"componentName":"TinyFormItem","props":{"label":"计费模式"},"children":[{"componentName":"TinyButtonGroup","props":{"data":[{"text":"包年/包月","value":"1"},{"text":"按需计费","value":"2"}],"modelValue":"1"},"id":"a8d84361"}],"id":"9f39f3e7"}]},{"componentName":"div","props":{"style":"border-radius: 0px;"},"id":"5000c83e","children":[{"componentName":"TinyButtonGroup","props":{"data":[{"text":"通用计算型","value":"1"},{"text":"通用计算增强型","value":"2"},{"text":"内存优化型","value":"3"},{"text":"内存优化型","value":"4"},{"text":"磁盘增强型","value":"5"},{"text":"超高I/O型","value":"6"},{"text":"GPU加速型","value":"7"}],"modelValue":"1","style":"border-radius: 0px; margin-top: 12px;"},"id":"b8724703"},{"componentName":"TinyGrid","props":{"editConfig":{"trigger":"click","mode":"cell","showStatus":true},"columns":[{"type":"radio","width":60},{"field":"employees","title":"规格名称"},{"field":"created_date","title":"vCPUs | 内存(GiB)","sortable":true},{"field":"city","title":"CPU","sortable":true},{"title":"基准 / 最大带宽\t","sortable":true},{"title":"内网收发包","sortable":true}],"data":[{"id":"1","name":"GFD科技有限公司","city":"福州","employees":800,"created_date":"2014-04-30 00:56:00","boole":false},{"id":"2","name":"WWW科技有限公司","city":"深圳","employees":300,"created_date":"2016-07-08 12:36:22","boole":true}],"style":"margin-top: 12px; border-radius: 0px;","auto-resize":true},"id":"77701c25"},{"componentName":"div","props":{"style":"margin-top: 12px; border-radius: 0px;"},"id":"3339838b","children":[{"componentName":"Text","props":{"text":"当前规格","style":"width: 150px; display: inline-block;"},"id":"203b012b"},{"componentName":"Text","props":{"text":"通用计算型 | Si2.large.2 | 2vCPUs | 4 GiB","style":"font-weight: 700;"},"id":"87723f52"}]}]}],"id":"657fb2fc"}],"id":"d19b15cf"}],"id":"9991228b"},{"componentName":"div","props":{"style":"border-width: 1px; border-style: solid; border-radius: 4px; border-color: #fff; padding-top: 10px; padding-bottom: 10px; padding-left: 10px; padding-right: 10px; box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px; background-color: #fff; margin-bottom: 10px;"},"children":[{"componentName":"TinyForm","props":{"labelWidth":"80px","labelPosition":"top","inline":false,"label-position":"left ","label-width":"150px","style":"border-radius: 0px;"},"children":[{"componentName":"TinyFormItem","props":{"label":"镜像","style":"border-radius: 0px;"},"children":[{"componentName":"TinyButtonGroup","props":{"data":[{"text":"公共镜像","value":"1"},{"text":"私有镜像","value":"2"},{"text":"共享镜像","value":"3"}],"modelValue":"1"},"id":"922b14cb"},{"componentName":"div","props":{"style":"display: flex; margin-top: 12px; border-radius: 0px;"},"id":"6b679524","children":[{"componentName":"TinySelect","props":{"modelValue":"","placeholder":"请选择","options":[{"value":"1","label":"黄金糕"},{"value":"2","label":"双皮奶"}],"style":"width: 170px; margin-right: 10px;"},"id":"4851fff7"},{"componentName":"TinySelect","props":{"modelValue":"","placeholder":"请选择","options":[{"value":"1","label":"黄金糕"},{"value":"2","label":"双皮奶"}],"style":"width: 340px;"},"id":"a7183eb7"}]},{"componentName":"div","props":{"style":"margin-top: 12px;"},"id":"57aee314","children":[{"componentName":"Text","props":{"text":"请注意操作系统的语言类型。","style":"color: #e37d29;"},"id":"56d36c27"}]}],"id":"e3b02436"}],"id":"59aebf2b"}],"id":"87ff7b99"},{"componentName":"div","props":{"style":"border-width: 1px; border-style: solid; border-radius: 4px; border-color: #fff; padding-top: 10px; padding-bottom: 10px; padding-left: 10px; padding-right: 10px; box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px; background-color: #fff; margin-bottom: 10px;"},"children":[{"componentName":"TinyForm","props":{"labelWidth":"80px","labelPosition":"top","inline":false,"label-position":"left ","label-width":"150px","style":"border-radius: 0px;"},"children":[{"componentName":"TinyFormItem","props":{"label":"系统盘","style":"border-radius: 0px;"},"children":[{"componentName":"div","props":{"style":"display: flex;"},"id":"cddba5b8","children":[{"componentName":"TinySelect","props":{"modelValue":"","placeholder":"请选择","options":[{"value":"1","label":"黄金糕"},{"value":"2","label":"双皮奶"}],"style":"width: 200px; margin-right: 10px;"},"id":"a97fbe15"},{"componentName":"TinyInput","props":{"placeholder":"请输入","modelValue":"","style":"width: 120px; margin-right: 10px;"},"id":"1cde4c0f"},{"componentName":"Text","props":{"text":"GiB \nIOPS上限240,IOPS突发上限5,000","style":"color: #575d6c; font-size: 12px;"},"id":"2815d82d"}]}],"id":"50239a3a"}],"id":"e8582986"},{"componentName":"TinyForm","props":{"labelWidth":"80px","labelPosition":"top","inline":false,"label-position":"left ","label-width":"150px","style":"border-radius: 0px;"},"children":[{"componentName":"TinyFormItem","props":{"label":"数据盘","style":"border-radius: 0px;"},"children":[{"componentName":"div","props":{"style":"margin-top: 12px; display: flex;"},"id":"728c9825","children":[{"componentName":"Icon","props":{"style":"margin-right: 10px; width: 16px; height: 16px;","name":"IconPanelMini"},"id":"fded6930"},{"componentName":"TinySelect","props":{"modelValue":"","placeholder":"请选择","options":[{"value":"1","label":"黄金糕"},{"value":"2","label":"双皮奶"}],"style":"width: 200px; margin-right: 10px;"},"id":"62734e3f"},{"componentName":"TinyInput","props":{"placeholder":"请输入","modelValue":"","style":"width: 120px; margin-right: 10px;"},"id":"667c7926"},{"componentName":"Text","props":{"text":"GiB \nIOPS上限600,IOPS突发上限5,000","style":"color: #575d6c; font-size: 12px; margin-right: 10px;"},"id":"e7bc36d6"},{"componentName":"TinyInput","props":{"placeholder":"请输入","modelValue":"","style":"width: 120px;"},"id":"1bd56dc0"}],"loop":{"type":"JSExpression","value":"this.state.dataDisk"}},{"componentName":"div","props":{"style":"display: flex; margin-top: 12px; border-radius: 0px;"},"children":[{"componentName":"Icon","props":{"name":"IconPlus","style":"width: 16px; height: 16px; margin-right: 10px;"},"id":"65c89f2b"},{"componentName":"Text","props":{"text":"增加一块数据盘","style":"font-size: 12px; border-radius: 0px; margin-right: 10px;"},"id":"cb344071"},{"componentName":"Text","props":{"text":"您还可以挂载 21 块磁盘(云硬盘)","style":"color: #8a8e99; font-size: 12px;"},"id":"80eea996"}],"id":"e9e530ab"}],"id":"078e03ef"}],"id":"ccef886e"}],"id":"0fb7bd74"},{"componentName":"div","props":{"style":"border-width: 1px;z-index:1;border-style: solid; border-color: #ffffff; padding-top: 10px; padding-left: 10px; padding-right: 10px; box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px; background-color: #fff; position: fixed; inset: auto 0% 0% 0%; height: 80px; line-height: 80px; border-radius: 0px;"},"children":[{"componentName":"TinyForm","props":{"labelWidth":"80px","labelPosition":"top","inline":false,"label-position":"left ","label-width":"150px","style":"border-radius: 0px;"},"children":[],"id":"21ed4475"},{"componentName":"TinyRow","props":{"style":"border-radius: 0px; height: 100%;"},"children":[{"componentName":"TinyCol","props":{"span":8},"id":"b9d051a5","children":[{"componentName":"TinyRow","props":{"style":"border-radius: 0px;"},"children":[{"componentName":"TinyCol","props":{"span":5,"style":"display: flex;"},"id":"02352776","children":[{"componentName":"Text","props":{"text":"购买量","style":"margin-right: 10px;"},"id":"0cd9ed5c"},{"componentName":"TinyInput","props":{"placeholder":"请输入","modelValue":"","style":"width: 120px; margin-right: 10px;"},"id":"2f9cf442"},{"componentName":"Text","props":{"text":"台"},"id":"facd4481"}]},{"componentName":"TinyCol","props":{"span":7},"id":"82b6c659","children":[{"componentName":"div","props":{},"id":"9cd65874","children":[{"componentName":"Text","props":{"text":"配置费用","style":"font-size: 12px;"},"id":"b5a0a0da"},{"componentName":"Text","props":{"text":"¥1.5776","style":"padding-left: 10px; padding-right: 10px; color: #de504e;"},"id":"d9464214"},{"componentName":"Text","props":{"text":"/小时","style":"font-size: 12px;"},"id":"af7cc5e6"}]},{"componentName":"div","props":{},"id":"89063830","children":[{"componentName":"Text","props":{"text":"参考价格,具体扣费请以账单为准。","style":"font-size: 12px; border-radius: 0px;"},"id":"d8995fbc"},{"componentName":"Text","props":{"text":"了解计费详情","style":"font-size: 12px; color: #344899;"},"id":"b383c3e2"}]}]}],"id":"94fc0e43"}]},{"componentName":"TinyCol","props":{"span":4,"style":"display: flex; flex-direction: row-reverse; border-radius: 0px; height: 100%; justify-content: flex-start; align-items: center;"},"id":"10b73009","children":[{"componentName":"TinyButton","props":{"text":"下一步: 网络配置","type":"danger","style":"max-width: unset;"},"id":"0b584011"}]}],"id":"d414a473"}],"id":"e8ec029b"}],"fileName":"createVm"},"tenant":1,"isBody":false,"parentId":"0","group":"staticPages","depth":0,"isPage":true,"isDefault":false,"occupier":{"id":86,"username":"开发者","email":"developer@lowcode.com","resetPasswordToken":"developer","confirmationToken":"dfb2c162-351f-4f44-ad5f-8998","is_admin":true},"isHome":false,"_id":"NTJ4MjvqoVj8OVsc","message":"Page auto save"} {"$$indexCreated":{"fieldName":"route","unique":true,"sparse":false}} {"$$indexCreated":{"fieldName":"route","unique":true}} diff --git a/mockServer/src/mock/get/app-center/v1/apps/schema/918.json b/mockServer/src/mock/get/app-center/v1/apps/schema/918.json index 534fbfcd1..9e6824be4 100644 --- a/mockServer/src/mock/get/app-center/v1/apps/schema/918.json +++ b/mockServer/src/mock/get/app-center/v1/apps/schema/918.json @@ -8,7 +8,9 @@ "description": "demo应用", "branch": "develop", "is_demo": null, - "global_state": [], + "global_state": [ + "fishThing" + ], "appId": "918", "creator": "", "gmt_create": "2022-06-08 03:19:01", @@ -752,7 +754,11 @@ "componentsTree": [ { "state": { - "dataDisk": [1, 2, 3] + "dataDisk": [ + 1, + 2, + 3 + ] }, "methods": {}, "componentName": "Page", @@ -2100,4 +2106,4 @@ "version": "" }, "locale": "zh-cn" -} +} \ No newline at end of file diff --git a/mockServer/src/services/appinfo.json b/mockServer/src/services/appinfo.json index ab75552f6..f65830832 100644 --- a/mockServer/src/services/appinfo.json +++ b/mockServer/src/services/appinfo.json @@ -1757,7 +1757,11 @@ "route": "createVm", "page_content": { "state": { - "dataDisk": [1, 2, 3] + "dataDisk": [ + 1, + 2, + 3 + ] }, "methods": {}, "componentName": "Page", @@ -2794,7 +2798,11 @@ "attrs": { "currentPage": 1, "pageSize": 50, - "pageSizes": [10, 20, 50], + "pageSizes": [ + 10, + 20, + 50 + ], "total": 0, "layout": "sizes,total, prev, pager, next, jumper" } @@ -3528,7 +3536,10 @@ "value": "this.state.renderb52aeac9" }, "condition": true, - "loopArgs": ["item", "idx"] + "loopArgs": [ + "item", + "idx" + ] } ] }, @@ -4049,7 +4060,9 @@ "framework": "Vue", "materials": { "blocks": [], - "snippets": [{}], + "snippets": [ + {} + ], "components": [ { "name": { @@ -4089,10 +4102,19 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": [""] + "properties": [ + "" + ] }, "contextMenu": { - "actions": ["copy", "remove", "insert", "updateAttr", "bindEevent", "createBlock"], + "actions": [ + "copy", + "remove", + "insert", + "updateAttr", + "bindEevent", + "createBlock" + ], "disable": [] }, "slots": [], @@ -4205,10 +4227,19 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": [""] + "properties": [ + "" + ] }, "contextMenu": { - "actions": ["remove", "copy", "insert", "updateAttr", "bindEevent", "createBlock"], + "actions": [ + "remove", + "copy", + "insert", + "updateAttr", + "bindEevent", + "createBlock" + ], "disable": [] }, "slots": [], @@ -4459,10 +4490,19 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["show-checkbox"] + "properties": [ + "show-checkbox" + ] }, "contextMenu": { - "actions": ["copy", "remove", "insert", "updateAttr", "bindEevent", "createBlock"], + "actions": [ + "copy", + "remove", + "insert", + "updateAttr", + "bindEevent", + "createBlock" + ], "disable": [] }, "framework": "Vue" @@ -4835,13 +4875,24 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["placement", "trigger"] + "properties": [ + "placement", + "trigger" + ] }, "contextMenu": { - "actions": ["createBlock", "copy"], - "disable": ["copy", "remove"] + "actions": [ + "createBlock", + "copy" + ], + "disable": [ + "copy", + "remove" + ] }, - "slots": ["reference"], + "slots": [ + "reference" + ], "isPopper": true, "framework": "Vue" }, @@ -5384,13 +5435,26 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["text", "", "size"] + "properties": [ + "text", + "", + "size" + ] }, "contextMenu": { - "actions": ["createBlock", "copy", "remove", "insert", "updateAttr", "bindEevent"], + "actions": [ + "createBlock", + "copy", + "remove", + "insert", + "updateAttr", + "bindEevent" + ], "disable": [] }, - "slots": ["content"], + "slots": [ + "content" + ], "isPopper": true, "framework": "Vue" }, @@ -5616,10 +5680,19 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["span"] + "properties": [ + "span" + ] }, "contextMenu": { - "actions": ["copy", "remove", "insert", "updateAttr", "bindEevent", "createBlock"], + "actions": [ + "copy", + "remove", + "insert", + "updateAttr", + "bindEevent", + "createBlock" + ], "disable": [] }, "framework": "Vue" @@ -5893,7 +5966,9 @@ "group": "component", "category": "导航组件", "priority": 2, - "snippets": [{}], + "snippets": [ + {} + ], "configure": { "loop": true, "condition": true, @@ -5911,13 +5986,24 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": [""] + "properties": [ + "" + ] }, "contextMenu": { - "actions": ["copy", "remove", "insert", "updateAttr", "bindEevent", "createBlock"], + "actions": [ + "copy", + "remove", + "insert", + "updateAttr", + "bindEevent", + "createBlock" + ], "disable": [] }, - "invalidity": [""], + "invalidity": [ + "" + ], "clickCapture": true, "framework": "Vue" }, @@ -6116,7 +6202,11 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["text", "", "size"] + "properties": [ + "text", + "", + "size" + ] }, "contextMenu": { "actions": [], @@ -6285,7 +6375,9 @@ }, "type": "event", "functionInfo": { - "params": [null], + "params": [ + null + ], "returns": {} } }, @@ -6298,7 +6390,9 @@ }, "type": "event", "functionInfo": { - "params": [null], + "params": [ + null + ], "returns": {} } } @@ -6362,13 +6456,25 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["text", "size"] + "properties": [ + "text", + "size" + ] }, "contextMenu": { - "actions": ["copy", "remove", "insert", "updateAttr", "bindEevent", "createBlock"], + "actions": [ + "copy", + "remove", + "insert", + "updateAttr", + "bindEevent", + "createBlock" + ], "disable": [] }, - "invalidity": [""], + "invalidity": [ + "" + ], "clickCapture": true, "framework": "Vue" }, @@ -6576,13 +6682,25 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["text", "size"] + "properties": [ + "text", + "size" + ] }, "contextMenu": { - "actions": ["copy", "remove", "insert", "updateAttr", "bindEevent", "createBlock"], + "actions": [ + "copy", + "remove", + "insert", + "updateAttr", + "bindEevent", + "createBlock" + ], "disable": [] }, - "invalidity": [""], + "invalidity": [ + "" + ], "clickCapture": true, "framework": "Vue" }, @@ -6797,13 +6915,25 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["text", "size"] + "properties": [ + "text", + "size" + ] }, "contextMenu": { - "actions": ["copy", "remove", "insert", "updateAttr", "bindEevent", "createBlock"], + "actions": [ + "copy", + "remove", + "insert", + "updateAttr", + "bindEevent", + "createBlock" + ], "disable": [] }, - "invalidity": [""], + "invalidity": [ + "" + ], "clickCapture": true, "framework": "Vue" }, @@ -6949,13 +7079,25 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["text", "size"] + "properties": [ + "text", + "size" + ] }, "contextMenu": { - "actions": ["copy", "remove", "insert", "updateAttr", "bindEevent", "createBlock"], + "actions": [ + "copy", + "remove", + "insert", + "updateAttr", + "bindEevent", + "createBlock" + ], "disable": [] }, - "invalidity": [""], + "invalidity": [ + "" + ], "clickCapture": true, "framework": "Vue" }, @@ -7152,10 +7294,21 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["clearable", "", "mini"] + "properties": [ + "clearable", + "", + "mini" + ] }, "contextMenu": { - "actions": ["copy", "remove", "insert", "updateAttr", "createBlock", "bindEevent"], + "actions": [ + "copy", + "remove", + "insert", + "updateAttr", + "createBlock", + "bindEevent" + ], "disable": [] }, "slots": [], @@ -7441,7 +7594,9 @@ }, "type": "event", "functionInfo": { - "params": [null], + "params": [ + null + ], "returns": {} } }, @@ -7454,7 +7609,9 @@ }, "type": "event", "functionInfo": { - "params": [null], + "params": [ + null + ], "returns": {} } } @@ -7574,10 +7731,20 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["flex", "align"] + "properties": [ + "flex", + "align" + ] }, "contextMenu": { - "actions": ["copy", "remove", "insert", "updateAttr", "bindEevent", "createBlock"], + "actions": [ + "copy", + "remove", + "insert", + "updateAttr", + "bindEevent", + "createBlock" + ], "disable": [] }, "slots": [], @@ -7767,7 +7934,9 @@ "group": "component", "category": "表单组件", "priority": 3, - "snippets": [{}], + "snippets": [ + {} + ], "configure": { "loop": true, "condition": true, @@ -7784,13 +7953,24 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": [""] + "properties": [ + "" + ] }, "contextMenu": { - "actions": ["remove", "insert", "copy", "updateAttr", "bindEevent", "createBlock"], + "actions": [ + "remove", + "insert", + "copy", + "updateAttr", + "bindEevent", + "createBlock" + ], "disable": [] }, - "slots": ["label"], + "slots": [ + "label" + ], "framework": "Vue" }, "createdBy": 169, @@ -7975,13 +8155,25 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["type", "size"] + "properties": [ + "type", + "size" + ] }, "contextMenu": { - "actions": ["copy", "remove", "insert", "updateAttr", "bindEevent", "createBlock"], + "actions": [ + "copy", + "remove", + "insert", + "updateAttr", + "bindEevent", + "createBlock" + ], "disable": [] }, - "invalidity": [""], + "invalidity": [ + "" + ], "clickCapture": true, "framework": "Vue" }, @@ -8352,7 +8544,9 @@ }, "type": "event", "functionInfo": { - "params": [null], + "params": [ + null + ], "returns": {} } } @@ -8414,10 +8608,20 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["value", "disabled"] + "properties": [ + "value", + "disabled" + ] }, "contextMenu": { - "actions": ["copy", "remove", "insert", "updateAttr", "bindEevent", "createBlock"], + "actions": [ + "copy", + "remove", + "insert", + "updateAttr", + "bindEevent", + "createBlock" + ], "disable": [] }, "slots": [], @@ -9000,10 +9204,21 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["tab-style", "", "size"] + "properties": [ + "tab-style", + "", + "size" + ] }, "contextMenu": { - "actions": ["copy", "remove", "insert", "updateAttr", "bindEevent", "createBlock"], + "actions": [ + "copy", + "remove", + "insert", + "updateAttr", + "bindEevent", + "createBlock" + ], "disable": [] }, "slots": [], @@ -9417,13 +9632,24 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": [""] + "properties": [ + "" + ] }, "contextMenu": { - "actions": ["copy", "remove", "insert", "updateAttr", "bindEevent", "createBlock"], + "actions": [ + "copy", + "remove", + "insert", + "updateAttr", + "bindEevent", + "createBlock" + ], "disable": [] }, - "invalidity": [""], + "invalidity": [ + "" + ], "clickCapture": true, "framework": "Vue" }, @@ -9751,7 +9977,9 @@ }, "type": "event", "functionInfo": { - "params": [null], + "params": [ + null + ], "returns": {} } }, @@ -9764,7 +9992,9 @@ }, "type": "event", "functionInfo": { - "params": [null], + "params": [ + null + ], "returns": {} } }, @@ -9777,7 +10007,9 @@ }, "type": "event", "functionInfo": { - "params": [null], + "params": [ + null + ], "returns": {} } } @@ -9844,10 +10076,21 @@ "isLayout": false, "rootSelector": ".tiny-dialog-box", "shortcuts": { - "properties": ["visible", "", "width"] + "properties": [ + "visible", + "", + "width" + ] }, "contextMenu": { - "actions": ["remove", "insert", "copy", "updateAttr", "bindEevent", "createBlock"], + "actions": [ + "remove", + "insert", + "copy", + "updateAttr", + "bindEevent", + "createBlock" + ], "disable": [] }, "slots": [], @@ -10222,10 +10465,20 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["disabled", "mini"] + "properties": [ + "disabled", + "mini" + ] }, "contextMenu": { - "actions": ["copy", "remove", "insert", "updateAttr", "bindEevent", "createBlock"], + "actions": [ + "copy", + "remove", + "insert", + "updateAttr", + "bindEevent", + "createBlock" + ], "disable": [] }, "slots": [], @@ -10507,10 +10760,21 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["horizontal", "", "active"] + "properties": [ + "horizontal", + "", + "active" + ] }, "contextMenu": { - "actions": ["copy", "remove", "insert", "updateAttr", "bindEevent", "createBlock"], + "actions": [ + "copy", + "remove", + "insert", + "updateAttr", + "bindEevent", + "createBlock" + ], "disable": [] }, "framework": "Vue" @@ -10812,10 +11076,20 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["name", "title"] + "properties": [ + "name", + "title" + ] }, "contextMenu": { - "actions": ["copy", "remove", "insert", "updateAttr", "bindEevent", "createBlock"], + "actions": [ + "copy", + "remove", + "insert", + "updateAttr", + "bindEevent", + "createBlock" + ], "disable": [] }, "slots": [], @@ -10988,10 +11262,20 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["text", "size"] + "properties": [ + "text", + "size" + ] }, "contextMenu": { - "actions": ["copy", "remove", "insert", "updateAttr", "bindEevent", "createBlock"], + "actions": [ + "copy", + "remove", + "insert", + "updateAttr", + "bindEevent", + "createBlock" + ], "disable": [] }, "slots": [], @@ -11356,10 +11640,21 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["label-width", "", "disabled"] + "properties": [ + "label-width", + "", + "disabled" + ] }, "contextMenu": { - "actions": ["copy", "remove", "insert", "updateAttr", "bindEevent", "createBlock"], + "actions": [ + "copy", + "remove", + "insert", + "updateAttr", + "bindEevent", + "createBlock" + ], "disable": [] }, "slots": [], @@ -11825,15 +12120,28 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["columns", "", "resizable"] + "properties": [ + "columns", + "", + "resizable" + ] }, "contextMenu": { - "actions": ["copy", "remove", "insert", "updateAttr", "bindEevent", "createBlock"], + "actions": [ + "copy", + "remove", + "insert", + "updateAttr", + "bindEevent", + "createBlock" + ], "disable": [] }, "slots": [], "framework": "Vue", - "invalidity": [""] + "invalidity": [ + "" + ] }, "createdBy": 169, "created_at": "2022-05-19T10:41:29.000Z", @@ -12075,7 +12383,10 @@ "widget": { "component": "MetaJsSlot", "props": { - "slots": ["header", "default"] + "slots": [ + "header", + "default" + ] } } }, @@ -12591,7 +12902,9 @@ }, "type": "event", "functionInfo": { - "params": [null], + "params": [ + null + ], "returns": {} } }, @@ -12604,7 +12917,9 @@ }, "type": "event", "functionInfo": { - "params": [null], + "params": [ + null + ], "returns": {} } }, @@ -12617,7 +12932,9 @@ }, "type": "event", "functionInfo": { - "params": ["e"], + "params": [ + "e" + ], "returns": {} } } @@ -12678,13 +12995,25 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["value", "size"] + "properties": [ + "value", + "size" + ] }, "contextMenu": { - "actions": ["copy", "remove", "insert", "updateAttr", "bindEevent", "createBlock"], + "actions": [ + "copy", + "remove", + "insert", + "updateAttr", + "bindEevent", + "createBlock" + ], "disable": [] }, - "invalidity": [""], + "invalidity": [ + "" + ], "clickCapture": true, "framework": "Vue" }, @@ -13269,7 +13598,9 @@ }, "type": "event", "functionInfo": { - "params": [null], + "params": [ + null + ], "returns": {} } }, @@ -13282,7 +13613,9 @@ }, "type": "event", "functionInfo": { - "params": [null], + "params": [ + null + ], "returns": {} } }, @@ -13295,7 +13628,9 @@ }, "type": "event", "functionInfo": { - "params": [null], + "params": [ + null + ], "returns": {} } } @@ -13334,7 +13669,10 @@ "schema": { "componentName": "TinyCheckboxGroup", "props": { - "modelValue": ["name1", "name2"], + "modelValue": [ + "name1", + "name2" + ], "type": "checkbox", "options": [ { @@ -13395,10 +13733,20 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["text", "size"] + "properties": [ + "text", + "size" + ] }, "contextMenu": { - "actions": ["copy", "remove", "insert", "updateAttr", "bindEevent", "createBlock"], + "actions": [ + "copy", + "remove", + "insert", + "updateAttr", + "bindEevent", + "createBlock" + ], "disable": [] }, "slots": [], @@ -13689,10 +14037,21 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["multiple", "", "options"] + "properties": [ + "multiple", + "", + "options" + ] }, "contextMenu": { - "actions": ["copy", "remove", "insert", "updateAttr", "bindEevent", "createBlock"], + "actions": [ + "copy", + "remove", + "insert", + "updateAttr", + "bindEevent", + "createBlock" + ], "disable": [] }, "slots": [], @@ -14186,10 +14545,20 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["disabled", "size"] + "properties": [ + "disabled", + "size" + ] }, "contextMenu": { - "actions": ["copy", "remove", "insert", "updateAttr", "bindEevent", "createBlock"], + "actions": [ + "copy", + "remove", + "insert", + "updateAttr", + "bindEevent", + "createBlock" + ], "disable": [] }, "framework": "Vue" @@ -14364,7 +14733,9 @@ }, "type": "event", "functionInfo": { - "params": [null], + "params": [ + null + ], "returns": {} } } @@ -14450,13 +14821,24 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["arrow"] + "properties": [ + "arrow" + ] }, "contextMenu": { - "actions": ["copy", "remove", "insert", "updateAttr", "bindEevent", "createBlock"], + "actions": [ + "copy", + "remove", + "insert", + "updateAttr", + "bindEevent", + "createBlock" + ], "disable": [] }, - "slots": ["default"], + "slots": [ + "default" + ], "framework": "Vue" }, "createdBy": 169, @@ -14853,10 +15235,20 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["placeholder", "show-clear-btn"] + "properties": [ + "placeholder", + "show-clear-btn" + ] }, "contextMenu": { - "actions": ["copy", "remove", "insert", "updateAttr", "bindEevent", "createBlock"], + "actions": [ + "copy", + "remove", + "insert", + "updateAttr", + "bindEevent", + "createBlock" + ], "disable": [] }, "slots": [], @@ -15249,10 +15641,19 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": [""] + "properties": [ + "" + ] }, "contextMenu": { - "actions": ["copy", "remove", "insert", "updateAttr", "bindEevent", "createBlock"], + "actions": [ + "copy", + "remove", + "insert", + "updateAttr", + "bindEevent", + "createBlock" + ], "disable": [] }, "invalidity": [], @@ -15924,13 +16325,25 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["size", "trigger"] + "properties": [ + "size", + "trigger" + ] }, "contextMenu": { - "actions": ["copy", "remove", "insert", "updateAttr", "bindEevent", "createBlock"], + "actions": [ + "copy", + "remove", + "insert", + "updateAttr", + "bindEevent", + "createBlock" + ], "disable": [] }, - "invalidity": [""], + "invalidity": [ + "" + ], "clickCapture": true, "framework": "Vue" }, @@ -16278,7 +16691,9 @@ }, "type": "event", "functionInfo": { - "params": [null], + "params": [ + null + ], "returns": {} } }, @@ -16291,7 +16706,9 @@ }, "type": "event", "functionInfo": { - "params": [null], + "params": [ + null + ], "returns": {} } }, @@ -16304,7 +16721,9 @@ }, "type": "event", "functionInfo": { - "params": [null], + "params": [ + null + ], "returns": {} } } @@ -16344,7 +16763,12 @@ "componentName": "TinyChartHistogram", "props": { "data": { - "columns": ["日期", "访问用户", "下单用户", "下单率"], + "columns": [ + "日期", + "访问用户", + "下单用户", + "下单率" + ], "rows": [ { "日期": "1/1", @@ -16405,13 +16829,24 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": [""] + "properties": [ + "" + ] }, "contextMenu": { - "actions": ["copy", "remove", "insert", "updateAttr", "bindEevent", "createBlock"], + "actions": [ + "copy", + "remove", + "insert", + "updateAttr", + "bindEevent", + "createBlock" + ], "disable": [] }, - "invalidity": [""], + "invalidity": [ + "" + ], "clickCapture": true, "framework": "Vue" }, @@ -16669,7 +17104,9 @@ "createdBy": null, "updatedBy": null, "assets_url": { - "material": ["http://localhost:9090/assets/json/bundle.json"], + "material": [ + "http://localhost:9090/assets/json/bundle.json" + ], "scripts": [ "http://localhost:9090/assets/js/1505web-components.es.js", "http://localhost:9090/assets/js/1505web-components.umd.js" @@ -16724,13 +17161,25 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["type", "size"] + "properties": [ + "type", + "size" + ] }, "contextMenu": { - "actions": ["copy", "remove", "insert", "updateAttr", "bindEevent", "createBlock"], + "actions": [ + "copy", + "remove", + "insert", + "updateAttr", + "bindEevent", + "createBlock" + ], "disable": [] }, - "invalidity": [""], + "invalidity": [ + "" + ], "clickCapture": true, "framework": "Vue" }, @@ -17004,13 +17453,25 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["type", "size"] + "properties": [ + "type", + "size" + ] }, "contextMenu": { - "actions": ["copy", "remove", "insert", "updateAttr", "bindEevent", "createBlock"], + "actions": [ + "copy", + "remove", + "insert", + "updateAttr", + "bindEevent", + "createBlock" + ], "disable": [] }, - "invalidity": [""], + "invalidity": [ + "" + ], "clickCapture": true, "framework": "Vue" }, @@ -17316,7 +17777,9 @@ "isModal": false, "isPopper": false, "nestingRule": { - "childWhitelist": ["ElFormItem"], + "childWhitelist": [ + "ElFormItem" + ], "parentWhitelist": "", "descendantBlacklist": "", "ancestorWhitelist": "" @@ -17325,13 +17788,25 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["inline", "label-width"] + "properties": [ + "inline", + "label-width" + ] }, "contextMenu": { - "actions": ["copy", "remove", "insert", "updateAttr", "bindEevent", "createBlock"], + "actions": [ + "copy", + "remove", + "insert", + "updateAttr", + "bindEevent", + "createBlock" + ], "disable": [] }, - "invalidity": [""], + "invalidity": [ + "" + ], "clickCapture": true, "framework": "Vue" }, @@ -17782,13 +18257,25 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["inline", "label-width"] + "properties": [ + "inline", + "label-width" + ] }, "contextMenu": { - "actions": ["copy", "remove", "insert", "updateAttr", "bindEevent", "createBlock"], + "actions": [ + "copy", + "remove", + "insert", + "updateAttr", + "bindEevent", + "createBlock" + ], "disable": [] }, - "invalidity": [""], + "invalidity": [ + "" + ], "clickCapture": true, "framework": "Vue" }, @@ -18123,7 +18610,9 @@ "isModal": false, "isPopper": false, "nestingRule": { - "childWhitelist": ["ElTableColumn"], + "childWhitelist": [ + "ElTableColumn" + ], "parentWhitelist": "", "descendantBlacklist": "", "ancestorWhitelist": "" @@ -18132,13 +18621,25 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["inline", "label-width"] + "properties": [ + "inline", + "label-width" + ] }, "contextMenu": { - "actions": ["copy", "remove", "insert", "updateAttr", "bindEevent", "createBlock"], + "actions": [ + "copy", + "remove", + "insert", + "updateAttr", + "bindEevent", + "createBlock" + ], "disable": [] }, - "invalidity": [""], + "invalidity": [ + "" + ], "clickCapture": true, "framework": "Vue" }, @@ -19368,13 +19869,25 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["inline", "label-width"] + "properties": [ + "inline", + "label-width" + ] }, "contextMenu": { - "actions": ["copy", "remove", "insert", "updateAttr", "bindEevent", "createBlock"], + "actions": [ + "copy", + "remove", + "insert", + "updateAttr", + "bindEevent", + "createBlock" + ], "disable": [] }, - "invalidity": [""], + "invalidity": [ + "" + ], "clickCapture": true, "framework": "Vue" }, @@ -19521,11 +20034,19 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["disabled", "size"] + "properties": [ + "disabled", + "size" + ] }, "contextMenu": { - "actions": ["create symbol"], - "disable": ["copy", "remove"] + "actions": [ + "create symbol" + ], + "disable": [ + "copy", + "remove" + ] } } }, @@ -19843,7 +20364,9 @@ "clickCapture": false, "isModal": false, "nestingRule": { - "childWhitelist": ["TinyCarouselItem"], + "childWhitelist": [ + "TinyCarouselItem" + ], "parentWhitelist": "", "descendantBlacklist": "", "ancestorWhitelist": "" @@ -19852,11 +20375,19 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["disabled", "size"] + "properties": [ + "disabled", + "size" + ] }, "contextMenu": { - "actions": ["create symbol"], - "disable": ["copy", "remove"] + "actions": [ + "create symbol" + ], + "disable": [ + "copy", + "remove" + ] } } }, @@ -20012,7 +20543,14 @@ "name": { "zh_CN": "标题" }, - "component": ["h1", "h2", "h3", "h4", "h5", "h6"], + "component": [ + "h1", + "h2", + "h3", + "h4", + "h5", + "h6" + ], "icon": "h16", "description": "标题", "docUrl": "", @@ -20103,11 +20641,19 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["disabled", "size"] + "properties": [ + "disabled", + "size" + ] }, "contextMenu": { - "actions": ["create symbol"], - "disable": ["copy", "remove"] + "actions": [ + "create symbol" + ], + "disable": [ + "copy", + "remove" + ] } } }, @@ -20476,11 +21022,19 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["disabled", "size"] + "properties": [ + "disabled", + "size" + ] }, "contextMenu": { - "actions": ["create symbol"], - "disable": ["copy", "remove"] + "actions": [ + "create symbol" + ], + "disable": [ + "copy", + "remove" + ] } } }, @@ -20733,7 +21287,9 @@ ], "events": {}, "shortcuts": { - "properties": ["src"] + "properties": [ + "src" + ] }, "contentMenu": { "actions": [] @@ -21408,11 +21964,19 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["disabled", "size"] + "properties": [ + "disabled", + "size" + ] }, "contextMenu": { - "actions": ["create symbol"], - "disable": ["copy", "remove"] + "actions": [ + "create symbol" + ], + "disable": [ + "copy", + "remove" + ] } } }, @@ -21558,11 +22122,19 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["label-width", "disabled"] + "properties": [ + "label-width", + "disabled" + ] }, "contextMenu": { - "actions": ["create symbol"], - "disable": ["copy", "remove"] + "actions": [ + "create symbol" + ], + "disable": [ + "copy", + "remove" + ] } } }, @@ -21911,11 +22483,19 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["label-width", "disabled"] + "properties": [ + "label-width", + "disabled" + ] }, "contextMenu": { - "actions": ["create symbol"], - "disable": ["copy", "remove"] + "actions": [ + "create symbol" + ], + "disable": [ + "copy", + "remove" + ] } } }, @@ -22038,7 +22618,9 @@ "isModal": false, "nestingRule": { "childWhitelist": "", - "parentWhitelist": ["TinyForm"], + "parentWhitelist": [ + "TinyForm" + ], "descendantBlacklist": "", "ancestorWhitelist": "" }, @@ -22046,11 +22628,19 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["label", "rules"] + "properties": [ + "label", + "rules" + ] }, "contextMenu": { - "actions": ["create symbol"], - "disable": ["copy", "remove"] + "actions": [ + "create symbol" + ], + "disable": [ + "copy", + "remove" + ] } } }, @@ -22328,11 +22918,19 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["label", "rules"] + "properties": [ + "label", + "rules" + ] }, "contextMenu": { - "actions": ["create symbol"], - "disable": ["copy", "remove"] + "actions": [ + "create symbol" + ], + "disable": [ + "copy", + "remove" + ] } } }, @@ -22668,11 +23266,19 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["text", "size"] + "properties": [ + "text", + "size" + ] }, "contextMenu": { - "actions": ["create symbol"], - "disable": ["copy", "remove"] + "actions": [ + "create symbol" + ], + "disable": [ + "copy", + "remove" + ] } } }, @@ -23083,11 +23689,19 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["value", "disabled"] + "properties": [ + "value", + "disabled" + ] }, "contextMenu": { - "actions": ["create symbol"], - "disable": ["copy", "remove"] + "actions": [ + "create symbol" + ], + "disable": [ + "copy", + "remove" + ] } } }, @@ -23322,11 +23936,19 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["visible", "width"] + "properties": [ + "visible", + "width" + ] }, "contextMenu": { - "actions": ["create symbol"], - "disable": ["copy", "remove"] + "actions": [ + "create symbol" + ], + "disable": [ + "copy", + "remove" + ] } } }, @@ -23730,11 +24352,19 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["multiple", "options"] + "properties": [ + "multiple", + "options" + ] }, "contextMenu": { - "actions": ["create symbol"], - "disable": ["copy", "remove"] + "actions": [ + "create symbol" + ], + "disable": [ + "copy", + "remove" + ] } } }, @@ -23932,11 +24562,19 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["disabled", "mini"] + "properties": [ + "disabled", + "mini" + ] }, "contextMenu": { - "actions": ["create symbol"], - "disable": ["copy", "remove"] + "actions": [ + "create symbol" + ], + "disable": [ + "copy", + "remove" + ] } } }, @@ -24211,11 +24849,19 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["clearable", "mini"] + "properties": [ + "clearable", + "mini" + ] }, "contextMenu": { - "actions": ["create symbol"], - "disable": ["copy", "remove"] + "actions": [ + "create symbol" + ], + "disable": [ + "copy", + "remove" + ] } } }, @@ -24470,11 +25116,19 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["border", "disabled"] + "properties": [ + "border", + "disabled" + ] }, "contextMenu": { - "actions": ["create symbol"], - "disable": ["copy", "remove"] + "actions": [ + "create symbol" + ], + "disable": [ + "copy", + "remove" + ] } } }, @@ -24661,11 +25315,19 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["text", "size"] + "properties": [ + "text", + "size" + ] }, "contextMenu": { - "actions": ["create symbol"], - "disable": ["copy", "remove"] + "actions": [ + "create symbol" + ], + "disable": [ + "copy", + "remove" + ] } } }, @@ -24872,11 +25534,19 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["disabled", "type"] + "properties": [ + "disabled", + "type" + ] }, "contextMenu": { - "actions": ["create symbol"], - "disable": ["copy", "remove"] + "actions": [ + "create symbol" + ], + "disable": [ + "copy", + "remove" + ] } } }, @@ -25152,11 +25822,19 @@ "isLayout": false, "rootSelector": ".tiny-dialog-box", "shortcuts": { - "properties": ["visible", "width"] + "properties": [ + "visible", + "width" + ] }, "contextMenu": { - "actions": ["create symbol"], - "disable": ["copy", "remove"] + "actions": [ + "create symbol" + ], + "disable": [ + "copy", + "remove" + ] } } }, @@ -25428,7 +26106,9 @@ "clickCapture": false, "isModal": false, "nestingRule": { - "childWhitelist": ["TinyTabItem"], + "childWhitelist": [ + "TinyTabItem" + ], "parentWhitelist": [], "descendantBlacklist": [], "ancestorWhitelist": [] @@ -25437,11 +26117,19 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["size", "tab-style"] + "properties": [ + "size", + "tab-style" + ] }, "contextMenu": { - "actions": ["create symbol"], - "disable": ["copy", "remove"] + "actions": [ + "create symbol" + ], + "disable": [ + "copy", + "remove" + ] } } }, @@ -25542,7 +26230,9 @@ "isModal": false, "nestingRule": { "childWhitelist": "", - "parentWhitelist": ["TinyTab"], + "parentWhitelist": [ + "TinyTab" + ], "descendantBlacklist": "", "ancestorWhitelist": "" }, @@ -25550,11 +26240,19 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["name", "title"] + "properties": [ + "name", + "title" + ] }, "contextMenu": { - "actions": ["create symbol"], - "disable": ["copy", "remove"] + "actions": [ + "create symbol" + ], + "disable": [ + "copy", + "remove" + ] } } }, @@ -25677,7 +26375,9 @@ "clickCapture": false, "isModal": false, "nestingRule": { - "childWhitelist": ["TinyBreadcrumbItem"], + "childWhitelist": [ + "TinyBreadcrumbItem" + ], "parentWhitelist": [], "descendantBlacklist": [], "ancestorWhitelist": [] @@ -25686,11 +26386,18 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["separator"] + "properties": [ + "separator" + ] }, "contextMenu": { - "actions": ["create symbol"], - "disable": ["copy", "remove"] + "actions": [ + "create symbol" + ], + "disable": [ + "copy", + "remove" + ] } } }, @@ -25771,7 +26478,9 @@ "isModal": false, "nestingRule": { "childWhitelist": "", - "parentWhitelist": ["TinyBreadcrumb"], + "parentWhitelist": [ + "TinyBreadcrumb" + ], "descendantBlacklist": "", "ancestorWhitelist": "" }, @@ -25779,11 +26488,18 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["to"] + "properties": [ + "to" + ] }, "contextMenu": { - "actions": ["create symbol"], - "disable": ["copy", "remove"] + "actions": [ + "create symbol" + ], + "disable": [ + "copy", + "remove" + ] } } }, @@ -25911,11 +26627,19 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["label-width", "disabled"] + "properties": [ + "label-width", + "disabled" + ] }, "contextMenu": { - "actions": ["create symbol"], - "disable": ["copy", "remove"] + "actions": [ + "create symbol" + ], + "disable": [ + "copy", + "remove" + ] } } }, @@ -26026,11 +26750,19 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["label-width", "disabled"] + "properties": [ + "label-width", + "disabled" + ] }, "contextMenu": { - "actions": ["create symbol"], - "disable": ["copy", "remove"] + "actions": [ + "create symbol" + ], + "disable": [ + "copy", + "remove" + ] } } }, @@ -26247,7 +26979,10 @@ "widget": { "component": "MetaJsSlot", "props": { - "slots": ["header", "default"] + "slots": [ + "header", + "default" + ] } } }, @@ -26925,10 +27660,15 @@ } }, "shortcuts": { - "properties": ["sortable", "columns"] + "properties": [ + "sortable", + "columns" + ] }, "contentMenu": { - "actions": ["create symbol"] + "actions": [ + "create symbol" + ] }, "onBeforeMount": "console.log('table on load'); this.pager = source.pager; this.fetchData = source.fetchData; this.data = source.data ;this.columns = source.columns" }, @@ -26948,11 +27688,19 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["sortable", "columns"] + "properties": [ + "sortable", + "columns" + ] }, "contextMenu": { - "actions": ["create symbol"], - "disable": ["copy", "remove"] + "actions": [ + "create symbol" + ], + "disable": [ + "copy", + "remove" + ] } } }, @@ -27185,11 +27933,19 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["currentPage", "total"] + "properties": [ + "currentPage", + "total" + ] }, "contextMenu": { - "actions": ["create symbol"], - "disable": ["copy", "remove"] + "actions": [ + "create symbol" + ], + "disable": [ + "copy", + "remove" + ] } } }, @@ -27551,11 +28307,19 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["modelValue", "disabled"] + "properties": [ + "modelValue", + "disabled" + ] }, "contextMenu": { - "actions": ["create symbol"], - "disable": ["copy", "remove"] + "actions": [ + "create symbol" + ], + "disable": [ + "copy", + "remove" + ] } } }, @@ -27867,11 +28631,19 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["data", "show-checkbox"] + "properties": [ + "data", + "show-checkbox" + ] }, "contextMenu": { - "actions": ["create symbol"], - "disable": ["copy", "remove"] + "actions": [ + "create symbol" + ], + "disable": [ + "copy", + "remove" + ] } } }, @@ -28076,11 +28848,19 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["active", "data"] + "properties": [ + "active", + "data" + ] }, "contextMenu": { - "actions": ["create symbol"], - "disable": ["copy", "remove"] + "actions": [ + "create symbol" + ], + "disable": [ + "copy", + "remove" + ] } } }, @@ -28276,11 +29056,19 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["disabled", "content"] + "properties": [ + "disabled", + "content" + ] }, "contextMenu": { - "actions": ["create symbol"], - "disable": ["copy", "remove"] + "actions": [ + "create symbol" + ], + "disable": [ + "copy", + "remove" + ] } } }, @@ -28762,11 +29550,19 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["visible", "width"] + "properties": [ + "visible", + "width" + ] }, "contextMenu": { - "actions": ["create symbol"], - "disable": ["copy", "remove"] + "actions": [ + "create symbol" + ], + "disable": [ + "copy", + "remove" + ] } } }, @@ -29178,11 +29974,19 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["value", "disabled"] + "properties": [ + "value", + "disabled" + ] }, "contextMenu": { - "actions": ["create symbol"], - "disable": ["copy", "remove"] + "actions": [ + "create symbol" + ], + "disable": [ + "copy", + "remove" + ] } } }, @@ -29623,11 +30427,19 @@ "isLayout": false, "rootSelector": "", "shortcuts": { - "properties": ["value", "disabled"] + "properties": [ + "value", + "disabled" + ] }, "contextMenu": { - "actions": ["create symbol"], - "disable": ["copy", "remove"] + "actions": [ + "create symbol" + ], + "disable": [ + "copy", + "remove" + ] } } } @@ -29675,7 +30487,9 @@ "set_template_by": null, "set_default_by": 169, "framework": "Vue", - "global_state": [], + "global_state": [ + "fishThing" + ], "default_lang": null, "extend_config": { "business": { @@ -29709,4 +30523,4 @@ } } } -} +} \ No newline at end of file diff --git a/packages/react-generator/src/constant/index.js b/packages/react-generator/src/constant/index.js index 011359375..e21d88a3b 100644 --- a/packages/react-generator/src/constant/index.js +++ b/packages/react-generator/src/constant/index.js @@ -18,2156 +18,2156 @@ const DEFAULT_COMPONENTS_MAP = [ { componentName: 'TinyAlert', exportName: 'Alert', - package: '@opentiny/vue', + package: '@opentiny/react', version: '^3.10.0', destructuring: true }, { componentName: 'TinyBreadcrumb', exportName: 'Breadcrumb', - package: '@opentiny/vue', + package: '@opentiny/react', version: '^3.10.0', destructuring: true }, { componentName: 'TinyBreadcrumbItem', exportName: 'BreadcrumbItem', - package: '@opentiny/vue', + package: '@opentiny/react', version: '^3.10.0', destructuring: true }, { componentName: 'TinyButton', exportName: 'Button', - package: '@opentiny/vue', + package: '@opentiny/react', version: '^3.10.0', destructuring: true }, { componentName: 'TinyCheckbox', exportName: 'Checkbox', - package: '@opentiny/vue', + package: '@opentiny/react', version: '^3.10.0', destructuring: true }, { componentName: 'TinyCheckboxButton', exportName: 'CheckboxButton', - package: '@opentiny/vue', + package: '@opentiny/react', version: '^3.10.0', destructuring: true }, { componentName: 'TinyCheckboxGroup', exportName: 'CheckboxGroup', - package: '@opentiny/vue', + package: '@opentiny/react', version: '^3.10.0', destructuring: true }, { componentName: 'TinyCol', exportName: 'Col', - package: '@opentiny/vue', + package: '@opentiny/react', version: '^3.10.0', destructuring: true }, { componentName: 'TinyCollapse', exportName: 'Collapse', - package: '@opentiny/vue', + package: '@opentiny/react', version: '^3.10.0', destructuring: true }, { componentName: 'TinyCollapseItem', exportName: 'CollapseItem', - package: '@opentiny/vue', + package: '@opentiny/react', version: '^3.10.0', destructuring: true }, { componentName: 'TinyDatePicker', exportName: 'DatePicker', - package: '@opentiny/vue', + package: '@opentiny/react', version: '^3.10.0', destructuring: true }, { componentName: 'TinyDialogBox', exportName: 'DialogBox', - package: '@opentiny/vue', + package: '@opentiny/react', version: '^3.10.0', destructuring: true }, { componentName: 'TinyFloatbar', exportName: 'Floatbar', - package: '@opentiny/vue', + package: '@opentiny/react', version: '^3.10.0', destructuring: true }, { componentName: 'TinyForm', exportName: 'Form', - package: '@opentiny/vue', + package: '@opentiny/react', version: '^3.10.0', destructuring: true }, { componentName: 'TinyFormItem', exportName: 'FormItem', - package: '@opentiny/vue', + package: '@opentiny/react', version: '^3.10.0', destructuring: true }, { componentName: 'TinyGrid', exportName: 'Grid', - package: '@opentiny/vue', + package: '@opentiny/react', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconAdd', exportName: 'iconAdd', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconAdministrator', exportName: 'iconAdministrator', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconAlignBaseline', exportName: 'iconAlignBaseline', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconAlignCenter', exportName: 'iconAlignCenter', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconAlignFlexCenter', exportName: 'iconAlignFlexCenter', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconAlignFlexEnd', exportName: 'iconAlignFlexEnd', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconAlignFlexStart', exportName: 'iconAlignFlexStart', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconAlignJustify', exportName: 'iconAlignJustify', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconAlignLeft', exportName: 'iconAlignLeft', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconAlignRight', exportName: 'iconAlignRight', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconAlignStretch', exportName: 'iconAlignStretch', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconAngularjs', exportName: 'iconAngularjs', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconApp', exportName: 'iconApp', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconApplication', exportName: 'iconApplication', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconAreaChart', exportName: 'iconAreaChart', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconArrowDown', exportName: 'iconArrowDown', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconArrowLeft', exportName: 'iconArrowLeft', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconArrowRight', exportName: 'iconArrowRight', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconArrowUp', exportName: 'iconArrowUp', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconAscending', exportName: 'iconAscending', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconAssociation', exportName: 'iconAssociation', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconAttachment', exportName: 'iconAttachment', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconBarChart', exportName: 'iconBarChart', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconBefilter', exportName: 'iconBefilter', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconBoat', exportName: 'iconBoat', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconBoxSolid', exportName: 'iconBoxSolid', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconBusy', exportName: 'iconBusy', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconCalculator', exportName: 'iconCalculator', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconCalendar', exportName: 'iconCalendar', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconCheck', exportName: 'iconCheck', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconCheckOut', exportName: 'iconCheckOut', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconCheckedLinear', exportName: 'iconCheckedLinear', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconCheckedSur', exportName: 'iconCheckedSur', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconCheckedTrue', exportName: 'iconCheckedTrue', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconChevronDown', exportName: 'iconChevronDown', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconChevronLeft', exportName: 'iconChevronLeft', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconChevronRight', exportName: 'iconChevronRight', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconChevronUp', exportName: 'iconChevronUp', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconClearFilter', exportName: 'iconClearFilter', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconClockWork', exportName: 'iconClockWork', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconClose', exportName: 'iconClose', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconCloseCircle', exportName: 'iconCloseCircle', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconCloseSquare', exportName: 'iconCloseSquare', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconCloudDownload', exportName: 'iconCloudDownload', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconCloudUpload', exportName: 'iconCloudUpload', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconCode', exportName: 'iconCode', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconCoin', exportName: 'iconCoin', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconColReverse', exportName: 'iconColReverse', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconCommission', exportName: 'iconCommission', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconConmentRefresh', exportName: 'iconConmentRefresh', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconCopy', exportName: 'iconCopy', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconCopySolid', exportName: 'iconCopySolid', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconCourse', exportName: 'iconCourse', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconCueL', exportName: 'iconCueL', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconCustom', exportName: 'iconCustom', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconCustomerService', exportName: 'iconCustomerService', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconDataSource', exportName: 'iconDataSource', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconDefault', exportName: 'iconDefault', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconDefinedFiltration', exportName: 'iconDefinedFiltration', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconDel', exportName: 'iconDel', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconDeletePage', exportName: 'iconDeletePage', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconDeleted', exportName: 'iconDeleted', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconDeltaDown', exportName: 'iconDeltaDown', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconDeltaDownO', exportName: 'iconDeltaDownO', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconDeltaLeft', exportName: 'iconDeltaLeft', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconDeltaLeftO', exportName: 'iconDeltaLeftO', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconDeltaRight', exportName: 'iconDeltaRight', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconDeltaRightO', exportName: 'iconDeltaRightO', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconDeltaUp', exportName: 'iconDeltaUp', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconDeltaUpO', exportName: 'iconDeltaUpO', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconDerive', exportName: 'iconDerive', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconDescending', exportName: 'iconDescending', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconDesktopView', exportName: 'iconDesktopView', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconDialog', exportName: 'iconDialog', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconDialog2', exportName: 'iconDialog2', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconDirectionCol', exportName: 'iconDirectionCol', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconDirectionRow', exportName: 'iconDirectionRow', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconDotChart', exportName: 'iconDotChart', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconDotIpv4', exportName: 'iconDotIpv4', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconDoubleLeft', exportName: 'iconDoubleLeft', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconDoubleRight', exportName: 'iconDoubleRight', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconDown', exportName: 'iconDown', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconDownO', exportName: 'iconDownO', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconDownload', exportName: 'iconDownload', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconDownloadCloud', exportName: 'iconDownloadCloud', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconDownloadLink', exportName: 'iconDownloadLink', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconDraft', exportName: 'iconDraft', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconEdit', exportName: 'iconEdit', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconEditorTab', exportName: 'iconEditorTab', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconEllipsis', exportName: 'iconEllipsis', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconEmailAdd', exportName: 'iconEmailAdd', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconEmailCircle', exportName: 'iconEmailCircle', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconEnd', exportName: 'iconEnd', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconError', exportName: 'iconError', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconEspace', exportName: 'iconEspace', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconEspaceAuto', exportName: 'iconEspaceAuto', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconExcel', exportName: 'iconExcel', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconException', exportName: 'iconException', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconExclamation', exportName: 'iconExclamation', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconExport', exportName: 'iconExport', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconExpressSearch', exportName: 'iconExpressSearch', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconEyeclose', exportName: 'iconEyeclose', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconEyeopen', exportName: 'iconEyeopen', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconFile', exportName: 'iconFile', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconFileCloudupload', exportName: 'iconFileCloudupload', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconFileExcel', exportName: 'iconFileExcel', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconFiles', exportName: 'iconFiles', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconFilesCircle', exportName: 'iconFilesCircle', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconFiletext', exportName: 'iconFiletext', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconFileupload', exportName: 'iconFileupload', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconFiltered', exportName: 'iconFiltered', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconFlag', exportName: 'iconFlag', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconFolderClosed', exportName: 'iconFolderClosed', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconFolderOpened', exportName: 'iconFolderOpened', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconFontColor', exportName: 'iconFontColor', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconFontFamily', exportName: 'iconFontFamily', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconFontSize', exportName: 'iconFontSize', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconFontStyle', exportName: 'iconFontStyle', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconFontWeight', exportName: 'iconFontWeight', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconFreezeLeft', exportName: 'iconFreezeLeft', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconFreezeRight', exportName: 'iconFreezeRight', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconFrown', exportName: 'iconFrown', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconFrownO', exportName: 'iconFrownO', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconFullscreen', exportName: 'iconFullscreen', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconGrade', exportName: 'iconGrade', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconGroup', exportName: 'iconGroup', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconGroupTransfer', exportName: 'iconGroupTransfer', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconHalfchecked', exportName: 'iconHalfchecked', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconHalfselect', exportName: 'iconHalfselect', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconHeartempty', exportName: 'iconHeartempty', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconHelp', exportName: 'iconHelp', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconHelpCircle', exportName: 'iconHelpCircle', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconHelpQuery', exportName: 'iconHelpQuery', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconHelpSolid', exportName: 'iconHelpSolid', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconHelpful', exportName: 'iconHelpful', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconHideLeft', exportName: 'iconHideLeft', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconHideRight', exportName: 'iconHideRight', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconHideTopleft', exportName: 'iconHideTopleft', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconImport', exportName: 'iconImport', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconInfo', exportName: 'iconInfo', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconInfoCircle', exportName: 'iconInfoCircle', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconInfoSolid', exportName: 'iconInfoSolid', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconInformation', exportName: 'iconInformation', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconJs', exportName: 'iconJs', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconJusitfyCenter', exportName: 'iconJusitfyCenter', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconJusitfyFlexEnd', exportName: 'iconJusitfyFlexEnd', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconJusitfySpaceAround', exportName: 'iconJusitfySpaceAround', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconJusitfySpaceBetween', exportName: 'iconJusitfySpaceBetween', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconJustitfyFlexStart', exportName: 'iconJustitfyFlexStart', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconLanguage', exportName: 'iconLanguage', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconLeave', exportName: 'iconLeave', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconLeft', exportName: 'iconLeft', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconLeftFrozen', exportName: 'iconLeftFrozen', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconLeftO', exportName: 'iconLeftO', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconLeftWard', exportName: 'iconLeftWard', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconLineChart', exportName: 'iconLineChart', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconLineHeight', exportName: 'iconLineHeight', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconLineThrought', exportName: 'iconLineThrought', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconLink', exportName: 'iconLink', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconLoading', exportName: 'iconLoading', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconLock', exportName: 'iconLock', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconMail', exportName: 'iconMail', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconMailContent', exportName: 'iconMailContent', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconMale', exportName: 'iconMale', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconMarkOn', exportName: 'iconMarkOn', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconMeh', exportName: 'iconMeh', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconMessageCircle', exportName: 'iconMessageCircle', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconMinscreen', exportName: 'iconMinscreen', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconMinus', exportName: 'iconMinus', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconMinusCircle', exportName: 'iconMinusCircle', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconMinusSquare', exportName: 'iconMinusSquare', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconMobile', exportName: 'iconMobile', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconMobileView', exportName: 'iconMobileView', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconMore', exportName: 'iconMore', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconNew', exportName: 'iconNew', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconNoPremission', exportName: 'iconNoPremission', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconNode', exportName: 'iconNode', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconNodeOpen', exportName: 'iconNodeOpen', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconNodejs', exportName: 'iconNodejs', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconNone', exportName: 'iconNone', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconOffLine', exportName: 'iconOffLine', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconOnLine', exportName: 'iconOnLine', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconOperationfaild', exportName: 'iconOperationfaild', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconOperationfaildL', exportName: 'iconOperationfaildL', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconOuterLink', exportName: 'iconOuterLink', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconPagelink', exportName: 'iconPagelink', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconPagerFirst', exportName: 'iconPagerFirst', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconPagerLast', exportName: 'iconPagerLast', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconPagerNext', exportName: 'iconPagerNext', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconPagerPrev', exportName: 'iconPagerPrev', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconPanelMax', exportName: 'iconPanelMax', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconPanelMini', exportName: 'iconPanelMini', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconPanelNormal', exportName: 'iconPanelNormal', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconPause', exportName: 'iconPause', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconPauseCircle', exportName: 'iconPauseCircle', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconPicture', exportName: 'iconPicture', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconPieChart', exportName: 'iconPieChart', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconPlus', exportName: 'iconPlus', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconPlusCircle', exportName: 'iconPlusCircle', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconPlusSquare', exportName: 'iconPlusSquare', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconPopup', exportName: 'iconPopup', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconPreChecked', exportName: 'iconPreChecked', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconPrintPreview', exportName: 'iconPrintPreview', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconPushpin', exportName: 'iconPushpin', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconRadio', exportName: 'iconRadio', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconRadioselected', exportName: 'iconRadioselected', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconReactjs', exportName: 'iconReactjs', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconRedo', exportName: 'iconRedo', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconRefres', exportName: 'iconRefres', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconRenew', exportName: 'iconRenew', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconRepeat', exportName: 'iconRepeat', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconReplace', exportName: 'iconReplace', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconReplies', exportName: 'iconReplies', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconRight', exportName: 'iconRight', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconRightFrozen', exportName: 'iconRightFrozen', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconRightO', exportName: 'iconRightO', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconRightward', exportName: 'iconRightward', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconRowReverse', exportName: 'iconRowReverse', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconSandwichCollapse', exportName: 'iconSandwichCollapse', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconSandwichExpand', exportName: 'iconSandwichExpand', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconSave', exportName: 'iconSave', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconScissor', exportName: 'iconScissor', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconSearch', exportName: 'iconSearch', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconSelect', exportName: 'iconSelect', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconSent', exportName: 'iconSent', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconSeparate', exportName: 'iconSeparate', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconSetting', exportName: 'iconSetting', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconShare', exportName: 'iconShare', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconShoppingCard', exportName: 'iconShoppingCard', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconSmile', exportName: 'iconSmile', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconSmileO', exportName: 'iconSmileO', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconSort', exportName: 'iconSort', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconSortDefault', exportName: 'iconSortDefault', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconStarActive', exportName: 'iconStarActive', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconStarDisable', exportName: 'iconStarDisable', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconStarO', exportName: 'iconStarO', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconStart', exportName: 'iconStart', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconStartCircle', exportName: 'iconStartCircle', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconStatistics', exportName: 'iconStatistics', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconStop', exportName: 'iconStop', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconStreamSolid', exportName: 'iconStreamSolid', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconSuccess', exportName: 'iconSuccess', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconSuccessful', exportName: 'iconSuccessful', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconTabletView', exportName: 'iconTabletView', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconTaskCooperation', exportName: 'iconTaskCooperation', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconTelephone', exportName: 'iconTelephone', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconTelephoneCircle', exportName: 'iconTelephoneCircle', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconText', exportName: 'iconText', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconTextAlign', exportName: 'iconTextAlign', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconTextDecoration', exportName: 'iconTextDecoration', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconTextTab', exportName: 'iconTextTab', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconTime', exportName: 'iconTime', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconTotal', exportName: 'iconTotal', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconTriangleDown', exportName: 'iconTriangleDown', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconUndelete', exportName: 'iconUndelete', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconUnderline', exportName: 'iconUnderline', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconUndo', exportName: 'iconUndo', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconUnfilter', exportName: 'iconUnfilter', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconUnfreeze', exportName: 'iconUnfreeze', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconUnknow', exportName: 'iconUnknow', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconUnlock', exportName: 'iconUnlock', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconUnsent', exportName: 'iconUnsent', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconUp', exportName: 'iconUp', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconUpO', exportName: 'iconUpO', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconUpload', exportName: 'iconUpload', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconUser', exportName: 'iconUser', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconVersiontree', exportName: 'iconVersiontree', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconView', exportName: 'iconView', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconVuejs', exportName: 'iconVuejs', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconWarning', exportName: 'iconWarning', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconWarningTriangle', exportName: 'iconWarningTriangle', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconWebPlus', exportName: 'iconWebPlus', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconWriting', exportName: 'iconWriting', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconYes', exportName: 'iconYes', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconZoomIn', exportName: 'iconZoomIn', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyIconZoomOut', exportName: 'iconZoomOut', - package: '@opentiny/vue-icon', + package: '@opentiny/react-icon', version: '^3.10.0', destructuring: true }, { componentName: 'TinyInput', exportName: 'Input', - package: '@opentiny/vue', + package: '@opentiny/react', version: '^3.10.0', destructuring: true }, { componentName: 'TinyModal', exportName: 'Modal', - package: '@opentiny/vue', + package: '@opentiny/react', version: '^3.10.0', destructuring: true }, { componentName: 'TinyNumeric', exportName: 'Numeric', - package: '@opentiny/vue', + package: '@opentiny/react', version: '^3.10.0', destructuring: true }, { componentName: 'TinyPager', exportName: 'Pager', - package: '@opentiny/vue', + package: '@opentiny/react', version: '^3.10.0', destructuring: true }, { componentName: 'TinyPopeditor', exportName: 'Popeditor', - package: '@opentiny/vue', + package: '@opentiny/react', version: '^3.10.0', destructuring: true }, { componentName: 'TinyPopover', exportName: 'Popover', - package: '@opentiny/vue', + package: '@opentiny/react', version: '^3.10.0', destructuring: true }, { componentName: 'TinyRadio', exportName: 'Radio', - package: '@opentiny/vue', + package: '@opentiny/react', version: '^3.10.0', destructuring: true }, { componentName: 'TinyRow', exportName: 'Row', - package: '@opentiny/vue', + package: '@opentiny/react', version: '^3.10.0', destructuring: true }, { componentName: 'TinySearch', exportName: 'Search', - package: '@opentiny/vue', + package: '@opentiny/react', version: '^3.10.0', destructuring: true }, { componentName: 'TinySelect', exportName: 'Select', - package: '@opentiny/vue', + package: '@opentiny/react', version: '^3.10.0', destructuring: true }, { componentName: 'TinySwitch', exportName: 'Switch', - package: '@opentiny/vue', + package: '@opentiny/react', version: '^3.10.0', destructuring: true }, { componentName: 'TinyTabs', exportName: 'Tabs', - package: '@opentiny/vue', + package: '@opentiny/react', version: '^3.10.0', destructuring: true }, { componentName: 'TinyTabItem', exportName: 'TabItem', - package: '@opentiny/vue', + package: '@opentiny/react', version: '^3.10.0', destructuring: true }, { componentName: 'TinyTimeLine', exportName: 'TimeLine', - package: '@opentiny/vue', + package: '@opentiny/react', version: '^3.10.0', destructuring: true }, { componentName: 'TinyTooltip', exportName: 'Tooltip', - package: '@opentiny/vue', + package: '@opentiny/react', version: '^3.10.0', destructuring: true }, { componentName: 'TinyTree', exportName: 'Tree', - package: '@opentiny/vue', + package: '@opentiny/react', version: '^3.10.0', destructuring: true } diff --git a/packages/react-generator/src/generator/generateJsx.js b/packages/react-generator/src/generator/generateJsx.js new file mode 100644 index 000000000..6eb672481 --- /dev/null +++ b/packages/react-generator/src/generator/generateJsx.js @@ -0,0 +1,265 @@ +import { getImportMap } from './parseImport' +import { + genTemplateByHook, + handleComponentNameHook, + handleTinyGrid, + handleTinyIcon, + handleExpressionChildren, + validEmptyTemplateHook +} from './generateTemplate' +import { generateStyleTag } from './generateStyle' +import { + handleConditionAttrHook, + handleLoopAttrHook, + handleSlotBindAttrHook, + handleAttrKeyHook, + handlePrimitiveAttributeHook, + handleExpressionAttrHook, + handleI18nAttrHook, + handleObjBindAttrHook, + handleEventAttrHook, + handleTinyIconPropsHook +} from './generateAttribute' +import { + GEN_SCRIPT_HOOKS, + genScriptByHook, + parsePropsHook, + parseReactiveStateHook, + addDefaultVueImport, + addDefaultVueI18nImport, + handleProvideStatesContextHook, + handleContextInjectHook, + defaultGenImportHook, + defaultGenPropsHook, + defaultGenEmitsHook, + defaultGenStateHook, + defaultGenMethodHook, + defaultGenLifecycleHook +} from './generateScript' + +const parseConfig = (config = {}) => { + const { + blockRelativePath = '../components/', + blockSuffix = '.vue', + scriptConfig = {}, + styleConfig = {} + } = config || {} + const res = { + ...config, + blockRelativePath, + blockSuffix, + scriptConfig, + styleConfig + } + + return res +} + +const defaultScriptConfig = { + lang: '', + setup: true +} + +const defaultStyleConfig = { + scoped: true, + lang: '' +} + +const generateSFCFile = (schema, componentsMap, config = {}) => { + const parsedConfig = parseConfig(config) + const { blockRelativePath, blockSuffix, scriptConfig: initScriptConfig, styleConfig: initStyleConfig } = parsedConfig + // 前置动作,对 Schema 进行解析初始化相关配置与变量 + if (!schema.state) { + schema.state = {} + } + + // 解析 import + const { pkgMap, blockPkgMap } = getImportMap(schema, componentsMap, { blockRelativePath, blockSuffix }) + + // 解析 state + let stateRes = {} + + // 解析 method + const methods = schema.methods || {} + + // 其他表达式语句 + const statements = {} + + // config + let scriptConfig = { + ...defaultScriptConfig, + ...initScriptConfig + } + + let styleConfig = { + ...defaultStyleConfig, + ...initStyleConfig + } + + const globalHooks = { + addStatement: (newStatement) => { + if (!newStatement?.value) { + return false + } + + const key = newStatement.key || newStatement.value + + if (statements[key]) { + return false + } + + statements[key] = newStatement + + return true + }, + getStatements: () => statements, + addMethods: (key, value) => { + if (methods[key]) { + return false + } + + methods[key] = value + + return true + }, + getMethods: () => methods, + addState: (key, value) => { + if (schema.state[key] || stateRes[key]) { + return false + } + + stateRes[key] = value + + return true + }, + getState: () => stateRes, + setState: () => { + // state = newState + }, + addImport: (fromPath, config) => { + const dependenciesMap = pkgMap[fromPath] || blockPkgMap[fromPath] + + if (dependenciesMap) { + // 默认导出 + if (!config.destructuring && dependenciesMap.find(({ destructuring }) => !destructuring)) { + return false + } + + const hasExists = dependenciesMap.find(({ destructuring, exportName, componentName }) => { + return ( + destructuring === config.destructuring && + exportName === config.exportName && + componentName === config.componentName + ) + }) + + if (hasExists) { + return false + } + + dependenciesMap.push(config) + + return true + } + + pkgMap[fromPath] = [config] + + return true + }, + getImport: () => ({ ...pkgMap, ...blockPkgMap }), + setScriptConfig: (newConfig) => { + if (!newConfig || typeof newConfig !== 'object') { + return + } + + scriptConfig = { + ...scriptConfig, + ...newConfig + } + }, + getScriptConfig: () => scriptConfig, + setStyleConfig: (newConfig = {}) => { + if (!newConfig || typeof newConfig !== 'object') { + return + } + + styleConfig = { + ...styleConfig, + ...newConfig + } + }, + getStyleConfig: () => styleConfig, + addCss: (css) => { + schema.css = `${schema.css}\n${css}` + } + } + + // 解析 template + const templateStr = genTemplateByHook(schema, globalHooks, { ...parsedConfig, componentsMap: componentsMap }) + + // 生成 script + const scriptStr = genScriptByHook(schema, globalHooks, { ...parsedConfig, componentsMap: componentsMap }) + + // 生成 style + const styleStr = generateStyleTag(schema, styleConfig) + + return `${templateStr}\n${scriptStr}\n${styleStr}` +} + +export const genSFCWithDefaultPlugin = (schema, componentsMap, config = {}) => { + const { templateItemValidate = [], genTemplate = [], parseScript = [], genScript = {} } = config.hooks || {} + const defaultComponentHooks = [handleComponentNameHook, handleTinyIcon] + + const defaultAttributeHook = [ + handleTinyGrid, + handleConditionAttrHook, + handleLoopAttrHook, + handleSlotBindAttrHook, + handleAttrKeyHook, + handlePrimitiveAttributeHook, + handleExpressionAttrHook, + handleI18nAttrHook, + handleTinyIconPropsHook, + handleObjBindAttrHook, + handleEventAttrHook + ] + + const defaultChildrenHook = [handleExpressionChildren] + const defaultTemplateItemValidateHook = [validEmptyTemplateHook] + + const defaultParseScriptHook = [ + addDefaultVueImport, + addDefaultVueI18nImport, + parsePropsHook, + parseReactiveStateHook, + handleProvideStatesContextHook, + handleContextInjectHook + ] + + const { GEN_IMPORT, GEN_PROPS, GEN_EMIT, GEN_STATE, GEN_METHOD, GEN_LIFECYCLE } = GEN_SCRIPT_HOOKS + const defaultGenScriptHooks = { + [GEN_IMPORT]: defaultGenImportHook, + [GEN_PROPS]: defaultGenPropsHook, + [GEN_EMIT]: defaultGenEmitsHook, + [GEN_STATE]: defaultGenStateHook, + [GEN_METHOD]: defaultGenMethodHook, + [GEN_LIFECYCLE]: defaultGenLifecycleHook + } + + const newConfig = { + ...config, + hooks: { + templateItemValidate: [...templateItemValidate, ...defaultTemplateItemValidateHook], + genTemplate: [...genTemplate, ...defaultComponentHooks, ...defaultAttributeHook, ...defaultChildrenHook], + parseScript: [...parseScript, ...defaultParseScriptHook], + genScript: { + ...defaultGenScriptHooks, + ...genScript + } + } + } + + return generateSFCFile(schema, componentsMap, newConfig) +} + +export default generateSFCFile diff --git a/packages/react-generator/src/generator/page.js b/packages/react-generator/src/generator/page.js index 87e6e6e95..1300fd6ba 100644 --- a/packages/react-generator/src/generator/page.js +++ b/packages/react-generator/src/generator/page.js @@ -121,7 +121,6 @@ function handleJSXBinding(props, attrsArr, description, state) { // 事件名,协议约定以 on 开头的 camelCase 形式,template 中使用 kebab-case 形式 if (isOn(key)) { const eventBinding = handleJSXEventBinding(key, item) - console.log(eventBinding, 'eventBinding>>>>>>>>>>') return attrsArr.push(eventBinding) } @@ -188,7 +187,7 @@ function generateJSXNode(schema, state, description, isRootNode = false) { // 循环渲染 v-for, 循环数据支持:变量表达式、数组/对象字面量 if (loop) { - const loopData = loop.type ? loop.value : JSON.stringify(loop) + const loopData = (loop.type ? loop.value : JSON.stringify(loop)).replace('this.state.', '') // 改写类语法 elementWrappers.push({ type: 'loop', diff --git a/packages/react-generator/src/plugins/genDependenciesPlugin.js b/packages/react-generator/src/plugins/genDependenciesPlugin.js index 461d1666a..1803a496c 100644 --- a/packages/react-generator/src/plugins/genDependenciesPlugin.js +++ b/packages/react-generator/src/plugins/genDependenciesPlugin.js @@ -45,9 +45,9 @@ const parseSchema = (schema) => { } } - // 处理内置 Icon,如果使用了 tinyvue 组件,则默认添加 @opentiny/vue-icon 依赖,且依赖与 @opentiny/vue 依赖版本一致 - if (resDeps['@opentiny/vue']) { - resDeps['@opentiny/vue-icon'] = resDeps['@opentiny/vue'] + // 处理内置 Icon,如果使用了 tinyreact 组件,则默认添加 @opentiny/react-icon 依赖,且依赖与 @opentiny/react 依赖版本一致 + if (resDeps['@opentiny/react']) { + resDeps['@opentiny/react-icon'] = resDeps['@opentiny/react'] } return resDeps diff --git a/packages/react-generator/src/plugins/genGlobalState.js b/packages/react-generator/src/plugins/genGlobalState.js index 811dbfb99..2e013dcd0 100644 --- a/packages/react-generator/src/plugins/genGlobalState.js +++ b/packages/react-generator/src/plugins/genGlobalState.js @@ -29,7 +29,54 @@ function genDependenciesPlugin(options = {}) { * @returns */ run(schema) { - const globalState = parseSchema(schema) + let globalState = parseSchema(schema) + globalState = [ + { + id: 'counter', + state: { + count: 0 + }, + actions: { + increment: { + type: 'JSFunction', + value: 'function increment() { this.state.count++; }' + }, + decrement: { + type: 'JSFunction', + value: 'function decrement() { this.state.count--; }' + } + }, + getters: { + doubleCount: { + type: 'JSFunction', + value: 'function doubleCount() { return this.state.count * 2; }' + } + } + }, + { + id: 'user', + state: { + name: 'John Doe', + age: 30 + }, + actions: { + updateName: { + type: 'JSFunction', + value: 'function updateName(newName) { this.state.name = newName; }' + }, + updateAge: { + type: 'JSFunction', + value: 'function updateAge(newAge) { this.state.age = newAge; }' + } + }, + getters: { + fullName: { + type: 'JSFunction', + value: 'function fullName() { return `${this.state.name} (${this.state.age})`; }' + } + } + } + ] const res = [] const ids = [] @@ -38,9 +85,11 @@ function genDependenciesPlugin(options = {}) { let importStatement = "import create from 'zustand'" const { id, state, getters, actions } = stateItem + console.log(getters) + ids.push(id) - const stateExpression = `() => ({ ${Object.entries(state) + const stateExpression = `${Object.entries(state) .map((item) => { let [key, value] = item @@ -54,29 +103,46 @@ function genDependenciesPlugin(options = {}) { return [key, value].join(':') }) - .join(',')} })` + .join(',')}` - const getterExpression = Object.entries(getters) - .filter((item) => item.value?.type === 'JSFunction') - .map(([key, value]) => `${key}: ${value.value}`) - .join(',') + // const getterExpression = Object.entries(getters) + // .filter((item) => { + // console.log(item, 'itemexpress>>>>') + // return item[1]?.type === 'JSFunction' + // }) + // .map(([key, value]) => `${key}: ${value.value}`) + // .join(',') const actionExpressions = Object.entries(actions) - .filter((item) => item.value?.type === 'JSFunction') - .map(([key, value]) => `${key}: ${value.value}`) + .filter((item) => item[1]?.type === 'JSFunction') + .map( + ([key, value]) => `${key}: () => set((state) => { + ${value.value.replace('this.', 'state.')} + })` + ) .join(',') - console.log(getterExpression, actionExpressions, stateExpression, 'expressTion>>>>>') + // console.log(getterExpression, 'getterExpression>>>>>') + console.log(stateExpression, 'stateExpression>>>>>') + console.log(actionExpressions, 'actionExpressions>>>>>') const storeFiles = ` ${importStatement} - export const ${id} = defineStore({ - id: ${id}, - state: ${stateExpression}, - getters: { ${getterExpression} }, - actions: { ${actionExpressions} } - }) + export const ${id} = create((set) => ({ + ${stateExpression}, + ${actionExpressions} + })) ` + + // const storeFiles = ` + // ${importStatement} + // export const ${id} = defineStore({ + // id: ${id}, + // state: ${stateExpression}, + // actions: { ${actionExpressions} } + // }) + // ` + res.push({ fileType: 'js', fileName: `${id}.js`, diff --git a/packages/react-generator/src/plugins/genPagePlugin.js b/packages/react-generator/src/plugins/genPagePlugin.js index 153fcebb1..0e42bcb2d 100644 --- a/packages/react-generator/src/plugins/genPagePlugin.js +++ b/packages/react-generator/src/plugins/genPagePlugin.js @@ -74,7 +74,7 @@ function genPagePlugin(options = {}) { // 先做一点小改造, 后面再改回来 const pages = schema.reactData - console.log(pages, 'pages>>>>>') + console.log(schema, 'pages>>>>>') console.log(prettierCode(pages, pageBasePath), 'prettierCode>>>>') const pageFiles = prettierCode(pages, pageBasePath) diff --git a/packages/react-generator/src/templates/react-templates/template-files/README.md b/packages/react-generator/src/templates/react-templates/template-files/README.md index c653b40df..4e670a8a2 100644 --- a/packages/react-generator/src/templates/react-templates/template-files/README.md +++ b/packages/react-generator/src/templates/react-templates/template-files/README.md @@ -15,5 +15,3 @@ npm install ```bash npm run dev ``` - - diff --git a/packages/react-generator/src/templates/react-templates/template-files/genViteConfig.js b/packages/react-generator/src/templates/react-templates/template-files/genViteConfig.js index e118925c6..f4ea9a437 100644 --- a/packages/react-generator/src/templates/react-templates/template-files/genViteConfig.js +++ b/packages/react-generator/src/templates/react-templates/template-files/genViteConfig.js @@ -2,26 +2,30 @@ export default () => { // 避免在构建的时候,被 process. env 替换 const processStr = ['process', 'env'] - const res = ` - plugins: [react()], - define: { - '${processStr.join('.')}': { ...${processStr.join('.')} } - }, - server: { - port: 3000, // 设置开发服务器端口 - }, - build: { - outDir: "dist", // 设置输出目录 - rollupOptions: { - output: { - manualChunks: (id) => { - if (id.includes("node_modules")) { - return "vendor"; - } - }, - }, - }, - }` + const res = `import { defineConfig } from "vite"; +import react from "@vitejs/plugin-react"; +import path from "path"; + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [react()], + resolve: { + alias: { + "@": path.resolve(__dirname, "src"), + }, + }, + server: { + port: 3000, + }, + define: { + "process.env": {...${processStr.join('.')}} + }, + build: { + outDir: "dist", + }, + envDir: "env", +}); +` return res } diff --git a/packages/react-generator/src/templates/react-templates/template-files/packageJson.js b/packages/react-generator/src/templates/react-templates/template-files/packageJson.js index 9c77255eb..2d43e7e9d 100644 --- a/packages/react-generator/src/templates/react-templates/template-files/packageJson.js +++ b/packages/react-generator/src/templates/react-templates/template-files/packageJson.js @@ -14,8 +14,8 @@ export default (schema) => { module: 'dist/index.js', dependencies: { '@opentiny/tiny-engine-i18n-host': '^1.0.0', - '@opentiny/vue': 'latest', - '@opentiny/vue-icon': 'latest', + '@opentiny/react': 'latest', + '@opentiny/react-icon': 'latest', axios: 'latest', 'axios-mock-adapter': '^1.19.0', react: '^18.3.1', diff --git a/packages/react-generator/test/testcases/full/case1_normal/input/components-map.json b/packages/react-generator/test/testcases/full/case1_normal/input/components-map.json index 41c01dd1f..c47f1805e 100644 --- a/packages/react-generator/test/testcases/full/case1_normal/input/components-map.json +++ b/packages/react-generator/test/testcases/full/case1_normal/input/components-map.json @@ -2,7 +2,7 @@ { "componentName": "TinyButton", "exportName": "Button", - "package": "@opentiny/vue", + "package": "@opentiny/react", "version": "^3.10.0", "destructuring": true }, @@ -25,4 +25,4 @@ "componentName": "CrmQuoteListGridStatus", "main": "./views/crm/quote-list" } -] +] \ No newline at end of file diff --git a/packages/toolbars/generate-vue/src/Main.vue b/packages/toolbars/generate-vue/src/Main.vue index 231633ec8..30f47bf82 100644 --- a/packages/toolbars/generate-vue/src/Main.vue +++ b/packages/toolbars/generate-vue/src/Main.vue @@ -26,7 +26,8 @@ import { } from '@opentiny/tiny-engine-controller' import { fs } from '@opentiny/tiny-engine-utils' import { useHttp } from '@opentiny/tiny-engine-http' -import { parseRequiredBlocks, generateApp as generateVueApp } from '@opentiny/tiny-engine-dsl-vue' +// import { parseRequiredBlocks, generateApp as generateVueApp } from '@opentiny/tiny-engine-dsl-vue' +import { parseRequiredBlocks, generateApp as generateVueApp } from '../../../vue-generator/src/index' // import { generateApp as generateReactApp } from '@opentiny/tiny-engine-dsl-react' // 初期,方便调试 import { generateApp as generateReactApp } from '../../../react-generator/src/index' diff --git a/packages/toolbars/generate-vue/src/http.js b/packages/toolbars/generate-vue/src/http.js index 364f3040e..e2c7037c9 100644 --- a/packages/toolbars/generate-vue/src/http.js +++ b/packages/toolbars/generate-vue/src/http.js @@ -12,6 +12,7 @@ import { useHttp } from '@opentiny/tiny-engine-http' import { generateCode } from '../../../react-generator/src/index' +// import { generateCode } from '../../../vue-generator/src/index' // 想使用React出码的时候就切换为上方的数据源 const http = useHttp() @@ -27,15 +28,15 @@ const HEADER_LOWCODE_ORG = 'x-lowcode-org' // } // ) - export const fetchCode = async ({ platform, app, pageInfo, tenant } = {}) => - generateCode({platform, app, pageInfo, tenant}) - // http.post( - // '/app-center/api/schema2code', - // { platform, app, pageInfo }, - // { - // headers: { [HEADER_LOWCODE_ORG]: tenant } - // } - // ) +export const fetchCode = async ({ platform, app, pageInfo, tenant } = {}) => + generateCode({ platform, app, pageInfo, tenant }) +// http.post( +// '/app-center/api/schema2code', +// { platform, app, pageInfo }, +// { +// headers: { [HEADER_LOWCODE_ORG]: tenant } +// } +// ) // 获取页面依赖的关联应用数据: i18n/dataSource等 export const fetchMetaData = async ({ platform, app, type, id, history, tenant } = {}) => diff --git a/packages/vue-generator/src/generator/vue/sfc/genSetupSFC.js b/packages/vue-generator/src/generator/vue/sfc/genSetupSFC.js index 2e04f7b13..395eb4954 100644 --- a/packages/vue-generator/src/generator/vue/sfc/genSetupSFC.js +++ b/packages/vue-generator/src/generator/vue/sfc/genSetupSFC.js @@ -6,7 +6,7 @@ import { handleTinyIcon, handleExpressionChildren, validEmptyTemplateHook -} from './generateTemplate' +} from './generateTemplate.js' import { generateStyleTag } from './generateStyle' import { handleConditionAttrHook, @@ -66,6 +66,8 @@ const defaultStyleConfig = { } const generateSFCFile = (schema, componentsMap, config = {}) => { + console.log('到这里了没page>>>>>>>>>>') + const parsedConfig = parseConfig(config) const { blockRelativePath, blockSuffix, scriptConfig: initScriptConfig, styleConfig: initStyleConfig } = parsedConfig // 前置动作,对 Schema 进行解析初始化相关配置与变量 @@ -96,6 +98,8 @@ const generateSFCFile = (schema, componentsMap, config = {}) => { ...initStyleConfig } + console.log('到这里了没page>>>>>wuwuwuwuuwuw') + const globalHooks = { addStatement: (newStatement) => { if (!newStatement?.value) { @@ -194,8 +198,11 @@ const generateSFCFile = (schema, componentsMap, config = {}) => { } } + console.log('到这里了没page>>>44444444444444444444') + // 解析 template const templateStr = genTemplateByHook(schema, globalHooks, { ...parsedConfig, componentsMap: componentsMap }) + console.log('到这里了没page>>>66666666666666666') // 生成 script const scriptStr = genScriptByHook(schema, globalHooks, { ...parsedConfig, componentsMap: componentsMap }) @@ -203,10 +210,12 @@ const generateSFCFile = (schema, componentsMap, config = {}) => { // 生成 style const styleStr = generateStyleTag(schema, styleConfig) + console.log('到这里了没page>>>') return `${templateStr}\n${scriptStr}\n${styleStr}` } export const genSFCWithDefaultPlugin = (schema, componentsMap, config = {}) => { + console.log('SFC起点page>>>>>>>>>>>') const { templateItemValidate = [], genTemplate = [], parseScript = [], genScript = {} } = config.hooks || {} const defaultComponentHooks = [handleComponentNameHook, handleTinyIcon] @@ -258,6 +267,7 @@ export const genSFCWithDefaultPlugin = (schema, componentsMap, config = {}) => { } } } + console.log('SFC终点page>>>>>>>>>>>') return generateSFCFile(schema, componentsMap, newConfig) } diff --git a/packages/vue-generator/src/generator/vue/sfc/generateAttribute.js b/packages/vue-generator/src/generator/vue/sfc/generateAttribute.js index 91af6b922..51c077b26 100644 --- a/packages/vue-generator/src/generator/vue/sfc/generateAttribute.js +++ b/packages/vue-generator/src/generator/vue/sfc/generateAttribute.js @@ -7,7 +7,7 @@ import { SPECIAL_UTILS_TYPE, INSERT_POSITION, TINY_ICON -} from '@/constant' +} from '../../../constant' import { isOn, toEventKey, @@ -18,7 +18,7 @@ import { thisRegexp, isGetter, isSetter -} from '@/utils' +} from '../../../utils' import { recursiveGenTemplateByHook } from './generateTemplate' import { getImportMap } from './parseImport' diff --git a/packages/vue-generator/src/generator/vue/sfc/generateScript.js b/packages/vue-generator/src/generator/vue/sfc/generateScript.js index 78ebab4d1..e0fa78f4c 100644 --- a/packages/vue-generator/src/generator/vue/sfc/generateScript.js +++ b/packages/vue-generator/src/generator/vue/sfc/generateScript.js @@ -1,9 +1,9 @@ import { capitalize } from '@vue/shared' -import { toEventKey, isGetter, isSetter } from '@/utils' -import { generateImportByPkgName } from '@/utils/generateImportStatement' -import { INSERT_POSITION } from '@/constant' +import { toEventKey, isGetter, isSetter } from '../../../utils' +import { generateImportByPkgName } from '../../../utils/generateImportStatement' +import { INSERT_POSITION } from '../../../constant' import { transformObjType } from './generateAttribute' -import { hasJsx } from '@/utils/hasJsx' +import { hasJsx } from '../../../utils/hasJsx' export const defaultGenImportHook = (schema, globalHooks) => { const dependenciesMap = globalHooks.getImport() || {} diff --git a/packages/vue-generator/src/generator/vue/sfc/generateTemplate.js b/packages/vue-generator/src/generator/vue/sfc/generateTemplate.js index 6a2820eea..278fbdc91 100644 --- a/packages/vue-generator/src/generator/vue/sfc/generateTemplate.js +++ b/packages/vue-generator/src/generator/vue/sfc/generateTemplate.js @@ -6,10 +6,10 @@ import { JS_EXPRESSION, JS_I18N, JS_RESOURCE -} from '@/constant' +} from '../../../constant' import { generateTag, HTML_DEFAULT_VOID_ELEMENTS } from './generateTag' import { specialTypeHandler } from './generateAttribute' -import { thisPropsBindRe, thisRegexp } from '@/utils' +import { thisPropsBindRe, thisRegexp } from '../../../utils' export const handleComponentNameHook = (optionData) => { const { componentName, schema } = optionData @@ -178,15 +178,18 @@ export const recursiveGenTemplateByHook = (schemaWithRes, globalHooks, config = // 自定义 hooks const { genTemplate: genTemplateHooks, templateItemValidate } = hooks + console.log('到这里了没page>>11111111111111111') if (!Array.isArray(schemaChildren)) { schemaWithRes.children.push(schemaChildren || '') return } + console.log('到这里了没page>>>7777777777777') const resArr = schemaChildren.map((schemaItem) => { for (const validateItem of templateItemValidate) { if (!validateItem(schemaItem, globalHooks, config)) { + console.log('到这里了没page>>>100000101010') return '' } } @@ -211,6 +214,7 @@ export const recursiveGenTemplateByHook = (schemaWithRes, globalHooks, config = hookItem(optionData, globalHooks, config) } + console.log('到这里了没page>>>99999999') const startTag = generateTag(optionData.componentName, { attribute: optionData.attributes.join(' '), isVoidElement: optionData.voidElement, diff --git a/packages/vue-generator/src/generator/vue/sfc/parseImport.js b/packages/vue-generator/src/generator/vue/sfc/parseImport.js index 3c337f46b..65ea58c98 100644 --- a/packages/vue-generator/src/generator/vue/sfc/parseImport.js +++ b/packages/vue-generator/src/generator/vue/sfc/parseImport.js @@ -1,5 +1,5 @@ -import { BUILTIN_COMPONENT_NAME } from '@/constant' -import { generateImportByPkgName } from '@/utils/generateImportStatement' +import { BUILTIN_COMPONENT_NAME } from '../../../constant' +import { generateImportByPkgName } from '../../../utils/generateImportStatement' export const parseImport = (children) => { let components = [] diff --git a/packages/vue-generator/src/plugins/genDependenciesPlugin.js b/packages/vue-generator/src/plugins/genDependenciesPlugin.js index da84f3b7b..45ea93a31 100644 --- a/packages/vue-generator/src/plugins/genDependenciesPlugin.js +++ b/packages/vue-generator/src/plugins/genDependenciesPlugin.js @@ -1,5 +1,5 @@ import { mergeOptions } from '../utils/mergeOptions' -import { parseImport } from '@/generator/vue/sfc/parseImport' +import { parseImport } from '../generator/vue/sfc/parseImport' const defaultOption = { fileName: 'package.json', diff --git a/packages/vue-generator/src/plugins/genGlobalState.js b/packages/vue-generator/src/plugins/genGlobalState.js index 4c640d6a4..5ebc8a8aa 100644 --- a/packages/vue-generator/src/plugins/genGlobalState.js +++ b/packages/vue-generator/src/plugins/genGlobalState.js @@ -57,7 +57,9 @@ function genDependenciesPlugin(options = {}) { .join(',')} })` const getterExpression = Object.entries(getters) - .filter((item) => item.value?.type === 'JSFunction') + .filter((item) => { + return item.value?.type === 'JSFunction' + }) .map(([key, value]) => `${key}: ${value.value}`) .join(',') diff --git a/packages/vue-generator/src/plugins/genPagePlugin.js b/packages/vue-generator/src/plugins/genPagePlugin.js index 9f6fb4306..626ab62d1 100644 --- a/packages/vue-generator/src/plugins/genPagePlugin.js +++ b/packages/vue-generator/src/plugins/genPagePlugin.js @@ -21,10 +21,14 @@ function genPagePlugin(options = {}) { run(schema) { const pages = schema.pageSchema + console.log(schema, 'page>>>>>>>>') + const resPage = [] for (const page of pages) { + console.log('wujiayupageRes') const res = genSFCWithDefaultPlugin(page, schema.componentsMap, sfcConfig) + console.log(res, 'pageRes>>>>>>>>>>>>>>>>>') resPage.push({ fileType: 'vue', diff --git a/packages/vue-generator/src/plugins/parseSchemaPlugin.js b/packages/vue-generator/src/plugins/parseSchemaPlugin.js index 5e62f520b..cd2e67304 100644 --- a/packages/vue-generator/src/plugins/parseSchemaPlugin.js +++ b/packages/vue-generator/src/plugins/parseSchemaPlugin.js @@ -1,4 +1,4 @@ -import { BUILTIN_COMPONENTS_MAP } from '@/constant' +import { BUILTIN_COMPONENTS_MAP } from '../constant' function parseSchema() { return { diff --git a/packages/vue-generator/test/testcases/generator/mockData.js b/packages/vue-generator/test/testcases/generator/mockData.js index 6067bbb55..082b26906 100644 --- a/packages/vue-generator/test/testcases/generator/mockData.js +++ b/packages/vue-generator/test/testcases/generator/mockData.js @@ -2126,7 +2126,7 @@ export const appSchemaDemo01 = { description: 'demo应用', branch: 'develop', is_demo: null, - global_state: [], + global_state: ['fishThing'], appId: '918', creator: '', gmt_create: '2022-06-08 03:19:01', diff --git a/packages/vue-generator/test/testcases/sfc/case01/case01.test.js b/packages/vue-generator/test/testcases/sfc/case01/case01.test.js index 22d3c6509..f95feda1c 100644 --- a/packages/vue-generator/test/testcases/sfc/case01/case01.test.js +++ b/packages/vue-generator/test/testcases/sfc/case01/case01.test.js @@ -3,7 +3,7 @@ import { genSFCWithDefaultPlugin } from '@/generator/vue/sfc' import schema from './schema.json' import blockSchema from './blocks.schema.json' import componentsMap from './componentsMap.json' -import { formatCode } from '@/utils/formatCode' +import { formatCode } from '../../../../src/utils/formatCode' let count = 0 const mockValue = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9] diff --git a/packages/vue-generator/test/testcases/sfc/case02/case02.test.js b/packages/vue-generator/test/testcases/sfc/case02/case02.test.js index c150d463b..403c5da77 100644 --- a/packages/vue-generator/test/testcases/sfc/case02/case02.test.js +++ b/packages/vue-generator/test/testcases/sfc/case02/case02.test.js @@ -3,7 +3,7 @@ import { genSFCWithDefaultPlugin } from '@/generator/vue/sfc' import schema from './page.schema.json' import componentsMap from './components-map.json' import blockSchema from './blocks.schema.json' -import { formatCode } from '@/utils/formatCode' +import { formatCode } from '../../../../src/utils/formatCode' test('should generate use prop accessor correctly', async () => { const res = genSFCWithDefaultPlugin(schema, componentsMap) diff --git a/packages/vue-generator/test/testcases/sfc/case03/case03.test.js b/packages/vue-generator/test/testcases/sfc/case03/case03.test.js index 3d4cc61a0..c71e7e657 100644 --- a/packages/vue-generator/test/testcases/sfc/case03/case03.test.js +++ b/packages/vue-generator/test/testcases/sfc/case03/case03.test.js @@ -3,7 +3,7 @@ import { genSFCWithDefaultPlugin } from '@/generator/vue/sfc' import schema from './page.schema.json' import blockSchema from './blocks.schema.json' import componentsMap from './components-map.json' -import { formatCode } from '@/utils/formatCode' +import { formatCode } from '../../../../src/utils/formatCode' test('should generate useStateAccessor Correct', async () => { const res = genSFCWithDefaultPlugin(schema, componentsMap) diff --git a/packages/vue-generator/test/testcases/sfc/case04/case04.test.js b/packages/vue-generator/test/testcases/sfc/case04/case04.test.js index 677b3dd22..1f657ecb0 100644 --- a/packages/vue-generator/test/testcases/sfc/case04/case04.test.js +++ b/packages/vue-generator/test/testcases/sfc/case04/case04.test.js @@ -2,7 +2,7 @@ import { expect, test } from 'vitest' import { genSFCWithDefaultPlugin } from '@/generator/vue/sfc' import schema from './page.schema.json' import componentsMap from './components-map.json' -import { formatCode } from '@/utils/formatCode' +import { formatCode } from '../../../../src/utils/formatCode' test('should generate use utils expression Correct', async () => { const res = genSFCWithDefaultPlugin(schema, componentsMap) diff --git a/packages/vue-generator/test/testcases/sfc/case05/case05.test.js b/packages/vue-generator/test/testcases/sfc/case05/case05.test.js index a9353f908..ea16ef613 100644 --- a/packages/vue-generator/test/testcases/sfc/case05/case05.test.js +++ b/packages/vue-generator/test/testcases/sfc/case05/case05.test.js @@ -2,7 +2,7 @@ import { expect, test } from 'vitest' import { genSFCWithDefaultPlugin } from '@/generator/vue/sfc' import schema from './page.schema.json' import componentsMap from './components-map.json' -import { formatCode } from '@/utils/formatCode' +import { formatCode } from '../../../../src/utils/formatCode' test('should auto detect jsx declare on custom method', async () => { const res = genSFCWithDefaultPlugin(schema, componentsMap) diff --git a/packages/vue-generator/test/unit/hasJSX.test.js b/packages/vue-generator/test/unit/hasJSX.test.js index c66b87f11..45a3da6d0 100644 --- a/packages/vue-generator/test/unit/hasJSX.test.js +++ b/packages/vue-generator/test/unit/hasJSX.test.js @@ -1,5 +1,5 @@ import { describe, expect, test } from 'vitest' -import { hasJsx } from '@/utils/hasJsx' +import { hasJsx } from '../../src/utils/hasJsx' describe('normal case', () => { test('raw jsx should be true', () => { diff --git a/packages/vue-generator/test/unit/parseRequiredBlocks.test.js b/packages/vue-generator/test/unit/parseRequiredBlocks.test.js index ea5e3c258..8f30149c0 100644 --- a/packages/vue-generator/test/unit/parseRequiredBlocks.test.js +++ b/packages/vue-generator/test/unit/parseRequiredBlocks.test.js @@ -1,5 +1,5 @@ import { expect, test } from 'vitest' -import { parseRequiredBlocks } from '@/utils/parseRequiredBlocks' +import { parseRequiredBlocks } from '../../src/utils/parseRequiredBlocks' test('should return empty array when children is no array', () => { expect(parseRequiredBlocks()).toStrictEqual([])