diff --git a/canal-admin/canal-admin-server/pom.xml b/canal-admin/canal-admin-server/pom.xml index 0f5a6319..bb054f44 100644 --- a/canal-admin/canal-admin-server/pom.xml +++ b/canal-admin/canal-admin-server/pom.xml @@ -66,45 +66,6 @@ - - maven-clean-plugin - 3.0.0 - - - - src/main/resources/public - - - - - - maven-resources-plugin - 3.0.2 - - - copy Vue.js frontend content - generate-resources - - copy-resources - - - src/main/resources/public - true - - - ${project.parent.basedir}/canal-admin-ui/target/dist - - static/ - index.html - avatar.gif - logo.png - - - - - - - io.repaint.maven tiles-maven-plugin @@ -119,4 +80,59 @@ + + + release + + + env + release + + + + + + maven-clean-plugin + 3.0.0 + + + + src/main/resources/public + + + + + + maven-resources-plugin + 3.0.2 + + + copy Vue.js frontend content + generate-resources + + copy-resources + + + src/main/resources/public + true + + + ${project.parent.basedir}/canal-admin-ui/target/dist + + static/ + index.html + avatar.gif + logo.png + + + + + + + + + + + + diff --git a/canal-admin/canal-admin-server/src/main/java/com/alibaba/otter/canal/admin/controller/CanalInstanceController.java b/canal-admin/canal-admin-server/src/main/java/com/alibaba/otter/canal/admin/controller/CanalInstanceController.java index b538c92e..6730d7c7 100644 --- a/canal-admin/canal-admin-server/src/main/java/com/alibaba/otter/canal/admin/controller/CanalInstanceController.java +++ b/canal-admin/canal-admin-server/src/main/java/com/alibaba/otter/canal/admin/controller/CanalInstanceController.java @@ -94,9 +94,9 @@ public class CanalInstanceController { * @param env 环境变量 * @return 是否成功 */ - @PutMapping(value = "/instance/start/{id}") - public BaseModel start(@PathVariable Long id, @PathVariable String env) { - return BaseModel.getInstance(canalInstanceConfigService.remoteOperation(id, null, "start")); + @PutMapping(value = "/instance/start/{id}/{nodeId}") + public BaseModel start(@PathVariable Long id, @PathVariable Long nodeId, @PathVariable String env) { + return BaseModel.getInstance(canalInstanceConfigService.remoteOperation(id, nodeId, "start")); } /** @@ -121,8 +121,8 @@ public class CanalInstanceController { * @return 实例日志信息 */ @GetMapping(value = "/instance/log/{id}/{nodeId}") - public BaseModel> start(@PathVariable Long id, @PathVariable Long nodeId, - @PathVariable String env) { + public BaseModel> instanceLog(@PathVariable Long id, @PathVariable Long nodeId, + @PathVariable String env) { return BaseModel.getInstance(canalInstanceConfigService.remoteInstanceLog(id, nodeId)); } } diff --git a/canal-admin/canal-admin-server/src/main/java/com/alibaba/otter/canal/admin/service/impl/CanalInstanceServiceImpl.java b/canal-admin/canal-admin-server/src/main/java/com/alibaba/otter/canal/admin/service/impl/CanalInstanceServiceImpl.java index 3022aa38..ed00a93c 100644 --- a/canal-admin/canal-admin-server/src/main/java/com/alibaba/otter/canal/admin/service/impl/CanalInstanceServiceImpl.java +++ b/canal-admin/canal-admin-server/src/main/java/com/alibaba/otter/canal/admin/service/impl/CanalInstanceServiceImpl.java @@ -102,8 +102,11 @@ public class CanalInstanceServiceImpl implements CanalInstanceService { public boolean remoteOperation(Long id, Long nodeId, String option) { NodeServer nodeServer = null; if ("start".equals(option)) { - // select the first node server - nodeServer = NodeServer.find.query().findOne(); + if (nodeId != null) { + nodeServer = NodeServer.find.byId(nodeId); + } else { + nodeServer = NodeServer.find.query().findOne(); + } } else { if (nodeId == null) { return false; diff --git a/canal-admin/canal-admin-server/src/main/java/com/alibaba/otter/canal/admin/service/impl/NodeServerServiceImpl.java b/canal-admin/canal-admin-server/src/main/java/com/alibaba/otter/canal/admin/service/impl/NodeServerServiceImpl.java index 3c1b92bf..78b004a7 100644 --- a/canal-admin/canal-admin-server/src/main/java/com/alibaba/otter/canal/admin/service/impl/NodeServerServiceImpl.java +++ b/canal-admin/canal-admin-server/src/main/java/com/alibaba/otter/canal/admin/service/impl/NodeServerServiceImpl.java @@ -49,6 +49,16 @@ public class NodeServerServiceImpl implements NodeServerService { } public void update(NodeServer nodeServer) { + int cnt = NodeServer.find.query() + .where() + .eq("ip", nodeServer.getIp()) + .eq("port", nodeServer.getPort()) + .ne("id", nodeServer.getId()) + .findCount(); + if (cnt > 0) { + throw new ServiceException("节点信息已存在"); + } + nodeServer.update("name", "ip", "port", "port2"); } diff --git a/canal-admin/canal-admin-server/src/main/resources/public/index.html b/canal-admin/canal-admin-server/src/main/resources/public/index.html index e1d3173f..2a601010 100644 --- a/canal-admin/canal-admin-server/src/main/resources/public/index.html +++ b/canal-admin/canal-admin-server/src/main/resources/public/index.html @@ -1 +1 @@ -Canal Admin
\ No newline at end of file +Canal Admin
\ No newline at end of file diff --git a/canal-admin/canal-admin-server/src/main/resources/public/static/css/chunk-2ead9580.da8fbef7.css b/canal-admin/canal-admin-server/src/main/resources/public/static/css/chunk-2ead9580.da8fbef7.css deleted file mode 100644 index 80366343..00000000 --- a/canal-admin/canal-admin-server/src/main/resources/public/static/css/chunk-2ead9580.da8fbef7.css +++ /dev/null @@ -1 +0,0 @@ -.line[data-v-50b472ce]{text-align:center} \ No newline at end of file diff --git a/canal-admin/canal-admin-server/src/main/resources/public/static/css/chunk-4f09fed2.70ec0b86.css b/canal-admin/canal-admin-server/src/main/resources/public/static/css/chunk-4f09fed2.70ec0b86.css new file mode 100644 index 00000000..33d1e238 --- /dev/null +++ b/canal-admin/canal-admin-server/src/main/resources/public/static/css/chunk-4f09fed2.70ec0b86.css @@ -0,0 +1 @@ +.line[data-v-64c3fae5]{text-align:center} \ No newline at end of file diff --git a/canal-admin/canal-admin-server/src/main/resources/public/static/css/chunk-666608b4.fd6bfc93.css b/canal-admin/canal-admin-server/src/main/resources/public/static/css/chunk-666608b4.fd6bfc93.css deleted file mode 100644 index 0e256b93..00000000 --- a/canal-admin/canal-admin-server/src/main/resources/public/static/css/chunk-666608b4.fd6bfc93.css +++ /dev/null @@ -1 +0,0 @@ -.line[data-v-4058c64d]{text-align:center} \ No newline at end of file diff --git a/canal-admin/canal-admin-server/src/main/resources/public/static/css/chunk-7ec889b7.c0585512.css b/canal-admin/canal-admin-server/src/main/resources/public/static/css/chunk-7ec889b7.c0585512.css new file mode 100644 index 00000000..be0e9058 --- /dev/null +++ b/canal-admin/canal-admin-server/src/main/resources/public/static/css/chunk-7ec889b7.c0585512.css @@ -0,0 +1 @@ +.line[data-v-0b80198c]{text-align:center} \ No newline at end of file diff --git a/canal-admin/canal-admin-server/src/main/resources/public/static/js/app.1b0a659b.js b/canal-admin/canal-admin-server/src/main/resources/public/static/js/app.b8d01331.js similarity index 99% rename from canal-admin/canal-admin-server/src/main/resources/public/static/js/app.1b0a659b.js rename to canal-admin/canal-admin-server/src/main/resources/public/static/js/app.b8d01331.js index 4d0adaf8..2a344c3d 100644 --- a/canal-admin/canal-admin-server/src/main/resources/public/static/js/app.1b0a659b.js +++ b/canal-admin/canal-admin-server/src/main/resources/public/static/js/app.b8d01331.js @@ -1 +1 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["app"],{0:function(e,t,n){e.exports=n("56d7")},"028b":function(e,t,n){"use strict";var a=n("a217"),i=n.n(a);i.a},1660:function(e,t,n){"use strict";var a=n("ff7f"),i=n.n(a);i.a},"186a":function(e,t,n){"use strict";var a=n("dc52"),i=n.n(a);i.a},"18f0":function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),r=n("21a1"),o=n.n(r),c=new i.a({id:"icon-link",use:"icon-link-usage",viewBox:"0 0 128 128",content:''});o.a.add(c);t["default"]=c},"1b09":function(e,t,n){"use strict";var a=n("4ed7"),i=n.n(a);i.a},2021:function(e,t,n){},"2a3d":function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),r=n("21a1"),o=n.n(r),c=new i.a({id:"icon-password",use:"icon-password-usage",viewBox:"0 0 128 128",content:''});o.a.add(c);t["default"]=c},"30c3":function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),r=n("21a1"),o=n.n(r),c=new i.a({id:"icon-example",use:"icon-example-usage",viewBox:"0 0 128 128",content:''});o.a.add(c);t["default"]=c},4360:function(e,t,n){"use strict";var a=n("2b0e"),i=n("2f62"),r=(n("7f7f"),{sidebar:function(e){return e.app.sidebar},device:function(e){return e.app.device},token:function(e){return e.user.token},avatar:function(e){return e.user.avatar},name:function(e){return e.user.name}}),o=r,c=n("a78e"),s=n.n(c),u={sidebar:{opened:!s.a.get("sidebarStatus")||!!+s.a.get("sidebarStatus"),withoutAnimation:!1},device:"desktop"},l={TOGGLE_SIDEBAR:function(e){e.sidebar.opened=!e.sidebar.opened,e.sidebar.withoutAnimation=!1,e.sidebar.opened?s.a.set("sidebarStatus",1):s.a.set("sidebarStatus",0)},CLOSE_SIDEBAR:function(e,t){s.a.set("sidebarStatus",0),e.sidebar.opened=!1,e.sidebar.withoutAnimation=t},TOGGLE_DEVICE:function(e,t){e.device=t}},d={toggleSideBar:function(e){var t=e.commit;t("TOGGLE_SIDEBAR")},closeSideBar:function(e,t){var n=e.commit,a=t.withoutAnimation;n("CLOSE_SIDEBAR",a)},toggleDevice:function(e,t){var n=e.commit;n("TOGGLE_DEVICE",t)}},h={namespaced:!0,state:u,mutations:l,actions:d},f=n("83d6"),m=n.n(f),p=m.a.showSettings,v=m.a.fixedHeader,b=m.a.sidebarLogo,g={showSettings:p,fixedHeader:v,sidebarLogo:b},w={CHANGE_SETTING:function(e,t){var n=t.key,a=t.value;e.hasOwnProperty(n)&&(e[n]=a)}},x={changeSetting:function(e,t){var n=e.commit;n("CHANGE_SETTING",t)}},k={namespaced:!0,state:g,mutations:w,actions:x},C=n("c24f"),y=n("5f87"),_=n("a18c"),O={token:Object(y["a"])(),name:"",avatar:""},S={SET_TOKEN:function(e,t){e.token=t},SET_NAME:function(e,t){e.name=t},SET_AVATAR:function(e,t){e.avatar=t}},z={login:function(e,t){var n=e.commit,a=t.username,i=t.password;return new Promise(function(e,t){Object(C["b"])({username:a.trim(),password:i}).then(function(t){var a=t.data;n("SET_TOKEN",a.token),Object(y["c"])(a.token),e()}).catch(function(e){t(e)})})},getInfo:function(e){var t=e.commit,n=e.state;return new Promise(function(e,a){Object(C["a"])(n.token).then(function(n){var i=n.data;i||a("Verification failed, please Login again.");var r=i.name,o=i.avatar;t("SET_NAME",r),t("SET_AVATAR",o),e(i)}).catch(function(e){a(e)})})},logout:function(e){var t=e.commit,n=e.state;return new Promise(function(e,a){Object(C["c"])(n.token).then(function(){t("SET_TOKEN",""),Object(y["b"])(),Object(_["b"])(),e()}).catch(function(e){a(e)})})},resetToken:function(e){var t=e.commit;return new Promise(function(e){t("SET_TOKEN",""),Object(y["b"])(),e()})}},E={namespaced:!0,state:O,mutations:S,actions:z};a["default"].use(i["a"]);var H=new i["a"].Store({modules:{app:h,settings:k,user:E},getters:o});t["a"]=H},"47f1":function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),r=n("21a1"),o=n.n(r),c=new i.a({id:"icon-table",use:"icon-table-usage",viewBox:"0 0 128 128",content:''});o.a.add(c);t["default"]=c},"4df5":function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),r=n("21a1"),o=n.n(r),c=new i.a({id:"icon-eye",use:"icon-eye-usage",viewBox:"0 0 128 64",content:''});o.a.add(c);t["default"]=c},"4ed7":function(e,t,n){},"51ff":function(e,t,n){var a={"./dashboard.svg":"f782","./example.svg":"30c3","./eye-open.svg":"d7ec","./eye.svg":"4df5","./form.svg":"eb1b","./link.svg":"18f0","./nested.svg":"dcf8","./password.svg":"2a3d","./table.svg":"47f1","./tree.svg":"93cd","./user.svg":"b3b5"};function i(e){var t=r(e);return n(t)}function r(e){var t=a[e];if(!(t+1)){var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}return t}i.keys=function(){return Object.keys(a)},i.resolve=r,e.exports=i,i.id="51ff"},"56d7":function(e,t,n){"use strict";n.r(t);n("cadf"),n("551c"),n("f751"),n("097d");var a=n("2b0e"),i=(n("f5df"),n("5c96")),r=n.n(i),o=(n("0fae"),n("b2d6")),c=n.n(o),s=(n("b20f"),function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{attrs:{id:"app"}},[n("router-view")],1)}),u=[],l={name:"App"},d=l,h=n("2877"),f=Object(h["a"])(d,s,u,!1,null,null,null),m=f.exports,p=n("4360"),v=n("a18c"),b=(n("ac6a"),function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.isExternal?n("div",e._g({staticClass:"svg-external-icon svg-icon",style:e.styleExternalIcon},e.$listeners)):n("svg",e._g({class:e.svgClass,attrs:{"aria-hidden":"true"}},e.$listeners),[n("use",{attrs:{"xlink:href":e.iconName}})])}),g=[],w=n("61f7"),x={name:"SvgIcon",props:{iconClass:{type:String,required:!0},className:{type:String,default:""}},computed:{isExternal:function(){return Object(w["a"])(this.iconClass)},iconName:function(){return"#icon-".concat(this.iconClass)},svgClass:function(){return this.className?"svg-icon "+this.className:"svg-icon"},styleExternalIcon:function(){return{mask:"url(".concat(this.iconClass,") no-repeat 50% 50%"),"-webkit-mask":"url(".concat(this.iconClass,") no-repeat 50% 50%")}}}},k=x,C=(n("68fa"),Object(h["a"])(k,b,g,!1,null,"f9f7fefc",null)),y=C.exports;a["default"].component("svg-icon",y);var _=n("51ff"),O=function(e){return e.keys().map(e)};O(_);n("7f7f"),n("96cf");var S=n("3b8d"),z=n("323e"),E=n.n(z),H=(n("a5d8"),n("5f87")),M=n("83d6"),B=n.n(M),T=B.a.title||"Vue Admin Template";function j(e){return e?"".concat(e," - ").concat(T):"".concat(T)}E.a.configure({showSpinner:!1});var L=["/login"];v["a"].beforeEach(function(){var e=Object(S["a"])(regeneratorRuntime.mark(function e(t,n,a){var r,o;return regeneratorRuntime.wrap(function(e){while(1)switch(e.prev=e.next){case 0:if(E.a.start(),document.title=j(t.meta.title),r=Object(H["a"])(),!r){e.next=29;break}if("/login"!==t.path){e.next=9;break}a({path:"/"}),E.a.done(),e.next=27;break;case 9:if(o=p["a"].getters.name,!o){e.next=14;break}a(),e.next=27;break;case 14:return e.prev=14,e.next=17,p["a"].dispatch("user/getInfo");case 17:a(),e.next=27;break;case 20:return e.prev=20,e.t0=e["catch"](14),e.next=24,p["a"].dispatch("user/resetToken");case 24:i["Message"].error(e.t0||"Has Error"),a("/login?redirect=".concat(t.path)),E.a.done();case 27:e.next=30;break;case 29:-1!==L.indexOf(t.path)?a():(a("/login?redirect=".concat(t.path)),E.a.done());case 30:case"end":return e.stop()}},e,null,[[14,20]])}));return function(t,n,a){return e.apply(this,arguments)}}()),v["a"].afterEach(function(){E.a.done()}),a["default"].use(r.a,{size:"small",locale:c.a}),a["default"].config.productionTip=!1,new a["default"]({el:"#app",router:v["a"],store:p["a"],render:function(e){return e(m)}})},"5bb9":function(e,t,n){},"5f87":function(e,t,n){"use strict";n.d(t,"a",function(){return o}),n.d(t,"c",function(){return c}),n.d(t,"b",function(){return s});var a=n("a78e"),i=n.n(a),r="canal_admin_token";function o(){return i.a.get(r)}function c(e){return i.a.set(r,e,{maxAge:0})}function s(){return i.a.remove(r)}},"61f7":function(e,t,n){"use strict";function a(e){return/^(https?:|mailto:|tel:)/.test(e)}function i(e){var t=["admin","editor"];return t.indexOf(e.trim())>=0}n.d(t,"a",function(){return a}),n.d(t,"b",function(){return i})},"68fa":function(e,t,n){"use strict";var a=n("2021"),i=n.n(a);i.a},"83d6":function(e,t){e.exports={title:"Canal Admin",fixedHeader:!0,sidebarLogo:!0}},8902:function(e,t,n){},"93cd":function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),r=n("21a1"),o=n.n(r),c=new i.a({id:"icon-tree",use:"icon-tree-usage",viewBox:"0 0 128 128",content:''});o.a.add(c);t["default"]=c},"9f2b":function(e,t,n){"use strict";var a=n("5bb9"),i=n.n(a);i.a},a18c:function(e,t,n){"use strict";var a,i,r=n("2b0e"),o=n("8c4f"),c=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"app-wrapper",class:e.classObj},["mobile"===e.device&&e.sidebar.opened?n("div",{staticClass:"drawer-bg",on:{click:e.handleClickOutside}}):e._e(),e._v(" "),n("sidebar",{staticClass:"sidebar-container"}),e._v(" "),n("div",{staticClass:"main-container"},[n("div",{class:{"fixed-header":e.fixedHeader}},[n("navbar")],1),e._v(" "),n("app-main")],1)],1)},s=[],u=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"navbar"},[n("hamburger",{staticClass:"hamburger-container",attrs:{"is-active":e.sidebar.opened},on:{toggleClick:e.toggleSideBar}}),e._v(" "),n("breadcrumb",{staticClass:"breadcrumb-container"}),e._v(" "),n("div",{staticClass:"right-menu"},[n("el-dropdown",{staticClass:"avatar-container",attrs:{trigger:"click"}},[n("div",{staticClass:"avatar-wrapper"},[n("img",{staticClass:"user-avatar",attrs:{src:e.avat+"?imageView2/1/w/80/h/80"}}),e._v(" "),n("i",{staticClass:"el-icon-caret-bottom"})]),e._v(" "),n("el-dropdown-menu",{staticClass:"user-dropdown",attrs:{slot:"dropdown"},slot:"dropdown"},[n("router-link",{attrs:{to:"/"}},[n("el-dropdown-item",[e._v("\n 主页\n ")])],1),e._v(" "),n("router-link",{attrs:{to:"/sys/user"}},[n("el-dropdown-item",[e._v("账号管理")])],1),e._v(" "),n("el-dropdown-item",{attrs:{divided:""}},[n("span",{staticStyle:{display:"block"},on:{click:e.logout}},[e._v("退出")])])],1)],1)],1)],1)},l=[],d=(n("96cf"),n("3b8d")),h=n("db72"),f=n("2f62"),m=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("el-breadcrumb",{staticClass:"app-breadcrumb",attrs:{separator:"/"}},[n("transition-group",{attrs:{name:"breadcrumb"}},e._l(e.levelList,function(t,a){return n("el-breadcrumb-item",{key:t.path},["noRedirect"===t.redirect||a==e.levelList.length-1?n("span",{staticClass:"no-redirect"},[e._v(e._s(t.meta.title))]):n("a",{on:{click:function(n){return n.preventDefault(),e.handleLink(t)}}},[e._v(e._s(t.meta.title))])])}),1)],1)},p=[],v=(n("7f7f"),n("bd11")),b=n.n(v),g={data:function(){return{levelList:null}},watch:{$route:function(){this.getBreadcrumb()}},created:function(){this.getBreadcrumb()},methods:{getBreadcrumb:function(){var e=this.$route.matched.filter(function(e){return e.meta&&e.meta.title}),t=e[0];this.isDashboard(t)||(e=[{path:"/dashboard",meta:{title:"主页"}}].concat(e)),this.levelList=e.filter(function(e){return e.meta&&e.meta.title&&!1!==e.meta.breadcrumb})},isDashboard:function(e){var t=e&&e.name;return!!t&&t.trim().toLocaleLowerCase()==="Dashboard".toLocaleLowerCase()},pathCompile:function(e){var t=this.$route.params,n=b.a.compile(e);return n(t)},handleLink:function(e){var t=e.redirect,n=e.path;t?this.$router.push(t):this.$router.push(this.pathCompile(n))}}},w=g,x=(n("1b09"),n("2877")),k=Object(x["a"])(w,m,p,!1,null,"c09a31b8",null),C=k.exports,y=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticStyle:{padding:"0 15px"},on:{click:e.toggleClick}},[n("svg",{staticClass:"hamburger",class:{"is-active":e.isActive},attrs:{viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:"64",height:"64"}},[n("path",{attrs:{d:"M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 0 0 0-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0 0 14.4 7z"}})])])},_=[],O={name:"Hamburger",props:{isActive:{type:Boolean,default:!1}},methods:{toggleClick:function(){this.$emit("toggleClick")}}},S=O,z=(n("186a"),Object(x["a"])(S,y,_,!1,null,"49e15297",null)),E=z.exports,H={components:{Breadcrumb:C,Hamburger:E},data:function(){return{avat:"./avatar.gif"}},computed:Object(h["a"])({},Object(f["b"])(["sidebar","avatar"])),methods:{toggleSideBar:function(){this.$store.dispatch("app/toggleSideBar")},logout:function(){var e=Object(d["a"])(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,this.$store.dispatch("user/logout");case 2:this.$router.push("/login?redirect=".concat(this.$route.fullPath));case 3:case"end":return e.stop()}},e,this)}));function t(){return e.apply(this,arguments)}return t}()}},M=H,B=(n("d5be"),Object(x["a"])(M,u,l,!1,null,"3ca66fc8",null)),T=B.exports,j=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:{"has-logo":e.showLogo}},[e.showLogo?n("logo",{attrs:{collapse:e.isCollapse}}):e._e(),e._v(" "),n("el-scrollbar",{attrs:{"wrap-class":"scrollbar-wrapper"}},[n("el-menu",{attrs:{"default-active":e.activeMenu,collapse:e.isCollapse,"background-color":e.variables.menuBg,"text-color":e.variables.menuText,"unique-opened":!1,"active-text-color":e.variables.menuActiveText,"collapse-transition":!1,mode:"vertical"}},e._l(e.routes,function(e){return n("sidebar-item",{key:e.path,attrs:{item:e,"base-path":e.path}})}),1)],1)],1)},L=[],V=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"sidebar-logo-container",class:{collapse:e.collapse}},[n("transition",{attrs:{name:"sidebarLogoFade"}},[e.collapse?n("router-link",{key:"collapse",staticClass:"sidebar-logo-link",attrs:{to:"/"}},[e.logo?n("img",{staticClass:"sidebar-logo",attrs:{src:e.logo}}):n("h1",{staticClass:"sidebar-title"},[e._v(e._s(e.title)+" ")])]):n("router-link",{key:"expand",staticClass:"sidebar-logo-link",attrs:{to:"/"}},[e.logo?n("img",{staticClass:"sidebar-logo",attrs:{src:e.logo}}):e._e(),e._v(" "),n("h1",{staticClass:"sidebar-title"},[e._v(e._s(e.title)+" ")])])],1)],1)},$=[],A={name:"SidebarLogo",props:{collapse:{type:Boolean,required:!0}},data:function(){return{title:"",logo:"./logo.png"}}},I=A,P=(n("1660"),Object(x["a"])(I,V,$,!1,null,"53202dff",null)),N=P.exports,D=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.item.hidden?e._e():n("div",{staticClass:"menu-wrapper"},[!e.hasOneShowingChild(e.item.children,e.item)||e.onlyOneChild.children&&!e.onlyOneChild.noShowingChildren||e.item.alwaysShow?n("el-submenu",{ref:"subMenu",attrs:{index:e.resolvePath(e.item.path),"popper-append-to-body":""}},[n("template",{slot:"title"},[e.item.meta?n("item",{attrs:{icon:e.item.meta&&e.item.meta.icon,title:e.item.meta.title}}):e._e()],1),e._v(" "),e._l(e.item.children,function(t){return n("sidebar-item",{key:t.path,staticClass:"nest-menu",attrs:{"is-nest":!0,item:t,"base-path":e.resolvePath(t.path)}})})],2):[e.onlyOneChild.meta?n("app-link",{attrs:{to:e.resolvePath(e.onlyOneChild.path)}},[n("el-menu-item",{class:{"submenu-title-noDropdown":!e.isNest},attrs:{index:e.resolvePath(e.onlyOneChild.path)}},[n("item",{attrs:{icon:e.onlyOneChild.meta.icon||e.item.meta&&e.item.meta.icon,title:e.onlyOneChild.meta.title}})],1)],1):e._e()]],2)},q=[],R=n("df7c"),G=n.n(R),F=n("61f7"),K={name:"MenuItem",functional:!0,props:{icon:{type:String,default:""},title:{type:String,default:""}},render:function(e,t){var n=t.props,a=n.icon,i=n.title,r=[];return a&&r.push(e("svg-icon",{attrs:{"icon-class":a}})),i&&r.push(e("span",{slot:"title"},[i])),r}},U=K,J=Object(x["a"])(U,a,i,!1,null,null,null),W=J.exports,X=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("component",e._b({},"component",e.linkProps(e.to),!1),[e._t("default")],2)},Y=[],Q={props:{to:{type:String,required:!0}},methods:{linkProps:function(e){return Object(F["a"])(e)?{is:"a",href:e,target:"_blank",rel:"noopener"}:{is:"router-link",to:e}}}},Z=Q,ee=Object(x["a"])(Z,X,Y,!1,null,null,null),te=ee.exports,ne={computed:{device:function(){return this.$store.state.app.device}},mounted:function(){this.fixBugIniOS()},methods:{fixBugIniOS:function(){var e=this,t=this.$refs.subMenu;if(t){var n=t.handleMouseleave;t.handleMouseleave=function(t){"mobile"!==e.device&&n(t)}}}}},ae={name:"SidebarItem",components:{Item:W,AppLink:te},mixins:[ne],props:{item:{type:Object,required:!0},isNest:{type:Boolean,default:!1},basePath:{type:String,default:""}},data:function(){return this.onlyOneChild=null,{}},methods:{hasOneShowingChild:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1?arguments[1]:void 0,a=t.filter(function(t){return!t.hidden&&(e.onlyOneChild=t,!0)});return 1===a.length||0===a.length&&(this.onlyOneChild=Object(h["a"])({},n,{path:"",noShowingChildren:!0}),!0)},resolvePath:function(e){return Object(F["a"])(e)?e:Object(F["a"])(this.basePath)?this.basePath:G.a.resolve(this.basePath,e)}}},ie=ae,re=Object(x["a"])(ie,D,q,!1,null,null,null),oe=re.exports,ce=n("cf1e"),se=n.n(ce),ue={components:{SidebarItem:oe,Logo:N},computed:Object(h["a"])({},Object(f["b"])(["sidebar"]),{routes:function(){return this.$router.options.routes},activeMenu:function(){var e=this.$route,t=e.meta,n=e.path;return t.activeMenu?t.activeMenu:n},showLogo:function(){return this.$store.state.settings.sidebarLogo},variables:function(){return se.a},isCollapse:function(){return!this.sidebar.opened}})},le=ue,de=Object(x["a"])(le,j,L,!1,null,null,null),he=de.exports,fe=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("section",{staticClass:"app-main"},[n("transition",{attrs:{name:"fade-transform",mode:"out-in"}},[n("router-view",{key:e.key})],1)],1)},me=[],pe={name:"AppMain",computed:{key:function(){return this.$route.path}}},ve=pe,be=(n("e4de"),n("028b"),Object(x["a"])(ve,fe,me,!1,null,"64cf4d83",null)),ge=be.exports,we=n("4360"),xe=document,ke=xe.body,Ce=992,ye={watch:{$route:function(e){"mobile"===this.device&&this.sidebar.opened&&we["a"].dispatch("app/closeSideBar",{withoutAnimation:!1})}},beforeMount:function(){window.addEventListener("resize",this.$_resizeHandler)},beforeDestroy:function(){window.removeEventListener("resize",this.$_resizeHandler)},mounted:function(){var e=this.$_isMobile();e&&(we["a"].dispatch("app/toggleDevice","mobile"),we["a"].dispatch("app/closeSideBar",{withoutAnimation:!0}))},methods:{$_isMobile:function(){var e=ke.getBoundingClientRect();return e.width-1'});o.a.add(c);t["default"]=c},b775:function(e,t,n){"use strict";var a=n("bc3a"),i=n.n(a),r=n("5c96"),o=n("4360"),c=n("5f87"),s=i.a.create({baseURL:"/api/v1",timeout:6e4});s.interceptors.request.use(function(e){return o["a"].getters.token&&(e.headers["X-Token"]=Object(c["a"])()),e},function(e){return console.log(e),Promise.reject(e)}),s.interceptors.response.use(function(e){var t=e.data;return 2e4!==t.code?(Object(r["Message"])({message:t.message||"Error",type:"error",duration:5e3}),50008!==t.code&&50012!==t.code&&50014!==t.code||r["MessageBox"].confirm("You have been logged out, you can cancel to stay on this page, or log in again","Confirm logout",{confirmButtonText:"Re-Login",cancelButtonText:"Cancel",type:"warning"}).then(function(){o["a"].dispatch("user/resetToken").then(function(){location.reload()})}),Promise.reject(new Error(t.message||"Error"))):t},function(e){return console.log("err"+e),Object(r["Message"])({message:e.message,type:"error",duration:5e3}),Promise.reject(e)}),t["a"]=s},c24f:function(e,t,n){"use strict";n.d(t,"b",function(){return i}),n.d(t,"a",function(){return r}),n.d(t,"c",function(){return o}),n.d(t,"d",function(){return c});var a=n("b775");function i(e){return Object(a["a"])({url:"/user/login",method:"post",data:e})}function r(e){return Object(a["a"])({url:"/user/info",method:"get",params:{token:e}})}function o(){return Object(a["a"])({url:"/user/logout",method:"post"})}function c(e){return Object(a["a"])({url:"/user",method:"put",data:e})}},cf1e:function(e,t,n){e.exports={menuText:"#bfcbd9",menuActiveText:"#409EFF",subMenuActiveText:"#f4f4f5",menuBg:"#304156",menuHover:"#263445",subMenuBg:"#1f2d3d",subMenuHover:"#001528",sideBarWidth:"210px"}},d5be:function(e,t,n){"use strict";var a=n("a424"),i=n.n(a);i.a},d7ec:function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),r=n("21a1"),o=n.n(r),c=new i.a({id:"icon-eye-open",use:"icon-eye-open-usage",viewBox:"0 0 1024 1024",content:''});o.a.add(c);t["default"]=c},dc52:function(e,t,n){},dcf8:function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),r=n("21a1"),o=n.n(r),c=new i.a({id:"icon-nested",use:"icon-nested-usage",viewBox:"0 0 128 128",content:''});o.a.add(c);t["default"]=c},e4de:function(e,t,n){"use strict";var a=n("8902"),i=n.n(a);i.a},eb1b:function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),r=n("21a1"),o=n.n(r),c=new i.a({id:"icon-form",use:"icon-form-usage",viewBox:"0 0 128 128",content:''});o.a.add(c);t["default"]=c},f782:function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),r=n("21a1"),o=n.n(r),c=new i.a({id:"icon-dashboard",use:"icon-dashboard-usage",viewBox:"0 0 128 100",content:''});o.a.add(c);t["default"]=c},ff7f:function(e,t,n){}},[[0,"runtime","chunk-elementUI","chunk-libs"]]]); \ No newline at end of file +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["app"],{0:function(e,t,n){e.exports=n("56d7")},"028b":function(e,t,n){"use strict";var a=n("a217"),i=n.n(a);i.a},1660:function(e,t,n){"use strict";var a=n("ff7f"),i=n.n(a);i.a},"186a":function(e,t,n){"use strict";var a=n("dc52"),i=n.n(a);i.a},"18f0":function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),r=n("21a1"),o=n.n(r),c=new i.a({id:"icon-link",use:"icon-link-usage",viewBox:"0 0 128 128",content:''});o.a.add(c);t["default"]=c},"1b09":function(e,t,n){"use strict";var a=n("4ed7"),i=n.n(a);i.a},2021:function(e,t,n){},"2a3d":function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),r=n("21a1"),o=n.n(r),c=new i.a({id:"icon-password",use:"icon-password-usage",viewBox:"0 0 128 128",content:''});o.a.add(c);t["default"]=c},"30c3":function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),r=n("21a1"),o=n.n(r),c=new i.a({id:"icon-example",use:"icon-example-usage",viewBox:"0 0 128 128",content:''});o.a.add(c);t["default"]=c},4360:function(e,t,n){"use strict";var a=n("2b0e"),i=n("2f62"),r=(n("7f7f"),{sidebar:function(e){return e.app.sidebar},device:function(e){return e.app.device},token:function(e){return e.user.token},avatar:function(e){return e.user.avatar},name:function(e){return e.user.name}}),o=r,c=n("a78e"),s=n.n(c),u={sidebar:{opened:!s.a.get("sidebarStatus")||!!+s.a.get("sidebarStatus"),withoutAnimation:!1},device:"desktop"},l={TOGGLE_SIDEBAR:function(e){e.sidebar.opened=!e.sidebar.opened,e.sidebar.withoutAnimation=!1,e.sidebar.opened?s.a.set("sidebarStatus",1):s.a.set("sidebarStatus",0)},CLOSE_SIDEBAR:function(e,t){s.a.set("sidebarStatus",0),e.sidebar.opened=!1,e.sidebar.withoutAnimation=t},TOGGLE_DEVICE:function(e,t){e.device=t}},d={toggleSideBar:function(e){var t=e.commit;t("TOGGLE_SIDEBAR")},closeSideBar:function(e,t){var n=e.commit,a=t.withoutAnimation;n("CLOSE_SIDEBAR",a)},toggleDevice:function(e,t){var n=e.commit;n("TOGGLE_DEVICE",t)}},h={namespaced:!0,state:u,mutations:l,actions:d},f=n("83d6"),m=n.n(f),p=m.a.showSettings,v=m.a.fixedHeader,b=m.a.sidebarLogo,g={showSettings:p,fixedHeader:v,sidebarLogo:b},w={CHANGE_SETTING:function(e,t){var n=t.key,a=t.value;e.hasOwnProperty(n)&&(e[n]=a)}},x={changeSetting:function(e,t){var n=e.commit;n("CHANGE_SETTING",t)}},k={namespaced:!0,state:g,mutations:w,actions:x},C=n("c24f"),y=n("5f87"),_=n("a18c"),O={token:Object(y["a"])(),name:"",avatar:""},S={SET_TOKEN:function(e,t){e.token=t},SET_NAME:function(e,t){e.name=t},SET_AVATAR:function(e,t){e.avatar=t}},z={login:function(e,t){var n=e.commit,a=t.username,i=t.password;return new Promise(function(e,t){Object(C["b"])({username:a.trim(),password:i}).then(function(t){var a=t.data;n("SET_TOKEN",a.token),Object(y["c"])(a.token),e()}).catch(function(e){t(e)})})},getInfo:function(e){var t=e.commit,n=e.state;return new Promise(function(e,a){Object(C["a"])(n.token).then(function(n){var i=n.data;i||a("Verification failed, please Login again.");var r=i.name,o=i.avatar;t("SET_NAME",r),t("SET_AVATAR",o),e(i)}).catch(function(e){a(e)})})},logout:function(e){var t=e.commit,n=e.state;return new Promise(function(e,a){Object(C["c"])(n.token).then(function(){t("SET_TOKEN",""),Object(y["b"])(),Object(_["b"])(),e()}).catch(function(e){a(e)})})},resetToken:function(e){var t=e.commit;return new Promise(function(e){t("SET_TOKEN",""),Object(y["b"])(),e()})}},E={namespaced:!0,state:O,mutations:S,actions:z};a["default"].use(i["a"]);var H=new i["a"].Store({modules:{app:h,settings:k,user:E},getters:o});t["a"]=H},"47f1":function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),r=n("21a1"),o=n.n(r),c=new i.a({id:"icon-table",use:"icon-table-usage",viewBox:"0 0 128 128",content:''});o.a.add(c);t["default"]=c},"4df5":function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),r=n("21a1"),o=n.n(r),c=new i.a({id:"icon-eye",use:"icon-eye-usage",viewBox:"0 0 128 64",content:''});o.a.add(c);t["default"]=c},"4ed7":function(e,t,n){},"51ff":function(e,t,n){var a={"./dashboard.svg":"f782","./example.svg":"30c3","./eye-open.svg":"d7ec","./eye.svg":"4df5","./form.svg":"eb1b","./link.svg":"18f0","./nested.svg":"dcf8","./password.svg":"2a3d","./table.svg":"47f1","./tree.svg":"93cd","./user.svg":"b3b5"};function i(e){var t=r(e);return n(t)}function r(e){var t=a[e];if(!(t+1)){var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}return t}i.keys=function(){return Object.keys(a)},i.resolve=r,e.exports=i,i.id="51ff"},"56d7":function(e,t,n){"use strict";n.r(t);n("cadf"),n("551c"),n("f751"),n("097d");var a=n("2b0e"),i=(n("f5df"),n("5c96")),r=n.n(i),o=(n("0fae"),n("b2d6")),c=n.n(o),s=(n("b20f"),function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{attrs:{id:"app"}},[n("router-view")],1)}),u=[],l={name:"App"},d=l,h=n("2877"),f=Object(h["a"])(d,s,u,!1,null,null,null),m=f.exports,p=n("4360"),v=n("a18c"),b=(n("ac6a"),function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.isExternal?n("div",e._g({staticClass:"svg-external-icon svg-icon",style:e.styleExternalIcon},e.$listeners)):n("svg",e._g({class:e.svgClass,attrs:{"aria-hidden":"true"}},e.$listeners),[n("use",{attrs:{"xlink:href":e.iconName}})])}),g=[],w=n("61f7"),x={name:"SvgIcon",props:{iconClass:{type:String,required:!0},className:{type:String,default:""}},computed:{isExternal:function(){return Object(w["a"])(this.iconClass)},iconName:function(){return"#icon-".concat(this.iconClass)},svgClass:function(){return this.className?"svg-icon "+this.className:"svg-icon"},styleExternalIcon:function(){return{mask:"url(".concat(this.iconClass,") no-repeat 50% 50%"),"-webkit-mask":"url(".concat(this.iconClass,") no-repeat 50% 50%")}}}},k=x,C=(n("68fa"),Object(h["a"])(k,b,g,!1,null,"f9f7fefc",null)),y=C.exports;a["default"].component("svg-icon",y);var _=n("51ff"),O=function(e){return e.keys().map(e)};O(_);n("7f7f"),n("96cf");var S=n("3b8d"),z=n("323e"),E=n.n(z),H=(n("a5d8"),n("5f87")),M=n("83d6"),B=n.n(M),T=B.a.title||"Vue Admin Template";function j(e){return e?"".concat(e," - ").concat(T):"".concat(T)}E.a.configure({showSpinner:!1});var L=["/login"];v["a"].beforeEach(function(){var e=Object(S["a"])(regeneratorRuntime.mark(function e(t,n,a){var r,o;return regeneratorRuntime.wrap(function(e){while(1)switch(e.prev=e.next){case 0:if(E.a.start(),document.title=j(t.meta.title),r=Object(H["a"])(),!r){e.next=29;break}if("/login"!==t.path){e.next=9;break}a({path:"/"}),E.a.done(),e.next=27;break;case 9:if(o=p["a"].getters.name,!o){e.next=14;break}a(),e.next=27;break;case 14:return e.prev=14,e.next=17,p["a"].dispatch("user/getInfo");case 17:a(),e.next=27;break;case 20:return e.prev=20,e.t0=e["catch"](14),e.next=24,p["a"].dispatch("user/resetToken");case 24:i["Message"].error(e.t0||"Has Error"),a("/login?redirect=".concat(t.path)),E.a.done();case 27:e.next=30;break;case 29:-1!==L.indexOf(t.path)?a():(a("/login?redirect=".concat(t.path)),E.a.done());case 30:case"end":return e.stop()}},e,null,[[14,20]])}));return function(t,n,a){return e.apply(this,arguments)}}()),v["a"].afterEach(function(){E.a.done()}),a["default"].use(r.a,{size:"small",locale:c.a}),a["default"].config.productionTip=!1,new a["default"]({el:"#app",router:v["a"],store:p["a"],render:function(e){return e(m)}})},"5bb9":function(e,t,n){},"5f87":function(e,t,n){"use strict";n.d(t,"a",function(){return o}),n.d(t,"c",function(){return c}),n.d(t,"b",function(){return s});var a=n("a78e"),i=n.n(a),r="canal_admin_token";function o(){return i.a.get(r)}function c(e){return i.a.set(r,e,{maxAge:0})}function s(){return i.a.remove(r)}},"61f7":function(e,t,n){"use strict";function a(e){return/^(https?:|mailto:|tel:)/.test(e)}function i(e){var t=["admin","editor"];return t.indexOf(e.trim())>=0}n.d(t,"a",function(){return a}),n.d(t,"b",function(){return i})},"68fa":function(e,t,n){"use strict";var a=n("2021"),i=n.n(a);i.a},"83d6":function(e,t){e.exports={title:"Canal Admin",fixedHeader:!0,sidebarLogo:!0}},8902:function(e,t,n){},"93cd":function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),r=n("21a1"),o=n.n(r),c=new i.a({id:"icon-tree",use:"icon-tree-usage",viewBox:"0 0 128 128",content:''});o.a.add(c);t["default"]=c},"9f2b":function(e,t,n){"use strict";var a=n("5bb9"),i=n.n(a);i.a},a18c:function(e,t,n){"use strict";var a,i,r=n("2b0e"),o=n("8c4f"),c=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"app-wrapper",class:e.classObj},["mobile"===e.device&&e.sidebar.opened?n("div",{staticClass:"drawer-bg",on:{click:e.handleClickOutside}}):e._e(),e._v(" "),n("sidebar",{staticClass:"sidebar-container"}),e._v(" "),n("div",{staticClass:"main-container"},[n("div",{class:{"fixed-header":e.fixedHeader}},[n("navbar")],1),e._v(" "),n("app-main")],1)],1)},s=[],u=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"navbar"},[n("hamburger",{staticClass:"hamburger-container",attrs:{"is-active":e.sidebar.opened},on:{toggleClick:e.toggleSideBar}}),e._v(" "),n("breadcrumb",{staticClass:"breadcrumb-container"}),e._v(" "),n("div",{staticClass:"right-menu"},[n("el-dropdown",{staticClass:"avatar-container",attrs:{trigger:"click"}},[n("div",{staticClass:"avatar-wrapper"},[n("img",{staticClass:"user-avatar",attrs:{src:e.avat+"?imageView2/1/w/80/h/80"}}),e._v(" "),n("i",{staticClass:"el-icon-caret-bottom"})]),e._v(" "),n("el-dropdown-menu",{staticClass:"user-dropdown",attrs:{slot:"dropdown"},slot:"dropdown"},[n("router-link",{attrs:{to:"/"}},[n("el-dropdown-item",[e._v("\n 主页\n ")])],1),e._v(" "),n("router-link",{attrs:{to:"/sys/user"}},[n("el-dropdown-item",[e._v("账号管理")])],1),e._v(" "),n("el-dropdown-item",{attrs:{divided:""}},[n("span",{staticStyle:{display:"block"},on:{click:e.logout}},[e._v("退出")])])],1)],1)],1)],1)},l=[],d=(n("96cf"),n("3b8d")),h=n("db72"),f=n("2f62"),m=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("el-breadcrumb",{staticClass:"app-breadcrumb",attrs:{separator:"/"}},[n("transition-group",{attrs:{name:"breadcrumb"}},e._l(e.levelList,function(t,a){return n("el-breadcrumb-item",{key:t.path},["noRedirect"===t.redirect||a==e.levelList.length-1?n("span",{staticClass:"no-redirect"},[e._v(e._s(t.meta.title))]):n("a",{on:{click:function(n){return n.preventDefault(),e.handleLink(t)}}},[e._v(e._s(t.meta.title))])])}),1)],1)},p=[],v=(n("7f7f"),n("bd11")),b=n.n(v),g={data:function(){return{levelList:null}},watch:{$route:function(){this.getBreadcrumb()}},created:function(){this.getBreadcrumb()},methods:{getBreadcrumb:function(){var e=this.$route.matched.filter(function(e){return e.meta&&e.meta.title}),t=e[0];this.isDashboard(t)||(e=[{path:"/dashboard",meta:{title:"主页"}}].concat(e)),this.levelList=e.filter(function(e){return e.meta&&e.meta.title&&!1!==e.meta.breadcrumb})},isDashboard:function(e){var t=e&&e.name;return!!t&&t.trim().toLocaleLowerCase()==="Dashboard".toLocaleLowerCase()},pathCompile:function(e){var t=this.$route.params,n=b.a.compile(e);return n(t)},handleLink:function(e){var t=e.redirect,n=e.path;t?this.$router.push(t):this.$router.push(this.pathCompile(n))}}},w=g,x=(n("1b09"),n("2877")),k=Object(x["a"])(w,m,p,!1,null,"c09a31b8",null),C=k.exports,y=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticStyle:{padding:"0 15px"},on:{click:e.toggleClick}},[n("svg",{staticClass:"hamburger",class:{"is-active":e.isActive},attrs:{viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:"64",height:"64"}},[n("path",{attrs:{d:"M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 0 0 0-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0 0 14.4 7z"}})])])},_=[],O={name:"Hamburger",props:{isActive:{type:Boolean,default:!1}},methods:{toggleClick:function(){this.$emit("toggleClick")}}},S=O,z=(n("186a"),Object(x["a"])(S,y,_,!1,null,"49e15297",null)),E=z.exports,H={components:{Breadcrumb:C,Hamburger:E},data:function(){return{avat:"./avatar.gif"}},computed:Object(h["a"])({},Object(f["b"])(["sidebar","avatar"])),methods:{toggleSideBar:function(){this.$store.dispatch("app/toggleSideBar")},logout:function(){var e=Object(d["a"])(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,this.$store.dispatch("user/logout");case 2:this.$router.push("/login?redirect=".concat(this.$route.fullPath));case 3:case"end":return e.stop()}},e,this)}));function t(){return e.apply(this,arguments)}return t}()}},M=H,B=(n("d5be"),Object(x["a"])(M,u,l,!1,null,"3ca66fc8",null)),T=B.exports,j=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:{"has-logo":e.showLogo}},[e.showLogo?n("logo",{attrs:{collapse:e.isCollapse}}):e._e(),e._v(" "),n("el-scrollbar",{attrs:{"wrap-class":"scrollbar-wrapper"}},[n("el-menu",{attrs:{"default-active":e.activeMenu,collapse:e.isCollapse,"background-color":e.variables.menuBg,"text-color":e.variables.menuText,"unique-opened":!1,"active-text-color":e.variables.menuActiveText,"collapse-transition":!1,mode:"vertical"}},e._l(e.routes,function(e){return n("sidebar-item",{key:e.path,attrs:{item:e,"base-path":e.path}})}),1)],1)],1)},L=[],V=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"sidebar-logo-container",class:{collapse:e.collapse}},[n("transition",{attrs:{name:"sidebarLogoFade"}},[e.collapse?n("router-link",{key:"collapse",staticClass:"sidebar-logo-link",attrs:{to:"/"}},[e.logo?n("img",{staticClass:"sidebar-logo",attrs:{src:e.logo}}):n("h1",{staticClass:"sidebar-title"},[e._v(e._s(e.title)+" ")])]):n("router-link",{key:"expand",staticClass:"sidebar-logo-link",attrs:{to:"/"}},[e.logo?n("img",{staticClass:"sidebar-logo",attrs:{src:e.logo}}):e._e(),e._v(" "),n("h1",{staticClass:"sidebar-title"},[e._v(e._s(e.title)+" ")])])],1)],1)},$=[],A={name:"SidebarLogo",props:{collapse:{type:Boolean,required:!0}},data:function(){return{title:"",logo:"./logo.png"}}},I=A,P=(n("1660"),Object(x["a"])(I,V,$,!1,null,"53202dff",null)),N=P.exports,D=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.item.hidden?e._e():n("div",{staticClass:"menu-wrapper"},[!e.hasOneShowingChild(e.item.children,e.item)||e.onlyOneChild.children&&!e.onlyOneChild.noShowingChildren||e.item.alwaysShow?n("el-submenu",{ref:"subMenu",attrs:{index:e.resolvePath(e.item.path),"popper-append-to-body":""}},[n("template",{slot:"title"},[e.item.meta?n("item",{attrs:{icon:e.item.meta&&e.item.meta.icon,title:e.item.meta.title}}):e._e()],1),e._v(" "),e._l(e.item.children,function(t){return n("sidebar-item",{key:t.path,staticClass:"nest-menu",attrs:{"is-nest":!0,item:t,"base-path":e.resolvePath(t.path)}})})],2):[e.onlyOneChild.meta?n("app-link",{attrs:{to:e.resolvePath(e.onlyOneChild.path)}},[n("el-menu-item",{class:{"submenu-title-noDropdown":!e.isNest},attrs:{index:e.resolvePath(e.onlyOneChild.path)}},[n("item",{attrs:{icon:e.onlyOneChild.meta.icon||e.item.meta&&e.item.meta.icon,title:e.onlyOneChild.meta.title}})],1)],1):e._e()]],2)},q=[],R=n("df7c"),G=n.n(R),F=n("61f7"),K={name:"MenuItem",functional:!0,props:{icon:{type:String,default:""},title:{type:String,default:""}},render:function(e,t){var n=t.props,a=n.icon,i=n.title,r=[];return a&&r.push(e("svg-icon",{attrs:{"icon-class":a}})),i&&r.push(e("span",{slot:"title"},[i])),r}},U=K,J=Object(x["a"])(U,a,i,!1,null,null,null),W=J.exports,X=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("component",e._b({},"component",e.linkProps(e.to),!1),[e._t("default")],2)},Y=[],Q={props:{to:{type:String,required:!0}},methods:{linkProps:function(e){return Object(F["a"])(e)?{is:"a",href:e,target:"_blank",rel:"noopener"}:{is:"router-link",to:e}}}},Z=Q,ee=Object(x["a"])(Z,X,Y,!1,null,null,null),te=ee.exports,ne={computed:{device:function(){return this.$store.state.app.device}},mounted:function(){this.fixBugIniOS()},methods:{fixBugIniOS:function(){var e=this,t=this.$refs.subMenu;if(t){var n=t.handleMouseleave;t.handleMouseleave=function(t){"mobile"!==e.device&&n(t)}}}}},ae={name:"SidebarItem",components:{Item:W,AppLink:te},mixins:[ne],props:{item:{type:Object,required:!0},isNest:{type:Boolean,default:!1},basePath:{type:String,default:""}},data:function(){return this.onlyOneChild=null,{}},methods:{hasOneShowingChild:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1?arguments[1]:void 0,a=t.filter(function(t){return!t.hidden&&(e.onlyOneChild=t,!0)});return 1===a.length||0===a.length&&(this.onlyOneChild=Object(h["a"])({},n,{path:"",noShowingChildren:!0}),!0)},resolvePath:function(e){return Object(F["a"])(e)?e:Object(F["a"])(this.basePath)?this.basePath:G.a.resolve(this.basePath,e)}}},ie=ae,re=Object(x["a"])(ie,D,q,!1,null,null,null),oe=re.exports,ce=n("cf1e"),se=n.n(ce),ue={components:{SidebarItem:oe,Logo:N},computed:Object(h["a"])({},Object(f["b"])(["sidebar"]),{routes:function(){return this.$router.options.routes},activeMenu:function(){var e=this.$route,t=e.meta,n=e.path;return t.activeMenu?t.activeMenu:n},showLogo:function(){return this.$store.state.settings.sidebarLogo},variables:function(){return se.a},isCollapse:function(){return!this.sidebar.opened}})},le=ue,de=Object(x["a"])(le,j,L,!1,null,null,null),he=de.exports,fe=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("section",{staticClass:"app-main"},[n("transition",{attrs:{name:"fade-transform",mode:"out-in"}},[n("router-view",{key:e.key})],1)],1)},me=[],pe={name:"AppMain",computed:{key:function(){return this.$route.path}}},ve=pe,be=(n("e4de"),n("028b"),Object(x["a"])(ve,fe,me,!1,null,"64cf4d83",null)),ge=be.exports,we=n("4360"),xe=document,ke=xe.body,Ce=992,ye={watch:{$route:function(e){"mobile"===this.device&&this.sidebar.opened&&we["a"].dispatch("app/closeSideBar",{withoutAnimation:!1})}},beforeMount:function(){window.addEventListener("resize",this.$_resizeHandler)},beforeDestroy:function(){window.removeEventListener("resize",this.$_resizeHandler)},mounted:function(){var e=this.$_isMobile();e&&(we["a"].dispatch("app/toggleDevice","mobile"),we["a"].dispatch("app/closeSideBar",{withoutAnimation:!0}))},methods:{$_isMobile:function(){var e=ke.getBoundingClientRect();return e.width-1'});o.a.add(c);t["default"]=c},b775:function(e,t,n){"use strict";var a=n("bc3a"),i=n.n(a),r=n("5c96"),o=n("4360"),c=n("5f87"),s=i.a.create({baseURL:"/api/v1",timeout:6e4});s.interceptors.request.use(function(e){return o["a"].getters.token&&(e.headers["X-Token"]=Object(c["a"])()),e},function(e){return console.log(e),Promise.reject(e)}),s.interceptors.response.use(function(e){var t=e.data;return 2e4!==t.code?(Object(r["Message"])({message:t.message||"Error",type:"error",duration:5e3}),50008!==t.code&&50012!==t.code&&50014!==t.code||r["MessageBox"].confirm("You have been logged out, you can cancel to stay on this page, or log in again","Confirm logout",{confirmButtonText:"Re-Login",cancelButtonText:"Cancel",type:"warning"}).then(function(){o["a"].dispatch("user/resetToken").then(function(){location.reload()})}),Promise.reject(new Error(t.message||"Error"))):t},function(e){return console.log("err"+e),Object(r["Message"])({message:e.message,type:"error",duration:5e3}),Promise.reject(e)}),t["a"]=s},c24f:function(e,t,n){"use strict";n.d(t,"b",function(){return i}),n.d(t,"a",function(){return r}),n.d(t,"c",function(){return o}),n.d(t,"d",function(){return c});var a=n("b775");function i(e){return Object(a["a"])({url:"/user/login",method:"post",data:e})}function r(e){return Object(a["a"])({url:"/user/info",method:"get",params:{token:e}})}function o(){return Object(a["a"])({url:"/user/logout",method:"post"})}function c(e){return Object(a["a"])({url:"/user",method:"put",data:e})}},cf1e:function(e,t,n){e.exports={menuText:"#bfcbd9",menuActiveText:"#409EFF",subMenuActiveText:"#f4f4f5",menuBg:"#304156",menuHover:"#263445",subMenuBg:"#1f2d3d",subMenuHover:"#001528",sideBarWidth:"210px"}},d5be:function(e,t,n){"use strict";var a=n("a424"),i=n.n(a);i.a},d7ec:function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),r=n("21a1"),o=n.n(r),c=new i.a({id:"icon-eye-open",use:"icon-eye-open-usage",viewBox:"0 0 1024 1024",content:''});o.a.add(c);t["default"]=c},dc52:function(e,t,n){},dcf8:function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),r=n("21a1"),o=n.n(r),c=new i.a({id:"icon-nested",use:"icon-nested-usage",viewBox:"0 0 128 128",content:''});o.a.add(c);t["default"]=c},e4de:function(e,t,n){"use strict";var a=n("8902"),i=n.n(a);i.a},eb1b:function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),r=n("21a1"),o=n.n(r),c=new i.a({id:"icon-form",use:"icon-form-usage",viewBox:"0 0 128 128",content:''});o.a.add(c);t["default"]=c},f782:function(e,t,n){"use strict";n.r(t);var a=n("e017"),i=n.n(a),r=n("21a1"),o=n.n(r),c=new i.a({id:"icon-dashboard",use:"icon-dashboard-usage",viewBox:"0 0 128 100",content:''});o.a.add(c);t["default"]=c},ff7f:function(e,t,n){}},[[0,"runtime","chunk-elementUI","chunk-libs"]]]); \ No newline at end of file diff --git a/canal-admin/canal-admin-server/src/main/resources/public/static/js/chunk-137eaf06.867259ad.js b/canal-admin/canal-admin-server/src/main/resources/public/static/js/chunk-137eaf06.867259ad.js new file mode 100644 index 00000000..a88fe373 --- /dev/null +++ b/canal-admin/canal-admin-server/src/main/resources/public/static/js/chunk-137eaf06.867259ad.js @@ -0,0 +1 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-137eaf06"],{"1c98":function(t,e,n){"use strict";n.r(e);var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"app-container"},[n("div",{staticClass:"filter-container"},[n("el-input",{staticClass:"filter-item",staticStyle:{width:"200px"},attrs:{placeholder:"实例名称"},model:{value:t.listQuery.name,callback:function(e){t.$set(t.listQuery,"name",e)},expression:"listQuery.name"}}),t._v(" "),n("el-button",{staticClass:"filter-item",attrs:{type:"primary",icon:"el-icon-search",plain:""},on:{click:function(e){return t.fetchData()}}},[t._v("查询")]),t._v("\n   \n "),n("el-button",{staticClass:"filter-item",attrs:{type:"primary"},on:{click:function(e){return t.handleCreate()}}},[t._v("新建实例")]),t._v(" "),n("el-button",{staticClass:"filter-item",attrs:{type:"info"},on:{click:function(e){return t.fetchData()}}},[t._v("刷新列表")])],1),t._v(" "),n("el-table",{directives:[{name:"loading",rawName:"v-loading",value:t.listLoading,expression:"listLoading"}],attrs:{data:t.list,"element-loading-text":"Loading",border:"",fit:"","highlight-current-row":""}},[n("el-table-column",{attrs:{label:"实例名称","min-width":"200",align:"center"},scopedSlots:t._u([{key:"default",fn:function(e){return[t._v("\n "+t._s(e.row.name)+"\n ")]}}])}),t._v(" "),n("el-table-column",{attrs:{label:"运行节点","min-width":"200",align:"center"},scopedSlots:t._u([{key:"default",fn:function(e){return[n("span",[t._v(t._s(e.row.nodeIp))])]}}])}),t._v(" "),n("el-table-column",{attrs:{label:"修改时间","min-width":"200",align:"center"},scopedSlots:t._u([{key:"default",fn:function(e){return[t._v("\n "+t._s(e.row.modifiedTime)+"\n ")]}}])}),t._v(" "),n("el-table-column",{attrs:{align:"center",prop:"created_at",label:"操作","min-width":"150"},scopedSlots:t._u([{key:"default",fn:function(e){return[n("el-dropdown",{attrs:{trigger:"click"}},[n("el-button",{attrs:{type:"primary",size:"mini"}},[t._v("\n 操作"),n("i",{staticClass:"el-icon-arrow-down el-icon--right"})]),t._v(" "),n("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[n("el-dropdown-item",{nativeOn:{click:function(n){return t.handleUpdate(e.row)}}},[t._v("修改实例")]),t._v(" "),n("el-dropdown-item",{nativeOn:{click:function(n){return t.handleDelete(e.row)}}},[t._v("删除实例")]),t._v(" "),n("el-dropdown-item",{nativeOn:{click:function(n){return t.handleStart(e.row)}}},[t._v("启动服务")]),t._v(" "),n("el-dropdown-item",{nativeOn:{click:function(n){return t.handleStop(e.row)}}},[t._v("停止服务")]),t._v(" "),n("el-dropdown-item",{nativeOn:{click:function(n){return t.handleLog(e.row)}}},[t._v("日志详情")])],1)],1)]}}])})],1),t._v(" "),n("el-dialog",{attrs:{visible:t.dialogFormVisible,title:"确定启动服务",width:"400px"},on:{"update:visible":function(e){t.dialogFormVisible=e}}},[n("el-form",{ref:"dataForm",staticStyle:{width:"350px","margin-left":"30px"},attrs:{rules:t.rules,model:t.nodeModel,"label-position":"left","label-width":"80px"}},[n("el-form-item",{attrs:{label:"选择节点",prop:"nodeId"}},[n("el-select",{attrs:{placeholder:"选择节点"},model:{value:t.nodeModel.id,callback:function(e){t.$set(t.nodeModel,"id",e)},expression:"nodeModel.id"}},t._l(t.nodeServices,function(t){return n("el-option",{key:t.id,attrs:{label:t.name,value:t.id}})}),1)],1)],1),t._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{on:{click:function(e){t.dialogFormVisible=!1}}},[t._v("取消")]),t._v(" "),n("el-button",{attrs:{type:"primary"},on:{click:function(e){return t.doStartInstance()}}},[t._v("确定")])],1)],1)],1)},a=[],i=(n("7f7f"),n("f546")),o=n("c6ed"),l={filters:{statusFilter:function(t){var e={published:"success",draft:"gray",deleted:"danger"};return e[t]}},data:function(){return{list:null,listLoading:!0,dialogFormVisible:!1,nodeServices:[],listQuery:{name:""},currentId:null,nodeModel:{id:null},rules:{id:[{required:!0,message:"请选择节点",trigger:"change"}]}}},created:function(){this.fetchData()},methods:{fetchData:function(){var t=this;this.listLoading=!0,Object(i["d"])(this.listQuery).then(function(e){t.list=e.data,t.listLoading=!1})},handleCreate:function(){this.$router.push("/canalServer/canalInstance/add")},handleUpdate:function(t){this.$router.push("/canalServer/canalInstance/modify?id="+t.id)},handleDelete:function(t){var e=this;this.$confirm("删除实例配置会导致Canal实例停止","确定删除实例信息",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){Object(i["c"])(t.id).then(function(t){"success"===t.data?(e.fetchData(),e.$message({message:"删除实例信息成功",type:"success"})):e.$message({message:"删除实例点信息失败",type:"error"})})})},handleStart:function(t){var e=this;null===t.nodeId?(this.currentId=t.id,this.nodeModel.id=null,this.$nextTick(function(){e.$refs["dataForm"].clearValidate()}),Object(o["c"])().then(function(t){e.nodeServices=t.data,e.dialogFormVisible=!0})):this.$message({message:"当前实例不是停止状态,无法启动",type:"error"})},doStartInstance:function(){var t=this;Object(i["f"])(this.currentId,this.nodeModel.id).then(function(e){e.data?(t.fetchData(),t.$message({message:"启动成功",type:"success"}),t.dialogFormVisible=!1):t.$message({message:"启动实例服务出现异常",type:"error"})})},handleStop:function(t){var e=this;null!==t.nodeId?this.$confirm("停止Canal Instance: "+t.name,"确定停止实例服务",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){Object(i["g"])(t.id,t.nodeId).then(function(t){t.data?(e.fetchData(),e.$message({message:"停止成功",type:"success"})):e.$message({message:"停止实例服务出现异常",type:"error"})})}):this.$message({message:"当前实例不是启动状态,无法停止",type:"error"})},handleLog:function(t){null!==t.nodeId?this.$router.push("canalInstance/log?id="+t.id+"&nodeId="+t.nodeId):this.$message({message:"当前实例不是启动状态,无法查看日志",type:"warning"})}}},c=l,s=n("2877"),u=Object(s["a"])(c,r,a,!1,null,null,null);e["default"]=u.exports},c6ed:function(t,e,n){"use strict";n.d(e,"c",function(){return a}),n.d(e,"a",function(){return i}),n.d(e,"g",function(){return o}),n.d(e,"b",function(){return l}),n.d(e,"e",function(){return c}),n.d(e,"f",function(){return s}),n.d(e,"d",function(){return u});var r=n("b775");function a(t){return Object(r["a"])({url:"/nodeServers",method:"get",params:t})}function i(t){return Object(r["a"])({url:"/nodeServer",method:"post",data:t})}function o(t){return Object(r["a"])({url:"/nodeServer",method:"put",data:t})}function l(t){return Object(r["a"])({url:"/nodeServer/"+t,method:"delete"})}function c(t){return Object(r["a"])({url:"/nodeServer/start/"+t,method:"put"})}function s(t){return Object(r["a"])({url:"/nodeServer/stop/"+t,method:"put"})}function u(t){return Object(r["a"])({url:"/nodeServer/log/"+t,method:"get"})}},f546:function(t,e,n){"use strict";n.d(e,"d",function(){return a}),n.d(e,"b",function(){return i}),n.d(e,"h",function(){return o}),n.d(e,"a",function(){return l}),n.d(e,"c",function(){return c}),n.d(e,"f",function(){return s}),n.d(e,"g",function(){return u}),n.d(e,"e",function(){return d});var r=n("b775");function a(t){return Object(r["a"])({url:"/canal/instances",method:"get",params:t})}function i(t){return Object(r["a"])({url:"/canal/instance/"+t,method:"get"})}function o(t){return Object(r["a"])({url:"/canal/instance",method:"put",data:t})}function l(t){return Object(r["a"])({url:"/canal/instance",method:"post",data:t})}function c(t){return Object(r["a"])({url:"/canal/instance/"+t,method:"delete"})}function s(t,e){return Object(r["a"])({url:"/canal/instance/start/"+t+"/"+e,method:"put"})}function u(t,e){return Object(r["a"])({url:"/canal/instance/stop/"+t+"/"+e,method:"put"})}function d(t,e){return Object(r["a"])({url:"/canal/instance/log/"+t+"/"+e,method:"get"})}}}]); \ No newline at end of file diff --git a/canal-admin/canal-admin-server/src/main/resources/public/static/js/chunk-2ead9580.e145af54.js b/canal-admin/canal-admin-server/src/main/resources/public/static/js/chunk-2ead9580.e145af54.js deleted file mode 100644 index b59a3cdf..00000000 --- a/canal-admin/canal-admin-server/src/main/resources/public/static/js/chunk-2ead9580.e145af54.js +++ /dev/null @@ -1 +0,0 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2ead9580"],{"7f84":function(t,n,e){"use strict";e.r(n);var r=function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("div",[e("el-form",{ref:"form",attrs:{model:t.form}},[e("div",{staticStyle:{"padding-left":"10px","padding-right":"10px","padding-top":"20px"}},[e("el-form-item",[t._v("\n "+t._s(t.form.instance)+"    \n "),e("el-button",{attrs:{type:"primary"},on:{click:t.onRefresh}},[t._v("刷新")]),t._v(" "),e("el-button",{attrs:{type:"info"},on:{click:t.onBack}},[t._v("返回")])],1),t._v(" "),e("el-input",{attrs:{rows:35,readonly:"true",type:"textarea"},model:{value:t.form.desc,callback:function(n){t.$set(t.form,"desc",n)},expression:"form.desc"}})],1)])],1)},c=[],a=e("f546"),o={data:function(){return{form:{instance:"",desc:""}}},created:function(){this.fetchData()},methods:{fetchData:function(){var t=this;Object(a["e"])(this.$route.query.id,this.$route.query.nodeId).then(function(n){t.form.instance=n.data.instance+".log",t.form.desc=n.data.log})},onRefresh:function(){this.fetchData()},onBack:function(){history.go(-1)}}},u=o,i=(e("9cd6"),e("2877")),f=Object(i["a"])(u,r,c,!1,null,"50b472ce",null);n["default"]=f.exports},"9cd6":function(t,n,e){"use strict";var r=e("e133"),c=e.n(r);c.a},e133:function(t,n,e){},f546:function(t,n,e){"use strict";e.d(n,"d",function(){return c}),e.d(n,"b",function(){return a}),e.d(n,"h",function(){return o}),e.d(n,"a",function(){return u}),e.d(n,"c",function(){return i}),e.d(n,"f",function(){return f}),e.d(n,"g",function(){return s}),e.d(n,"e",function(){return d});var r=e("b775");function c(t){return Object(r["a"])({url:"/canal/instances",method:"get",params:t})}function a(t){return Object(r["a"])({url:"/canal/instance/"+t,method:"get"})}function o(t){return Object(r["a"])({url:"/canal/instance",method:"put",data:t})}function u(t){return Object(r["a"])({url:"/canal/instance",method:"post",data:t})}function i(t){return Object(r["a"])({url:"/canal/instance/"+t,method:"delete"})}function f(t){return Object(r["a"])({url:"/canal/instance/start/"+t,method:"put"})}function s(t,n){return Object(r["a"])({url:"/canal/instance/stop/"+t+"/"+n,method:"put"})}function d(t,n){return Object(r["a"])({url:"/canal/instance/log/"+t+"/"+n,method:"get"})}}}]); \ No newline at end of file diff --git a/canal-admin/canal-admin-server/src/main/resources/public/static/js/chunk-4f09fed2.ff28d88d.js b/canal-admin/canal-admin-server/src/main/resources/public/static/js/chunk-4f09fed2.ff28d88d.js new file mode 100644 index 00000000..4a21288f --- /dev/null +++ b/canal-admin/canal-admin-server/src/main/resources/public/static/js/chunk-4f09fed2.ff28d88d.js @@ -0,0 +1 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-4f09fed2"],{"68d6":function(t,e,n){"use strict";var r=n("9d07"),o=n.n(r);o.a},"9d07":function(t,e,n){},c6ed:function(t,e,n){"use strict";n.d(e,"c",function(){return o}),n.d(e,"a",function(){return c}),n.d(e,"g",function(){return u}),n.d(e,"b",function(){return a}),n.d(e,"e",function(){return d}),n.d(e,"f",function(){return i}),n.d(e,"d",function(){return f});var r=n("b775");function o(t){return Object(r["a"])({url:"/nodeServers",method:"get",params:t})}function c(t){return Object(r["a"])({url:"/nodeServer",method:"post",data:t})}function u(t){return Object(r["a"])({url:"/nodeServer",method:"put",data:t})}function a(t){return Object(r["a"])({url:"/nodeServer/"+t,method:"delete"})}function d(t){return Object(r["a"])({url:"/nodeServer/start/"+t,method:"put"})}function i(t){return Object(r["a"])({url:"/nodeServer/stop/"+t,method:"put"})}function f(t){return Object(r["a"])({url:"/nodeServer/log/"+t,method:"get"})}},caf8:function(t,e,n){"use strict";n.r(e);var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("el-form",{ref:"form",attrs:{model:t.form}},[n("div",{staticStyle:{"padding-left":"10px","padding-right":"10px","padding-top":"20px"}},[n("el-form-item",[t._v("\n canal.log    \n "),n("el-button",{attrs:{type:"primary"},on:{click:t.onRefresh}},[t._v("刷新")]),t._v(" "),n("el-button",{attrs:{type:"info"},on:{click:t.onBack}},[t._v("返回")])],1),t._v(" "),n("el-input",{attrs:{rows:35,readonly:"readonly",type:"textarea"},model:{value:t.form.desc,callback:function(e){t.$set(t.form,"desc",e)},expression:"form.desc"}})],1)])],1)},o=[],c=n("c6ed"),u={data:function(){return{form:{desc:""}}},created:function(){this.fetchData()},methods:{fetchData:function(){var t=this;Object(c["d"])(this.$route.query.id).then(function(e){t.form.desc=e.data})},onRefresh:function(){this.fetchData()},onBack:function(){history.go(-1)}}},a=u,d=(n("68d6"),n("2877")),i=Object(d["a"])(a,r,o,!1,null,"64c3fae5",null);e["default"]=i.exports}}]); \ No newline at end of file diff --git a/canal-admin/canal-admin-server/src/main/resources/public/static/js/chunk-555c32e2.c9d04b33.js b/canal-admin/canal-admin-server/src/main/resources/public/static/js/chunk-555c32e2.6c39a877.js similarity index 89% rename from canal-admin/canal-admin-server/src/main/resources/public/static/js/chunk-555c32e2.c9d04b33.js rename to canal-admin/canal-admin-server/src/main/resources/public/static/js/chunk-555c32e2.6c39a877.js index 6622e0f0..e64f38f6 100644 --- a/canal-admin/canal-admin-server/src/main/resources/public/static/js/chunk-555c32e2.c9d04b33.js +++ b/canal-admin/canal-admin-server/src/main/resources/public/static/js/chunk-555c32e2.6c39a877.js @@ -1 +1 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-555c32e2"],{1248:function(t,n,e){"use strict";e.r(n);var a=function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("div",[e("el-form",{ref:"form",attrs:{model:t.form}},[e("div",{staticClass:"filter-container",staticStyle:{"padding-left":"10px","padding-top":"20px"}},[e("el-input",{staticClass:"filter-item",staticStyle:{width:"200px"},attrs:{placeholder:"实例名称"},model:{value:t.form.name,callback:function(n){t.$set(t.form,"name",n)},expression:"form.name"}}),t._v("\n  \n "),e("el-button",{staticClass:"filter-item",attrs:{type:"primary"},on:{click:t.onSubmit}},[t._v("新建")]),t._v(" "),e("el-button",{staticClass:"filter-item",attrs:{type:"info"},on:{click:t.onBack}},[t._v("返回")])],1),t._v(" "),e("editor",{attrs:{lang:"properties",theme:"chrome",width:"100%",height:800},on:{init:t.editorInit},model:{value:t.form.content,callback:function(n){t.$set(t.form,"content",n)},expression:"form.content"}})],1)],1)},r=[],c=(e("7f7f"),e("f546")),o={components:{editor:e("7c9e")},data:function(){return{form:{name:"",content:""}}},created:function(){},methods:{editorInit:function(){e("2099"),e("be9d"),e("2968"),e("e0e5"),e("bb36"),e("0329"),e("95b8"),e("6a21")},onSubmit:function(){var t=this;""!==this.form.name?this.$confirm("确定新建","确定新建",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){Object(c["a"])(t.form).then(function(n){"success"===n.data?(t.$message({message:"新建成功",type:"success"}),t.$router.push("/canalServer/canalInstances")):t.$message({message:"新建失败",type:"error"})})}):this.$message({message:"请输入实例名称",type:"error"})},onBack:function(){history.go(-1)}}},i=o,u=(e("e943"),e("2877")),s=Object(u["a"])(i,a,r,!1,null,"44b63e9d",null);n["default"]=s.exports},"18ae":function(t,n,e){},e943:function(t,n,e){"use strict";var a=e("18ae"),r=e.n(a);r.a},f546:function(t,n,e){"use strict";e.d(n,"d",function(){return r}),e.d(n,"b",function(){return c}),e.d(n,"h",function(){return o}),e.d(n,"a",function(){return i}),e.d(n,"c",function(){return u}),e.d(n,"f",function(){return s}),e.d(n,"g",function(){return f}),e.d(n,"e",function(){return l});var a=e("b775");function r(t){return Object(a["a"])({url:"/canal/instances",method:"get",params:t})}function c(t){return Object(a["a"])({url:"/canal/instance/"+t,method:"get"})}function o(t){return Object(a["a"])({url:"/canal/instance",method:"put",data:t})}function i(t){return Object(a["a"])({url:"/canal/instance",method:"post",data:t})}function u(t){return Object(a["a"])({url:"/canal/instance/"+t,method:"delete"})}function s(t){return Object(a["a"])({url:"/canal/instance/start/"+t,method:"put"})}function f(t,n){return Object(a["a"])({url:"/canal/instance/stop/"+t+"/"+n,method:"put"})}function l(t,n){return Object(a["a"])({url:"/canal/instance/log/"+t+"/"+n,method:"get"})}}}]); \ No newline at end of file +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-555c32e2"],{1248:function(t,n,e){"use strict";e.r(n);var a=function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("div",[e("el-form",{ref:"form",attrs:{model:t.form}},[e("div",{staticClass:"filter-container",staticStyle:{"padding-left":"10px","padding-top":"20px"}},[e("el-input",{staticClass:"filter-item",staticStyle:{width:"200px"},attrs:{placeholder:"实例名称"},model:{value:t.form.name,callback:function(n){t.$set(t.form,"name",n)},expression:"form.name"}}),t._v("\n  \n "),e("el-button",{staticClass:"filter-item",attrs:{type:"primary"},on:{click:t.onSubmit}},[t._v("新建")]),t._v(" "),e("el-button",{staticClass:"filter-item",attrs:{type:"info"},on:{click:t.onBack}},[t._v("返回")])],1),t._v(" "),e("editor",{attrs:{lang:"properties",theme:"chrome",width:"100%",height:800},on:{init:t.editorInit},model:{value:t.form.content,callback:function(n){t.$set(t.form,"content",n)},expression:"form.content"}})],1)],1)},r=[],c=(e("7f7f"),e("f546")),o={components:{editor:e("7c9e")},data:function(){return{form:{name:"",content:""}}},created:function(){},methods:{editorInit:function(){e("2099"),e("be9d"),e("2968"),e("e0e5"),e("bb36"),e("0329"),e("95b8"),e("6a21")},onSubmit:function(){var t=this;""!==this.form.name?this.$confirm("确定新建","确定新建",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){Object(c["a"])(t.form).then(function(n){"success"===n.data?(t.$message({message:"新建成功",type:"success"}),t.$router.push("/canalServer/canalInstances")):t.$message({message:"新建失败",type:"error"})})}):this.$message({message:"请输入实例名称",type:"error"})},onBack:function(){history.go(-1)}}},i=o,u=(e("e943"),e("2877")),s=Object(u["a"])(i,a,r,!1,null,"44b63e9d",null);n["default"]=s.exports},"18ae":function(t,n,e){},e943:function(t,n,e){"use strict";var a=e("18ae"),r=e.n(a);r.a},f546:function(t,n,e){"use strict";e.d(n,"d",function(){return r}),e.d(n,"b",function(){return c}),e.d(n,"h",function(){return o}),e.d(n,"a",function(){return i}),e.d(n,"c",function(){return u}),e.d(n,"f",function(){return s}),e.d(n,"g",function(){return f}),e.d(n,"e",function(){return l});var a=e("b775");function r(t){return Object(a["a"])({url:"/canal/instances",method:"get",params:t})}function c(t){return Object(a["a"])({url:"/canal/instance/"+t,method:"get"})}function o(t){return Object(a["a"])({url:"/canal/instance",method:"put",data:t})}function i(t){return Object(a["a"])({url:"/canal/instance",method:"post",data:t})}function u(t){return Object(a["a"])({url:"/canal/instance/"+t,method:"delete"})}function s(t,n){return Object(a["a"])({url:"/canal/instance/start/"+t+"/"+n,method:"put"})}function f(t,n){return Object(a["a"])({url:"/canal/instance/stop/"+t+"/"+n,method:"put"})}function l(t,n){return Object(a["a"])({url:"/canal/instance/log/"+t+"/"+n,method:"get"})}}}]); \ No newline at end of file diff --git a/canal-admin/canal-admin-server/src/main/resources/public/static/js/chunk-57829aa9.389c1070.js b/canal-admin/canal-admin-server/src/main/resources/public/static/js/chunk-57829aa9.389c1070.js deleted file mode 100644 index c3d01094..00000000 --- a/canal-admin/canal-admin-server/src/main/resources/public/static/js/chunk-57829aa9.389c1070.js +++ /dev/null @@ -1 +0,0 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-57829aa9"],{"1c98":function(t,e,n){"use strict";n.r(e);var a=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"app-container"},[n("div",{staticClass:"filter-container"},[n("el-input",{staticClass:"filter-item",staticStyle:{width:"200px"},attrs:{placeholder:"实例名称"},model:{value:t.listQuery.name,callback:function(e){t.$set(t.listQuery,"name",e)},expression:"listQuery.name"}}),t._v(" "),n("el-button",{staticClass:"filter-item",attrs:{type:"primary",icon:"el-icon-search",plain:""},on:{click:function(e){return t.fetchData()}}},[t._v("查询")]),t._v("\n   \n "),n("el-button",{staticClass:"filter-item",attrs:{type:"primary"},on:{click:function(e){return t.handleCreate()}}},[t._v("新建实例")]),t._v(" "),n("el-button",{staticClass:"filter-item",attrs:{type:"info"},on:{click:function(e){return t.fetchData()}}},[t._v("刷新列表")])],1),t._v(" "),n("el-table",{directives:[{name:"loading",rawName:"v-loading",value:t.listLoading,expression:"listLoading"}],attrs:{data:t.list,"element-loading-text":"Loading",border:"",fit:"","highlight-current-row":""}},[n("el-table-column",{attrs:{label:"实例名称","min-width":"200",align:"center"},scopedSlots:t._u([{key:"default",fn:function(e){return[t._v("\n "+t._s(e.row.name)+"\n ")]}}])}),t._v(" "),n("el-table-column",{attrs:{label:"运行节点","min-width":"200",align:"center"},scopedSlots:t._u([{key:"default",fn:function(e){return[n("span",[t._v(t._s(e.row.nodeIp))])]}}])}),t._v(" "),n("el-table-column",{attrs:{label:"修改时间","min-width":"200",align:"center"},scopedSlots:t._u([{key:"default",fn:function(e){return[t._v("\n "+t._s(e.row.modifiedTime)+"\n ")]}}])}),t._v(" "),n("el-table-column",{attrs:{align:"center",prop:"created_at",label:"操作","min-width":"150"},scopedSlots:t._u([{key:"default",fn:function(e){return[n("el-dropdown",{attrs:{trigger:"click"}},[n("el-button",{attrs:{type:"primary",size:"mini"}},[t._v("\n 操作"),n("i",{staticClass:"el-icon-arrow-down el-icon--right"})]),t._v(" "),n("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[n("el-dropdown-item",{nativeOn:{click:function(n){return t.handleUpdate(e.row)}}},[t._v("修改实例")]),t._v(" "),n("el-dropdown-item",{nativeOn:{click:function(n){return t.handleDelete(e.row)}}},[t._v("删除实例")]),t._v(" "),n("el-dropdown-item",{nativeOn:{click:function(n){return t.handleStart(e.row)}}},[t._v("启动服务")]),t._v(" "),n("el-dropdown-item",{nativeOn:{click:function(n){return t.handleStop(e.row)}}},[t._v("停止服务")]),t._v(" "),n("el-dropdown-item",{nativeOn:{click:function(n){return t.handleLog(e.row)}}},[t._v("日志详情")])],1)],1)]}}])})],1)],1)},i=[],r=(n("7f7f"),n("f546")),c={filters:{statusFilter:function(t){var e={published:"success",draft:"gray",deleted:"danger"};return e[t]}},data:function(){return{list:null,listLoading:!0,listQuery:{name:""}}},created:function(){this.fetchData()},methods:{fetchData:function(){var t=this;this.listLoading=!0,Object(r["d"])(this.listQuery).then(function(e){t.list=e.data,t.listLoading=!1})},handleCreate:function(){this.$router.push("/canalServer/canalInstance/add")},handleUpdate:function(t){this.$router.push("/canalServer/canalInstance/modify?id="+t.id)},handleDelete:function(t){var e=this;this.$confirm("删除实例配置会导致Canal实例停止","确定删除实例信息",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){Object(r["c"])(t.id).then(function(t){"success"===t.data?(e.fetchData(),e.$message({message:"删除实例信息成功",type:"success"})):e.$message({message:"删除实例点信息失败",type:"error"})})})},handleStart:function(t){var e=this;null===t.nodeId?this.$confirm("启动Canal Instance: "+t.name,"确定启动实例服务",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){Object(r["f"])(t.id).then(function(t){t.data?(e.fetchData(),e.$message({message:"启动成功",type:"success"})):e.$message({message:"启动实例服务出现异常",type:"error"})})}):this.$message({message:"当前实例不是停止状态,无法启动",type:"error"})},handleStop:function(t){var e=this;null!==t.nodeId?this.$confirm("停止Canal Instance: "+t.name,"确定停止实例服务",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){Object(r["g"])(t.id,t.nodeId).then(function(t){t.data?(e.fetchData(),e.$message({message:"停止成功",type:"success"})):e.$message({message:"停止实例服务出现异常",type:"error"})})}):this.$message({message:"当前实例不是启动状态,无法停止",type:"error"})},handleLog:function(t){null!==t.nodeId?this.$router.push("canalInstance/log?id="+t.id+"&nodeId="+t.nodeId):this.$message({message:"当前实例不是启动状态,无法查看日志",type:"warning"})}}},o=c,s=n("2877"),l=Object(s["a"])(o,a,i,!1,null,null,null);e["default"]=l.exports},f546:function(t,e,n){"use strict";n.d(e,"d",function(){return i}),n.d(e,"b",function(){return r}),n.d(e,"h",function(){return c}),n.d(e,"a",function(){return o}),n.d(e,"c",function(){return s}),n.d(e,"f",function(){return l}),n.d(e,"g",function(){return u}),n.d(e,"e",function(){return d});var a=n("b775");function i(t){return Object(a["a"])({url:"/canal/instances",method:"get",params:t})}function r(t){return Object(a["a"])({url:"/canal/instance/"+t,method:"get"})}function c(t){return Object(a["a"])({url:"/canal/instance",method:"put",data:t})}function o(t){return Object(a["a"])({url:"/canal/instance",method:"post",data:t})}function s(t){return Object(a["a"])({url:"/canal/instance/"+t,method:"delete"})}function l(t){return Object(a["a"])({url:"/canal/instance/start/"+t,method:"put"})}function u(t,e){return Object(a["a"])({url:"/canal/instance/stop/"+t+"/"+e,method:"put"})}function d(t,e){return Object(a["a"])({url:"/canal/instance/log/"+t+"/"+e,method:"get"})}}}]); \ No newline at end of file diff --git a/canal-admin/canal-admin-server/src/main/resources/public/static/js/chunk-666608b4.1b76bd53.js b/canal-admin/canal-admin-server/src/main/resources/public/static/js/chunk-666608b4.1b76bd53.js deleted file mode 100644 index f63dfdf5..00000000 --- a/canal-admin/canal-admin-server/src/main/resources/public/static/js/chunk-666608b4.1b76bd53.js +++ /dev/null @@ -1 +0,0 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-666608b4"],{"22bd":function(t,e,n){"use strict";var r=n("ed0e"),o=n.n(r);o.a},c6ed:function(t,e,n){"use strict";n.d(e,"c",function(){return o}),n.d(e,"a",function(){return c}),n.d(e,"g",function(){return u}),n.d(e,"b",function(){return a}),n.d(e,"e",function(){return d}),n.d(e,"f",function(){return i}),n.d(e,"d",function(){return f});var r=n("b775");function o(t){return Object(r["a"])({url:"/nodeServers",method:"get",params:t})}function c(t){return Object(r["a"])({url:"/nodeServer",method:"post",data:t})}function u(t){return Object(r["a"])({url:"/nodeServer",method:"put",data:t})}function a(t){return Object(r["a"])({url:"/nodeServer/"+t,method:"delete"})}function d(t){return Object(r["a"])({url:"/nodeServer/start/"+t,method:"put"})}function i(t){return Object(r["a"])({url:"/nodeServer/stop/"+t,method:"put"})}function f(t){return Object(r["a"])({url:"/nodeServer/log/"+t,method:"get"})}},caf8:function(t,e,n){"use strict";n.r(e);var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("el-form",{ref:"form",attrs:{model:t.form}},[n("div",{staticStyle:{"padding-left":"10px","padding-right":"10px","padding-top":"20px"}},[n("el-form-item",[t._v("\n canal.log    \n "),n("el-button",{attrs:{type:"primary"},on:{click:t.onRefresh}},[t._v("刷新")]),t._v(" "),n("el-button",{attrs:{type:"info"},on:{click:t.onBack}},[t._v("返回")])],1),t._v(" "),n("el-input",{attrs:{rows:35,readonly:"true",type:"textarea"},model:{value:t.form.desc,callback:function(e){t.$set(t.form,"desc",e)},expression:"form.desc"}})],1)])],1)},o=[],c=n("c6ed"),u={data:function(){return{form:{desc:""}}},created:function(){this.fetchData()},methods:{fetchData:function(){var t=this;Object(c["d"])(this.$route.query.id).then(function(e){t.form.desc=e.data})},onRefresh:function(){this.fetchData()},onBack:function(){history.go(-1)}}},a=u,d=(n("22bd"),n("2877")),i=Object(d["a"])(a,r,o,!1,null,"4058c64d",null);e["default"]=i.exports},ed0e:function(t,e,n){}}]); \ No newline at end of file diff --git a/canal-admin/canal-admin-server/src/main/resources/public/static/js/chunk-7279d7fc.bcdb3ff5.js b/canal-admin/canal-admin-server/src/main/resources/public/static/js/chunk-7279d7fc.22670fea.js similarity index 89% rename from canal-admin/canal-admin-server/src/main/resources/public/static/js/chunk-7279d7fc.bcdb3ff5.js rename to canal-admin/canal-admin-server/src/main/resources/public/static/js/chunk-7279d7fc.22670fea.js index cb54021c..af8c82ea 100644 --- a/canal-admin/canal-admin-server/src/main/resources/public/static/js/chunk-7279d7fc.bcdb3ff5.js +++ b/canal-admin/canal-admin-server/src/main/resources/public/static/js/chunk-7279d7fc.22670fea.js @@ -1 +1 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-7279d7fc"],{"926c":function(n,t,e){"use strict";var o=e("f88d"),a=e.n(o);a.a},b0a2:function(n,t,e){"use strict";e.r(t);var o=function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("div",[e("el-form",{ref:"form",attrs:{model:n.form}},[e("div",{staticStyle:{"padding-left":"10px","padding-top":"20px"}},[e("el-form-item",[n._v("\n "+n._s(n.form.name)+"    \n "),e("el-button",{attrs:{type:"primary"},on:{click:n.onSubmit}},[n._v("修改")]),n._v(" "),e("el-button",{attrs:{type:"warning"},on:{click:n.onCancel}},[n._v("重置")]),n._v(" "),e("el-button",{attrs:{type:"info"},on:{click:n.onBack}},[n._v("返回")])],1)],1),n._v(" "),e("editor",{attrs:{lang:"properties",theme:"chrome",width:"100%",height:800},on:{init:n.editorInit},model:{value:n.form.content,callback:function(t){n.$set(n.form,"content",t)},expression:"form.content"}})],1)],1)},a=[],c=(e("7f7f"),e("f546")),r={components:{editor:e("7c9e")},data:function(){return{form:{id:null,name:"",content:""}}},created:function(){this.loadCanalConfig()},methods:{editorInit:function(){e("2099"),e("be9d"),e("2968"),e("e0e5"),e("bb36"),e("0329"),e("95b8"),e("6a21")},loadCanalConfig:function(){var n=this;Object(c["b"])(this.$route.query.id).then(function(t){var e=t.data;n.form.id=e.id,n.form.name=e.name+"/instance.propertios",n.form.content=e.content})},onSubmit:function(){var n=this;this.$confirm("修改Canal实例配置可能会导致实例重启,是否继续?","确定修改",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){Object(c["h"])(n.form).then(function(t){"success"===t.data?(n.$message({message:"修改成功",type:"success"}),n.loadCanalConfig()):n.$message({message:"修改失败",type:"error"})})})},onCancel:function(){this.loadCanalConfig()},onBack:function(){history.go(-1)}}},i=r,u=(e("926c"),e("2877")),f=Object(u["a"])(i,o,a,!1,null,"11496239",null);t["default"]=f.exports},f546:function(n,t,e){"use strict";e.d(t,"d",function(){return a}),e.d(t,"b",function(){return c}),e.d(t,"h",function(){return r}),e.d(t,"a",function(){return i}),e.d(t,"c",function(){return u}),e.d(t,"f",function(){return f}),e.d(t,"g",function(){return s}),e.d(t,"e",function(){return l});var o=e("b775");function a(n){return Object(o["a"])({url:"/canal/instances",method:"get",params:n})}function c(n){return Object(o["a"])({url:"/canal/instance/"+n,method:"get"})}function r(n){return Object(o["a"])({url:"/canal/instance",method:"put",data:n})}function i(n){return Object(o["a"])({url:"/canal/instance",method:"post",data:n})}function u(n){return Object(o["a"])({url:"/canal/instance/"+n,method:"delete"})}function f(n){return Object(o["a"])({url:"/canal/instance/start/"+n,method:"put"})}function s(n,t){return Object(o["a"])({url:"/canal/instance/stop/"+n+"/"+t,method:"put"})}function l(n,t){return Object(o["a"])({url:"/canal/instance/log/"+n+"/"+t,method:"get"})}},f88d:function(n,t,e){}}]); \ No newline at end of file +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-7279d7fc"],{"926c":function(n,t,e){"use strict";var o=e("f88d"),a=e.n(o);a.a},b0a2:function(n,t,e){"use strict";e.r(t);var o=function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("div",[e("el-form",{ref:"form",attrs:{model:n.form}},[e("div",{staticStyle:{"padding-left":"10px","padding-top":"20px"}},[e("el-form-item",[n._v("\n "+n._s(n.form.name)+"    \n "),e("el-button",{attrs:{type:"primary"},on:{click:n.onSubmit}},[n._v("修改")]),n._v(" "),e("el-button",{attrs:{type:"warning"},on:{click:n.onCancel}},[n._v("重置")]),n._v(" "),e("el-button",{attrs:{type:"info"},on:{click:n.onBack}},[n._v("返回")])],1)],1),n._v(" "),e("editor",{attrs:{lang:"properties",theme:"chrome",width:"100%",height:800},on:{init:n.editorInit},model:{value:n.form.content,callback:function(t){n.$set(n.form,"content",t)},expression:"form.content"}})],1)],1)},a=[],c=(e("7f7f"),e("f546")),r={components:{editor:e("7c9e")},data:function(){return{form:{id:null,name:"",content:""}}},created:function(){this.loadCanalConfig()},methods:{editorInit:function(){e("2099"),e("be9d"),e("2968"),e("e0e5"),e("bb36"),e("0329"),e("95b8"),e("6a21")},loadCanalConfig:function(){var n=this;Object(c["b"])(this.$route.query.id).then(function(t){var e=t.data;n.form.id=e.id,n.form.name=e.name+"/instance.propertios",n.form.content=e.content})},onSubmit:function(){var n=this;this.$confirm("修改Canal实例配置可能会导致实例重启,是否继续?","确定修改",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){Object(c["h"])(n.form).then(function(t){"success"===t.data?(n.$message({message:"修改成功",type:"success"}),n.loadCanalConfig()):n.$message({message:"修改失败",type:"error"})})})},onCancel:function(){this.loadCanalConfig()},onBack:function(){history.go(-1)}}},i=r,u=(e("926c"),e("2877")),f=Object(u["a"])(i,o,a,!1,null,"11496239",null);t["default"]=f.exports},f546:function(n,t,e){"use strict";e.d(t,"d",function(){return a}),e.d(t,"b",function(){return c}),e.d(t,"h",function(){return r}),e.d(t,"a",function(){return i}),e.d(t,"c",function(){return u}),e.d(t,"f",function(){return f}),e.d(t,"g",function(){return s}),e.d(t,"e",function(){return l});var o=e("b775");function a(n){return Object(o["a"])({url:"/canal/instances",method:"get",params:n})}function c(n){return Object(o["a"])({url:"/canal/instance/"+n,method:"get"})}function r(n){return Object(o["a"])({url:"/canal/instance",method:"put",data:n})}function i(n){return Object(o["a"])({url:"/canal/instance",method:"post",data:n})}function u(n){return Object(o["a"])({url:"/canal/instance/"+n,method:"delete"})}function f(n,t){return Object(o["a"])({url:"/canal/instance/start/"+n+"/"+t,method:"put"})}function s(n,t){return Object(o["a"])({url:"/canal/instance/stop/"+n+"/"+t,method:"put"})}function l(n,t){return Object(o["a"])({url:"/canal/instance/log/"+n+"/"+t,method:"get"})}},f88d:function(n,t,e){}}]); \ No newline at end of file diff --git a/canal-admin/canal-admin-server/src/main/resources/public/static/js/chunk-7ec889b7.6ba68ef0.js b/canal-admin/canal-admin-server/src/main/resources/public/static/js/chunk-7ec889b7.6ba68ef0.js new file mode 100644 index 00000000..00ddb53f --- /dev/null +++ b/canal-admin/canal-admin-server/src/main/resources/public/static/js/chunk-7ec889b7.6ba68ef0.js @@ -0,0 +1 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-7ec889b7"],{"11ec":function(t,n,e){},"7f19":function(t,n,e){"use strict";var c=e("11ec"),r=e.n(c);r.a},"7f84":function(t,n,e){"use strict";e.r(n);var c=function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("div",[e("el-form",{ref:"form",attrs:{model:t.form}},[e("div",{staticStyle:{"padding-left":"10px","padding-right":"10px","padding-top":"20px"}},[e("el-form-item",[t._v("\n "+t._s(t.form.instance)+"    \n "),e("el-button",{attrs:{type:"primary"},on:{click:t.onRefresh}},[t._v("刷新")]),t._v(" "),e("el-button",{attrs:{type:"info"},on:{click:t.onBack}},[t._v("返回")])],1),t._v(" "),e("el-input",{attrs:{rows:35,readonly:"readonly",type:"textarea"},model:{value:t.form.desc,callback:function(n){t.$set(t.form,"desc",n)},expression:"form.desc"}})],1)])],1)},r=[],a=e("f546"),o={data:function(){return{form:{instance:"",desc:""}}},created:function(){this.fetchData()},methods:{fetchData:function(){var t=this;Object(a["e"])(this.$route.query.id,this.$route.query.nodeId).then(function(n){t.form.instance=n.data.instance+".log",t.form.desc=n.data.log})},onRefresh:function(){this.fetchData()},onBack:function(){history.go(-1)}}},u=o,i=(e("7f19"),e("2877")),f=Object(i["a"])(u,c,r,!1,null,"0b80198c",null);n["default"]=f.exports},f546:function(t,n,e){"use strict";e.d(n,"d",function(){return r}),e.d(n,"b",function(){return a}),e.d(n,"h",function(){return o}),e.d(n,"a",function(){return u}),e.d(n,"c",function(){return i}),e.d(n,"f",function(){return f}),e.d(n,"g",function(){return s}),e.d(n,"e",function(){return d});var c=e("b775");function r(t){return Object(c["a"])({url:"/canal/instances",method:"get",params:t})}function a(t){return Object(c["a"])({url:"/canal/instance/"+t,method:"get"})}function o(t){return Object(c["a"])({url:"/canal/instance",method:"put",data:t})}function u(t){return Object(c["a"])({url:"/canal/instance",method:"post",data:t})}function i(t){return Object(c["a"])({url:"/canal/instance/"+t,method:"delete"})}function f(t,n){return Object(c["a"])({url:"/canal/instance/start/"+t+"/"+n,method:"put"})}function s(t,n){return Object(c["a"])({url:"/canal/instance/stop/"+t+"/"+n,method:"put"})}function d(t,n){return Object(c["a"])({url:"/canal/instance/log/"+t+"/"+n,method:"get"})}}}]); \ No newline at end of file diff --git a/canal-admin/canal-admin-server/src/main/resources/public/static/js/chunk-e1a839e4.c870a02b.js b/canal-admin/canal-admin-server/src/main/resources/public/static/js/chunk-e1a839e4.c870a02b.js new file mode 100644 index 00000000..f20f486d --- /dev/null +++ b/canal-admin/canal-admin-server/src/main/resources/public/static/js/chunk-e1a839e4.c870a02b.js @@ -0,0 +1 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-e1a839e4"],{"9f66":function(t,e,n){"use strict";n.r(e);var a=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"app-container"},[n("div",{staticClass:"filter-container"},[n("el-button",{staticClass:"filter-item",attrs:{type:"primary"},on:{click:function(e){return t.handleCreate()}}},[t._v("新建节点")]),t._v(" "),n("el-button",{staticClass:"filter-item",attrs:{type:"info"},on:{click:function(e){return t.fetchData()}}},[t._v("刷新节点")])],1),t._v(" "),n("el-table",{directives:[{name:"loading",rawName:"v-loading",value:t.listLoading,expression:"listLoading"}],attrs:{data:t.list,"element-loading-text":"Loading",border:"",fit:"","highlight-current-row":""}},[n("el-table-column",{attrs:{label:"节点名称","min-width":"200",align:"center"},scopedSlots:t._u([{key:"default",fn:function(e){return[t._v("\n "+t._s(e.row.name)+"\n ")]}}])}),t._v(" "),n("el-table-column",{attrs:{label:"IP","min-width":"200",align:"center"},scopedSlots:t._u([{key:"default",fn:function(e){return[n("span",[t._v(t._s(e.row.ip))])]}}])}),t._v(" "),n("el-table-column",{attrs:{label:"端口","min-width":"100",align:"center"},scopedSlots:t._u([{key:"default",fn:function(e){return[t._v("\n "+t._s(e.row.port)+"\n ")]}}])}),t._v(" "),n("el-table-column",{attrs:{label:"监控端口","min-width":"100",align:"center"},scopedSlots:t._u([{key:"default",fn:function(e){return[t._v("\n "+t._s(e.row.port2)+"\n ")]}}])}),t._v(" "),n("el-table-column",{attrs:{"class-name":"status-col",label:"状态","min-width":"150",align:"center"},scopedSlots:t._u([{key:"default",fn:function(e){return[n("el-tag",{attrs:{type:t._f("statusFilter")(e.row.status)}},[t._v(t._s(t._f("statusLabel")(e.row.status)))])]}}])}),t._v(" "),n("el-table-column",{attrs:{align:"center",prop:"created_at",label:"操作","min-width":"150"},scopedSlots:t._u([{key:"default",fn:function(e){return[n("el-dropdown",{attrs:{trigger:"click"}},[n("el-button",{attrs:{type:"primary",size:"mini"}},[t._v("\n 操作"),n("i",{staticClass:"el-icon-arrow-down el-icon--right"})]),t._v(" "),n("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[n("el-dropdown-item",{nativeOn:{click:function(n){return t.handleUpdate(e.row)}}},[t._v("修改节点")]),t._v(" "),n("el-dropdown-item",{nativeOn:{click:function(n){return t.handleDelete(e.row)}}},[t._v("删除节点")]),t._v(" "),n("el-dropdown-item",{nativeOn:{click:function(n){return t.handleStart(e.row)}}},[t._v("启动服务")]),t._v(" "),n("el-dropdown-item",{nativeOn:{click:function(n){return t.handleStop(e.row)}}},[t._v("停止服务")]),t._v(" "),n("el-dropdown-item",{nativeOn:{click:function(n){return t.handleLog(e.row)}}},[t._v("日志详情")])],1)],1)]}}])})],1),t._v(" "),n("el-dialog",{attrs:{visible:t.dialogFormVisible,title:t.textMap[t.dialogStatus],width:"600px"},on:{"update:visible":function(e){t.dialogFormVisible=e}}},[n("el-form",{ref:"dataForm",staticStyle:{width:"350px","margin-left":"80px"},attrs:{rules:t.rules,model:t.nodeModel,"label-position":"left","label-width":"80px"}},[n("el-form-item",{attrs:{label:"节点名称",prop:"name"}},[n("el-input",{model:{value:t.nodeModel.name,callback:function(e){t.$set(t.nodeModel,"name",e)},expression:"nodeModel.name"}})],1),t._v(" "),n("el-form-item",{attrs:{label:"节点IP",prop:"ip"}},[n("el-input",{model:{value:t.nodeModel.ip,callback:function(e){t.$set(t.nodeModel,"ip",e)},expression:"nodeModel.ip"}})],1),t._v(" "),n("el-form-item",{attrs:{label:"节点端口",prop:"port"}},[n("el-input",{attrs:{placeholder:"11113",type:"number"},model:{value:t.nodeModel.port,callback:function(e){t.$set(t.nodeModel,"port",e)},expression:"nodeModel.port"}})],1),t._v(" "),n("el-form-item",{attrs:{label:"监控端口",prop:"port2"}},[n("el-input",{attrs:{type:"number"},model:{value:t.nodeModel.port2,callback:function(e){t.$set(t.nodeModel,"port2",e)},expression:"nodeModel.port2"}})],1)],1),t._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{on:{click:function(e){t.dialogFormVisible=!1}}},[t._v("取消")]),t._v(" "),n("el-button",{attrs:{type:"primary"},on:{click:function(e){return t.dataOperation()}}},[t._v("确定")])],1)],1)],1)},o=[],r=n("c6ed"),i={filters:{statusFilter:function(t){var e={1:"success",0:"gray","-1":"danger"};return e[t]},statusLabel:function(t){var e={1:"启动",0:"停止","-1":"断开"};return e[t]}},data:function(){return{list:null,listLoading:!0,listQuery:{name:"",ip:""},dialogFormVisible:!1,textMap:{create:"新建节点信息",update:"修改节点信息"},nodeModel:{id:void 0,name:null,ip:null,port:11113,port2:null},rules:{name:[{required:!0,message:"节点名称不能为空",trigger:"change"}],ip:[{required:!0,message:"节点IP不能为空",trigger:"change"}],port:[{required:!0,message:"节点端口不能为空",trigger:"change"}]},dialogStatus:"create"}},created:function(){this.fetchData()},methods:{fetchData:function(){var t=this;this.listLoading=!0,Object(r["c"])(this.listQuery).then(function(e){t.list=e.data,t.listLoading=!1})},resetModel:function(){this.nodeModel={id:void 0,name:null,ip:null,port:null,port2:null}},handleCreate:function(){var t=this;this.resetModel(),this.dialogStatus="create",this.dialogFormVisible=!0,this.$nextTick(function(){t.$refs["dataForm"].clearValidate()})},dataOperation:function(){var t=this;this.$refs["dataForm"].validate(function(e){e&&("create"===t.dialogStatus&&Object(r["a"])(t.nodeModel).then(function(e){t.operationRes(e)}),"update"===t.dialogStatus&&Object(r["g"])(t.nodeModel).then(function(e){t.operationRes(e)}))})},operationRes:function(t){"success"===t.data?(this.fetchData(),this.dialogFormVisible=!1,this.$message({message:this.textMap[this.dialogStatus]+"成功",type:"success"})):this.$message({message:this.textMap[this.dialogStatus]+"失败",type:"error"})},handleUpdate:function(t){var e=this;this.resetModel(),this.nodeModel=Object.assign({},t),this.dialogStatus="update",this.dialogFormVisible=!0,this.$nextTick(function(){e.$refs["dataForm"].clearValidate()})},handleDelete:function(t){var e=this;this.$confirm("删除节点信息并不会导致节点服务停止","确定删除节点信息",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){Object(r["b"])(t.id).then(function(t){"success"===t.data?(e.fetchData(),e.$message({message:"删除节点信息成功",type:"success"})):e.$message({message:"删除节点信息失败",type:"error"})})})},handleStart:function(t){var e=this;0===t.status?this.$confirm("启动节点 Canal Server 服务","确定启动节点服务",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){Object(r["e"])(t.id).then(function(t){t.data?(e.fetchData(),e.$message({message:"启动成功",type:"success"})):e.$message({message:"启动节点服务出现异常",type:"error"})})}):this.$message({message:"当前节点不是停止状态,无法启动",type:"error"})},handleStop:function(t){var e=this;1===t.status?this.$confirm("停止节点 Canal Server 服务","确定停止节点服务",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){Object(r["f"])(t.id).then(function(t){t.data?(e.fetchData(),e.$message({message:"停止成功",type:"success"})):e.$message({message:"停止节点服务出现异常",type:"error"})})}):this.$message({message:"当前节点不是启动状态,无法停止",type:"error"})},handleLog:function(t){this.$router.push("nodeServer/log?id="+t.id)}}},l=i,s=n("2877"),u=Object(s["a"])(l,a,o,!1,null,null,null);e["default"]=u.exports},c6ed:function(t,e,n){"use strict";n.d(e,"c",function(){return o}),n.d(e,"a",function(){return r}),n.d(e,"g",function(){return i}),n.d(e,"b",function(){return l}),n.d(e,"e",function(){return s}),n.d(e,"f",function(){return u}),n.d(e,"d",function(){return c});var a=n("b775");function o(t){return Object(a["a"])({url:"/nodeServers",method:"get",params:t})}function r(t){return Object(a["a"])({url:"/nodeServer",method:"post",data:t})}function i(t){return Object(a["a"])({url:"/nodeServer",method:"put",data:t})}function l(t){return Object(a["a"])({url:"/nodeServer/"+t,method:"delete"})}function s(t){return Object(a["a"])({url:"/nodeServer/start/"+t,method:"put"})}function u(t){return Object(a["a"])({url:"/nodeServer/stop/"+t,method:"put"})}function c(t){return Object(a["a"])({url:"/nodeServer/log/"+t,method:"get"})}}}]); \ No newline at end of file diff --git a/canal-admin/canal-admin-server/src/main/resources/public/static/js/chunk-e1a839e4.f532f91b.js b/canal-admin/canal-admin-server/src/main/resources/public/static/js/chunk-e1a839e4.f532f91b.js deleted file mode 100644 index 97808b35..00000000 --- a/canal-admin/canal-admin-server/src/main/resources/public/static/js/chunk-e1a839e4.f532f91b.js +++ /dev/null @@ -1 +0,0 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-e1a839e4"],{"9f66":function(e,t,n){"use strict";n.r(t);var o=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"app-container"},[n("div",{staticClass:"filter-container"},[n("el-button",{staticClass:"filter-item",attrs:{type:"primary"},on:{click:function(t){return e.handleCreate()}}},[e._v("新建节点")]),e._v(" "),n("el-button",{staticClass:"filter-item",attrs:{type:"info"},on:{click:function(t){return e.fetchData()}}},[e._v("刷新节点")])],1),e._v(" "),n("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.listLoading,expression:"listLoading"}],attrs:{data:e.list,"element-loading-text":"Loading",border:"",fit:"","highlight-current-row":""}},[n("el-table-column",{attrs:{label:"节点名称","min-width":"200",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v("\n "+e._s(t.row.name)+"\n ")]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"IP","min-width":"200",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){return[n("span",[e._v(e._s(t.row.ip))])]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"端口","min-width":"100",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v("\n "+e._s(t.row.port)+"\n ")]}}])}),e._v(" "),n("el-table-column",{attrs:{label:"监控端口","min-width":"100",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v("\n "+e._s(t.row.port2)+"\n ")]}}])}),e._v(" "),n("el-table-column",{attrs:{"class-name":"status-col",label:"状态","min-width":"150",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){return[n("el-tag",{attrs:{type:e._f("statusFilter")(t.row.status)}},[e._v(e._s(e._f("statusLabel")(t.row.status)))])]}}])}),e._v(" "),n("el-table-column",{attrs:{align:"center",prop:"created_at",label:"操作","min-width":"150"},scopedSlots:e._u([{key:"default",fn:function(t){return[n("el-dropdown",{attrs:{trigger:"click"}},[n("el-button",{attrs:{type:"primary",size:"mini"}},[e._v("\n 操作"),n("i",{staticClass:"el-icon-arrow-down el-icon--right"})]),e._v(" "),n("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[n("el-dropdown-item",{nativeOn:{click:function(n){return e.handleUpdate(t.row)}}},[e._v("修改节点")]),e._v(" "),n("el-dropdown-item",{nativeOn:{click:function(n){return e.handleDelete(t.row)}}},[e._v("删除节点")]),e._v(" "),n("el-dropdown-item",{nativeOn:{click:function(n){return e.handleStart(t.row)}}},[e._v("启动服务")]),e._v(" "),n("el-dropdown-item",{nativeOn:{click:function(n){return e.handleStop(t.row)}}},[e._v("停止服务")]),e._v(" "),n("el-dropdown-item",{nativeOn:{click:function(n){return e.handleLog(t.row)}}},[e._v("日志详情")])],1)],1)]}}])})],1),e._v(" "),n("el-dialog",{attrs:{visible:e.dialogFormVisible,title:"新建节点信息",width:"600px"},on:{"update:visible":function(t){e.dialogFormVisible=t}}},[n("el-form",{ref:"dataForm",staticStyle:{width:"350px","margin-left":"80px"},attrs:{rules:e.rules,model:e.nodeModel,"label-position":"left","label-width":"80px"}},[n("el-form-item",{attrs:{label:"节点名称",prop:"name"}},[n("el-input",{model:{value:e.nodeModel.name,callback:function(t){e.$set(e.nodeModel,"name",t)},expression:"nodeModel.name"}})],1),e._v(" "),n("el-form-item",{attrs:{label:"节点IP",prop:"ip"}},[n("el-input",{model:{value:e.nodeModel.ip,callback:function(t){e.$set(e.nodeModel,"ip",t)},expression:"nodeModel.ip"}})],1),e._v(" "),n("el-form-item",{attrs:{label:"节点端口",prop:"port"}},[n("el-input",{attrs:{placeholder:"11113",type:"number"},model:{value:e.nodeModel.port,callback:function(t){e.$set(e.nodeModel,"port",t)},expression:"nodeModel.port"}})],1),e._v(" "),n("el-form-item",{attrs:{label:"监控端口",prop:"port2"}},[n("el-input",{attrs:{type:"number"},model:{value:e.nodeModel.port2,callback:function(t){e.$set(e.nodeModel,"port2",t)},expression:"nodeModel.port2"}})],1)],1),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{on:{click:function(t){e.dialogFormVisible=!1}}},[e._v("取消")]),e._v(" "),n("el-button",{attrs:{type:"primary"},on:{click:function(t){return e.createData()}}},[e._v("确定")])],1)],1),e._v(" "),n("el-dialog",{attrs:{visible:e.dialogFormVisible,title:e.textMap[e.dialogStatus],width:"600px"},on:{"update:visible":function(t){e.dialogFormVisible=t}}},[n("el-form",{ref:"dataForm",staticStyle:{width:"350px","margin-left":"80px"},attrs:{rules:e.rules,model:e.nodeModel,"label-position":"left","label-width":"80px"}},[n("el-form-item",{attrs:{label:"节点名称",prop:"name"}},[n("el-input",{model:{value:e.nodeModel.name,callback:function(t){e.$set(e.nodeModel,"name",t)},expression:"nodeModel.name"}})],1),e._v(" "),n("el-form-item",{attrs:{label:"节点IP",prop:"ip"}},[n("el-input",{model:{value:e.nodeModel.ip,callback:function(t){e.$set(e.nodeModel,"ip",t)},expression:"nodeModel.ip"}})],1),e._v(" "),n("el-form-item",{attrs:{label:"节点端口",prop:"port"}},[n("el-input",{attrs:{placeholder:"11113",type:"number"},model:{value:e.nodeModel.port,callback:function(t){e.$set(e.nodeModel,"port",t)},expression:"nodeModel.port"}})],1),e._v(" "),n("el-form-item",{attrs:{label:"监控端口",prop:"port2"}},[n("el-input",{attrs:{type:"number"},model:{value:e.nodeModel.port2,callback:function(t){e.$set(e.nodeModel,"port2",t)},expression:"nodeModel.port2"}})],1)],1),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{on:{click:function(t){e.dialogFormVisible=!1}}},[e._v("取消")]),e._v(" "),n("el-button",{attrs:{type:"primary"},on:{click:function(t){return e.dataOperation()}}},[e._v("确定")])],1)],1)],1)},a=[],r=n("c6ed"),i={filters:{statusFilter:function(e){var t={1:"success",0:"gray","-1":"danger"};return t[e]},statusLabel:function(e){var t={1:"启动",0:"停止","-1":"断开"};return t[e]}},data:function(){return{list:null,listLoading:!0,listQuery:{name:"",ip:""},dialogFormVisible:!1,textMap:{create:"新建节点信息",update:"修改节点信息"},nodeModel:{id:void 0,name:null,ip:null,port:11113,port2:null},rules:{name:[{required:!0,message:"节点名称不能为空",trigger:"change"}],ip:[{required:!0,message:"节点IP不能为空",trigger:"change"}],port:[{required:!0,message:"节点端口不能为空",trigger:"change"}]}}},created:function(){this.fetchData()},methods:{fetchData:function(){var e=this;this.listLoading=!0,Object(r["c"])(this.listQuery).then(function(t){e.list=t.data,e.listLoading=!1})},resetModel:function(){this.nodeModel={id:void 0,name:null,ip:null,port:null,port2:null}},handleCreate:function(){var e=this;this.resetModel(),this.dialogStatus="create",this.dialogFormVisible=!0,this.$nextTick(function(){e.$refs["dataForm"].clearValidate()})},dataOperation:function(){var e=this;this.$refs["dataForm"].validate(function(t){t&&("create"===e.dialogStatus&&Object(r["a"])(e.nodeModel).then(function(t){e.operationRes(t)}),"update"===e.dialogStatus&&Object(r["g"])(e.nodeModel).then(function(t){e.operationRes(t)}))})},operationRes:function(e){"success"===e.data?(this.fetchData(),this.dialogFormVisible=!1,this.$message({message:this.textMap[this.dialogStatus]+"成功",type:"success"})):this.$message({message:this.textMap[this.dialogStatus]+"失败",type:"error"})},handleUpdate:function(e){var t=this;this.resetModel(),this.nodeModel=Object.assign({},e),this.dialogStatus="update",this.dialogFormVisible=!0,this.$nextTick(function(){t.$refs["dataForm"].clearValidate()})},handleDelete:function(e){var t=this;this.$confirm("删除节点信息并不会导致节点服务停止","确定删除节点信息",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){Object(r["b"])(e.id).then(function(e){"success"===e.data?(t.fetchData(),t.$message({message:"删除节点信息成功",type:"success"})):t.$message({message:"删除节点信息失败",type:"error"})})})},handleStart:function(e){var t=this;0===e.status?this.$confirm("启动节点 Canal Server 服务","确定启动节点服务",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){Object(r["e"])(e.id).then(function(e){e.data?(t.fetchData(),t.$message({message:"启动成功",type:"success"})):t.$message({message:"启动节点服务出现异常",type:"error"})})}):this.$message({message:"当前节点不是停止状态,无法启动",type:"error"})},handleStop:function(e){var t=this;1===e.status?this.$confirm("停止节点 Canal Server 服务","确定停止节点服务",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){Object(r["f"])(e.id).then(function(e){e.data?(t.fetchData(),t.$message({message:"停止成功",type:"success"})):t.$message({message:"停止节点服务出现异常",type:"error"})})}):this.$message({message:"当前节点不是启动状态,无法停止",type:"error"})},handleLog:function(e){this.$router.push("nodeServer/log?id="+e.id)}}},l=i,s=n("2877"),d=Object(s["a"])(l,o,a,!1,null,null,null);t["default"]=d.exports},c6ed:function(e,t,n){"use strict";n.d(t,"c",function(){return a}),n.d(t,"a",function(){return r}),n.d(t,"g",function(){return i}),n.d(t,"b",function(){return l}),n.d(t,"e",function(){return s}),n.d(t,"f",function(){return d}),n.d(t,"d",function(){return u});var o=n("b775");function a(e){return Object(o["a"])({url:"/nodeServers",method:"get",params:e})}function r(e){return Object(o["a"])({url:"/nodeServer",method:"post",data:e})}function i(e){return Object(o["a"])({url:"/nodeServer",method:"put",data:e})}function l(e){return Object(o["a"])({url:"/nodeServer/"+e,method:"delete"})}function s(e){return Object(o["a"])({url:"/nodeServer/start/"+e,method:"put"})}function d(e){return Object(o["a"])({url:"/nodeServer/stop/"+e,method:"put"})}function u(e){return Object(o["a"])({url:"/nodeServer/log/"+e,method:"get"})}}}]); \ No newline at end of file diff --git a/canal-admin/canal-admin-ui/pom.xml b/canal-admin/canal-admin-ui/pom.xml index 6e06c13b..5901780e 100644 --- a/canal-admin/canal-admin-ui/pom.xml +++ b/canal-admin/canal-admin-ui/pom.xml @@ -2,64 +2,74 @@ - - canal-admin - com.alibaba.otter - 1.1.4-SNAPSHOT - - 4.0.0 + + canal-admin + com.alibaba.otter + 1.1.4-SNAPSHOT + + 4.0.0 - canal-admin-ui + canal-admin-ui - - UTF-8 - UTF-8 - 1.8 - 1.6 - + + UTF-8 + UTF-8 + 1.8 + 1.6 + - + + + release + + + env + release + + + - - com.github.eirslett - frontend-maven-plugin - ${frontend-maven-plugin.version} - - - install node and npm - - install-node-and-npm - - - v9.11.1 - - - - - npm install - - npm - - - generate-resources - - - install - - - - - npm run build - - npm - - - run build - - - - + + com.github.eirslett + frontend-maven-plugin + ${frontend-maven-plugin.version} + + + install node and npm + + install-node-and-npm + + + v9.11.1 + + + + + npm install + + npm + + + generate-resources + + + install + + + + + npm run build + + npm + + + run build + + + + - - + + + diff --git a/canal-admin/canal-admin-ui/src/api/canalInstance.js b/canal-admin/canal-admin-ui/src/api/canalInstance.js index f90c1452..d38ddf6b 100644 --- a/canal-admin/canal-admin-ui/src/api/canalInstance.js +++ b/canal-admin/canal-admin-ui/src/api/canalInstance.js @@ -38,9 +38,9 @@ export function deleteCanalInstance(id) { }) } -export function startInstance(id) { +export function startInstance(id, nodeId) { return request({ - url: '/canal/instance/start/' + id, + url: '/canal/instance/start/' + id + '/' + nodeId, method: 'put' }) } diff --git a/canal-admin/canal-admin-ui/src/views/canalServer/CanalInstance.vue b/canal-admin/canal-admin-ui/src/views/canalServer/CanalInstance.vue index 7b5e5961..1ef894ab 100644 --- a/canal-admin/canal-admin-ui/src/views/canalServer/CanalInstance.vue +++ b/canal-admin/canal-admin-ui/src/views/canalServer/CanalInstance.vue @@ -47,11 +47,25 @@ + + + + + + + + + +