From 5c49b8d8dd7beda3a9bac78b8b4b5a93831ae3f6 Mon Sep 17 00:00:00 2001 From: tjq Date: Sun, 11 Aug 2024 20:01:18 +0800 Subject: [PATCH] chore: upgrade project version and fe resource --- pom.xml | 2 +- powerjob-client/pom.xml | 6 +- powerjob-common/pom.xml | 4 +- powerjob-official-processors/pom.xml | 6 +- powerjob-remote/pom.xml | 2 +- .../powerjob-remote-benchmark/pom.xml | 6 +- .../powerjob-remote-framework/pom.xml | 6 +- .../powerjob-remote-impl-akka/pom.xml | 6 +- .../powerjob-remote-impl-http/pom.xml | 6 +- powerjob-server/pom.xml | 10 +- powerjob-server/powerjob-server-auth/pom.xml | 2 +- .../powerjob-server-common/pom.xml | 2 +- powerjob-server/powerjob-server-core/pom.xml | 2 +- .../powerjob-server-extension/pom.xml | 2 +- .../powerjob-server-migrate/pom.xml | 2 +- .../powerjob-server-monitor/pom.xml | 2 +- .../powerjob-server-persistence/pom.xml | 2 +- .../powerjob-server-remote/pom.xml | 2 +- .../powerjob-server-starter/pom.xml | 2 +- .../src/main/resources/static/js/11.js | 6 +- .../src/main/resources/static/js/12.js | 2 +- .../src/main/resources/static/js/16.js | 2 +- .../src/main/resources/static/js/4.js | 347 +++++++++--------- .../src/main/resources/static/js/5.js | 336 +++++++++-------- .../src/main/resources/static/js/9.js | 4 +- .../src/main/resources/static/js/app.js | 6 +- powerjob-worker-agent/pom.xml | 8 +- powerjob-worker-samples/pom.xml | 8 +- powerjob-worker-spring-boot-starter/pom.xml | 6 +- powerjob-worker/pom.xml | 12 +- 30 files changed, 410 insertions(+), 399 deletions(-) diff --git a/pom.xml b/pom.xml index 2202fb0e..5780f8b5 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ tech.powerjob powerjob - 5.0.1-beta + 5.1.0 pom powerjob http://www.powerjob.tech diff --git a/powerjob-client/pom.xml b/powerjob-client/pom.xml index bde089e3..0219cfb5 100644 --- a/powerjob-client/pom.xml +++ b/powerjob-client/pom.xml @@ -5,19 +5,19 @@ powerjob tech.powerjob - 5.0.1-beta + 5.1.0 4.0.0 powerjob-client - 5.0.1-beta + 5.1.0 jar 5.9.1 1.2.13 1.2.83 - 5.0.1-beta + 5.1.0 3.2.4 diff --git a/powerjob-common/pom.xml b/powerjob-common/pom.xml index b8d0fa5e..61a0986c 100644 --- a/powerjob-common/pom.xml +++ b/powerjob-common/pom.xml @@ -5,12 +5,12 @@ powerjob tech.powerjob - 5.0.1-beta + 5.1.0 4.0.0 powerjob-common - 5.0.1-beta + 5.1.0 jar diff --git a/powerjob-official-processors/pom.xml b/powerjob-official-processors/pom.xml index 7cfe9c31..26f3c1ab 100644 --- a/powerjob-official-processors/pom.xml +++ b/powerjob-official-processors/pom.xml @@ -5,12 +5,12 @@ powerjob tech.powerjob - 5.0.1-beta + 5.1.0 4.0.0 powerjob-official-processors - 5.0.1-beta + 5.1.0 jar @@ -20,7 +20,7 @@ 5.9.1 1.2.13 - 5.0.1-beta + 5.1.0 2.2.224 8.0.28 5.3.31 diff --git a/powerjob-remote/pom.xml b/powerjob-remote/pom.xml index 70d2e555..678e519b 100644 --- a/powerjob-remote/pom.xml +++ b/powerjob-remote/pom.xml @@ -5,7 +5,7 @@ powerjob tech.powerjob - 5.0.1-beta + 5.1.0 4.0.0 pom diff --git a/powerjob-remote/powerjob-remote-benchmark/pom.xml b/powerjob-remote/powerjob-remote-benchmark/pom.xml index 7e937738..80eefbb9 100644 --- a/powerjob-remote/powerjob-remote-benchmark/pom.xml +++ b/powerjob-remote/powerjob-remote-benchmark/pom.xml @@ -5,7 +5,7 @@ powerjob-remote tech.powerjob - 5.0.1-beta + 5.1.0 4.0.0 @@ -21,8 +21,8 @@ 1.2.13 2.7.18 - 5.0.1-beta - 5.0.1-beta + 5.1.0 + 5.1.0 3.9.0 4.2.9 diff --git a/powerjob-remote/powerjob-remote-framework/pom.xml b/powerjob-remote/powerjob-remote-framework/pom.xml index 32b5a2d5..b642af7c 100644 --- a/powerjob-remote/powerjob-remote-framework/pom.xml +++ b/powerjob-remote/powerjob-remote-framework/pom.xml @@ -5,11 +5,11 @@ powerjob-remote tech.powerjob - 5.0.1-beta + 5.1.0 4.0.0 - 5.0.1-beta + 5.1.0 powerjob-remote-framework @@ -17,7 +17,7 @@ 8 UTF-8 - 5.0.1-beta + 5.1.0 0.10.2 diff --git a/powerjob-remote/powerjob-remote-impl-akka/pom.xml b/powerjob-remote/powerjob-remote-impl-akka/pom.xml index f47d5489..1647f971 100644 --- a/powerjob-remote/powerjob-remote-impl-akka/pom.xml +++ b/powerjob-remote/powerjob-remote-impl-akka/pom.xml @@ -5,19 +5,19 @@ powerjob-remote tech.powerjob - 5.0.1-beta + 5.1.0 4.0.0 powerjob-remote-impl-akka - 5.0.1-beta + 5.1.0 8 8 UTF-8 - 5.0.1-beta + 5.1.0 2.6.13 diff --git a/powerjob-remote/powerjob-remote-impl-http/pom.xml b/powerjob-remote/powerjob-remote-impl-http/pom.xml index fa0d43fd..1c6d418f 100644 --- a/powerjob-remote/powerjob-remote-impl-http/pom.xml +++ b/powerjob-remote/powerjob-remote-impl-http/pom.xml @@ -5,12 +5,12 @@ powerjob-remote tech.powerjob - 5.0.1-beta + 5.1.0 4.0.0 powerjob-remote-impl-http - 5.0.1-beta + 5.1.0 8 @@ -18,7 +18,7 @@ UTF-8 4.3.7 - 5.0.1-beta + 5.1.0 diff --git a/powerjob-server/pom.xml b/powerjob-server/pom.xml index f273a728..f4533d83 100644 --- a/powerjob-server/pom.xml +++ b/powerjob-server/pom.xml @@ -5,12 +5,12 @@ powerjob tech.powerjob - 5.0.1-beta + 5.1.0 4.0.0 powerjob-server - 5.0.1-beta + 5.1.0 pom @@ -51,9 +51,9 @@ 3.0.10 9.2.1 - 5.0.1-beta - 5.0.1-beta - 5.0.1-beta + 5.1.0 + 5.1.0 + 5.1.0 1.6.14 3.17.1 1.12.665 diff --git a/powerjob-server/powerjob-server-auth/pom.xml b/powerjob-server/powerjob-server-auth/pom.xml index 006529f2..7242fdf7 100644 --- a/powerjob-server/powerjob-server-auth/pom.xml +++ b/powerjob-server/powerjob-server-auth/pom.xml @@ -6,7 +6,7 @@ tech.powerjob powerjob-server - 5.0.1-beta + 5.1.0 4.0.0 diff --git a/powerjob-server/powerjob-server-common/pom.xml b/powerjob-server/powerjob-server-common/pom.xml index cdd037fd..3b61ba0e 100644 --- a/powerjob-server/powerjob-server-common/pom.xml +++ b/powerjob-server/powerjob-server-common/pom.xml @@ -5,7 +5,7 @@ powerjob-server tech.powerjob - 5.0.1-beta + 5.1.0 ../pom.xml 4.0.0 diff --git a/powerjob-server/powerjob-server-core/pom.xml b/powerjob-server/powerjob-server-core/pom.xml index 8afa4f8d..11b81f55 100644 --- a/powerjob-server/powerjob-server-core/pom.xml +++ b/powerjob-server/powerjob-server-core/pom.xml @@ -5,7 +5,7 @@ powerjob-server tech.powerjob - 5.0.1-beta + 5.1.0 ../pom.xml 4.0.0 diff --git a/powerjob-server/powerjob-server-extension/pom.xml b/powerjob-server/powerjob-server-extension/pom.xml index b6c64605..6b3686ae 100644 --- a/powerjob-server/powerjob-server-extension/pom.xml +++ b/powerjob-server/powerjob-server-extension/pom.xml @@ -5,7 +5,7 @@ powerjob-server tech.powerjob - 5.0.1-beta + 5.1.0 ../pom.xml 4.0.0 diff --git a/powerjob-server/powerjob-server-migrate/pom.xml b/powerjob-server/powerjob-server-migrate/pom.xml index 65fd2913..724d851f 100644 --- a/powerjob-server/powerjob-server-migrate/pom.xml +++ b/powerjob-server/powerjob-server-migrate/pom.xml @@ -5,7 +5,7 @@ powerjob-server tech.powerjob - 5.0.1-beta + 5.1.0 ../pom.xml 4.0.0 diff --git a/powerjob-server/powerjob-server-monitor/pom.xml b/powerjob-server/powerjob-server-monitor/pom.xml index bb661cb9..198abcd8 100644 --- a/powerjob-server/powerjob-server-monitor/pom.xml +++ b/powerjob-server/powerjob-server-monitor/pom.xml @@ -5,7 +5,7 @@ powerjob-server tech.powerjob - 5.0.1-beta + 5.1.0 ../pom.xml 4.0.0 diff --git a/powerjob-server/powerjob-server-persistence/pom.xml b/powerjob-server/powerjob-server-persistence/pom.xml index fcb06f5f..d3f78c11 100644 --- a/powerjob-server/powerjob-server-persistence/pom.xml +++ b/powerjob-server/powerjob-server-persistence/pom.xml @@ -5,7 +5,7 @@ powerjob-server tech.powerjob - 5.0.1-beta + 5.1.0 ../pom.xml 4.0.0 diff --git a/powerjob-server/powerjob-server-remote/pom.xml b/powerjob-server/powerjob-server-remote/pom.xml index 5fd3180c..74c10daf 100644 --- a/powerjob-server/powerjob-server-remote/pom.xml +++ b/powerjob-server/powerjob-server-remote/pom.xml @@ -5,7 +5,7 @@ powerjob-server tech.powerjob - 5.0.1-beta + 5.1.0 ../pom.xml 4.0.0 diff --git a/powerjob-server/powerjob-server-starter/pom.xml b/powerjob-server/powerjob-server-starter/pom.xml index 4e1ed063..8a9dd15a 100644 --- a/powerjob-server/powerjob-server-starter/pom.xml +++ b/powerjob-server/powerjob-server-starter/pom.xml @@ -5,7 +5,7 @@ powerjob-server tech.powerjob - 5.0.1-beta + 5.1.0 ../pom.xml 4.0.0 diff --git a/powerjob-server/powerjob-server-starter/src/main/resources/static/js/11.js b/powerjob-server/powerjob-server-starter/src/main/resources/static/js/11.js index 38df3e30..185bba88 100644 --- a/powerjob-server/powerjob-server-starter/src/main/resources/static/js/11.js +++ b/powerjob-server/powerjob-server-starter/src/main/resources/static/js/11.js @@ -8,7 +8,7 @@ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var element_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! element-ui */ \"./node_modules/element-ui/lib/element-ui.common.js\");\n/* harmony import */ var element_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(element_ui__WEBPACK_IMPORTED_MODULE_1__);\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'PowerJobThirdPartyLogin',\n data() {\n return {\n login_info: {\n username: '',\n password: ''\n },\n // 用户注册表单是否可见\n userRegisterFormVisible: false,\n // 用户注册表单对象\n userRegisterForm: {\n username: '',\n nick: '',\n phone: '',\n email: '',\n webHook: '',\n password: '',\n password2: ''\n }\n };\n },\n methods: {\n doLogin() {\n this.innerDoLogin(this.login_info.username, this.login_info.password, true);\n },\n innerDoLogin(name, pwd, real_login) {\n let s_info = {\n username: name,\n password: pwd,\n // 出于前端成本考虑暂不实现,有需求可在此扩展\n encryption: 'none'\n };\n let login_request = {\n loginType: 'PWJB',\n originParams: JSON.stringify(s_info)\n };\n this.axios.post('/auth/thirdPartyLoginDirect', login_request).then(ret => {\n if (real_login) {\n const jwtToken = ret.jwtToken;\n window.localStorage.setItem('Power_jwt', jwtToken);\n this.$router.push(\"/admin/app\");\n }\n });\n },\n // 注册用户\n registerUser() {\n if (this.userRegisterForm.password !== this.userRegisterForm.password2) {\n alert('两次输入密码不一致!');\n return;\n }\n const that = this;\n this.axios.post(\"/pwjbUser/create\", this.userRegisterForm).then(() => {\n that.userRegisterFormVisible = false;\n that.innerDoLogin(that.userRegisterForm.username, that.userRegisterForm.password, false);\n\n // 直接登录一次,创建 PowerJob 的 USER 对象\n that.$message.success(this.$t('message.success'));\n }, err => {\n element_ui__WEBPACK_IMPORTED_MODULE_1__[\"Message\"].error(err);\n that.userRegisterFormVisible = false;\n });\n }\n },\n mounted() {}\n});\n\n//# sourceURL=webpack:///./src/components/login/PowerJobThirdPartyLogin.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var element_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! element-ui */ \"./node_modules/element-ui/lib/element-ui.common.js\");\n/* harmony import */ var element_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(element_ui__WEBPACK_IMPORTED_MODULE_1__);\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'PowerJobThirdPartyLogin',\n data() {\n return {\n login_info: {\n username: '',\n password: ''\n },\n // 用户注册表单是否可见\n userRegisterFormVisible: false,\n // 用户注册表单对象\n userRegisterForm: {\n username: '',\n nick: '',\n phone: '',\n email: '',\n webHook: '',\n password: '',\n password2: ''\n }\n };\n },\n methods: {\n doLogin() {\n this.innerDoLogin(this.login_info.username, this.login_info.password, true);\n },\n innerDoLogin(name, pwd, real_login) {\n let s_info = {\n username: name,\n password: pwd,\n // 出于前端成本考虑暂不实现,有需求可在此扩展\n encryption: 'none'\n };\n let login_request = {\n loginType: 'PWJB',\n originParams: JSON.stringify(s_info)\n };\n this.axios.post('/auth/thirdPartyLoginDirect', login_request).then(ret => {\n if (real_login) {\n const jwtToken = ret.jwtToken;\n window.localStorage.setItem('PowerJwt', jwtToken);\n this.$router.push(\"/admin/app\");\n }\n });\n },\n // 注册用户\n registerUser() {\n if (this.userRegisterForm.password !== this.userRegisterForm.password2) {\n alert('两次输入密码不一致!');\n return;\n }\n const that = this;\n this.axios.post(\"/pwjbUser/create\", this.userRegisterForm).then(() => {\n that.userRegisterFormVisible = false;\n that.innerDoLogin(that.userRegisterForm.username, that.userRegisterForm.password, false);\n\n // 直接登录一次,创建 PowerJob 的 USER 对象\n that.$message.success(this.$t('message.success'));\n }, err => {\n element_ui__WEBPACK_IMPORTED_MODULE_1__[\"Message\"].error(err);\n that.userRegisterFormVisible = false;\n });\n }\n },\n mounted() {}\n});\n\n//# sourceURL=webpack:///./src/components/login/PowerJobThirdPartyLogin.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), @@ -20,7 +20,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n return _c(\"div\", {\n attrs: {\n id: \"container\"\n }\n }, [_c(\"div\", {\n staticClass: \"login-container\"\n }, [_c(\"h2\", [_vm._v(\"Login to PowerJob\")]), _c(\"el-form\", {\n ref: \"login_info\",\n attrs: {\n model: _vm.login_info\n }\n }, [_c(\"el-form-item\", {\n attrs: {\n label: \"username\"\n }\n }, [_c(\"el-input\", {\n model: {\n value: _vm.login_info.username,\n callback: function ($$v) {\n _vm.$set(_vm.login_info, \"username\", $$v);\n },\n expression: \"login_info.username\"\n }\n })], 1), _c(\"el-form-item\", {\n attrs: {\n label: \"password\"\n }\n }, [_c(\"el-input\", {\n model: {\n value: _vm.login_info.password,\n callback: function ($$v) {\n _vm.$set(_vm.login_info, \"password\", $$v);\n },\n expression: \"login_info.password\"\n }\n })], 1), _c(\"el-form-item\", [_c(\"el-button\", {\n attrs: {\n size: \"medium\",\n type: \"success\",\n plain: \"\"\n },\n on: {\n click: function ($event) {\n _vm.userRegisterFormVisible = true;\n }\n }\n }, [_vm._v(_vm._s(_vm.$t(\"message.userRegister\")))]), _c(\"el-button\", {\n attrs: {\n size: \"medium\",\n type: \"primary\"\n },\n on: {\n click: _vm.doLogin\n }\n }, [_vm._v(_vm._s(_vm.$t(\"message.login\")))])], 1)], 1), _c(\"el-dialog\", {\n attrs: {\n title: _vm.$t(\"message.userRegister\"),\n visible: _vm.userRegisterFormVisible,\n width: \"35%\"\n },\n on: {\n \"update:visible\": function ($event) {\n _vm.userRegisterFormVisible = $event;\n }\n }\n }, [_c(\"el-form\", {\n staticStyle: {\n margin: \"0 5px\"\n },\n attrs: {\n model: _vm.userRegisterForm\n }\n }, [_c(\"el-form-item\", {\n attrs: {\n label: \"username\"\n }\n }, [_c(\"el-input\", {\n attrs: {\n placeholder: \"全局唯一标识,建议使用英文\"\n },\n model: {\n value: _vm.userRegisterForm.username,\n callback: function ($$v) {\n _vm.$set(_vm.userRegisterForm, \"username\", $$v);\n },\n expression: \"userRegisterForm.username\"\n }\n })], 1), _c(\"el-form-item\", {\n attrs: {\n label: _vm.$t(\"message.nick\")\n }\n }, [_c(\"el-input\", {\n model: {\n value: _vm.userRegisterForm.nick,\n callback: function ($$v) {\n _vm.$set(_vm.userRegisterForm, \"nick\", $$v);\n },\n expression: \"userRegisterForm.nick\"\n }\n })], 1), _c(\"el-form-item\", {\n attrs: {\n label: _vm.$t(\"message.phone\")\n }\n }, [_c(\"el-input\", {\n model: {\n value: _vm.userRegisterForm.phone,\n callback: function ($$v) {\n _vm.$set(_vm.userRegisterForm, \"phone\", $$v);\n },\n expression: \"userRegisterForm.phone\"\n }\n })], 1), _c(\"el-form-item\", {\n attrs: {\n label: _vm.$t(\"message.email\")\n }\n }, [_c(\"el-input\", {\n model: {\n value: _vm.userRegisterForm.email,\n callback: function ($$v) {\n _vm.$set(_vm.userRegisterForm, \"email\", $$v);\n },\n expression: \"userRegisterForm.email\"\n }\n })], 1), _c(\"el-form-item\", {\n attrs: {\n label: _vm.$t(\"message.webhook\")\n }\n }, [_c(\"el-input\", {\n model: {\n value: _vm.userRegisterForm.webHook,\n callback: function ($$v) {\n _vm.$set(_vm.userRegisterForm, \"webHook\", $$v);\n },\n expression: \"userRegisterForm.webHook\"\n }\n })], 1), _c(\"el-form-item\", {\n attrs: {\n label: _vm.$t(\"message.newPassword\")\n }\n }, [_c(\"el-input\", {\n attrs: {\n type: \"password\"\n },\n model: {\n value: _vm.userRegisterForm.password,\n callback: function ($$v) {\n _vm.$set(_vm.userRegisterForm, \"password\", $$v);\n },\n expression: \"userRegisterForm.password\"\n }\n })], 1), _c(\"el-form-item\", {\n attrs: {\n label: _vm.$t(\"message.newPassword2\")\n }\n }, [_c(\"el-input\", {\n attrs: {\n type: \"password\"\n },\n model: {\n value: _vm.userRegisterForm.password2,\n callback: function ($$v) {\n _vm.$set(_vm.userRegisterForm, \"password2\", $$v);\n },\n expression: \"userRegisterForm.password2\"\n }\n })], 1), _c(\"el-form-item\", [_c(\"el-button\", {\n attrs: {\n type: \"primary\"\n },\n on: {\n click: _vm.registerUser\n }\n }, [_vm._v(_vm._s(_vm.$t(\"message.register\")))]), _c(\"el-button\", {\n on: {\n click: function ($event) {\n _vm.userRegisterFormVisible = false;\n }\n }\n }, [_vm._v(_vm._s(_vm.$t(\"message.cancel\")))])], 1)], 1)], 1)], 1)]);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack:///./src/components/login/PowerJobThirdPartyLogin.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%2277823dab-vue-loader-template%22%7D!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n return _c(\"div\", {\n attrs: {\n id: \"container\"\n }\n }, [_c(\"div\", {\n staticClass: \"login-container\"\n }, [_c(\"h2\", [_vm._v(\"Login to PowerJob\")]), _c(\"el-form\", {\n ref: \"login_info\",\n attrs: {\n model: _vm.login_info,\n \"label-width\": \"0\"\n }\n }, [_c(\"el-form-item\", [_c(\"el-input\", {\n attrs: {\n placeholder: \"Username\"\n },\n model: {\n value: _vm.login_info.username,\n callback: function ($$v) {\n _vm.$set(_vm.login_info, \"username\", $$v);\n },\n expression: \"login_info.username\"\n }\n })], 1), _c(\"el-form-item\", [_c(\"el-input\", {\n attrs: {\n placeholder: \"Password\",\n \"show-password\": \"\"\n },\n model: {\n value: _vm.login_info.password,\n callback: function ($$v) {\n _vm.$set(_vm.login_info, \"password\", $$v);\n },\n expression: \"login_info.password\"\n }\n })], 1), _c(\"el-form-item\", {\n staticClass: \"actions\"\n }, [_c(\"el-button\", {\n attrs: {\n size: \"medium\",\n type: \"success\",\n plain: \"\"\n },\n on: {\n click: function ($event) {\n _vm.userRegisterFormVisible = true;\n }\n }\n }, [_vm._v(_vm._s(_vm.$t(\"message.userRegister\")))]), _c(\"el-button\", {\n attrs: {\n size: \"medium\",\n type: \"primary\"\n },\n on: {\n click: _vm.doLogin\n }\n }, [_vm._v(_vm._s(_vm.$t(\"message.login\")))])], 1)], 1), _c(\"el-dialog\", {\n attrs: {\n title: _vm.$t(\"message.userRegister\"),\n visible: _vm.userRegisterFormVisible,\n width: \"400px\"\n },\n on: {\n \"update:visible\": function ($event) {\n _vm.userRegisterFormVisible = $event;\n }\n }\n }, [_c(\"el-form\", {\n attrs: {\n model: _vm.userRegisterForm,\n \"label-width\": \"120px\"\n }\n }, [_c(\"el-form-item\", {\n attrs: {\n label: \"Username\"\n }\n }, [_c(\"el-input\", {\n attrs: {\n placeholder: \"Unique identifier, use English\"\n },\n model: {\n value: _vm.userRegisterForm.username,\n callback: function ($$v) {\n _vm.$set(_vm.userRegisterForm, \"username\", $$v);\n },\n expression: \"userRegisterForm.username\"\n }\n })], 1), _c(\"el-form-item\", {\n attrs: {\n label: _vm.$t(\"message.nick\")\n }\n }, [_c(\"el-input\", {\n model: {\n value: _vm.userRegisterForm.nick,\n callback: function ($$v) {\n _vm.$set(_vm.userRegisterForm, \"nick\", $$v);\n },\n expression: \"userRegisterForm.nick\"\n }\n })], 1), _c(\"el-form-item\", {\n attrs: {\n label: _vm.$t(\"message.phone\")\n }\n }, [_c(\"el-input\", {\n model: {\n value: _vm.userRegisterForm.phone,\n callback: function ($$v) {\n _vm.$set(_vm.userRegisterForm, \"phone\", $$v);\n },\n expression: \"userRegisterForm.phone\"\n }\n })], 1), _c(\"el-form-item\", {\n attrs: {\n label: _vm.$t(\"message.email\")\n }\n }, [_c(\"el-input\", {\n model: {\n value: _vm.userRegisterForm.email,\n callback: function ($$v) {\n _vm.$set(_vm.userRegisterForm, \"email\", $$v);\n },\n expression: \"userRegisterForm.email\"\n }\n })], 1), _c(\"el-form-item\", {\n attrs: {\n label: _vm.$t(\"message.webhook\")\n }\n }, [_c(\"el-input\", {\n model: {\n value: _vm.userRegisterForm.webHook,\n callback: function ($$v) {\n _vm.$set(_vm.userRegisterForm, \"webHook\", $$v);\n },\n expression: \"userRegisterForm.webHook\"\n }\n })], 1), _c(\"el-form-item\", {\n attrs: {\n label: _vm.$t(\"message.newPassword\")\n }\n }, [_c(\"el-input\", {\n attrs: {\n type: \"password\",\n \"show-password\": \"\"\n },\n model: {\n value: _vm.userRegisterForm.password,\n callback: function ($$v) {\n _vm.$set(_vm.userRegisterForm, \"password\", $$v);\n },\n expression: \"userRegisterForm.password\"\n }\n })], 1), _c(\"el-form-item\", {\n attrs: {\n label: _vm.$t(\"message.newPassword2\")\n }\n }, [_c(\"el-input\", {\n attrs: {\n type: \"password\",\n \"show-password\": \"\"\n },\n model: {\n value: _vm.userRegisterForm.password2,\n callback: function ($$v) {\n _vm.$set(_vm.userRegisterForm, \"password2\", $$v);\n },\n expression: \"userRegisterForm.password2\"\n }\n })], 1), _c(\"el-form-item\", {\n staticClass: \"actions\"\n }, [_c(\"el-button\", {\n attrs: {\n type: \"primary\"\n },\n on: {\n click: _vm.registerUser\n }\n }, [_vm._v(_vm._s(_vm.$t(\"message.register\")))]), _c(\"el-button\", {\n on: {\n click: function ($event) {\n _vm.userRegisterFormVisible = false;\n }\n }\n }, [_vm._v(_vm._s(_vm.$t(\"message.cancel\")))])], 1)], 1)], 1)], 1)]);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack:///./src/components/login/PowerJobThirdPartyLogin.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%2277823dab-vue-loader-template%22%7D!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), @@ -31,7 +31,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.login-container[data-v-d7af22a8] {\\n max-width: 400px;\\n margin: 50px auto;\\n padding: 20px;\\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);\\n}\\nh2[data-v-d7af22a8] {\\n text-align: center;\\n margin-bottom: 20px;\\n}\\n#container[data-v-d7af22a8] {\\n}\\n\\n\\n\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/login/PowerJobThirdPartyLogin.vue?./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--6-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options"); +eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n#container[data-v-d7af22a8] {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n height: 100vh;\\n background-color: #f5f5f5;\\n}\\n.login-container[data-v-d7af22a8] {\\n width: 360px;\\n padding: 30px 25px;\\n background-color: #ffffff;\\n border-radius: 10px;\\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);\\n text-align: center;\\n}\\nh2[data-v-d7af22a8] {\\n margin-bottom: 25px;\\n font-weight: 500;\\n color: #333;\\n}\\n.el-form-item[data-v-d7af22a8] {\\n margin-bottom: 15px;\\n}\\n.el-input[data-v-d7af22a8] {\\n width: 100%;\\n border-radius: 5px;\\n}\\n.actions[data-v-d7af22a8] {\\n display: flex;\\n justify-content: space-between;\\n}\\n.el-dialog[data-v-d7af22a8] {\\n.el-input[data-v-d7af22a8] {\\n width: 100%;\\n border-radius: 5px;\\n}\\n.actions[data-v-d7af22a8] {\\n display: flex;\\n justify-content: space-between;\\n}\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/login/PowerJobThirdPartyLogin.vue?./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--6-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), diff --git a/powerjob-server/powerjob-server-starter/src/main/resources/static/js/12.js b/powerjob-server/powerjob-server-starter/src/main/resources/static/js/12.js index 541005a1..dbd1fbdb 100644 --- a/powerjob-server/powerjob-server-starter/src/main/resources/static/js/12.js +++ b/powerjob-server/powerjob-server-starter/src/main/resources/static/js/12.js @@ -8,7 +8,7 @@ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _main__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../main */ \"./src/main.js\");\n/* harmony import */ var element_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! element-ui */ \"./node_modules/element-ui/lib/element-ui.common.js\");\n/* harmony import */ var element_ui__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(element_ui__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\nlet ws;\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: \"ContainerManager\",\n data() {\n return {\n form: {\n sourceType: 'Git',\n containerName: ''\n },\n gitForm: {\n repo: '',\n branch: '',\n username: '',\n password: ''\n },\n sourceInfo: '',\n id: '',\n appId: window.localStorage.getItem(\"Power_appId\"),\n dialogVisible: false,\n arrangeTitle: '',\n arrangeVisible: false,\n containerList: [],\n logs: [],\n requestUrl: \"\",\n fileList: [],\n headersObj: {\n Power_jwt: undefined,\n AppId: undefined\n }\n };\n },\n methods: {\n onSubmit() {\n const that = this;\n // 接口参数\n let data = {\n appId: this.appId,\n containerName: this.form.containerName,\n status: \"ENABLE\",\n id: this.id,\n sourceType: this.form.sourceType\n };\n if (this.form.sourceType == 'Git') {\n data.sourceInfo = JSON.stringify(this.gitForm);\n } else {\n data.sourceInfo = this.sourceInfo;\n data.sourceType = 'FatJar';\n }\n this.axios.post(\"container/save\", data).then(res => {\n console.log('container save result:' + JSON.stringify(res));\n element_ui__WEBPACK_IMPORTED_MODULE_2__[\"Message\"].success(\"SUCCESS\");\n // 恢复默认表单\n that.dialogVisible = false;\n that.form.containerName = '';\n that.gitForm = {};\n that.sourceInfo = '';\n that.id = '';\n that.listContainers();\n });\n },\n // 文件上传成功后 修改来源信息\n onSuccess(response) {\n this.sourceInfo = response.data;\n },\n deleteItem(item, index) {\n let appId = window.localStorage.getItem(\"Power_appId\");\n this.axios.get(\"/container/delete?containerId=\" + item.id + '&appId=' + appId).then(res => {\n console.log(res);\n this.containerList.splice(index, 1);\n this.$message.info(this.$t('message.success'));\n });\n },\n editItem(item) {\n if (item.sourceType == 'Git') {\n this.form.sourceType = 'Git';\n this.gitForm = JSON.parse(item.sourceInfo);\n } else {\n this.form.sourceType = 'FatJar';\n }\n this.form.containerName = item.containerName;\n this.id = item.id;\n this.dialogVisible = true;\n },\n arrangeItem(item) {\n let wsBase = this.requestUrl.replace(\"http\", \"ws\") + \"/container/deploy/\";\n let wsUrl = wsBase + item.id;\n ws = new WebSocket(wsUrl);\n ws.onopen = () => {\n this.arrangeTitle = this.$t('message.deploy');\n this.arrangeVisible = true;\n console.log(\"Connection open ...\");\n ws.send(\"Hello WebSockets!\");\n };\n ws.onmessage = evt => {\n this.logs.push(evt.data);\n };\n ws.onclose = () => {\n console.log(\"Connection closed.\");\n };\n },\n // 关闭部署页面时 关闭ws避免dialog内的信息有上台机器信息\n closeArrange() {\n ws.close();\n this.logs = [];\n },\n closeEdit() {\n this.sourceInfo = '';\n this.fileList = [];\n },\n listOfItem(item) {\n let appId = window.localStorage.getItem(\"Power_appId\");\n this.axios.get(\"/container/listDeployedWorker?containerId=\" + item.id + '&appId=' + appId).then(res => {\n if (res.data.data) {\n this.logs = res.data.data.split('\\n');\n this.arrangeTitle = this.$t('message.deployedWorkerList');\n this.arrangeVisible = true;\n }\n // this.containerList.splice(index,1);\n // this.$message(`容器${item.containerName}已删除`);\n });\n },\n // 兼容 java build in 模式下 baseURL 为 / 的情况(将当前url作为请求路径)\n calculateRequestUrl() {\n if (_main__WEBPACK_IMPORTED_MODULE_1__[\"default\"] === undefined || !_main__WEBPACK_IMPORTED_MODULE_1__[\"default\"].includes(\"http\")) {\n let url = window.location.href;\n let urlSplit = url.split('//'); // str1[0]--协议头\n let ip = urlSplit[1].split('/')[0];\n this.requestUrl = urlSplit[0] + '//' + ip;\n console.log(\"calculateRequestUrl: \" + this.requestUrl);\n } else {\n this.requestUrl = _main__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n }\n },\n listContainers() {\n let appId = window.localStorage.getItem(\"Power_appId\");\n this.axios.get(\"/container/list?appId=\" + appId).then(res => {\n console.log(res);\n if (res.data.success) {\n this.containerList = res.data.data;\n }\n });\n }\n },\n mounted() {\n this.calculateRequestUrl();\n this.listContainers();\n this.headersObj.AppId = window.localStorage.getItem(\"Power_appId\");\n this.headersObj.Power_jwt = window.localStorage.getItem(\"Power_jwt\");\n }\n});\n\n//# sourceURL=webpack:///./src/components/views/ContainerManager.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _main__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../main */ \"./src/main.js\");\n/* harmony import */ var element_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! element-ui */ \"./node_modules/element-ui/lib/element-ui.common.js\");\n/* harmony import */ var element_ui__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(element_ui__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\nlet ws;\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: \"ContainerManager\",\n data() {\n return {\n form: {\n sourceType: 'Git',\n containerName: ''\n },\n gitForm: {\n repo: '',\n branch: '',\n username: '',\n password: ''\n },\n sourceInfo: '',\n id: '',\n appId: window.localStorage.getItem(\"Power_appId\"),\n dialogVisible: false,\n arrangeTitle: '',\n arrangeVisible: false,\n containerList: [],\n logs: [],\n requestUrl: \"\",\n fileList: [],\n headersObj: {\n PowerJwt: undefined,\n AppId: undefined\n }\n };\n },\n methods: {\n onSubmit() {\n const that = this;\n // 接口参数\n let data = {\n appId: this.appId,\n containerName: this.form.containerName,\n status: \"ENABLE\",\n id: this.id,\n sourceType: this.form.sourceType\n };\n if (this.form.sourceType == 'Git') {\n data.sourceInfo = JSON.stringify(this.gitForm);\n } else {\n data.sourceInfo = this.sourceInfo;\n data.sourceType = 'FatJar';\n }\n this.axios.post(\"container/save\", data).then(res => {\n console.log('container save result:' + JSON.stringify(res));\n element_ui__WEBPACK_IMPORTED_MODULE_2__[\"Message\"].success(\"SUCCESS\");\n // 恢复默认表单\n that.dialogVisible = false;\n that.form.containerName = '';\n that.gitForm = {};\n that.sourceInfo = '';\n that.id = '';\n that.listContainers();\n });\n },\n // 文件上传成功后 修改来源信息\n onSuccess(response) {\n this.sourceInfo = response.data;\n },\n deleteItem(item, index) {\n let appId = window.localStorage.getItem(\"Power_appId\");\n this.axios.get(\"/container/delete?containerId=\" + item.id + '&appId=' + appId).then(res => {\n console.log(res);\n this.containerList.splice(index, 1);\n this.$message.info(this.$t('message.success'));\n });\n },\n editItem(item) {\n if (item.sourceType == 'Git') {\n this.form.sourceType = 'Git';\n this.gitForm = JSON.parse(item.sourceInfo);\n } else {\n this.form.sourceType = 'FatJar';\n }\n this.form.containerName = item.containerName;\n this.id = item.id;\n this.dialogVisible = true;\n },\n arrangeItem(item) {\n let wsBase = this.requestUrl.replace(\"http\", \"ws\") + \"/container/deploy/\";\n let wsUrl = wsBase + item.id;\n ws = new WebSocket(wsUrl);\n ws.onopen = () => {\n this.arrangeTitle = this.$t('message.deploy');\n this.arrangeVisible = true;\n console.log(\"Connection open ...\");\n ws.send(\"Hello WebSockets!\");\n };\n ws.onmessage = evt => {\n this.logs.push(evt.data);\n };\n ws.onclose = () => {\n console.log(\"Connection closed.\");\n };\n },\n // 关闭部署页面时 关闭ws避免dialog内的信息有上台机器信息\n closeArrange() {\n ws.close();\n this.logs = [];\n },\n closeEdit() {\n this.sourceInfo = '';\n this.fileList = [];\n },\n listOfItem(item) {\n let appId = window.localStorage.getItem(\"Power_appId\");\n this.axios.get(\"/container/listDeployedWorker?containerId=\" + item.id + '&appId=' + appId).then(res => {\n if (res.data.data) {\n this.logs = res.data.data.split('\\n');\n this.arrangeTitle = this.$t('message.deployedWorkerList');\n this.arrangeVisible = true;\n }\n // this.containerList.splice(index,1);\n // this.$message(`容器${item.containerName}已删除`);\n });\n },\n // 兼容 java build in 模式下 baseURL 为 / 的情况(将当前url作为请求路径)\n calculateRequestUrl() {\n if (_main__WEBPACK_IMPORTED_MODULE_1__[\"default\"] === undefined || !_main__WEBPACK_IMPORTED_MODULE_1__[\"default\"].includes(\"http\")) {\n let url = window.location.href;\n let urlSplit = url.split('//'); // str1[0]--协议头\n let ip = urlSplit[1].split('/')[0];\n this.requestUrl = urlSplit[0] + '//' + ip;\n console.log(\"calculateRequestUrl: \" + this.requestUrl);\n } else {\n this.requestUrl = _main__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n }\n },\n listContainers() {\n let appId = window.localStorage.getItem(\"Power_appId\");\n this.axios.get(\"/container/list?appId=\" + appId).then(res => {\n console.log(res);\n if (res.data.success) {\n this.containerList = res.data.data;\n }\n });\n }\n },\n mounted() {\n this.calculateRequestUrl();\n this.listContainers();\n this.headersObj.AppId = window.localStorage.getItem(\"Power_appId\");\n this.headersObj.PowerJwt = window.localStorage.getItem(\"PowerJwt\");\n }\n});\n\n//# sourceURL=webpack:///./src/components/views/ContainerManager.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), diff --git a/powerjob-server/powerjob-server-starter/src/main/resources/static/js/16.js b/powerjob-server/powerjob-server-starter/src/main/resources/static/js/16.js index ba9e2d58..3157646f 100644 --- a/powerjob-server/powerjob-server-starter/src/main/resources/static/js/16.js +++ b/powerjob-server/powerjob-server-starter/src/main/resources/static/js/16.js @@ -8,7 +8,7 @@ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var element_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! element-ui */ \"./node_modules/element-ui/lib/element-ui.common.js\");\n/* harmony import */ var element_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(element_ui__WEBPACK_IMPORTED_MODULE_1__);\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'UserCenter',\n data() {\n return {\n // 激活的菜单列表\n activeNames: [''],\n // 用户详细信息\n userDetailInfo: {\n id: undefined,\n username: undefined,\n nick: undefined,\n accountType: undefined,\n password: undefined,\n phone: undefined,\n email: undefined,\n webHook: undefined,\n originUsername: undefined,\n extra: undefined,\n globalRoles: [],\n role2NamespaceList: {},\n role2AppList: {}\n },\n // 修改密码\n changePasswordRequest: {\n username: undefined,\n oldPassword: undefined,\n newPassword: undefined,\n newPassword2: undefined\n },\n changePasswordFormVisible: false,\n // 使用 APP 账户密码成为管理员\n appAssertRequest: {\n appName: undefined,\n password: undefined\n }\n };\n },\n methods: {\n //\n handleCollapseChange(val) {\n console.log(val);\n },\n fetchUserDetail() {\n const that = this;\n this.axios.get('/user/detail').then(ret => that.userDetailInfo = ret);\n },\n onClickSaveNewUserInfo() {\n const that = this;\n this.axios.post('/user/modify', that.userDetailInfo).then(() => {\n element_ui__WEBPACK_IMPORTED_MODULE_1__[\"Message\"].success(\"SUCCESS\");\n that.fetchUserDetail();\n });\n },\n // 修改密码\n onClickChangePassword() {\n this.changePasswordRequest.username = this.userDetailInfo.originUsername;\n this.changePasswordFormVisible = true;\n },\n submitChangePasswordRequest() {\n this.axios.post('/pwjbUser/changePassword', this.changePasswordRequest).then(() => {\n element_ui__WEBPACK_IMPORTED_MODULE_1__[\"Message\"].success('SUCCESS');\n window.localStorage.removeItem('Power_jwt');\n window.localStorage.removeItem('Power_appId');\n this.$router.push(\"/\");\n }, err => {\n element_ui__WEBPACK_IMPORTED_MODULE_1__[\"Message\"].error(err);\n });\n this.changePasswordFormVisible = true;\n },\n onClickAuthThenBecomeAdmin() {\n this.axios.post('/appInfo/becomeAdmin', this.appAssertRequest).then(() => {\n element_ui__WEBPACK_IMPORTED_MODULE_1__[\"Message\"].success('SUCCESS');\n });\n }\n },\n mounted() {\n this.fetchUserDetail();\n }\n});\n\n//# sourceURL=webpack:///./src/components/admin/UserCenter.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var element_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! element-ui */ \"./node_modules/element-ui/lib/element-ui.common.js\");\n/* harmony import */ var element_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(element_ui__WEBPACK_IMPORTED_MODULE_1__);\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'UserCenter',\n data() {\n return {\n // 激活的菜单列表\n activeNames: [''],\n // 用户详细信息\n userDetailInfo: {\n id: undefined,\n username: undefined,\n nick: undefined,\n accountType: undefined,\n password: undefined,\n phone: undefined,\n email: undefined,\n webHook: undefined,\n originUsername: undefined,\n extra: undefined,\n globalRoles: [],\n role2NamespaceList: {},\n role2AppList: {}\n },\n // 修改密码\n changePasswordRequest: {\n username: undefined,\n oldPassword: undefined,\n newPassword: undefined,\n newPassword2: undefined\n },\n changePasswordFormVisible: false,\n // 使用 APP 账户密码成为管理员\n appAssertRequest: {\n appName: undefined,\n password: undefined\n }\n };\n },\n methods: {\n //\n handleCollapseChange(val) {\n console.log(val);\n },\n fetchUserDetail() {\n const that = this;\n this.axios.get('/user/detail').then(ret => that.userDetailInfo = ret);\n },\n onClickSaveNewUserInfo() {\n const that = this;\n this.axios.post('/user/modify', that.userDetailInfo).then(() => {\n element_ui__WEBPACK_IMPORTED_MODULE_1__[\"Message\"].success(\"SUCCESS\");\n that.fetchUserDetail();\n });\n },\n // 修改密码\n onClickChangePassword() {\n this.changePasswordRequest.username = this.userDetailInfo.originUsername;\n this.changePasswordFormVisible = true;\n },\n submitChangePasswordRequest() {\n this.axios.post('/pwjbUser/changePassword', this.changePasswordRequest).then(() => {\n element_ui__WEBPACK_IMPORTED_MODULE_1__[\"Message\"].success('SUCCESS');\n window.localStorage.removeItem('PowerJwt');\n window.localStorage.removeItem('Power_appId');\n this.$router.push(\"/\");\n }, err => {\n element_ui__WEBPACK_IMPORTED_MODULE_1__[\"Message\"].error(err);\n });\n this.changePasswordFormVisible = true;\n },\n onClickAuthThenBecomeAdmin() {\n this.axios.post('/appInfo/becomeAdmin', this.appAssertRequest).then(() => {\n element_ui__WEBPACK_IMPORTED_MODULE_1__[\"Message\"].success('SUCCESS');\n });\n }\n },\n mounted() {\n this.fetchUserDetail();\n }\n});\n\n//# sourceURL=webpack:///./src/components/admin/UserCenter.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), diff --git a/powerjob-server/powerjob-server-starter/src/main/resources/static/js/4.js b/powerjob-server/powerjob-server-starter/src/main/resources/static/js/4.js index 7bd8c527..90c89330 100644 --- a/powerjob-server/powerjob-server-starter/src/main/resources/static/js/4.js +++ b/powerjob-server/powerjob-server-starter/src/main/resources/static/js/4.js @@ -1,190 +1,203 @@ (window["webpackJsonp"] = window["webpackJsonp"] || []).push([[4],{ -/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/common/TimeExpressionValidator.vue?vue&type=script&lang=js": -/*!**************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/common/TimeExpressionValidator.vue?vue&type=script&lang=js ***! - \**************************************************************************************************************************************************************************************************************************************************************************/ +/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/login/LoginHomepage.vue?vue&type=script&lang=js": +/*!***************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/login/LoginHomepage.vue?vue&type=script&lang=js ***! + \***************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: \"TimeExpressionValidator\",\n // 数据传递\n props: [\"timeExpressionType\", \"timeExpression\"],\n data() {\n return {\n nextNTriggerTime: []\n };\n },\n methods: {\n checkTimeExpression() {\n let that = this;\n let url = \"/validate/timeExpression?timeExpressionType=\" + this.timeExpressionType + \"&timeExpression=\" + this.timeExpression;\n this.axios.get(url).then(res => that.nextNTriggerTime = res);\n }\n },\n mounted() {\n console.log(\"type:\" + this.timeExpressionType);\n console.log(\"expression:\" + this.timeExpression);\n this.timeExpression = encodeURIComponent(this.timeExpression);\n console.log(\"expressionAfterEncodeURIComponent: \" + this.timeExpression);\n this.checkTimeExpression();\n }\n});\n\n//# sourceURL=webpack:///./src/components/common/TimeExpressionValidator.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/web.url-search-params.delete.js */ \"./node_modules/core-js/modules/web.url-search-params.delete.js\");\n/* harmony import */ var core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/web.url-search-params.has.js */ \"./node_modules/core-js/modules/web.url-search-params.has.js\");\n/* harmony import */ var core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/web.url-search-params.size.js */ \"./node_modules/core-js/modules/web.url-search-params.size.js\");\n/* harmony import */ var core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_3__);\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'LoginHomepage',\n data() {\n return {\n login_type_info: []\n };\n },\n methods: {\n fetchSupportLoginTypes() {\n const that = this;\n const url = \"/auth/supportLoginTypes\";\n this.axios.get(url).then(result => {\n that.login_type_info = result;\n }, error => that.$message.error(error));\n },\n onClickLoginTypeBottom(loginInfo) {\n console.log('onClickLoginTypeBottom: ' + JSON.stringify(loginInfo));\n this.axios.get('/auth/thirdPartyLoginUrl?type=' + loginInfo.type).then(ret => {\n // FE-REDIRECT 开头,则跳转到本地 vue 页面\n let redirectUrl = ret.toString();\n if (redirectUrl.startsWith('FE-REDIRECT:')) {\n this.$router.push(redirectUrl.split(':')[1]);\n return;\n }\n\n // 否则直接打开 URL\n window.open(ret, \"_blank\");\n });\n },\n // 上下文登录(JWT ifLogin)\n tryLogin() {\n const that = this;\n const url = \"/auth/ifLogin\";\n this.axios.get(url).then(ret => {\n if (ret === null || ret === undefined) {\n console.log('ifLogin failed, need reLogin');\n } else {\n this.$router.push(\"/admin/app\");\n }\n }, error => {\n window.localStorage.removeItem('PowerJwt');\n window.localStorage.removeItem('Power_appId');\n that.$message.error(error);\n });\n },\n // 处理第三方登录的回调请求\n callbackLogin() {\n const urlSearchParams = new URLSearchParams(window.location.search);\n if (urlSearchParams.size === 0) {\n console.log('no urlSearchParams, skip process callback');\n return;\n }\n // 处理第三方回调\n let callbackLoginUrl = '/auth/thirdPartyLoginCallback?';\n // 显示键/值对\n for (var pair of urlSearchParams.entries()) {\n callbackLoginUrl = callbackLoginUrl + '&' + pair[0] + '=' + pair[1];\n }\n console.log('final url:' + callbackLoginUrl);\n this.axios.get(callbackLoginUrl).then(ret => {\n console.log('login success, user: ' + ret);\n const jwtToken = ret.jwtToken;\n window.localStorage.setItem('PowerJwt', jwtToken);\n this.$router.push(\"/admin/app\");\n });\n }\n },\n mounted() {\n // 加载默认语言配置文件\n let localLang = window.localStorage.getItem('oms_lang');\n console.log(\"language from localStorage is %o\", localLang);\n if (localLang != null) {\n this.$i18n.locale = localLang;\n } else {\n let lang = navigator.language;\n console.log(\"language from system is %o\", lang);\n switch (lang) {\n case \"zh-HK\":\n case \"zh-TW\":\n case \"zh-SG\":\n case \"zh-CN\":\n this.$i18n.locale = \"cn\";\n break;\n default:\n this.$i18n.locale = \"en\";\n }\n }\n this.fetchSupportLoginTypes();\n this.callbackLogin();\n this.tryLogin();\n }\n});\n\n//# sourceURL=webpack:///./src/components/login/LoginHomepage.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), -/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/dag/WorkflowEditor.vue?vue&type=script&lang=js": -/*!**************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/dag/WorkflowEditor.vue?vue&type=script&lang=js ***! - \**************************************************************************************************************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _JSEditor_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./JSEditor.vue */ \"./src/components/dag/JSEditor.vue\");\n/* harmony import */ var _common_TimeExpressionValidator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/TimeExpressionValidator */ \"./src/components/common/TimeExpressionValidator.vue\");\n/* harmony import */ var _PowerWorkflow__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PowerWorkflow */ \"./src/components/dag/PowerWorkflow.vue\");\n/* harmony import */ var _views_WorkflowManager__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../views/WorkflowManager */ \"./src/components/views/WorkflowManager.vue\");\n\n\n\n\nfunction nodeInfoChange(icon, index) {\n return function (value) {\n if (!this.selectNode) return;\n const group = this.selectNode.getContainer();\n const current = group.getChildByIndex(index);\n if (value) {\n current.attr({\n img: icon\n });\n } else {\n current.attr({\n img: \"\"\n });\n }\n };\n}\n\n/** 节点类型映射 */\nconst nodeType = {\n 1: item => {\n return {\n type: \"flow-node\",\n size: [240, 70],\n leftText: item.jobId,\n titleText: item.nodeName,\n icon1: item.enable ? __webpack_require__(/*! ../../assets/start.svg */ \"./src/assets/start.svg\") : \"\",\n icon2: item.skipWhenFailed ? __webpack_require__(/*! ../../assets/skip.svg */ \"./src/assets/skip.svg\") : \"\"\n };\n },\n 2: item => {\n return {\n type: \"max-diamond-node\",\n text: !item.nodeName ? \"判断\" : item.nodeName,\n style: {\n sideLength: 80,\n textStyle: {\n // fill: \"#FFFFFF\",\n }\n // fill: \"#FE9201\",\n // stroke: \"#D45547\",\n }\n };\n },\n 3: item => {\n return {\n type: \"flow-child-node\",\n size: [240, 70],\n leftText: item.jobId,\n titleText: item.nodeName,\n icon1: item.enable ? __webpack_require__(/*! ../../assets/start.svg */ \"./src/assets/start.svg\") : \"\",\n icon2: item.skipWhenFailed ? __webpack_require__(/*! ../../assets/skip.svg */ \"./src/assets/skip.svg\") : \"\"\n };\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: \"WorkflowEditor\",\n components: {\n TimeExpressionValidator: _common_TimeExpressionValidator__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n PowerWorkflow: _PowerWorkflow__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n JSEditor: _JSEditor_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n WorkflowManager: _views_WorkflowManager__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n },\n data() {\n return {\n workflowInfo: {\n id: \"\",\n appId: window.localStorage.getItem(\"Power_appId\"),\n enable: true,\n maxWfInstanceNum: 1,\n notifyUserIds: [],\n timeExpression: undefined,\n timeExpressionType: undefined,\n wfDescription: undefined,\n wfName: undefined,\n lifeCycle: null\n },\n nodeInfo: {\n id: null,\n jobId: null,\n nodeName: \"\",\n nodeParams: \"\",\n enable: true,\n skipWhenFailed: true\n },\n timeExpressionTypeOptions: [{\n key: \"API\",\n label: \"API\"\n }, {\n key: \"CRON\",\n label: \"CRON\"\n }],\n userList: [],\n // 导入任务相关\n importDrawerVisible: false,\n jobQueryContent: {\n appId: window.localStorage.getItem(\"Power_appId\"),\n index: 0,\n pageSize: 8,\n jobId: undefined,\n keyword: undefined\n },\n jobInfoPageResult: {\n pageSize: 20,\n totalItems: 0,\n data: []\n },\n // 事件(1:新增起点,2:新增终点,3:删除节点;4:删除边)\n event: undefined,\n from: undefined,\n // 时间表达式校验窗口\n timeExpressionValidatorVisible: false,\n /** DAG信息 */\n peworkflowDAG: {\n nodes: [],\n edges: []\n },\n /** 保存按钮loading */\n saveLoading: false,\n /** 流程图实例 */\n powerFlow: null,\n /** 选中的数据 */\n multipleSelection: [],\n /** 当前的节点信息 */\n taskList: [],\n /** 当前选中的节点 */\n selectNode: null,\n /** 重置节点方法 */\n resetNodes: null,\n /** 待选任务列表 */\n waitTaskList: [],\n /** 任务搜索loading */\n taskLoading: false,\n /** 任务节流 */\n taskTimeout: null,\n /** 工作流引入显隐控制 */\n workflowVisible: false\n };\n },\n methods: {\n // 返回上一页\n back: function () {\n this.$router.go(-1);\n },\n /* ******** 导入任务相关,所有函数与 JobManager 重复,需要前端大佬重构! ******** */\n // 点击重置按钮\n onClickReset() {\n this.jobQueryContent.keyword = undefined;\n this.jobQueryContent.jobId = undefined;\n this.listJobInfos();\n },\n // 列出符合当前搜索条件的任务\n listJobInfos() {\n const that = this;\n this.axios.post(\"/job/list\", this.jobQueryContent).then(res => {\n that.jobInfoPageResult = res;\n });\n },\n // 点击 换页\n onClickChangePage(index) {\n // 后端从0开始,前端从1开始\n this.jobQueryContent.index = index - 1;\n this.listJobInfos();\n },\n onClickImportNode() {\n this.listJobInfos();\n this.importDrawerVisible = true;\n },\n /** 引入其他类型节点, 判断,工作流 */\n onClickImportSpecialNode(data) {\n const {\n type\n } = data;\n console.log(type);\n if (type === 3) {\n this.workflowVisible = true;\n } else {\n this.importTask([{\n appId: this.workflowInfo.appId,\n jobParams: \"true\",\n type: type,\n workflowId: this.workflowInfo.id,\n jobName: \"\"\n }]);\n }\n },\n /** 引入嵌套工作流节点 */\n onImportChildWorkflowNode(data) {\n this.importTask([{\n appId: this.workflowInfo.appId,\n nodeName: data.wfName,\n enable: data.enable,\n id: data.id,\n nodeParams: \"\",\n type: 3,\n workflowId: this.workflowInfo.id,\n jobName: data.wfName\n }]);\n },\n onClickValidateTimeExpression() {\n this.timeExpressionValidatorVisible = true;\n },\n /** 选中节点 */\n handleSelectedNode(item) {\n this.selectNode = item;\n\n // 从节点列表找到节点\n let index = this.getNodeIndexById(item.get(\"model\").nodeId);\n let node = this.taskList[index];\n // if (node.type === \"condition\") return false;\n this.remoteTaskData(null, node.jobId);\n console.log(node);\n this.nodeInfo = {\n type: node.nodeType,\n jobId: node.jobId,\n nodeName: node.nodeName ? node.nodeName : node.nodeType == 2 ? \"判断\" : node.nodeName,\n nodeParams: node.nodeParams,\n enable: node.enable,\n skipWhenFailed: node.skipWhenFailed,\n id: item.get(\"model\").nodeId || item.get(\"model\").id\n };\n },\n /** 多选节点 */\n handleSelectionChange(val) {\n this.multipleSelection = val;\n },\n /** 修改节点名称 */\n handleNodeName(value) {\n const nodeItem = this.powerFlow.graph.get(\"selectedItem\");\n const group = nodeItem.getContainer();\n const current = group.getChildByIndex(2);\n current.attr(\"text\", value);\n },\n /** 获取工作流程图实例 */\n getDag(powerFlow, {\n resetNodes\n }) {\n this.powerFlow = powerFlow;\n this.resetNodes = resetNodes;\n },\n /** 根据nodeId找任务节点索引 */\n getNodeIndexById(nodeId) {\n return this.taskList.findIndex(item => item.nodeId == nodeId);\n },\n /** 获取工作流信息 */\n async getWorkflowInfo(fit) {\n const res = await this.axios.get(\"/workflow/fetch\", {\n params: {\n workflowId: this.workflowInfo.id,\n appId: this.workflowInfo.appId\n }\n });\n this.workflowInfo = {\n ...this.workflowInfo,\n ...res\n };\n if (res.peworkflowDAG) {\n this.taskList = res.peworkflowDAG.nodes;\n this.peworkflowDAG = res.peworkflowDAG;\n this.$nextTick(() => {\n this.resetNodes();\n if (fit) {\n // this.powerFlow.graph.fitView(20);\n // 改为layout适配会对节点少的时候友好一点\n this.powerFlow.graph.layout();\n }\n });\n }\n },\n /** 保存工作流全局信息 */\n async saveWorkflow() {\n // 改为不需要dag信息\n const flowData = this.powerFlow.graph.save();\n console.log(flowData);\n let dagInfo = {\n nodes: flowData.nodes.map(item => ({\n nodeId: item.id\n })),\n edges: flowData.edges.map(item => {\n const property = {};\n if (item.label) {\n property.property = item.label === \"Y\" ? \"true\" : \"false\";\n }\n return {\n from: item.source,\n to: item.target,\n ...property\n };\n })\n };\n const {\n lifeCycle\n } = this.workflowInfo;\n if (lifeCycle && Array.isArray(lifeCycle)) {\n const start = lifeCycle[0];\n const end = lifeCycle[1];\n this.workflowInfo.lifeCycle = {\n start,\n end\n };\n }\n const res = await this.axios.post(\"/workflow/save\", {\n ...this.workflowInfo,\n dag: dagInfo\n });\n this.$message.success(this.$t(\"message.success\"));\n if (!this.workflowInfo.id) this.workflowInfo.id = res;\n },\n /** 导入任务节点数据 */\n async importTask(taskList) {\n if (taskList.length === 0) {\n return;\n }\n let type = \"\";\n let data = taskList.map(item => {\n type = item.type ? Number(item.type) : 1;\n return {\n appId: item.appId,\n enable: item.enable,\n skipWhenFailed: item.skipWhenFailed,\n nodeName: item.jobName,\n jobId: item.id,\n nodeParams: item.jobParams,\n workflowId: this.workflowInfo.id,\n // type: \"JOB\"\n type: type\n };\n });\n let res = await this.axios.post(\"/workflow/saveNode\", data);\n console.log(res);\n // 先移动视口一个节点点的位置\n // 获取缩放比例\n const zoom = this.powerFlow.graph.getZoom();\n this.powerFlow.graph.translate(260 * zoom, 0);\n const viewPointEnd = this.powerFlow.graph.getPointByCanvas(0, 0);\n res.forEach((item, index) => {\n const nodeText = nodeType[type](item);\n this.powerFlow.graph.add(\"node\", {\n ...item,\n id: `${item.id}`,\n nodeId: `${item.id}`,\n nodeType: `${item.type}`,\n // type: nodeType[item.type],\n size: [240, 70],\n x: viewPointEnd.x + 20,\n y: viewPointEnd.y + 70 * index + 20 + index * 10,\n ...nodeText\n // leftText: item.jobId,\n // titleText: item.nodeName,\n // icon1: item.enable ? require(\"../../assets/start.svg\") : \"\",\n // icon2: item.skipWhenFailed ? require(\"../../assets/skip.svg\") : \"\",\n });\n });\n this.taskList = [...this.taskList, ...res.map(item => ({\n ...item,\n nodeType: item.type,\n nodeParams: item.nodeParams,\n nodeId: item.id\n }))];\n },\n /** 保存单个节点 */\n async handleNodeSave(value = {}) {\n let data = [{\n ...this.nodeInfo,\n appId: this.workflowInfo.appId,\n workflowId: this.workflowInfo.id,\n ...value\n }];\n await this.axios.post(\"/workflow/saveNode\", data);\n let index = this.getNodeIndexById(this.nodeInfo.id);\n this.taskList[index] = {\n ...this.taskList[index],\n nodeName: this.nodeInfo.nodeName,\n nodeParams: this.nodeInfo.nodeParams,\n enable: this.nodeInfo.enable,\n skipWhenFailed: this.nodeInfo.skipWhenFailed\n };\n this.$message.success(this.$t(\"message.success\"));\n },\n /** 批量导入工作流 */\n async onBulkImport() {\n if (this.multipleSelection.length === 0) {\n this.$message.warning(this.$t(\"message.noSelect\"));\n return;\n }\n await this.importTask(this.multipleSelection);\n },\n /** 远程加载任务列表数据 */\n async remoteTaskData(value, jobId) {\n clearTimeout(this.taskTimeout);\n this.taskTimeout = setTimeout(() => {\n this.taskLoading = true;\n console.log(this.nodeInfo);\n let url = \"/job/list\";\n if (this.nodeInfo.type === 3) {\n url = \"/workflow/list\";\n }\n this.axios.post(url, {\n ...this.jobQueryContent,\n index: 0,\n keyword: value,\n jobId: jobId\n }).then(res => {\n this.waitTaskList = res.data;\n this.taskLoading = false;\n });\n }, 100);\n },\n /** 选中任务时 */\n handleWaitTaskChange(value) {\n // 找到节点信息\n let current = this.waitTaskList.find(item => item.id === value);\n let currentShape = this.selectNode.getContainer().getChildByIndex(1);\n currentShape.attr({\n text: current.id\n });\n let index = this.getNodeIndexById(this.selectNode.get(\"model\").nodeId);\n this.powerFlow.graph.updateItem(this.selectNode, {\n leftText: current.id,\n jobId: current.id\n });\n this.taskList[index] = {\n ...this.taskList[index],\n jobId: current.id\n };\n this.nodeInfo.jobId = value;\n },\n /** 节点外点击时单独处理 */\n handleWaitFocus() {\n this.powerFlow.graph.set(\"noKeyDown\", true);\n },\n /** 判断节点参数改变 */\n onCodeChange(code) {\n this.nodeInfo.nodeParams = code;\n }\n },\n mounted() {\n // 加载用户信息\n let that = this;\n that.axios.get(\"/user/list\").then(res => that.userList = res);\n\n // 读取传递数据,如果是修改,需要先将数据绘制上去\n let modify = this.$route.params.modify;\n if (modify) {\n this.workflowInfo = this.$route.params.workflowInfo;\n if (this.workflowInfo.lifeCycle) {\n const {\n start,\n end\n } = this.workflowInfo.lifeCycle;\n this.workflowInfo.lifeCycle = [start, end];\n } else {\n this.workflowInfo.lifeCycle = null;\n }\n this.workflowInfo.appId = window.localStorage.getItem(\"Power_appId\");\n this.getWorkflowInfo(true);\n }\n },\n watch: {\n \"nodeInfo.enable\": {\n handler: nodeInfoChange(__webpack_require__(/*! ../../assets/start.svg */ \"./src/assets/start.svg\"), 3)\n },\n \"nodeInfo.skipWhenFailed\": {\n handler: nodeInfoChange(__webpack_require__(/*! ../../assets/skip.svg */ \"./src/assets/skip.svg\"), 4)\n }\n }\n});\n\n//# sourceURL=webpack:///./src/components/dag/WorkflowEditor.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"77823dab-vue-loader-template\"}!./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/common/TimeExpressionValidator.vue?vue&type=template&id=053ae4d9&scoped=true": -/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"77823dab-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/common/TimeExpressionValidator.vue?vue&type=template&id=053ae4d9&scoped=true ***! - \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"77823dab-vue-loader-template\"}!./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/login/LoginHomepage.vue?vue&type=template&id=259fc05e": +/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"77823dab-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/login/LoginHomepage.vue?vue&type=template&id=259fc05e ***! + \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: render, staticRenderFns */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n return _c(\"div\", [_c(\"el-card\", {\n staticClass: \"box-card\"\n }, _vm._l(_vm.nextNTriggerTime, function (res) {\n return _c(\"div\", {\n key: res,\n staticClass: \"text item\"\n }, [_vm._v(\" \" + _vm._s(res) + \" \")]);\n }), 0)], 1);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack:///./src/components/common/TimeExpressionValidator.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%2277823dab-vue-loader-template%22%7D!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n return _c(\"div\", {\n staticClass: \"auth-container\"\n }, [_c(\"h1\", [_vm._v(_vm._s(_vm.$t(\"message.welcomeTitle\")))]), _c(\"p\", [_vm._v(_vm._s(_vm.$t(\"message.chooseLoginType\")))]), _c(\"div\", {\n staticClass: \"login-buttons\"\n }, _vm._l(_vm.login_type_info, function (login, index) {\n return _c(\"button\", {\n key: index,\n on: {\n click: function ($event) {\n return _vm.onClickLoginTypeBottom(login);\n }\n }\n }, [_vm._v(\" \" + _vm._s(login.name) + \" \")]);\n }), 0)]);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack:///./src/components/login/LoginHomepage.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%2277823dab-vue-loader-template%22%7D!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), -/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"77823dab-vue-loader-template\"}!./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/dag/WorkflowEditor.vue?vue&type=template&id=6eb224e1&scoped=true": -/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"77823dab-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/dag/WorkflowEditor.vue?vue&type=template&id=6eb224e1&scoped=true ***! - \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ "./node_modules/core-js/internals/classof.js": +/*!***************************************************!*\ + !*** ./node_modules/core-js/internals/classof.js ***! + \***************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\nvar TO_STRING_TAG_SUPPORT = __webpack_require__(/*! ../internals/to-string-tag-support */ \"./node_modules/core-js/internals/to-string-tag-support.js\");\nvar isCallable = __webpack_require__(/*! ../internals/is-callable */ \"./node_modules/core-js/internals/is-callable.js\");\nvar classofRaw = __webpack_require__(/*! ../internals/classof-raw */ \"./node_modules/core-js/internals/classof-raw.js\");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/classof.js?"); + +/***/ }), + +/***/ "./node_modules/core-js/internals/define-built-in-accessor.js": +/*!********************************************************************!*\ + !*** ./node_modules/core-js/internals/define-built-in-accessor.js ***! + \********************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\nvar makeBuiltIn = __webpack_require__(/*! ../internals/make-built-in */ \"./node_modules/core-js/internals/make-built-in.js\");\nvar defineProperty = __webpack_require__(/*! ../internals/object-define-property */ \"./node_modules/core-js/internals/object-define-property.js\");\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/define-built-in-accessor.js?"); + +/***/ }), + +/***/ "./node_modules/core-js/internals/to-string-tag-support.js": +/*!*****************************************************************!*\ + !*** ./node_modules/core-js/internals/to-string-tag-support.js ***! + \*****************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/to-string-tag-support.js?"); + +/***/ }), + +/***/ "./node_modules/core-js/internals/to-string.js": +/*!*****************************************************!*\ + !*** ./node_modules/core-js/internals/to-string.js ***! + \*****************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\nvar classof = __webpack_require__(/*! ../internals/classof */ \"./node_modules/core-js/internals/classof.js\");\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/to-string.js?"); + +/***/ }), + +/***/ "./node_modules/core-js/internals/validate-arguments-length.js": +/*!*********************************************************************!*\ + !*** ./node_modules/core-js/internals/validate-arguments-length.js ***! + \*********************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw new $TypeError('Not enough arguments');\n return passed;\n};\n\n\n//# sourceURL=webpack:///./node_modules/core-js/internals/validate-arguments-length.js?"); + +/***/ }), + +/***/ "./node_modules/core-js/modules/web.url-search-params.delete.js": +/*!**********************************************************************!*\ + !*** ./node_modules/core-js/modules/web.url-search-params.delete.js ***! + \**********************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\nvar defineBuiltIn = __webpack_require__(/*! ../internals/define-built-in */ \"./node_modules/core-js/internals/define-built-in.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar toString = __webpack_require__(/*! ../internals/to-string */ \"./node_modules/core-js/internals/to-string.js\");\nvar validateArgumentsLength = __webpack_require__(/*! ../internals/validate-arguments-length */ \"./node_modules/core-js/internals/validate-arguments-length.js\");\n\nvar $URLSearchParams = URLSearchParams;\nvar URLSearchParamsPrototype = $URLSearchParams.prototype;\nvar append = uncurryThis(URLSearchParamsPrototype.append);\nvar $delete = uncurryThis(URLSearchParamsPrototype['delete']);\nvar forEach = uncurryThis(URLSearchParamsPrototype.forEach);\nvar push = uncurryThis([].push);\nvar params = new $URLSearchParams('a=1&a=2&b=3');\n\nparams['delete']('a', 1);\n// `undefined` case is a Chromium 117 bug\n// https://bugs.chromium.org/p/v8/issues/detail?id=14222\nparams['delete']('b', undefined);\n\nif (params + '' !== 'a=2') {\n defineBuiltIn(URLSearchParamsPrototype, 'delete', function (name /* , value */) {\n var length = arguments.length;\n var $value = length < 2 ? undefined : arguments[1];\n if (length && $value === undefined) return $delete(this, name);\n var entries = [];\n forEach(this, function (v, k) { // also validates `this`\n push(entries, { key: k, value: v });\n });\n validateArgumentsLength(length, 1);\n var key = toString(name);\n var value = toString($value);\n var index = 0;\n var dindex = 0;\n var found = false;\n var entriesLength = entries.length;\n var entry;\n while (index < entriesLength) {\n entry = entries[index++];\n if (found || entry.key === key) {\n found = true;\n $delete(this, entry.key);\n } else dindex++;\n }\n while (dindex < entriesLength) {\n entry = entries[dindex++];\n if (!(entry.key === key && entry.value === value)) append(this, entry.key, entry.value);\n }\n }, { enumerable: true, unsafe: true });\n}\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/web.url-search-params.delete.js?"); + +/***/ }), + +/***/ "./node_modules/core-js/modules/web.url-search-params.has.js": +/*!*******************************************************************!*\ + !*** ./node_modules/core-js/modules/web.url-search-params.has.js ***! + \*******************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\nvar defineBuiltIn = __webpack_require__(/*! ../internals/define-built-in */ \"./node_modules/core-js/internals/define-built-in.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar toString = __webpack_require__(/*! ../internals/to-string */ \"./node_modules/core-js/internals/to-string.js\");\nvar validateArgumentsLength = __webpack_require__(/*! ../internals/validate-arguments-length */ \"./node_modules/core-js/internals/validate-arguments-length.js\");\n\nvar $URLSearchParams = URLSearchParams;\nvar URLSearchParamsPrototype = $URLSearchParams.prototype;\nvar getAll = uncurryThis(URLSearchParamsPrototype.getAll);\nvar $has = uncurryThis(URLSearchParamsPrototype.has);\nvar params = new $URLSearchParams('a=1');\n\n// `undefined` case is a Chromium 117 bug\n// https://bugs.chromium.org/p/v8/issues/detail?id=14222\nif (params.has('a', 2) || !params.has('a', undefined)) {\n defineBuiltIn(URLSearchParamsPrototype, 'has', function has(name /* , value */) {\n var length = arguments.length;\n var $value = length < 2 ? undefined : arguments[1];\n if (length && $value === undefined) return $has(this, name);\n var values = getAll(this, name); // also validates `this`\n validateArgumentsLength(length, 1);\n var value = toString($value);\n var index = 0;\n while (index < values.length) {\n if (values[index++] === value) return true;\n } return false;\n }, { enumerable: true, unsafe: true });\n}\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/web.url-search-params.has.js?"); + +/***/ }), + +/***/ "./node_modules/core-js/modules/web.url-search-params.size.js": +/*!********************************************************************!*\ + !*** ./node_modules/core-js/modules/web.url-search-params.size.js ***! + \********************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\nvar DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar defineBuiltInAccessor = __webpack_require__(/*! ../internals/define-built-in-accessor */ \"./node_modules/core-js/internals/define-built-in-accessor.js\");\n\nvar URLSearchParamsPrototype = URLSearchParams.prototype;\nvar forEach = uncurryThis(URLSearchParamsPrototype.forEach);\n\n// `URLSearchParams.prototype.size` getter\n// https://github.com/whatwg/url/pull/734\nif (DESCRIPTORS && !('size' in URLSearchParamsPrototype)) {\n defineBuiltInAccessor(URLSearchParamsPrototype, 'size', {\n get: function size() {\n var count = 0;\n forEach(this, function () { count++; });\n return count;\n },\n configurable: true,\n enumerable: true\n });\n}\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/web.url-search-params.size.js?"); + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/login/LoginHomepage.vue?vue&type=style&index=0&id=259fc05e&lang=css": +/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--6-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/login/LoginHomepage.vue?vue&type=style&index=0&id=259fc05e&lang=css ***! + \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_GET_URL_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/getUrl.js */ \"./node_modules/css-loader/dist/runtime/getUrl.js\");\nvar ___CSS_LOADER_URL_IMPORT_0___ = __webpack_require__(/*! ../../assets/fe_login_backgroup_cubes.png */ \"./src/assets/fe_login_backgroup_cubes.png\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\nexports.push([module.i, \"\\n/* 使用轻纹理背景 */\\nbody {\\n font-family: 'Arial', sans-serif;\\n background: #f0f0f0 url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") repeat; /* 浅灰色纹理背景 */\\n color: #343a40;\\n}\\n\\n/* 其他样式保持不变 */\\n.auth-container {\\n max-width: 400px;\\n margin: 100px auto;\\n padding: 40px 30px;\\n background-color: #ffffff;\\n border-radius: 12px;\\n box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);\\n text-align: center;\\n}\\n.auth-container h1 {\\n font-size: 28px;\\n margin-bottom: 25px;\\n color: #212529;\\n}\\n.auth-container p {\\n font-size: 18px;\\n margin-bottom: 35px;\\n color: #495057;\\n}\\n.login-buttons {\\n display: flex;\\n flex-direction: column;\\n gap: 15px;\\n}\\n.auth-container button {\\n width: 100%;\\n padding: 14px 0;\\n font-size: 16px;\\n color: #fff;\\n background-color: #007bff;\\n border: none;\\n border-radius: 6px;\\n cursor: pointer;\\n transition: background-color 0.2s ease-in-out;\\n}\\n.auth-container button:hover {\\n background-color: #0056b3;\\n}\\n.auth-container button:disabled {\\n background-color: #6c757d;\\n cursor: not-allowed;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/login/LoginHomepage.vue?./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--6-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options"); + +/***/ }), + +/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/login/LoginHomepage.vue?vue&type=style&index=0&id=259fc05e&lang=css": +/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/vue-style-loader??ref--6-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--6-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/login/LoginHomepage.vue?vue&type=style&index=0&id=259fc05e&lang=css ***! + \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +eval("// style-loader: Adds some css to the DOM by adding a