From ffc8850eb194e46fce7732638d5d8f00a5d7a3f1 Mon Sep 17 00:00:00 2001 From: vran Date: Tue, 1 Feb 2022 22:27:00 +0800 Subject: [PATCH] feature: support export document (#11) * feat: add document export api * feat: update frontend resource --- .../com/databasir/api/DocumentController.java | 37 +++++++- .../main/java/com/databasir/api/Routes.java | 2 + ...22c805.css => chunk-26c477fb.e722c805.css} | 0 ...54ac4c.css => chunk-588dbed6.ab54ac4c.css} | 0 api/src/main/resources/static/index.html | 2 +- .../js/{app.51f76bee.js => app.58300ce2.js} | 4 +- ...pp.51f76bee.js.map => app.58300ce2.js.map} | 2 +- .../static/js/chunk-26c477fb.72a77fcd.js | 2 + .../static/js/chunk-26c477fb.72a77fcd.js.map | 1 + .../static/js/chunk-4935816e.627c0115.js | 2 - .../static/js/chunk-4935816e.627c0115.js.map | 1 - ...d40185ff.js => chunk-588dbed6.576f3300.js} | 4 +- ....js.map => chunk-588dbed6.576f3300.js.map} | 2 +- ....ebe2dc88.js => chunk-vendors.8b5336af.js} | 2 +- .../static/js/chunk-vendors.8b5336af.js.map | 1 + .../static/js/chunk-vendors.ebe2dc88.js.map | 1 - .../document/service/DocumentService.java | 84 ++++++++++++++++++- .../template/render/markdown/markdown.ftlh | 37 ++++---- plugin/src/test/java/App.java | 4 +- 19 files changed, 152 insertions(+), 36 deletions(-) rename api/src/main/resources/static/css/{chunk-4935816e.e722c805.css => chunk-26c477fb.e722c805.css} (100%) rename api/src/main/resources/static/css/{chunk-bf93911a.ab54ac4c.css => chunk-588dbed6.ab54ac4c.css} (100%) rename api/src/main/resources/static/js/{app.51f76bee.js => app.58300ce2.js} (95%) rename api/src/main/resources/static/js/{app.51f76bee.js.map => app.58300ce2.js.map} (98%) create mode 100644 api/src/main/resources/static/js/chunk-26c477fb.72a77fcd.js create mode 100644 api/src/main/resources/static/js/chunk-26c477fb.72a77fcd.js.map delete mode 100644 api/src/main/resources/static/js/chunk-4935816e.627c0115.js delete mode 100644 api/src/main/resources/static/js/chunk-4935816e.627c0115.js.map rename api/src/main/resources/static/js/{chunk-bf93911a.d40185ff.js => chunk-588dbed6.576f3300.js} (97%) rename api/src/main/resources/static/js/{chunk-bf93911a.d40185ff.js.map => chunk-588dbed6.576f3300.js.map} (98%) rename api/src/main/resources/static/js/{chunk-vendors.ebe2dc88.js => chunk-vendors.8b5336af.js} (99%) create mode 100644 api/src/main/resources/static/js/chunk-vendors.8b5336af.js.map delete mode 100644 api/src/main/resources/static/js/chunk-vendors.ebe2dc88.js.map diff --git a/api/src/main/java/com/databasir/api/DocumentController.java b/api/src/main/java/com/databasir/api/DocumentController.java index 6979b63..70885ed 100644 --- a/api/src/main/java/com/databasir/api/DocumentController.java +++ b/api/src/main/java/com/databasir/api/DocumentController.java @@ -1,6 +1,7 @@ package com.databasir.api; import com.databasir.common.JsonData; +import com.databasir.common.SystemException; import com.databasir.core.domain.document.data.DatabaseDocumentResponse; import com.databasir.core.domain.document.data.DatabaseDocumentVersionResponse; import com.databasir.core.domain.document.service.DocumentService; @@ -9,13 +10,24 @@ import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; import org.springframework.data.web.PageableDefault; -import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.http.ContentDisposition; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody; + +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.UUID; -@RestController @RequiredArgsConstructor @Validated +@RestController public class DocumentController { private final DocumentService documentService; @@ -41,4 +53,25 @@ public class DocumentController { return JsonData.ok(documentService.getVersionsBySchemaSourceId(projectId, page)); } + @GetMapping(Routes.Document.EXPORT) + public ResponseEntity getDocumentFiles(@PathVariable Integer projectId, + @RequestParam(required = false) Long version) { + String data = documentService.toMarkdown(projectId, version).get(); + try { + Path path = Files.writeString(Paths.get(UUID.randomUUID().toString() + ".md"), data, StandardCharsets.UTF_8); + HttpHeaders headers = new HttpHeaders(); + headers.setContentDisposition(ContentDisposition.attachment() + .filename("demo.md", StandardCharsets.UTF_8) + .build()); + byte[] bytes = Files.readAllBytes(path); + Files.deleteIfExists(path); + headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); + return ResponseEntity.ok() + .headers(headers) + .body(out -> out.write(bytes)); + } catch (IOException e) { + throw new SystemException("System error"); + } + } + } diff --git a/api/src/main/java/com/databasir/api/Routes.java b/api/src/main/java/com/databasir/api/Routes.java index b05fc94..406d09a 100644 --- a/api/src/main/java/com/databasir/api/Routes.java +++ b/api/src/main/java/com/databasir/api/Routes.java @@ -68,6 +68,8 @@ public interface Routes { String SYNC_ONE = BASE + "/projects/{projectId}/documents"; String LIST_VERSIONS = BASE + "/projects/{projectId}/document_versions"; + + String EXPORT = BASE + "/projects/{projectId}/document_files"; } interface DocumentRemark { diff --git a/api/src/main/resources/static/css/chunk-4935816e.e722c805.css b/api/src/main/resources/static/css/chunk-26c477fb.e722c805.css similarity index 100% rename from api/src/main/resources/static/css/chunk-4935816e.e722c805.css rename to api/src/main/resources/static/css/chunk-26c477fb.e722c805.css diff --git a/api/src/main/resources/static/css/chunk-bf93911a.ab54ac4c.css b/api/src/main/resources/static/css/chunk-588dbed6.ab54ac4c.css similarity index 100% rename from api/src/main/resources/static/css/chunk-bf93911a.ab54ac4c.css rename to api/src/main/resources/static/css/chunk-588dbed6.ab54ac4c.css diff --git a/api/src/main/resources/static/index.html b/api/src/main/resources/static/index.html index 8b5d639..0fc1ce3 100644 --- a/api/src/main/resources/static/index.html +++ b/api/src/main/resources/static/index.html @@ -1 +1 @@ -databasir-frontend
\ No newline at end of file +databasir-frontend
\ No newline at end of file diff --git a/api/src/main/resources/static/js/app.51f76bee.js b/api/src/main/resources/static/js/app.58300ce2.js similarity index 95% rename from api/src/main/resources/static/js/app.51f76bee.js rename to api/src/main/resources/static/js/app.58300ce2.js index adb69f5..5366c50 100644 --- a/api/src/main/resources/static/js/app.51f76bee.js +++ b/api/src/main/resources/static/js/app.58300ce2.js @@ -1,2 +1,2 @@ -(function(e){function t(t){for(var r,o,u=t[0],i=t[1],l=t[2],s=0,d=[];s(new Date).getTime():(console.log("warn: not found accessToken and expireAt key"),!1)},saveAccessToken:function(e,t){window.localStorage.setItem(r,e),window.localStorage.setItem(o,t)},loadAccessToken:function(){return window.localStorage.getItem(r)}},u={saveUserLoginData:function(e){window.localStorage.setItem(r,e.accessToken),window.localStorage.setItem(o,e.accessTokenExpireAt),window.localStorage.setItem(c,JSON.stringify(e))},removeUserLoginData:function(){window.localStorage.removeItem(c),window.localStorage.removeItem(r),window.localStorage.removeItem(o)},loadUserLoginData:function(){if(window.localStorage.getItem(c)){var e=window.localStorage.getItem(c);return JSON.parse(e)}return null},hasAnyRoles:function(e){var t=window.localStorage.getItem(c);if(null==t)return!1;var n=JSON.parse(t);return n.roles.map((function(e){return e.groupId?e.role+"?groupId="+e.groupId:e.role})).some((function(t){return e.some((function(e){return e==t}))}))},getRefreshToken:function(){var e=window.localStorage.getItem(c);if(null==e)return null;var t=JSON.parse(e);return t.refreshToken}}},a18c:function(e,t,n){"use strict";n("d3b7"),n("3ca3"),n("ddb0");var r=n("6c02"),o=n("7a23");function c(e,t,n,r,c,a){var u=Object(o["resolveComponent"])("AppNav"),i=Object(o["resolveComponent"])("el-aside"),l=Object(o["resolveComponent"])("Breadcrumb"),s=Object(o["resolveComponent"])("Avatar"),d=Object(o["resolveComponent"])("el-header"),b=Object(o["resolveComponent"])("router-view"),m=Object(o["resolveComponent"])("el-main"),p=Object(o["resolveComponent"])("el-container");return Object(o["openBlock"])(),Object(o["createBlock"])(p,null,{default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(i,{class:"databasir-nav"},{default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(u)]})),_:1}),Object(o["createVNode"])(d,{class:"databasir-main-header"},{default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(l),Object(o["createVNode"])(s)]})),_:1}),Object(o["createVNode"])(m,{class:"databasir-main"},{default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(p,null,{default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(m,{class:"databasir-main-content"},{default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(b)]})),_:1})]})),_:1})]})),_:1})]})),_:1})}var a=Object(o["createElementVNode"])("span",null,"Databasir",-1);function u(e,t,n,r,c,u){var i=Object(o["resolveComponent"])("expand"),l=Object(o["resolveComponent"])("el-icon"),s=Object(o["resolveComponent"])("el-menu-item"),d=Object(o["resolveComponent"])("home-filled"),b=Object(o["resolveComponent"])("el-sub-menu"),m=Object(o["resolveComponent"])("el-menu");return Object(o["openBlock"])(),Object(o["createBlock"])(m,{router:"",collapse:r.isCollapse,mode:"vertical",class:"left-menu"},{default:Object(o["withCtx"])((function(){return[r.isCollapse?(Object(o["openBlock"])(),Object(o["createBlock"])(s,{key:0,onClick:r.expandOrFold,index:"#"},{default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(l,null,{default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(i)]})),_:1})]})),_:1},8,["onClick"])):Object(o["createCommentVNode"])("",!0),Object(o["createVNode"])(s,{index:"/"},{title:Object(o["withCtx"])((function(){return[a]})),default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(l,null,{default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(d)]})),_:1})]})),_:1}),(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(r.routes,(function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])(o["Fragment"],{key:t},[r.isShowMenu(e)&&e.children.length>0&&e.children.some((function(e){return!e.hidden}))?(Object(o["openBlock"])(),Object(o["createBlock"])(b,{key:0,index:e.path},{title:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(l,null,{default:Object(o["withCtx"])((function(){return[(Object(o["openBlock"])(),Object(o["createBlock"])(Object(o["resolveDynamicComponent"])(e.icon)))]})),_:2},1024),Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(e.meta.nav),1)]})),default:Object(o["withCtx"])((function(){return[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(e.children,(function(n,r){return Object(o["openBlock"])(),Object(o["createElementBlock"])(o["Fragment"],{key:t+"-"+r},[n.hidden?Object(o["createCommentVNode"])("",!0):(Object(o["openBlock"])(),Object(o["createBlock"])(s,{key:0,index:e.path+"/"+n.path},{title:Object(o["withCtx"])((function(){return[Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(n.meta.nav),1)]})),default:Object(o["withCtx"])((function(){return[n.icon?(Object(o["openBlock"])(),Object(o["createBlock"])(l,{key:0},{default:Object(o["withCtx"])((function(){return[(Object(o["openBlock"])(),Object(o["createBlock"])(Object(o["resolveDynamicComponent"])(n.icon)))]})),_:2},1024)):Object(o["createCommentVNode"])("",!0)]})),_:2},1032,["index"]))],64)})),128))]})),_:2},1032,["index"])):r.isShowMenu(e)?(Object(o["openBlock"])(),Object(o["createBlock"])(s,{key:1,index:e.path},{title:Object(o["withCtx"])((function(){return[Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(e.meta.nav),1)]})),default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(l,null,{default:Object(o["withCtx"])((function(){return[(Object(o["openBlock"])(),Object(o["createBlock"])(Object(o["resolveDynamicComponent"])(e.icon)))]})),_:2},1024)]})),_:2},1032,["index"])):Object(o["createCommentVNode"])("",!0)],64)})),128))]})),_:1},8,["collapse"])}var i=n("5f87"),l={setup:function(){var e=Object(o["ref"])(!1),t=Object(r["d"])(),n=t.options.routes,c=function(e){if(e.hidden)return!1;if(e.meta.requireAnyRoles&&e.meta.requireAnyRoles.length>0){var t=i["b"].hasAnyRoles(e.meta.requireAnyRoles);if(!t)return!1}return!0},a=function(){e.value=!e.value};return{isCollapse:e,isShowMenu:c,expandOrFold:a,routes:n}}},s=(n("bc45"),n("6b0d")),d=n.n(s);const b=d()(l,[["render",u]]);var m=b;n("b0c0");function p(e,t,n,r,c,a){var u=Object(o["resolveComponent"])("el-breadcrumb-item"),i=Object(o["resolveComponent"])("el-breadcrumb");return Object(o["openBlock"])(),Object(o["createBlock"])(i,{separator:"/"},{default:Object(o["withCtx"])((function(){return[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(a.breadcrumbs,(function(e,t){return Object(o["openBlock"])(),Object(o["createBlock"])(u,{key:t,to:e.to},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.name),1)]})),_:2},1032,["to"])})),128))]})),_:1})}var f={computed:{breadcrumbs:function(){return"function"===typeof this.$route.meta.breadcrumb?this.$route.meta.breadcrumb(this.$route,this.$store.state):[]}}};const h=d()(f,[["render",p]]);var j=h,O=Object(o["createTextVNode"])("个人中心"),v=Object(o["createTextVNode"])("注销登陆");function k(e,t,n,r,c,a){var u=Object(o["resolveComponent"])("el-avatar"),i=Object(o["resolveComponent"])("el-dropdown-item"),l=Object(o["resolveComponent"])("el-dropdown-menu"),s=Object(o["resolveComponent"])("el-dropdown");return Object(o["openBlock"])(),Object(o["createBlock"])(s,null,{dropdown:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(l,null,{default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(i,null,{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(a.userNickname),1)]})),_:1}),Object(o["createVNode"])(i,{icon:"user",divided:"",onClick:t[0]||(t[0]=function(e){return a.toProfilePage()})},{default:Object(o["withCtx"])((function(){return[O]})),_:1}),Object(o["createVNode"])(i,{icon:"back",onClick:t[1]||(t[1]=function(e){return a.onLogout()})},{default:Object(o["withCtx"])((function(){return[v]})),_:1})]})),_:1})]})),default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(u,{size:36,src:c.avatarUrl,icon:"avatar"},null,8,["src"])]})),_:1})}var g={data:function(){return{avatarUrl:null}},computed:{userNickname:function(){return this.$store.state.user.nickname}},methods:{onLogout:function(){i["b"].removeUserLoginData(),this.$router.push({path:"/login"})},toProfilePage:function(){this.$router.push({path:"/profile"})}}};const w=d()(g,[["render",k]]);var y=w,C={components:{AppNav:m,Breadcrumb:j,Avatar:y}};n("b76b");const N=d()(C,[["render",c]]);var x=N;function B(){return{name:"首页",to:{path:"/"}}}function S(){return{name:"分组列表",to:{name:"groupListPage"}}}function _(e){var t="分組详情";return e.query.groupName&&(t=e.query.groupName),{name:t,to:{path:"/groups/"+e.params.groupId}}}function E(){return{name:"项目创建",to:{path:"/projects/create"}}}function P(e){var t="项目编辑";return e.query.projectName&&(t=e.query.projectName),{name:t,to:{path:"/projects/"+e.params.projectId+"/edit"}}}function V(e){var t="项目文档";return e.query.projectName&&(t=e.query.projectName),{name:t,to:{path:"/groups/"+e.params.groupId+"/projects"}}}function A(){return{name:"用户列表",to:{path:"/users"}}}function I(){return{name:"个人中心",to:{path:"/profile"}}}function T(){return{name:"邮箱设置",to:{path:"/settings/sysEmail"}}}var q={index:function(){return[B()]},groupList:function(){return[B(),S()]},groupDashboard:function(e,t){return[B(),S(),_(e,t)]},groupProjectCreate:function(e,t){return[B(),S(),_(e,t),E(e)]},groupProjectEdit:function(e,t){return[B(),S(),_(e,t),P(e)]},groupProjectDocument:function(e,t){return[B(),S(),_(e,t),V(e)]},userProfile:function(){return[B(),I()]},userList:function(){return[B(),A()]},sysEmailEdit:function(){return[B(),T()]}},L=q,D=[{path:"/login",component:function(){return Promise.all([n.e("chunk-48cebeac"),n.e("chunk-bf93911a")]).then(n.bind(null,"a55b"))},hidden:!0,meta:{requireAuth:!1}},{path:"/",hidden:!0,component:x,children:[{path:"",hidden:!0,component:function(){return Promise.all([n.e("chunk-48cebeac"),n.e("chunk-7efe8be4")]).then(n.bind(null,"d648"))},meta:{breadcrumb:L.groupList}}]},{path:"/groups",icon:"Collection",component:x,meta:{nav:"分组列表"},children:[{path:"",name:"groupListPage",hidden:!0,component:function(){return Promise.all([n.e("chunk-48cebeac"),n.e("chunk-7efe8be4")]).then(n.bind(null,"d648"))},meta:{breadcrumb:L.groupList}},{path:":groupId",hidden:!0,component:function(){return Promise.all([n.e("chunk-48cebeac"),n.e("chunk-1b2e2587")]).then(n.bind(null,"3cd5"))},meta:{breadcrumb:L.groupDashboard}},{path:":groupId/projects/:projectId/edit",hidden:!0,component:function(){return Promise.all([n.e("chunk-48cebeac"),n.e("chunk-9622a6d8")]).then(n.bind(null,"e958"))},meta:{breadcrumb:L.groupProjectEdit}},{path:":groupId/projects/create",hidden:!0,component:function(){return Promise.all([n.e("chunk-48cebeac"),n.e("chunk-9622a6d8")]).then(n.bind(null,"e958"))},meta:{breadcrumb:L.groupProjectCreate}},{path:":groupId/projects/:projectId/documents",hidden:!0,component:function(){return Promise.all([n.e("chunk-48cebeac"),n.e("chunk-4935816e")]).then(n.bind(null,"0742"))},meta:{breadcrumb:L.groupProjectDocument}}]},{path:"/users",icon:"List",component:x,meta:{nav:"用户中心",requireAnyRoles:["SYS_OWNER"]},children:[{path:"",hidden:!0,component:function(){return Promise.all([n.e("chunk-48cebeac"),n.e("chunk-abb10c56")]).then(n.bind(null,"ab3a"))},meta:{breadcrumb:L.userList}}]},{path:"/profile",icon:"User",component:x,meta:{nav:"个人中心",breadcrumb:L.userProfile},children:[{path:"",hidden:!0,component:function(){return Promise.all([n.e("chunk-48cebeac"),n.e("chunk-fffb1b64")]).then(n.bind(null,"4a39"))}}]},{path:"/settings",icon:"Setting",component:x,meta:{nav:"系统中心",requireAnyRoles:["SYS_OWNER"]},children:[{path:"sysEmail",icon:"Notification",component:function(){return Promise.all([n.e("chunk-48cebeac"),n.e("chunk-2d0cc811")]).then(n.bind(null,"4de0"))},meta:{nav:"邮箱设置",breadcrumb:L.sysEmailEdit}},{path:"sysKey",icon:"Key",hidden:"true",component:x,meta:{nav:"系统秘钥",breadcrumb:L.sysKeyEdit}}]}],R=Object(r["a"])({history:Object(r["b"])(),routes:D});R.beforeEach((function(e,t,n){0==e.meta.requireAuth?"/login"==e.path&&i["a"].hasAccessToken()?n(t):n():i["a"].hasAccessToken()?n():n({path:"/login"})})),R.beforeEach((function(e,t,n){!e.query.groupName&&t.query.groupName&&(e.query.groupName=t.query.groupName),!e.query.projectName&&t.query.projectName&&(e.query.projectName=t.query.projectName),n()}));t["a"]=R},b76b:function(e,t,n){"use strict";n("0135")},bc45:function(e,t,n){"use strict";n("c353")},c353:function(e,t,n){}}); -//# sourceMappingURL=app.51f76bee.js.map \ No newline at end of file +(function(e){function t(t){for(var r,o,u=t[0],i=t[1],l=t[2],s=0,d=[];s(new Date).getTime():(console.log("warn: not found accessToken and expireAt key"),!1)},saveAccessToken:function(e,t){window.localStorage.setItem(r,e),window.localStorage.setItem(o,t)},loadAccessToken:function(){return window.localStorage.getItem(r)}},u={saveUserLoginData:function(e){window.localStorage.setItem(r,e.accessToken),window.localStorage.setItem(o,e.accessTokenExpireAt),window.localStorage.setItem(c,JSON.stringify(e))},removeUserLoginData:function(){window.localStorage.removeItem(c),window.localStorage.removeItem(r),window.localStorage.removeItem(o)},loadUserLoginData:function(){if(window.localStorage.getItem(c)){var e=window.localStorage.getItem(c);return JSON.parse(e)}return null},hasAnyRoles:function(e){var t=window.localStorage.getItem(c);if(null==t)return!1;var n=JSON.parse(t);return n.roles.map((function(e){return e.groupId?e.role+"?groupId="+e.groupId:e.role})).some((function(t){return e.some((function(e){return e==t}))}))},getRefreshToken:function(){var e=window.localStorage.getItem(c);if(null==e)return null;var t=JSON.parse(e);return t.refreshToken}}},a18c:function(e,t,n){"use strict";n("d3b7"),n("3ca3"),n("ddb0");var r=n("6c02"),o=n("7a23");function c(e,t,n,r,c,a){var u=Object(o["resolveComponent"])("AppNav"),i=Object(o["resolveComponent"])("el-aside"),l=Object(o["resolveComponent"])("Breadcrumb"),s=Object(o["resolveComponent"])("Avatar"),d=Object(o["resolveComponent"])("el-header"),b=Object(o["resolveComponent"])("router-view"),m=Object(o["resolveComponent"])("el-main"),p=Object(o["resolveComponent"])("el-container");return Object(o["openBlock"])(),Object(o["createBlock"])(p,null,{default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(i,{class:"databasir-nav"},{default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(u)]})),_:1}),Object(o["createVNode"])(d,{class:"databasir-main-header"},{default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(l),Object(o["createVNode"])(s)]})),_:1}),Object(o["createVNode"])(m,{class:"databasir-main"},{default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(p,null,{default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(m,{class:"databasir-main-content"},{default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(b)]})),_:1})]})),_:1})]})),_:1})]})),_:1})}var a=Object(o["createElementVNode"])("span",null,"Databasir",-1);function u(e,t,n,r,c,u){var i=Object(o["resolveComponent"])("expand"),l=Object(o["resolveComponent"])("el-icon"),s=Object(o["resolveComponent"])("el-menu-item"),d=Object(o["resolveComponent"])("home-filled"),b=Object(o["resolveComponent"])("el-sub-menu"),m=Object(o["resolveComponent"])("el-menu");return Object(o["openBlock"])(),Object(o["createBlock"])(m,{router:"",collapse:r.isCollapse,mode:"vertical",class:"left-menu"},{default:Object(o["withCtx"])((function(){return[r.isCollapse?(Object(o["openBlock"])(),Object(o["createBlock"])(s,{key:0,onClick:r.expandOrFold,index:"#"},{default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(l,null,{default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(i)]})),_:1})]})),_:1},8,["onClick"])):Object(o["createCommentVNode"])("",!0),Object(o["createVNode"])(s,{index:"/"},{title:Object(o["withCtx"])((function(){return[a]})),default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(l,null,{default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(d)]})),_:1})]})),_:1}),(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(r.routes,(function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])(o["Fragment"],{key:t},[r.isShowMenu(e)&&e.children.length>0&&e.children.some((function(e){return!e.hidden}))?(Object(o["openBlock"])(),Object(o["createBlock"])(b,{key:0,index:e.path},{title:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(l,null,{default:Object(o["withCtx"])((function(){return[(Object(o["openBlock"])(),Object(o["createBlock"])(Object(o["resolveDynamicComponent"])(e.icon)))]})),_:2},1024),Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(e.meta.nav),1)]})),default:Object(o["withCtx"])((function(){return[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(e.children,(function(n,r){return Object(o["openBlock"])(),Object(o["createElementBlock"])(o["Fragment"],{key:t+"-"+r},[n.hidden?Object(o["createCommentVNode"])("",!0):(Object(o["openBlock"])(),Object(o["createBlock"])(s,{key:0,index:e.path+"/"+n.path},{title:Object(o["withCtx"])((function(){return[Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(n.meta.nav),1)]})),default:Object(o["withCtx"])((function(){return[n.icon?(Object(o["openBlock"])(),Object(o["createBlock"])(l,{key:0},{default:Object(o["withCtx"])((function(){return[(Object(o["openBlock"])(),Object(o["createBlock"])(Object(o["resolveDynamicComponent"])(n.icon)))]})),_:2},1024)):Object(o["createCommentVNode"])("",!0)]})),_:2},1032,["index"]))],64)})),128))]})),_:2},1032,["index"])):r.isShowMenu(e)?(Object(o["openBlock"])(),Object(o["createBlock"])(s,{key:1,index:e.path},{title:Object(o["withCtx"])((function(){return[Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(e.meta.nav),1)]})),default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(l,null,{default:Object(o["withCtx"])((function(){return[(Object(o["openBlock"])(),Object(o["createBlock"])(Object(o["resolveDynamicComponent"])(e.icon)))]})),_:2},1024)]})),_:2},1032,["index"])):Object(o["createCommentVNode"])("",!0)],64)})),128))]})),_:1},8,["collapse"])}var i=n("5f87"),l={setup:function(){var e=Object(o["ref"])(!1),t=Object(r["d"])(),n=t.options.routes,c=function(e){if(e.hidden)return!1;if(e.meta.requireAnyRoles&&e.meta.requireAnyRoles.length>0){var t=i["b"].hasAnyRoles(e.meta.requireAnyRoles);if(!t)return!1}return!0},a=function(){e.value=!e.value};return{isCollapse:e,isShowMenu:c,expandOrFold:a,routes:n}}},s=(n("bc45"),n("6b0d")),d=n.n(s);const b=d()(l,[["render",u]]);var m=b;n("b0c0");function p(e,t,n,r,c,a){var u=Object(o["resolveComponent"])("el-breadcrumb-item"),i=Object(o["resolveComponent"])("el-breadcrumb");return Object(o["openBlock"])(),Object(o["createBlock"])(i,{separator:"/"},{default:Object(o["withCtx"])((function(){return[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(a.breadcrumbs,(function(e,t){return Object(o["openBlock"])(),Object(o["createBlock"])(u,{key:t,to:e.to},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.name),1)]})),_:2},1032,["to"])})),128))]})),_:1})}var f={computed:{breadcrumbs:function(){return"function"===typeof this.$route.meta.breadcrumb?this.$route.meta.breadcrumb(this.$route,this.$store.state):[]}}};const h=d()(f,[["render",p]]);var j=h,O=Object(o["createTextVNode"])("个人中心"),v=Object(o["createTextVNode"])("注销登陆");function k(e,t,n,r,c,a){var u=Object(o["resolveComponent"])("el-avatar"),i=Object(o["resolveComponent"])("el-dropdown-item"),l=Object(o["resolveComponent"])("el-dropdown-menu"),s=Object(o["resolveComponent"])("el-dropdown");return Object(o["openBlock"])(),Object(o["createBlock"])(s,null,{dropdown:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(l,null,{default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(i,null,{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(a.userNickname),1)]})),_:1}),Object(o["createVNode"])(i,{icon:"user",divided:"",onClick:t[0]||(t[0]=function(e){return a.toProfilePage()})},{default:Object(o["withCtx"])((function(){return[O]})),_:1}),Object(o["createVNode"])(i,{icon:"back",onClick:t[1]||(t[1]=function(e){return a.onLogout()})},{default:Object(o["withCtx"])((function(){return[v]})),_:1})]})),_:1})]})),default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(u,{size:36,src:c.avatarUrl,icon:"avatar"},null,8,["src"])]})),_:1})}var g={data:function(){return{avatarUrl:null}},computed:{userNickname:function(){return this.$store.state.user.nickname}},methods:{onLogout:function(){i["b"].removeUserLoginData(),this.$router.push({path:"/login"})},toProfilePage:function(){this.$router.push({path:"/profile"})}}};const w=d()(g,[["render",k]]);var y=w,C={components:{AppNav:m,Breadcrumb:j,Avatar:y}};n("b76b");const N=d()(C,[["render",c]]);var x=N;function B(){return{name:"首页",to:{path:"/"}}}function S(){return{name:"分组列表",to:{name:"groupListPage"}}}function _(e){var t="分組详情";return e.query.groupName&&(t=e.query.groupName),{name:t,to:{path:"/groups/"+e.params.groupId}}}function E(){return{name:"项目创建",to:{path:"/projects/create"}}}function P(e){var t="项目编辑";return e.query.projectName&&(t=e.query.projectName),{name:t,to:{path:"/projects/"+e.params.projectId+"/edit"}}}function V(e){var t="项目文档";return e.query.projectName&&(t=e.query.projectName),{name:t,to:{path:"/groups/"+e.params.groupId+"/projects"}}}function A(){return{name:"用户列表",to:{path:"/users"}}}function I(){return{name:"个人中心",to:{path:"/profile"}}}function T(){return{name:"邮箱设置",to:{path:"/settings/sysEmail"}}}var q={index:function(){return[B()]},groupList:function(){return[B(),S()]},groupDashboard:function(e,t){return[B(),S(),_(e,t)]},groupProjectCreate:function(e,t){return[B(),S(),_(e,t),E(e)]},groupProjectEdit:function(e,t){return[B(),S(),_(e,t),P(e)]},groupProjectDocument:function(e,t){return[B(),S(),_(e,t),V(e)]},userProfile:function(){return[B(),I()]},userList:function(){return[B(),A()]},sysEmailEdit:function(){return[B(),T()]}},L=q,D=[{path:"/login",component:function(){return Promise.all([n.e("chunk-48cebeac"),n.e("chunk-588dbed6")]).then(n.bind(null,"a55b"))},hidden:!0,meta:{requireAuth:!1}},{path:"/",hidden:!0,component:x,children:[{path:"",hidden:!0,component:function(){return Promise.all([n.e("chunk-48cebeac"),n.e("chunk-7efe8be4")]).then(n.bind(null,"d648"))},meta:{breadcrumb:L.groupList}}]},{path:"/groups",icon:"Collection",component:x,meta:{nav:"分组列表"},children:[{path:"",name:"groupListPage",hidden:!0,component:function(){return Promise.all([n.e("chunk-48cebeac"),n.e("chunk-7efe8be4")]).then(n.bind(null,"d648"))},meta:{breadcrumb:L.groupList}},{path:":groupId",hidden:!0,component:function(){return Promise.all([n.e("chunk-48cebeac"),n.e("chunk-1b2e2587")]).then(n.bind(null,"3cd5"))},meta:{breadcrumb:L.groupDashboard}},{path:":groupId/projects/:projectId/edit",hidden:!0,component:function(){return Promise.all([n.e("chunk-48cebeac"),n.e("chunk-9622a6d8")]).then(n.bind(null,"e958"))},meta:{breadcrumb:L.groupProjectEdit}},{path:":groupId/projects/create",hidden:!0,component:function(){return Promise.all([n.e("chunk-48cebeac"),n.e("chunk-9622a6d8")]).then(n.bind(null,"e958"))},meta:{breadcrumb:L.groupProjectCreate}},{path:":groupId/projects/:projectId/documents",hidden:!0,component:function(){return Promise.all([n.e("chunk-48cebeac"),n.e("chunk-26c477fb")]).then(n.bind(null,"0742"))},meta:{breadcrumb:L.groupProjectDocument}}]},{path:"/users",icon:"List",component:x,meta:{nav:"用户中心",requireAnyRoles:["SYS_OWNER"]},children:[{path:"",hidden:!0,component:function(){return Promise.all([n.e("chunk-48cebeac"),n.e("chunk-abb10c56")]).then(n.bind(null,"ab3a"))},meta:{breadcrumb:L.userList}}]},{path:"/profile",icon:"User",component:x,meta:{nav:"个人中心",breadcrumb:L.userProfile},children:[{path:"",hidden:!0,component:function(){return Promise.all([n.e("chunk-48cebeac"),n.e("chunk-fffb1b64")]).then(n.bind(null,"4a39"))}}]},{path:"/settings",icon:"Setting",component:x,meta:{nav:"系统中心",requireAnyRoles:["SYS_OWNER"]},children:[{path:"sysEmail",icon:"Notification",component:function(){return Promise.all([n.e("chunk-48cebeac"),n.e("chunk-2d0cc811")]).then(n.bind(null,"4de0"))},meta:{nav:"邮箱设置",breadcrumb:L.sysEmailEdit}},{path:"sysKey",icon:"Key",hidden:"true",component:x,meta:{nav:"系统秘钥",breadcrumb:L.sysKeyEdit}}]}],R=Object(r["a"])({history:Object(r["b"])(),routes:D});R.beforeEach((function(e,t,n){0==e.meta.requireAuth?"/login"==e.path&&i["a"].hasAccessToken()?n(t):n():i["a"].hasAccessToken()?n():n({path:"/login"})})),R.beforeEach((function(e,t,n){!e.query.groupName&&t.query.groupName&&(e.query.groupName=t.query.groupName),!e.query.projectName&&t.query.projectName&&(e.query.projectName=t.query.projectName),n()}));t["a"]=R},b76b:function(e,t,n){"use strict";n("0135")},bc45:function(e,t,n){"use strict";n("c353")},c353:function(e,t,n){}}); +//# sourceMappingURL=app.58300ce2.js.map \ No newline at end of file diff --git a/api/src/main/resources/static/js/app.51f76bee.js.map b/api/src/main/resources/static/js/app.58300ce2.js.map similarity index 98% rename from api/src/main/resources/static/js/app.51f76bee.js.map rename to api/src/main/resources/static/js/app.58300ce2.js.map index 980645f..d0c27ed 100644 --- a/api/src/main/resources/static/js/app.51f76bee.js.map +++ b/api/src/main/resources/static/js/app.58300ce2.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/store/index.js","webpack:///./src/App.vue","webpack:///./src/App.vue?8ecf","webpack:///./src/main.js","webpack:///./src/utils/auth.js","webpack:///./src/layouts/Layout.vue","webpack:///./src/components/AppNav.vue","webpack:///./src/components/AppNav.vue?33c4","webpack:///./src/components/Breadcrumb.vue","webpack:///./src/components/Breadcrumb.vue?57f7","webpack:///./src/components/Avatar.vue","webpack:///./src/components/Avatar.vue?a351","webpack:///./src/layouts/Layout.vue?726f","webpack:///./src/router/breadcurmb.js","webpack:///./src/router/index.js","webpack:///./src/layouts/Layout.vue?cd1b","webpack:///./src/components/AppNav.vue?747c"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","store","createStore","state","user","loadUserLoginData","userData","nickname","usernmae","email","mutations","userUpdate","param","__exports__","render","app","createApp","App","keys","Icons","forEach","component","directive","mounted","el","binding","roles","hasAnyRoles","updated","child","querySelector","id","poper","getElementById","selector","addEventListener","condition","this","scrollHeight","scrollTop","clientHeight","use","ElementPlus","router","mount","accessTokenKey","accessTokenExpireAtKey","userLoginDataKey","token","hasAccessToken","accessToken","loadAccessToken","hasValidAccessToken","expireAt","localStorage","getItem","Date","getTime","log","saveAccessToken","tokenExpireAt","setItem","saveUserLoginData","userLoginData","accessTokenExpireAt","JSON","stringify","removeUserLoginData","removeItem","parse","map","role","groupId","some","exists","expected","getRefreshToken","refreshToken","class","collapse","isCollapse","expandOrFold","index","title","routes","menu","isShowMenu","children","ele","hidden","path","icon","meta","nav","childIndex","setup","options","requireAnyRoles","separator","breadcrumbs","item","to","computed","$route","breadcrumb","$store","dropdown","userNickname","divided","toProfilePage","onLogout","size","avatarUrl","methods","$router","components","AppNav","Breadcrumb","Avatar","groupList","groupDashboard","route","groupName","query","params","groupProjectCreate","groupProjectEdit","projectName","projectId","groupProjectDocument","userList","userProfile","sysEmailEdit","breadcurmbMap","requireAuth","Layout","sysKeyEdit","createRouter","history","createWebHashHistory","beforeEach","from","next"],"mappings":"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","file":"js/app.51f76bee.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-48cebeac\":\"b43a95b4\",\"chunk-1b2e2587\":\"2a26d5cb\",\"chunk-2d0cc811\":\"feb081c8\",\"chunk-4935816e\":\"627c0115\",\"chunk-7efe8be4\":\"e8bbd745\",\"chunk-9622a6d8\":\"c20b1f79\",\"chunk-abb10c56\":\"4c323350\",\"chunk-bf93911a\":\"d40185ff\",\"chunk-fffb1b64\":\"df1e960f\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-1b2e2587\":1,\"chunk-4935816e\":1,\"chunk-7efe8be4\":1,\"chunk-bf93911a\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-48cebeac\":\"31d6cfe0\",\"chunk-1b2e2587\":\"a5b9f9ad\",\"chunk-2d0cc811\":\"31d6cfe0\",\"chunk-4935816e\":\"e722c805\",\"chunk-7efe8be4\":\"a5cbc9e6\",\"chunk-9622a6d8\":\"31d6cfe0\",\"chunk-abb10c56\":\"31d6cfe0\",\"chunk-bf93911a\":\"ab54ac4c\",\"chunk-fffb1b64\":\"31d6cfe0\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import { createStore } from 'vuex'\nimport { user } from '../utils/auth'\n\nconst store = createStore({\n state() {\n const data = user.loadUserLoginData()\n const userData = {\n nickname: null,\n usernmae: null,\n email: null,\n }\n if (data != null) {\n userData.nickname = data.nickname\n userData.usernmae = data.usernmae\n userData.email = data.email;\n }\n return {\n user: userData\n }\n },\n mutations: {\n userUpdate(state, param) {\n if (param.nickname) {\n state.user.nickname = param.nickname\n }\n if (param.usernmae) {\n state.user.usernmae = param.usernmae\n }\n if (param.email) {\n state.user.email = param.email\n }\n }\n }\n})\n\nexport default store","\n","import { render } from \"./App.vue?vue&type=template&id=2b08e877\"\nconst script = {}\n\nimport exportComponent from \"/Users/vrtia/workspace/vran/databasir-frontend/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createApp } from 'vue'\nimport ElementPlus from 'element-plus'\nimport * as Icons from '@element-plus/icons'\nimport 'element-plus/dist/index.css'\nimport router from './router'\nimport store from './store'\nimport App from './App.vue'\nimport { user } from './utils/auth'\n\nconst app = createApp(App)\nObject.keys(Icons).forEach(key => {\n app.component(key, Icons[key])\n})\napp.directive('require-roles', {\n mounted(el, binding) {\n const roles = binding.value\n if (!user.hasAnyRoles(roles)) {\n el.parentNode && el.parentNode.removeChild(el)\n }\n },\n})\n\napp.directive(\"select-more\", {\n updated(el, binding) {\n const child = el.querySelector('.select-trigger');\n const id = child.getAttribute('aria-describedby');\n const poper = document.getElementById(id);\n const selector = poper.querySelector('.el-scrollbar .el-select-dropdown__wrap');\n selector.addEventListener('scroll', function () {\n const condition = this.scrollHeight - this.scrollTop - 1 <= this.clientHeight;\n if (condition) {\n binding.value();\n }\n });\n },\n});\n\napp.use(store)\napp.use(ElementPlus)\napp.use(router)\napp.mount('#app')\n\n","const accessTokenKey = 'accessToken'\nconst accessTokenExpireAtKey = 'accessTokenExpireAt'\nconst userLoginDataKey = 'userLoginData'\n\nexport const token = {\n hasAccessToken() {\n const accessToken = this.loadAccessToken()\n return accessToken\n },\n\n hasValidAccessToken() {\n const accessToken = this.loadAccessToken()\n const expireAt = window.localStorage.getItem(accessTokenExpireAtKey)\n if (!accessToken || !expireAt) {\n console.log('warn: not found accessToken and expireAt key')\n return false\n }\n return expireAt > new Date().getTime()\n },\n\n saveAccessToken(token, tokenExpireAt) {\n window.localStorage.setItem(accessTokenKey, token)\n window.localStorage.setItem(accessTokenExpireAtKey, tokenExpireAt)\n },\n\n loadAccessToken() {\n return window.localStorage.getItem(accessTokenKey)\n }\n}\n\nexport const user = {\n\n saveUserLoginData(userLoginData) {\n window.localStorage.setItem(accessTokenKey, userLoginData.accessToken)\n window.localStorage.setItem(accessTokenExpireAtKey, userLoginData.accessTokenExpireAt)\n window.localStorage.setItem(userLoginDataKey, JSON.stringify(userLoginData))\n },\n\n removeUserLoginData() {\n window.localStorage.removeItem(userLoginDataKey)\n window.localStorage.removeItem(accessTokenKey)\n window.localStorage.removeItem(accessTokenExpireAtKey)\n },\n\n loadUserLoginData() {\n if (!window.localStorage.getItem(userLoginDataKey)) {\n return null;\n } else {\n const data =window.localStorage.getItem(userLoginDataKey)\n return JSON.parse(data)\n }\n },\n\n hasAnyRoles(roles) {\n const data = window.localStorage.getItem(userLoginDataKey)\n if (data == null) {\n return false\n }\n const user = JSON.parse(data)\n return user\n .roles\n .map(role => {\n if (role.groupId) {\n return role.role + '?groupId=' + role.groupId\n } else {\n return role.role\n }\n })\n .some(exists => roles.some(expected => expected == exists))\n },\n\n getRefreshToken() {\n const data = window.localStorage.getItem(userLoginDataKey)\n if (data == null) {\n return null\n }\n const user = JSON.parse(data)\n return user.refreshToken\n }\n}\n","\n\n\n","\n\n","import { render } from \"./AppNav.vue?vue&type=template&id=5e417f51\"\nimport script from \"./AppNav.vue?vue&type=script&lang=js\"\nexport * from \"./AppNav.vue?vue&type=script&lang=js\"\n\nimport \"./AppNav.vue?vue&type=style&index=0&id=5e417f51&lang=css\"\n\nimport exportComponent from \"/Users/vrtia/workspace/vran/databasir-frontend/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./Breadcrumb.vue?vue&type=template&id=53855f6c\"\nimport script from \"./Breadcrumb.vue?vue&type=script&lang=js\"\nexport * from \"./Breadcrumb.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/vrtia/workspace/vran/databasir-frontend/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Avatar.vue?vue&type=template&id=41b59522\"\nimport script from \"./Avatar.vue?vue&type=script&lang=js\"\nexport * from \"./Avatar.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/vrtia/workspace/vran/databasir-frontend/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./Layout.vue?vue&type=template&id=4207184d\"\nimport script from \"./Layout.vue?vue&type=script&lang=js\"\nexport * from \"./Layout.vue?vue&type=script&lang=js\"\n\nimport \"./Layout.vue?vue&type=style&index=0&id=4207184d&lang=css\"\n\nimport exportComponent from \"/Users/vrtia/workspace/vran/databasir-frontend/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","function index() {\n return {\n name:'首页',\n to: {\n path: '/'\n }\n }\n}\n\nfunction groupList() {\n return {\n name:'分组列表',\n to: {\n name: 'groupListPage'\n } \n }\n}\n\nfunction groupDashboard(route) {\n var groupName = '分組详情'\n if (route.query.groupName) {\n groupName = route.query.groupName\n }\n return {\n name: groupName,\n to: {\n path: '/groups/'+route.params.groupId\n } \n }\n}\n\nfunction groupProjectCreate() {\n return {\n name:'项目创建',\n to: {\n path: '/projects/create'\n } \n }\n}\n\nfunction groupProjectEdit(route) {\n var name = '项目编辑'\n if (route.query.projectName) {\n name = route.query.projectName\n }\n return {\n name: name,\n to: {\n path: '/projects/'+route.params.projectId+'/edit'\n } \n }\n}\n\nfunction groupProjectDocument(route) {\n var name = '项目文档'\n if (route.query.projectName) {\n name = route.query.projectName\n }\n return {\n name: name,\n to: {\n path: '/groups/'+route.params.groupId+'/projects'\n } \n }\n}\n\nfunction userList() {\n return {\n name:'用户列表',\n to: {\n path: '/users'\n } \n }\n}\n\n\nfunction userProfile() {\n return {\n name:'个人中心',\n to: {\n path: '/profile'\n } \n }\n}\n\nfunction sysEmailEdit() {\n return {\n name:'邮箱设置',\n to: {\n path: '/settings/sysEmail'\n } \n }\n}\n\nconst breadcurmbMap = {\n index: () => [index() ],\n groupList: () => [index(), groupList()],\n groupDashboard: (route, state) => [index(), groupList(), groupDashboard(route, state)],\n groupProjectCreate:(route, state) => [index(), groupList(), groupDashboard(route, state), groupProjectCreate(route)],\n groupProjectEdit: (route, state) => [index(), groupList(), groupDashboard(route, state), groupProjectEdit(route)],\n groupProjectDocument: (route, state) => [index(), groupList(), groupDashboard(route, state), groupProjectDocument(route)],\n userProfile: () => [index(), userProfile()],\n userList: () => [index(), userList()],\n sysEmailEdit: () => [index(), sysEmailEdit()]\n}\n\nexport default breadcurmbMap","import { createRouter, createWebHashHistory } from 'vue-router';\nimport Layout from \"../layouts/Layout.vue\"\nimport breadcurmbMap from './breadcurmb'\nimport { token } from '../utils/auth';\n\nconst routes = [\n {\n path: '/login',\n component: () => import('@/views/Login.vue'),\n hidden: true,\n meta: {\n requireAuth: false\n }\n },\n {\n path: '/',\n hidden: true,\n component: Layout,\n children: [\n {\n path: '',\n hidden: true,\n component: () => import('@/views/GroupList.vue'),\n meta: {\n breadcrumb: breadcurmbMap.groupList\n }\n }\n ]\n },\n {\n path: '/groups',\n icon: 'Collection',\n component: Layout,\n meta: {\n nav: '分组列表',\n },\n children: [\n {\n path: '',\n name: 'groupListPage',\n hidden: true,\n component: () => import('@/views/GroupList.vue'),\n meta: {\n breadcrumb: breadcurmbMap.groupList\n }\n },\n {\n path: ':groupId',\n hidden: true,\n component: () => import('@/views/GroupDashboard.vue'),\n meta: {\n breadcrumb: breadcurmbMap.groupDashboard\n }\n },\n {\n path: ':groupId/projects/:projectId/edit',\n hidden: true,\n component: () => import('@/views/ProjectEdit.vue'),\n meta: {\n breadcrumb: breadcurmbMap.groupProjectEdit\n }\n },\n {\n path: ':groupId/projects/create',\n hidden: true,\n component: () => import('@/views/ProjectEdit.vue'),\n meta: {\n breadcrumb: breadcurmbMap.groupProjectCreate\n }\n },\n {\n path: ':groupId/projects/:projectId/documents',\n hidden: true,\n component: () => import('@/views/Document.vue'),\n meta: {\n breadcrumb: breadcurmbMap.groupProjectDocument\n }\n }\n ]\n },\n {\n path: '/users',\n icon: 'List',\n component: Layout,\n meta: {\n nav:'用户中心',\n requireAnyRoles: ['SYS_OWNER']\n },\n children: [\n {\n path: '',\n hidden: true,\n component: () => import('@/views/UserList.vue'),\n meta: {\n breadcrumb: breadcurmbMap.userList\n }\n }\n ]\n },\n {\n path: '/profile',\n icon: 'User',\n component: Layout,\n meta: {\n nav: '个人中心',\n breadcrumb: breadcurmbMap.userProfile\n },\n children: [\n {\n path: '',\n hidden: true,\n component: () => import('@/views/UserProfile.vue')\n }\n ]\n },\n {\n path: '/settings',\n icon: 'Setting',\n component: Layout,\n meta: {\n nav:'系统中心',\n requireAnyRoles: ['SYS_OWNER']\n },\n children: [\n {\n path: 'sysEmail',\n icon: 'Notification',\n component: () => import('@/views/SysEmailEdit.vue'),\n meta: {\n nav: '邮箱设置',\n breadcrumb: breadcurmbMap.sysEmailEdit\n }\n },\n // TODO\n {\n path: 'sysKey',\n icon: 'Key',\n hidden: 'true',\n component: Layout,\n meta: {\n nav: '系统秘钥',\n breadcrumb: breadcurmbMap.sysKeyEdit\n }\n }\n ]\n }\n];\n\nconst router = createRouter({\n history: createWebHashHistory(),\n routes\n});\n\n// 权限路由守卫\nrouter.beforeEach((to, from, next) => {\n if (to.meta.requireAuth == false) {\n if (to.path == '/login' && token.hasAccessToken()) {\n next(from)\n } else {\n next()\n }\n } else {\n if(token.hasAccessToken()) {\n next()\n } else {\n next({ path: '/login' })\n }\n }\n})\n\n// groupName 参数路由守卫\nrouter.beforeEach((to, from, next) => {\n if (!to.query.groupName && from.query.groupName) {\n to.query.groupName = from.query.groupName\n } \n if (!to.query.projectName && from.query.projectName) {\n to.query.projectName = from.query.projectName\n } \n next();\n})\n\nexport default router;","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Layout.vue?vue&type=style&index=0&id=4207184d&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./AppNav.vue?vue&type=style&index=0&id=5e417f51&lang=css\""],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/store/index.js","webpack:///./src/App.vue","webpack:///./src/App.vue?8ecf","webpack:///./src/main.js","webpack:///./src/utils/auth.js","webpack:///./src/layouts/Layout.vue","webpack:///./src/components/AppNav.vue","webpack:///./src/components/AppNav.vue?33c4","webpack:///./src/components/Breadcrumb.vue","webpack:///./src/components/Breadcrumb.vue?57f7","webpack:///./src/components/Avatar.vue","webpack:///./src/components/Avatar.vue?a351","webpack:///./src/layouts/Layout.vue?726f","webpack:///./src/router/breadcurmb.js","webpack:///./src/router/index.js","webpack:///./src/layouts/Layout.vue?cd1b","webpack:///./src/components/AppNav.vue?747c"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","store","createStore","state","user","loadUserLoginData","userData","nickname","usernmae","email","mutations","userUpdate","param","__exports__","render","app","createApp","App","keys","Icons","forEach","component","directive","mounted","el","binding","roles","hasAnyRoles","updated","child","querySelector","id","poper","getElementById","selector","addEventListener","condition","this","scrollHeight","scrollTop","clientHeight","use","ElementPlus","router","mount","accessTokenKey","accessTokenExpireAtKey","userLoginDataKey","token","hasAccessToken","accessToken","loadAccessToken","hasValidAccessToken","expireAt","localStorage","getItem","Date","getTime","log","saveAccessToken","tokenExpireAt","setItem","saveUserLoginData","userLoginData","accessTokenExpireAt","JSON","stringify","removeUserLoginData","removeItem","parse","map","role","groupId","some","exists","expected","getRefreshToken","refreshToken","class","collapse","isCollapse","expandOrFold","index","title","routes","menu","isShowMenu","children","ele","hidden","path","icon","meta","nav","childIndex","setup","options","requireAnyRoles","separator","breadcrumbs","item","to","computed","$route","breadcrumb","$store","dropdown","userNickname","divided","toProfilePage","onLogout","size","avatarUrl","methods","$router","components","AppNav","Breadcrumb","Avatar","groupList","groupDashboard","route","groupName","query","params","groupProjectCreate","groupProjectEdit","projectName","projectId","groupProjectDocument","userList","userProfile","sysEmailEdit","breadcurmbMap","requireAuth","Layout","sysKeyEdit","createRouter","history","createWebHashHistory","beforeEach","from","next"],"mappings":"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","file":"js/app.58300ce2.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-48cebeac\":\"b43a95b4\",\"chunk-1b2e2587\":\"2a26d5cb\",\"chunk-26c477fb\":\"72a77fcd\",\"chunk-2d0cc811\":\"feb081c8\",\"chunk-588dbed6\":\"576f3300\",\"chunk-7efe8be4\":\"e8bbd745\",\"chunk-9622a6d8\":\"c20b1f79\",\"chunk-abb10c56\":\"4c323350\",\"chunk-fffb1b64\":\"df1e960f\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-1b2e2587\":1,\"chunk-26c477fb\":1,\"chunk-588dbed6\":1,\"chunk-7efe8be4\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-48cebeac\":\"31d6cfe0\",\"chunk-1b2e2587\":\"a5b9f9ad\",\"chunk-26c477fb\":\"e722c805\",\"chunk-2d0cc811\":\"31d6cfe0\",\"chunk-588dbed6\":\"ab54ac4c\",\"chunk-7efe8be4\":\"a5cbc9e6\",\"chunk-9622a6d8\":\"31d6cfe0\",\"chunk-abb10c56\":\"31d6cfe0\",\"chunk-fffb1b64\":\"31d6cfe0\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import { createStore } from 'vuex'\nimport { user } from '../utils/auth'\n\nconst store = createStore({\n state() {\n const data = user.loadUserLoginData()\n const userData = {\n nickname: null,\n usernmae: null,\n email: null,\n }\n if (data != null) {\n userData.nickname = data.nickname\n userData.usernmae = data.usernmae\n userData.email = data.email;\n }\n return {\n user: userData\n }\n },\n mutations: {\n userUpdate(state, param) {\n if (param.nickname) {\n state.user.nickname = param.nickname\n }\n if (param.usernmae) {\n state.user.usernmae = param.usernmae\n }\n if (param.email) {\n state.user.email = param.email\n }\n }\n }\n})\n\nexport default store","\n","import { render } from \"./App.vue?vue&type=template&id=2b08e877\"\nconst script = {}\n\nimport exportComponent from \"/Users/vrtia/workspace/vran/databasir-frontend/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createApp } from 'vue'\nimport ElementPlus from 'element-plus'\nimport * as Icons from '@element-plus/icons'\nimport 'element-plus/dist/index.css'\nimport router from './router'\nimport store from './store'\nimport App from './App.vue'\nimport { user } from './utils/auth'\n\nconst app = createApp(App)\nObject.keys(Icons).forEach(key => {\n app.component(key, Icons[key])\n})\napp.directive('require-roles', {\n mounted(el, binding) {\n const roles = binding.value\n if (!user.hasAnyRoles(roles)) {\n el.parentNode && el.parentNode.removeChild(el)\n }\n },\n})\n\napp.directive(\"select-more\", {\n updated(el, binding) {\n const child = el.querySelector('.select-trigger');\n const id = child.getAttribute('aria-describedby');\n const poper = document.getElementById(id);\n const selector = poper.querySelector('.el-scrollbar .el-select-dropdown__wrap');\n selector.addEventListener('scroll', function () {\n const condition = this.scrollHeight - this.scrollTop - 1 <= this.clientHeight;\n if (condition) {\n binding.value();\n }\n });\n },\n});\n\napp.use(store)\napp.use(ElementPlus)\napp.use(router)\napp.mount('#app')\n\n","const accessTokenKey = 'accessToken'\nconst accessTokenExpireAtKey = 'accessTokenExpireAt'\nconst userLoginDataKey = 'userLoginData'\n\nexport const token = {\n hasAccessToken() {\n const accessToken = this.loadAccessToken()\n return accessToken\n },\n\n hasValidAccessToken() {\n const accessToken = this.loadAccessToken()\n const expireAt = window.localStorage.getItem(accessTokenExpireAtKey)\n if (!accessToken || !expireAt) {\n console.log('warn: not found accessToken and expireAt key')\n return false\n }\n return expireAt > new Date().getTime()\n },\n\n saveAccessToken(token, tokenExpireAt) {\n window.localStorage.setItem(accessTokenKey, token)\n window.localStorage.setItem(accessTokenExpireAtKey, tokenExpireAt)\n },\n\n loadAccessToken() {\n return window.localStorage.getItem(accessTokenKey)\n }\n}\n\nexport const user = {\n\n saveUserLoginData(userLoginData) {\n window.localStorage.setItem(accessTokenKey, userLoginData.accessToken)\n window.localStorage.setItem(accessTokenExpireAtKey, userLoginData.accessTokenExpireAt)\n window.localStorage.setItem(userLoginDataKey, JSON.stringify(userLoginData))\n },\n\n removeUserLoginData() {\n window.localStorage.removeItem(userLoginDataKey)\n window.localStorage.removeItem(accessTokenKey)\n window.localStorage.removeItem(accessTokenExpireAtKey)\n },\n\n loadUserLoginData() {\n if (!window.localStorage.getItem(userLoginDataKey)) {\n return null;\n } else {\n const data =window.localStorage.getItem(userLoginDataKey)\n return JSON.parse(data)\n }\n },\n\n hasAnyRoles(roles) {\n const data = window.localStorage.getItem(userLoginDataKey)\n if (data == null) {\n return false\n }\n const user = JSON.parse(data)\n return user\n .roles\n .map(role => {\n if (role.groupId) {\n return role.role + '?groupId=' + role.groupId\n } else {\n return role.role\n }\n })\n .some(exists => roles.some(expected => expected == exists))\n },\n\n getRefreshToken() {\n const data = window.localStorage.getItem(userLoginDataKey)\n if (data == null) {\n return null\n }\n const user = JSON.parse(data)\n return user.refreshToken\n }\n}\n","\n\n\n","\n\n","import { render } from \"./AppNav.vue?vue&type=template&id=5e417f51\"\nimport script from \"./AppNav.vue?vue&type=script&lang=js\"\nexport * from \"./AppNav.vue?vue&type=script&lang=js\"\n\nimport \"./AppNav.vue?vue&type=style&index=0&id=5e417f51&lang=css\"\n\nimport exportComponent from \"/Users/vrtia/workspace/vran/databasir-frontend/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./Breadcrumb.vue?vue&type=template&id=53855f6c\"\nimport script from \"./Breadcrumb.vue?vue&type=script&lang=js\"\nexport * from \"./Breadcrumb.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/vrtia/workspace/vran/databasir-frontend/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Avatar.vue?vue&type=template&id=41b59522\"\nimport script from \"./Avatar.vue?vue&type=script&lang=js\"\nexport * from \"./Avatar.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/vrtia/workspace/vran/databasir-frontend/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./Layout.vue?vue&type=template&id=4207184d\"\nimport script from \"./Layout.vue?vue&type=script&lang=js\"\nexport * from \"./Layout.vue?vue&type=script&lang=js\"\n\nimport \"./Layout.vue?vue&type=style&index=0&id=4207184d&lang=css\"\n\nimport exportComponent from \"/Users/vrtia/workspace/vran/databasir-frontend/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","function index() {\n return {\n name:'首页',\n to: {\n path: '/'\n }\n }\n}\n\nfunction groupList() {\n return {\n name:'分组列表',\n to: {\n name: 'groupListPage'\n } \n }\n}\n\nfunction groupDashboard(route) {\n var groupName = '分組详情'\n if (route.query.groupName) {\n groupName = route.query.groupName\n }\n return {\n name: groupName,\n to: {\n path: '/groups/'+route.params.groupId\n } \n }\n}\n\nfunction groupProjectCreate() {\n return {\n name:'项目创建',\n to: {\n path: '/projects/create'\n } \n }\n}\n\nfunction groupProjectEdit(route) {\n var name = '项目编辑'\n if (route.query.projectName) {\n name = route.query.projectName\n }\n return {\n name: name,\n to: {\n path: '/projects/'+route.params.projectId+'/edit'\n } \n }\n}\n\nfunction groupProjectDocument(route) {\n var name = '项目文档'\n if (route.query.projectName) {\n name = route.query.projectName\n }\n return {\n name: name,\n to: {\n path: '/groups/'+route.params.groupId+'/projects'\n } \n }\n}\n\nfunction userList() {\n return {\n name:'用户列表',\n to: {\n path: '/users'\n } \n }\n}\n\n\nfunction userProfile() {\n return {\n name:'个人中心',\n to: {\n path: '/profile'\n } \n }\n}\n\nfunction sysEmailEdit() {\n return {\n name:'邮箱设置',\n to: {\n path: '/settings/sysEmail'\n } \n }\n}\n\nconst breadcurmbMap = {\n index: () => [index() ],\n groupList: () => [index(), groupList()],\n groupDashboard: (route, state) => [index(), groupList(), groupDashboard(route, state)],\n groupProjectCreate:(route, state) => [index(), groupList(), groupDashboard(route, state), groupProjectCreate(route)],\n groupProjectEdit: (route, state) => [index(), groupList(), groupDashboard(route, state), groupProjectEdit(route)],\n groupProjectDocument: (route, state) => [index(), groupList(), groupDashboard(route, state), groupProjectDocument(route)],\n userProfile: () => [index(), userProfile()],\n userList: () => [index(), userList()],\n sysEmailEdit: () => [index(), sysEmailEdit()]\n}\n\nexport default breadcurmbMap","import { createRouter, createWebHashHistory } from 'vue-router';\nimport Layout from \"../layouts/Layout.vue\"\nimport breadcurmbMap from './breadcurmb'\nimport { token } from '../utils/auth';\n\nconst routes = [\n {\n path: '/login',\n component: () => import('@/views/Login.vue'),\n hidden: true,\n meta: {\n requireAuth: false\n }\n },\n {\n path: '/',\n hidden: true,\n component: Layout,\n children: [\n {\n path: '',\n hidden: true,\n component: () => import('@/views/GroupList.vue'),\n meta: {\n breadcrumb: breadcurmbMap.groupList\n }\n }\n ]\n },\n {\n path: '/groups',\n icon: 'Collection',\n component: Layout,\n meta: {\n nav: '分组列表',\n },\n children: [\n {\n path: '',\n name: 'groupListPage',\n hidden: true,\n component: () => import('@/views/GroupList.vue'),\n meta: {\n breadcrumb: breadcurmbMap.groupList\n }\n },\n {\n path: ':groupId',\n hidden: true,\n component: () => import('@/views/GroupDashboard.vue'),\n meta: {\n breadcrumb: breadcurmbMap.groupDashboard\n }\n },\n {\n path: ':groupId/projects/:projectId/edit',\n hidden: true,\n component: () => import('@/views/ProjectEdit.vue'),\n meta: {\n breadcrumb: breadcurmbMap.groupProjectEdit\n }\n },\n {\n path: ':groupId/projects/create',\n hidden: true,\n component: () => import('@/views/ProjectEdit.vue'),\n meta: {\n breadcrumb: breadcurmbMap.groupProjectCreate\n }\n },\n {\n path: ':groupId/projects/:projectId/documents',\n hidden: true,\n component: () => import('@/views/Document.vue'),\n meta: {\n breadcrumb: breadcurmbMap.groupProjectDocument\n }\n }\n ]\n },\n {\n path: '/users',\n icon: 'List',\n component: Layout,\n meta: {\n nav:'用户中心',\n requireAnyRoles: ['SYS_OWNER']\n },\n children: [\n {\n path: '',\n hidden: true,\n component: () => import('@/views/UserList.vue'),\n meta: {\n breadcrumb: breadcurmbMap.userList\n }\n }\n ]\n },\n {\n path: '/profile',\n icon: 'User',\n component: Layout,\n meta: {\n nav: '个人中心',\n breadcrumb: breadcurmbMap.userProfile\n },\n children: [\n {\n path: '',\n hidden: true,\n component: () => import('@/views/UserProfile.vue')\n }\n ]\n },\n {\n path: '/settings',\n icon: 'Setting',\n component: Layout,\n meta: {\n nav:'系统中心',\n requireAnyRoles: ['SYS_OWNER']\n },\n children: [\n {\n path: 'sysEmail',\n icon: 'Notification',\n component: () => import('@/views/SysEmailEdit.vue'),\n meta: {\n nav: '邮箱设置',\n breadcrumb: breadcurmbMap.sysEmailEdit\n }\n },\n // TODO\n {\n path: 'sysKey',\n icon: 'Key',\n hidden: 'true',\n component: Layout,\n meta: {\n nav: '系统秘钥',\n breadcrumb: breadcurmbMap.sysKeyEdit\n }\n }\n ]\n }\n];\n\nconst router = createRouter({\n history: createWebHashHistory(),\n routes\n});\n\n// 权限路由守卫\nrouter.beforeEach((to, from, next) => {\n if (to.meta.requireAuth == false) {\n if (to.path == '/login' && token.hasAccessToken()) {\n next(from)\n } else {\n next()\n }\n } else {\n if(token.hasAccessToken()) {\n next()\n } else {\n next({ path: '/login' })\n }\n }\n})\n\n// groupName 参数路由守卫\nrouter.beforeEach((to, from, next) => {\n if (!to.query.groupName && from.query.groupName) {\n to.query.groupName = from.query.groupName\n } \n if (!to.query.projectName && from.query.projectName) {\n to.query.projectName = from.query.projectName\n } \n next();\n})\n\nexport default router;","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Layout.vue?vue&type=style&index=0&id=4207184d&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./AppNav.vue?vue&type=style&index=0&id=5e417f51&lang=css\""],"sourceRoot":""} \ No newline at end of file diff --git a/api/src/main/resources/static/js/chunk-26c477fb.72a77fcd.js b/api/src/main/resources/static/js/chunk-26c477fb.72a77fcd.js new file mode 100644 index 0000000..a719caf --- /dev/null +++ b/api/src/main/resources/static/js/chunk-26c477fb.72a77fcd.js @@ -0,0 +1,2 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-26c477fb"],{"0742":function(e,t,n){"use strict";n.r(t);n("b0c0");var r=n("7a23"),a={key:0},o=Object(r["createTextVNode"])("同步"),c={key:1},i={key:2},s=Object(r["createTextVNode"])("同步"),l=Object(r["createTextVNode"])("导出"),u={class:"document-content"},d=["id"],h=["id"],f=Object(r["createElementVNode"])("h3",null,"Columns",-1),p={key:0},b=Object(r["createElementVNode"])("h3",null,"Indexes",-1),m={key:1},j=Object(r["createElementVNode"])("h3",null,"Triggers",-1),O={class:"toc-wrapper"},g={class:"toc"},w={class:"remark-header"},v={class:"remark-user"},k={class:"remark-time"},N={class:"item text remark-content"},V=Object(r["createTextVNode"])("提交");function y(e,t,n,y,C,x){var D=Object(r["resolveComponent"])("el-button"),S=Object(r["resolveComponent"])("el-empty"),R=Object(r["resolveComponent"])("el-skeleton"),P=Object(r["resolveComponent"])("el-col"),_=Object(r["resolveComponent"])("el-option"),B=Object(r["resolveComponent"])("el-select"),E=Object(r["resolveComponent"])("el-row"),U=Object(r["resolveComponent"])("el-header"),I=Object(r["resolveComponent"])("el-descriptions-item"),L=Object(r["resolveComponent"])("el-descriptions"),T=Object(r["resolveComponent"])("el-table-column"),F=Object(r["resolveComponent"])("el-table"),q=Object(r["resolveComponent"])("el-link"),z=Object(r["resolveComponent"])("el-backtop"),A=Object(r["resolveComponent"])("el-tooltip"),H=Object(r["resolveComponent"])("el-popconfirm"),M=Object(r["resolveComponent"])("el-card"),Y=Object(r["resolveComponent"])("el-pagination"),G=Object(r["resolveComponent"])("el-divider"),W=Object(r["resolveComponent"])("el-input"),J=Object(r["resolveComponent"])("el-drawer"),$=Object(r["resolveComponent"])("el-main"),Q=Object(r["resolveComponent"])("el-container"),K=Object(r["resolveDirective"])("loading"),X=Object(r["resolveDirective"])("require-roles"),Z=Object(r["resolveDirective"])("select-more");return y.isShowNoDataPage?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",a,[Object(r["createVNode"])(S,{description:"似乎还没有同步过文档"},{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(D,{type:"primary",icon:"refresh",round:"",size:"large",onClick:y.onSyncProjectDocument,loading:y.state.loadings.handleSync},{default:Object(r["withCtx"])((function(){return[o]})),_:1},8,["onClick","loading"])]})),_:1})])):y.isShowLoadingPage?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",c,[Object(r["withDirectives"])(Object(r["createVNode"])(R,{rows:12},null,512),[[K,!y.state.init]])])):(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",i,[Object(r["createVNode"])(Q,{class:"document-container"},{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(U,null,{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(E,{gutter:20},{default:Object(r["withCtx"])((function(){return[Object(r["withDirectives"])((Object(r["openBlock"])(),Object(r["createBlock"])(P,{span:2},{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(D,{type:"success",style:{width:"100%"},icon:"Refresh",onClick:y.onSyncProjectDocument,loading:y.state.loadings.handleSync},{default:Object(r["withCtx"])((function(){return[s]})),_:1},8,["onClick","loading"])]})),_:1})),[[X,["SYS_OWNER","GROUP_OWNER?groupId="+y.state.groupId,"GROUP_MEMBER?groupId="+y.state.groupId]]]),Object(r["withDirectives"])((Object(r["openBlock"])(),Object(r["createBlock"])(P,{span:2},{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(D,{type:"primary",style:{width:"100%"},icon:"Download",onClick:t[0]||(t[0]=function(e){return y.onDocumentExport()}),loading:y.state.loadings.export},{default:Object(r["withCtx"])((function(){return[l]})),_:1},8,["loading"])]})),_:1})),[[X,["SYS_OWNER","GROUP_OWNER?groupId="+y.state.groupId,"GROUP_MEMBER?groupId="+y.state.groupId]]]),Object(r["createVNode"])(P,{span:4},{default:Object(r["withCtx"])((function(){return[Object(r["withDirectives"])((Object(r["openBlock"])(),Object(r["createBlock"])(B,{onChange:y.onProjectDocumentVersionChange,modelValue:y.state.databaseDocumentFilter.version,"onUpdate:modelValue":t[1]||(t[1]=function(e){return y.state.databaseDocumentFilter.version=e}),placeholder:"历史版本",clearable:""},{default:Object(r["withCtx"])((function(){return[(Object(r["openBlock"])(!0),Object(r["createElementBlock"])(r["Fragment"],null,Object(r["renderList"])(y.state.databaseDocumentVersions,(function(e){return Object(r["openBlock"])(),Object(r["createBlock"])(_,{key:e.version,label:"["+e.createAt+"]->"+e.version,value:e.version},null,8,["label","value"])})),128))]})),_:1},8,["onChange","modelValue"])),[[Z,y.loadMoreDocumentVersions],[K,y.state.loadings.loadingVersions]])]})),_:1})]})),_:1})]})),_:1}),Object(r["createVNode"])($,{class:"document-content-wrapper"},{default:Object(r["withCtx"])((function(){return[Object(r["createElementVNode"])("div",u,[Object(r["createVNode"])(E,null,{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(P,null,{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(L,{column:1,size:"large",border:""},{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(I,{label:"Database Name","label-align":"left",width:"200px"},{default:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(y.state.databaseDocument.databaseName),1)]})),_:1}),Object(r["createVNode"])(I,{label:"Product Name","label-align":"left"},{default:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(y.state.databaseDocument.productName),1)]})),_:1}),Object(r["createVNode"])(I,{label:"Product Version","label-align":"left"},{default:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(y.state.databaseDocument.productVersion),1)]})),_:1}),Object(r["createVNode"])(I,{label:"Document Version","label-align":"left"},{default:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(y.state.databaseDocument.documentVersion),1)]})),_:1}),Object(r["createVNode"])(I,{label:"Create At","label-align":"left"},{default:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(y.state.databaseDocument.createAt),1)]})),_:1})]})),_:1})]})),_:1})]})),_:1}),Object(r["createVNode"])(E,null,{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(P,null,{default:Object(r["withCtx"])((function(){return[Object(r["createElementVNode"])("h2",{id:y.state.databaseDocument.databaseName+".overview"},"Overview",8,d)]})),_:1})]})),_:1}),Object(r["createVNode"])(E,null,{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(P,null,{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(F,{data:y.state.databaseDocument.tables,border:"",width:"80%"},{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(T,{type:"index"}),Object(r["createVNode"])(T,{prop:"name",label:"Name","min-width":"160",resizable:""}),Object(r["createVNode"])(T,{prop:"type",label:"Type",width:"200",resizable:""}),Object(r["createVNode"])(T,{prop:"comment",label:"comment","min-width":"160",resizable:""}),Object(r["createVNode"])(T,{prop:"remark",label:"remark","min-width":"160",resizable:""},{default:Object(r["withCtx"])((function(e){return[Object(r["createVNode"])(D,{onClick:function(t){return y.showRemarkDrawer(e.row.name)},size:"small",icon:y.Edit},null,8,["onClick","icon"])]})),_:1})]})),_:1},8,["data"])]})),_:1})]})),_:1}),(Object(r["openBlock"])(!0),Object(r["createElementBlock"])(r["Fragment"],null,Object(r["renderList"])(y.state.databaseDocument.tables,(function(e){return Object(r["openBlock"])(),Object(r["createElementBlock"])(r["Fragment"],{key:e},[Object(r["createVNode"])(E,null,{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(P,null,{default:Object(r["withCtx"])((function(){return[Object(r["createElementVNode"])("h2",{id:y.state.databaseDocument.databaseName+"."+e.name},Object(r["toDisplayString"])(e.name),9,h)]})),_:2},1024)]})),_:2},1024),Object(r["createVNode"])(E,null,{default:Object(r["withCtx"])((function(){return[e.columns.length>0?(Object(r["openBlock"])(),Object(r["createBlock"])(P,{key:0},{default:Object(r["withCtx"])((function(){return[f]})),_:1})):Object(r["createCommentVNode"])("",!0)]})),_:2},1024),Object(r["createVNode"])(E,null,{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(P,null,{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(F,{data:e.columns,border:"",fit:"",width:"80%"},{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(T,{type:"index"}),Object(r["createVNode"])(T,{prop:"name",label:"Name","min-width":"120"}),Object(r["createVNode"])(T,{prop:"type",formatter:y.columnTypeFormat,label:"Type",width:"140"},null,8,["formatter"]),Object(r["createVNode"])(T,{label:"Primary Key",width:"120"},{default:Object(r["withCtx"])((function(e){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.row.isPrimaryKey?"YES":""),1)]})),_:1}),Object(r["createVNode"])(T,{prop:"nullable",label:"Is Nullable",width:"120"},{default:Object(r["withCtx"])((function(e){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])("YES"==e.row.nullable?"YES":""),1)]})),_:1}),Object(r["createVNode"])(T,{prop:"autoIncrement",label:"Auto increment",width:"140"},{default:Object(r["withCtx"])((function(e){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])("YES"==e.row.autoIncrement?"YES":""),1)]})),_:1}),Object(r["createVNode"])(T,{prop:"defaultValue",label:"default","min-width":"120"}),Object(r["createVNode"])(T,{prop:"comment",label:"comment"}),Object(r["createVNode"])(T,{prop:"remark",label:"remark","min-width":"160",resizable:"",fixed:"right"},{default:Object(r["withCtx"])((function(t){return[Object(r["createVNode"])(D,{onClick:function(n){return y.showRemarkDrawer(e.name,t.row.name)},size:"small",icon:y.Edit},null,8,["onClick","icon"])]})),_:2},1024)]})),_:2},1032,["data"])]})),_:2},1024)]})),_:2},1024),e.indexes.length>0?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",p,[Object(r["createVNode"])(E,null,{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(P,null,{default:Object(r["withCtx"])((function(){return[b]})),_:1})]})),_:1}),Object(r["createVNode"])(E,null,{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(P,null,{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(F,{data:e.indexes,border:"",fit:"",width:"80%"},{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(T,{type:"index"}),Object(r["createVNode"])(T,{prop:"name",label:"Name","min-width":"120"}),Object(r["createVNode"])(T,{prop:"isUnique",label:"Is Unique",width:"120"},{default:Object(r["withCtx"])((function(e){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.row.isUnique?"YES":""),1)]})),_:1}),Object(r["createVNode"])(T,{prop:"columnNames",label:"Columns","min-width":"150"})]})),_:2},1032,["data"])]})),_:2},1024)]})),_:2},1024)])):Object(r["createCommentVNode"])("",!0),e.triggers.length>0?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",m,[Object(r["createVNode"])(E,null,{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(P,null,{default:Object(r["withCtx"])((function(){return[j]})),_:1})]})),_:1}),Object(r["createVNode"])(E,null,{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(P,null,{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(F,{data:e.triggers,fit:"",border:"",width:"80%"},{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(T,{type:"index"}),Object(r["createVNode"])(T,{prop:"name",label:"Name","min-width":"120"}),Object(r["createVNode"])(T,{prop:"timing",label:"timing"}),Object(r["createVNode"])(T,{prop:"manipulation",label:"manipulation",width:"120"}),Object(r["createVNode"])(T,{prop:"statement",label:"statement"}),Object(r["createVNode"])(T,{prop:"creatAt",label:"creatAt",width:"150"})]})),_:2},1032,["data"])]})),_:2},1024)]})),_:2},1024)])):Object(r["createCommentVNode"])("",!0)],64)})),128))]),Object(r["createElementVNode"])("div",O,[Object(r["createElementVNode"])("div",g,[Object(r["createElementVNode"])("ul",null,[(Object(r["openBlock"])(!0),Object(r["createElementBlock"])(r["Fragment"],null,Object(r["renderList"])(y.state.toc,(function(e,t){return Object(r["openBlock"])(),Object(r["createElementBlock"])("li",{key:t},[Object(r["createVNode"])(q,{underline:!1,onClick:function(t){return y.onClickToc(y.state.databaseDocument.databaseName+"."+e.name)}},{default:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.name),1)]})),_:2},1032,["onClick"]),Object(r["createElementVNode"])("ul",null,[(Object(r["openBlock"])(!0),Object(r["createElementBlock"])(r["Fragment"],null,Object(r["renderList"])(e.child,(function(e,n){return Object(r["openBlock"])(),Object(r["createElementBlock"])("li",{key:t+"-"+n},[Object(r["createVNode"])(q,{underline:!1},{default:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.name),1)]})),_:2},1024)])})),128))])])})),128))])])]),Object(r["createVNode"])(A,{content:"回到顶部",placement:"top"},{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(z,{bottom:100})]})),_:1}),Object(r["createVNode"])(J,{modelValue:y.remarkData.isShowDrawer,"onUpdate:modelValue":t[3]||(t[3]=function(e){return y.remarkData.isShowDrawer=e}),title:"更多",size:"50%"},{default:Object(r["withCtx"])((function(){return[(Object(r["openBlock"])(!0),Object(r["createElementBlock"])(r["Fragment"],null,Object(r["renderList"])(y.remarkData.pageData.content,(function(e,t){return Object(r["openBlock"])(),Object(r["createBlock"])(E,{key:t},{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(P,null,{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(M,{shadow:"never",class:"remark-card"},{header:Object(r["withCtx"])((function(){return[Object(r["createElementVNode"])("div",w,[Object(r["createElementVNode"])("span",null,[Object(r["createElementVNode"])("span",v,Object(r["toDisplayString"])(e.remarkBy.nickname),1),Object(r["createElementVNode"])("span",k,Object(r["toDisplayString"])(e.createAt),1)]),Object(r["withDirectives"])((Object(r["openBlock"])(),Object(r["createElementBlock"])("span",null,[Object(r["createVNode"])(H,{"confirm-button-text":"确定","cancel-button-text":"取消",icon:"InfoFilled","icon-color":"red",title:"确定要删除该记录吗?",onConfirm:function(t){return y.onDeleteRemark(e.id)}},{reference:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(D,{type:"danger",icon:y.Delete,circle:"",plain:"",size:"small"},null,8,["icon"])]})),_:2},1032,["onConfirm"])])),[[X,["SYS_OWNER","GROUP_OWNER?groupId="+y.state.groupId,"GROUP_MEMBER?groupId="+y.state.groupId]]])])]})),default:Object(r["withCtx"])((function(){return[Object(r["createElementVNode"])("div",N,Object(r["toDisplayString"])(e.remark),1)]})),_:2},1024)]})),_:2},1024)]})),_:2},1024)})),128)),0==y.remarkData.pageData.content.length?(Object(r["openBlock"])(),Object(r["createBlock"])(E,{key:0},{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(P,null,{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(S)]})),_:1})]})),_:1})):Object(r["createCommentVNode"])("",!0),Object(r["createVNode"])(E,null,{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(P,null,{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(Y,{layout:"prev, pager, next","hide-on-single-page":!1,currentPage:y.remarkData.pageData.page,"page-size":y.remarkData.pageData.size,"page-count":y.remarkData.pageData.totalPages,onCurrentChange:y.onRemarkPageChange},null,8,["currentPage","page-size","page-count","onCurrentChange"])]})),_:1})]})),_:1}),Object(r["createVNode"])(G),Object(r["withDirectives"])((Object(r["openBlock"])(),Object(r["createBlock"])(E,null,{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(P,null,{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(W,{modelValue:y.remarkData.formData.remark,"onUpdate:modelValue":t[2]||(t[2]=function(e){return y.remarkData.formData.remark=e}),rows:5,type:"textarea",placeholder:"请输入内容"},null,8,["modelValue"])]})),_:1})]})),_:1})),[[X,["SYS_OWNER","GROUP_OWNER?groupId="+y.state.groupId,"GROUP_MEMBER?groupId="+y.state.groupId]]]),Object(r["createVNode"])(G),Object(r["withDirectives"])((Object(r["openBlock"])(),Object(r["createBlock"])(E,null,{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(P,null,{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(D,{onClick:y.onCreateRemark},{default:Object(r["withCtx"])((function(){return[V]})),_:1},8,["onClick"])]})),_:1})]})),_:1})),[[X,["SYS_OWNER","GROUP_OWNER?groupId="+y.state.groupId,"GROUP_MEMBER?groupId="+y.state.groupId]]])]})),_:1},8,["modelValue"])]})),_:1})]})),_:1})]))}var C=n("1da1"),x=(n("d3b7"),n("159b"),n("96cf"),n("6c02")),D=(n("3ca3"),n("ddb0"),n("2b3d"),n("9861"),n("1c1e")),S="/api/v1.0",R=function(e,t){return D["a"].get(S+"/projects/"+e+"/documents",{params:t})},P=function(e){return D["a"].post(S+"/projects/"+e+"/documents")},_=function(e,t){return D["a"].get(S+"/projects/"+e+"/document_versions",{params:t})},B=function(e,t,n,r){return E(S+"/projects/"+e+"/document_files",t,n,r)};function E(e,t,n,r){D["a"].get(e,{responseType:"blob",params:t}).then((function(e){var t=window.URL||window.webkitURL||window,a=document.createElement("a");a.href=t.createObjectURL(new Blob([e])),a.download=n+".md",document.body.appendChild(a),a.click(),r()})).catch((function(){return r()}))}var U=n("3ef4"),I=n("fc88"),L=n("53446"),T=n("0480"),F="/api/v1.0",q=function(e,t,n){return D["a"].delete(F+"/groups/"+e+"/projects/"+t+"/remarks/"+n)},z=function(e,t,n){return D["a"].post(F+"/groups/"+e+"/projects/"+t+"/remarks",n)},A=function(e,t,n){return D["a"].get(F+"/groups/"+e+"/projects/"+t+"/remarks",{params:n})},H={setup:function(){var e=Object(x["c"])(),t=Object(r["reactive"])({databaseDocumentVersionFilter:{page:0,size:10},databaseDocumentVersions:[],databaseDocumentVersionTotalPages:0,databaseDocumentFilter:{version:null},databaseDocument:null,toc:[],init:!1,loadings:{handleSync:!1,loadingVersions:!1,export:!1},projectId:null,groupId:null});t.projectId=e.params.projectId,t.groupId=e.params.groupId;var n=Object(r["computed"])((function(){return!t.databaseDocument&&t.init})),a=Object(r["computed"])((function(){return!t.databaseDocument&&!t.init})),o=function(e,t){Object(U["a"])({showClose:!0,message:t,type:e,duration:3e3})},c=function(){var n=Object(C["a"])(regeneratorRuntime.mark((function n(){var r,a;return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:return n.next=2,_(e.params.projectId);case 2:return r=n.sent,t.databaseDocumentVersions=r.data.content,t.databaseDocumentVersionTotalPages=r.data.totalPages,n.next=7,R(e.params.projectId);case 7:a=n.sent,a.errCode?o("error","同步失败:"+a.errMessage):a.data?(t.databaseDocument=a.data,i(a.data)):o("warn","无可用数据"),t.init=!0;case 10:case"end":return n.stop()}}),n)})));return function(){return n.apply(this,arguments)}}(),i=function(e){var n=[];n.push({name:"overview",child:[]}),e.tables.forEach((function(e){var t=[];n.push({name:e.name,child:t})})),t.toc=n},s=function(e){var t=document.getElementById(e);if(t){var n=-100,r=t.offsetTop,a=t.offsetParent;while(null!==a)r+=a.offsetTop,a=a.offsetParent;window.scrollTo({top:r+n,behavior:"smooth"})}},l=function(e){return null==e.decimalDigits?e.type+"("+e.size+")":e.type+"("+e.size+", "+e.decimalDigits+")"},u=function(){var n=Object(C["a"])(regeneratorRuntime.mark((function n(){var r;return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:return t.loadings.loadingVersions=!0,n.next=3,R(e.params.projectId,t.databaseDocumentFilter);case 3:r=n.sent,r.data?(t.databaseDocument=r.data,i(r.data),o("success","切换成功")):o("warn","无可用数据"),t.loadings.loadingVersions=!1;case 6:case"end":return n.stop()}}),n)})));return function(){return n.apply(this,arguments)}}(),d=function(){var n=e.params.projectId;t.loadings.handleSync=!0,P(n).then((function(e){e.errCode||(c(),o("success","同步成功")),t.loadings.handleSync=!1})).catch((function(){return t.loadings.handleSync=!1}))},h=function(){var n=e.params.projectId;t.loadings.export=!0,B(n,{version:t.databaseDocumentFilter.version},t.databaseDocument.databaseName,(function(){return t.loadings.export=!1}))},f=p(Object(C["a"])(regeneratorRuntime.mark((function n(){var r;return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(t.loadings.loadingVersions=!0,!(t.databaseDocumentVersionFilter.page+10&&r.data.content.forEach((function(e){return t.databaseDocumentVersions.push(e)}));case 8:t.loadings.loadingVersions=!1;case 9:case"end":return n.stop()}}),n)}))),800);function p(e,t){var n=null;return function(){var r=this,a=arguments;n&&clearTimeout(n),n=setTimeout((function(){e.apply(r,a)}),t)}}c();var b=Object(r["reactive"])({isShowDrawer:!1,formData:{remark:null},pageFilter:{page:0,size:5,tableName:null,columnName:null},pageData:{content:[],page:0,size:10,totalPages:0}}),m=function(t,n){b.isShowDrawer=!0,b.pageFilter.tableName=t||null,b.pageFilter.columnName=n||null;var r=e.params.projectId,a=e.params.groupId;A(a,r,b.pageFilter).then((function(e){b.pageData=e.data,b.pageData.page=e.data.number+1}))},j=function(t){b.pageFilter.page=t-1;var n=e.params.projectId,r=e.params.groupId;A(r,n,b.pageFilter).then((function(e){b.pageData=e.data,b.pageData.page=e.data.number+1}))},O=function(){if(b.formData.remark&&""!=b.formData.remark){var t=e.params.projectId,n=e.params.groupId,r={tableName:b.pageFilter.tableName,columnName:b.pageFilter.columnName,remark:b.formData.remark};z(n,t,r).then((function(e){e.errCode||(b.formData.remark=null,o("success","提交成功"),j(1))}))}else o("warning","内容不能为空")},g=function(t){var n=e.params.projectId,r=e.params.groupId;q(r,n,t).then((function(e){e.errCode||(o("success","删除成功"),j(1))}))};return{Delete:I["a"],More:L["a"],Edit:T["a"],state:t,isShowNoDataPage:n,isShowLoadingPage:a,onClickToc:s,columnTypeFormat:l,loadMoreDocumentVersions:f,onProjectDocumentVersionChange:u,onSyncProjectDocument:d,onDocumentExport:h,remarkData:b,showRemarkDrawer:m,onRemarkPageChange:j,onCreateRemark:O,onDeleteRemark:g}}},M=(n("7817"),n("6b0d")),Y=n.n(M);const G=Y()(H,[["render",y]]);t["default"]=G},"0d3b":function(e,t,n){var r=n("d039"),a=n("b622"),o=n("c430"),c=a("iterator");e.exports=!r((function(){var e=new URL("b?a=1&b=2&c=3","http://a"),t=e.searchParams,n="";return e.pathname="c%20d",t.forEach((function(e,r){t["delete"]("b"),n+=r+e})),o&&!e.toJSON||!t.sort||"http://a/c%20d?a=1&c=3"!==e.href||"3"!==t.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!t[c]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("http://тест").host||"#%D0%B1"!==new URL("http://a#б").hash||"a1c3"!==n||"x"!==new URL("http://x",void 0).host}))},"2b3d":function(e,t,n){"use strict";n("3ca3");var r,a=n("23e7"),o=n("83ab"),c=n("0d3b"),i=n("da84"),s=n("0366"),l=n("e330"),u=n("37e8"),d=n("6eeb"),h=n("19aa"),f=n("1a2d"),p=n("60da"),b=n("4df4"),m=n("4dae"),j=n("6547").codeAt,O=n("5fb2"),g=n("577e"),w=n("d44e"),v=n("9861"),k=n("69f3"),N=k.set,V=k.getterFor("URL"),y=v.URLSearchParams,C=v.getState,x=i.URL,D=i.TypeError,S=i.parseInt,R=Math.floor,P=Math.pow,_=l("".charAt),B=l(/./.exec),E=l([].join),U=l(1..toString),I=l([].pop),L=l([].push),T=l("".replace),F=l([].shift),q=l("".split),z=l("".slice),A=l("".toLowerCase),H=l([].unshift),M="Invalid authority",Y="Invalid scheme",G="Invalid host",W="Invalid port",J=/[a-z]/i,$=/[\d+-.a-z]/i,Q=/\d/,K=/^0x/i,X=/^[0-7]+$/,Z=/^\d+$/,ee=/^[\da-f]+$/i,te=/[\0\t\n\r #%/:<>?@[\\\]^|]/,ne=/[\0\t\n\r #/:<>?@[\\\]^|]/,re=/^[\u0000-\u0020]+|[\u0000-\u0020]+$/g,ae=/[\t\n\r]/g,oe=function(e){var t,n,r,a,o,c,i,s=q(e,".");if(s.length&&""==s[s.length-1]&&s.length--,t=s.length,t>4)return e;for(n=[],r=0;r1&&"0"==_(a,0)&&(o=B(K,a)?16:8,a=z(a,8==o?1:2)),""===a)c=0;else{if(!B(10==o?Z:8==o?X:ee,a))return e;c=S(a,o)}L(n,c)}for(r=0;r=P(256,5-t))return null}else if(c>255)return null;for(i=I(n),r=0;r6)return;r=0;while(h()){if(a=null,r>0){if(!("."==h()&&r<4))return;d++}if(!B(Q,h()))return;while(B(Q,h())){if(o=S(h(),10),null===a)a=o;else{if(0==a)return;a=10*a+o}if(a>255)return;d++}s[l]=256*s[l]+a,r++,2!=r&&4!=r||l++}if(4!=r)return;break}if(":"==h()){if(d++,!h())return}else if(h())return;s[l++]=t}else{if(null!==u)return;d++,l++,u=l}}if(null!==u){c=l-u,l=7;while(0!=l&&c>0)i=s[l],s[l--]=s[u+c-1],s[u+--c]=i}else if(8!=l)return;return s},ie=function(e){for(var t=null,n=1,r=null,a=0,o=0;o<8;o++)0!==e[o]?(a>n&&(t=r,n=a),r=null,a=0):(null===r&&(r=o),++a);return a>n&&(t=r,n=a),t},se=function(e){var t,n,r,a;if("number"==typeof e){for(t=[],n=0;n<4;n++)H(t,e%256),e=R(e/256);return E(t,".")}if("object"==typeof e){for(t="",r=ie(e),n=0;n<8;n++)a&&0===e[n]||(a&&(a=!1),r===n?(t+=n?":":"::",a=!0):(t+=U(e[n],16),n<7&&(t+=":")));return"["+t+"]"}return e},le={},ue=p({},le,{" ":1,'"':1,"<":1,">":1,"`":1}),de=p({},ue,{"#":1,"?":1,"{":1,"}":1}),he=p({},de,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),fe=function(e,t){var n=j(e,0);return n>32&&n<127&&!f(t,e)?e:encodeURIComponent(e)},pe={ftp:21,file:null,http:80,https:443,ws:80,wss:443},be=function(e,t){var n;return 2==e.length&&B(J,_(e,0))&&(":"==(n=_(e,1))||!t&&"|"==n)},me=function(e){var t;return e.length>1&&be(z(e,0,2))&&(2==e.length||"/"===(t=_(e,2))||"\\"===t||"?"===t||"#"===t)},je=function(e){return"."===e||"%2e"===A(e)},Oe=function(e){return e=A(e),".."===e||"%2e."===e||".%2e"===e||"%2e%2e"===e},ge={},we={},ve={},ke={},Ne={},Ve={},ye={},Ce={},xe={},De={},Se={},Re={},Pe={},_e={},Be={},Ee={},Ue={},Ie={},Le={},Te={},Fe={},qe=function(e,t,n){var r,a,o,c=g(e);if(t){if(a=this.parse(c),a)throw D(a);this.searchParams=null}else{if(void 0!==n&&(r=new qe(n,!0)),a=this.parse(c,null,r),a)throw D(a);o=C(new y),o.bindURL(this),this.searchParams=o}};qe.prototype={type:"URL",parse:function(e,t,n){var a,o,c,i,s=this,l=t||ge,u=0,d="",h=!1,p=!1,j=!1;e=g(e),t||(s.scheme="",s.username="",s.password="",s.host=null,s.port=null,s.path=[],s.query=null,s.fragment=null,s.cannotBeABaseURL=!1,e=T(e,re,"")),e=T(e,ae,""),a=b(e);while(u<=a.length){switch(o=a[u],l){case ge:if(!o||!B(J,o)){if(t)return Y;l=ve;continue}d+=A(o),l=we;break;case we:if(o&&(B($,o)||"+"==o||"-"==o||"."==o))d+=A(o);else{if(":"!=o){if(t)return Y;d="",l=ve,u=0;continue}if(t&&(s.isSpecial()!=f(pe,d)||"file"==d&&(s.includesCredentials()||null!==s.port)||"file"==s.scheme&&!s.host))return;if(s.scheme=d,t)return void(s.isSpecial()&&pe[s.scheme]==s.port&&(s.port=null));d="","file"==s.scheme?l=_e:s.isSpecial()&&n&&n.scheme==s.scheme?l=ke:s.isSpecial()?l=Ce:"/"==a[u+1]?(l=Ne,u++):(s.cannotBeABaseURL=!0,L(s.path,""),l=Le)}break;case ve:if(!n||n.cannotBeABaseURL&&"#"!=o)return Y;if(n.cannotBeABaseURL&&"#"==o){s.scheme=n.scheme,s.path=m(n.path),s.query=n.query,s.fragment="",s.cannotBeABaseURL=!0,l=Fe;break}l="file"==n.scheme?_e:Ve;continue;case ke:if("/"!=o||"/"!=a[u+1]){l=Ve;continue}l=xe,u++;break;case Ne:if("/"==o){l=De;break}l=Ie;continue;case Ve:if(s.scheme=n.scheme,o==r)s.username=n.username,s.password=n.password,s.host=n.host,s.port=n.port,s.path=m(n.path),s.query=n.query;else if("/"==o||"\\"==o&&s.isSpecial())l=ye;else if("?"==o)s.username=n.username,s.password=n.password,s.host=n.host,s.port=n.port,s.path=m(n.path),s.query="",l=Te;else{if("#"!=o){s.username=n.username,s.password=n.password,s.host=n.host,s.port=n.port,s.path=m(n.path),s.path.length--,l=Ie;continue}s.username=n.username,s.password=n.password,s.host=n.host,s.port=n.port,s.path=m(n.path),s.query=n.query,s.fragment="",l=Fe}break;case ye:if(!s.isSpecial()||"/"!=o&&"\\"!=o){if("/"!=o){s.username=n.username,s.password=n.password,s.host=n.host,s.port=n.port,l=Ie;continue}l=De}else l=xe;break;case Ce:if(l=xe,"/"!=o||"/"!=_(d,u+1))continue;u++;break;case xe:if("/"!=o&&"\\"!=o){l=De;continue}break;case De:if("@"==o){h&&(d="%40"+d),h=!0,c=b(d);for(var O=0;O65535)return W;s.port=s.isSpecial()&&k===pe[s.scheme]?null:k,d=""}if(t)return;l=Ue;continue}return W}d+=o;break;case _e:if(s.scheme="file","/"==o||"\\"==o)l=Be;else{if(!n||"file"!=n.scheme){l=Ie;continue}if(o==r)s.host=n.host,s.path=m(n.path),s.query=n.query;else if("?"==o)s.host=n.host,s.path=m(n.path),s.query="",l=Te;else{if("#"!=o){me(E(m(a,u),""))||(s.host=n.host,s.path=m(n.path),s.shortenPath()),l=Ie;continue}s.host=n.host,s.path=m(n.path),s.query=n.query,s.fragment="",l=Fe}}break;case Be:if("/"==o||"\\"==o){l=Ee;break}n&&"file"==n.scheme&&!me(E(m(a,u),""))&&(be(n.path[0],!0)?L(s.path,n.path[0]):s.host=n.host),l=Ie;continue;case Ee:if(o==r||"/"==o||"\\"==o||"?"==o||"#"==o){if(!t&&be(d))l=Ie;else if(""==d){if(s.host="",t)return;l=Ue}else{if(i=s.parseHost(d),i)return i;if("localhost"==s.host&&(s.host=""),t)return;d="",l=Ue}continue}d+=o;break;case Ue:if(s.isSpecial()){if(l=Ie,"/"!=o&&"\\"!=o)continue}else if(t||"?"!=o)if(t||"#"!=o){if(o!=r&&(l=Ie,"/"!=o))continue}else s.fragment="",l=Fe;else s.query="",l=Te;break;case Ie:if(o==r||"/"==o||"\\"==o&&s.isSpecial()||!t&&("?"==o||"#"==o)){if(Oe(d)?(s.shortenPath(),"/"==o||"\\"==o&&s.isSpecial()||L(s.path,"")):je(d)?"/"==o||"\\"==o&&s.isSpecial()||L(s.path,""):("file"==s.scheme&&!s.path.length&&be(d)&&(s.host&&(s.host=""),d=_(d,0)+":"),L(s.path,d)),d="","file"==s.scheme&&(o==r||"?"==o||"#"==o))while(s.path.length>1&&""===s.path[0])F(s.path);"?"==o?(s.query="",l=Te):"#"==o&&(s.fragment="",l=Fe)}else d+=fe(o,de);break;case Le:"?"==o?(s.query="",l=Te):"#"==o?(s.fragment="",l=Fe):o!=r&&(s.path[0]+=fe(o,le));break;case Te:t||"#"!=o?o!=r&&("'"==o&&s.isSpecial()?s.query+="%27":s.query+="#"==o?"%23":fe(o,le)):(s.fragment="",l=Fe);break;case Fe:o!=r&&(s.fragment+=fe(o,ue));break}u++}},parseHost:function(e){var t,n,r;if("["==_(e,0)){if("]"!=_(e,e.length-1))return G;if(t=ce(z(e,1,-1)),!t)return G;this.host=t}else if(this.isSpecial()){if(e=O(e),B(te,e))return G;if(t=oe(e),null===t)return G;this.host=t}else{if(B(ne,e))return G;for(t="",n=b(e),r=0;r1?arguments[1]:void 0,r=N(t,new qe(e,!1,n));o||(t.href=r.serialize(),t.origin=r.getOrigin(),t.protocol=r.getProtocol(),t.username=r.getUsername(),t.password=r.getPassword(),t.host=r.getHost(),t.hostname=r.getHostname(),t.port=r.getPort(),t.pathname=r.getPathname(),t.search=r.getSearch(),t.searchParams=r.getSearchParams(),t.hash=r.getHash())},Ae=ze.prototype,He=function(e,t){return{get:function(){return V(this)[e]()},set:t&&function(e){return V(this)[t](e)},configurable:!0,enumerable:!0}};if(o&&u(Ae,{href:He("serialize","setHref"),origin:He("getOrigin"),protocol:He("getProtocol","setProtocol"),username:He("getUsername","setUsername"),password:He("getPassword","setPassword"),host:He("getHost","setHost"),hostname:He("getHostname","setHostname"),port:He("getPort","setPort"),pathname:He("getPathname","setPathname"),search:He("getSearch","setSearch"),searchParams:He("getSearchParams"),hash:He("getHash","setHash")}),d(Ae,"toJSON",(function(){return V(this).serialize()}),{enumerable:!0}),d(Ae,"toString",(function(){return V(this).serialize()}),{enumerable:!0}),x){var Me=x.createObjectURL,Ye=x.revokeObjectURL;Me&&d(ze,"createObjectURL",s(Me,x)),Ye&&d(ze,"revokeObjectURL",s(Ye,x))}w(ze,"URL"),a({global:!0,forced:!c,sham:!o},{URL:ze})},"4dae":function(e,t,n){var r=n("da84"),a=n("23cb"),o=n("07fa"),c=n("8418"),i=r.Array,s=Math.max;e.exports=function(e,t,n){for(var r=o(e),l=a(t,r),u=a(void 0===n?r:n,r),d=i(s(u-l,0)),h=0;l1?arguments[1]:void 0,m=void 0!==b;m&&(b=a(b,r>2?arguments[2]:void 0));var j,O,g,w,v,k,N=f(t),V=0;if(!N||this==p&&s(N))for(j=u(t),O=n?new this(j):p(j);j>V;V++)k=m?b(t[V],V):t[V],d(O,V,k);else for(w=h(t,N),v=w.next,O=n?new this:[];!(g=o(v,w)).done;V++)k=m?i(w,b,[g.value,V],!0):g.value,d(O,V,k);return O.length=V,O}},"5fb2":function(e,t,n){"use strict";var r=n("da84"),a=n("e330"),o=2147483647,c=36,i=1,s=26,l=38,u=700,d=72,h=128,f="-",p=/[^\0-\u007E]/,b=/[.\u3002\uFF0E\uFF61]/g,m="Overflow: input needs wider integers to process",j=c-i,O=r.RangeError,g=a(b.exec),w=Math.floor,v=String.fromCharCode,k=a("".charCodeAt),N=a([].join),V=a([].push),y=a("".replace),C=a("".split),x=a("".toLowerCase),D=function(e){var t=[],n=0,r=e.length;while(n=55296&&a<=56319&&n>1,e+=w(e/t);while(e>j*s>>1)e=w(e/j),r+=c;return w(r+(j+1)*e/(e+l))},P=function(e){var t=[];e=D(e);var n,r,a=e.length,l=h,u=0,p=d;for(n=0;n=l&&rw((o-u)/k))throw O(m);for(u+=(g-l)*k,l=g,n=0;no)throw O(m);if(r==l){var y=u,C=c;while(1){var x=C<=p?i:C>=p+s?s:C-p;if(y0?arguments[0]:void 0;P(this,new se(e))},ue=le.prototype;if(u(ue,{append:function(e,t){ce(arguments.length,2);var n=_(this);Y(n.entries,{key:v(e),value:v(t)}),n.updateURL()},delete:function(e){ce(arguments.length,1);var t=_(this),n=t.entries,r=v(e),a=0;while(at.key?1:-1})),e.updateURL()},forEach:function(e){var t,n=_(this).entries,r=j(e,arguments.length>1?arguments[1]:void 0),a=0;while(a1?fe(arguments[1]):{})}}),b(U)){var pe=function(e){return p(this,L),new U(e,arguments.length>1?fe(arguments[1]):{})};L.constructor=pe,pe.prototype=L,r({global:!0,forced:!0},{Request:pe})}}e.exports={URLSearchParams:le,getState:_}},"9bdd":function(e,t,n){var r=n("825a"),a=n("2a62");e.exports=function(e,t,n,o){try{return o?t(r(n)[0],n[1]):t(n)}catch(c){a(e,"throw",c)}}},addb:function(e,t,n){var r=n("4dae"),a=Math.floor,o=function(e,t){var n=e.length,s=a(n/2);return n<8?c(e,t):i(e,o(r(e,0,s),t),o(r(e,s),t),t)},c=function(e,t){var n,r,a=e.length,o=1;while(o0)e[r]=e[--r];r!==o++&&(e[r]=n)}return e},i=function(e,t,n,r){var a=t.length,o=n.length,c=0,i=0;while(c\n
\n \n 同步\n \n
\n
\n \n
\n
\n \n \n \n '+item.version+''\"\n :value=\"item.version\"\n >\n \n \n \n \n \n \n \n \n
\n \n \n \n \n {{ state.databaseDocument.databaseName }}\n {{ state.databaseDocument.productName }}\n {{ state.databaseDocument.productVersion }}\n {{ state.databaseDocument.documentVersion }}\n {{ state.databaseDocument.createAt }}\n \n \n \n\n \n \n \n

Overview

\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 {{ item.name }}\n \n
      \n
    • {{ childItem.name }}
    • \n
    \n
  • \n
\n
\n
\n \n \n \n\n \n \n\n \n \n \n