diff --git a/CHANGELOG.md b/CHANGELOG.md
index d1ec3a9..7ce5ee8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -15,11 +15,39 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Aria2 download into zpan
- support onedrive && google drive
-## [1.4.1] - 2017-10-17
-### Changed
-- Fix: some bugs for the share
+## [1.6.0] - 2021-07-12
+### Added
+- 增加对又拍云的支持 #55
+- 支持禁用某个云存储 #103
+- 支持禁用/删除某个用户 #113
+- 支持永久分享和取消分享
+- 前端页面右上角增加显示用户昵称显示
+- 管理员后台重置密码不再需要原密码
+- 增加开发者设置,开放API文档,支持开发者自行上传文件
+- 云平台的数据来源接入eplist,希望社区一起维护该项目 #84
+- 增加对ARM64的支持,可以允许在ARM架构的机器上了 #52
+
+### Fixed
+- 修复用户无法重置密码的问题 #105
+- 修复上传中断/失败仍然占用了存储空间的问题 #78
+- 修复分享列表存在的越权问题
+- 修复上传多个文件时其中一个文件完成导致其他文件结束的问题
+- 修复部分RAR和DMG文件分享后无法下载的问题
+- 调整上传签名有效期,解决上传较慢时过期导致失败的问题
+- 调整自用域名仅用于查看或下载文件,不再用于上传 #111
+
+## [1.5.0] - 2020-02-14
+### Added
+- 增加了可视化的引导安装页面,帮助用户快速安装
+- 支持多存储,在后台管理员可以添加多个存储空间,在前台用户可以随意切换存储空间
+- 添加存储空间时支持自动设置 CORS (部分平台不支持),解决手动去云存储平台创建的麻烦
+- 存储空间支持网盘和外链盘两种类型,网盘关联的云存储设置为私有读,外链盘关联的云存储设置为公共读
+- 支持管理员在后台添加用户
+- 支持设置存储根路径和存储文件路径(支持使用变量)
+- 增加基本的后台管理功能
+- 增加 heroku 的支持,可以一键部署到 heroku
-## [1.4.0] - 2017-10-13
+## [1.4.0] - 2020-10-13
### Added
- redesign UI
- support Recycle Bin
diff --git a/web/dist/404.html b/web/dist/404.html
index 8168fa6..a723989 100644
--- a/web/dist/404.html
+++ b/web/dist/404.html
@@ -1 +1 @@
-
ZPan
\ No newline at end of file
+ZPan
\ No newline at end of file
diff --git a/web/dist/index.html b/web/dist/index.html
index 5f9d103..00e954b 100644
--- a/web/dist/index.html
+++ b/web/dist/index.html
@@ -1 +1 @@
-ZPan
\ No newline at end of file
+ZPan
\ No newline at end of file
diff --git a/web/dist/js/404.af82d075.js b/web/dist/js/404.db242675.js
similarity index 50%
rename from web/dist/js/404.af82d075.js
rename to web/dist/js/404.db242675.js
index 546dfc6..01cad81 100644
--- a/web/dist/js/404.af82d075.js
+++ b/web/dist/js/404.db242675.js
@@ -1,2 +1,2 @@
-(function(e){function c(c){for(var t,u,d=c[0],f=c[1],o=c[2],h=0,k=[];h\n \n \n \n \n 欢迎 \n
\n \n
\n \n \n 文档 \n \n \n \n \n 源码 \n \n \n \n \n 社区 \n \n \n \n \n 捐赠 \n \n \n \n
Tips: 管理后台还在逐步迭代中,欢迎到社区提问交流~
\n
\n \n \n \n \n \n 产品动态 \n
\n\n \n \n {{ activity.content }}\n \n \n \n \n \n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=247885f2&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
\ No newline at end of file
diff --git a/web/dist/js/chunk-2d0a4fde.6b57c317.js.map b/web/dist/js/chunk-2d0a4fde.6b57c317.js.map
deleted file mode 100644
index f219229..0000000
--- a/web/dist/js/chunk-2d0a4fde.6b57c317.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack:///./src/views/admin/home/index.vue?82b5","webpack:///src/views/admin/home/index.vue","webpack:///./src/views/admin/home/index.vue?bdbe","webpack:///./src/views/admin/home/index.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","staticClass","slot","_v","staticStyle","_l","activity","index","key","timestamp","_s","content","staticRenderFns","data","activities","component"],"mappings":"yHAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,OAAS,KAAK,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,KAAK,CAACF,EAAG,UAAU,CAACG,YAAY,WAAWD,MAAM,CAAC,OAAS,UAAU,CAACF,EAAG,MAAM,CAACG,YAAY,WAAWD,MAAM,CAAC,KAAO,UAAUE,KAAK,UAAU,CAACJ,EAAG,OAAO,CAACJ,EAAIS,GAAG,UAAUL,EAAG,MAAM,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,OAAS,KAAK,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,EAAE,GAAK,IAAI,CAACF,EAAG,UAAU,CAACE,MAAM,CAAC,OAAS,WAAW,CAACF,EAAG,UAAU,CAACE,MAAM,CAAC,KAAO,UAAU,KAAO,mBAAmB,KAAO,qBAAqB,OAAS,WAAW,CAACN,EAAIS,GAAG,SAAS,IAAI,GAAGL,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,EAAE,GAAK,IAAI,CAACF,EAAG,UAAU,CAACE,MAAM,CAAC,OAAS,WAAW,CAACF,EAAG,UAAU,CAACE,MAAM,CAAC,KAAO,UAAU,KAAO,gBAAgB,KAAO,iCAAiC,OAAS,WAAW,CAACN,EAAIS,GAAG,SAAS,IAAI,GAAGL,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,EAAE,GAAK,IAAI,CAACF,EAAG,UAAU,CAACE,MAAM,CAAC,OAAS,WAAW,CAACF,EAAG,UAAU,CAACE,MAAM,CAAC,KAAO,UAAU,KAAO,oBAAoB,KAAO,wCAAwC,OAAS,WAAW,CAACN,EAAIS,GAAG,SAAS,IAAI,GAAGL,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,EAAE,GAAK,IAAI,CAACF,EAAG,UAAU,CAACE,MAAM,CAAC,OAAS,WAAW,CAACF,EAAG,UAAU,CAACE,MAAM,CAAC,KAAO,UAAU,KAAO,qBAAqB,KAAO,qCAAqC,OAAS,WAAW,CAACN,EAAIS,GAAG,SAAS,IAAI,IAAI,GAAGL,EAAG,IAAI,CAACM,YAAY,CAAC,aAAa,OAAO,YAAY,OAAO,cAAc,OAAO,aAAa,WAAW,CAACV,EAAIS,GAAG,mCAAmC,MAAM,GAAGL,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,IAAI,CAACF,EAAG,UAAU,CAACG,YAAY,WAAWD,MAAM,CAAC,OAAS,UAAU,CAACF,EAAG,MAAM,CAACG,YAAY,WAAWD,MAAM,CAAC,KAAO,UAAUE,KAAK,UAAU,CAACJ,EAAG,OAAO,CAACJ,EAAIS,GAAG,YAAYL,EAAG,cAAcJ,EAAIW,GAAIX,EAAc,YAAE,SAASY,EAASC,GAAO,OAAOT,EAAG,mBAAmB,CAACU,IAAID,EAAMP,MAAM,CAAC,UAAYM,EAASG,YAAY,CAACf,EAAIS,GAAG,eAAeT,EAAIgB,GAAGJ,EAASK,SAAS,mBAAkB,IAAI,IAAI,IAAI,IAC70DC,EAAkB,GCkDtB,GACEC,KADF,WAEI,MAAO,CACLC,WAAY,CAClB,CACQ,QAAR,aACQ,UAAR,cAEA,CACQ,QAAR,aACQ,UAAR,cAEA,CACQ,QAAR,aACQ,UAAR,cAEA,CACQ,QAAR,sBACQ,UAAR,cAEA,CACQ,QAAR,aACQ,UAAR,cAEA,CACQ,QAAR,qBACQ,UAAR,cAEA,CACQ,QAAR,cACQ,UAAR,kBCjF6W,I,YCOzWC,EAAY,eACd,EACAtB,EACAmB,GACA,EACA,KACA,KACA,MAIa,aAAAG,E","file":"js/chunk-2d0a4fde.6b57c317.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-row',{attrs:{\"gutter\":20}},[_c('el-col',{attrs:{\"span\":18}},[_c('el-card',{staticClass:\"box-card\",attrs:{\"shadow\":\"never\"}},[_c('div',{staticClass:\"clearfix\",attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('span',[_vm._v(\"欢迎\")])]),_c('div',[_c('el-row',{attrs:{\"gutter\":12}},[_c('el-col',{attrs:{\"span\":3,\"sm\":5}},[_c('el-card',{attrs:{\"shadow\":\"always\"}},[_c('el-link',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-document\",\"href\":\"https://zpan.space\",\"target\":\"_blank\"}},[_vm._v(\"文档\")])],1)],1),_c('el-col',{attrs:{\"span\":3,\"sm\":5}},[_c('el-card',{attrs:{\"shadow\":\"always\"}},[_c('el-link',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-files\",\"href\":\"https://github.com/saltbo/zpan\",\"target\":\"_blank\"}},[_vm._v(\"源码\")])],1)],1),_c('el-col',{attrs:{\"span\":3,\"sm\":5}},[_c('el-card',{attrs:{\"shadow\":\"always\"}},[_c('el-link',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-s-comment\",\"href\":\"https://github.com/saltbo/zpan/issues\",\"target\":\"_blank\"}},[_vm._v(\"社区\")])],1)],1),_c('el-col',{attrs:{\"span\":3,\"sm\":5}},[_c('el-card',{attrs:{\"shadow\":\"always\"}},[_c('el-link',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-coffee-cup\",\"href\":\"https://github.com/sponsors/saltbo\",\"target\":\"_blank\"}},[_vm._v(\"捐赠\")])],1)],1)],1),_c('p',{staticStyle:{\"margin-top\":\"20px\",\"font-size\":\"14px\",\"font-weight\":\"bold\",\"font-style\":\"italic\"}},[_vm._v(\"Tips: 管理后台还在逐步迭代中,欢迎到社区提问交流~\")])],1)])],1),_c('el-col',{attrs:{\"span\":6}},[_c('el-card',{staticClass:\"box-card\",attrs:{\"shadow\":\"never\"}},[_c('div',{staticClass:\"clearfix\",attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('span',[_vm._v(\"产品动态\")])]),_c('el-timeline',_vm._l((_vm.activities),function(activity,index){return _c('el-timeline-item',{key:index,attrs:{\"timestamp\":activity.timestamp}},[_vm._v(\"\\n \"+_vm._s(activity.content)+\"\\n \")])}),1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n \n 欢迎 \n
\n \n
\n \n \n 文档 \n \n \n \n \n 源码 \n \n \n \n \n 社区 \n \n \n \n \n 捐赠 \n \n \n \n
Tips: 管理后台还在逐步迭代中,欢迎到社区提问交流~
\n
\n \n \n \n \n \n 产品动态 \n
\n\n \n \n {{ activity.content }}\n \n \n \n \n \n \n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=9e198840&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
\ No newline at end of file
diff --git a/web/dist/js/chunk-45cef788.34b83504.js.map b/web/dist/js/chunk-45cef788.34b83504.js.map
deleted file mode 100644
index b7c9b34..0000000
--- a/web/dist/js/chunk-45cef788.34b83504.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack:///./src/components/Topbar/index.vue?b48c","webpack:///src/components/Topbar/index.vue","webpack:///./src/components/Topbar/index.vue?c208","webpack:///./src/components/Topbar/index.vue","webpack:///./src/views/home/index.vue?71b7","webpack:///src/views/home/index.vue","webpack:///./src/views/home/index.vue?3720","webpack:///./src/views/home/index.vue","webpack:///./src/views/home/index.vue?41bf","webpack:///./src/components/Topbar/index.vue?6265","webpack:///./node_modules/js-cookie/src/js.cookie.js","webpack:///./src/assets/logo.png","webpack:///./src/libs/mixin/cs.js","webpack:///./src/libs/mixin/dialog.js"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","on","$event","$router","push","staticStyle","menuActive","_l","menus","slice","menu","index","key","_v","_s","title","directives","name","rawName","value","length","expression","slot","path","_e","onDropdown","profile","avatar","$t","storage","percentage","used","max","staticRenderFns","props","Array","logined","Boolean","data","user","watch","$route","locale","computed","showMenu","showAdmin","methods","onRouteChange","userInfo","$zpan","User","profileGet","then","utils","Math","round","mounted","component","$store","state","storages","leftMenuActive","class","icon","mixins","components","Topbar","beforeRouteEnter","to","store","next","router","currentBucket","params","sname","fullPath","leftMenus","cs","mode","factory","registeredInModuleLoader","module","exports","OldCookies","window","Cookies","api","noConflict","extend","i","result","arguments","attributes","decode","s","replace","decodeURIComponent","init","converter","set","document","defaults","expires","Date","toUTCString","JSON","stringify","test","e","write","encodeURIComponent","String","escape","stringifiedAttributes","attributeName","split","cookie","get","json","jar","cookies","parts","join","charAt","read","parse","getJSON","remove","withConverter","Mixin","newVal","oldVal","setCs","forEach","ele","getSid","id","DialogMixin","visible","val","$destroy","body","appendChild","$el","destroyed","parentNode","removeChild","open","close","completed","$emit","finish"],"mappings":"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","file":"js/chunk-45cef788.34b83504.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-header',[_c('div',{staticClass:\"logo\"},[_c('img',{attrs:{\"src\":require(\"@/assets/logo.png\"),\"alt\":\"ZPan\"},on:{\"click\":function($event){return _vm.$router.push('/')}}})]),(_vm.showMenu)?_c('el-menu',{staticClass:\"navbar\",staticStyle:{\"width\":\"100%\"},attrs:{\"default-active\":_vm.menuActive,\"mode\":\"horizontal\",\"router\":\"\"}},[_vm._l((_vm.menus.slice(0, 5)),function(menu,index){return _c('el-menu-item',{key:index,attrs:{\"index\":(\"/\" + (menu.name))}},[_vm._v(_vm._s(menu.title))])}),_c('el-submenu',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.menus.length > 5),expression:\"menus.length > 5\"}],attrs:{\"index\":\"more\"}},[_c('template',{slot:\"title\"},[_vm._v(\"更多\")]),_vm._l((_vm.menus.slice(5)),function(menu,index){return _c('el-menu-item',{key:index,attrs:{\"index\":menu.path}},[_vm._v(_vm._s(menu.title))])})],2)],2):_vm._e(),_c('div',{staticStyle:{\"position\":\"absolute\",\"right\":\"20px\"}},[_c('el-dropdown',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.logined),expression:\"logined\"}],attrs:{\"trigger\":\"click\"},on:{\"command\":_vm.onDropdown}},[_c('el-avatar',{staticStyle:{\"vertical-align\":\"middle\"},attrs:{\"size\":30,\"src\":_vm.profile.avatar}}),_c('el-dropdown-menu',{staticStyle:{\"width\":\"200px\"},attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('div',{staticStyle:{\"margin\":\"auto 20px\"}},[_c('el-row',{staticStyle:{\"text-align\":\"center\",\"margin\":\"10px 0\"}},[_c('el-avatar',{attrs:{\"size\":50,\"src\":_vm.profile.avatar}})],1),_c('el-row',{staticClass:\"storage\"},[_c('p',[_c('span',{},[_vm._v(_vm._s(_vm.$t(\"leftnav.storage\")))]),_c('span',{staticStyle:{\"float\":\"right\"}},[_vm._v(_vm._s(_vm.storage.percentage)+\"%\")])]),_c('el-progress',{attrs:{\"percentage\":_vm.storage.percentage,\"show-text\":false}}),_c('p',{staticStyle:{\"color\":\"rgba(0, 0, 0, 0.54)\",\"font-size\":\"0.75rem\"}},[_vm._v(_vm._s(_vm.storage.used)+\"/\"+_vm._s(_vm.storage.max))])],1)],1),_c('el-dropdown-item',{attrs:{\"icon\":\"el-icon-setting\",\"command\":\"profile\",\"divided\":\"\"}},[_vm._v(_vm._s(_vm.$t(\"topbar.settings\")))]),_c('el-dropdown-item',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showAdmin),expression:\"showAdmin\"}],attrs:{\"icon\":\"el-icon-set-up\",\"command\":\"admin\"}},[_vm._v(_vm._s(_vm.$t(\"topbar.s-platform\")))]),_c('el-dropdown-item',{attrs:{\"icon\":\"el-icon-switch-button\",\"command\":\"signout\"}},[_vm._v(_vm._s(_vm.$t(\"topbar.signout\")))])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n
\n
\n \n {{ menu.title }} \n\n 5\">\n 更多 \n {{ menu.title }} \n \n \n\n \n
\n \n \n \n
\n \n \n
\n \n {{ $t(\"leftnav.storage\") }} \n {{ storage.percentage }}% \n
\n \n {{ storage.used }}/{{ storage.max }}
\n \n
\n\n {{ $t(\"topbar.settings\") }} \n {{ $t(\"topbar.s-platform\") }} \n {{ $t(\"topbar.signout\") }} \n \n \n
\n \n \n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=5a12339f&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('Topbar',{attrs:{\"menus\":_vm.$store.state.storages,\"logined\":\"\"}}),_c('el-container',{staticStyle:{\"height\":\"100%\"}},[_c('el-aside',{staticStyle:{\"height\":\"100%\",\"background-color\":\"#f4f4f5\"},attrs:{\"width\":\"200px\"}},[_c('el-menu',{attrs:{\"default-active\":_vm.leftMenuActive,\"background-color\":\"#f4f4f5\",\"router\":\"\"}},_vm._l((_vm.leftMenus),function(menu){return _c('el-menu-item',{key:menu.path,attrs:{\"index\":menu.path}},[_c('i',{class:menu.icon}),_c('span',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(_vm._s(menu.title))])])}),1)],1),_c('el-main',[_c('router-view')],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n \n \n \n \n {{ menu.title }} \n \n \n\n \n \n\n \n \n \n \n \n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=43fd32d2&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=43fd32d2&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"43fd32d2\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=43fd32d2&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=css&\"","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAF4AAAAdCAYAAAAjHtusAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAXqADAAQAAAABAAAAHQAAAADQpyghAAAJ9ElEQVRoBe1ZD2yV1RU/53t/+gcpLYj8CVL+RQpdGQIbm+hQsrmhM0wZmrgi+xe7LYsbBYRIpk8xYguUBTcjc27LoksGMxPCwua2ZHFK1ayjFGixOhvoMgYl8mhp+/r+fHe/c7933/e9R/f6WiouK4f03XPPOfec+/3uufee74MpBxrV1jaxuzt6F8d5OcWsaSpmTeaYVUIx/1krZp1WMT7BUd+BkgAfPLdifFcOLke8CWdF4N9NFdTDWynhu4OjFgN0UlGLADoJ7/z50MJNzEcc90Wh+3ke5T3es3rU6ay+R7gS6PVDqr2Azh5+nhPcyMx3klKpBdIMy68RqRSvbBW0bVUVicbes3Z3blKecf1EGdEig54LQs+RKdQX30dRa4FkNo4VZLgPLUwl2+PIcLRutju8a+vsCtFbcf/L144pXHPmAe52A1zlBIH0jFcA3Y6+RYoWINPRuMTIcJEZcnRJC6W0rWjB6r2gxyu18lxH5NVZu1SeGXe1dRBwgVeHCijWtw/gTXZUDqgCuMCKY0ODKjrROIugoXZ4CI3cGSl9/e+mtt7oC47Pq78GARd44l1k2wskY4VM5gp0JttNwgNuqVzaiVVE8tsBXAbJONjLbpHWXbSvWFuiVeL3KjkIOMCrQxXoft2AYgA2mSty8OfYoo0q6J+hlswoUktLp6rPTi3w+9WNWIg66LEIINkEaZQUKH7i2ho1Ok01gjsm47cCWdycDkgm61NnOtOBkvzALHveDbX08WltXrxit09ptFdMWpfHeeVs8bFU1ssKaHfJ5WN1XbjX3uAdO5J5lCBvTwRCd+izJXm+pDJe9/nAY7PmrDg/c+aFbEBFVha/X5TnuwW74h191OgV8IwA/okEPeCRjGgWGZ+4CweJHMfAHz8AyMFb+tRRUlRQGWK2c0EpfHdJ2EfWfRhvG/Adx9qXuC8NbFaLcvH1/27jxwMudx5SQAfq+nhwWHS2nx+bPdMzAYqtLjli/TT8Mi7XVZysVp2LViwVJWy6HczfvOPmrJXAg6OWnc6+HGDsaVidgPMj+X7adriW/zW4KB+eNTJeTdfu9bOn8lMnf74vuHcooXHc7DH3g66KHIzgSvufNhSfQxwzCY91G9b7+5E4nZhbrf5nKiu5XCfphxJwkkkvmYlisCsysaxtKA/sZz4iWW5K0ZQPWVymqan+lWQUjUb0ZyvWq09fybD/LRaOGi4RoL2XazIzw5AOia6fUHSqrf1iFVlY19SfuNKL25HpFNLnMmWmjzlcD/5O05cW9i3evpdH/vwM/VNo/cqmMoy/G3185wChcosn6EfgFuq+52few2pKPI44ConBdJ59VH98G79xa0j5O7polceUAqPpYGOIwyIrX6+WYcwEo/cxHW3azscqNqkSuw/HOGP+ik76AnS4qZbfMXZ406lvx4ymyP1KURwF+BYjXyDxtTFCE+YXGMOPol21R/mOvUmvYeI3mfgANApQFgOURpFlnvGWn24WwIy9HC/YaO7CMtmFRTS6IcQ9xmbOOvU9lA/bsEgBI5MWiPxV+ekbFKdWrxwxbjTx565Vf8a4ZUYP5B5DvxtwPol55xu5tJj7iwUB+m5DDV+AHTkXjj4G5I1TG0Cs8gNnj8+XAR8VNdfTZi/oeh6KHjEPncu8AooOpNkh63s7abaRYWFeIJt+mAm66CG7heP0W2ObS4vy72sYtz0TdO1PUWVvzJmPVDWymp+U5cAK62UW8IVi8cRqNDqztMDzU/iImoTNMdaIgj7quBjis6Z/ue28avWpONEP5OlTxPTH4zuojnemJAMyiQDusFi6md9P+rirWKuWxpX7xp5u5fQQvrw/eRbZtCw6Seyb51Sr+wC82g/DSpHIheikvDOUbf5O3snWH0dKb3g/01mfTSGVoAeN3LawtQQoUHlIBVsilHpL9SvaH63ho8Z2oBbjr4l30ouYjiSGQ0znCvNpDaol71IYbarFnPIXhlQhBvovXqAyO07PpJRgkF8f4Kz9p8jiTDvSFtbR70UV/BLYPEpQFYKljhEZkxPhTR/HYS3GX0Qyr7QVbcI4554BA9n9mN/Y3xOdj6IX1CLMzJ2MnR+x+14pbmv7THj6dH2Z5BL4NOFsU3ohtHlCPqgR5Qy86qRnAPpMbyyUqN9seIrhOjth3J96vO/YGcsE/dPioXyjmmpH0y9ZPPlPmus4VXIiEffOXUd/wLN8LntUVwv43iuYTfc0VLHZZ4dxD4zDNL5lrDCH2fg+U9YFpH+h0UZknfFonDdPbVpxIRapD7S2XpHzHmfuKkzsqzpy8gfTeq55O+/zyobCA5TXJowhfVABlnmZPpRFT3llsrtwCW71ygbicam+6gFdm+M/TX/nHYfnmZHcysEQTvRKKAtdwCVV5NzHhUt2WSzGDdT47m98trUnEQ020X7qw1ZK5ZZtU2xsSBVJgEiARlGvq8Mmi4p8IEqWdLu9dphkyxiiaq9ssDx8XMSOeXTuYtq1917GBkR+MY1zd7be6z3NO/jkJb59KF1x2eRKlk1nMm0R64w3FpANOMDzotOk3tyCbN+KbNMkLSYMe/muLsWP/Kh77YTC1LGLPn+qyl5aWqyNRblJbQ4bsNHaNZzSGZtsbSikrD2d9EvELTF2yFApHe+v38a9RjZQizHbMeF/JO268BjtpaX01sGHuO94+uBubxd2hUseVqPfqGWcAC4h5ce5veHjkhkvDhfXEL+9EMyXMXm9QMk10NHM9xbTJj/DaN1w/Py6i9Yj6G1pvgZZOspYLNQr3jpeZP2+bdl0SnReCscIHwzpV14ZjqQvenHw6i6H16msHUi1EPStAV9vsl6OHYec/1USXstEjIJ1uGjeBrUA0bek+ZPSsY7q0mTD2Bk/hv4Od51elwC4rnyDWmJkH6tWArqu1IxsuFpPxsMlL+oh1bbMCoefB66VurzUB468WGEK+NNLATaTpGRMVi9SOOV0phsfeI1/Ca5RVbmEON3l1fQsKgJX6OGad/K3Pd1Bs38JcRz1dC122ZNmMCJNUHF6HTGlfA4mFE0xuuFu04EX7zw9AtBXWx2Nr9tMT+ByvU4HBRLuDoDE3StanazTj+pOPz/WRnUS4jHYRI2Jp/lWrwlAL/P2hYfsS5myjP5lAS++ihXVoTp4EIBP9fpGf4bpY75xzOVSnIzBENsM+Fwv9vj5uymYNwvAP44Ltl2qGyFnF4DB6gySUJyQ/F0zyHEfmnn9Tu61AvQFgNvcXxANOtFD/ekuV5Z9JceXdQHfEIKE/M3vLkgwLwf805TFk5H+l5RN2SYjmQ69gN7vXZdtbFYdU0OaHm+Laf0BOsdquQVvup/o6aRHcc/ck8z+DzDfQ9jV24oT1BRmfCjzkD9BqQ9sELciJyWhHOLkty/Td9pu2KTN8z9dlaBli10ZbAAAAABJRU5ErkJggg==\"","\nconst Mixin = {\n data() {\n return {\n cs: {}\n }\n },\n watch: {\n $route(newVal, oldVal) {\n this.setCs()\n },\n },\n computed: {},\n methods: {\n setCs() {\n this.$store.state.storages.forEach((ele) => {\n if (ele.name == this.$route.params.sname) {\n this.cs = ele\n }\n });\n },\n getSid() {\n return this.cs.id\n },\n },\n mounted() {\n this.setCs()\n },\n}\n\nexport default Mixin","const DialogMixin = {\n data() {\n return {\n visible: false\n }\n },\n watch: {\n visible(val) {\n !val && this.$destroy()\n }\n },\n mounted() {\n document.body.appendChild(this.$el)\n this.visible = true\n },\n destroyed() {\n this.$el.parentNode.removeChild(this.$el)\n },\n methods: {\n open() {\n this.visible = true;\n },\n close() {\n this.visible = false;\n },\n completed() {\n this.$emit('completed');\n },\n finish() {\n this.close();\n this.completed();\n },\n }\n}\n\nexport default DialogMixin"],"sourceRoot":""}
\ No newline at end of file
diff --git a/web/dist/js/chunk-45cef788.34b83504.js b/web/dist/js/chunk-45cef788.7430cf3d.js
similarity index 96%
rename from web/dist/js/chunk-45cef788.34b83504.js
rename to web/dist/js/chunk-45cef788.7430cf3d.js
index 87bd302..10cfef7 100644
--- a/web/dist/js/chunk-45cef788.34b83504.js
+++ b/web/dist/js/chunk-45cef788.7430cf3d.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-45cef788"],{"0b47":function(t,e,n){"use strict";var o=function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("el-header",[o("div",{staticClass:"logo"},[o("img",{attrs:{src:n("cf05"),alt:"ZPan"},on:{click:function(e){return t.$router.push("/")}}})]),t.showMenu?o("el-menu",{staticClass:"navbar",staticStyle:{width:"100%"},attrs:{"default-active":t.menuActive,mode:"horizontal",router:""}},[t._l(t.menus.slice(0,5),(function(e,n){return o("el-menu-item",{key:n,attrs:{index:"/"+e.name}},[t._v(t._s(e.title))])})),o("el-submenu",{directives:[{name:"show",rawName:"v-show",value:t.menus.length>5,expression:"menus.length > 5"}],attrs:{index:"more"}},[o("template",{slot:"title"},[t._v("更多")]),t._l(t.menus.slice(5),(function(e,n){return o("el-menu-item",{key:n,attrs:{index:e.path}},[t._v(t._s(e.title))])}))],2)],2):t._e(),o("div",{staticStyle:{position:"absolute",right:"20px"}},[o("el-dropdown",{directives:[{name:"show",rawName:"v-show",value:t.logined,expression:"logined"}],attrs:{trigger:"click"},on:{command:t.onDropdown}},[o("el-avatar",{staticStyle:{"vertical-align":"middle"},attrs:{size:30,src:t.profile.avatar}}),o("el-dropdown-menu",{staticStyle:{width:"200px"},attrs:{slot:"dropdown"},slot:"dropdown"},[o("div",{staticStyle:{margin:"auto 20px"}},[o("el-row",{staticStyle:{"text-align":"center",margin:"10px 0"}},[o("el-avatar",{attrs:{size:50,src:t.profile.avatar}})],1),o("el-row",{staticClass:"storage"},[o("p",[o("span",{},[t._v(t._s(t.$t("leftnav.storage")))]),o("span",{staticStyle:{float:"right"}},[t._v(t._s(t.storage.percentage)+"%")])]),o("el-progress",{attrs:{percentage:t.storage.percentage,"show-text":!1}}),o("p",{staticStyle:{color:"rgba(0, 0, 0, 0.54)","font-size":"0.75rem"}},[t._v(t._s(t.storage.used)+"/"+t._s(t.storage.max))])],1)],1),o("el-dropdown-item",{attrs:{icon:"el-icon-setting",command:"profile",divided:""}},[t._v(t._s(t.$t("topbar.settings")))]),o("el-dropdown-item",{directives:[{name:"show",rawName:"v-show",value:t.showAdmin,expression:"showAdmin"}],attrs:{icon:"el-icon-set-up",command:"admin"}},[t._v(t._s(t.$t("topbar.s-platform")))]),o("el-dropdown-item",{attrs:{icon:"el-icon-switch-button",command:"signout"}},[t._v(t._s(t.$t("topbar.signout")))])],1)],1)],1)],1)},i=[],s=n("9225"),r=n("90fe"),a=n("a78e"),c=n.n(a),u="https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png",l={props:{menus:Array,logined:Boolean},data:function(){return{storage:{percentage:0},user:{},profile:{}}},watch:{$route:"onRouteChange",locale:function(t){Object(s["b"])(t)}},computed:{showMenu:function(){return this.menus&&this.menus.length>0},showAdmin:function(){return"admin"==c.a.get("z-role")},menuActive:function(){return"/".concat(this.$route.params.sname)}},methods:{onRouteChange:function(t,e){this.logined&&this.userInfo()},userInfo:function(){var t=this;this.$zpan.User.profileGet().then((function(e){t.user=e.data,t.profile=t.user.profile,""==t.profile.avatar&&(t.profile.avatar=u),t.profile.locale&&(t.$i18n.locale=t.profile.locale),t.storage={used:r["a"].formatBytes(t.user.storage.used,0),max:r["a"].formatBytes(t.user.storage.max,0),percentage:Math.round(t.user.storage.used/t.user.storage.max*1e4)/100}}))},onDropdown:function(t){this.$router.push({name:t})}},mounted:function(){this.logined&&this.userInfo()}},f=l,d=(n("a0b4"),n("2877")),p=Object(d["a"])(f,o,i,!1,null,null,null);e["a"]=p.exports},2593:function(t,e,n){},"7abe":function(t,e,n){"use strict";n.r(e);var o=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("section",[n("Topbar",{attrs:{menus:t.$store.state.storages,logined:""}}),n("el-container",{staticStyle:{height:"100%"}},[n("el-aside",{staticStyle:{height:"100%","background-color":"#f4f4f5"},attrs:{width:"200px"}},[n("el-menu",{attrs:{"default-active":t.leftMenuActive,"background-color":"#f4f4f5",router:""}},t._l(t.leftMenus,(function(e){return n("el-menu-item",{key:e.path,attrs:{index:e.path}},[n("i",{class:e.icon}),n("span",{attrs:{slot:"title"},slot:"title"},[t._v(t._s(e.title))])])})),1)],1),n("el-main",[n("router-view")],1)],1)],1)},i=[],s=(n("7f7f"),n("a026")),r=n("c0d6"),a=n("41cb"),c=n("0b47"),u=n("ebbf"),l={mixins:[u["a"]],components:{Topbar:c["a"]},beforeRouteEnter:function(t,e,n){s["default"].zpan.Storage.list().then((function(e){var o=e.data.list;0!=o.length?"/"!=t.path?(r["a"].commit("storages",o),n()):a["a"].push({path:"/".concat(o[0].name)}):n({name:"storages"})}))},data:function(){return{}},computed:{currentBucket:function(){return this.$route.params.sname},leftMenuActive:function(){return this.$route.fullPath},leftMenus:function(){var t=[{path:"/".concat(this.currentBucket),icon:"el-icon-document",title:this.$t("leftnav.files")},{path:"/".concat(this.currentBucket,"?type=doc"),icon:"el-icon-xx",title:this.$t("leftnav.doc")},{path:"/".concat(this.currentBucket,"/pic"),icon:"el-icon-xx",title:this.$t("leftnav.image")},{path:"/".concat(this.currentBucket,"?type=audio"),icon:"el-icon-xx",title:this.$t("leftnav.audio")},{path:"/".concat(this.currentBucket,"?type=video"),icon:"el-icon-xx",title:this.$t("leftnav.video")}];if(1==this.cs.mode){var e=[{path:"/".concat(this.currentBucket,"/share"),icon:"el-icon-share",title:this.$t("leftnav.share")},{path:"/".concat(this.currentBucket,"/recyclebin"),icon:"el-icon-delete",title:this.$t("leftnav.recyclebin")}];t.push.apply(t,e)}return t}},watch:{$route:function(t,e){}},methods:{},mounted:function(){}},f=l,d=(n("95c0"),n("2877")),p=Object(d["a"])(f,o,i,!1,null,"43fd32d2",null);e["default"]=p.exports},"95c0":function(t,e,n){"use strict";n("2593")},9884:function(t,e,n){},a0b4:function(t,e,n){"use strict";n("9884")},a78e:function(t,e,n){var o,i;
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-45cef788"],{"0b47":function(t,e,n){"use strict";var o=function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("el-header",[o("div",{staticClass:"logo"},[o("img",{attrs:{src:n("cf05"),alt:"ZPan"},on:{click:function(e){return t.$router.push("/")}}})]),t.showMenu?o("el-menu",{staticClass:"navbar",staticStyle:{width:"100%"},attrs:{"default-active":t.menuActive,mode:"horizontal",router:""}},[t._l(t.menus.slice(0,5),(function(e,n){return o("el-menu-item",{key:n,attrs:{index:"/"+e.name}},[t._v(t._s(e.title))])})),o("el-submenu",{directives:[{name:"show",rawName:"v-show",value:t.menus.length>5,expression:"menus.length > 5"}],attrs:{index:"more"}},[o("template",{slot:"title"},[t._v("更多")]),t._l(t.menus.slice(5),(function(e,n){return o("el-menu-item",{key:n,attrs:{index:e.path}},[t._v(t._s(e.title))])}))],2)],2):t._e(),o("div",{staticStyle:{position:"absolute",right:"20px"}},[o("el-dropdown",{directives:[{name:"show",rawName:"v-show",value:t.logined,expression:"logined"}],attrs:{trigger:"click"},on:{command:t.onDropdown}},[o("el-avatar",{staticStyle:{"vertical-align":"middle","margin-right":"4px"},attrs:{size:30,src:t.profile.avatar}}),o("span",[t._v(t._s(t.profile.nickname))]),o("el-dropdown-menu",{staticStyle:{width:"200px"},attrs:{slot:"dropdown"},slot:"dropdown"},[o("div",{staticStyle:{margin:"auto 20px"}},[o("el-row",{staticStyle:{"text-align":"center",margin:"10px 0"}},[o("el-avatar",{attrs:{size:50,src:t.profile.avatar}})],1),o("el-row",{staticClass:"storage"},[o("p",[o("span",{},[t._v(t._s(t.$t("leftnav.storage")))]),o("span",{staticStyle:{float:"right"}},[t._v(t._s(t.storage.percentage)+"%")])]),o("el-progress",{attrs:{percentage:t.storage.percentage,"show-text":!1}}),o("p",{staticStyle:{color:"rgba(0, 0, 0, 0.54)","font-size":"0.75rem"}},[t._v(t._s(t.storage.used)+"/"+t._s(t.storage.max))])],1)],1),o("el-dropdown-item",{attrs:{icon:"el-icon-setting",command:"profile",divided:""}},[t._v(t._s(t.$t("topbar.settings")))]),o("el-dropdown-item",{directives:[{name:"show",rawName:"v-show",value:t.showAdmin,expression:"showAdmin"}],attrs:{icon:"el-icon-set-up",command:"admin"}},[t._v(t._s(t.$t("topbar.s-platform")))]),o("el-dropdown-item",{attrs:{icon:"el-icon-switch-button",command:"signout"}},[t._v(t._s(t.$t("topbar.signout")))])],1)],1)],1)],1)},i=[],s=n("9225"),r=n("90fe"),a=n("a78e"),c=n.n(a),u="https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png",l={props:{menus:Array,logined:Boolean},data:function(){return{storage:{percentage:0},user:{},profile:{}}},watch:{$route:"onRouteChange",locale:function(t){Object(s["b"])(t)}},computed:{showMenu:function(){return this.menus&&this.menus.length>0},showAdmin:function(){return"admin"==c.a.get("z-role")},menuActive:function(){return"/".concat(this.$route.params.sname)}},methods:{onRouteChange:function(t,e){this.logined&&this.userInfo()},userInfo:function(){var t=this;this.$zpan.User.profileGet().then((function(e){t.user=e.data,t.profile=t.user.profile,""==t.profile.avatar&&(t.profile.avatar=u),t.profile.locale&&(t.$i18n.locale=t.profile.locale),t.storage={used:r["a"].formatBytes(t.user.storage.used,0),max:r["a"].formatBytes(t.user.storage.max,0),percentage:Math.round(t.user.storage.used/t.user.storage.max*1e4)/100}}))},onDropdown:function(t){this.$router.push({name:t})}},mounted:function(){this.logined&&this.userInfo()}},f=l,p=(n("a0b4"),n("2877")),d=Object(p["a"])(f,o,i,!1,null,null,null);e["a"]=d.exports},2593:function(t,e,n){},"7abe":function(t,e,n){"use strict";n.r(e);var o=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("section",[n("Topbar",{attrs:{menus:t.$store.state.storages,logined:""}}),n("el-container",{staticStyle:{height:"100%"}},[n("el-aside",{staticStyle:{height:"100%","background-color":"#f4f4f5"},attrs:{width:"200px"}},[n("el-menu",{attrs:{"default-active":t.leftMenuActive,"background-color":"#f4f4f5",router:""}},t._l(t.leftMenus,(function(e){return n("el-menu-item",{key:e.path,attrs:{index:e.path}},[n("i",{class:e.icon}),n("span",{attrs:{slot:"title"},slot:"title"},[t._v(t._s(e.title))])])})),1)],1),n("el-main",[n("router-view")],1)],1)],1)},i=[],s=(n("7f7f"),n("a026")),r=n("c0d6"),a=n("41cb"),c=n("0b47"),u=n("ebbf"),l={mixins:[u["a"]],components:{Topbar:c["a"]},beforeRouteEnter:function(t,e,n){s["default"].zpan.Storage.list().then((function(e){var o=e.data.list;0!=o.length?"/"!=t.path?(r["a"].commit("storages",o),n()):a["a"].push({path:"/".concat(o[0].name)}):n({name:"storages"})}))},data:function(){return{}},computed:{currentBucket:function(){return this.$route.params.sname},leftMenuActive:function(){return this.$route.fullPath},leftMenus:function(){var t=[{path:"/".concat(this.currentBucket),icon:"el-icon-document",title:this.$t("leftnav.files")},{path:"/".concat(this.currentBucket,"?type=doc"),icon:"el-icon-xx",title:this.$t("leftnav.doc")},{path:"/".concat(this.currentBucket,"/pic"),icon:"el-icon-xx",title:this.$t("leftnav.image")},{path:"/".concat(this.currentBucket,"?type=audio"),icon:"el-icon-xx",title:this.$t("leftnav.audio")},{path:"/".concat(this.currentBucket,"?type=video"),icon:"el-icon-xx",title:this.$t("leftnav.video")}];if(1==this.cs.mode){var e=[{path:"/".concat(this.currentBucket,"/share"),icon:"el-icon-share",title:this.$t("leftnav.share")},{path:"/".concat(this.currentBucket,"/recyclebin"),icon:"el-icon-delete",title:this.$t("leftnav.recyclebin")}];t.push.apply(t,e)}return t}},watch:{$route:function(t,e){}},methods:{},mounted:function(){}},f=l,p=(n("95c0"),n("2877")),d=Object(p["a"])(f,o,i,!1,null,"43fd32d2",null);e["default"]=d.exports},"95c0":function(t,e,n){"use strict";n("2593")},9884:function(t,e,n){},a0b4:function(t,e,n){"use strict";n("9884")},a78e:function(t,e,n){var o,i;
/*!
* JavaScript Cookie v2.2.1
* https://github.com/js-cookie/js-cookie
@@ -6,4 +6,4 @@
* Copyright 2006, 2015 Klaus Hartl & Fagner Brack
* Released under the MIT license
*/(function(s){var r;if(o=s,i="function"===typeof o?o.call(e,n,e,t):o,void 0===i||(t.exports=i),r=!0,t.exports=s(),r=!0,!r){var a=window.Cookies,c=window.Cookies=s();c.noConflict=function(){return window.Cookies=a,c}}})((function(){function t(){for(var t=0,e={};t 5),expression:\"menus.length > 5\"}],attrs:{\"index\":\"more\"}},[_c('template',{slot:\"title\"},[_vm._v(\"更多\")]),_vm._l((_vm.menus.slice(5)),function(menu,index){return _c('el-menu-item',{key:index,attrs:{\"index\":menu.path}},[_vm._v(_vm._s(menu.title))])})],2)],2):_vm._e(),_c('div',{staticStyle:{\"position\":\"absolute\",\"right\":\"20px\"}},[_c('el-dropdown',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.logined),expression:\"logined\"}],attrs:{\"trigger\":\"click\"},on:{\"command\":_vm.onDropdown}},[_c('el-avatar',{staticStyle:{\"vertical-align\":\"middle\",\"margin-right\":\"4px\"},attrs:{\"size\":30,\"src\":_vm.profile.avatar}}),_c('span',[_vm._v(_vm._s(_vm.profile.nickname))]),_c('el-dropdown-menu',{staticStyle:{\"width\":\"200px\"},attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('div',{staticStyle:{\"margin\":\"auto 20px\"}},[_c('el-row',{staticStyle:{\"text-align\":\"center\",\"margin\":\"10px 0\"}},[_c('el-avatar',{attrs:{\"size\":50,\"src\":_vm.profile.avatar}})],1),_c('el-row',{staticClass:\"storage\"},[_c('p',[_c('span',{},[_vm._v(_vm._s(_vm.$t(\"leftnav.storage\")))]),_c('span',{staticStyle:{\"float\":\"right\"}},[_vm._v(_vm._s(_vm.storage.percentage)+\"%\")])]),_c('el-progress',{attrs:{\"percentage\":_vm.storage.percentage,\"show-text\":false}}),_c('p',{staticStyle:{\"color\":\"rgba(0, 0, 0, 0.54)\",\"font-size\":\"0.75rem\"}},[_vm._v(_vm._s(_vm.storage.used)+\"/\"+_vm._s(_vm.storage.max))])],1)],1),_c('el-dropdown-item',{attrs:{\"icon\":\"el-icon-setting\",\"command\":\"profile\",\"divided\":\"\"}},[_vm._v(_vm._s(_vm.$t(\"topbar.settings\")))]),_c('el-dropdown-item',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showAdmin),expression:\"showAdmin\"}],attrs:{\"icon\":\"el-icon-set-up\",\"command\":\"admin\"}},[_vm._v(_vm._s(_vm.$t(\"topbar.s-platform\")))]),_c('el-dropdown-item',{attrs:{\"icon\":\"el-icon-switch-button\",\"command\":\"signout\"}},[_vm._v(_vm._s(_vm.$t(\"topbar.signout\")))])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n
\n
\n \n {{ menu.title }} \n\n 5\">\n 更多 \n {{ menu.title }} \n \n \n\n \n
\n \n {{ profile.nickname }} \n \n \n
\n \n \n
\n \n {{ $t(\"leftnav.storage\") }} \n {{ storage.percentage }}% \n
\n \n {{ storage.used }}/{{ storage.max }}
\n \n
\n\n {{ $t(\"topbar.settings\") }} \n {{ $t(\"topbar.s-platform\") }} \n {{ $t(\"topbar.signout\") }} \n \n \n
\n \n \n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=490deac2&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('Topbar',{attrs:{\"menus\":_vm.$store.state.storages,\"logined\":\"\"}}),_c('el-container',{staticStyle:{\"height\":\"100%\"}},[_c('el-aside',{staticStyle:{\"height\":\"100%\",\"background-color\":\"#f4f4f5\"},attrs:{\"width\":\"200px\"}},[_c('el-menu',{attrs:{\"default-active\":_vm.leftMenuActive,\"background-color\":\"#f4f4f5\",\"router\":\"\"}},_vm._l((_vm.leftMenus),function(menu){return _c('el-menu-item',{key:menu.path,attrs:{\"index\":menu.path}},[_c('i',{class:menu.icon}),_c('span',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(_vm._s(menu.title))])])}),1)],1),_c('el-main',[_c('router-view')],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n \n \n \n \n {{ menu.title }} \n \n \n\n \n \n\n \n \n \n \n \n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=43fd32d2&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=43fd32d2&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"43fd32d2\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=43fd32d2&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=css&\"","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","module.exports = \"data:image/png;base64,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\"","\nconst Mixin = {\n data() {\n return {\n cs: {}\n }\n },\n watch: {\n $route(newVal, oldVal) {\n this.setCs()\n },\n },\n computed: {},\n methods: {\n setCs() {\n this.$store.state.storages.forEach((ele) => {\n if (ele.name == this.$route.params.sname) {\n this.cs = ele\n }\n });\n },\n getSid() {\n return this.cs.id\n },\n },\n mounted() {\n this.setCs()\n },\n}\n\nexport default Mixin","const DialogMixin = {\n data() {\n return {\n visible: false\n }\n },\n watch: {\n visible(val) {\n !val && this.$destroy()\n }\n },\n mounted() {\n document.body.appendChild(this.$el)\n this.visible = true\n },\n destroyed() {\n this.$el.parentNode.removeChild(this.$el)\n },\n methods: {\n open() {\n this.visible = true;\n },\n close() {\n this.visible = false;\n },\n completed() {\n this.$emit('completed');\n },\n finish() {\n this.close();\n this.completed();\n },\n }\n}\n\nexport default DialogMixin"],"sourceRoot":""}
\ No newline at end of file
diff --git a/web/dist/js/chunk-54185f58.0bc610e7.js.map b/web/dist/js/chunk-54185f58.0bc610e7.js.map
deleted file mode 100644
index b8469a0..0000000
--- a/web/dist/js/chunk-54185f58.0bc610e7.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack:///./src/components/Topbar/index.vue?b48c","webpack:///src/components/Topbar/index.vue","webpack:///./src/components/Topbar/index.vue?c208","webpack:///./src/components/Topbar/index.vue","webpack:///./src/views/admin/index.vue?0d61","webpack:///src/views/admin/index.vue","webpack:///./src/views/admin/index.vue?bac8","webpack:///./src/views/admin/index.vue","webpack:///./src/components/Topbar/index.vue?6265","webpack:///./node_modules/js-cookie/src/js.cookie.js","webpack:///./src/views/admin/index.vue?f941","webpack:///./src/assets/logo.png"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","on","$event","$router","push","staticStyle","menuActive","_l","menus","slice","menu","index","key","_v","_s","title","directives","name","rawName","value","length","expression","slot","path","_e","onDropdown","profile","avatar","$t","storage","percentage","used","max","staticRenderFns","props","Array","logined","Boolean","data","user","watch","$route","locale","computed","showMenu","showAdmin","methods","onRouteChange","userInfo","$zpan","User","profileGet","then","utils","Math","round","mounted","component","routeFullPath","components","Topbar","newVal","fullPath","factory","registeredInModuleLoader","module","exports","OldCookies","window","Cookies","api","noConflict","extend","i","result","arguments","attributes","decode","s","replace","decodeURIComponent","init","converter","set","document","defaults","expires","Date","toUTCString","JSON","stringify","test","e","write","encodeURIComponent","String","escape","stringifiedAttributes","attributeName","split","cookie","get","json","jar","cookies","parts","join","charAt","read","parse","getJSON","remove","withConverter"],"mappings":"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","file":"js/chunk-54185f58.0bc610e7.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-header',[_c('div',{staticClass:\"logo\"},[_c('img',{attrs:{\"src\":require(\"@/assets/logo.png\"),\"alt\":\"ZPan\"},on:{\"click\":function($event){return _vm.$router.push('/')}}})]),(_vm.showMenu)?_c('el-menu',{staticClass:\"navbar\",staticStyle:{\"width\":\"100%\"},attrs:{\"default-active\":_vm.menuActive,\"mode\":\"horizontal\",\"router\":\"\"}},[_vm._l((_vm.menus.slice(0, 5)),function(menu,index){return _c('el-menu-item',{key:index,attrs:{\"index\":(\"/\" + (menu.name))}},[_vm._v(_vm._s(menu.title))])}),_c('el-submenu',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.menus.length > 5),expression:\"menus.length > 5\"}],attrs:{\"index\":\"more\"}},[_c('template',{slot:\"title\"},[_vm._v(\"更多\")]),_vm._l((_vm.menus.slice(5)),function(menu,index){return _c('el-menu-item',{key:index,attrs:{\"index\":menu.path}},[_vm._v(_vm._s(menu.title))])})],2)],2):_vm._e(),_c('div',{staticStyle:{\"position\":\"absolute\",\"right\":\"20px\"}},[_c('el-dropdown',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.logined),expression:\"logined\"}],attrs:{\"trigger\":\"click\"},on:{\"command\":_vm.onDropdown}},[_c('el-avatar',{staticStyle:{\"vertical-align\":\"middle\"},attrs:{\"size\":30,\"src\":_vm.profile.avatar}}),_c('el-dropdown-menu',{staticStyle:{\"width\":\"200px\"},attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('div',{staticStyle:{\"margin\":\"auto 20px\"}},[_c('el-row',{staticStyle:{\"text-align\":\"center\",\"margin\":\"10px 0\"}},[_c('el-avatar',{attrs:{\"size\":50,\"src\":_vm.profile.avatar}})],1),_c('el-row',{staticClass:\"storage\"},[_c('p',[_c('span',{},[_vm._v(_vm._s(_vm.$t(\"leftnav.storage\")))]),_c('span',{staticStyle:{\"float\":\"right\"}},[_vm._v(_vm._s(_vm.storage.percentage)+\"%\")])]),_c('el-progress',{attrs:{\"percentage\":_vm.storage.percentage,\"show-text\":false}}),_c('p',{staticStyle:{\"color\":\"rgba(0, 0, 0, 0.54)\",\"font-size\":\"0.75rem\"}},[_vm._v(_vm._s(_vm.storage.used)+\"/\"+_vm._s(_vm.storage.max))])],1)],1),_c('el-dropdown-item',{attrs:{\"icon\":\"el-icon-setting\",\"command\":\"profile\",\"divided\":\"\"}},[_vm._v(_vm._s(_vm.$t(\"topbar.settings\")))]),_c('el-dropdown-item',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showAdmin),expression:\"showAdmin\"}],attrs:{\"icon\":\"el-icon-set-up\",\"command\":\"admin\"}},[_vm._v(_vm._s(_vm.$t(\"topbar.s-platform\")))]),_c('el-dropdown-item',{attrs:{\"icon\":\"el-icon-switch-button\",\"command\":\"signout\"}},[_vm._v(_vm._s(_vm.$t(\"topbar.signout\")))])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n
\n
\n \n {{ menu.title }} \n\n 5\">\n 更多 \n {{ menu.title }} \n \n \n\n \n
\n \n \n \n
\n \n \n
\n \n {{ $t(\"leftnav.storage\") }} \n {{ storage.percentage }}% \n
\n \n {{ storage.used }}/{{ storage.max }}
\n \n
\n\n {{ $t(\"topbar.settings\") }} \n {{ $t(\"topbar.s-platform\") }} \n {{ $t(\"topbar.signout\") }} \n \n \n
\n \n \n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=5a12339f&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('Topbar',{attrs:{\"logined\":\"\"}}),_c('el-container',{staticStyle:{\"height\":\"100%\"}},[_c('el-aside',{staticStyle:{\"height\":\"100%\",\"background-color\":\"#f4f4f5\"},attrs:{\"width\":\"200px\"}},[_c('el-menu',{attrs:{\"default-active\":_vm.routeFullPath,\"background-color\":\"#f4f4f5\",\"router\":\"\"}},[_c('el-menu-item',{attrs:{\"index\":\"/admin/dashboard\"}},[_c('i',{staticClass:\"el-icon-s-home\"}),_c('span',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(\"首页\")])]),_c('el-menu-item',{attrs:{\"index\":\"/admin/storages\"}},[_c('i',{staticClass:\"el-icon-files\"}),_c('span',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(\"存储管理\")])]),_c('el-menu-item',{attrs:{\"index\":\"/admin/users\"}},[_c('i',{staticClass:\"el-icon-user\"}),_c('span',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(\"用户管理\")])]),_c('el-submenu',{attrs:{\"index\":\"/admin/settings\"}},[_c('template',{slot:\"title\"},[_c('i',{staticClass:\"el-icon-files\"}),_c('span',[_vm._v(\"系统设置\")])]),_c('el-menu-item',{attrs:{\"index\":\"/admin/settings\"}},[_vm._v(\"站点设置\")]),_c('el-menu-item',{attrs:{\"index\":\"/admin/settings/email\"}},[_vm._v(\"发信邮箱\")])],2)],1)],1),_c('el-main',[_c('router-view')],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n \n \n \n \n 首页 \n \n \n \n 存储管理 \n \n \n \n 用户管理 \n \n \n \n \n 系统设置 \n \n 站点设置 \n 发信邮箱 \n \n \n \n\n \n \n \n \n \n \n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=1df4bb25&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=1df4bb25&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1df4bb25\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=css&\"","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=1df4bb25&scoped=true&lang=css&\"","module.exports = \"data:image/png;base64,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\""],"sourceRoot":""}
\ No newline at end of file
diff --git a/web/dist/js/chunk-54185f58.0bc610e7.js b/web/dist/js/chunk-54185f58.9e7f71af.js
similarity index 92%
rename from web/dist/js/chunk-54185f58.0bc610e7.js
rename to web/dist/js/chunk-54185f58.9e7f71af.js
index cd6013c..3798cac 100644
--- a/web/dist/js/chunk-54185f58.0bc610e7.js
+++ b/web/dist/js/chunk-54185f58.9e7f71af.js
@@ -1,9 +1,9 @@
-(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-54185f58"],{"0b47":function(e,t,n){"use strict";var o=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("el-header",[o("div",{staticClass:"logo"},[o("img",{attrs:{src:n("cf05"),alt:"ZPan"},on:{click:function(t){return e.$router.push("/")}}})]),e.showMenu?o("el-menu",{staticClass:"navbar",staticStyle:{width:"100%"},attrs:{"default-active":e.menuActive,mode:"horizontal",router:""}},[e._l(e.menus.slice(0,5),(function(t,n){return o("el-menu-item",{key:n,attrs:{index:"/"+t.name}},[e._v(e._s(t.title))])})),o("el-submenu",{directives:[{name:"show",rawName:"v-show",value:e.menus.length>5,expression:"menus.length > 5"}],attrs:{index:"more"}},[o("template",{slot:"title"},[e._v("更多")]),e._l(e.menus.slice(5),(function(t,n){return o("el-menu-item",{key:n,attrs:{index:t.path}},[e._v(e._s(t.title))])}))],2)],2):e._e(),o("div",{staticStyle:{position:"absolute",right:"20px"}},[o("el-dropdown",{directives:[{name:"show",rawName:"v-show",value:e.logined,expression:"logined"}],attrs:{trigger:"click"},on:{command:e.onDropdown}},[o("el-avatar",{staticStyle:{"vertical-align":"middle"},attrs:{size:30,src:e.profile.avatar}}),o("el-dropdown-menu",{staticStyle:{width:"200px"},attrs:{slot:"dropdown"},slot:"dropdown"},[o("div",{staticStyle:{margin:"auto 20px"}},[o("el-row",{staticStyle:{"text-align":"center",margin:"10px 0"}},[o("el-avatar",{attrs:{size:50,src:e.profile.avatar}})],1),o("el-row",{staticClass:"storage"},[o("p",[o("span",{},[e._v(e._s(e.$t("leftnav.storage")))]),o("span",{staticStyle:{float:"right"}},[e._v(e._s(e.storage.percentage)+"%")])]),o("el-progress",{attrs:{percentage:e.storage.percentage,"show-text":!1}}),o("p",{staticStyle:{color:"rgba(0, 0, 0, 0.54)","font-size":"0.75rem"}},[e._v(e._s(e.storage.used)+"/"+e._s(e.storage.max))])],1)],1),o("el-dropdown-item",{attrs:{icon:"el-icon-setting",command:"profile",divided:""}},[e._v(e._s(e.$t("topbar.settings")))]),o("el-dropdown-item",{directives:[{name:"show",rawName:"v-show",value:e.showAdmin,expression:"showAdmin"}],attrs:{icon:"el-icon-set-up",command:"admin"}},[e._v(e._s(e.$t("topbar.s-platform")))]),o("el-dropdown-item",{attrs:{icon:"el-icon-switch-button",command:"signout"}},[e._v(e._s(e.$t("topbar.signout")))])],1)],1)],1)],1)},i=[],s=n("9225"),a=n("90fe"),r=n("a78e"),l=n.n(r),u="https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png",c={props:{menus:Array,logined:Boolean},data:function(){return{storage:{percentage:0},user:{},profile:{}}},watch:{$route:"onRouteChange",locale:function(e){Object(s["b"])(e)}},computed:{showMenu:function(){return this.menus&&this.menus.length>0},showAdmin:function(){return"admin"==l.a.get("z-role")},menuActive:function(){return"/".concat(this.$route.params.sname)}},methods:{onRouteChange:function(e,t){this.logined&&this.userInfo()},userInfo:function(){var e=this;this.$zpan.User.profileGet().then((function(t){e.user=t.data,e.profile=e.user.profile,""==e.profile.avatar&&(e.profile.avatar=u),e.profile.locale&&(e.$i18n.locale=e.profile.locale),e.storage={used:a["a"].formatBytes(e.user.storage.used,0),max:a["a"].formatBytes(e.user.storage.max,0),percentage:Math.round(e.user.storage.used/e.user.storage.max*1e4)/100}}))},onDropdown:function(e){this.$router.push({name:e})}},mounted:function(){this.logined&&this.userInfo()}},d=c,p=(n("a0b4"),n("2877")),f=Object(p["a"])(d,o,i,!1,null,null,null);t["a"]=f.exports},2953:function(e,t,n){"use strict";n.r(t);var o=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("section",[n("Topbar",{attrs:{logined:""}}),n("el-container",{staticStyle:{height:"100%"}},[n("el-aside",{staticStyle:{height:"100%","background-color":"#f4f4f5"},attrs:{width:"200px"}},[n("el-menu",{attrs:{"default-active":e.routeFullPath,"background-color":"#f4f4f5",router:""}},[n("el-menu-item",{attrs:{index:"/admin/dashboard"}},[n("i",{staticClass:"el-icon-s-home"}),n("span",{attrs:{slot:"title"},slot:"title"},[e._v("首页")])]),n("el-menu-item",{attrs:{index:"/admin/storages"}},[n("i",{staticClass:"el-icon-files"}),n("span",{attrs:{slot:"title"},slot:"title"},[e._v("存储管理")])]),n("el-menu-item",{attrs:{index:"/admin/users"}},[n("i",{staticClass:"el-icon-user"}),n("span",{attrs:{slot:"title"},slot:"title"},[e._v("用户管理")])]),n("el-submenu",{attrs:{index:"/admin/settings"}},[n("template",{slot:"title"},[n("i",{staticClass:"el-icon-files"}),n("span",[e._v("系统设置")])]),n("el-menu-item",{attrs:{index:"/admin/settings"}},[e._v("站点设置")]),n("el-menu-item",{attrs:{index:"/admin/settings/email"}},[e._v("发信邮箱")])],2)],1)],1),n("el-main",[n("router-view")],1)],1)],1)},i=[],s=n("0b47"),a={components:{Topbar:s["a"]},data:function(){return{routeFullPath:"disk"}},watch:{$route:function(e,t){this.routeFullPath=e.fullPath}},mounted:function(){this.routeFullPath=this.$route.fullPath}},r=a,l=(n("c71b"),n("2877")),u=Object(l["a"])(r,o,i,!1,null,"1df4bb25",null);t["default"]=u.exports},9884:function(e,t,n){},a0b4:function(e,t,n){"use strict";n("9884")},a78e:function(e,t,n){var o,i;
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-54185f58"],{"0b47":function(e,t,n){"use strict";var o=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("el-header",[o("div",{staticClass:"logo"},[o("img",{attrs:{src:n("cf05"),alt:"ZPan"},on:{click:function(t){return e.$router.push("/")}}})]),e.showMenu?o("el-menu",{staticClass:"navbar",staticStyle:{width:"100%"},attrs:{"default-active":e.menuActive,mode:"horizontal",router:""}},[e._l(e.menus.slice(0,5),(function(t,n){return o("el-menu-item",{key:n,attrs:{index:"/"+t.name}},[e._v(e._s(t.title))])})),o("el-submenu",{directives:[{name:"show",rawName:"v-show",value:e.menus.length>5,expression:"menus.length > 5"}],attrs:{index:"more"}},[o("template",{slot:"title"},[e._v("更多")]),e._l(e.menus.slice(5),(function(t,n){return o("el-menu-item",{key:n,attrs:{index:t.path}},[e._v(e._s(t.title))])}))],2)],2):e._e(),o("div",{staticStyle:{position:"absolute",right:"20px"}},[o("el-dropdown",{directives:[{name:"show",rawName:"v-show",value:e.logined,expression:"logined"}],attrs:{trigger:"click"},on:{command:e.onDropdown}},[o("el-avatar",{staticStyle:{"vertical-align":"middle","margin-right":"4px"},attrs:{size:30,src:e.profile.avatar}}),o("span",[e._v(e._s(e.profile.nickname))]),o("el-dropdown-menu",{staticStyle:{width:"200px"},attrs:{slot:"dropdown"},slot:"dropdown"},[o("div",{staticStyle:{margin:"auto 20px"}},[o("el-row",{staticStyle:{"text-align":"center",margin:"10px 0"}},[o("el-avatar",{attrs:{size:50,src:e.profile.avatar}})],1),o("el-row",{staticClass:"storage"},[o("p",[o("span",{},[e._v(e._s(e.$t("leftnav.storage")))]),o("span",{staticStyle:{float:"right"}},[e._v(e._s(e.storage.percentage)+"%")])]),o("el-progress",{attrs:{percentage:e.storage.percentage,"show-text":!1}}),o("p",{staticStyle:{color:"rgba(0, 0, 0, 0.54)","font-size":"0.75rem"}},[e._v(e._s(e.storage.used)+"/"+e._s(e.storage.max))])],1)],1),o("el-dropdown-item",{attrs:{icon:"el-icon-setting",command:"profile",divided:""}},[e._v(e._s(e.$t("topbar.settings")))]),o("el-dropdown-item",{directives:[{name:"show",rawName:"v-show",value:e.showAdmin,expression:"showAdmin"}],attrs:{icon:"el-icon-set-up",command:"admin"}},[e._v(e._s(e.$t("topbar.s-platform")))]),o("el-dropdown-item",{attrs:{icon:"el-icon-switch-button",command:"signout"}},[e._v(e._s(e.$t("topbar.signout")))])],1)],1)],1)],1)},i=[],s=n("9225"),a=n("90fe"),r=n("a78e"),l=n.n(r),c="https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png",u={props:{menus:Array,logined:Boolean},data:function(){return{storage:{percentage:0},user:{},profile:{}}},watch:{$route:"onRouteChange",locale:function(e){Object(s["b"])(e)}},computed:{showMenu:function(){return this.menus&&this.menus.length>0},showAdmin:function(){return"admin"==l.a.get("z-role")},menuActive:function(){return"/".concat(this.$route.params.sname)}},methods:{onRouteChange:function(e,t){this.logined&&this.userInfo()},userInfo:function(){var e=this;this.$zpan.User.profileGet().then((function(t){e.user=t.data,e.profile=e.user.profile,""==e.profile.avatar&&(e.profile.avatar=c),e.profile.locale&&(e.$i18n.locale=e.profile.locale),e.storage={used:a["a"].formatBytes(e.user.storage.used,0),max:a["a"].formatBytes(e.user.storage.max,0),percentage:Math.round(e.user.storage.used/e.user.storage.max*1e4)/100}}))},onDropdown:function(e){this.$router.push({name:e})}},mounted:function(){this.logined&&this.userInfo()}},d=u,p=(n("a0b4"),n("2877")),f=Object(p["a"])(d,o,i,!1,null,null,null);t["a"]=f.exports},2953:function(e,t,n){"use strict";n.r(t);var o=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("section",[n("Topbar",{attrs:{logined:""}}),n("el-container",{staticStyle:{height:"100%"}},[n("el-aside",{staticStyle:{height:"100%","background-color":"#f4f4f5"},attrs:{width:"200px"}},[n("el-menu",{attrs:{"default-active":e.routeFullPath,"background-color":"#f4f4f5",router:""}},[n("el-menu-item",{attrs:{index:"/admin/dashboard"}},[n("i",{staticClass:"el-icon-s-home"}),n("span",{attrs:{slot:"title"},slot:"title"},[e._v("首页")])]),n("el-menu-item",{attrs:{index:"/admin/storages"}},[n("i",{staticClass:"el-icon-files"}),n("span",{attrs:{slot:"title"},slot:"title"},[e._v("存储管理")])]),n("el-menu-item",{attrs:{index:"/admin/users"}},[n("i",{staticClass:"el-icon-user"}),n("span",{attrs:{slot:"title"},slot:"title"},[e._v("用户管理")])]),n("el-submenu",{attrs:{index:"/admin/settings"}},[n("template",{slot:"title"},[n("i",{staticClass:"el-icon-files"}),n("span",[e._v("系统设置")])]),n("el-menu-item",{attrs:{index:"/admin/settings"}},[e._v("站点设置")]),n("el-menu-item",{attrs:{index:"/admin/settings/email"}},[e._v("发信邮箱")])],2)],1)],1),n("el-main",[n("router-view")],1)],1)],1)},i=[],s=n("0b47"),a={components:{Topbar:s["a"]},data:function(){return{routeFullPath:"disk"}},watch:{$route:function(e,t){this.routeFullPath=e.fullPath}},mounted:function(){this.routeFullPath=this.$route.fullPath}},r=a,l=(n("c71b"),n("2877")),c=Object(l["a"])(r,o,i,!1,null,"1df4bb25",null);t["default"]=c.exports},9884:function(e,t,n){},a0b4:function(e,t,n){"use strict";n("9884")},a78e:function(e,t,n){var o,i;
/*!
* JavaScript Cookie v2.2.1
* https://github.com/js-cookie/js-cookie
*
* Copyright 2006, 2015 Klaus Hartl & Fagner Brack
* Released under the MIT license
- */(function(s){var a;if(o=s,i="function"===typeof o?o.call(t,n,t,e):o,void 0===i||(e.exports=i),a=!0,e.exports=s(),a=!0,!a){var r=window.Cookies,l=window.Cookies=s();l.noConflict=function(){return window.Cookies=r,l}}})((function(){function e(){for(var e=0,t={};e 5),expression:\"menus.length > 5\"}],attrs:{\"index\":\"more\"}},[_c('template',{slot:\"title\"},[_vm._v(\"更多\")]),_vm._l((_vm.menus.slice(5)),function(menu,index){return _c('el-menu-item',{key:index,attrs:{\"index\":menu.path}},[_vm._v(_vm._s(menu.title))])})],2)],2):_vm._e(),_c('div',{staticStyle:{\"position\":\"absolute\",\"right\":\"20px\"}},[_c('el-dropdown',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.logined),expression:\"logined\"}],attrs:{\"trigger\":\"click\"},on:{\"command\":_vm.onDropdown}},[_c('el-avatar',{staticStyle:{\"vertical-align\":\"middle\",\"margin-right\":\"4px\"},attrs:{\"size\":30,\"src\":_vm.profile.avatar}}),_c('span',[_vm._v(_vm._s(_vm.profile.nickname))]),_c('el-dropdown-menu',{staticStyle:{\"width\":\"200px\"},attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('div',{staticStyle:{\"margin\":\"auto 20px\"}},[_c('el-row',{staticStyle:{\"text-align\":\"center\",\"margin\":\"10px 0\"}},[_c('el-avatar',{attrs:{\"size\":50,\"src\":_vm.profile.avatar}})],1),_c('el-row',{staticClass:\"storage\"},[_c('p',[_c('span',{},[_vm._v(_vm._s(_vm.$t(\"leftnav.storage\")))]),_c('span',{staticStyle:{\"float\":\"right\"}},[_vm._v(_vm._s(_vm.storage.percentage)+\"%\")])]),_c('el-progress',{attrs:{\"percentage\":_vm.storage.percentage,\"show-text\":false}}),_c('p',{staticStyle:{\"color\":\"rgba(0, 0, 0, 0.54)\",\"font-size\":\"0.75rem\"}},[_vm._v(_vm._s(_vm.storage.used)+\"/\"+_vm._s(_vm.storage.max))])],1)],1),_c('el-dropdown-item',{attrs:{\"icon\":\"el-icon-setting\",\"command\":\"profile\",\"divided\":\"\"}},[_vm._v(_vm._s(_vm.$t(\"topbar.settings\")))]),_c('el-dropdown-item',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showAdmin),expression:\"showAdmin\"}],attrs:{\"icon\":\"el-icon-set-up\",\"command\":\"admin\"}},[_vm._v(_vm._s(_vm.$t(\"topbar.s-platform\")))]),_c('el-dropdown-item',{attrs:{\"icon\":\"el-icon-switch-button\",\"command\":\"signout\"}},[_vm._v(_vm._s(_vm.$t(\"topbar.signout\")))])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n
\n
\n \n {{ menu.title }} \n\n 5\">\n 更多 \n {{ menu.title }} \n \n \n\n \n
\n \n {{ profile.nickname }} \n \n \n
\n \n \n
\n \n {{ $t(\"leftnav.storage\") }} \n {{ storage.percentage }}% \n
\n \n {{ storage.used }}/{{ storage.max }}
\n \n
\n\n {{ $t(\"topbar.settings\") }} \n {{ $t(\"topbar.s-platform\") }} \n {{ $t(\"topbar.signout\") }} \n \n \n
\n \n \n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=490deac2&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('Topbar',{attrs:{\"logined\":\"\"}}),_c('el-container',{staticStyle:{\"height\":\"100%\"}},[_c('el-aside',{staticStyle:{\"height\":\"100%\",\"background-color\":\"#f4f4f5\"},attrs:{\"width\":\"200px\"}},[_c('el-menu',{attrs:{\"default-active\":_vm.routeFullPath,\"background-color\":\"#f4f4f5\",\"router\":\"\"}},[_c('el-menu-item',{attrs:{\"index\":\"/admin/dashboard\"}},[_c('i',{staticClass:\"el-icon-s-home\"}),_c('span',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(\"首页\")])]),_c('el-menu-item',{attrs:{\"index\":\"/admin/storages\"}},[_c('i',{staticClass:\"el-icon-files\"}),_c('span',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(\"存储管理\")])]),_c('el-menu-item',{attrs:{\"index\":\"/admin/users\"}},[_c('i',{staticClass:\"el-icon-user\"}),_c('span',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(\"用户管理\")])]),_c('el-submenu',{attrs:{\"index\":\"/admin/settings\"}},[_c('template',{slot:\"title\"},[_c('i',{staticClass:\"el-icon-files\"}),_c('span',[_vm._v(\"系统设置\")])]),_c('el-menu-item',{attrs:{\"index\":\"/admin/settings\"}},[_vm._v(\"站点设置\")]),_c('el-menu-item',{attrs:{\"index\":\"/admin/settings/email\"}},[_vm._v(\"发信邮箱\")])],2)],1)],1),_c('el-main',[_c('router-view')],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n \n \n \n \n 首页 \n \n \n \n 存储管理 \n \n \n \n 用户管理 \n \n \n \n \n 系统设置 \n \n 站点设置 \n 发信邮箱 \n \n \n \n\n \n \n \n \n \n \n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=1df4bb25&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=1df4bb25&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1df4bb25\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=css&\"","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=1df4bb25&scoped=true&lang=css&\"","module.exports = \"data:image/png;base64,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\""],"sourceRoot":""}
\ No newline at end of file
diff --git a/web/dist/js/chunk-5ace7ddd.6b8ae6c8.js.map b/web/dist/js/chunk-5ace7ddd.6b8ae6c8.js.map
deleted file mode 100644
index 79215d2..0000000
--- a/web/dist/js/chunk-5ace7ddd.6b8ae6c8.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack:///./src/views/installer/index.vue?4aa7","webpack:///./src/components/Topbar/index.vue?b48c","webpack:///src/components/Topbar/index.vue","webpack:///./src/components/Topbar/index.vue?c208","webpack:///./src/components/Topbar/index.vue","webpack:///./src/components/Topbar/index.vue?6265","webpack:///./src/views/installer/index.vue?1dee","webpack:///src/views/installer/index.vue","webpack:///./src/views/installer/index.vue?3e06","webpack:///./src/views/installer/index.vue","webpack:///./node_modules/js-cookie/src/js.cookie.js","webpack:///./src/assets/logo.png"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","on","$event","$router","push","staticStyle","menuActive","_l","menus","slice","menu","index","key","_v","_s","title","directives","name","rawName","value","length","expression","slot","path","_e","onDropdown","profile","avatar","$t","storage","percentage","used","max","staticRenderFns","props","Array","logined","Boolean","data","user","watch","$route","locale","computed","showMenu","showAdmin","methods","onRouteChange","userInfo","$zpan","User","profileGet","then","utils","Math","round","mounted","component","step","stepShown","form","database","model","callback","$$v","$set","ref","administrator","rules","submitForm","toSignin","components","Topbar","validatePass","Error","validatePass2","dsns","sqlite3","mysql","postgres","mssql","driver","dsn","email","password","passwordr","nl","$refs","formName","validate","console","log","valid","setTimeout","type","message","factory","registeredInModuleLoader","module","exports","OldCookies","window","Cookies","api","noConflict","extend","i","result","arguments","attributes","decode","s","replace","decodeURIComponent","init","converter","set","document","defaults","expires","Date","toUTCString","JSON","stringify","test","e","write","encodeURIComponent","String","escape","stringifiedAttributes","attributeName","split","cookie","get","json","jar","cookies","parts","join","charAt","read","parse","getJSON","remove","withConverter"],"mappings":"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","file":"js/chunk-5ace7ddd.6b8ae6c8.js","sourcesContent":["export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-header',[_c('div',{staticClass:\"logo\"},[_c('img',{attrs:{\"src\":require(\"@/assets/logo.png\"),\"alt\":\"ZPan\"},on:{\"click\":function($event){return _vm.$router.push('/')}}})]),(_vm.showMenu)?_c('el-menu',{staticClass:\"navbar\",staticStyle:{\"width\":\"100%\"},attrs:{\"default-active\":_vm.menuActive,\"mode\":\"horizontal\",\"router\":\"\"}},[_vm._l((_vm.menus.slice(0, 5)),function(menu,index){return _c('el-menu-item',{key:index,attrs:{\"index\":(\"/\" + (menu.name))}},[_vm._v(_vm._s(menu.title))])}),_c('el-submenu',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.menus.length > 5),expression:\"menus.length > 5\"}],attrs:{\"index\":\"more\"}},[_c('template',{slot:\"title\"},[_vm._v(\"更多\")]),_vm._l((_vm.menus.slice(5)),function(menu,index){return _c('el-menu-item',{key:index,attrs:{\"index\":menu.path}},[_vm._v(_vm._s(menu.title))])})],2)],2):_vm._e(),_c('div',{staticStyle:{\"position\":\"absolute\",\"right\":\"20px\"}},[_c('el-dropdown',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.logined),expression:\"logined\"}],attrs:{\"trigger\":\"click\"},on:{\"command\":_vm.onDropdown}},[_c('el-avatar',{staticStyle:{\"vertical-align\":\"middle\"},attrs:{\"size\":30,\"src\":_vm.profile.avatar}}),_c('el-dropdown-menu',{staticStyle:{\"width\":\"200px\"},attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('div',{staticStyle:{\"margin\":\"auto 20px\"}},[_c('el-row',{staticStyle:{\"text-align\":\"center\",\"margin\":\"10px 0\"}},[_c('el-avatar',{attrs:{\"size\":50,\"src\":_vm.profile.avatar}})],1),_c('el-row',{staticClass:\"storage\"},[_c('p',[_c('span',{},[_vm._v(_vm._s(_vm.$t(\"leftnav.storage\")))]),_c('span',{staticStyle:{\"float\":\"right\"}},[_vm._v(_vm._s(_vm.storage.percentage)+\"%\")])]),_c('el-progress',{attrs:{\"percentage\":_vm.storage.percentage,\"show-text\":false}}),_c('p',{staticStyle:{\"color\":\"rgba(0, 0, 0, 0.54)\",\"font-size\":\"0.75rem\"}},[_vm._v(_vm._s(_vm.storage.used)+\"/\"+_vm._s(_vm.storage.max))])],1)],1),_c('el-dropdown-item',{attrs:{\"icon\":\"el-icon-setting\",\"command\":\"profile\",\"divided\":\"\"}},[_vm._v(_vm._s(_vm.$t(\"topbar.settings\")))]),_c('el-dropdown-item',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showAdmin),expression:\"showAdmin\"}],attrs:{\"icon\":\"el-icon-set-up\",\"command\":\"admin\"}},[_vm._v(_vm._s(_vm.$t(\"topbar.s-platform\")))]),_c('el-dropdown-item',{attrs:{\"icon\":\"el-icon-switch-button\",\"command\":\"signout\"}},[_vm._v(_vm._s(_vm.$t(\"topbar.signout\")))])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n
\n
\n \n {{ menu.title }} \n\n 5\">\n 更多 \n {{ menu.title }} \n \n \n\n \n
\n \n \n \n
\n \n \n
\n \n {{ $t(\"leftnav.storage\") }} \n {{ storage.percentage }}% \n
\n \n {{ storage.used }}/{{ storage.max }}
\n \n
\n\n {{ $t(\"topbar.settings\") }} \n {{ $t(\"topbar.s-platform\") }} \n {{ $t(\"topbar.signout\") }} \n \n \n
\n \n \n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=5a12339f&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('Topbar'),_c('div',{staticClass:\"installer\"},[_c('el-card',{staticStyle:{\"padding\":\"40px\"},attrs:{\"shadow\":\"never\"}},[_c('el-steps',{staticClass:\"step\",attrs:{\"active\":_vm.step,\"finish-status\":\"success\"}},[_c('el-step',{attrs:{\"title\":\"配置数据库\"}}),_c('el-step',{attrs:{\"title\":\"配置管理员账号\"}}),_c('el-step',{attrs:{\"title\":\"安装完成\"}})],1),_c('el-form',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.stepShown(0)),expression:\"stepShown(0)\"}],staticClass:\"form\",attrs:{\"model\":_vm.form.database,\"label-width\":\"100px\"}},[_c('el-form-item',{attrs:{\"label\":\"数据库类型\",\"prop\":\"driver\"}},[_c('el-radio-group',{model:{value:(_vm.form.database.driver),callback:function ($$v) {_vm.$set(_vm.form.database, \"driver\", $$v)},expression:\"form.database.driver\"}},[_c('el-radio',{attrs:{\"label\":\"sqlite3\"}}),_c('el-radio',{attrs:{\"label\":\"mysql\"}}),_c('el-radio',{attrs:{\"label\":\"postgres\"}}),_c('el-radio',{attrs:{\"label\":\"mssql\"}})],1)],1),_c('el-form-item',{attrs:{\"label\":\"DSN\",\"prop\":\"dsn\"}},[_c('el-input',{model:{value:(_vm.form.database.dsn),callback:function ($$v) {_vm.$set(_vm.form.database, \"dsn\", $$v)},expression:\"form.database.dsn\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){_vm.step++}}},[_vm._v(\"下一步\")])],1)],1),_c('el-form',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.stepShown(1)),expression:\"stepShown(1)\"}],ref:\"form\",staticClass:\"form\",attrs:{\"model\":_vm.form.administrator,\"rules\":_vm.rules,\"label-width\":\"100px\"}},[_c('el-form-item',{attrs:{\"label\":\"管理员账号\",\"prop\":\"email\"}},[_c('el-input',{model:{value:(_vm.form.administrator.email),callback:function ($$v) {_vm.$set(_vm.form.administrator, \"email\", $$v)},expression:\"form.administrator.email\"}})],1),_c('el-form-item',{attrs:{\"label\":\"管理员密码\",\"prop\":\"password\"}},[_c('el-input',{attrs:{\"type\":\"password\"},model:{value:(_vm.form.administrator.password),callback:function ($$v) {_vm.$set(_vm.form.administrator, \"password\", $$v)},expression:\"form.administrator.password\"}})],1),_c('el-form-item',{attrs:{\"label\":\"密码确认\",\"prop\":\"passwordr\"}},[_c('el-input',{attrs:{\"type\":\"password\"},model:{value:(_vm.form.administrator.passwordr),callback:function ($$v) {_vm.$set(_vm.form.administrator, \"passwordr\", $$v)},expression:\"form.administrator.passwordr\"}})],1),_c('el-form-item',[_c('el-button',{on:{\"click\":function($event){_vm.step--}}},[_vm._v(\"上一步\")]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.submitForm('form')}}},[_vm._v(\"开始安装\")])],1)],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.stepShown(3)),expression:\"stepShown(3)\"}],staticStyle:{\"text-align\":\"center\"}},[_c('h3',{staticStyle:{\"margin-bottom\":\"50px\"}},[_vm._v(\"恭喜!ZPan安装成功啦~\")]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.toSignin}},[_vm._v(\"去登录\")])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n
\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n 下一步 \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n 上一步 \n 开始安装 \n \n \n\n \n
恭喜!ZPan安装成功啦~ \n 去登录 \n \n \n
\n \n \n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=0e710c83&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","module.exports = \"data:image/png;base64,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\""],"sourceRoot":""}
\ No newline at end of file
diff --git a/web/dist/js/chunk-5ace7ddd.6b8ae6c8.js b/web/dist/js/chunk-5ace7ddd.e6cd2799.js
similarity index 97%
rename from web/dist/js/chunk-5ace7ddd.6b8ae6c8.js
rename to web/dist/js/chunk-5ace7ddd.e6cd2799.js
index 913a190..996fe9f 100644
--- a/web/dist/js/chunk-5ace7ddd.6b8ae6c8.js
+++ b/web/dist/js/chunk-5ace7ddd.e6cd2799.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-5ace7ddd"],{"02b5":function(e,t,r){},"0a6e":function(e,t,r){"use strict";r("02b5")},"0b47":function(e,t,r){"use strict";var s=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("el-header",[s("div",{staticClass:"logo"},[s("img",{attrs:{src:r("cf05"),alt:"ZPan"},on:{click:function(t){return e.$router.push("/")}}})]),e.showMenu?s("el-menu",{staticClass:"navbar",staticStyle:{width:"100%"},attrs:{"default-active":e.menuActive,mode:"horizontal",router:""}},[e._l(e.menus.slice(0,5),(function(t,r){return s("el-menu-item",{key:r,attrs:{index:"/"+t.name}},[e._v(e._s(t.title))])})),s("el-submenu",{directives:[{name:"show",rawName:"v-show",value:e.menus.length>5,expression:"menus.length > 5"}],attrs:{index:"more"}},[s("template",{slot:"title"},[e._v("更多")]),e._l(e.menus.slice(5),(function(t,r){return s("el-menu-item",{key:r,attrs:{index:t.path}},[e._v(e._s(t.title))])}))],2)],2):e._e(),s("div",{staticStyle:{position:"absolute",right:"20px"}},[s("el-dropdown",{directives:[{name:"show",rawName:"v-show",value:e.logined,expression:"logined"}],attrs:{trigger:"click"},on:{command:e.onDropdown}},[s("el-avatar",{staticStyle:{"vertical-align":"middle"},attrs:{size:30,src:e.profile.avatar}}),s("el-dropdown-menu",{staticStyle:{width:"200px"},attrs:{slot:"dropdown"},slot:"dropdown"},[s("div",{staticStyle:{margin:"auto 20px"}},[s("el-row",{staticStyle:{"text-align":"center",margin:"10px 0"}},[s("el-avatar",{attrs:{size:50,src:e.profile.avatar}})],1),s("el-row",{staticClass:"storage"},[s("p",[s("span",{},[e._v(e._s(e.$t("leftnav.storage")))]),s("span",{staticStyle:{float:"right"}},[e._v(e._s(e.storage.percentage)+"%")])]),s("el-progress",{attrs:{percentage:e.storage.percentage,"show-text":!1}}),s("p",{staticStyle:{color:"rgba(0, 0, 0, 0.54)","font-size":"0.75rem"}},[e._v(e._s(e.storage.used)+"/"+e._s(e.storage.max))])],1)],1),s("el-dropdown-item",{attrs:{icon:"el-icon-setting",command:"profile",divided:""}},[e._v(e._s(e.$t("topbar.settings")))]),s("el-dropdown-item",{directives:[{name:"show",rawName:"v-show",value:e.showAdmin,expression:"showAdmin"}],attrs:{icon:"el-icon-set-up",command:"admin"}},[e._v(e._s(e.$t("topbar.s-platform")))]),s("el-dropdown-item",{attrs:{icon:"el-icon-switch-button",command:"signout"}},[e._v(e._s(e.$t("topbar.signout")))])],1)],1)],1)],1)},a=[],o=r("9225"),n=r("90fe"),i=r("a78e"),l=r.n(i),c="https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png",m={props:{menus:Array,logined:Boolean},data:function(){return{storage:{percentage:0},user:{},profile:{}}},watch:{$route:"onRouteChange",locale:function(e){Object(o["b"])(e)}},computed:{showMenu:function(){return this.menus&&this.menus.length>0},showAdmin:function(){return"admin"==l.a.get("z-role")},menuActive:function(){return"/".concat(this.$route.params.sname)}},methods:{onRouteChange:function(e,t){this.logined&&this.userInfo()},userInfo:function(){var e=this;this.$zpan.User.profileGet().then((function(t){e.user=t.data,e.profile=e.user.profile,""==e.profile.avatar&&(e.profile.avatar=c),e.profile.locale&&(e.$i18n.locale=e.profile.locale),e.storage={used:n["a"].formatBytes(e.user.storage.used,0),max:n["a"].formatBytes(e.user.storage.max,0),percentage:Math.round(e.user.storage.used/e.user.storage.max*1e4)/100}}))},onDropdown:function(e){this.$router.push({name:e})}},mounted:function(){this.logined&&this.userInfo()}},u=m,p=(r("a0b4"),r("2877")),d=Object(p["a"])(u,s,a,!1,null,null,null);t["a"]=d.exports},9884:function(e,t,r){},a0b4:function(e,t,r){"use strict";r("9884")},a25c:function(e,t,r){"use strict";r.r(t);var s=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("section",[r("Topbar"),r("div",{staticClass:"installer"},[r("el-card",{staticStyle:{padding:"40px"},attrs:{shadow:"never"}},[r("el-steps",{staticClass:"step",attrs:{active:e.step,"finish-status":"success"}},[r("el-step",{attrs:{title:"配置数据库"}}),r("el-step",{attrs:{title:"配置管理员账号"}}),r("el-step",{attrs:{title:"安装完成"}})],1),r("el-form",{directives:[{name:"show",rawName:"v-show",value:e.stepShown(0),expression:"stepShown(0)"}],staticClass:"form",attrs:{model:e.form.database,"label-width":"100px"}},[r("el-form-item",{attrs:{label:"数据库类型",prop:"driver"}},[r("el-radio-group",{model:{value:e.form.database.driver,callback:function(t){e.$set(e.form.database,"driver",t)},expression:"form.database.driver"}},[r("el-radio",{attrs:{label:"sqlite3"}}),r("el-radio",{attrs:{label:"mysql"}}),r("el-radio",{attrs:{label:"postgres"}}),r("el-radio",{attrs:{label:"mssql"}})],1)],1),r("el-form-item",{attrs:{label:"DSN",prop:"dsn"}},[r("el-input",{model:{value:e.form.database.dsn,callback:function(t){e.$set(e.form.database,"dsn",t)},expression:"form.database.dsn"}})],1),r("el-form-item",[r("el-button",{attrs:{type:"primary"},on:{click:function(t){e.step++}}},[e._v("下一步")])],1)],1),r("el-form",{directives:[{name:"show",rawName:"v-show",value:e.stepShown(1),expression:"stepShown(1)"}],ref:"form",staticClass:"form",attrs:{model:e.form.administrator,rules:e.rules,"label-width":"100px"}},[r("el-form-item",{attrs:{label:"管理员账号",prop:"email"}},[r("el-input",{model:{value:e.form.administrator.email,callback:function(t){e.$set(e.form.administrator,"email",t)},expression:"form.administrator.email"}})],1),r("el-form-item",{attrs:{label:"管理员密码",prop:"password"}},[r("el-input",{attrs:{type:"password"},model:{value:e.form.administrator.password,callback:function(t){e.$set(e.form.administrator,"password",t)},expression:"form.administrator.password"}})],1),r("el-form-item",{attrs:{label:"密码确认",prop:"passwordr"}},[r("el-input",{attrs:{type:"password"},model:{value:e.form.administrator.passwordr,callback:function(t){e.$set(e.form.administrator,"passwordr",t)},expression:"form.administrator.passwordr"}})],1),r("el-form-item",[r("el-button",{on:{click:function(t){e.step--}}},[e._v("上一步")]),r("el-button",{attrs:{type:"primary"},on:{click:function(t){return e.submitForm("form")}}},[e._v("开始安装")])],1)],1),r("div",{directives:[{name:"show",rawName:"v-show",value:e.stepShown(3),expression:"stepShown(3)"}],staticStyle:{"text-align":"center"}},[r("h3",{staticStyle:{"margin-bottom":"50px"}},[e._v("恭喜!ZPan安装成功啦~")]),r("el-button",{attrs:{type:"primary"},on:{click:e.toSignin}},[e._v("去登录")])],1)],1)],1)],1)},a=[],o=r("0b47"),n={components:{Topbar:o["a"]},data:function(){var e=this,t=function(t,r,s){r?(""!==e.form.administrator.passwordr&&e.$refs.form.validateField("passwordr"),s()):s(new Error("请输入密码"))},r=function(t,r,s){r?r!==e.form.administrator.password?s(new Error("两次输入密码不一致!")):s():s(new Error("请再次输入密码"))};return{step:0,dsns:{sqlite3:"zpan.db",mysql:"user:pass@tcp(127.0.0.1:3306)/zpan?charset=utf8mb4&parseTime=True&loc=Local",postgres:"host=localhost user=admin password=admin dbname=zpan port=9920 sslmode=disable TimeZone=Asia/Shanghai",mssql:"sqlserver://zpan:LoremIpsum86@localhost:9930?database=zpan"},form:{database:{driver:"sqlite3",dsn:"zpan.db"},administrator:{email:"admin@zpan.space"}},rules:{email:[{required:!0,message:"请输入邮箱地址",trigger:"blur"},{type:"email",message:"请输入正确的邮箱地址",trigger:["blur","change"]}],password:[{validator:t,trigger:"blur",required:!0}],passwordr:[{validator:r,trigger:"blur",required:!0}]}}},watch:{"form.database.driver":function(e,t){this.form.database.dsn=this.dsns[e]}},computed:{},methods:{stepShown:function(e){return this.step==e},submitForm:function(e){var t=this;this.$refs[e].validate((function(e){console.log(e),e?(console.log(t.form),t.$zpan.System.installDatabase(t.form.database).then((function(e){setTimeout((function(){t.$zpan.System.createAdministrator(t.form.administrator).then((function(){t.$message({type:"success",message:"安装成功"}),t.step++,t.step++}))}),1e3)}))):console.log("error submit!!")}))},toSignin:function(){this.$router.push({name:"signin",params:{email:this.form.administrator.email}})}}},i=n,l=(r("0a6e"),r("2877")),c=Object(l["a"])(i,s,a,!1,null,null,null);t["default"]=c.exports},a78e:function(e,t,r){var s,a;
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-5ace7ddd"],{"02b5":function(e,t,r){},"0a6e":function(e,t,r){"use strict";r("02b5")},"0b47":function(e,t,r){"use strict";var s=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("el-header",[s("div",{staticClass:"logo"},[s("img",{attrs:{src:r("cf05"),alt:"ZPan"},on:{click:function(t){return e.$router.push("/")}}})]),e.showMenu?s("el-menu",{staticClass:"navbar",staticStyle:{width:"100%"},attrs:{"default-active":e.menuActive,mode:"horizontal",router:""}},[e._l(e.menus.slice(0,5),(function(t,r){return s("el-menu-item",{key:r,attrs:{index:"/"+t.name}},[e._v(e._s(t.title))])})),s("el-submenu",{directives:[{name:"show",rawName:"v-show",value:e.menus.length>5,expression:"menus.length > 5"}],attrs:{index:"more"}},[s("template",{slot:"title"},[e._v("更多")]),e._l(e.menus.slice(5),(function(t,r){return s("el-menu-item",{key:r,attrs:{index:t.path}},[e._v(e._s(t.title))])}))],2)],2):e._e(),s("div",{staticStyle:{position:"absolute",right:"20px"}},[s("el-dropdown",{directives:[{name:"show",rawName:"v-show",value:e.logined,expression:"logined"}],attrs:{trigger:"click"},on:{command:e.onDropdown}},[s("el-avatar",{staticStyle:{"vertical-align":"middle","margin-right":"4px"},attrs:{size:30,src:e.profile.avatar}}),s("span",[e._v(e._s(e.profile.nickname))]),s("el-dropdown-menu",{staticStyle:{width:"200px"},attrs:{slot:"dropdown"},slot:"dropdown"},[s("div",{staticStyle:{margin:"auto 20px"}},[s("el-row",{staticStyle:{"text-align":"center",margin:"10px 0"}},[s("el-avatar",{attrs:{size:50,src:e.profile.avatar}})],1),s("el-row",{staticClass:"storage"},[s("p",[s("span",{},[e._v(e._s(e.$t("leftnav.storage")))]),s("span",{staticStyle:{float:"right"}},[e._v(e._s(e.storage.percentage)+"%")])]),s("el-progress",{attrs:{percentage:e.storage.percentage,"show-text":!1}}),s("p",{staticStyle:{color:"rgba(0, 0, 0, 0.54)","font-size":"0.75rem"}},[e._v(e._s(e.storage.used)+"/"+e._s(e.storage.max))])],1)],1),s("el-dropdown-item",{attrs:{icon:"el-icon-setting",command:"profile",divided:""}},[e._v(e._s(e.$t("topbar.settings")))]),s("el-dropdown-item",{directives:[{name:"show",rawName:"v-show",value:e.showAdmin,expression:"showAdmin"}],attrs:{icon:"el-icon-set-up",command:"admin"}},[e._v(e._s(e.$t("topbar.s-platform")))]),s("el-dropdown-item",{attrs:{icon:"el-icon-switch-button",command:"signout"}},[e._v(e._s(e.$t("topbar.signout")))])],1)],1)],1)],1)},a=[],o=r("9225"),n=r("90fe"),i=r("a78e"),l=r.n(i),c="https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png",m={props:{menus:Array,logined:Boolean},data:function(){return{storage:{percentage:0},user:{},profile:{}}},watch:{$route:"onRouteChange",locale:function(e){Object(o["b"])(e)}},computed:{showMenu:function(){return this.menus&&this.menus.length>0},showAdmin:function(){return"admin"==l.a.get("z-role")},menuActive:function(){return"/".concat(this.$route.params.sname)}},methods:{onRouteChange:function(e,t){this.logined&&this.userInfo()},userInfo:function(){var e=this;this.$zpan.User.profileGet().then((function(t){e.user=t.data,e.profile=e.user.profile,""==e.profile.avatar&&(e.profile.avatar=c),e.profile.locale&&(e.$i18n.locale=e.profile.locale),e.storage={used:n["a"].formatBytes(e.user.storage.used,0),max:n["a"].formatBytes(e.user.storage.max,0),percentage:Math.round(e.user.storage.used/e.user.storage.max*1e4)/100}}))},onDropdown:function(e){this.$router.push({name:e})}},mounted:function(){this.logined&&this.userInfo()}},p=m,u=(r("a0b4"),r("2877")),d=Object(u["a"])(p,s,a,!1,null,null,null);t["a"]=d.exports},9884:function(e,t,r){},a0b4:function(e,t,r){"use strict";r("9884")},a25c:function(e,t,r){"use strict";r.r(t);var s=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("section",[r("Topbar"),r("div",{staticClass:"installer"},[r("el-card",{staticStyle:{padding:"40px"},attrs:{shadow:"never"}},[r("el-steps",{staticClass:"step",attrs:{active:e.step,"finish-status":"success"}},[r("el-step",{attrs:{title:"配置数据库"}}),r("el-step",{attrs:{title:"配置管理员账号"}}),r("el-step",{attrs:{title:"安装完成"}})],1),r("el-form",{directives:[{name:"show",rawName:"v-show",value:e.stepShown(0),expression:"stepShown(0)"}],staticClass:"form",attrs:{model:e.form.database,"label-width":"100px"}},[r("el-form-item",{attrs:{label:"数据库类型",prop:"driver"}},[r("el-radio-group",{model:{value:e.form.database.driver,callback:function(t){e.$set(e.form.database,"driver",t)},expression:"form.database.driver"}},[r("el-radio",{attrs:{label:"sqlite3"}}),r("el-radio",{attrs:{label:"mysql"}}),r("el-radio",{attrs:{label:"postgres"}}),r("el-radio",{attrs:{label:"mssql"}})],1)],1),r("el-form-item",{attrs:{label:"DSN",prop:"dsn"}},[r("el-input",{model:{value:e.form.database.dsn,callback:function(t){e.$set(e.form.database,"dsn",t)},expression:"form.database.dsn"}})],1),r("el-form-item",[r("el-button",{attrs:{type:"primary"},on:{click:function(t){e.step++}}},[e._v("下一步")])],1)],1),r("el-form",{directives:[{name:"show",rawName:"v-show",value:e.stepShown(1),expression:"stepShown(1)"}],ref:"form",staticClass:"form",attrs:{model:e.form.administrator,rules:e.rules,"label-width":"100px"}},[r("el-form-item",{attrs:{label:"管理员账号",prop:"email"}},[r("el-input",{model:{value:e.form.administrator.email,callback:function(t){e.$set(e.form.administrator,"email",t)},expression:"form.administrator.email"}})],1),r("el-form-item",{attrs:{label:"管理员密码",prop:"password"}},[r("el-input",{attrs:{type:"password"},model:{value:e.form.administrator.password,callback:function(t){e.$set(e.form.administrator,"password",t)},expression:"form.administrator.password"}})],1),r("el-form-item",{attrs:{label:"密码确认",prop:"passwordr"}},[r("el-input",{attrs:{type:"password"},model:{value:e.form.administrator.passwordr,callback:function(t){e.$set(e.form.administrator,"passwordr",t)},expression:"form.administrator.passwordr"}})],1),r("el-form-item",[r("el-button",{on:{click:function(t){e.step--}}},[e._v("上一步")]),r("el-button",{attrs:{type:"primary"},on:{click:function(t){return e.submitForm("form")}}},[e._v("开始安装")])],1)],1),r("div",{directives:[{name:"show",rawName:"v-show",value:e.stepShown(3),expression:"stepShown(3)"}],staticStyle:{"text-align":"center"}},[r("h3",{staticStyle:{"margin-bottom":"50px"}},[e._v("恭喜!ZPan安装成功啦~")]),r("el-button",{attrs:{type:"primary"},on:{click:e.toSignin}},[e._v("去登录")])],1)],1)],1)],1)},a=[],o=r("0b47"),n={components:{Topbar:o["a"]},data:function(){var e=this,t=function(t,r,s){r?(""!==e.form.administrator.passwordr&&e.$refs.form.validateField("passwordr"),s()):s(new Error("请输入密码"))},r=function(t,r,s){r?r!==e.form.administrator.password?s(new Error("两次输入密码不一致!")):s():s(new Error("请再次输入密码"))};return{step:0,dsns:{sqlite3:"zpan.db",mysql:"user:pass@tcp(127.0.0.1:3306)/zpan?charset=utf8mb4&parseTime=True&loc=Local",postgres:"host=localhost user=admin password=admin dbname=zpan port=9920 sslmode=disable TimeZone=Asia/Shanghai",mssql:"sqlserver://zpan:LoremIpsum86@localhost:9930?database=zpan"},form:{database:{driver:"sqlite3",dsn:"zpan.db"},administrator:{email:"admin@zpan.space"}},rules:{email:[{required:!0,message:"请输入邮箱地址",trigger:"blur"},{type:"email",message:"请输入正确的邮箱地址",trigger:["blur","change"]}],password:[{validator:t,trigger:"blur",required:!0}],passwordr:[{validator:r,trigger:"blur",required:!0}]}}},watch:{"form.database.driver":function(e,t){this.form.database.dsn=this.dsns[e]}},computed:{},methods:{stepShown:function(e){return this.step==e},submitForm:function(e){var t=this;this.$refs[e].validate((function(e){console.log(e),e?(console.log(t.form),t.$zpan.System.installDatabase(t.form.database).then((function(e){setTimeout((function(){t.$zpan.System.createAdministrator(t.form.administrator).then((function(){t.$message({type:"success",message:"安装成功"}),t.step++,t.step++}))}),1e3)}))):console.log("error submit!!")}))},toSignin:function(){this.$router.push({name:"signin",params:{email:this.form.administrator.email}})}}},i=n,l=(r("0a6e"),r("2877")),c=Object(l["a"])(i,s,a,!1,null,null,null);t["default"]=c.exports},a78e:function(e,t,r){var s,a;
/*!
* JavaScript Cookie v2.2.1
* https://github.com/js-cookie/js-cookie
@@ -6,4 +6,4 @@
* Copyright 2006, 2015 Klaus Hartl & Fagner Brack
* Released under the MIT license
*/(function(o){var n;if(s=o,a="function"===typeof s?s.call(t,r,t,e):s,void 0===a||(e.exports=a),n=!0,e.exports=o(),n=!0,!n){var i=window.Cookies,l=window.Cookies=o();l.noConflict=function(){return window.Cookies=i,l}}})((function(){function e(){for(var e=0,t={};e 5),expression:\"menus.length > 5\"}],attrs:{\"index\":\"more\"}},[_c('template',{slot:\"title\"},[_vm._v(\"更多\")]),_vm._l((_vm.menus.slice(5)),function(menu,index){return _c('el-menu-item',{key:index,attrs:{\"index\":menu.path}},[_vm._v(_vm._s(menu.title))])})],2)],2):_vm._e(),_c('div',{staticStyle:{\"position\":\"absolute\",\"right\":\"20px\"}},[_c('el-dropdown',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.logined),expression:\"logined\"}],attrs:{\"trigger\":\"click\"},on:{\"command\":_vm.onDropdown}},[_c('el-avatar',{staticStyle:{\"vertical-align\":\"middle\",\"margin-right\":\"4px\"},attrs:{\"size\":30,\"src\":_vm.profile.avatar}}),_c('span',[_vm._v(_vm._s(_vm.profile.nickname))]),_c('el-dropdown-menu',{staticStyle:{\"width\":\"200px\"},attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('div',{staticStyle:{\"margin\":\"auto 20px\"}},[_c('el-row',{staticStyle:{\"text-align\":\"center\",\"margin\":\"10px 0\"}},[_c('el-avatar',{attrs:{\"size\":50,\"src\":_vm.profile.avatar}})],1),_c('el-row',{staticClass:\"storage\"},[_c('p',[_c('span',{},[_vm._v(_vm._s(_vm.$t(\"leftnav.storage\")))]),_c('span',{staticStyle:{\"float\":\"right\"}},[_vm._v(_vm._s(_vm.storage.percentage)+\"%\")])]),_c('el-progress',{attrs:{\"percentage\":_vm.storage.percentage,\"show-text\":false}}),_c('p',{staticStyle:{\"color\":\"rgba(0, 0, 0, 0.54)\",\"font-size\":\"0.75rem\"}},[_vm._v(_vm._s(_vm.storage.used)+\"/\"+_vm._s(_vm.storage.max))])],1)],1),_c('el-dropdown-item',{attrs:{\"icon\":\"el-icon-setting\",\"command\":\"profile\",\"divided\":\"\"}},[_vm._v(_vm._s(_vm.$t(\"topbar.settings\")))]),_c('el-dropdown-item',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showAdmin),expression:\"showAdmin\"}],attrs:{\"icon\":\"el-icon-set-up\",\"command\":\"admin\"}},[_vm._v(_vm._s(_vm.$t(\"topbar.s-platform\")))]),_c('el-dropdown-item',{attrs:{\"icon\":\"el-icon-switch-button\",\"command\":\"signout\"}},[_vm._v(_vm._s(_vm.$t(\"topbar.signout\")))])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n
\n
\n \n {{ menu.title }} \n\n 5\">\n 更多 \n {{ menu.title }} \n \n \n\n \n
\n \n {{ profile.nickname }} \n \n \n
\n \n \n
\n \n {{ $t(\"leftnav.storage\") }} \n {{ storage.percentage }}% \n
\n \n {{ storage.used }}/{{ storage.max }}
\n \n
\n\n {{ $t(\"topbar.settings\") }} \n {{ $t(\"topbar.s-platform\") }} \n {{ $t(\"topbar.signout\") }} \n \n \n
\n \n \n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=490deac2&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('Topbar'),_c('div',{staticClass:\"installer\"},[_c('el-card',{staticStyle:{\"padding\":\"40px\"},attrs:{\"shadow\":\"never\"}},[_c('el-steps',{staticClass:\"step\",attrs:{\"active\":_vm.step,\"finish-status\":\"success\"}},[_c('el-step',{attrs:{\"title\":\"配置数据库\"}}),_c('el-step',{attrs:{\"title\":\"配置管理员账号\"}}),_c('el-step',{attrs:{\"title\":\"安装完成\"}})],1),_c('el-form',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.stepShown(0)),expression:\"stepShown(0)\"}],staticClass:\"form\",attrs:{\"model\":_vm.form.database,\"label-width\":\"100px\"}},[_c('el-form-item',{attrs:{\"label\":\"数据库类型\",\"prop\":\"driver\"}},[_c('el-radio-group',{model:{value:(_vm.form.database.driver),callback:function ($$v) {_vm.$set(_vm.form.database, \"driver\", $$v)},expression:\"form.database.driver\"}},[_c('el-radio',{attrs:{\"label\":\"sqlite3\"}}),_c('el-radio',{attrs:{\"label\":\"mysql\"}}),_c('el-radio',{attrs:{\"label\":\"postgres\"}}),_c('el-radio',{attrs:{\"label\":\"mssql\"}})],1)],1),_c('el-form-item',{attrs:{\"label\":\"DSN\",\"prop\":\"dsn\"}},[_c('el-input',{model:{value:(_vm.form.database.dsn),callback:function ($$v) {_vm.$set(_vm.form.database, \"dsn\", $$v)},expression:\"form.database.dsn\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){_vm.step++}}},[_vm._v(\"下一步\")])],1)],1),_c('el-form',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.stepShown(1)),expression:\"stepShown(1)\"}],ref:\"form\",staticClass:\"form\",attrs:{\"model\":_vm.form.administrator,\"rules\":_vm.rules,\"label-width\":\"100px\"}},[_c('el-form-item',{attrs:{\"label\":\"管理员账号\",\"prop\":\"email\"}},[_c('el-input',{model:{value:(_vm.form.administrator.email),callback:function ($$v) {_vm.$set(_vm.form.administrator, \"email\", $$v)},expression:\"form.administrator.email\"}})],1),_c('el-form-item',{attrs:{\"label\":\"管理员密码\",\"prop\":\"password\"}},[_c('el-input',{attrs:{\"type\":\"password\"},model:{value:(_vm.form.administrator.password),callback:function ($$v) {_vm.$set(_vm.form.administrator, \"password\", $$v)},expression:\"form.administrator.password\"}})],1),_c('el-form-item',{attrs:{\"label\":\"密码确认\",\"prop\":\"passwordr\"}},[_c('el-input',{attrs:{\"type\":\"password\"},model:{value:(_vm.form.administrator.passwordr),callback:function ($$v) {_vm.$set(_vm.form.administrator, \"passwordr\", $$v)},expression:\"form.administrator.passwordr\"}})],1),_c('el-form-item',[_c('el-button',{on:{\"click\":function($event){_vm.step--}}},[_vm._v(\"上一步\")]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.submitForm('form')}}},[_vm._v(\"开始安装\")])],1)],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.stepShown(3)),expression:\"stepShown(3)\"}],staticStyle:{\"text-align\":\"center\"}},[_c('h3',{staticStyle:{\"margin-bottom\":\"50px\"}},[_vm._v(\"恭喜!ZPan安装成功啦~\")]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.toSignin}},[_vm._v(\"去登录\")])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n
\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n 下一步 \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n 上一步 \n 开始安装 \n \n \n\n \n
恭喜!ZPan安装成功啦~ \n 去登录 \n \n \n
\n \n \n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=0e710c83&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","module.exports = \"data:image/png;base64,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\""],"sourceRoot":""}
\ No newline at end of file
diff --git a/web/dist/js/chunk-5c753fc6.2c6b0824.js.map b/web/dist/js/chunk-5c753fc6.2c6b0824.js.map
deleted file mode 100644
index 50616b1..0000000
--- a/web/dist/js/chunk-5c753fc6.2c6b0824.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack:///./src/components/Topbar/index.vue?b48c","webpack:///src/components/Topbar/index.vue","webpack:///./src/components/Topbar/index.vue?c208","webpack:///./src/components/Topbar/index.vue","webpack:///./src/views/login/index.vue?9adc","webpack:///./src/views/login/index.vue?9ed1","webpack:///src/views/login/index.vue","webpack:///./src/views/login/index.vue?5b56","webpack:///./src/views/login/index.vue","webpack:///./src/components/Topbar/index.vue?6265","webpack:///./node_modules/js-cookie/src/js.cookie.js","webpack:///./src/assets/logo.png"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","on","$event","$router","push","staticStyle","menuActive","_l","menus","slice","menu","index","key","_v","_s","title","directives","name","rawName","value","length","expression","slot","path","_e","onDropdown","profile","avatar","$t","storage","percentage","used","max","staticRenderFns","props","Array","logined","Boolean","data","user","watch","$route","locale","computed","showMenu","showAdmin","methods","onRouteChange","userInfo","$zpan","User","profileGet","then","utils","Math","round","mounted","component","components","Topbar","factory","registeredInModuleLoader","module","exports","OldCookies","window","Cookies","api","noConflict","extend","i","result","arguments","attributes","decode","s","replace","decodeURIComponent","init","converter","set","document","defaults","expires","Date","toUTCString","JSON","stringify","test","e","write","encodeURIComponent","String","escape","stringifiedAttributes","attributeName","split","cookie","get","json","jar","cookies","parts","join","charAt","read","parse","getJSON","remove","withConverter"],"mappings":"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","file":"js/chunk-5c753fc6.2c6b0824.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-header',[_c('div',{staticClass:\"logo\"},[_c('img',{attrs:{\"src\":require(\"@/assets/logo.png\"),\"alt\":\"ZPan\"},on:{\"click\":function($event){return _vm.$router.push('/')}}})]),(_vm.showMenu)?_c('el-menu',{staticClass:\"navbar\",staticStyle:{\"width\":\"100%\"},attrs:{\"default-active\":_vm.menuActive,\"mode\":\"horizontal\",\"router\":\"\"}},[_vm._l((_vm.menus.slice(0, 5)),function(menu,index){return _c('el-menu-item',{key:index,attrs:{\"index\":(\"/\" + (menu.name))}},[_vm._v(_vm._s(menu.title))])}),_c('el-submenu',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.menus.length > 5),expression:\"menus.length > 5\"}],attrs:{\"index\":\"more\"}},[_c('template',{slot:\"title\"},[_vm._v(\"更多\")]),_vm._l((_vm.menus.slice(5)),function(menu,index){return _c('el-menu-item',{key:index,attrs:{\"index\":menu.path}},[_vm._v(_vm._s(menu.title))])})],2)],2):_vm._e(),_c('div',{staticStyle:{\"position\":\"absolute\",\"right\":\"20px\"}},[_c('el-dropdown',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.logined),expression:\"logined\"}],attrs:{\"trigger\":\"click\"},on:{\"command\":_vm.onDropdown}},[_c('el-avatar',{staticStyle:{\"vertical-align\":\"middle\"},attrs:{\"size\":30,\"src\":_vm.profile.avatar}}),_c('el-dropdown-menu',{staticStyle:{\"width\":\"200px\"},attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('div',{staticStyle:{\"margin\":\"auto 20px\"}},[_c('el-row',{staticStyle:{\"text-align\":\"center\",\"margin\":\"10px 0\"}},[_c('el-avatar',{attrs:{\"size\":50,\"src\":_vm.profile.avatar}})],1),_c('el-row',{staticClass:\"storage\"},[_c('p',[_c('span',{},[_vm._v(_vm._s(_vm.$t(\"leftnav.storage\")))]),_c('span',{staticStyle:{\"float\":\"right\"}},[_vm._v(_vm._s(_vm.storage.percentage)+\"%\")])]),_c('el-progress',{attrs:{\"percentage\":_vm.storage.percentage,\"show-text\":false}}),_c('p',{staticStyle:{\"color\":\"rgba(0, 0, 0, 0.54)\",\"font-size\":\"0.75rem\"}},[_vm._v(_vm._s(_vm.storage.used)+\"/\"+_vm._s(_vm.storage.max))])],1)],1),_c('el-dropdown-item',{attrs:{\"icon\":\"el-icon-setting\",\"command\":\"profile\",\"divided\":\"\"}},[_vm._v(_vm._s(_vm.$t(\"topbar.settings\")))]),_c('el-dropdown-item',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showAdmin),expression:\"showAdmin\"}],attrs:{\"icon\":\"el-icon-set-up\",\"command\":\"admin\"}},[_vm._v(_vm._s(_vm.$t(\"topbar.s-platform\")))]),_c('el-dropdown-item',{attrs:{\"icon\":\"el-icon-switch-button\",\"command\":\"signout\"}},[_vm._v(_vm._s(_vm.$t(\"topbar.signout\")))])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n
\n
\n \n {{ menu.title }} \n\n 5\">\n 更多 \n {{ menu.title }} \n \n \n\n \n
\n \n \n \n
\n \n \n
\n \n {{ $t(\"leftnav.storage\") }} \n {{ storage.percentage }}% \n
\n \n {{ storage.used }}/{{ storage.max }}
\n \n
\n\n {{ $t(\"topbar.settings\") }} \n {{ $t(\"topbar.s-platform\") }} \n {{ $t(\"topbar.signout\") }} \n \n \n
\n \n \n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=5a12339f&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('Topbar'),_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n
\n \n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=dee55c50&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=css&\"","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","module.exports = \"data:image/png;base64,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\""],"sourceRoot":""}
\ No newline at end of file
diff --git a/web/dist/js/chunk-5c753fc6.2c6b0824.js b/web/dist/js/chunk-5c753fc6.38a032a2.js
similarity index 97%
rename from web/dist/js/chunk-5c753fc6.2c6b0824.js
rename to web/dist/js/chunk-5c753fc6.38a032a2.js
index 77d48f9..d08c77b 100644
--- a/web/dist/js/chunk-5c753fc6.2c6b0824.js
+++ b/web/dist/js/chunk-5c753fc6.38a032a2.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-5c753fc6"],{"05ad":function(e,t,n){},"0b47":function(e,t,n){"use strict";var o=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("el-header",[o("div",{staticClass:"logo"},[o("img",{attrs:{src:n("cf05"),alt:"ZPan"},on:{click:function(t){return e.$router.push("/")}}})]),e.showMenu?o("el-menu",{staticClass:"navbar",staticStyle:{width:"100%"},attrs:{"default-active":e.menuActive,mode:"horizontal",router:""}},[e._l(e.menus.slice(0,5),(function(t,n){return o("el-menu-item",{key:n,attrs:{index:"/"+t.name}},[e._v(e._s(t.title))])})),o("el-submenu",{directives:[{name:"show",rawName:"v-show",value:e.menus.length>5,expression:"menus.length > 5"}],attrs:{index:"more"}},[o("template",{slot:"title"},[e._v("更多")]),e._l(e.menus.slice(5),(function(t,n){return o("el-menu-item",{key:n,attrs:{index:t.path}},[e._v(e._s(t.title))])}))],2)],2):e._e(),o("div",{staticStyle:{position:"absolute",right:"20px"}},[o("el-dropdown",{directives:[{name:"show",rawName:"v-show",value:e.logined,expression:"logined"}],attrs:{trigger:"click"},on:{command:e.onDropdown}},[o("el-avatar",{staticStyle:{"vertical-align":"middle"},attrs:{size:30,src:e.profile.avatar}}),o("el-dropdown-menu",{staticStyle:{width:"200px"},attrs:{slot:"dropdown"},slot:"dropdown"},[o("div",{staticStyle:{margin:"auto 20px"}},[o("el-row",{staticStyle:{"text-align":"center",margin:"10px 0"}},[o("el-avatar",{attrs:{size:50,src:e.profile.avatar}})],1),o("el-row",{staticClass:"storage"},[o("p",[o("span",{},[e._v(e._s(e.$t("leftnav.storage")))]),o("span",{staticStyle:{float:"right"}},[e._v(e._s(e.storage.percentage)+"%")])]),o("el-progress",{attrs:{percentage:e.storage.percentage,"show-text":!1}}),o("p",{staticStyle:{color:"rgba(0, 0, 0, 0.54)","font-size":"0.75rem"}},[e._v(e._s(e.storage.used)+"/"+e._s(e.storage.max))])],1)],1),o("el-dropdown-item",{attrs:{icon:"el-icon-setting",command:"profile",divided:""}},[e._v(e._s(e.$t("topbar.settings")))]),o("el-dropdown-item",{directives:[{name:"show",rawName:"v-show",value:e.showAdmin,expression:"showAdmin"}],attrs:{icon:"el-icon-set-up",command:"admin"}},[e._v(e._s(e.$t("topbar.s-platform")))]),o("el-dropdown-item",{attrs:{icon:"el-icon-switch-button",command:"signout"}},[e._v(e._s(e.$t("topbar.signout")))])],1)],1)],1)],1)},r=[],i=n("9225"),a=n("90fe"),s=n("a78e"),c=n.n(s),u="https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png",l={props:{menus:Array,logined:Boolean},data:function(){return{storage:{percentage:0},user:{},profile:{}}},watch:{$route:"onRouteChange",locale:function(e){Object(i["b"])(e)}},computed:{showMenu:function(){return this.menus&&this.menus.length>0},showAdmin:function(){return"admin"==c.a.get("z-role")},menuActive:function(){return"/".concat(this.$route.params.sname)}},methods:{onRouteChange:function(e,t){this.logined&&this.userInfo()},userInfo:function(){var e=this;this.$zpan.User.profileGet().then((function(t){e.user=t.data,e.profile=e.user.profile,""==e.profile.avatar&&(e.profile.avatar=u),e.profile.locale&&(e.$i18n.locale=e.profile.locale),e.storage={used:a["a"].formatBytes(e.user.storage.used,0),max:a["a"].formatBytes(e.user.storage.max,0),percentage:Math.round(e.user.storage.used/e.user.storage.max*1e4)/100}}))},onDropdown:function(e){this.$router.push({name:e})}},mounted:function(){this.logined&&this.userInfo()}},p=l,A=(n("a0b4"),n("2877")),d=Object(A["a"])(p,o,r,!1,null,null,null);t["a"]=d.exports},"793e":function(e,t,n){"use strict";n("05ad")},9884:function(e,t,n){},"9ed6":function(e,t,n){"use strict";n.r(t);var o=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{attrs:{id:"app"}},[n("Topbar"),n("router-view")],1)},r=[],i=n("0b47"),a={components:{Topbar:i["a"]},data:function(){return{}},watch:{},methods:{},mounted:function(){}},s=a,c=(n("793e"),n("2877")),u=Object(c["a"])(s,o,r,!1,null,null,null);t["default"]=u.exports},a0b4:function(e,t,n){"use strict";n("9884")},a78e:function(e,t,n){var o,r;
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-5c753fc6"],{"05ad":function(e,t,n){},"0b47":function(e,t,n){"use strict";var o=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("el-header",[o("div",{staticClass:"logo"},[o("img",{attrs:{src:n("cf05"),alt:"ZPan"},on:{click:function(t){return e.$router.push("/")}}})]),e.showMenu?o("el-menu",{staticClass:"navbar",staticStyle:{width:"100%"},attrs:{"default-active":e.menuActive,mode:"horizontal",router:""}},[e._l(e.menus.slice(0,5),(function(t,n){return o("el-menu-item",{key:n,attrs:{index:"/"+t.name}},[e._v(e._s(t.title))])})),o("el-submenu",{directives:[{name:"show",rawName:"v-show",value:e.menus.length>5,expression:"menus.length > 5"}],attrs:{index:"more"}},[o("template",{slot:"title"},[e._v("更多")]),e._l(e.menus.slice(5),(function(t,n){return o("el-menu-item",{key:n,attrs:{index:t.path}},[e._v(e._s(t.title))])}))],2)],2):e._e(),o("div",{staticStyle:{position:"absolute",right:"20px"}},[o("el-dropdown",{directives:[{name:"show",rawName:"v-show",value:e.logined,expression:"logined"}],attrs:{trigger:"click"},on:{command:e.onDropdown}},[o("el-avatar",{staticStyle:{"vertical-align":"middle","margin-right":"4px"},attrs:{size:30,src:e.profile.avatar}}),o("span",[e._v(e._s(e.profile.nickname))]),o("el-dropdown-menu",{staticStyle:{width:"200px"},attrs:{slot:"dropdown"},slot:"dropdown"},[o("div",{staticStyle:{margin:"auto 20px"}},[o("el-row",{staticStyle:{"text-align":"center",margin:"10px 0"}},[o("el-avatar",{attrs:{size:50,src:e.profile.avatar}})],1),o("el-row",{staticClass:"storage"},[o("p",[o("span",{},[e._v(e._s(e.$t("leftnav.storage")))]),o("span",{staticStyle:{float:"right"}},[e._v(e._s(e.storage.percentage)+"%")])]),o("el-progress",{attrs:{percentage:e.storage.percentage,"show-text":!1}}),o("p",{staticStyle:{color:"rgba(0, 0, 0, 0.54)","font-size":"0.75rem"}},[e._v(e._s(e.storage.used)+"/"+e._s(e.storage.max))])],1)],1),o("el-dropdown-item",{attrs:{icon:"el-icon-setting",command:"profile",divided:""}},[e._v(e._s(e.$t("topbar.settings")))]),o("el-dropdown-item",{directives:[{name:"show",rawName:"v-show",value:e.showAdmin,expression:"showAdmin"}],attrs:{icon:"el-icon-set-up",command:"admin"}},[e._v(e._s(e.$t("topbar.s-platform")))]),o("el-dropdown-item",{attrs:{icon:"el-icon-switch-button",command:"signout"}},[e._v(e._s(e.$t("topbar.signout")))])],1)],1)],1)],1)},r=[],i=n("9225"),a=n("90fe"),s=n("a78e"),c=n.n(s),u="https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png",l={props:{menus:Array,logined:Boolean},data:function(){return{storage:{percentage:0},user:{},profile:{}}},watch:{$route:"onRouteChange",locale:function(e){Object(i["b"])(e)}},computed:{showMenu:function(){return this.menus&&this.menus.length>0},showAdmin:function(){return"admin"==c.a.get("z-role")},menuActive:function(){return"/".concat(this.$route.params.sname)}},methods:{onRouteChange:function(e,t){this.logined&&this.userInfo()},userInfo:function(){var e=this;this.$zpan.User.profileGet().then((function(t){e.user=t.data,e.profile=e.user.profile,""==e.profile.avatar&&(e.profile.avatar=u),e.profile.locale&&(e.$i18n.locale=e.profile.locale),e.storage={used:a["a"].formatBytes(e.user.storage.used,0),max:a["a"].formatBytes(e.user.storage.max,0),percentage:Math.round(e.user.storage.used/e.user.storage.max*1e4)/100}}))},onDropdown:function(e){this.$router.push({name:e})}},mounted:function(){this.logined&&this.userInfo()}},p=l,A=(n("a0b4"),n("2877")),d=Object(A["a"])(p,o,r,!1,null,null,null);t["a"]=d.exports},"793e":function(e,t,n){"use strict";n("05ad")},9884:function(e,t,n){},"9ed6":function(e,t,n){"use strict";n.r(t);var o=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{attrs:{id:"app"}},[n("Topbar"),n("router-view")],1)},r=[],i=n("0b47"),a={components:{Topbar:i["a"]},data:function(){return{}},watch:{},methods:{},mounted:function(){}},s=a,c=(n("793e"),n("2877")),u=Object(c["a"])(s,o,r,!1,null,null,null);t["default"]=u.exports},a0b4:function(e,t,n){"use strict";n("9884")},a78e:function(e,t,n){var o,r;
/*!
* JavaScript Cookie v2.2.1
* https://github.com/js-cookie/js-cookie
@@ -6,4 +6,4 @@
* Copyright 2006, 2015 Klaus Hartl & Fagner Brack
* Released under the MIT license
*/(function(i){var a;if(o=i,r="function"===typeof o?o.call(t,n,t,e):o,void 0===r||(e.exports=r),a=!0,e.exports=i(),a=!0,!a){var s=window.Cookies,c=window.Cookies=i();c.noConflict=function(){return window.Cookies=s,c}}})((function(){function e(){for(var e=0,t={};e 5),expression:\"menus.length > 5\"}],attrs:{\"index\":\"more\"}},[_c('template',{slot:\"title\"},[_vm._v(\"更多\")]),_vm._l((_vm.menus.slice(5)),function(menu,index){return _c('el-menu-item',{key:index,attrs:{\"index\":menu.path}},[_vm._v(_vm._s(menu.title))])})],2)],2):_vm._e(),_c('div',{staticStyle:{\"position\":\"absolute\",\"right\":\"20px\"}},[_c('el-dropdown',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.logined),expression:\"logined\"}],attrs:{\"trigger\":\"click\"},on:{\"command\":_vm.onDropdown}},[_c('el-avatar',{staticStyle:{\"vertical-align\":\"middle\",\"margin-right\":\"4px\"},attrs:{\"size\":30,\"src\":_vm.profile.avatar}}),_c('span',[_vm._v(_vm._s(_vm.profile.nickname))]),_c('el-dropdown-menu',{staticStyle:{\"width\":\"200px\"},attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('div',{staticStyle:{\"margin\":\"auto 20px\"}},[_c('el-row',{staticStyle:{\"text-align\":\"center\",\"margin\":\"10px 0\"}},[_c('el-avatar',{attrs:{\"size\":50,\"src\":_vm.profile.avatar}})],1),_c('el-row',{staticClass:\"storage\"},[_c('p',[_c('span',{},[_vm._v(_vm._s(_vm.$t(\"leftnav.storage\")))]),_c('span',{staticStyle:{\"float\":\"right\"}},[_vm._v(_vm._s(_vm.storage.percentage)+\"%\")])]),_c('el-progress',{attrs:{\"percentage\":_vm.storage.percentage,\"show-text\":false}}),_c('p',{staticStyle:{\"color\":\"rgba(0, 0, 0, 0.54)\",\"font-size\":\"0.75rem\"}},[_vm._v(_vm._s(_vm.storage.used)+\"/\"+_vm._s(_vm.storage.max))])],1)],1),_c('el-dropdown-item',{attrs:{\"icon\":\"el-icon-setting\",\"command\":\"profile\",\"divided\":\"\"}},[_vm._v(_vm._s(_vm.$t(\"topbar.settings\")))]),_c('el-dropdown-item',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showAdmin),expression:\"showAdmin\"}],attrs:{\"icon\":\"el-icon-set-up\",\"command\":\"admin\"}},[_vm._v(_vm._s(_vm.$t(\"topbar.s-platform\")))]),_c('el-dropdown-item',{attrs:{\"icon\":\"el-icon-switch-button\",\"command\":\"signout\"}},[_vm._v(_vm._s(_vm.$t(\"topbar.signout\")))])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n
\n
\n \n {{ menu.title }} \n\n 5\">\n 更多 \n {{ menu.title }} \n \n \n\n \n
\n \n {{ profile.nickname }} \n \n \n
\n \n \n
\n \n {{ $t(\"leftnav.storage\") }} \n {{ storage.percentage }}% \n
\n \n {{ storage.used }}/{{ storage.max }}
\n \n
\n\n {{ $t(\"topbar.settings\") }} \n {{ $t(\"topbar.s-platform\") }} \n {{ $t(\"topbar.signout\") }} \n \n \n
\n \n \n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=490deac2&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('Topbar'),_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n
\n \n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=dee55c50&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=css&\"","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","module.exports = \"data:image/png;base64,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\""],"sourceRoot":""}
\ No newline at end of file
diff --git a/web/dist/js/chunk-757d2a9b.1e8f0784.js.map b/web/dist/js/chunk-757d2a9b.1e8f0784.js.map
deleted file mode 100644
index 88815ab..0000000
--- a/web/dist/js/chunk-757d2a9b.1e8f0784.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack:///./src/components/Topbar/index.vue?b48c","webpack:///src/components/Topbar/index.vue","webpack:///./src/components/Topbar/index.vue?c208","webpack:///./src/components/Topbar/index.vue","webpack:///./src/views/settings/index.vue?6f74","webpack:///./src/views/settings/index.vue?f846","webpack:///src/views/settings/index.vue","webpack:///./src/views/settings/index.vue?cc7a","webpack:///./src/views/settings/index.vue","webpack:///./src/components/Topbar/index.vue?6265","webpack:///./node_modules/js-cookie/src/js.cookie.js","webpack:///./src/assets/logo.png"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","on","$event","$router","push","staticStyle","menuActive","_l","menus","slice","menu","index","key","_v","_s","title","directives","name","rawName","value","length","expression","slot","path","_e","onDropdown","profile","avatar","$t","storage","percentage","used","max","staticRenderFns","props","Array","logined","Boolean","data","user","watch","$route","locale","computed","showMenu","showAdmin","methods","onRouteChange","userInfo","$zpan","User","profileGet","then","utils","Math","round","mounted","component","$store","state","storages","leftMenuActive","class","icon","components","Topbar","beforeRouteEnter","store","next","fullPath","leftMenus","factory","registeredInModuleLoader","module","exports","OldCookies","window","Cookies","api","noConflict","extend","i","result","arguments","attributes","decode","s","replace","decodeURIComponent","init","converter","set","document","defaults","expires","Date","toUTCString","JSON","stringify","test","e","write","encodeURIComponent","String","escape","stringifiedAttributes","attributeName","split","cookie","get","json","jar","cookies","parts","join","charAt","read","parse","getJSON","remove","withConverter"],"mappings":"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","file":"js/chunk-757d2a9b.1e8f0784.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-header',[_c('div',{staticClass:\"logo\"},[_c('img',{attrs:{\"src\":require(\"@/assets/logo.png\"),\"alt\":\"ZPan\"},on:{\"click\":function($event){return _vm.$router.push('/')}}})]),(_vm.showMenu)?_c('el-menu',{staticClass:\"navbar\",staticStyle:{\"width\":\"100%\"},attrs:{\"default-active\":_vm.menuActive,\"mode\":\"horizontal\",\"router\":\"\"}},[_vm._l((_vm.menus.slice(0, 5)),function(menu,index){return _c('el-menu-item',{key:index,attrs:{\"index\":(\"/\" + (menu.name))}},[_vm._v(_vm._s(menu.title))])}),_c('el-submenu',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.menus.length > 5),expression:\"menus.length > 5\"}],attrs:{\"index\":\"more\"}},[_c('template',{slot:\"title\"},[_vm._v(\"更多\")]),_vm._l((_vm.menus.slice(5)),function(menu,index){return _c('el-menu-item',{key:index,attrs:{\"index\":menu.path}},[_vm._v(_vm._s(menu.title))])})],2)],2):_vm._e(),_c('div',{staticStyle:{\"position\":\"absolute\",\"right\":\"20px\"}},[_c('el-dropdown',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.logined),expression:\"logined\"}],attrs:{\"trigger\":\"click\"},on:{\"command\":_vm.onDropdown}},[_c('el-avatar',{staticStyle:{\"vertical-align\":\"middle\"},attrs:{\"size\":30,\"src\":_vm.profile.avatar}}),_c('el-dropdown-menu',{staticStyle:{\"width\":\"200px\"},attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('div',{staticStyle:{\"margin\":\"auto 20px\"}},[_c('el-row',{staticStyle:{\"text-align\":\"center\",\"margin\":\"10px 0\"}},[_c('el-avatar',{attrs:{\"size\":50,\"src\":_vm.profile.avatar}})],1),_c('el-row',{staticClass:\"storage\"},[_c('p',[_c('span',{},[_vm._v(_vm._s(_vm.$t(\"leftnav.storage\")))]),_c('span',{staticStyle:{\"float\":\"right\"}},[_vm._v(_vm._s(_vm.storage.percentage)+\"%\")])]),_c('el-progress',{attrs:{\"percentage\":_vm.storage.percentage,\"show-text\":false}}),_c('p',{staticStyle:{\"color\":\"rgba(0, 0, 0, 0.54)\",\"font-size\":\"0.75rem\"}},[_vm._v(_vm._s(_vm.storage.used)+\"/\"+_vm._s(_vm.storage.max))])],1)],1),_c('el-dropdown-item',{attrs:{\"icon\":\"el-icon-setting\",\"command\":\"profile\",\"divided\":\"\"}},[_vm._v(_vm._s(_vm.$t(\"topbar.settings\")))]),_c('el-dropdown-item',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showAdmin),expression:\"showAdmin\"}],attrs:{\"icon\":\"el-icon-set-up\",\"command\":\"admin\"}},[_vm._v(_vm._s(_vm.$t(\"topbar.s-platform\")))]),_c('el-dropdown-item',{attrs:{\"icon\":\"el-icon-switch-button\",\"command\":\"signout\"}},[_vm._v(_vm._s(_vm.$t(\"topbar.signout\")))])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n
\n
\n \n {{ menu.title }} \n\n 5\">\n 更多 \n {{ menu.title }} \n \n \n\n \n
\n \n \n \n
\n \n \n
\n \n {{ $t(\"leftnav.storage\") }} \n {{ storage.percentage }}% \n
\n \n {{ storage.used }}/{{ storage.max }}
\n \n
\n\n {{ $t(\"topbar.settings\") }} \n {{ $t(\"topbar.s-platform\") }} \n {{ $t(\"topbar.signout\") }} \n \n \n
\n \n \n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=5a12339f&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=2907b69d&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('Topbar',{attrs:{\"menus\":_vm.$store.state.storages,\"logined\":\"\"}}),_c('el-container',{staticStyle:{\"height\":\"100%\"}},[_c('el-aside',{staticStyle:{\"height\":\"100%\",\"background-color\":\"#f4f4f5\"},attrs:{\"width\":\"200px\"}},[_c('el-menu',{attrs:{\"default-active\":_vm.leftMenuActive,\"background-color\":\"#f4f4f5\",\"router\":\"\"}},_vm._l((_vm.leftMenus),function(menu){return _c('el-menu-item',{key:menu.path,attrs:{\"index\":menu.path}},[_c('i',{class:menu.icon}),_c('span',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(_vm._s(menu.title))])])}),1)],1),_c('el-main',[_c('router-view')],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n \n \n \n \n {{ menu.title }} \n \n \n\n \n \n\n \n \n \n \n \n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=2907b69d&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=2907b69d&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2907b69d\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=css&\"","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","module.exports = \"data:image/png;base64,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\""],"sourceRoot":""}
\ No newline at end of file
diff --git a/web/dist/js/chunk-757d2a9b.1e8f0784.js b/web/dist/js/chunk-757d2a9b.8947d41a.js
similarity index 98%
rename from web/dist/js/chunk-757d2a9b.1e8f0784.js
rename to web/dist/js/chunk-757d2a9b.8947d41a.js
index abdb295..5e5a987 100644
--- a/web/dist/js/chunk-757d2a9b.1e8f0784.js
+++ b/web/dist/js/chunk-757d2a9b.8947d41a.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-757d2a9b"],{"0b47":function(e,t,n){"use strict";var o=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("el-header",[o("div",{staticClass:"logo"},[o("img",{attrs:{src:n("cf05"),alt:"ZPan"},on:{click:function(t){return e.$router.push("/")}}})]),e.showMenu?o("el-menu",{staticClass:"navbar",staticStyle:{width:"100%"},attrs:{"default-active":e.menuActive,mode:"horizontal",router:""}},[e._l(e.menus.slice(0,5),(function(t,n){return o("el-menu-item",{key:n,attrs:{index:"/"+t.name}},[e._v(e._s(t.title))])})),o("el-submenu",{directives:[{name:"show",rawName:"v-show",value:e.menus.length>5,expression:"menus.length > 5"}],attrs:{index:"more"}},[o("template",{slot:"title"},[e._v("更多")]),e._l(e.menus.slice(5),(function(t,n){return o("el-menu-item",{key:n,attrs:{index:t.path}},[e._v(e._s(t.title))])}))],2)],2):e._e(),o("div",{staticStyle:{position:"absolute",right:"20px"}},[o("el-dropdown",{directives:[{name:"show",rawName:"v-show",value:e.logined,expression:"logined"}],attrs:{trigger:"click"},on:{command:e.onDropdown}},[o("el-avatar",{staticStyle:{"vertical-align":"middle"},attrs:{size:30,src:e.profile.avatar}}),o("el-dropdown-menu",{staticStyle:{width:"200px"},attrs:{slot:"dropdown"},slot:"dropdown"},[o("div",{staticStyle:{margin:"auto 20px"}},[o("el-row",{staticStyle:{"text-align":"center",margin:"10px 0"}},[o("el-avatar",{attrs:{size:50,src:e.profile.avatar}})],1),o("el-row",{staticClass:"storage"},[o("p",[o("span",{},[e._v(e._s(e.$t("leftnav.storage")))]),o("span",{staticStyle:{float:"right"}},[e._v(e._s(e.storage.percentage)+"%")])]),o("el-progress",{attrs:{percentage:e.storage.percentage,"show-text":!1}}),o("p",{staticStyle:{color:"rgba(0, 0, 0, 0.54)","font-size":"0.75rem"}},[e._v(e._s(e.storage.used)+"/"+e._s(e.storage.max))])],1)],1),o("el-dropdown-item",{attrs:{icon:"el-icon-setting",command:"profile",divided:""}},[e._v(e._s(e.$t("topbar.settings")))]),o("el-dropdown-item",{directives:[{name:"show",rawName:"v-show",value:e.showAdmin,expression:"showAdmin"}],attrs:{icon:"el-icon-set-up",command:"admin"}},[e._v(e._s(e.$t("topbar.s-platform")))]),o("el-dropdown-item",{attrs:{icon:"el-icon-switch-button",command:"signout"}},[e._v(e._s(e.$t("topbar.signout")))])],1)],1)],1)],1)},i=[],r=n("9225"),s=n("90fe"),a=n("a78e"),c=n.n(a),u="https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png",l={props:{menus:Array,logined:Boolean},data:function(){return{storage:{percentage:0},user:{},profile:{}}},watch:{$route:"onRouteChange",locale:function(e){Object(r["b"])(e)}},computed:{showMenu:function(){return this.menus&&this.menus.length>0},showAdmin:function(){return"admin"==c.a.get("z-role")},menuActive:function(){return"/".concat(this.$route.params.sname)}},methods:{onRouteChange:function(e,t){this.logined&&this.userInfo()},userInfo:function(){var e=this;this.$zpan.User.profileGet().then((function(t){e.user=t.data,e.profile=e.user.profile,""==e.profile.avatar&&(e.profile.avatar=u),e.profile.locale&&(e.$i18n.locale=e.profile.locale),e.storage={used:s["a"].formatBytes(e.user.storage.used,0),max:s["a"].formatBytes(e.user.storage.max,0),percentage:Math.round(e.user.storage.used/e.user.storage.max*1e4)/100}}))},onDropdown:function(e){this.$router.push({name:e})}},mounted:function(){this.logined&&this.userInfo()}},p=l,f=(n("a0b4"),n("2877")),d=Object(f["a"])(p,o,i,!1,null,null,null);t["a"]=d.exports},"3acf":function(e,t,n){},"5c67":function(e,t,n){"use strict";n("3acf")},"61c2":function(e,t,n){"use strict";n.r(t);var o=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("section",[n("Topbar",{attrs:{menus:e.$store.state.storages,logined:""}}),n("el-container",{staticStyle:{height:"100%"}},[n("el-aside",{staticStyle:{height:"100%","background-color":"#f4f4f5"},attrs:{width:"200px"}},[n("el-menu",{attrs:{"default-active":e.leftMenuActive,"background-color":"#f4f4f5",router:""}},e._l(e.leftMenus,(function(t){return n("el-menu-item",{key:t.path,attrs:{index:t.path}},[n("i",{class:t.icon}),n("span",{attrs:{slot:"title"},slot:"title"},[e._v(e._s(t.title))])])})),1)],1),n("el-main",[n("router-view")],1)],1)],1)},i=[],r=n("a026"),s=n("c0d6"),a=n("0b47"),c={components:{Topbar:a["a"]},beforeRouteEnter:function(e,t,n){r["default"].zpan.Storage.list().then((function(e){var t=e.data.list;s["a"].commit("storages",t),n()}))},data:function(){return{}},computed:{leftMenuActive:function(){return this.$route.fullPath},leftMenus:function(){return[{path:"/settings/profile",icon:"el-icon-user",title:"个人信息"},{path:"/settings/security",icon:"el-icon-lock",title:"密码修改"},{path:"/settings/developer",icon:"el-icon-cpu",title:"开发者设置"}]}},watch:{},methods:{},mounted:function(){}},u=c,l=(n("5c67"),n("2877")),p=Object(l["a"])(u,o,i,!1,null,"2907b69d",null);t["default"]=p.exports},9884:function(e,t,n){},a0b4:function(e,t,n){"use strict";n("9884")},a78e:function(e,t,n){var o,i;
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-757d2a9b"],{"0b47":function(e,t,n){"use strict";var o=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("el-header",[o("div",{staticClass:"logo"},[o("img",{attrs:{src:n("cf05"),alt:"ZPan"},on:{click:function(t){return e.$router.push("/")}}})]),e.showMenu?o("el-menu",{staticClass:"navbar",staticStyle:{width:"100%"},attrs:{"default-active":e.menuActive,mode:"horizontal",router:""}},[e._l(e.menus.slice(0,5),(function(t,n){return o("el-menu-item",{key:n,attrs:{index:"/"+t.name}},[e._v(e._s(t.title))])})),o("el-submenu",{directives:[{name:"show",rawName:"v-show",value:e.menus.length>5,expression:"menus.length > 5"}],attrs:{index:"more"}},[o("template",{slot:"title"},[e._v("更多")]),e._l(e.menus.slice(5),(function(t,n){return o("el-menu-item",{key:n,attrs:{index:t.path}},[e._v(e._s(t.title))])}))],2)],2):e._e(),o("div",{staticStyle:{position:"absolute",right:"20px"}},[o("el-dropdown",{directives:[{name:"show",rawName:"v-show",value:e.logined,expression:"logined"}],attrs:{trigger:"click"},on:{command:e.onDropdown}},[o("el-avatar",{staticStyle:{"vertical-align":"middle","margin-right":"4px"},attrs:{size:30,src:e.profile.avatar}}),o("span",[e._v(e._s(e.profile.nickname))]),o("el-dropdown-menu",{staticStyle:{width:"200px"},attrs:{slot:"dropdown"},slot:"dropdown"},[o("div",{staticStyle:{margin:"auto 20px"}},[o("el-row",{staticStyle:{"text-align":"center",margin:"10px 0"}},[o("el-avatar",{attrs:{size:50,src:e.profile.avatar}})],1),o("el-row",{staticClass:"storage"},[o("p",[o("span",{},[e._v(e._s(e.$t("leftnav.storage")))]),o("span",{staticStyle:{float:"right"}},[e._v(e._s(e.storage.percentage)+"%")])]),o("el-progress",{attrs:{percentage:e.storage.percentage,"show-text":!1}}),o("p",{staticStyle:{color:"rgba(0, 0, 0, 0.54)","font-size":"0.75rem"}},[e._v(e._s(e.storage.used)+"/"+e._s(e.storage.max))])],1)],1),o("el-dropdown-item",{attrs:{icon:"el-icon-setting",command:"profile",divided:""}},[e._v(e._s(e.$t("topbar.settings")))]),o("el-dropdown-item",{directives:[{name:"show",rawName:"v-show",value:e.showAdmin,expression:"showAdmin"}],attrs:{icon:"el-icon-set-up",command:"admin"}},[e._v(e._s(e.$t("topbar.s-platform")))]),o("el-dropdown-item",{attrs:{icon:"el-icon-switch-button",command:"signout"}},[e._v(e._s(e.$t("topbar.signout")))])],1)],1)],1)],1)},i=[],r=n("9225"),s=n("90fe"),a=n("a78e"),c=n.n(a),u="https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png",l={props:{menus:Array,logined:Boolean},data:function(){return{storage:{percentage:0},user:{},profile:{}}},watch:{$route:"onRouteChange",locale:function(e){Object(r["b"])(e)}},computed:{showMenu:function(){return this.menus&&this.menus.length>0},showAdmin:function(){return"admin"==c.a.get("z-role")},menuActive:function(){return"/".concat(this.$route.params.sname)}},methods:{onRouteChange:function(e,t){this.logined&&this.userInfo()},userInfo:function(){var e=this;this.$zpan.User.profileGet().then((function(t){e.user=t.data,e.profile=e.user.profile,""==e.profile.avatar&&(e.profile.avatar=u),e.profile.locale&&(e.$i18n.locale=e.profile.locale),e.storage={used:s["a"].formatBytes(e.user.storage.used,0),max:s["a"].formatBytes(e.user.storage.max,0),percentage:Math.round(e.user.storage.used/e.user.storage.max*1e4)/100}}))},onDropdown:function(e){this.$router.push({name:e})}},mounted:function(){this.logined&&this.userInfo()}},p=l,f=(n("a0b4"),n("2877")),d=Object(f["a"])(p,o,i,!1,null,null,null);t["a"]=d.exports},"3acf":function(e,t,n){},"5c67":function(e,t,n){"use strict";n("3acf")},"61c2":function(e,t,n){"use strict";n.r(t);var o=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("section",[n("Topbar",{attrs:{menus:e.$store.state.storages,logined:""}}),n("el-container",{staticStyle:{height:"100%"}},[n("el-aside",{staticStyle:{height:"100%","background-color":"#f4f4f5"},attrs:{width:"200px"}},[n("el-menu",{attrs:{"default-active":e.leftMenuActive,"background-color":"#f4f4f5",router:""}},e._l(e.leftMenus,(function(t){return n("el-menu-item",{key:t.path,attrs:{index:t.path}},[n("i",{class:t.icon}),n("span",{attrs:{slot:"title"},slot:"title"},[e._v(e._s(t.title))])])})),1)],1),n("el-main",[n("router-view")],1)],1)],1)},i=[],r=n("a026"),s=n("c0d6"),a=n("0b47"),c={components:{Topbar:a["a"]},beforeRouteEnter:function(e,t,n){r["default"].zpan.Storage.list().then((function(e){var t=e.data.list;s["a"].commit("storages",t),n()}))},data:function(){return{}},computed:{leftMenuActive:function(){return this.$route.fullPath},leftMenus:function(){return[{path:"/settings/profile",icon:"el-icon-user",title:"个人信息"},{path:"/settings/security",icon:"el-icon-lock",title:"密码修改"},{path:"/settings/developer",icon:"el-icon-cpu",title:"开发者设置"}]}},watch:{},methods:{},mounted:function(){}},u=c,l=(n("5c67"),n("2877")),p=Object(l["a"])(u,o,i,!1,null,"2907b69d",null);t["default"]=p.exports},9884:function(e,t,n){},a0b4:function(e,t,n){"use strict";n("9884")},a78e:function(e,t,n){var o,i;
/*!
* JavaScript Cookie v2.2.1
* https://github.com/js-cookie/js-cookie
@@ -6,4 +6,4 @@
* Copyright 2006, 2015 Klaus Hartl & Fagner Brack
* Released under the MIT license
*/(function(r){var s;if(o=r,i="function"===typeof o?o.call(t,n,t,e):o,void 0===i||(e.exports=i),s=!0,e.exports=r(),s=!0,!s){var a=window.Cookies,c=window.Cookies=r();c.noConflict=function(){return window.Cookies=a,c}}})((function(){function e(){for(var e=0,t={};e 5),expression:\"menus.length > 5\"}],attrs:{\"index\":\"more\"}},[_c('template',{slot:\"title\"},[_vm._v(\"更多\")]),_vm._l((_vm.menus.slice(5)),function(menu,index){return _c('el-menu-item',{key:index,attrs:{\"index\":menu.path}},[_vm._v(_vm._s(menu.title))])})],2)],2):_vm._e(),_c('div',{staticStyle:{\"position\":\"absolute\",\"right\":\"20px\"}},[_c('el-dropdown',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.logined),expression:\"logined\"}],attrs:{\"trigger\":\"click\"},on:{\"command\":_vm.onDropdown}},[_c('el-avatar',{staticStyle:{\"vertical-align\":\"middle\",\"margin-right\":\"4px\"},attrs:{\"size\":30,\"src\":_vm.profile.avatar}}),_c('span',[_vm._v(_vm._s(_vm.profile.nickname))]),_c('el-dropdown-menu',{staticStyle:{\"width\":\"200px\"},attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('div',{staticStyle:{\"margin\":\"auto 20px\"}},[_c('el-row',{staticStyle:{\"text-align\":\"center\",\"margin\":\"10px 0\"}},[_c('el-avatar',{attrs:{\"size\":50,\"src\":_vm.profile.avatar}})],1),_c('el-row',{staticClass:\"storage\"},[_c('p',[_c('span',{},[_vm._v(_vm._s(_vm.$t(\"leftnav.storage\")))]),_c('span',{staticStyle:{\"float\":\"right\"}},[_vm._v(_vm._s(_vm.storage.percentage)+\"%\")])]),_c('el-progress',{attrs:{\"percentage\":_vm.storage.percentage,\"show-text\":false}}),_c('p',{staticStyle:{\"color\":\"rgba(0, 0, 0, 0.54)\",\"font-size\":\"0.75rem\"}},[_vm._v(_vm._s(_vm.storage.used)+\"/\"+_vm._s(_vm.storage.max))])],1)],1),_c('el-dropdown-item',{attrs:{\"icon\":\"el-icon-setting\",\"command\":\"profile\",\"divided\":\"\"}},[_vm._v(_vm._s(_vm.$t(\"topbar.settings\")))]),_c('el-dropdown-item',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showAdmin),expression:\"showAdmin\"}],attrs:{\"icon\":\"el-icon-set-up\",\"command\":\"admin\"}},[_vm._v(_vm._s(_vm.$t(\"topbar.s-platform\")))]),_c('el-dropdown-item',{attrs:{\"icon\":\"el-icon-switch-button\",\"command\":\"signout\"}},[_vm._v(_vm._s(_vm.$t(\"topbar.signout\")))])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n
\n
\n \n {{ menu.title }} \n\n 5\">\n 更多 \n {{ menu.title }} \n \n \n\n \n
\n \n {{ profile.nickname }} \n \n \n
\n \n \n
\n \n {{ $t(\"leftnav.storage\") }} \n {{ storage.percentage }}% \n
\n \n {{ storage.used }}/{{ storage.max }}
\n \n
\n\n {{ $t(\"topbar.settings\") }} \n {{ $t(\"topbar.s-platform\") }} \n {{ $t(\"topbar.signout\") }} \n \n \n
\n \n \n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=490deac2&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=2907b69d&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('Topbar',{attrs:{\"menus\":_vm.$store.state.storages,\"logined\":\"\"}}),_c('el-container',{staticStyle:{\"height\":\"100%\"}},[_c('el-aside',{staticStyle:{\"height\":\"100%\",\"background-color\":\"#f4f4f5\"},attrs:{\"width\":\"200px\"}},[_c('el-menu',{attrs:{\"default-active\":_vm.leftMenuActive,\"background-color\":\"#f4f4f5\",\"router\":\"\"}},_vm._l((_vm.leftMenus),function(menu){return _c('el-menu-item',{key:menu.path,attrs:{\"index\":menu.path}},[_c('i',{class:menu.icon}),_c('span',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(_vm._s(menu.title))])])}),1)],1),_c('el-main',[_c('router-view')],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n \n \n \n \n {{ menu.title }} \n \n \n\n \n \n\n \n \n \n \n \n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=2907b69d&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=2907b69d&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2907b69d\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=css&\"","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","module.exports = \"data:image/png;base64,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\""],"sourceRoot":""}
\ No newline at end of file
diff --git a/web/dist/js/index.27debde5.js b/web/dist/js/index.e48787a1.js
similarity index 91%
rename from web/dist/js/index.27debde5.js
rename to web/dist/js/index.e48787a1.js
index a301d48..815836c 100644
--- a/web/dist/js/index.27debde5.js
+++ b/web/dist/js/index.e48787a1.js
@@ -1,2 +1,2 @@
-(function(e){function n(n){for(var t,u,d=n[0],f=n[1],o=n[2],h=0,i=[];h