Browse Source

no message

Gavin 6 years ago
parent
commit
f5398bffbd
50 changed files with 180341 additions and 180341 deletions
  1. 12 12
      crontab/crontabmaster/Dockerfile
  2. 7 7
      crontab/crontabmaster/agollo.json
  3. 8 8
      crontab/crontabmaster/push.sh
  4. 5 5
      crontab/crontabmaster/webroot/dist/0.1ecba82494183b86c6df.chunk.js
  5. 5 5
      crontab/crontabmaster/webroot/dist/0.947d2103f3f3b76d1986.chunk.js
  6. 22853 22853
      crontab/crontabmaster/webroot/dist/0.a9923da8644e2650182c.chunk.js
  7. 22857 22857
      crontab/crontabmaster/webroot/dist/0.b8f1ff581d25527d4f03.chunk.js
  8. 152 152
      crontab/crontabmaster/webroot/dist/0.chunk.js
  9. 346 346
      crontab/crontabmaster/webroot/dist/1.a9923da8644e2650182c.chunk.js
  10. 9 9
      crontab/crontabmaster/webroot/dist/1.b8f1ff581d25527d4f03.chunk.js
  11. 436 436
      crontab/crontabmaster/webroot/dist/2.a9923da8644e2650182c.chunk.js
  12. 247 247
      crontab/crontabmaster/webroot/dist/3.a9923da8644e2650182c.chunk.js
  13. 869 869
      crontab/crontabmaster/webroot/dist/a2c4a261a239aa84463dc70e4bac9b9a.svg
  14. 506 506
      crontab/crontabmaster/webroot/dist/main.101e1dd93c7116832846.css
  15. 506 506
      crontab/crontabmaster/webroot/dist/main.1ecba82494183b86c6df.css
  16. 2714 2714
      crontab/crontabmaster/webroot/dist/main.1ecba82494183b86c6df.js
  17. 506 506
      crontab/crontabmaster/webroot/dist/main.20461db8878d76d0a8e0.css
  18. 506 506
      crontab/crontabmaster/webroot/dist/main.292d35ab6115b3c3644d.css
  19. 506 506
      crontab/crontabmaster/webroot/dist/main.2d63fa2b1d9ed74482c2.css
  20. 506 506
      crontab/crontabmaster/webroot/dist/main.41c88f7785feb491abdd.css
  21. 506 506
      crontab/crontabmaster/webroot/dist/main.4ffec7a6c9c35906ac41.css
  22. 506 506
      crontab/crontabmaster/webroot/dist/main.58a71dcc90a2054a7681.css
  23. 506 506
      crontab/crontabmaster/webroot/dist/main.947d2103f3f3b76d1986.css
  24. 2714 2714
      crontab/crontabmaster/webroot/dist/main.947d2103f3f3b76d1986.js
  25. 506 506
      crontab/crontabmaster/webroot/dist/main.9ed7d19dc485cc6c433c.css
  26. 506 506
      crontab/crontabmaster/webroot/dist/main.a9923da8644e2650182c.css
  27. 2714 2714
      crontab/crontabmaster/webroot/dist/main.a9923da8644e2650182c.js
  28. 506 506
      crontab/crontabmaster/webroot/dist/main.b8f1ff581d25527d4f03.css
  29. 1841 1841
      crontab/crontabmaster/webroot/dist/main.b8f1ff581d25527d4f03.js
  30. 506 506
      crontab/crontabmaster/webroot/dist/main.c7c6cdc01fa7b4823a1f.css
  31. 2 2
      crontab/crontabmaster/webroot/dist/main.css
  32. 506 506
      crontab/crontabmaster/webroot/dist/main.f8007a840b43b4d43b07.css
  33. 239 239
      crontab/crontabmaster/webroot/dist/main.js
  34. 48 48
      crontab/crontabmaster/webroot/dist/vendors.1ecba82494183b86c6df.js
  35. 48 48
      crontab/crontabmaster/webroot/dist/vendors.947d2103f3f3b76d1986.js
  36. 60122 60122
      crontab/crontabmaster/webroot/dist/vendors.a9923da8644e2650182c.js
  37. 48 48
      crontab/crontabmaster/webroot/dist/vendors.b8f1ff581d25527d4f03.js
  38. 54751 54751
      crontab/crontabmaster/webroot/dist/vendors.js
  39. 15 15
      crontab/crontabmaster/webroot/index.html
  40. 9 9
      crontab/crontabworker/Dockerfile
  41. 7 7
      crontab/crontabworker/agollo.json
  42. 8 8
      crontab/crontabworker/push.sh
  43. 16 16
      k8swebapi-nginx/Dockerfile
  44. 36 36
      k8swebapi-nginx/nginx.conf
  45. 7 7
      k8swebapi-nginx/push.sh
  46. 27 27
      k8swebapi-nginx/ssl/xinyueyouxi.com.key
  47. 56 56
      k8swebapi-nginx/ssl/xinyueyouxi.com.pem
  48. 11 11
      k8swebapi-nginx/tcp.d/sharetransmit.jixiang.cn.conf
  49. 10 10
      sharetransmit/Dockerfile
  50. 8 8
      sharetransmit/push.sh

+ 12 - 12
crontab/crontabmaster/Dockerfile

@@ -1,13 +1,13 @@
-FROM golang:1.9.2
-RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
-RUN echo 'Asia/Shanghai' > /etc/timezone
-
-COPY agollo.json /go/bin/
-COPY crontabmaster /go/bin/
-COPY webroot /go/bin/webroot
-RUN chmod +x /go/bin/crontabmaster
-WORKDIR /go/bin
-
-CMD ["/go/bin/crontabmaster"]
-
+FROM golang:1.9.2
+RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
+RUN echo 'Asia/Shanghai' > /etc/timezone
+
+COPY agollo.json /go/bin/
+COPY crontabmaster /go/bin/
+COPY webroot /go/bin/webroot
+RUN chmod +x /go/bin/crontabmaster
+WORKDIR /go/bin
+
+CMD ["/go/bin/crontabmaster"]
+
 EXPOSE 8050

+ 7 - 7
crontab/crontabmaster/agollo.json

@@ -1,8 +1,8 @@
-{
-  "appId": "cronTabMaster",
-  "cluster" : "default",
-  "namespaceNames" : ["master.yaml"],
-  "ip" : "10.26.0.70:8080",
-  "oneNameSpaceMode" : true,
-  "tagname" : "yaml"
+{
+  "appId": "cronTabMaster",
+  "cluster" : "default",
+  "namespaceNames" : ["master.yaml"],
+  "ip" : "10.26.0.70:8080",
+  "oneNameSpaceMode" : true,
+  "tagname" : "yaml"
 }

+ 8 - 8
crontab/crontabmaster/push.sh

@@ -1,8 +1,8 @@
-#!/bin/bash
-
-release=$1
-
-[ ! -n "$release" ] && exit 1
-
-docker build -t registry-vpc.cn-beijing.aliyuncs.com/xinyue/crontabmaster:${release} .
-docker push registry-vpc.cn-beijing.aliyuncs.com/xinyue/crontabmaster:${release}
+#!/bin/bash
+
+release=$1
+
+[ ! -n "$release" ] && exit 1
+
+docker build -t registry-vpc.cn-beijing.aliyuncs.com/xinyue/crontabmaster:${release} .
+docker push registry-vpc.cn-beijing.aliyuncs.com/xinyue/crontabmaster:${release}

File diff suppressed because it is too large
+ 5 - 5
crontab/crontabmaster/webroot/dist/0.1ecba82494183b86c6df.chunk.js


File diff suppressed because it is too large
+ 5 - 5
crontab/crontabmaster/webroot/dist/0.947d2103f3f3b76d1986.chunk.js


File diff suppressed because it is too large
+ 22853 - 22853
crontab/crontabmaster/webroot/dist/0.a9923da8644e2650182c.chunk.js


File diff suppressed because it is too large
+ 22857 - 22857
crontab/crontabmaster/webroot/dist/0.b8f1ff581d25527d4f03.chunk.js


+ 152 - 152
crontab/crontabmaster/webroot/dist/0.chunk.js

@@ -1,153 +1,153 @@
-webpackJsonp([0],{
-
-/***/ 17:
-/***/ (function(module, exports, __webpack_require__) {
-
-
-/* styles */
-__webpack_require__(19)
-
-var Component = __webpack_require__(9)(
-  /* script */
-  __webpack_require__(18),
-  /* template */
-  __webpack_require__(21),
-  /* scopeId */
-  "data-v-6bfcf060",
-  /* cssModules */
-  null
-)
-Component.options.__file = "D:\\workarea\\normal\\crontab\\src\\views\\index.vue"
-if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")}
-if (Component.options.functional) {console.error("[vue-loader] index.vue: functional components are not supported with templates, they should use render functions.")}
-
-/* hot reload */
-if (false) {(function () {
-  var hotAPI = require("vue-loader/node_modules/vue-hot-reload-api")
-  hotAPI.install(require("vue"), false)
-  if (!hotAPI.compatible) return
-  module.hot.accept()
-  if (!module.hot.data) {
-    hotAPI.createRecord("data-v-6bfcf060", Component.options)
-  } else {
-    hotAPI.reload("data-v-6bfcf060", Component.options)
-  }
-})()}
-
-module.exports = Component.exports
-
-
-/***/ }),
-
-/***/ 18:
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-
-/* harmony default export */ __webpack_exports__["default"] = ({
-    methods: {
-        handleStart: function handleStart() {
-            this.$Modal.info({
-                title: 'Bravo',
-                content: 'Now, enjoy the convenience of iView.'
-            });
-        }
-    }
-});
-
-/***/ }),
-
-/***/ 19:
-/***/ (function(module, exports) {
-
-// removed by extract-text-webpack-plugin
-
-/***/ }),
-
-/***/ 20:
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__.p + "d3e0e6774b104f268cba7d3c405c75b5.png";
-
-/***/ }),
-
-/***/ 21:
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
-  return _c('div', {
-    staticClass: "index"
-  }, [_c('Row', {
-    attrs: {
-      "type": "flex",
-      "justify": "center",
-      "align": "middle"
-    }
-  }, [_c('Col', {
-    attrs: {
-      "span": "24"
-    }
-  }, [_c('h1', [_c('img', {
-    attrs: {
-      "src": __webpack_require__(20)
-    }
-  })]), _vm._v(" "), _c('h2', [_c('p', [_vm._v("Welcome to your iView app!")]), _vm._v(" "), _c('Button', {
-    on: {
-      "click": _vm.handleStart
-    }
-  }, [_vm._v("Start iView")])], 1)])], 1)], 1)
-},staticRenderFns: []}
-module.exports.render._withStripped = true
-if (false) {
-  module.hot.accept()
-  if (module.hot.data) {
-     require("vue-loader/node_modules/vue-hot-reload-api").rerender("data-v-6bfcf060", module.exports)
-  }
-}
-
-/***/ })
-
-});
+webpackJsonp([0],{
+
+/***/ 17:
+/***/ (function(module, exports, __webpack_require__) {
+
+
+/* styles */
+__webpack_require__(19)
+
+var Component = __webpack_require__(9)(
+  /* script */
+  __webpack_require__(18),
+  /* template */
+  __webpack_require__(21),
+  /* scopeId */
+  "data-v-6bfcf060",
+  /* cssModules */
+  null
+)
+Component.options.__file = "D:\\workarea\\normal\\crontab\\src\\views\\index.vue"
+if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")}
+if (Component.options.functional) {console.error("[vue-loader] index.vue: functional components are not supported with templates, they should use render functions.")}
+
+/* hot reload */
+if (false) {(function () {
+  var hotAPI = require("vue-loader/node_modules/vue-hot-reload-api")
+  hotAPI.install(require("vue"), false)
+  if (!hotAPI.compatible) return
+  module.hot.accept()
+  if (!module.hot.data) {
+    hotAPI.createRecord("data-v-6bfcf060", Component.options)
+  } else {
+    hotAPI.reload("data-v-6bfcf060", Component.options)
+  }
+})()}
+
+module.exports = Component.exports
+
+
+/***/ }),
+
+/***/ 18:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+
+/* harmony default export */ __webpack_exports__["default"] = ({
+    methods: {
+        handleStart: function handleStart() {
+            this.$Modal.info({
+                title: 'Bravo',
+                content: 'Now, enjoy the convenience of iView.'
+            });
+        }
+    }
+});
+
+/***/ }),
+
+/***/ 19:
+/***/ (function(module, exports) {
+
+// removed by extract-text-webpack-plugin
+
+/***/ }),
+
+/***/ 20:
+/***/ (function(module, exports, __webpack_require__) {
+
+module.exports = __webpack_require__.p + "d3e0e6774b104f268cba7d3c405c75b5.png";
+
+/***/ }),
+
+/***/ 21:
+/***/ (function(module, exports, __webpack_require__) {
+
+module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
+  return _c('div', {
+    staticClass: "index"
+  }, [_c('Row', {
+    attrs: {
+      "type": "flex",
+      "justify": "center",
+      "align": "middle"
+    }
+  }, [_c('Col', {
+    attrs: {
+      "span": "24"
+    }
+  }, [_c('h1', [_c('img', {
+    attrs: {
+      "src": __webpack_require__(20)
+    }
+  })]), _vm._v(" "), _c('h2', [_c('p', [_vm._v("Welcome to your iView app!")]), _vm._v(" "), _c('Button', {
+    on: {
+      "click": _vm.handleStart
+    }
+  }, [_vm._v("Start iView")])], 1)])], 1)], 1)
+},staticRenderFns: []}
+module.exports.render._withStripped = true
+if (false) {
+  module.hot.accept()
+  if (module.hot.data) {
+     require("vue-loader/node_modules/vue-hot-reload-api").rerender("data-v-6bfcf060", module.exports)
+  }
+}
+
+/***/ })
+
+});
 //# sourceMappingURL=0.chunk.js.map

