(function(){"use strict";var e={3710:function(e,t,n){var r=n(9963),o=n(6902),a=n(137),u=n(837),i=n(9622),s=n(6246),l=(n(4415),n(1327)),c=n(4239),d=n(6252);function m(e,t){const n=(0,d.up)("router-view");return(0,d.wg)(),(0,d.j4)(n)}var p=n(3744);const f={},h=(0,p.Z)(f,[["render",m]]);var g=h,b=n(1836),w=n(3577);const v=["src"],y=["src"];function k(e,t,r,o,a,u){const i=(0,d.up)("el-tooltip");return"mysql"==r.databaseType.toLowerCase()?((0,d.wg)(),(0,d.j4)(i,{key:0,content:r.databaseType,placement:"left"},{default:(0,d.w5)((()=>[(0,d._)("img",{src:n(2357),style:{"max-width":"33px","max-height":"33px"}},null,8,v)])),_:1},8,["content"])):"postgresql"==r.databaseType.toLowerCase()?((0,d.wg)(),(0,d.j4)(i,{key:1,content:r.databaseType,placement:"left"},{default:(0,d.w5)((()=>[(0,d._)("img",{src:n(3609),style:{"max-width":"33px","max-height":"33px"}},null,8,y)])),_:1},8,["content"])):((0,d.wg)(),(0,d.iD)(d.HY,{key:2},[(0,d.Uk)((0,w.zw)(r.databaseType),1)],64))}var _={props:{databaseType:String}};const T=(0,p.Z)(_,[["render",k]]);var j=T,L=n(4890);const S=(0,r.ri)(g);Object.keys(a).forEach((e=>{S.component(e,a[e])})),S.component("database-icon",j),S.directive("require-roles",{mounted(e,t){const n=t.value;b.E.hasAnyRoles(n)||e.parentNode&&e.parentNode.removeChild(e)}}),S.directive("select-more",{updated(e,t){const n=e.querySelector(".select-trigger"),r=n.getAttribute("aria-describedby"),o=document.getElementById(r),a=o.querySelector(".el-scrollbar .el-select-dropdown__wrap");a.addEventListener("scroll",(function(){const e=this.scrollHeight-this.scrollTop-1<=this.clientHeight;e&&t.value()}))}}),u.Z.registerLanguage("javascript",i.Z),S.use(s.Z),S.use(c.Z),S.use(o.Z),S.use(l.Z),S.use(L._),S.mount("#app")},1327:function(e,t,n){n.d(t,{Z:function(){return Y}});var r=n(2119),o=n(6252);function a(e,t,n,r,a,u){const i=(0,o.up)("AppNav"),s=(0,o.up)("el-aside"),l=(0,o.up)("Breadcrumb"),c=(0,o.up)("Avatar"),d=(0,o.up)("el-header"),m=(0,o.up)("router-view"),p=(0,o.up)("el-main"),f=(0,o.up)("el-container");return(0,o.wg)(),(0,o.j4)(f,{class:"databasir"},{default:(0,o.w5)((()=>[(0,o.Wm)(s,null,{default:(0,o.w5)((()=>[(0,o.Wm)(i,{class:"databasir-nav"})])),_:1}),(0,o.Wm)(d,{class:"databasir-main-header"},{default:(0,o.w5)((()=>[(0,o.Wm)(l),(0,o.Wm)(c)])),_:1}),(0,o.Wm)(p,{class:"databasir-main"},{default:(0,o.w5)((()=>[(0,o.Wm)(f,null,{default:(0,o.w5)((()=>[(0,o.Wm)(p,{class:"databasir-main-content"},{default:(0,o.w5)((()=>[(0,o.Wm)(m)])),_:1})])),_:1})])),_:1})])),_:1})}var u=n(3577);const i=(0,o._)("span",null,"Databasir",-1);function s(e,t,n,r,a,s){const l=(0,o.up)("home-filled"),c=(0,o.up)("el-icon"),d=(0,o.up)("el-menu-item"),m=(0,o.up)("el-sub-menu"),p=(0,o.up)("el-menu");return(0,o.wg)(),(0,o.j4)(p,{router:"",collapse:r.isCollapse,mode:"vertical",class:"left-menu"},{default:(0,o.w5)((()=>[(0,o.Wm)(d,{index:"/"},{title:(0,o.w5)((()=>[i])),default:(0,o.w5)((()=>[(0,o.Wm)(c,null,{default:(0,o.w5)((()=>[(0,o.Wm)(l)])),_:1})])),_:1}),((0,o.wg)(!0),(0,o.iD)(o.HY,null,(0,o.Ko)(r.routes,((e,t)=>((0,o.wg)(),(0,o.iD)(o.HY,{key:t},[r.isShowMenu(e)&&e.children.length>0&&e.children.some((e=>!e.hidden))?((0,o.wg)(),(0,o.j4)(m,{key:0,index:e.path},{title:(0,o.w5)((()=>[(0,o.Wm)(c,null,{default:(0,o.w5)((()=>[((0,o.wg)(),(0,o.j4)((0,o.LL)(e.icon)))])),_:2},1024),(0,o._)("span",null,(0,u.zw)(e.meta.nav),1)])),default:(0,o.w5)((()=>[((0,o.wg)(!0),(0,o.iD)(o.HY,null,(0,o.Ko)(e.children,((n,r)=>((0,o.wg)(),(0,o.iD)(o.HY,{key:t+"-"+r},[n.hidden?(0,o.kq)("",!0):((0,o.wg)(),(0,o.j4)(d,{key:0,index:e.path+"/"+n.path},{title:(0,o.w5)((()=>[(0,o._)("span",null,(0,u.zw)(n.meta.nav),1)])),default:(0,o.w5)((()=>[n.icon?((0,o.wg)(),(0,o.j4)(c,{key:0},{default:(0,o.w5)((()=>[((0,o.wg)(),(0,o.j4)((0,o.LL)(n.icon)))])),_:2},1024)):(0,o.kq)("",!0)])),_:2},1032,["index"]))],64)))),128))])),_:2},1032,["index"])):r.isShowMenu(e)?((0,o.wg)(),(0,o.j4)(d,{key:1,index:e.path},{title:(0,o.w5)((()=>[(0,o._)("span",null,(0,u.zw)(e.meta.nav),1)])),default:(0,o.w5)((()=>[(0,o.Wm)(c,null,{default:(0,o.w5)((()=>[((0,o.wg)(),(0,o.j4)((0,o.LL)(e.icon)))])),_:2},1024)])),_:2},1032,["index"])):(0,o.kq)("",!0)],64)))),128))])),_:1},8,["collapse"])}var l=n(2262),c=n(1836),d=n(4239),m={setup(){const e=(0,l.Fl)((()=>d.Z.state.menu.isCollapse)),t=(0,r.tv)(),n=t.options.routes,o=e=>{if(e.hidden)return!1;if(e.meta.requireAnyRoles&&e.meta.requireAnyRoles.length>0){const t=c.E.hasAnyRoles(e.meta.requireAnyRoles);if(!t)return!1}return!0},a=()=>{d.Z.commit("expandMenu")};return{isCollapse:e,isShowMenu:o,expandMenu:a,routes:n}}},p=n(3744);const f=(0,p.Z)(m,[["render",s]]);var h=f;function g(e,t,n,r,a,i){const s=(0,o.up)("fold"),l=(0,o.up)("el-icon"),c=(0,o.up)("el-link"),d=(0,o.up)("el-breadcrumb-item"),m=(0,o.up)("el-breadcrumb");return(0,o.wg)(),(0,o.j4)(m,{separator:"/"},{default:(0,o.w5)((()=>[i.menuIsCollapse?(0,o.kq)("",!0):((0,o.wg)(),(0,o.j4)(d,{key:0},{default:(0,o.w5)((()=>[(0,o.Wm)(c,{onClick:t[0]||(t[0]=e=>i.onFoldMenu()),underline:!1},{default:(0,o.w5)((()=>[(0,o.Wm)(l,null,{default:(0,o.w5)((()=>[(0,o.Wm)(s)])),_:1})])),_:1})])),_:1})),((0,o.wg)(!0),(0,o.iD)(o.HY,null,(0,o.Ko)(i.breadcrumbs,((e,t)=>((0,o.wg)(),(0,o.j4)(d,{key:t,to:e.to},{default:(0,o.w5)((()=>[(0,o.Uk)((0,u.zw)(e.name),1)])),_:2},1032,["to"])))),128))])),_:1})}var b={computed:{breadcrumbs:function(){return"function"===typeof this.$route.meta.breadcrumb?this.$route.meta.breadcrumb(this.$route,this.$store.state):[]},menuIsCollapse(){return this.$store.state.menu.isCollapse}},methods:{onFoldMenu(){this.$store.commit("foldMenu")}}};const w=(0,p.Z)(b,[["render",g]]);var v=w;const y=(0,o.Uk)("个人中心"),k=(0,o.Uk)("注销登陆");function _(e,t,n,r,a,i){const s=(0,o.up)("el-avatar"),l=(0,o.up)("el-dropdown-item"),c=(0,o.up)("el-dropdown-menu"),d=(0,o.up)("el-dropdown");return(0,o.wg)(),(0,o.j4)(d,null,{dropdown:(0,o.w5)((()=>[(0,o.Wm)(c,null,{default:(0,o.w5)((()=>[(0,o.Wm)(l,null,{default:(0,o.w5)((()=>[(0,o.Uk)((0,u.zw)(i.userNickname),1)])),_:1}),(0,o.Wm)(l,{icon:"user",divided:"",onClick:t[0]||(t[0]=e=>i.toProfilePage())},{default:(0,o.w5)((()=>[y])),_:1}),(0,o.Wm)(l,{icon:"back",onClick:t[1]||(t[1]=e=>i.onLogout())},{default:(0,o.w5)((()=>[k])),_:1})])),_:1})])),default:(0,o.w5)((()=>[(0,o.Wm)(s,{size:36,src:i.avatarUrl,icon:"avatar"},null,8,["src"])])),_:1})}var T={computed:{userNickname(){return this.$store.state.user.nickname},avatarUrl(){return this.$store.state.user.avatar}},methods:{onLogout(){c.E.removeUserLoginData(),this.$router.push({path:"/login"})},toProfilePage(){this.$router.push({path:"/profile"})}}};const j=(0,p.Z)(T,[["render",_]]);var L=j,S={components:{AppNav:h,Breadcrumb:v,Avatar:L}};const A=(0,p.Z)(S,[["render",a]]);var N=A;function q(){return{name:"首页",to:{path:"/"}}}function E(){return{name:"项目中心",to:{name:"groupListPage"}}}function P(e){var t="项目组";return e.query.groupName&&(t=e.query.groupName),{name:t,to:{path:"/groups/"+e.params.groupId}}}function x(e){var t="项目文档";e.query.projectName&&(t=e.query.projectName);var n=e.params.projectId,r=e.params.groupId;return{name:t,to:{path:"/groups/"+r+"/projects/"+n+"/documents",query:{projectName:t}}}}function C(){return{name:"用户列表",to:{path:"/users"}}}function D(){return{name:"个人中心",to:{path:"/profile"}}}function I(){return{name:"邮箱设置",to:{path:"/settings/sysEmail"}}}function O(){return{name:"操作日志",to:{path:"/settings/sysLog"}}}function W(){return{name:"登录设置",to:{path:"/settings/sysOauth2"}}}function Z(){return{name:"数据库扩展",to:{path:"/settings/sysDatabaseType"}}}function M(){return{name:"文档模板",to:{path:"/settings/sysDocumentTemplate"}}}const U={index:()=>[q()],groupList:()=>[q(),E()],groupDashboard:(e,t)=>[q(),E(),P(e,t)],groupProjectDocument:(e,t)=>[q(),E(),P(e,t),x(e)],userProfile:()=>[q(),D()],userList:()=>[q(),C()],sysEmailEdit:()=>[q(),I()],sysLog:()=>[q(),O()],sysOauth2:()=>[q(),W()],sysDatabaseType:()=>[q(),Z()],sysDocumentTemplate:()=>[q(),M()]};var R=U;const $=[{path:"/login",component:()=>Promise.all([n.e(269),n.e(139)]).then(n.bind(n,1139)),hidden:!0,meta:{requireAuth:!1}},{path:"/login/oauth2/:id",component:()=>Promise.all([n.e(269),n.e(865)]).then(n.bind(n,8865)),hidden:!0,props:!0,meta:{requireAuth:!1}},{path:"/",hidden:!0,component:N,children:[{path:"",hidden:!0,component:()=>Promise.all([n.e(269),n.e(559)]).then(n.bind(n,1559)),meta:{breadcrumb:R.groupList}}]},{path:"/groups",icon:"Collection",component:N,meta:{nav:"项目中心"},children:[{path:"",name:"groupListPage",hidden:!0,component:()=>Promise.all([n.e(269),n.e(559)]).then(n.bind(n,1559)),meta:{breadcrumb:R.groupList}},{path:":groupId",hidden:!0,component:()=>Promise.all([n.e(269),n.e(431)]).then(n.bind(n,2431)),meta:{breadcrumb:R.groupDashboard}},{path:":groupId/projects/:projectId/documents",hidden:!0,component:()=>Promise.all([n.e(269),n.e(434)]).then(n.bind(n,6434)),meta:{breadcrumb:R.groupProjectDocument}}]},{path:"/users",icon:"List",component:N,meta:{nav:"用户中心",requireAnyRoles:["SYS_OWNER"]},children:[{path:"",hidden:!0,component:()=>Promise.all([n.e(269),n.e(850)]).then(n.bind(n,4850)),meta:{breadcrumb:R.userList}}]},{path:"/profile",icon:"User",component:N,meta:{nav:"个人中心",breadcrumb:R.userProfile},children:[{path:"",hidden:!0,component:()=>Promise.all([n.e(269),n.e(469)]).then(n.bind(n,6469))}]},{path:"/settings",icon:"Setting",component:N,meta:{nav:"系统中心",requireAnyRoles:["SYS_OWNER"]},children:[{path:"sysEmail",icon:"Notification",component:()=>Promise.all([n.e(269),n.e(243)]).then(n.bind(n,1243)),meta:{nav:"邮箱设置",breadcrumb:R.sysEmailEdit}},{path:"sysLog",icon:"Document",component:()=>Promise.all([n.e(269),n.e(99)]).then(n.bind(n,2099)),meta:{nav:"操作日志",breadcrumb:R.sysLog}},{path:"sysOauth2",icon:"Connection",component:()=>Promise.all([n.e(269),n.e(418)]).then(n.bind(n,2418)),meta:{nav:"登陆设置",breadcrumb:R.sysOauth2}},{path:"sysDatabaseType",icon:"office-building",component:()=>Promise.all([n.e(269),n.e(317)]).then(n.bind(n,1317)),meta:{nav:"数据库扩展",breadcrumb:R.sysDatabaseType}},{path:"sysDocumentTemplate",icon:"document-add",component:()=>Promise.all([n.e(269),n.e(33)]).then(n.bind(n,33)),meta:{nav:"文档模板",breadcrumb:R.sysDocumentTemplate}},{path:"sysKey",icon:"Key",hidden:"true",component:N,meta:{nav:"系统秘钥",breadcrumb:R.sysKeyEdit}}]}],H=(0,r.p7)({history:(0,r.PO)(),routes:$});H.beforeEach(((e,t,n)=>{0==e.meta.requireAuth?"/login"==e.path&&c.r.hasAccessToken()?n(t):n():c.r.hasAccessToken()?n():n({path:"/login"})})),H.beforeEach(((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()}));var Y=H},4239:function(e,t,n){var r=n(8637),o=n(1836);const a=(0,r.MT)({state(){const e={user:{nickname:null,usernmae:null,email:null,avatar:null},groupListActiveTab:null,menu:{isCollapse:!0}},t=o.E.loadUserLoginData();return t&&(e.user.nickname=t.nickname,e.user.usernmae=t.usernmae,e.user.email=t.email,e.user.avatar=t.avatar),e},mutations:{userUpdate(e,t){t.nickname&&(e.user.nickname=t.nickname),t.usernmae&&(e.user.usernmae=t.usernmae),t.email&&(e.user.email=t.email),t.avatar&&(e.user.avatar=t.avatar)},foldMenu(e){e.menu.isCollapse=!0},expandMenu(e){e.menu.isCollapse=!1},switchGroupListActiveTab(e,t){t&&(e.groupListActiveTab=t)}}});t["Z"]=a},1836:function(e,t,n){n.d(t,{r:function(){return u},E:function(){return i}});const r="accessToken",o="accessTokenExpireAt",a="userLoginData",u={hasAccessToken(){const e=this.loadAccessToken();return e},hasValidAccessToken(){const e=this.loadAccessToken(),t=window.localStorage.getItem(o);return e&&t?t>(new Date).getTime()-1e4:(console.log("warn: not found accessToken and expireAt key"),!1)},saveAccessToken(e,t){window.localStorage.setItem(r,e),window.localStorage.setItem(o,t)},loadAccessToken(){let e=window.localStorage.getItem(r);return e||null}},i={saveUserLoginData(e){window.localStorage.setItem(r,e.accessToken),window.localStorage.setItem(o,e.accessTokenExpireAt),window.localStorage.setItem(a,JSON.stringify(e))},removeUserLoginData(){window.localStorage.removeItem(a),window.localStorage.removeItem(r),window.localStorage.removeItem(o)},loadUserLoginData(){if(!window.localStorage.getItem(a))return null;const e=window.localStorage.getItem(a);return JSON.parse(e)},hasAnyRoles(e){const t=window.localStorage.getItem(a);if(null==t)return!1;const n=JSON.parse(t);return n.roles.map((e=>e.groupId?e.role+"?groupId="+e.groupId:e.role)).some((t=>e.some((e=>e==t))))},getRefreshToken(){const e=window.localStorage.getItem(a);if(null==e)return null;const t=JSON.parse(e);return t.refreshToken}}},2357:function(e,t,n){e.exports=n.p+"img/MySQL.c8f47618.svg"},3609:function(e,t,n){e.exports=n.p+"img/PostgreSQL.6e3d3a5e.svg"}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var a=t[r]={id:r,loaded:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.loaded=!0,a.exports}n.m=e,function(){var e=[];n.O=function(t,r,o,a){if(!r){var u=1/0;for(c=0;c=a)&&Object.keys(n.O).every((function(e){return n.O[e](r[s])}))?r.splice(s--,1):(i=!1,a0&&e[c-1][2]>a;c--)e[c]=e[c-1];e[c]=[r,o,a]}}(),function(){n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,{a:t}),t}}(),function(){n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}}(),function(){n.f={},n.e=function(e){return Promise.all(Object.keys(n.f).reduce((function(t,r){return n.f[r](e,t),t}),[]))}}(),function(){n.u=function(e){return"js/"+e+"."+{33:"131d3e1c",99:"810cec85",139:"338f8cdc",243:"d82073b3",269:"1b1bbfd9",317:"4a63fcb2",418:"0db44d75",431:"76beed91",434:"5d6222a1",469:"70845a6a",559:"cadf8e67",850:"55b8daee",865:"8a397b0a"}[e]+".js"}}(),function(){n.miniCssF=function(e){return"css/"+e+"."+{33:"babc6736",139:"a7dec339",431:"82a2f213",434:"742131d4",559:"b144be0e",865:"7df1e56e"}[e]+".css"}}(),function(){n.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){var e={},t="databasir:";n.l=function(r,o,a,u){if(e[r])e[r].push(o);else{var i,s;if(void 0!==a)for(var l=document.getElementsByTagName("script"),c=0;c