提交 ed75a7f3 编写于 作者: Mr.奇淼('s avatar Mr.奇淼(

代码生成器最后一步(仅剩传给前端下载)

上级 a35e7563
此差异已折叠。
.add-item[data-v-1ba11f83]{margin-top:8px}.url-item[data-v-1ba11f83]{margin-bottom:12px}.tab-editor[data-v-68aaf5c0]{position:absolute;top:33px;bottom:0;left:0;right:0;font-size:14px}.left-editor[data-v-68aaf5c0]{position:relative;height:100%;background:#1e1e1e;overflow:hidden}.setting[data-v-68aaf5c0]{position:absolute;right:15px;top:3px;color:#a9f122;font-size:18px;cursor:pointer;z-index:1}.right-preview[data-v-68aaf5c0]{height:100%}.right-preview .result-wrapper[data-v-68aaf5c0]{height:calc(100vh - 33px);width:100%;overflow:auto;padding:12px;-webkit-box-sizing:border-box;box-sizing:border-box}.action-bar[data-v-68aaf5c0]{height:33px;background:#f2fafb;padding:0 15px;-webkit-box-sizing:border-box;box-sizing:border-box}.action-bar .bar-btn[data-v-68aaf5c0]{display:inline-block;padding:0 6px;line-height:32px;color:#8285f5;cursor:pointer;font-size:14px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.action-bar .bar-btn i[data-v-68aaf5c0]{font-size:20px}.action-bar .bar-btn[data-v-68aaf5c0]:hover{color:#4348d4}.action-bar .bar-btn+.bar-btn[data-v-68aaf5c0]{margin-left:8px}.action-bar .delete-btn[data-v-68aaf5c0]{color:#f56c6c}.action-bar .delete-btn[data-v-68aaf5c0]:hover{color:#ea0b30}[data-v-68aaf5c0] .el-drawer__header,[data-v-d06a2be0] .el-drawer__header{display:none}.action-bar[data-v-d06a2be0]{height:33px;background:#f2fafb;padding:0 15px;-webkit-box-sizing:border-box;box-sizing:border-box}.action-bar .bar-btn[data-v-d06a2be0]{display:inline-block;padding:0 6px;line-height:32px;color:#8285f5;cursor:pointer;font-size:14px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.action-bar .bar-btn i[data-v-d06a2be0]{font-size:20px}.action-bar .bar-btn[data-v-d06a2be0]:hover{color:#4348d4}.action-bar .bar-btn+.bar-btn[data-v-d06a2be0]{margin-left:8px}.action-bar .delete-btn[data-v-d06a2be0]{color:#f56c6c}.action-bar .delete-btn[data-v-d06a2be0]:hover{color:#ea0b30}.json-editor[data-v-d06a2be0]{height:calc(100vh - 33px)}.icon-ul[data-v-3ba3d51c]{margin:0;padding:0;font-size:0}.icon-ul li[data-v-3ba3d51c]{list-style-type:none;text-align:center;font-size:14px;display:inline-block;width:16.66%;-webkit-box-sizing:border-box;box-sizing:border-box;height:108px;padding:15px 6px 6px 6px;cursor:pointer;overflow:hidden}.icon-ul li[data-v-3ba3d51c]:hover{background:#f2f2f2}.icon-ul li.active-item[data-v-3ba3d51c]{background:#e1f3fb;color:#7a6df0}.icon-ul li>i[data-v-3ba3d51c]{font-size:30px;line-height:50px}.icon-dialog[data-v-3ba3d51c] .el-dialog{border-radius:8px;margin-bottom:0;margin-top:4vh!important;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-height:92vh;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}.icon-dialog[data-v-3ba3d51c] .el-dialog .el-dialog__header{padding-top:14px}.icon-dialog[data-v-3ba3d51c] .el-dialog .el-dialog__body{margin:0 20px 20px 20px;padding:0;overflow:auto}.right-board[data-v-5786ab0e]{width:350px;position:absolute;right:0;top:0;padding-top:3px}.right-board .field-box[data-v-5786ab0e]{position:relative;height:calc(100vh - 42px);-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.right-board .el-scrollbar[data-v-5786ab0e]{height:100%}.select-item[data-v-5786ab0e]{display:-webkit-box;display:-ms-flexbox;display:flex;border:1px dashed #fff;-webkit-box-sizing:border-box;box-sizing:border-box}.select-item .close-btn[data-v-5786ab0e]{cursor:pointer;color:#f56c6c}.select-item .el-input+.el-input[data-v-5786ab0e]{margin-left:4px}.select-item+.select-item[data-v-5786ab0e]{margin-top:4px}.select-item.sortable-chosen[data-v-5786ab0e]{border:1px dashed #409eff}.select-line-icon[data-v-5786ab0e]{line-height:32px;font-size:22px;padding:0 4px;color:#777}.option-drag[data-v-5786ab0e]{cursor:move}.time-range .el-date-editor[data-v-5786ab0e]{width:227px}.time-range[data-v-5786ab0e] .el-icon-time{display:none}.document-link[data-v-5786ab0e]{position:absolute;display:block;width:26px;height:26px;top:0;left:0;cursor:pointer;background:#409eff;z-index:1;border-radius:0 0 6px 0;text-align:center;line-height:26px;color:#fff;font-size:18px}.node-label[data-v-5786ab0e]{font-size:14px}.node-icon[data-v-5786ab0e]{color:#bebfc3}.container{position:relative;width:100%;height:100%}.components-list{padding:8px;-webkit-box-sizing:border-box;box-sizing:border-box;height:100%}.components-list .components-item{display:inline-block;width:48%;margin:1%;-webkit-transition:-webkit-transform 0ms!important;transition:-webkit-transform 0ms!important;transition:transform 0ms!important;transition:transform 0ms,-webkit-transform 0ms!important}.components-draggable{padding-bottom:20px}.components-title{font-size:14px;color:#222;margin:6px 2px}.components-title .svg-icon{color:#666;font-size:18px}.components-body{padding:8px 10px;background:#f6f7ff;font-size:12px;cursor:move;border:1px dashed #f6f7ff;border-radius:3px}.components-body .svg-icon{color:#777;font-size:15px}.components-body:hover{border:1px dashed #787be8;color:#787be8}.components-body:hover .svg-icon{color:#787be8}.left-board{width:260px;position:absolute;left:0;top:0;height:100vh}.center-scrollbar,.left-scrollbar{height:calc(100vh - 42px);overflow:hidden}.center-scrollbar{border-left:1px solid #f1e8e8;border-right:1px solid #f1e8e8}.center-board,.center-scrollbar{-webkit-box-sizing:border-box;box-sizing:border-box}.center-board{height:100vh;width:auto;margin:0 350px 0 260px}.empty-info{position:absolute;top:46%;left:0;right:0;text-align:center;font-size:18px;color:#ccb1ea;letter-spacing:4px}.action-bar{position:relative;height:42px;text-align:right;padding:0 15px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #f1e8e8;border-top:none;border-left:none}.action-bar .delete-btn{color:#f56c6c}.logo-wrapper{position:relative;height:42px;background:#fff;border-bottom:1px solid #f1e8e8;-webkit-box-sizing:border-box;box-sizing:border-box}.logo{position:absolute;left:12px;top:6px;line-height:30px;color:#00afff;font-weight:600;font-size:17px;white-space:nowrap}.logo>img{width:30px;height:30px;vertical-align:top}.logo .github{display:inline-block;vertical-align:sub;margin-left:15px}.logo .github>img{height:22px}.center-board-row{padding:12px 12px 15px 12px;-webkit-box-sizing:border-box;box-sizing:border-box}.center-board-row>.el-form{height:calc(100vh - 69px)}.drawing-board{margin-top:20px;height:100%;position:relative}.drawing-board .components-body{padding:0;margin:0;font-size:0}.drawing-board .sortable-ghost{position:relative;display:block;overflow:hidden}.drawing-board .sortable-ghost:before{content:" ";position:absolute;left:0;right:0;top:0;height:3px;background:#5959df;z-index:2}.drawing-board .components-item.sortable-ghost{width:100%;height:60px;background-color:#f6f7ff}.drawing-board .active-from-item>.el-form-item{background:#f6f7ff;border-radius:6px}.drawing-board .active-from-item>.drawing-item-copy,.drawing-board .active-from-item>.drawing-item-delete{display:initial}.drawing-board .active-from-item>.component-name{color:#409eff}.drawing-board .el-form-item{margin-bottom:15px}.drawing-item{position:relative;cursor:move}.drawing-item.unfocus-bordered:not(.active-from-item)>div:first-child{border:1px dashed #ccc}.drawing-item .el-form-item{padding:12px 10px}.drawing-row-item{position:relative;cursor:move;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px dashed #ccc;border-radius:3px;padding:0 2px;margin-bottom:15px}.drawing-row-item .drawing-row-item{margin-bottom:2px}.drawing-row-item .el-col{margin-top:22px}.drawing-row-item .el-form-item{margin-bottom:0}.drawing-row-item .drag-wrapper{min-height:80px}.drawing-row-item.active-from-item{border:1px dashed #409eff}.drawing-row-item .component-name{position:absolute;top:0;left:0;font-size:12px;color:#bbb;display:inline-block;padding:0 6px}.drawing-item:hover>.el-form-item,.drawing-row-item:hover>.el-form-item{background:#f6f7ff;border-radius:6px}.drawing-item:hover>.drawing-item-copy,.drawing-item:hover>.drawing-item-delete,.drawing-row-item:hover>.drawing-item-copy,.drawing-row-item:hover>.drawing-item-delete{display:initial}.drawing-item>.drawing-item-copy,.drawing-item>.drawing-item-delete,.drawing-row-item>.drawing-item-copy,.drawing-row-item>.drawing-item-delete{display:none;position:absolute;top:-10px;width:22px;height:22px;line-height:22px;text-align:center;border-radius:50%;font-size:12px;border:1px solid;cursor:pointer;z-index:1}.drawing-item>.drawing-item-copy,.drawing-row-item>.drawing-item-copy{right:56px;border-color:#409eff;color:#409eff;background:#fff}.drawing-item>.drawing-item-copy:hover,.drawing-row-item>.drawing-item-copy:hover{background:#409eff;color:#fff}.drawing-item>.drawing-item-delete,.drawing-row-item>.drawing-item-delete{right:24px;border-color:#f56c6c;color:#f56c6c;background:#fff}.drawing-item>.drawing-item-delete:hover,.drawing-row-item>.drawing-item-delete:hover{background:#f56c6c;color:#fff}.test-from[data-v-412f198a]{margin:15px auto;width:800px;padding:15px}body,html{margin:0;padding:0;background:#fff;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body,html,input,textarea{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji}.editor-tabs{background:#121315}.editor-tabs .el-tabs__header{margin:0;border-bottom-color:#121315}.editor-tabs .el-tabs__header .el-tabs__nav{border-color:#121315}.editor-tabs .el-tabs__item{height:32px;line-height:32px;color:#888a8e;border-left:1px solid #121315!important;background:#363636;margin-right:5px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.editor-tabs .el-tabs__item.is-active{background:#1e1e1e;border-bottom-color:#1e1e1e!important;color:#fff}.editor-tabs .el-icon-edit{color:#f1fa8c}.editor-tabs .el-icon-document{color:#a95812}.right-scrollbar .el-scrollbar__view{padding:12px 18px 15px 15px}.el-scrollbar__wrap{-webkit-box-sizing:border-box;box-sizing:border-box;overflow-x:hidden!important}.center-tabs .el-tabs__header,.el-scrollbar__wrap{margin-bottom:0!important}.center-tabs .el-tabs__item{width:50%;text-align:center}.center-tabs .el-tabs__nav{width:100%}.reg-item{padding:12px 6px;background:#f8f8f8;position:relative;border-radius:4px}.reg-item .close-btn{position:absolute;right:-6px;top:-6px;display:block;width:16px;height:16px;line-height:16px;background:rgba(0,0,0,.2);border-radius:50%;color:#fff;text-align:center;z-index:1;cursor:pointer;font-size:12px}.reg-item .close-btn:hover{background:rgba(210,23,23,.5)}.reg-item+.reg-item{margin-top:18px}.action-bar .el-button+.el-button{margin-left:15px}.action-bar i{font-size:20px;vertical-align:middle;position:relative;top:-1px}.custom-tree-node{width:100%;font-size:14px}.custom-tree-node .node-operation{float:right}.custom-tree-node i[class*=el-icon]+i[class*=el-icon]{margin-left:6px}.custom-tree-node .el-icon-plus{color:#409eff}.custom-tree-node .el-icon-delete{color:#157a0c}.el-scrollbar__view{overflow-x:hidden}.el-rate{display:inline-block;vertical-align:text-top}.el-upload__tip{line-height:1.2}.svg-icon[data-v-21958c4e]{width:1em;height:1em;vertical-align:-.15em;fill:currentColor;overflow:hidden}.svg-external-icon[data-v-21958c4e]{background-color:currentColor;-webkit-mask-size:cover!important;mask-size:cover!important;display:inline-block}
\ No newline at end of file
<!doctype html><html lang="zh"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=0,maximum-scale=0,user-scalable=yes,shrink-to-fit=no"><link rel="icon" href="/form-generator/favicon.ico"><title>form-generator</title><style>.pre-loader{position:absolute;top:calc(50% - 32px);left:calc(50% - 32px);width:64px;height:64px;border-radius:50%;perspective:800px}.pre-loader .inner{position:absolute;box-sizing:border-box;width:100%;height:100%;border-radius:50%}.pre-loader .inner.one{left:0;top:0;-webkit-animation:rotate-one 1s linear infinite;animation:rotate-one 1s linear infinite;border-bottom:3px solid #bc9048}.pre-loader .inner.two{right:0;top:0;-webkit-animation:rotate-two 1s linear infinite;animation:rotate-two 1s linear infinite;border-right:3px solid #74aeff}.pre-loader .inner.three{right:0;bottom:0;-webkit-animation:rotate-three 1s linear infinite;animation:rotate-three 1s linear infinite;border-top:3px solid #caef74}@keyframes rotate-one{0%{-webkit-transform:rotateX(35deg) rotateY(-45deg) rotateZ(0);transform:rotateX(35deg) rotateY(-45deg) rotateZ(0)}100%{-webkit-transform:rotateX(35deg) rotateY(-45deg) rotateZ(360deg);transform:rotateX(35deg) rotateY(-45deg) rotateZ(360deg)}}@keyframes rotate-two{0%{-webkit-transform:rotateX(50deg) rotateY(10deg) rotateZ(0);transform:rotateX(50deg) rotateY(10deg) rotateZ(0)}100%{-webkit-transform:rotateX(50deg) rotateY(10deg) rotateZ(360deg);transform:rotateX(50deg) rotateY(10deg) rotateZ(360deg)}}@keyframes rotate-three{0%{-webkit-transform:rotateX(35deg) rotateY(55deg) rotateZ(0);transform:rotateX(35deg) rotateY(55deg) rotateZ(0)}100%{-webkit-transform:rotateX(35deg) rotateY(55deg) rotateZ(360deg);transform:rotateX(35deg) rotateY(55deg) rotateZ(360deg)}}</style><link href="https://cdn.bootcss.com/element-ui/2.12.0/theme-chalk/index.css" rel="stylesheet"><link href="https://cdn.bootcss.com/monaco-editor/0.18.0/min/vs/editor/editor.main.css" rel="stylesheet"><script src="https://cdn.bootcss.com/vue/2.6.10/vue.min.js"></script><script src="https://cdn.bootcss.com/vue-router/3.1.3/vue-router.min.js"></script><script src="https://cdn.bootcss.com/element-ui/2.12.0/index.js"></script><link href="/form-generator/css/index.d8b172cd.css" rel="preload" as="style"><link href="/form-generator/js/chunk-vendors.788511b0.js" rel="preload" as="script"><link href="/form-generator/js/index.b3720c41.js" rel="preload" as="script"><link href="/form-generator/css/index.d8b172cd.css" rel="stylesheet"></head><body><noscript><strong>抱歉,javascript被禁用,请开启后重试。</strong></noscript><div id="app"></div><div class="pre-loader" id="pre-loader"><div class="inner one"></div><div class="inner two"></div><div class="inner three"></div></div><script>var require={paths:{vs:"https://cdn.bootcss.com/monaco-editor/0.18.0/min/vs"}}</script><script src="https://cdn.bootcss.com/js-beautify/1.10.2/beautifier.min.js"></script><script src="https://cdn.bootcss.com/monaco-editor/0.18.0/min/vs/loader.js"></script><script src="https://cdn.bootcss.com/monaco-editor/0.18.0/min/vs/editor/editor.main.nls.js"></script><script src="https://cdn.bootcss.com/monaco-editor/0.18.0/min/vs/editor/editor.main.js"></script><script src="/form-generator/js/chunk-vendors.788511b0.js"></script><script src="/form-generator/js/index.b3720c41.js"></script></body></html>
\ No newline at end of file
因为 它太大了无法显示 source diff 。你可以改为 查看blob
此差异已折叠。
(function(_){function e(e){for(var o,n,a=e[0],i=e[1],c=e[2],u=0,l=[];u<a.length;u++)n=a[u],Object.prototype.hasOwnProperty.call(t,n)&&t[n]&&l.push(t[n][0]),t[n]=0;for(o in i)Object.prototype.hasOwnProperty.call(i,o)&&(_[o]=i[o]);d&&d(e);while(l.length)l.shift()();return s.push.apply(s,c||[]),r()}function r(){for(var _,e=0;e<s.length;e++){for(var r=s[e],o=!0,a=1;a<r.length;a++){var i=r[a];0!==t[i]&&(o=!1)}o&&(s.splice(e--,1),_=n(n.s=r[0]))}return _}var o={},t={preview:0},s=[];function n(e){if(o[e])return o[e].exports;var r=o[e]={i:e,l:!1,exports:{}};return _[e].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=_,n.c=o,n.d=function(_,e,r){n.o(_,e)||Object.defineProperty(_,e,{enumerable:!0,get:r})},n.r=function(_){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(_,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(_,"__esModule",{value:!0})},n.t=function(_,e){if(1&e&&(_=n(_)),8&e)return _;if(4&e&&"object"===typeof _&&_&&_.__esModule)return _;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:_}),2&e&&"string"!=typeof _)for(var o in _)n.d(r,o,function(e){return _[e]}.bind(null,o));return r},n.n=function(_){var e=_&&_.__esModule?function(){return _["default"]}:function(){return _};return n.d(e,"a",e),e},n.o=function(_,e){return Object.prototype.hasOwnProperty.call(_,e)},n.p="/form-generator/";var a=window["webpackJsonp"]=window["webpackJsonp"]||[],i=a.push.bind(a);a.push=e,a=a.slice();for(var c=0;c<a.length;c++)e(a[c]);var d=i;s.push([1,"chunk-vendors"]),r()})({1:function(_,e,r){_.exports=r("2c42")},"2c42":function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);var core_js_modules_es_array_concat__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("7ae7"),core_js_modules_es_array_concat__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(core_js_modules_es_array_concat__WEBPACK_IMPORTED_MODULE_0__),core_js_modules_es_array_for_each__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("af82"),core_js_modules_es_array_for_each__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(core_js_modules_es_array_for_each__WEBPACK_IMPORTED_MODULE_1__),core_js_modules_web_dom_collections_for_each__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("9a14"),core_js_modules_web_dom_collections_for_each__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(core_js_modules_web_dom_collections_for_each__WEBPACK_IMPORTED_MODULE_2__),C_Users_Administrator_Desktop_form_generator_dev_node_modules_core_js_3_6_4_core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("d9a3"),C_Users_Administrator_Desktop_form_generator_dev_node_modules_core_js_3_6_4_core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(C_Users_Administrator_Desktop_form_generator_dev_node_modules_core_js_3_6_4_core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_3__),C_Users_Administrator_Desktop_form_generator_dev_node_modules_core_js_3_6_4_core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("c9db"),C_Users_Administrator_Desktop_form_generator_dev_node_modules_core_js_3_6_4_core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(C_Users_Administrator_Desktop_form_generator_dev_node_modules_core_js_3_6_4_core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_4__),C_Users_Administrator_Desktop_form_generator_dev_node_modules_core_js_3_6_4_core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("de3e"),C_Users_Administrator_Desktop_form_generator_dev_node_modules_core_js_3_6_4_core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(C_Users_Administrator_Desktop_form_generator_dev_node_modules_core_js_3_6_4_core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_5__),C_Users_Administrator_Desktop_form_generator_dev_node_modules_core_js_3_6_4_core_js_modules_es_promise_finally_js__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("618d"),C_Users_Administrator_Desktop_form_generator_dev_node_modules_core_js_3_6_4_core_js_modules_es_promise_finally_js__WEBPACK_IMPORTED_MODULE_6___default=__webpack_require__.n(C_Users_Administrator_Desktop_form_generator_dev_node_modules_core_js_3_6_4_core_js_modules_es_promise_finally_js__WEBPACK_IMPORTED_MODULE_6__),vue__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("8bbf"),vue__WEBPACK_IMPORTED_MODULE_7___default=__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_7__),_utils_loadScript__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("c88b"),$previewApp=document.getElementById("previewApp"),childAttrs={file:"",dialog:' width="600px" class="dialog-width" v-if="visible" :visible.sync="visible" :modal-append-to-body="false" '};function loadScriptQueue(_,e){var r=_.shift();0===_.length?Object(_utils_loadScript__WEBPACK_IMPORTED_MODULE_8__["a"])(r,e):Object(_utils_loadScript__WEBPACK_IMPORTED_MODULE_8__["a"])(r,(function(){loadScriptQueue(_,e)}))}function buildLinks(_){var e="";return _.forEach((function(_){e+='<link href="'.concat(_,'" rel="stylesheet">')})),e}function init(_){if("refreshFrame"===_.data.type){var e=_.data.data,r=childAttrs[e.generateConf.type],o="";Array.isArray(e.links)&&e.links.length>0&&(o=buildLinks(e.links)),$previewApp.innerHTML="".concat(o,"<style>").concat(e.css,'</style><div id="app"></div>'),Array.isArray(e.scripts)&&e.scripts.length>0?loadScriptQueue(JSON.parse(JSON.stringify(e.scripts)),(function(){newVue(r,e.js,e.html)})):newVue(r,e.js,e.html)}}function newVue(attrs,main,html){main=eval("(".concat(main,")")),main.template="<div>".concat(html,"</div>"),new vue__WEBPACK_IMPORTED_MODULE_7___default.a({components:{child:main},data:function(){return{visible:!0}},template:"<div><child ".concat(attrs,"/></div>")}).$mount("#app")}window.addEventListener("message",init,!1)},"8bbf":function(_,e){_.exports=Vue},c88b:function(_,e,r){"use strict";function o(_,e){var r=e||function(){},o=document.createElement("script");o.src=_,o.id=_,document.body.appendChild(o);var t="onload"in o?s:n;function s(e){var o=this;e.onload=function(){o.onerror=o.onload=null,r(null,e)},e.onerror=function(){o.onerror=o.onload=null,r(new Error("Failed to load ".concat(_)),e)}}function n(_){var e=this;_.onreadystatechange=function(){"complete"!==e.readyState&&"loaded"!==e.readyState||(e.onreadystatechange=null,r(null,_))}}t(o)}e["a"]=o}});
\ No newline at end of file
<!doctype html><html lang="zh"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/form-generator/favicon.ico"><title>form-generator-preview</title><link href="https://cdn.bootcss.com/element-ui/2.12.0/theme-chalk/index.css" rel="stylesheet"><script src="https://cdn.bootcss.com/vue/2.6.10/vue.min.js"></script><script src="https://cdn.bootcss.com/vue-router/3.1.3/vue-router.min.js"></script><script src="https://cdn.bootcss.com/element-ui/2.12.0/index.js"></script><style>body{margin:0;padding:0;overflow-x:hidden;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;height:calc(100vh - 33px);padding:12px;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji}input,textarea{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji}</style><link href="/form-generator/js/chunk-vendors.788511b0.js" rel="preload" as="script"><link href="/form-generator/js/preview.7fecf17e.js" rel="preload" as="script"></head><body><noscript><strong>抱歉,javascript被禁用,请开启后重试。</strong></noscript><div id="previewApp"></div><script src="/form-generator/js/chunk-vendors.788511b0.js"></script><script src="/form-generator/js/preview.7fecf17e.js"></script></body></html>
\ No newline at end of file
import service from '@/utils/request'
// @Tags api
// @Summary 分页获取角色列表
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
// @Param data body modelInterface.PageInfo true "分页获取用户列表"
// @Success 200 {string} json "{"success":true,"data":{},"msg":"获取成功"}"
// @Router /api/getApiList [post]
// {
// page int
// pageSize int
// }
export const createTemp = (data) => {
return service({
url: "/autoCode/createTemp",
method: 'post',
data
})
}
\ No newline at end of file
......@@ -55,7 +55,7 @@ service.interceptors.request.use(
service.interceptors.response.use(
response => {
closeLoading()
if (response.data.success) {
if (response.data.success || response.headers.success==="true") {
return response.data
} else {
Message({
......
export const toUpperCase = (str) => {
if (str[0]) {
return str.replace(str[0], str[0].toUpperCase())
} else {
return ""
}
}
\ No newline at end of file
<template>
<div>
<el-form :model="dialogMiddle" ref="fieldDialogFrom" label-width="120px" label-position="left" :rules="rules">
<el-form-item label="Field名称" prop="fieldName">
<el-col :span="6">
<el-input v-model="dialogMiddle.fieldName" autocomplete="off"></el-input>
</el-col>
</el-form-item>
<el-form-item label="FieldJSON" prop="fieldJson">
<el-col :span="6">
<el-input v-model="dialogMiddle.fieldJson" autocomplete="off"></el-input>
</el-col>
</el-form-item>
<el-form-item label="数据库字段名" prop="columnName">
<el-col :span="6">
<el-input v-model="dialogMiddle.columnName" autocomplete="off"></el-input>
</el-col>
</el-form-item>
<el-form-item label="Field数据类型" prop="fieldType">
<el-col :span="8">
<el-select v-model="dialogMiddle.fieldType" placeholder="请选择field数据类型">
<el-option
v-for="item in typeOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-col>
</el-form-item>
</el-form>
</div>
</template>
<script>
export default {
name:"FieldDialog",
props:{
dialogMiddle:{
type:Object,
default:function(){
return {}
}
}
},
data(){
return{
visible:false,
typeOptions:[
{
label:"字符串",
value:"string"
},
{
label:"整型",
value:"int"
},
{
label:"布尔值",
value:"bool"
},
{
label:"浮点型",
value:"float64"
},
{
label:"时间",
value:"time.Time"
},
],
rules:{
fieldName:[ { required: true, message: '请输入field英文名', trigger: 'blur' }],
fieldJson:[ { required: true, message: '请输入field格式化json', trigger: 'blur' }],
fieldType:[ { required: true, message: '请选择field数据类型', trigger: 'blur' }]
}
}
}
}
</script>
<style lang="scss">
</style>
\ No newline at end of file
<template>
<div>
<!-- 开发中功能,若您发现这块代码可以研究,可以无视 -->
<!-- 此版本为简单版 -->
<!-- 结构体基础配置 -->
<!-- develop分支中开发此功能 -->
<el-form ref="autoCodeForm" :rules="rules" :model="form" label-width="120px" :inline="true">
<el-form-item label="Struct名称" prop="structName">
<el-input v-model="form.structName" placeholder="首字母自动转换大写"></el-input>
</el-form-item>
<el-form-item label="Struct简称" prop="abbreviation">
<el-input v-model="form.abbreviation"></el-input>
</el-form-item>
<el-form-item label="Package名称" prop="packageName">
<el-input v-model="form.packageName"></el-input>
</el-form-item>
</el-form>
<!-- 组件列表 -->
<div class="button-box clearflex">
<el-button @click="editAndAddField()" type="primary">新增Field</el-button>
</div>
<el-table
:data="form.fields"
border stripe>
<el-table-column
type="index"
label="序列"
width="280">
</el-table-column>
<el-table-column
prop="fieldName"
label="Field名"
width="280">
</el-table-column>
<el-table-column
prop="fieldJson"
label="FieldJson"
width="280">
</el-table-column>
<el-table-column
prop="fieldType"
label="Field数据类型"
width="280">
</el-table-column>
<el-table-column
label="操作">
<template slot-scope="scope">
<el-button type="primary" @click="editAndAddField(scope.row)">编辑</el-button>
<el-popover
placement="top"
width="280"
v-model="scope.row.visible">
<p>这是一段内容这是一段内容确定删除吗?</p>
<div style="text-align: right; margin: 0">
<el-button size="mini" type="text" @click="scope.row.visible = false">取消</el-button>
<el-button type="primary" size="mini" @click="deleteField(scope.$index)">确定</el-button>
</div>
<el-button type="danger" slot="reference">删除</el-button>
</el-popover>
</template>
</el-table-column>
</el-table>
<!-- 组件列表 -->
<div class="button-box clearflex">
<el-button @click="enterForm" type="primary">生成代码包</el-button>
</div>
<!-- 组件弹窗 -->
<el-dialog title="组件内容" :visible.sync="dialogFlag">
<FieldDialog :dialogMiddle="dialogMiddle" ref="fieldDialog"/>
<div slot="footer" class="dialog-footer">
<el-button @click="closeDialog">取 消</el-button>
<el-button type="primary" @click="enterDialog">确 定</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
const fieldTemplate={
fieldName:"",
fieldType:"",
fieldJson:"",
columnName:"",
}
import FieldDialog from "@/view/systemTools/autoCode/component/fieldDialog.vue"
import {toUpperCase} from "@/utils/toUpperCase.js"
import {createTemp} from "@/api/autoCode.js"
export default {
name:"autoCode",
data(){
return{
addFlag:"",
form:{
structName:"",
packageName:"",
abbreviation:"",
fields:[]
},
rules:{
structName:[{required: true, message: '请输入结构体名称', trigger: 'blur'}],
abbreviation:[{required: true, message: '请输入结构体简称', trigger: 'blur'}],
packageName:[{required: true, message: '请输入包名称', trigger: 'blur'}]
},
dialogMiddle:{},
bk:{},
dialogFlag:false
}
},
components:{
FieldDialog
},
methods:{
editAndAddField(item){
this.dialogFlag = true
if(item){
this.addFlag="edit"
this.bk=JSON.parse(JSON.stringify(item))
this.dialogMiddle = item
}else{
this.addFlag="add"
this.dialogMiddle = JSON.parse(JSON.stringify(fieldTemplate))
}
},
enterDialog(){
this.$refs.fieldDialog.$refs.fieldDialogFrom.validate((valid) => {
if (valid) {
this.dialogMiddle.fieldName = toUpperCase(this.dialogMiddle.fieldName)
if(this.addFlag=="add"){
this.form.fields.push(this.dialogMiddle)
}
this.dialogFlag = false
} else {
return false;
}
});
},
closeDialog(){
if(this.addFlag=="edit"){
this.dialogMiddle = this.bk
}
this.dialogFlag = false
},
deleteField(index){
this.form.fields.splice(index,1)
},
async enterForm(){
this.$refs.autoCodeForm.validate(async (valid) => {
if (valid) {
this.form.structName = toUpperCase(this.form.structName)
const data = await createTemp(this.form)
const blob = new Blob([data],{type: 'application/json'})
debugger
const fileName = 'ginvueadmin.zip'
if ('download' in document.createElement('a')) { // 不是IE浏览器
let url = window.URL.createObjectURL(blob)
let link = document.createElement('a')
link.style.display = 'none'
link.href = url
link.setAttribute('download', fileName)
document.body.appendChild(link)
link.click()
document.body.removeChild(link) // 下载完成移除元素
window.URL.revokeObjectURL(url) // 释放掉blob对象
} else { // IE 10+
window.navigator.msSaveBlob(blob, fileName)
}
} else {
return false;
}
});
}
}
}
</script>
<style scope lang="scss">
.button-box {
padding: 10px 20px;
.el-button {
float: right;
}
}
</style>
\ No newline at end of file
<template>
<div style="height:80vh">
<iframe width="100%" height="100%" src="http://localhost:8888/form-generator/#/" frameborder="0"></iframe>
</div>
</template>
<script>
export default {
name:"FormGenerator"
};
</script>
<style lang="scss">
</style>
\ No newline at end of file
<template>
<router-view></router-view>
</template>
<script>
export default {
name:"System",
}
</script>
<style lang="scss">
</style>
\ No newline at end of file
<template>
<div>
<el-form :model="config" label-width="100px" ref="form" class="system">
<h2>系统配置</h2>
<el-form-item label="多点登录拦截">
<el-checkbox v-model="config.system.useMultipoint">开启</el-checkbox>
</el-form-item>
<el-form-item label="环境值">
<el-input v-model="config.system.env"></el-input>
</el-form-item>
<el-form-item label="端口值">
<el-input v-model="config.system.addr"></el-input>
</el-form-item>
<h2>jwt签名</h2>
<el-form-item label="jwt签名">
<el-input v-model="config.jwt.signingKey"></el-input>
</el-form-item>
<h2>casbin配置</h2>
<el-form-item label="模型地址">
<el-input v-model="config.casbinConfig.modelPath"></el-input>
</el-form-item>
<h2>mysql admin数据库配置</h2>
<el-form-item label="username">
<el-input v-model="config.mysqlAdmin.username"></el-input>
</el-form-item>
<el-form-item label="password">
<el-input v-model="config.mysqlAdmin.password"></el-input>
</el-form-item>
<el-form-item label="path">
<el-input v-model="config.mysqlAdmin.path"></el-input>
</el-form-item>
<el-form-item label="dbname">
<el-input v-model="config.mysqlAdmin.dbname"></el-input>
</el-form-item>
<el-form-item label="config">
<el-input v-model="config.mysqlAdmin.config"></el-input>
</el-form-item>
<h2>Redis admin数据库配置</h2>
<el-form-item label="addr">
<el-input v-model="config.redisAdmin.addr"></el-input>
</el-form-item>
<el-form-item label="password">
<el-input v-model="config.redisAdmin.password"></el-input>
</el-form-item>
<el-form-item label="db">
<el-input v-model="config.redisAdmin.db"></el-input>
</el-form-item>
<h2>七牛密钥配置</h2>
<el-form-item label="accessKey">
<el-input v-model="config.qiniu.accessKey"></el-input>
</el-form-item>
<el-form-item label="secretKey">
<el-input v-model="config.qiniu.secretKey"></el-input>
</el-form-item>
<el-form-item>
<el-button @click="update" type="primary">立即更新</el-button>
<el-button @click="reload" type="primary">重启服务(开发中)</el-button>
</el-form-item>
</el-form>
</div>
</template>
<script>
import { getSystemConfig, setSystemConfig } from '@/api/system'
export default {
name: 'Config',
data() {
return {
config: {
system: {},
jwt: {},
casbinConfig: {},
mysqlAdmin: {},
redisAdmin: {},
qiniu: {}
}
}
},
async created() {
await this.initForm()
},
methods: {
async initForm() {
const res = await getSystemConfig()
if (res.success) {
this.config = res.data.config
}
},
reload() {},
async update() {
const res = await setSystemConfig({ config: this.config })
if (res.success) {
this.$message({
type: 'success',
message: '配置文件设置成功'
})
await this.initForm()
}
}
}
}
</script>
<style lang="scss">
h2 {
padding: 10px;
margin: 10px 0;
font-size: 16px;
box-shadow:-4px 1px 3px 0px #e7e8e8
}
</style>
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册