+ 346 - 346
crontab/crontabmaster/webroot/dist/1.a9923da8644e2650182c.chunk.js

@@ -1,347 +1,347 @@
-webpackJsonp([1],{
-
-/***/ 177:
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-
-/* harmony default export */ __webpack_exports__["default"] = ({
-    name: "LoginForm",
-    props: {
-        userNameRules: {
-            type: Array,
-            default: function _default() {
-                return [{ required: true, message: "账号不能为空", trigger: "blur" }];
-            }
-        },
-        passwordRules: {
-            type: Array,
-            default: function _default() {
-                return [{ required: true, message: "密码不能为空", trigger: "blur" }];
-            }
-        }
-    },
-    data: function data() {
-        return {
-            form: {
-                userName: "",
-                password: ""
-            }
-        };
-    },
-
-    computed: {
-        rules: function rules() {
-            return {
-                userName: this.userNameRules,
-                password: this.passwordRules
-            };
-        }
-    },
-    methods: {
-        handleSubmit: function handleSubmit() {
-            var _this = this;
-
-            this.$refs.loginForm.validate(function (valid) {
-                if (valid) {
-                    _this.$emit("on-success-valid", {
-                        userName: _this.form.userName,
-                        password: _this.form.password
-                    });
-                }
-            });
-        }
-    }
-});
-
-/***/ }),
-
-/***/ 180:
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__components_login_form_login_form_vue__ = __webpack_require__(218);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__components_login_form_login_form_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__components_login_form_login_form_vue__);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vuex__ = __webpack_require__(17);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_js_md5__ = __webpack_require__(18);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_js_md5___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_js_md5__);
-var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
-
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-
-
-
-
-/* harmony default export */ __webpack_exports__["default"] = ({
-    components: {
-        LoginForm: __WEBPACK_IMPORTED_MODULE_0__components_login_form_login_form_vue___default.a
-    },
-    methods: _extends({}, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1_vuex__["b" /* mapActions */])({
-        handle_login: 'HANDLE_LOGIN'
-    }), {
-        handleSubmit: function handleSubmit(_ref) {
-            var _this = this;
-
-            var userName = _ref.userName,
-                password = _ref.password;
-
-            var password = __WEBPACK_IMPORTED_MODULE_2_js_md5___default()(password);
-            this.handle_login({ userName: userName, password: password }).then(function (res) {
-                _this.$router.push({
-                    path: "/list"
-                });
-            });
-        }
-    })
-});
-
-/***/ }),
-
-/***/ 199:
-/***/ (function(module, exports) {
-
-// removed by extract-text-webpack-plugin
-
-/***/ }),
-
-/***/ 218:
-/***/ (function(module, exports, __webpack_require__) {
-
-var Component = __webpack_require__(16)(
-  /* script */
-  __webpack_require__(177),
-  /* template */
-  __webpack_require__(226),
-  /* scopeId */
-  null,
-  /* cssModules */
-  null
-)
-Component.options.__file = "D:\\workarea\\normal\\crontab\\src\\components\\login-form\\login-form.vue"
-if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")}
-if (Component.options.functional) {console.error("[vue-loader] login-form.vue: functional components are not supported with templates, they should use render functions.")}
-
-/* hot reload */
-if (false) {(function () {
-  var hotAPI = require("vue-loader/node_modules/vue-hot-reload-api")
-  hotAPI.install(require("vue"), false)
-  if (!hotAPI.compatible) return
-  module.hot.accept()
-  if (!module.hot.data) {
-    hotAPI.createRecord("data-v-517f0452", Component.options)
-  } else {
-    hotAPI.reload("data-v-517f0452", Component.options)
-  }
-})()}
-
-module.exports = Component.exports
-
-
-/***/ }),
-
-/***/ 223:
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
-  return _c('div', {
-    staticClass: "login"
-  }, [_c('div', {
-    staticClass: "login-con"
-  }, [_c('Card', {
-    attrs: {
-      "icon": "log-in",
-      "title": "欢迎登录",
-      "bordered": false
-    }
-  }, [_c('div', {
-    staticClass: "form-con"
-  }, [_c('login-form', {
-    on: {
-      "on-success-valid": _vm.handleSubmit
-    }
-  }), _vm._v(" "), _c('p', {
-    staticClass: "login-tip"
-  }, [_vm._v("请输入用户名和密码")])], 1)])], 1)])
-},staticRenderFns: []}
-module.exports.render._withStripped = true
-if (false) {
-  module.hot.accept()
-  if (module.hot.data) {
-     require("vue-loader/node_modules/vue-hot-reload-api").rerender("data-v-35a49377", module.exports)
-  }
-}
-
-/***/ }),
-
-/***/ 226:
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
-  return _c('Form', {
-    ref: "loginForm",
-    attrs: {
-      "model": _vm.form,
-      "rules": _vm.rules
-    },
-    nativeOn: {
-      "keydown": function($event) {
-        if (!('button' in $event) && _vm._k($event.keyCode, "enter", 13, $event.key, "Enter")) { return null; }
-        return _vm.handleSubmit($event)
-      }
-    }
-  }, [_c('FormItem', {
-    attrs: {
-      "prop": "userName"
-    }
-  }, [_c('Input', {
-    attrs: {
-      "placeholder": "请输入用户名"
-    },
-    model: {
-      value: (_vm.form.userName),
-      callback: function($$v) {
-        _vm.$set(_vm.form, "userName", $$v)
-      },
-      expression: "form.userName"
-    }
-  }, [_c('span', {
-    attrs: {
-      "slot": "prepend"
-    },
-    slot: "prepend"
-  }, [_c('Icon', {
-    attrs: {
-      "size": 16,
-      "type": "ios-person"
-    }
-  })], 1)])], 1), _vm._v(" "), _c('FormItem', {
-    attrs: {
-      "prop": "password"
-    }
-  }, [_c('Input', {
-    attrs: {
-      "type": "password",
-      "placeholder": "请输入密码"
-    },
-    model: {
-      value: (_vm.form.password),
-      callback: function($$v) {
-        _vm.$set(_vm.form, "password", $$v)
-      },
-      expression: "form.password"
-    }
-  }, [_c('span', {
-    attrs: {
-      "slot": "prepend"
-    },
-    slot: "prepend"
-  }, [_c('Icon', {
-    attrs: {
-      "size": 14,
-      "type": "md-lock"
-    }
-  })], 1)])], 1), _vm._v(" "), _c('FormItem', [_c('Button', {
-    attrs: {
-      "type": "primary",
-      "long": ""
-    },
-    on: {
-      "click": _vm.handleSubmit
-    }
-  }, [_vm._v("登录")])], 1)], 1)
-},staticRenderFns: []}
-module.exports.render._withStripped = true
-if (false) {
-  module.hot.accept()
-  if (module.hot.data) {
-     require("vue-loader/node_modules/vue-hot-reload-api").rerender("data-v-517f0452", module.exports)
-  }
-}
-
-/***/ }),
-
-/***/ 34:
-/***/ (function(module, exports, __webpack_require__) {
-
-
-/* styles */
-__webpack_require__(199)
-
-var Component = __webpack_require__(16)(
-  /* script */
-  __webpack_require__(180),
-  /* template */
-  __webpack_require__(223),
-  /* scopeId */
-  "data-v-35a49377",
-  /* cssModules */
-  null
-)
-Component.options.__file = "D:\\workarea\\normal\\crontab\\src\\views\\login.vue"
-if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")}
-if (Component.options.functional) {console.error("[vue-loader] login.vue: functional components are not supported with templates, they should use render functions.")}
-
-/* hot reload */
-if (false) {(function () {
-  var hotAPI = require("vue-loader/node_modules/vue-hot-reload-api")
-  hotAPI.install(require("vue"), false)
-  if (!hotAPI.compatible) return
-  module.hot.accept()
-  if (!module.hot.data) {
-    hotAPI.createRecord("data-v-35a49377", Component.options)
-  } else {
-    hotAPI.reload("data-v-35a49377", Component.options)
-  }
-})()}
-
-module.exports = Component.exports
-
-
-/***/ })
-
+webpackJsonp([1],{
+
+/***/ 177:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+
+/* harmony default export */ __webpack_exports__["default"] = ({
+    name: "LoginForm",
+    props: {
+        userNameRules: {
+            type: Array,
+            default: function _default() {
+                return [{ required: true, message: "账号不能为空", trigger: "blur" }];
+            }
+        },
+        passwordRules: {
+            type: Array,
+            default: function _default() {
+                return [{ required: true, message: "密码不能为空", trigger: "blur" }];
+            }
+        }
+    },
+    data: function data() {
+        return {
+            form: {
+                userName: "",
+                password: ""
+            }
+        };
+    },
+
+    computed: {
+        rules: function rules() {
+            return {
+                userName: this.userNameRules,
+                password: this.passwordRules
+            };
+        }
+    },
+    methods: {
+        handleSubmit: function handleSubmit() {
+            var _this = this;
+
+            this.$refs.loginForm.validate(function (valid) {
+                if (valid) {
+                    _this.$emit("on-success-valid", {
+                        userName: _this.form.userName,
+                        password: _this.form.password
+                    });
+                }
+            });
+        }
+    }
+});
+
+/***/ }),
+
+/***/ 180:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__components_login_form_login_form_vue__ = __webpack_require__(218);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__components_login_form_login_form_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__components_login_form_login_form_vue__);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vuex__ = __webpack_require__(17);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_js_md5__ = __webpack_require__(18);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_js_md5___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_js_md5__);
+var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+
+
+
+
+/* harmony default export */ __webpack_exports__["default"] = ({
+    components: {
+        LoginForm: __WEBPACK_IMPORTED_MODULE_0__components_login_form_login_form_vue___default.a
+    },
+    methods: _extends({}, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1_vuex__["b" /* mapActions */])({
+        handle_login: 'HANDLE_LOGIN'
+    }), {
+        handleSubmit: function handleSubmit(_ref) {
+            var _this = this;
+
+            var userName = _ref.userName,
+                password = _ref.password;
+
+            var password = __WEBPACK_IMPORTED_MODULE_2_js_md5___default()(password);
+            this.handle_login({ userName: userName, password: password }).then(function (res) {
+                _this.$router.push({
+                    path: "/list"
+                });
+            });
+        }
+    })
+});
+
+/***/ }),
+
+/***/ 199:
+/***/ (function(module, exports) {
+
+// removed by extract-text-webpack-plugin
+
+/***/ }),
+
+/***/ 218:
+/***/ (function(module, exports, __webpack_require__) {
+
+var Component = __webpack_require__(16)(
+  /* script */
+  __webpack_require__(177),
+  /* template */
+  __webpack_require__(226),
+  /* scopeId */
+  null,
+  /* cssModules */
+  null
+)
+Component.options.__file = "D:\\workarea\\normal\\crontab\\src\\components\\login-form\\login-form.vue"
+if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")}
+if (Component.options.functional) {console.error("[vue-loader] login-form.vue: functional components are not supported with templates, they should use render functions.")}
+
+/* hot reload */
+if (false) {(function () {
+  var hotAPI = require("vue-loader/node_modules/vue-hot-reload-api")
+  hotAPI.install(require("vue"), false)
+  if (!hotAPI.compatible) return
+  module.hot.accept()
+  if (!module.hot.data) {
+    hotAPI.createRecord("data-v-517f0452", Component.options)
+  } else {
+    hotAPI.reload("data-v-517f0452", Component.options)
+  }
+})()}
+
+module.exports = Component.exports
+
+
+/***/ }),
+
+/***/ 223:
+/***/ (function(module, exports, __webpack_require__) {
+
+module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
+  return _c('div', {
+    staticClass: "login"
+  }, [_c('div', {
+    staticClass: "login-con"
+  }, [_c('Card', {
+    attrs: {
+      "icon": "log-in",
+      "title": "欢迎登录",
+      "bordered": false
+    }
+  }, [_c('div', {
+    staticClass: "form-con"
+  }, [_c('login-form', {
+    on: {
+      "on-success-valid": _vm.handleSubmit
+    }
+  }), _vm._v(" "), _c('p', {
+    staticClass: "login-tip"
+  }, [_vm._v("请输入用户名和密码")])], 1)])], 1)])
+},staticRenderFns: []}
+module.exports.render._withStripped = true
+if (false) {
+  module.hot.accept()
+  if (module.hot.data) {
+     require("vue-loader/node_modules/vue-hot-reload-api").rerender("data-v-35a49377", module.exports)
+  }
+}
+
+/***/ }),
+
+/***/ 226:
+/***/ (function(module, exports, __webpack_require__) {
+
+module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
+  return _c('Form', {
+    ref: "loginForm",
+    attrs: {
+      "model": _vm.form,
+      "rules": _vm.rules
+    },
+    nativeOn: {
+      "keydown": function($event) {
+        if (!('button' in $event) && _vm._k($event.keyCode, "enter", 13, $event.key, "Enter")) { return null; }
+        return _vm.handleSubmit($event)
+      }
+    }
+  }, [_c('FormItem', {
+    attrs: {
+      "prop": "userName"
+    }
+  }, [_c('Input', {
+    attrs: {
+      "placeholder": "请输入用户名"
+    },
+    model: {
+      value: (_vm.form.userName),
+      callback: function($$v) {
+        _vm.$set(_vm.form, "userName", $$v)
+      },
+      expression: "form.userName"
+    }
+  }, [_c('span', {
+    attrs: {
+      "slot": "prepend"
+    },
+    slot: "prepend"
+  }, [_c('Icon', {
+    attrs: {
+      "size": 16,
+      "type": "ios-person"
+    }
+  })], 1)])], 1), _vm._v(" "), _c('FormItem', {
+    attrs: {
+      "prop": "password"
+    }
+  }, [_c('Input', {
+    attrs: {
+      "type": "password",
+      "placeholder": "请输入密码"
+    },
+    model: {
+      value: (_vm.form.password),
+      callback: function($$v) {
+        _vm.$set(_vm.form, "password", $$v)
+      },
+      expression: "form.password"
+    }
+  }, [_c('span', {
+    attrs: {
+      "slot": "prepend"
+    },
+    slot: "prepend"
+  }, [_c('Icon', {
+    attrs: {
+      "size": 14,
+      "type": "md-lock"
+    }
+  })], 1)])], 1), _vm._v(" "), _c('FormItem', [_c('Button', {
+    attrs: {
+      "type": "primary",
+      "long": ""
+    },
+    on: {
+      "click": _vm.handleSubmit
+    }
+  }, [_vm._v("登录")])], 1)], 1)
+},staticRenderFns: []}
+module.exports.render._withStripped = true
+if (false) {
+  module.hot.accept()
+  if (module.hot.data) {
+     require("vue-loader/node_modules/vue-hot-reload-api").rerender("data-v-517f0452", module.exports)
+  }
+}
+
+/***/ }),
+
+/***/ 34:
+/***/ (function(module, exports, __webpack_require__) {
+
+
+/* styles */
+__webpack_require__(199)
+
+var Component = __webpack_require__(16)(
+  /* script */
+  __webpack_require__(180),
+  /* template */
+  __webpack_require__(223),
+  /* scopeId */
+  "data-v-35a49377",
+  /* cssModules */
+  null
+)
+Component.options.__file = "D:\\workarea\\normal\\crontab\\src\\views\\login.vue"
+if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")}
+if (Component.options.functional) {console.error("[vue-loader] login.vue: functional components are not supported with templates, they should use render functions.")}
+
+/* hot reload */
+if (false) {(function () {
+  var hotAPI = require("vue-loader/node_modules/vue-hot-reload-api")
+  hotAPI.install(require("vue"), false)
+  if (!hotAPI.compatible) return
+  module.hot.accept()
+  if (!module.hot.data) {
+    hotAPI.createRecord("data-v-35a49377", Component.options)
+  } else {
+    hotAPI.reload("data-v-35a49377", Component.options)
+  }
+})()}
+
+module.exports = Component.exports
+
+
+/***/ })
+
 });

File diff suppressed because it is too large
+ 9 - 9
crontab/crontabmaster/webroot/dist/1.b8f1ff581d25527d4f03.chunk.js


+ 436 - 436
crontab/crontabmaster/webroot/dist/2.a9923da8644e2650182c.chunk.js

@@ -1,437 +1,437 @@
-webpackJsonp([2],{
-
-/***/ 178:
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
-var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
-
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-
-/* harmony default export */ __webpack_exports__["default"] = ({
-    data: function data() {
-        return {
-            isCollapsed: false,
-            menuActiveName: "list", // active-name
-            menuData: [],
-            breadcrumb: []
-        };
-    },
-
-    components: {},
-    mounted: function mounted() {
-        var _this = this;
-
-        this.menuData = __webpack_require__(234);
-
-        this.$nextTick(function () {
-            _this.menuActiveName = _this.$route.path.slice(1);
-            _this.$refs.leftMenu.updateActiveName(); // 手动更新当前选择项,注意要在 $nextTick 里调用
-        });
-
-        this.bindBreadcrumb(this.$route.matched[this.$route.matched.length - 1].name);
-    },
-
-    computed: {
-        rotateIcon: function rotateIcon() {
-            return ["menu-icon", this.isCollapsed ? "rotate-icon" : ""];
-        },
-        menuitemClasses: function menuitemClasses() {
-            return ["menu-item", this.isCollapsed ? "collapsed-menu" : ""];
-        }
-    },
-    watch: {
-        $route: function $route(val) {
-            this.bindBreadcrumb(val.matched[val.matched.length - 1].name);
-        }
-    },
-    methods: {
-        // 面包屑导航
-        bindBreadcrumb: function bindBreadcrumb(name) {
-            var array = this.menuData;
-            var ret = [];
-            for (var index = 0; index < array.length; index++) {
-                var element = array[index];
-                ret = [element];
-                if (element.name == name) {
-                    break;
-                }
-                var childrens = element.children;
-                if (childrens) {
-                    for (var j = 0; j < childrens.length; j++) {
-                        var item = childrens[j];
-                        if (item.name == name) {
-                            // let put = Object.assign({}, item);
-                            // let put = JSON.parse(JSON.stringify(item));
-                            var put = _extends({}, item);
-                            /* if (
-                                item.name == "新建任务" &&
-                                window.location.href.indexOf("id") != -1
-                            ) {
-                                put.name = put.name.replace("新建", "编辑");
-                            } */
-                            ret.push(put);
-                            break;
-                        }
-                    }
-                }
-                if (ret.length > 1) {
-                    break;
-                }
-            }
-            this.breadcrumb = ret;
-        },
-
-
-        // 控制菜单缩放
-        collapsedSider: function collapsedSider() {
-            this.$refs.side1.toggleCollapse();
-        },
-
-
-        // 退出登录
-        signOut: function signOut() {
-            var _this2 = this;
-
-            this.$Modal.warning({
-                title: '温馨提示',
-                content: '确定要退出当前账户么?',
-                onOk: function onOk() {
-                    _this2.$tools.delCookie('token');
-                    _this2.$router.push({
-                        path: '/login'
-                    });
-                }
-
-            });
-        }
-    }
-});
-
-/***/ }),
-
-/***/ 195:
-/***/ (function(module, exports) {
-
-// removed by extract-text-webpack-plugin
-
-/***/ }),
-
-/***/ 229:
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
-  return _c('div', {
-    staticClass: "layout"
-  }, [_c('Layout', [_c('Header', {
-    staticStyle: {
-      "padding-right": "0"
-    }
-  }, [_c('Menu', {
-    attrs: {
-      "mode": "horizontal",
-      "theme": "dark",
-      "active-name": "1",
-      "width": "auto"
-    }
-  }, [_c('div', {
-    staticClass: "layout-logo"
-  }, [_vm._v("\n\t\t\t\t\t\tCrontab\n\t\t\t\t\t")]), _vm._v(" "), _c('Icon', {
-    class: _vm.rotateIcon,
-    style: ({
-      margin: '18px 20px 0 44px',
-      color: '#fff',
-      float: 'left'
-    }),
-    attrs: {
-      "type": "md-menu",
-      "size": "24"
-    },
-    nativeOn: {
-      "click": function($event) {
-        return _vm.collapsedSider($event)
-      }
-    }
-  }), _vm._v(" "), _c('div', {
-    staticClass: "layout-nav"
-  }, [_c('MenuItem', {
-    staticClass: "fr",
-    attrs: {
-      "name": "1"
-    },
-    nativeOn: {
-      "click": function($event) {
-        return _vm.signOut($event)
-      }
-    }
-  }, [_c('Icon', {
-    attrs: {
-      "type": "ios-navigate"
-    }
-  }), _vm._v("\n                            退出\n                        ")], 1)], 1)], 1)], 1), _vm._v(" "), _c('Layout', [_c('Sider', {
-    ref: "side1",
-    style: ({
-      background: '#fff'
-    }),
-    attrs: {
-      "hide-trigger": "",
-      "collapsible": "",
-      "collapsed-width": 78
-    },
-    model: {
-      value: (_vm.isCollapsed),
-      callback: function($$v) {
-        _vm.isCollapsed = $$v
-      },
-      expression: "isCollapsed"
-    }
-  }, [_c('Menu', {
-    ref: "leftMenu",
-    class: _vm.menuitemClasses,
-    attrs: {
-      "active-name": _vm.menuActiveName,
-      "theme": "light",
-      "width": "auto"
-    }
-  }, _vm._l((_vm.menuData), function(item, index) {
-    return _c('MenuItem', {
-      key: item.path,
-      attrs: {
-        "name": item.path.substr(1),
-        "to": item.path
-      }
-    }, [_c('Icon', {
-      attrs: {
-        "type": item.icon
-      }
-    }), _vm._v(" "), _c('span', [_vm._v(_vm._s(item.name))])], 1)
-  }))], 1), _vm._v(" "), _c('Layout', {
-    style: ({
-      padding: '0 24px 24px'
-    })
-  }, [_c('Breadcrumb', {
-    style: ({
-      margin: '24px 0'
-    })
-  }, _vm._l((_vm.breadcrumb), function(item, index) {
-    return _c('BreadcrumbItem', {
-      key: item.name,
-      attrs: {
-        "to": item.path
-      }
-    }, [_vm._v(_vm._s(item.name))])
-  })), _vm._v(" "), _c('Content', {
-    style: ({
-      padding: '10px',
-      minHeight: '280px',
-      background: '#fff'
-    })
-  }, [_c('router-view')], 1)], 1)], 1)], 1)], 1)
-},staticRenderFns: []}
-module.exports.render._withStripped = true
-if (false) {
-  module.hot.accept()
-  if (module.hot.data) {
-     require("vue-loader/node_modules/vue-hot-reload-api").rerender("data-v-6bfcf060", module.exports)
-  }
-}
-
-/***/ }),
-
-/***/ 234:
-/***/ (function(module, exports) {
-
-module.exports = [{"name":"任务列表","icon":"md-list-box","path":"/list","children":[{"name":"列表2","path":"/list2"}]}]
-
-/***/ }),
-
-/***/ 32:
-/***/ (function(module, exports, __webpack_require__) {
-
-
-/* styles */
-__webpack_require__(195)
-
-var Component = __webpack_require__(16)(
-  /* script */
-  __webpack_require__(178),
-  /* template */
-  __webpack_require__(229),
-  /* scopeId */
-  "data-v-6bfcf060",
-  /* cssModules */
-  null
-)
-Component.options.__file = "D:\\workarea\\normal\\crontab\\src\\views\\index.vue"
-if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")}
-if (Component.options.functional) {console.error("[vue-loader] index.vue: functional components are not supported with templates, they should use render functions.")}
-
-/* hot reload */
-if (false) {(function () {
-  var hotAPI = require("vue-loader/node_modules/vue-hot-reload-api")
-  hotAPI.install(require("vue"), false)
-  if (!hotAPI.compatible) return
-  module.hot.accept()
-  if (!module.hot.data) {
-    hotAPI.createRecord("data-v-6bfcf060", Component.options)
-  } else {
-    hotAPI.reload("data-v-6bfcf060", Component.options)
-  }
-})()}
-
-module.exports = Component.exports
-
-
-/***/ })
-
+webpackJsonp([2],{
+
+/***/ 178:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
+var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+
+/* harmony default export */ __webpack_exports__["default"] = ({
+    data: function data() {
+        return {
+            isCollapsed: false,
+            menuActiveName: "list", // active-name
+            menuData: [],
+            breadcrumb: []
+        };
+    },
+
+    components: {},
+    mounted: function mounted() {
+        var _this = this;
+
+        this.menuData = __webpack_require__(234);
+
+        this.$nextTick(function () {
+            _this.menuActiveName = _this.$route.path.slice(1);
+            _this.$refs.leftMenu.updateActiveName(); // 手动更新当前选择项,注意要在 $nextTick 里调用
+        });
+
+        this.bindBreadcrumb(this.$route.matched[this.$route.matched.length - 1].name);
+    },
+
+    computed: {
+        rotateIcon: function rotateIcon() {
+            return ["menu-icon", this.isCollapsed ? "rotate-icon" : ""];
+        },
+        menuitemClasses: function menuitemClasses() {
+            return ["menu-item", this.isCollapsed ? "collapsed-menu" : ""];
+        }
+    },
+    watch: {
+        $route: function $route(val) {
+            this.bindBreadcrumb(val.matched[val.matched.length - 1].name);
+        }
+    },
+    methods: {
+        // 面包屑导航
+        bindBreadcrumb: function bindBreadcrumb(name) {
+            var array = this.menuData;
+            var ret = [];
+            for (var index = 0; index < array.length; index++) {
+                var element = array[index];
+                ret = [element];
+                if (element.name == name) {
+                    break;
+                }
+                var childrens = element.children;
+                if (childrens) {
+                    for (var j = 0; j < childrens.length; j++) {
+                        var item = childrens[j];
+                        if (item.name == name) {
+                            // let put = Object.assign({}, item);
+                            // let put = JSON.parse(JSON.stringify(item));
+                            var put = _extends({}, item);
+                            /* if (
+                                item.name == "新建任务" &&
+                                window.location.href.indexOf("id") != -1
+                            ) {
+                                put.name = put.name.replace("新建", "编辑");
+                            } */
+                            ret.push(put);
+                            break;
+                        }
+                    }
+                }
+                if (ret.length > 1) {
+                    break;
+                }
+            }
+            this.breadcrumb = ret;
+        },
+
+
+        // 控制菜单缩放
+        collapsedSider: function collapsedSider() {
+            this.$refs.side1.toggleCollapse();
+        },
+
+
+        // 退出登录
+        signOut: function signOut() {
+            var _this2 = this;
+
+            this.$Modal.warning({
+                title: '温馨提示',
+                content: '确定要退出当前账户么?',
+                onOk: function onOk() {
+                    _this2.$tools.delCookie('token');
+                    _this2.$router.push({
+                        path: '/login'
+                    });
+                }
+
+            });
+        }
+    }
+});
+
+/***/ }),
+
+/***/ 195:
+/***/ (function(module, exports) {
+
+// removed by extract-text-webpack-plugin
+
+/***/ }),
+
+/***/ 229:
+/***/ (function(module, exports, __webpack_require__) {
+
+module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
+  return _c('div', {
+    staticClass: "layout"
+  }, [_c('Layout', [_c('Header', {
+    staticStyle: {
+      "padding-right": "0"
+    }
+  }, [_c('Menu', {
+    attrs: {
+      "mode": "horizontal",
+      "theme": "dark",
+      "active-name": "1",
+      "width": "auto"
+    }
+  }, [_c('div', {
+    staticClass: "layout-logo"
+  }, [_vm._v("\n\t\t\t\t\t\tCrontab\n\t\t\t\t\t")]), _vm._v(" "), _c('Icon', {
+    class: _vm.rotateIcon,
+    style: ({
+      margin: '18px 20px 0 44px',
+      color: '#fff',
+      float: 'left'
+    }),
+    attrs: {
+      "type": "md-menu",
+      "size": "24"
+    },
+    nativeOn: {
+      "click": function($event) {
+        return _vm.collapsedSider($event)
+      }
+    }
+  }), _vm._v(" "), _c('div', {
+    staticClass: "layout-nav"
+  }, [_c('MenuItem', {
+    staticClass: "fr",
+    attrs: {
+      "name": "1"
+    },
+    nativeOn: {
+      "click": function($event) {
+        return _vm.signOut($event)
+      }
+    }
+  }, [_c('Icon', {
+    attrs: {
+      "type": "ios-navigate"
+    }
+  }), _vm._v("\n                            退出\n                        ")], 1)], 1)], 1)], 1), _vm._v(" "), _c('Layout', [_c('Sider', {
+    ref: "side1",
+    style: ({
+      background: '#fff'
+    }),
+    attrs: {
+      "hide-trigger": "",
+      "collapsible": "",
+      "collapsed-width": 78
+    },
+    model: {
+      value: (_vm.isCollapsed),
+      callback: function($$v) {
+        _vm.isCollapsed = $$v
+      },
+      expression: "isCollapsed"
+    }
+  }, [_c('Menu', {
+    ref: "leftMenu",
+    class: _vm.menuitemClasses,
+    attrs: {
+      "active-name": _vm.menuActiveName,
+      "theme": "light",
+      "width": "auto"
+    }
+  }, _vm._l((_vm.menuData), function(item, index) {
+    return _c('MenuItem', {
+      key: item.path,
+      attrs: {
+        "name": item.path.substr(1),
+        "to": item.path
+      }
+    }, [_c('Icon', {
+      attrs: {
+        "type": item.icon
+      }
+    }), _vm._v(" "), _c('span', [_vm._v(_vm._s(item.name))])], 1)
+  }))], 1), _vm._v(" "), _c('Layout', {
+    style: ({
+      padding: '0 24px 24px'
+    })
+  }, [_c('Breadcrumb', {
+    style: ({
+      margin: '24px 0'
+    })
+  }, _vm._l((_vm.breadcrumb), function(item, index) {
+    return _c('BreadcrumbItem', {
+      key: item.name,
+      attrs: {
+        "to": item.path
+      }
+    }, [_vm._v(_vm._s(item.name))])
+  })), _vm._v(" "), _c('Content', {
+    style: ({
+      padding: '10px',
+      minHeight: '280px',
+      background: '#fff'
+    })
+  }, [_c('router-view')], 1)], 1)], 1)], 1)], 1)
+},staticRenderFns: []}
+module.exports.render._withStripped = true
+if (false) {
+  module.hot.accept()
+  if (module.hot.data) {
+     require("vue-loader/node_modules/vue-hot-reload-api").rerender("data-v-6bfcf060", module.exports)
+  }
+}
+
+/***/ }),
+
+/***/ 234:
+/***/ (function(module, exports) {
+
+module.exports = [{"name":"任务列表","icon":"md-list-box","path":"/list","children":[{"name":"列表2","path":"/list2"}]}]
+
+/***/ }),
+
+/***/ 32:
+/***/ (function(module, exports, __webpack_require__) {
+
+
+/* styles */
+__webpack_require__(195)
+
+var Component = __webpack_require__(16)(
+  /* script */
+  __webpack_require__(178),
+  /* template */
+  __webpack_require__(229),
+  /* scopeId */
+  "data-v-6bfcf060",
+  /* cssModules */
+  null
+)
+Component.options.__file = "D:\\workarea\\normal\\crontab\\src\\views\\index.vue"
+if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")}
+if (Component.options.functional) {console.error("[vue-loader] index.vue: functional components are not supported with templates, they should use render functions.")}
+
+/* hot reload */
+if (false) {(function () {
+  var hotAPI = require("vue-loader/node_modules/vue-hot-reload-api")
+  hotAPI.install(require("vue"), false)
+  if (!hotAPI.compatible) return
+  module.hot.accept()
+  if (!module.hot.data) {
+    hotAPI.createRecord("data-v-6bfcf060", Component.options)
+  } else {
+    hotAPI.reload("data-v-6bfcf060", Component.options)
+  }
+})()}
+
+module.exports = Component.exports
+
+
+/***/ })
+
 });

+ 247 - 247
crontab/crontabmaster/webroot/dist/3.a9923da8644e2650182c.chunk.js

@@ -1,248 +1,248 @@
-webpackJsonp([3],{
-
-/***/ 181:
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-
-/* harmony default export */ __webpack_exports__["default"] = ({
-    data: function data() {
-        return {
-            isCollapsed: false
-        };
-    },
-
-    computed: {
-        rotateIcon: function rotateIcon() {
-            return ['menu-icon', this.isCollapsed ? 'rotate-icon' : ''];
-        },
-        menuitemClasses: function menuitemClasses() {
-            return ['menu-item', this.isCollapsed ? 'collapsed-menu' : ''];
-        }
-    },
-    methods: {
-        collapsedSider: function collapsedSider() {
-            this.$refs.side1.toggleCollapse();
-        }
-    }
-});
-
-/***/ }),
-
-/***/ 198:
-/***/ (function(module, exports) {
-
-// removed by extract-text-webpack-plugin
-
-/***/ }),
-
-/***/ 232:
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
-  return _c('div', {
-    staticClass: "layout"
-  }, [_c('Layout', [_c('Sider', {
-    ref: "side1",
-    attrs: {
-      "hide-trigger": "",
-      "collapsible": "",
-      "collapsed-width": 78
-    },
-    model: {
-      value: (_vm.isCollapsed),
-      callback: function($$v) {
-        _vm.isCollapsed = $$v
-      },
-      expression: "isCollapsed"
-    }
-  }, [_c('Menu', {
-    class: _vm.menuitemClasses,
-    attrs: {
-      "active-name": "1-2",
-      "theme": "dark",
-      "width": "auto"
-    }
-  }, [_c('MenuItem', {
-    attrs: {
-      "name": "1-1"
-    }
-  }, [_c('Icon', {
-    attrs: {
-      "type": "ios-navigate"
-    }
-  }), _vm._v(" "), _c('span', [_vm._v("Option 1")])], 1), _vm._v(" "), _c('MenuItem', {
-    attrs: {
-      "name": "1-2"
-    }
-  }, [_c('Icon', {
-    attrs: {
-      "type": "ios-search"
-    }
-  }), _vm._v(" "), _c('span', [_vm._v("Option 2")])], 1), _vm._v(" "), _c('MenuItem', {
-    attrs: {
-      "name": "1-3"
-    }
-  }, [_c('Icon', {
-    attrs: {
-      "type": "ios-settings"
-    }
-  }), _vm._v(" "), _c('span', [_vm._v("Option 3")])], 1)], 1)], 1), _vm._v(" "), _c('Layout', [_c('Header', {
-    staticClass: "layout-header-bar",
-    style: ({
-      padding: 0
-    })
-  }, [_c('Icon', {
-    class: _vm.rotateIcon,
-    style: ({
-      margin: '0 20px'
-    }),
-    attrs: {
-      "type": "md-menu",
-      "size": "24"
-    },
-    nativeOn: {
-      "click": function($event) {
-        return _vm.collapsedSider($event)
-      }
-    }
-  })], 1), _vm._v(" "), _c('Content', {
-    style: ({
-      margin: '20px',
-      background: '#fff',
-      minHeight: '260px'
-    })
-  }, [_vm._v("\n                Content\n            ")])], 1)], 1)], 1)
-},staticRenderFns: []}
-module.exports.render._withStripped = true
-if (false) {
-  module.hot.accept()
-  if (module.hot.data) {
-     require("vue-loader/node_modules/vue-hot-reload-api").rerender("data-v-b0500d18", module.exports)
-  }
-}
-
-/***/ }),
-
-/***/ 35:
-/***/ (function(module, exports, __webpack_require__) {
-
-
-/* styles */
-__webpack_require__(198)
-
-var Component = __webpack_require__(16)(
-  /* script */
-  __webpack_require__(181),
-  /* template */
-  __webpack_require__(232),
-  /* scopeId */
-  "data-v-b0500d18",
-  /* cssModules */
-  null
-)
-Component.options.__file = "D:\\workarea\\normal\\crontab\\src\\views\\test.vue"
-if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")}
-if (Component.options.functional) {console.error("[vue-loader] test.vue: functional components are not supported with templates, they should use render functions.")}
-
-/* hot reload */
-if (false) {(function () {
-  var hotAPI = require("vue-loader/node_modules/vue-hot-reload-api")
-  hotAPI.install(require("vue"), false)
-  if (!hotAPI.compatible) return
-  module.hot.accept()
-  if (!module.hot.data) {
-    hotAPI.createRecord("data-v-b0500d18", Component.options)
-  } else {
-    hotAPI.reload("data-v-b0500d18", Component.options)
-  }
-})()}
-
-module.exports = Component.exports
-
-
-/***/ })
-
+webpackJsonp([3],{
+
+/***/ 181:
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+
+/* harmony default export */ __webpack_exports__["default"] = ({
+    data: function data() {
+        return {
+            isCollapsed: false
+        };
+    },
+
+    computed: {
+        rotateIcon: function rotateIcon() {
+            return ['menu-icon', this.isCollapsed ? 'rotate-icon' : ''];
+        },
+        menuitemClasses: function menuitemClasses() {
+            return ['menu-item', this.isCollapsed ? 'collapsed-menu' : ''];
+        }
+    },
+    methods: {
+        collapsedSider: function collapsedSider() {
+            this.$refs.side1.toggleCollapse();
+        }
+    }
+});
+
+/***/ }),
+
+/***/ 198:
+/***/ (function(module, exports) {
+
+// removed by extract-text-webpack-plugin
+
+/***/ }),
+
+/***/ 232:
+/***/ (function(module, exports, __webpack_require__) {
+
+module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
+  return _c('div', {
+    staticClass: "layout"
+  }, [_c('Layout', [_c('Sider', {
+    ref: "side1",
+    attrs: {
+      "hide-trigger": "",
+      "collapsible": "",
+      "collapsed-width": 78
+    },
+    model: {
+      value: (_vm.isCollapsed),
+      callback: function($$v) {
+        _vm.isCollapsed = $$v
+      },
+      expression: "isCollapsed"
+    }
+  }, [_c('Menu', {
+    class: _vm.menuitemClasses,
+    attrs: {
+      "active-name": "1-2",
+      "theme": "dark",
+      "width": "auto"
+    }
+  }, [_c('MenuItem', {
+    attrs: {
+      "name": "1-1"
+    }
+  }, [_c('Icon', {
+    attrs: {
+      "type": "ios-navigate"
+    }
+  }), _vm._v(" "), _c('span', [_vm._v("Option 1")])], 1), _vm._v(" "), _c('MenuItem', {
+    attrs: {
+      "name": "1-2"
+    }
+  }, [_c('Icon', {
+    attrs: {
+      "type": "ios-search"
+    }
+  }), _vm._v(" "), _c('span', [_vm._v("Option 2")])], 1), _vm._v(" "), _c('MenuItem', {
+    attrs: {
+      "name": "1-3"
+    }
+  }, [_c('Icon', {
+    attrs: {
+      "type": "ios-settings"
+    }
+  }), _vm._v(" "), _c('span', [_vm._v("Option 3")])], 1)], 1)], 1), _vm._v(" "), _c('Layout', [_c('Header', {
+    staticClass: "layout-header-bar",
+    style: ({
+      padding: 0
+    })
+  }, [_c('Icon', {
+    class: _vm.rotateIcon,
+    style: ({
+      margin: '0 20px'
+    }),
+    attrs: {
+      "type": "md-menu",
+      "size": "24"
+    },
+    nativeOn: {
+      "click": function($event) {
+        return _vm.collapsedSider($event)
+      }
+    }
+  })], 1), _vm._v(" "), _c('Content', {
+    style: ({
+      margin: '20px',
+      background: '#fff',
+      minHeight: '260px'
+    })
+  }, [_vm._v("\n                Content\n            ")])], 1)], 1)], 1)
+},staticRenderFns: []}
+module.exports.render._withStripped = true
+if (false) {
+  module.hot.accept()
+  if (module.hot.data) {
+     require("vue-loader/node_modules/vue-hot-reload-api").rerender("data-v-b0500d18", module.exports)
+  }
+}
+
+/***/ }),
+
+/***/ 35:
+/***/ (function(module, exports, __webpack_require__) {
+
+
+/* styles */
+__webpack_require__(198)
+
+var Component = __webpack_require__(16)(
+  /* script */
+  __webpack_require__(181),
+  /* template */
+  __webpack_require__(232),
+  /* scopeId */
+  "data-v-b0500d18",
+  /* cssModules */
+  null
+)
+Component.options.__file = "D:\\workarea\\normal\\crontab\\src\\views\\test.vue"
+if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")}
+if (Component.options.functional) {console.error("[vue-loader] test.vue: functional components are not supported with templates, they should use render functions.")}
+
+/* hot reload */
+if (false) {(function () {
+  var hotAPI = require("vue-loader/node_modules/vue-hot-reload-api")
+  hotAPI.install(require("vue"), false)
+  if (!hotAPI.compatible) return
+  module.hot.accept()
+  if (!module.hot.data) {
+    hotAPI.createRecord("data-v-b0500d18", Component.options)
+  } else {
+    hotAPI.reload("data-v-b0500d18", Component.options)
+  }
+})()}
+
+module.exports = Component.exports
+
+
+/***/ })
+
 });

File diff suppressed because it is too large
+ 869 - 869
crontab/crontabmaster/webroot/dist/a2c4a261a239aa84463dc70e4bac9b9a.svg


File diff suppressed because it is too large
+ 506 - 506
crontab/crontabmaster/webroot/dist/main.101e1dd93c7116832846.css


File diff suppressed because it is too large
+ 506 - 506
crontab/crontabmaster/webroot/dist/main.1ecba82494183b86c6df.css


File diff suppressed because it is too large
+ 2714 - 2714
crontab/crontabmaster/webroot/dist/main.1ecba82494183b86c6df.js


File diff suppressed because it is too large
+ 506 - 506
crontab/crontabmaster/webroot/dist/main.20461db8878d76d0a8e0.css


File diff suppressed because it is too large
+ 506 - 506
crontab/crontabmaster/webroot/dist/main.292d35ab6115b3c3644d.css


File diff suppressed because it is too large
+ 506 - 506
crontab/crontabmaster/webroot/dist/main.2d63fa2b1d9ed74482c2.css


File diff suppressed because it is too large
+ 506 - 506
crontab/crontabmaster/webroot/dist/main.41c88f7785feb491abdd.css


File diff suppressed because it is too large
+ 506 - 506
crontab/crontabmaster/webroot/dist/main.4ffec7a6c9c35906ac41.css


File diff suppressed because it is too large
+ 506 - 506
crontab/crontabmaster/webroot/dist/main.58a71dcc90a2054a7681.css


File diff suppressed because it is too large
+ 506 - 506
crontab/crontabmaster/webroot/dist/main.947d2103f3f3b76d1986.css


File diff suppressed because it is too large
+ 2714 - 2714
crontab/crontabmaster/webroot/dist/main.947d2103f3f3b76d1986.js


File diff suppressed because it is too large
+ 506 - 506
crontab/crontabmaster/webroot/dist/main.9ed7d19dc485cc6c433c.css


File diff suppressed because it is too large
+ 506 - 506
crontab/crontabmaster/webroot/dist/main.a9923da8644e2650182c.css


File diff suppressed because it is too large
+ 2714 - 2714
crontab/crontabmaster/webroot/dist/main.a9923da8644e2650182c.js


File diff suppressed because it is too large
+ 506 - 506
crontab/crontabmaster/webroot/dist/main.b8f1ff581d25527d4f03.css


File diff suppressed because it is too large
+ 1841 - 1841
crontab/crontabmaster/webroot/dist/main.b8f1ff581d25527d4f03.js


File diff suppressed because it is too large
+ 506 - 506
crontab/crontabmaster/webroot/dist/main.c7c6cdc01fa7b4823a1f.css


File diff suppressed because it is too large
+ 2 - 2
crontab/crontabmaster/webroot/dist/main.css


File diff suppressed because it is too large
+ 506 - 506
crontab/crontabmaster/webroot/dist/main.f8007a840b43b4d43b07.css


+ 239 - 239
crontab/crontabmaster/webroot/dist/main.js

@@ -1,240 +1,240 @@
-webpackJsonp([1],[
-/* 0 */,
-/* 1 */,
-/* 2 */,
-/* 3 */,
-/* 4 */,
-/* 5 */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-var util = {};
-util.title = function (title) {
-    title = title ? title + ' - Home' : 'iView project';
-    window.document.title = title;
-};
-
-/* harmony default export */ __webpack_exports__["a"] = (util);
-
-/***/ }),
-/* 6 */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-var routers = [{
-    path: '/',
-    meta: {
-        title: ''
-    },
-    component: function component(resolve) {
-        return __webpack_require__.e/* require */(0).then(function() { var __WEBPACK_AMD_REQUIRE_ARRAY__ = [__webpack_require__(17)]; (resolve.apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__));}.bind(this)).catch(__webpack_require__.oe);
-    }
-}];
-/* harmony default export */ __webpack_exports__["a"] = (routers);
-
-/***/ }),
-/* 7 */
-/***/ (function(module, exports) {
-
-// removed by extract-text-webpack-plugin
-
-/***/ }),
-/* 8 */
-/***/ (function(module, exports, __webpack_require__) {
-
-
-/* styles */
-__webpack_require__(13)
-
-var Component = __webpack_require__(9)(
-  /* script */
-  __webpack_require__(10),
-  /* template */
-  __webpack_require__(16),
-  /* scopeId */
-  "data-v-866dc8e0",
-  /* cssModules */
-  null
-)
-Component.options.__file = "D:\\workarea\\normal\\crontab\\src\\app.vue"
-if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")}
-if (Component.options.functional) {console.error("[vue-loader] app.vue: functional components are not supported with templates, they should use render functions.")}
-
-/* hot reload */
-if (false) {(function () {
-  var hotAPI = require("vue-loader/node_modules/vue-hot-reload-api")
-  hotAPI.install(require("vue"), false)
-  if (!hotAPI.compatible) return
-  module.hot.accept()
-  if (!module.hot.data) {
-    hotAPI.createRecord("data-v-866dc8e0", Component.options)
-  } else {
-    hotAPI.reload("data-v-866dc8e0", Component.options)
-  }
-})()}
-
-module.exports = Component.exports
-
-
-/***/ }),
-/* 9 */
-/***/ (function(module, exports) {
-
-// this module is a runtime utility for cleaner component module output and will
-// be included in the final webpack user bundle
-
-module.exports = function normalizeComponent (
-  rawScriptExports,
-  compiledTemplate,
-  scopeId,
-  cssModules
-) {
-  var esModule
-  var scriptExports = rawScriptExports = rawScriptExports || {}
-
-  // ES6 modules interop
-  var type = typeof rawScriptExports.default
-  if (type === 'object' || type === 'function') {
-    esModule = rawScriptExports
-    scriptExports = rawScriptExports.default
-  }
-
-  // Vue.extend constructor export interop
-  var options = typeof scriptExports === 'function'
-    ? scriptExports.options
-    : scriptExports
-
-  // render functions
-  if (compiledTemplate) {
-    options.render = compiledTemplate.render
-    options.staticRenderFns = compiledTemplate.staticRenderFns
-  }
-
-  // scopedId
-  if (scopeId) {
-    options._scopeId = scopeId
-  }
-
-  // inject cssModules
-  if (cssModules) {
-    var computed = Object.create(options.computed || null)
-    Object.keys(cssModules).forEach(function (key) {
-      var module = cssModules[key]
-      computed[key] = function () { return module }
-    })
-    options.computed = computed
-  }
-
-  return {
-    esModule: esModule,
-    exports: scriptExports,
-    options: options
-  }
-}
-
-
-/***/ }),
-/* 10 */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
-//
-//
-//
-//
-//
-//
-//
-//
-
-/* harmony default export */ __webpack_exports__["default"] = ({
-    data: function data() {
-        return {};
-    },
-    mounted: function mounted() {},
-    beforeDestroy: function beforeDestroy() {},
-
-    methods: {}
-});
-
-/***/ }),
-/* 11 */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(0);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_iview__ = __webpack_require__(1);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_iview___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_iview__);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vue_router__ = __webpack_require__(2);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__router__ = __webpack_require__(6);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__libs_util__ = __webpack_require__(5);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__app_vue__ = __webpack_require__(8);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__app_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5__app_vue__);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_iview_dist_styles_iview_css__ = __webpack_require__(7);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_iview_dist_styles_iview_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_iview_dist_styles_iview_css__);
-
-
-
-
-
-
-
-
-__WEBPACK_IMPORTED_MODULE_0_vue__["default"].use(__WEBPACK_IMPORTED_MODULE_2_vue_router__["a" /* default */]);
-__WEBPACK_IMPORTED_MODULE_0_vue__["default"].use(__WEBPACK_IMPORTED_MODULE_1_iview___default.a);
-
-// 路由配置
-var RouterConfig = {
-    mode: 'history',
-    routes: __WEBPACK_IMPORTED_MODULE_3__router__["a" /* default */]
-};
-var router = new __WEBPACK_IMPORTED_MODULE_2_vue_router__["a" /* default */](RouterConfig);
-
-router.beforeEach(function (to, from, next) {
-    __WEBPACK_IMPORTED_MODULE_1_iview___default.a.LoadingBar.start();
-    __WEBPACK_IMPORTED_MODULE_4__libs_util__["a" /* default */].title(to.meta.title);
-    next();
-});
-
-router.afterEach(function (to, from, next) {
-    __WEBPACK_IMPORTED_MODULE_1_iview___default.a.LoadingBar.finish();
-    window.scrollTo(0, 0);
-});
-
-new __WEBPACK_IMPORTED_MODULE_0_vue__["default"]({
-    el: '#app',
-    router: router,
-    render: function render(h) {
-        return h(__WEBPACK_IMPORTED_MODULE_5__app_vue___default.a);
-    }
-});
-
-/***/ }),
-/* 12 */,
-/* 13 */
-/***/ (function(module, exports) {
-
-// removed by extract-text-webpack-plugin
-
-/***/ }),
-/* 14 */,
-/* 15 */,
-/* 16 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
-  return _c('div', [_c('router-view')], 1)
-},staticRenderFns: []}
-module.exports.render._withStripped = true
-if (false) {
-  module.hot.accept()
-  if (module.hot.data) {
-     require("vue-loader/node_modules/vue-hot-reload-api").rerender("data-v-866dc8e0", module.exports)
-  }
-}
-
-/***/ })
-],[11]);
+webpackJsonp([1],[
+/* 0 */,
+/* 1 */,
+/* 2 */,
+/* 3 */,
+/* 4 */,
+/* 5 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+var util = {};
+util.title = function (title) {
+    title = title ? title + ' - Home' : 'iView project';
+    window.document.title = title;
+};
+
+/* harmony default export */ __webpack_exports__["a"] = (util);
+
+/***/ }),
+/* 6 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+var routers = [{
+    path: '/',
+    meta: {
+        title: ''
+    },
+    component: function component(resolve) {
+        return __webpack_require__.e/* require */(0).then(function() { var __WEBPACK_AMD_REQUIRE_ARRAY__ = [__webpack_require__(17)]; (resolve.apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__));}.bind(this)).catch(__webpack_require__.oe);
+    }
+}];
+/* harmony default export */ __webpack_exports__["a"] = (routers);
+
+/***/ }),
+/* 7 */
+/***/ (function(module, exports) {
+
+// removed by extract-text-webpack-plugin
+
+/***/ }),
+/* 8 */
+/***/ (function(module, exports, __webpack_require__) {
+
+
+/* styles */
+__webpack_require__(13)
+
+var Component = __webpack_require__(9)(
+  /* script */
+  __webpack_require__(10),
+  /* template */
+  __webpack_require__(16),
+  /* scopeId */
+  "data-v-866dc8e0",
+  /* cssModules */
+  null
+)
+Component.options.__file = "D:\\workarea\\normal\\crontab\\src\\app.vue"
+if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")}
+if (Component.options.functional) {console.error("[vue-loader] app.vue: functional components are not supported with templates, they should use render functions.")}
+
+/* hot reload */
+if (false) {(function () {
+  var hotAPI = require("vue-loader/node_modules/vue-hot-reload-api")
+  hotAPI.install(require("vue"), false)
+  if (!hotAPI.compatible) return
+  module.hot.accept()
+  if (!module.hot.data) {
+    hotAPI.createRecord("data-v-866dc8e0", Component.options)
+  } else {
+    hotAPI.reload("data-v-866dc8e0", Component.options)
+  }
+})()}
+
+module.exports = Component.exports
+
+
+/***/ }),
+/* 9 */
+/***/ (function(module, exports) {
+
+// this module is a runtime utility for cleaner component module output and will
+// be included in the final webpack user bundle
+
+module.exports = function normalizeComponent (
+  rawScriptExports,
+  compiledTemplate,
+  scopeId,
+  cssModules
+) {
+  var esModule
+  var scriptExports = rawScriptExports = rawScriptExports || {}
+
+  // ES6 modules interop
+  var type = typeof rawScriptExports.default
+  if (type === 'object' || type === 'function') {
+    esModule = rawScriptExports
+    scriptExports = rawScriptExports.default
+  }
+
+  // Vue.extend constructor export interop
+  var options = typeof scriptExports === 'function'
+    ? scriptExports.options
+    : scriptExports
+
+  // render functions
+  if (compiledTemplate) {
+    options.render = compiledTemplate.render
+    options.staticRenderFns = compiledTemplate.staticRenderFns
+  }
+
+  // scopedId
+  if (scopeId) {
+    options._scopeId = scopeId
+  }
+
+  // inject cssModules
+  if (cssModules) {
+    var computed = Object.create(options.computed || null)
+    Object.keys(cssModules).forEach(function (key) {
+      var module = cssModules[key]
+      computed[key] = function () { return module }
+    })
+    options.computed = computed
+  }
+
+  return {
+    esModule: esModule,
+    exports: scriptExports,
+    options: options
+  }
+}
+
+
+/***/ }),
+/* 10 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
+//
+//
+//
+//
+//
+//
+//
+//
+
+/* harmony default export */ __webpack_exports__["default"] = ({
+    data: function data() {
+        return {};
+    },
+    mounted: function mounted() {},
+    beforeDestroy: function beforeDestroy() {},
+
+    methods: {}
+});
+
+/***/ }),
+/* 11 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(0);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_iview__ = __webpack_require__(1);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_iview___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_iview__);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vue_router__ = __webpack_require__(2);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__router__ = __webpack_require__(6);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__libs_util__ = __webpack_require__(5);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__app_vue__ = __webpack_require__(8);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__app_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5__app_vue__);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_iview_dist_styles_iview_css__ = __webpack_require__(7);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_iview_dist_styles_iview_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_iview_dist_styles_iview_css__);
+
+
+
+
+
+
+
+
+__WEBPACK_IMPORTED_MODULE_0_vue__["default"].use(__WEBPACK_IMPORTED_MODULE_2_vue_router__["a" /* default */]);
+__WEBPACK_IMPORTED_MODULE_0_vue__["default"].use(__WEBPACK_IMPORTED_MODULE_1_iview___default.a);
+
+// 路由配置
+var RouterConfig = {
+    mode: 'history',
+    routes: __WEBPACK_IMPORTED_MODULE_3__router__["a" /* default */]
+};
+var router = new __WEBPACK_IMPORTED_MODULE_2_vue_router__["a" /* default */](RouterConfig);
+
+router.beforeEach(function (to, from, next) {
+    __WEBPACK_IMPORTED_MODULE_1_iview___default.a.LoadingBar.start();
+    __WEBPACK_IMPORTED_MODULE_4__libs_util__["a" /* default */].title(to.meta.title);
+    next();
+});
+
+router.afterEach(function (to, from, next) {
+    __WEBPACK_IMPORTED_MODULE_1_iview___default.a.LoadingBar.finish();
+    window.scrollTo(0, 0);
+});
+
+new __WEBPACK_IMPORTED_MODULE_0_vue__["default"]({
+    el: '#app',
+    router: router,
+    render: function render(h) {
+        return h(__WEBPACK_IMPORTED_MODULE_5__app_vue___default.a);
+    }
+});
+
+/***/ }),
+/* 12 */,
+/* 13 */
+/***/ (function(module, exports) {
+
+// removed by extract-text-webpack-plugin
+
+/***/ }),
+/* 14 */,
+/* 15 */,
+/* 16 */
+/***/ (function(module, exports, __webpack_require__) {
+
+module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
+  return _c('div', [_c('router-view')], 1)
+},staticRenderFns: []}
+module.exports.render._withStripped = true
+if (false) {
+  module.hot.accept()
+  if (module.hot.data) {
+     require("vue-loader/node_modules/vue-hot-reload-api").rerender("data-v-866dc8e0", module.exports)
+  }
+}
+
+/***/ })
+],[11]);
 //# sourceMappingURL=main.js.map

File diff suppressed because it is too large
+ 48 - 48
crontab/crontabmaster/webroot/dist/vendors.1ecba82494183b86c6df.js


File diff suppressed because it is too large
+ 48 - 48
crontab/crontabmaster/webroot/dist/vendors.947d2103f3f3b76d1986.js


File diff suppressed because it is too large
+ 60122 - 60122
crontab/crontabmaster/webroot/dist/vendors.a9923da8644e2650182c.js


File diff suppressed because it is too large
+ 48 - 48
crontab/crontabmaster/webroot/dist/vendors.b8f1ff581d25527d4f03.js


File diff suppressed because it is too large
+ 54751 - 54751
crontab/crontabmaster/webroot/dist/vendors.js


+ 15 - 15
crontab/crontabmaster/webroot/index.html

@@ -1,16 +1,16 @@
-<!DOCTYPE html>
-<html lang="zh-CN">
-
-<head>
-    <title>cronTab</title>
-    <meta charset="UTF-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
-    <link rel="stylesheet" href="/dist/main.4ffec7a6c9c35906ac41.css">
-</head>
-
-<body>
-    <div id="app"></div>
-    <script type="text/javascript" src="/dist/vendors.4ffec7a6c9c35906ac41.js"></script>
-    <script type="text/javascript" src="/dist/main.4ffec7a6c9c35906ac41.js"></script>
-</body>
+<!DOCTYPE html>
+<html lang="zh-CN">
+
+<head>
+    <title>cronTab</title>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <link rel="stylesheet" href="/dist/main.4ffec7a6c9c35906ac41.css">
+</head>
+
+<body>
+    <div id="app"></div>
+    <script type="text/javascript" src="/dist/vendors.4ffec7a6c9c35906ac41.js"></script>
+    <script type="text/javascript" src="/dist/main.4ffec7a6c9c35906ac41.js"></script>
+</body>
 </html>

+ 9 - 9
crontab/crontabworker/Dockerfile

@@ -1,10 +1,10 @@
-FROM golang:1.9.2
-RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
-RUN echo 'Asia/Shanghai' > /etc/timezone
-
-COPY agollo.json /go/bin/
-COPY crontabworker /go/bin/
-RUN chmod +x /go/bin/crontabworker
-WORKDIR /go/bin
-
+FROM golang:1.9.2
+RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
+RUN echo 'Asia/Shanghai' > /etc/timezone
+
+COPY agollo.json /go/bin/
+COPY crontabworker /go/bin/
+RUN chmod +x /go/bin/crontabworker
+WORKDIR /go/bin
+
 CMD ["/go/bin/crontabworker"]

+ 7 - 7
crontab/crontabworker/agollo.json

@@ -1,8 +1,8 @@
-{
-  "appId": "cronTabWorker",
-  "cluster" : "default",
-  "namespaceNames" : ["worker.yaml"],
-  "ip" : "10.26.0.70:8080",
-  "oneNameSpaceMode" : true,
-  "tagname" : "yaml"
+{
+  "appId": "cronTabWorker",
+  "cluster" : "default",
+  "namespaceNames" : ["worker.yaml"],
+  "ip" : "10.26.0.70:8080",
+  "oneNameSpaceMode" : true,
+  "tagname" : "yaml"
 }

+ 8 - 8
crontab/crontabworker/push.sh

@@ -1,8 +1,8 @@
-#!/bin/bash
-
-release=$1
-
-[ ! -n "$release" ] && exit 1
-
-docker build -t registry-vpc.cn-beijing.aliyuncs.com/xinyue/crontabworker:${release} .
-docker push registry-vpc.cn-beijing.aliyuncs.com/xinyue/crontabworker:${release}
+#!/bin/bash
+
+release=$1
+
+[ ! -n "$release" ] && exit 1
+
+docker build -t registry-vpc.cn-beijing.aliyuncs.com/xinyue/crontabworker:${release} .
+docker push registry-vpc.cn-beijing.aliyuncs.com/xinyue/crontabworker:${release}

+ 16 - 16
k8swebapi-nginx/Dockerfile

@@ -1,17 +1,17 @@
-FROM nginx:1.15.6
-
-RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
-RUN echo 'Asia/Shanghai' > /etc/timezone
-
-RUN rm -f /etc/nginx/conf.d/default.conf
-RUN rm -f /etc/nginx/tcp.d/default.conf
-COPY nginx.conf /etc/nginx/nginx.conf
-COPY conf.d /etc/nginx/conf.d/
-COPY tcp.d /etc/nginx/tcp.d/
-COPY ssl /etc/nginx/ssl/
-
-RUN rm -rf /usr/share/nginx/html
-RUN mkdir /usr/share/nginx/html
-#COPY html /usr/share/nginx/html/
-
+FROM nginx:1.15.6
+
+RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
+RUN echo 'Asia/Shanghai' > /etc/timezone
+
+RUN rm -f /etc/nginx/conf.d/default.conf
+RUN rm -f /etc/nginx/tcp.d/default.conf
+COPY nginx.conf /etc/nginx/nginx.conf
+COPY conf.d /etc/nginx/conf.d/
+COPY tcp.d /etc/nginx/tcp.d/
+COPY ssl /etc/nginx/ssl/
+
+RUN rm -rf /usr/share/nginx/html
+RUN mkdir /usr/share/nginx/html
+#COPY html /usr/share/nginx/html/
+
 EXPOSE 8006

+ 36 - 36
k8swebapi-nginx/nginx.conf

@@ -1,37 +1,37 @@
-user                    nginx;
-worker_processes        auto;
-worker_cpu_affinity     auto;
-worker_rlimit_nofile    1048576;
-worker_shutdown_timeout 10s ;
-
-error_log               /var/log/nginx/error.log warn;
-pid                     /var/run/nginx.pid;
-
-events {
-    multi_accept        on;
-    worker_connections  65536;
-    use                 epoll;
-}
-
-http {
-    include             /etc/nginx/mime.types;
-    default_type        application/octet-stream;
-
-    log_format  main    '$remote_addr - $remote_user [$time_local] "$request" '
-                        '$status $body_bytes_sent "$http_referer" '
-                        '"$http_user_agent" "$http_x_forwarded_for" '
-                        '$upstream_addr $upstream_status $upstream_cache_status $upstream_response_time $request_time $host';
-
-    access_log           /var/log/nginx/access.log  main;
-
-    sendfile             on;
-    #tcp_nopush          on;
-
-    keepalive_timeout    65;
-
-    #gzip                on;
-    server_tokens        off;
-
-    include /etc/nginx/conf.d/*.conf;
-}
+user                    nginx;
+worker_processes        auto;
+worker_cpu_affinity     auto;
+worker_rlimit_nofile    1048576;
+worker_shutdown_timeout 10s ;
+
+error_log               /var/log/nginx/error.log warn;
+pid                     /var/run/nginx.pid;
+
+events {
+    multi_accept        on;
+    worker_connections  65536;
+    use                 epoll;
+}
+
+http {
+    include             /etc/nginx/mime.types;
+    default_type        application/octet-stream;
+
+    log_format  main    '$remote_addr - $remote_user [$time_local] "$request" '
+                        '$status $body_bytes_sent "$http_referer" '
+                        '"$http_user_agent" "$http_x_forwarded_for" '
+                        '$upstream_addr $upstream_status $upstream_cache_status $upstream_response_time $request_time $host';
+
+    access_log           /var/log/nginx/access.log  main;
+
+    sendfile             on;
+    #tcp_nopush          on;
+
+    keepalive_timeout    65;
+
+    #gzip                on;
+    server_tokens        off;
+
+    include /etc/nginx/conf.d/*.conf;
+}
 include /etc/nginx/tcp.d/*.conf;

+ 7 - 7
k8swebapi-nginx/push.sh

@@ -1,8 +1,8 @@
-#!/bin/bash
-
-release=$1
-
-[ ! -n "$release" ] && exit 1
-
-docker build -t registry-vpc.cn-beijing.aliyuncs.com/xinyue/k8swebapi-nginx:${release} .
+#!/bin/bash
+
+release=$1
+
+[ ! -n "$release" ] && exit 1
+
+docker build -t registry-vpc.cn-beijing.aliyuncs.com/xinyue/k8swebapi-nginx:${release} .
 docker push registry-vpc.cn-beijing.aliyuncs.com/xinyue/k8swebapi-nginx:${release}

+ 27 - 27
k8swebapi-nginx/ssl/xinyueyouxi.com.key

@@ -1,28 +1,28 @@
------BEGIN PRIVATE KEY-----
-MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC8BEtrQzhLYY/Q
-DYsw+QVZ0WF4dujk4Em8Wj/Buqv2q6iNsYuMqkvAwG+cp8lsKPchBDAQo8//iH+0
-LtJVnJrmi+CG3Syl+WquBrFVk6Bo4a+oUIHw6ijfL5CKp6V7eDAUmI8S62TsIwWD
-52mBYxu5a2HwAJgNuhVrQSjqJYV7VovSHi3kLP8pQYwdA1+z/lmsuesKVkTuot1g
-xDn6PzVJsP4HDb7ShDtmPAmliEfw8YzYCXAimo8BMZY/nvpcK5VkHWaWxuvJv3HW
-Sn9ZQzKcHrRu7lQ8U4/3umBSZLwWPXUcupkWuj5qPP1bP8q8hyAH4KiDg/yXHPFc
-R1N+WxgLAgMBAAECggEBALKzmkNe5pivKBNlbBCl/zH5Up0+1+kCTNMbLFIj7OJN
-Ea1rPOn7ynhv7yWETGvjG9BjvJN0P3Pu9wH5Jq18ZbYO6N8GRTOTtpOlhNODtwk4
-yM4/huHGjgZjnQxMf3q1J23L+uDOn2PZfZp7TspNusInkDSfO+aAIW+JxSuXciFg
-5Ybk8/dpLsFGjnMvwEywBHgi3U+3nbLCUawUAmI2KmzM80obnEZTh97ScAFO4xSl
-57mvJCQJi/ojOgTFHOxQmkE3efE7ygavrY7EfkBZ3+H0HLYStZaDUEk3L4WyJzT8
-3iw/HhqFV8a8XurL6NPdsFf01vRZZ/3p4cMU1GHlnSECgYEA5kRZ6fc4w670rVhI
-C/xEJJOr/4jt6PjrQAUnEUjqxKlEwecFC/fkw1T35N3FVK0rnIwx9eb2SmidgWlP
-6mnyXaVChodaCfsSGuBMLxsILdCuMRBufNwsgEWlvvvWE7wSagcKeiJX3KGO1oNV
-LfyrDOSL1N6YLvhHcS9WKQAjUUkCgYEA0Qc3v1d3o4DaqOPTY1EUWOKtFj7APusb
-C64Q8mKAXwZENHfjyGPAaZVBa2mcQC14JYts1CJiUmgA903XkzDw7p3HxKDjlaip
-n5iJQPFig1Ye9JPBtN1XhVlcNjudW9sTeymwcKahBb+fJOYXhp1s8dVlc4cADhCm
-zFOMEzqBMrMCgYAsAAWaYoYzRjw033is6aBvyNQF+TlU2jPBwPpNIDzUJXAhCS76
-sXzCIntX/VSWsJxzxopJbb/ESidGskP2DBam9Ew4/qYi4Bn+jrugCK9Qad7PO0+R
-hlTukeBxFRg8HyT5o6zJ18QoQarUrLXbGrvos8dQftRfrUuhgiUZopAdGQKBgQCi
-ugfAQgu1kf6oNJTAYMKCYBV3l+p6EPXBJgWzbNObJnm6jwsZWe7VQ4jmYhVuMPez
-4tMaYppApQ77d/I3eIZYfSSkAsyqGd/TiyBvGnwi2szGgrDuaNJV0bdj0Q00EV0d
-KNtfF5mLrB3sz+PIvI2vxv1v7s0wJe50ayZFYepq2QKBgQCdWjsLPkhVAai2Tv4F
-c8FsexumTucTCS4kFFlLpqSGvBsahqb0xRZobwbhJxhf4Fz/Eem7UR1/hAcJjvdD
-5OJcx7X6rg0JW4joMzN/7rqzkvp4Xs0cG36zxdKfoTGtEiWUgFEFkLEw4/nUSTSG
-fupXJhE3GVdOoOicSlO5zo/vpQ==
+-----BEGIN PRIVATE KEY-----
+MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC8BEtrQzhLYY/Q
+DYsw+QVZ0WF4dujk4Em8Wj/Buqv2q6iNsYuMqkvAwG+cp8lsKPchBDAQo8//iH+0
+LtJVnJrmi+CG3Syl+WquBrFVk6Bo4a+oUIHw6ijfL5CKp6V7eDAUmI8S62TsIwWD
+52mBYxu5a2HwAJgNuhVrQSjqJYV7VovSHi3kLP8pQYwdA1+z/lmsuesKVkTuot1g
+xDn6PzVJsP4HDb7ShDtmPAmliEfw8YzYCXAimo8BMZY/nvpcK5VkHWaWxuvJv3HW
+Sn9ZQzKcHrRu7lQ8U4/3umBSZLwWPXUcupkWuj5qPP1bP8q8hyAH4KiDg/yXHPFc
+R1N+WxgLAgMBAAECggEBALKzmkNe5pivKBNlbBCl/zH5Up0+1+kCTNMbLFIj7OJN
+Ea1rPOn7ynhv7yWETGvjG9BjvJN0P3Pu9wH5Jq18ZbYO6N8GRTOTtpOlhNODtwk4
+yM4/huHGjgZjnQxMf3q1J23L+uDOn2PZfZp7TspNusInkDSfO+aAIW+JxSuXciFg
+5Ybk8/dpLsFGjnMvwEywBHgi3U+3nbLCUawUAmI2KmzM80obnEZTh97ScAFO4xSl
+57mvJCQJi/ojOgTFHOxQmkE3efE7ygavrY7EfkBZ3+H0HLYStZaDUEk3L4WyJzT8
+3iw/HhqFV8a8XurL6NPdsFf01vRZZ/3p4cMU1GHlnSECgYEA5kRZ6fc4w670rVhI
+C/xEJJOr/4jt6PjrQAUnEUjqxKlEwecFC/fkw1T35N3FVK0rnIwx9eb2SmidgWlP
+6mnyXaVChodaCfsSGuBMLxsILdCuMRBufNwsgEWlvvvWE7wSagcKeiJX3KGO1oNV
+LfyrDOSL1N6YLvhHcS9WKQAjUUkCgYEA0Qc3v1d3o4DaqOPTY1EUWOKtFj7APusb
+C64Q8mKAXwZENHfjyGPAaZVBa2mcQC14JYts1CJiUmgA903XkzDw7p3HxKDjlaip
+n5iJQPFig1Ye9JPBtN1XhVlcNjudW9sTeymwcKahBb+fJOYXhp1s8dVlc4cADhCm
+zFOMEzqBMrMCgYAsAAWaYoYzRjw033is6aBvyNQF+TlU2jPBwPpNIDzUJXAhCS76
+sXzCIntX/VSWsJxzxopJbb/ESidGskP2DBam9Ew4/qYi4Bn+jrugCK9Qad7PO0+R
+hlTukeBxFRg8HyT5o6zJ18QoQarUrLXbGrvos8dQftRfrUuhgiUZopAdGQKBgQCi
+ugfAQgu1kf6oNJTAYMKCYBV3l+p6EPXBJgWzbNObJnm6jwsZWe7VQ4jmYhVuMPez
+4tMaYppApQ77d/I3eIZYfSSkAsyqGd/TiyBvGnwi2szGgrDuaNJV0bdj0Q00EV0d
+KNtfF5mLrB3sz+PIvI2vxv1v7s0wJe50ayZFYepq2QKBgQCdWjsLPkhVAai2Tv4F
+c8FsexumTucTCS4kFFlLpqSGvBsahqb0xRZobwbhJxhf4Fz/Eem7UR1/hAcJjvdD
+5OJcx7X6rg0JW4joMzN/7rqzkvp4Xs0cG36zxdKfoTGtEiWUgFEFkLEw4/nUSTSG
+fupXJhE3GVdOoOicSlO5zo/vpQ==
 -----END PRIVATE KEY-----

+ 56 - 56
k8swebapi-nginx/ssl/xinyueyouxi.com.pem

@@ -1,57 +1,57 @@
------BEGIN CERTIFICATE-----
-MIIFJzCCBA+gAwIBAgIQBozpvJnIi90QL5M2bcsNYTANBgkqhkiG9w0BAQsFADBe
-MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
-d3cuZGlnaWNlcnQuY29tMR0wGwYDVQQDExRHZW9UcnVzdCBSU0EgQ0EgMjAxODAe
-Fw0xODAxMjQwMDAwMDBaFw0yMDAzMTMxMjAwMDBaMIGKMQswCQYDVQQGEwJDTjES
-MBAGA1UEBxMJQ2hhbmdjaHVuMTAwLgYDVQQKDCflkInmnpfnnIHlv4PmgqbnvZHn
-u5znp5HmioDmnInpmZDlhazlj7gxGTAXBgNVBAsTEE9wZXJhdGlvbiBjZW50ZXIx
-GjAYBgNVBAMMESoueGlueXVleW91eGkuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOC
-AQ8AMIIBCgKCAQEAvARLa0M4S2GP0A2LMPkFWdFheHbo5OBJvFo/wbqr9quojbGL
-jKpLwMBvnKfJbCj3IQQwEKPP/4h/tC7SVZya5ovght0spflqrgaxVZOgaOGvqFCB
-8Ooo3y+Qiqele3gwFJiPEutk7CMFg+dpgWMbuWth8ACYDboVa0Eo6iWFe1aL0h4t
-5Cz/KUGMHQNfs/5ZrLnrClZE7qLdYMQ5+j81SbD+Bw2+0oQ7ZjwJpYhH8PGM2Alw
-IpqPATGWP576XCuVZB1mlsbryb9x1kp/WUMynB60bu5UPFOP97pgUmS8Fj11HLqZ
-Fro+ajz9Wz/KvIcgB+Cog4P8lxzxXEdTflsYCwIDAQABo4IBsjCCAa4wHwYDVR0j
-BBgwFoAUkFj/sJx1qFFUd7Ht8qNDFjiebMUwHQYDVR0OBBYEFDdDaRrgUs0O4LHP
-O5A58MRzNjiDMC0GA1UdEQQmMCSCESoueGlueXVleW91eGkuY29tgg94aW55dWV5
-b3V4aS5jb20wDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggr
-BgEFBQcDAjA/BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vY2RwMS5kaWdpY2VydC5j
-b20vR2VvVHJ1c3RSU0FDQTIwMTguY3JsMEwGA1UdIARFMEMwNwYJYIZIAYb9bAEB
-MCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LmRpZ2ljZXJ0LmNvbS9DUFMwCAYG
-Z4EMAQICMHQGCCsGAQUFBwEBBGgwZjAlBggrBgEFBQcwAYYZaHR0cDovL29jc3Ax
-LmRpZ2ljZXJ0LmNvbTA9BggrBgEFBQcwAoYxaHR0cDovL2NhY2VydHMuZ2VvdHJ1
-c3QuY29tL0dlb1RydXN0UlNBQ0EyMDE4LmNydDAJBgNVHRMEAjAAMA0GCSqGSIb3
-DQEBCwUAA4IBAQB6PZWXJXzGwWNPi7JFGx7u4s38j2TZhGuEuQORmYA3oJmJbUL9
-R2hncCUMxBF4U2PgQkmdvOuYTd1Tx6Xium3oGZaF6/Nxe/RT6gUbTnuIEWpmH6KY
-e5lXCf1nNCjCdEpN7HqRIwLWTmUPxYOv0QZG+wc6J45qaeE05BxP4YY/O6+KRRTo
-UDr0enA6VDUhU4+2MCv9yxZ1kwFULSpGB87SujgHJQ7emR2IWD45kTO55o5mZGty
-G1E7hcXH3PEriVIW1pryuQnudCHGdq/pCj4FwtF9ijxcsbHUgqRFgRuHBpK4PTow
-oy6hS4SL5M6NefuznAl1JgFzIyrTIiqtgGfI
------END CERTIFICATE-----
------BEGIN CERTIFICATE-----
-MIIEizCCA3OgAwIBAgIQBUb+GCP34ZQdo5/OFMRhczANBgkqhkiG9w0BAQsFADBh
-MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
-d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD
-QTAeFw0xNzExMDYxMjIzNDVaFw0yNzExMDYxMjIzNDVaMF4xCzAJBgNVBAYTAlVT
-MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
-b20xHTAbBgNVBAMTFEdlb1RydXN0IFJTQSBDQSAyMDE4MIIBIjANBgkqhkiG9w0B
-AQEFAAOCAQ8AMIIBCgKCAQEAv4rRY03hGOqHXegWPI9/tr6HFzekDPgxP59FVEAh
-150Hm8oDI0q9m+2FAmM/n4W57Cjv8oYi2/hNVEHFtEJ/zzMXAQ6CkFLTxzSkwaEB
-2jKgQK0fWeQz/KDDlqxobNPomXOMJhB3y7c/OTLo0lko7geG4gk7hfiqafapa59Y
-rXLIW4dmrgjgdPstU0Nigz2PhUwRl9we/FAwuIMIMl5cXMThdSBK66XWdS3cLX18
-4ND+fHWhTkAChJrZDVouoKzzNYoq6tZaWmyOLKv23v14RyZ5eqoi6qnmcRID0/i6
-U9J5nL1krPYbY7tNjzgC+PBXXcWqJVoMXcUw/iBTGWzpwwIDAQABo4IBQDCCATww
-HQYDVR0OBBYEFJBY/7CcdahRVHex7fKjQxY4nmzFMB8GA1UdIwQYMBaAFAPeUDVW
-0Uy7ZvCj4hsbw5eyPdFVMA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUEFjAUBggrBgEF
-BQcDAQYIKwYBBQUHAwIwEgYDVR0TAQH/BAgwBgEB/wIBADA0BggrBgEFBQcBAQQo
-MCYwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBCBgNVHR8E
-OzA5MDegNaAzhjFodHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNlcnRHbG9i
-YWxSb290Q0EuY3JsMD0GA1UdIAQ2MDQwMgYEVR0gADAqMCgGCCsGAQUFBwIBFhxo
-dHRwczovL3d3dy5kaWdpY2VydC5jb20vQ1BTMA0GCSqGSIb3DQEBCwUAA4IBAQAw
-8YdVPYQI/C5earp80s3VLOO+AtpdiXft9OlWwJLwKlUtRfccKj8QW/Pp4b7h6QAl
-ufejwQMb455OjpIbCZVS+awY/R8pAYsXCnM09GcSVe4ivMswyoCZP/vPEn/LPRhH
-hdgUPk8MlD979RGoUWz7qGAwqJChi28uRds3thx+vRZZIbEyZ62No0tJPzsSGSz8
-nQ//jP8BIwrzBAUH5WcBAbmvgWfrKcuv+PyGPqRcc4T55TlzrBnzAzZ3oClo9fTv
-O9PuiHMKrC6V6mgi0s2sa/gbXlPCD9Z24XUMxJElwIVTDuKB0Q4YMMlnpN/QChJ4
-B0AFsQ+DU0NCO+f78Xf7
+-----BEGIN CERTIFICATE-----
+MIIFJzCCBA+gAwIBAgIQBozpvJnIi90QL5M2bcsNYTANBgkqhkiG9w0BAQsFADBe
+MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
+d3cuZGlnaWNlcnQuY29tMR0wGwYDVQQDExRHZW9UcnVzdCBSU0EgQ0EgMjAxODAe
+Fw0xODAxMjQwMDAwMDBaFw0yMDAzMTMxMjAwMDBaMIGKMQswCQYDVQQGEwJDTjES
+MBAGA1UEBxMJQ2hhbmdjaHVuMTAwLgYDVQQKDCflkInmnpfnnIHlv4PmgqbnvZHn
+u5znp5HmioDmnInpmZDlhazlj7gxGTAXBgNVBAsTEE9wZXJhdGlvbiBjZW50ZXIx
+GjAYBgNVBAMMESoueGlueXVleW91eGkuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOC
+AQ8AMIIBCgKCAQEAvARLa0M4S2GP0A2LMPkFWdFheHbo5OBJvFo/wbqr9quojbGL
+jKpLwMBvnKfJbCj3IQQwEKPP/4h/tC7SVZya5ovght0spflqrgaxVZOgaOGvqFCB
+8Ooo3y+Qiqele3gwFJiPEutk7CMFg+dpgWMbuWth8ACYDboVa0Eo6iWFe1aL0h4t
+5Cz/KUGMHQNfs/5ZrLnrClZE7qLdYMQ5+j81SbD+Bw2+0oQ7ZjwJpYhH8PGM2Alw
+IpqPATGWP576XCuVZB1mlsbryb9x1kp/WUMynB60bu5UPFOP97pgUmS8Fj11HLqZ
+Fro+ajz9Wz/KvIcgB+Cog4P8lxzxXEdTflsYCwIDAQABo4IBsjCCAa4wHwYDVR0j
+BBgwFoAUkFj/sJx1qFFUd7Ht8qNDFjiebMUwHQYDVR0OBBYEFDdDaRrgUs0O4LHP
+O5A58MRzNjiDMC0GA1UdEQQmMCSCESoueGlueXVleW91eGkuY29tgg94aW55dWV5
+b3V4aS5jb20wDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggr
+BgEFBQcDAjA/BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vY2RwMS5kaWdpY2VydC5j
+b20vR2VvVHJ1c3RSU0FDQTIwMTguY3JsMEwGA1UdIARFMEMwNwYJYIZIAYb9bAEB
+MCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LmRpZ2ljZXJ0LmNvbS9DUFMwCAYG
+Z4EMAQICMHQGCCsGAQUFBwEBBGgwZjAlBggrBgEFBQcwAYYZaHR0cDovL29jc3Ax
+LmRpZ2ljZXJ0LmNvbTA9BggrBgEFBQcwAoYxaHR0cDovL2NhY2VydHMuZ2VvdHJ1
+c3QuY29tL0dlb1RydXN0UlNBQ0EyMDE4LmNydDAJBgNVHRMEAjAAMA0GCSqGSIb3
+DQEBCwUAA4IBAQB6PZWXJXzGwWNPi7JFGx7u4s38j2TZhGuEuQORmYA3oJmJbUL9
+R2hncCUMxBF4U2PgQkmdvOuYTd1Tx6Xium3oGZaF6/Nxe/RT6gUbTnuIEWpmH6KY
+e5lXCf1nNCjCdEpN7HqRIwLWTmUPxYOv0QZG+wc6J45qaeE05BxP4YY/O6+KRRTo
+UDr0enA6VDUhU4+2MCv9yxZ1kwFULSpGB87SujgHJQ7emR2IWD45kTO55o5mZGty
+G1E7hcXH3PEriVIW1pryuQnudCHGdq/pCj4FwtF9ijxcsbHUgqRFgRuHBpK4PTow
+oy6hS4SL5M6NefuznAl1JgFzIyrTIiqtgGfI
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIEizCCA3OgAwIBAgIQBUb+GCP34ZQdo5/OFMRhczANBgkqhkiG9w0BAQsFADBh
+MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
+d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD
+QTAeFw0xNzExMDYxMjIzNDVaFw0yNzExMDYxMjIzNDVaMF4xCzAJBgNVBAYTAlVT
+MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
+b20xHTAbBgNVBAMTFEdlb1RydXN0IFJTQSBDQSAyMDE4MIIBIjANBgkqhkiG9w0B
+AQEFAAOCAQ8AMIIBCgKCAQEAv4rRY03hGOqHXegWPI9/tr6HFzekDPgxP59FVEAh
+150Hm8oDI0q9m+2FAmM/n4W57Cjv8oYi2/hNVEHFtEJ/zzMXAQ6CkFLTxzSkwaEB
+2jKgQK0fWeQz/KDDlqxobNPomXOMJhB3y7c/OTLo0lko7geG4gk7hfiqafapa59Y
+rXLIW4dmrgjgdPstU0Nigz2PhUwRl9we/FAwuIMIMl5cXMThdSBK66XWdS3cLX18
+4ND+fHWhTkAChJrZDVouoKzzNYoq6tZaWmyOLKv23v14RyZ5eqoi6qnmcRID0/i6
+U9J5nL1krPYbY7tNjzgC+PBXXcWqJVoMXcUw/iBTGWzpwwIDAQABo4IBQDCCATww
+HQYDVR0OBBYEFJBY/7CcdahRVHex7fKjQxY4nmzFMB8GA1UdIwQYMBaAFAPeUDVW
+0Uy7ZvCj4hsbw5eyPdFVMA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUEFjAUBggrBgEF
+BQcDAQYIKwYBBQUHAwIwEgYDVR0TAQH/BAgwBgEB/wIBADA0BggrBgEFBQcBAQQo
+MCYwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBCBgNVHR8E
+OzA5MDegNaAzhjFodHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNlcnRHbG9i
+YWxSb290Q0EuY3JsMD0GA1UdIAQ2MDQwMgYEVR0gADAqMCgGCCsGAQUFBwIBFhxo
+dHRwczovL3d3dy5kaWdpY2VydC5jb20vQ1BTMA0GCSqGSIb3DQEBCwUAA4IBAQAw
+8YdVPYQI/C5earp80s3VLOO+AtpdiXft9OlWwJLwKlUtRfccKj8QW/Pp4b7h6QAl
+ufejwQMb455OjpIbCZVS+awY/R8pAYsXCnM09GcSVe4ivMswyoCZP/vPEn/LPRhH
+hdgUPk8MlD979RGoUWz7qGAwqJChi28uRds3thx+vRZZIbEyZ62No0tJPzsSGSz8
+nQ//jP8BIwrzBAUH5WcBAbmvgWfrKcuv+PyGPqRcc4T55TlzrBnzAzZ3oClo9fTv
+O9PuiHMKrC6V6mgi0s2sa/gbXlPCD9Z24XUMxJElwIVTDuKB0Q4YMMlnpN/QChJ4
+B0AFsQ+DU0NCO+f78Xf7
 -----END CERTIFICATE-----

+ 11 - 11
k8swebapi-nginx/tcp.d/sharetransmit.jixiang.cn.conf

@@ -1,12 +1,12 @@
-stream {
-    upstream sharetransmit-svc {
-       hash $remote_addr consistent;
-       server sharetransmit-svc:8006;
-    }
-    server {
-       listen 8006;
-       proxy_connect_timeout 10s;
-       proxy_timeout 300s;
-       proxy_pass sharetransmit-svc;
-    }
+stream {
+    upstream sharetransmit-svc {
+       hash $remote_addr consistent;
+       server sharetransmit-svc:8006;
+    }
+    server {
+       listen 8006;
+       proxy_connect_timeout 10s;
+       proxy_timeout 300s;
+       proxy_pass sharetransmit-svc;
+    }
 }

+ 10 - 10
sharetransmit/Dockerfile

@@ -1,10 +1,10 @@
-FROM golang:1.9.2
-RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
-RUN echo 'Asia/Shanghai' > /etc/timezone
-
-COPY sharetransmit /go/bin/
-RUN chmod +x /go/bin/sharetransmit
-WORKDIR /go/bin
-
-CMD ["/go/bin/sharetransmit"]
-EXPOSE 8006
+FROM golang:1.9.2
+RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
+RUN echo 'Asia/Shanghai' > /etc/timezone
+
+COPY sharetransmit /go/bin/
+RUN chmod +x /go/bin/sharetransmit
+WORKDIR /go/bin
+
+CMD ["/go/bin/sharetransmit"]
+EXPOSE 8006

+ 8 - 8
sharetransmit/push.sh

@@ -1,8 +1,8 @@
-#!/bin/bash
-
-release=$1
-
-[ ! -n "$release" ] && exit 1
-
-docker build -t registry-vpc.cn-beijing.aliyuncs.com/xinyue/sharetransmit:${release} .
-docker push registry-vpc.cn-beijing.aliyuncs.com/xinyue/sharetransmit:${release}
+#!/bin/bash
+
+release=$1
+
+[ ! -n "$release" ] && exit 1
+
+docker build -t registry-vpc.cn-beijing.aliyuncs.com/xinyue/sharetransmit:${release} .
+docker push registry-vpc.cn-beijing.aliyuncs.com/xinyue/sharetransmit:${release}