From fd8de45bffc9f2e80300a89d57f4a8c7be2a711d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=95=9D=E8=A3=B3?= <1923740402@qq.com> Date: Wed, 29 Sep 2021 01:55:56 +0800 Subject: [PATCH] feat: add horizontal nav (#45) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: add horizontal nav * workflow: update linter.yml * fix: update * fix: update * fix: update * Rename Link.vue to link.vue * Rename SidebarItem.vue to sidebarItem.vue * Rename Logo.vue to logo.vue * Rename AppMain.vue to appMain.vue * Rename Navbar.vue to navbar.vue * fix: update * fix: update * fix: update * workflow: update linter.yml * fix: update * chore: update * workflow: update * fix: update * fix: update * fix: update * perf: 外链功能实现方式改变 * style: update nav style * perf: 优化国际化 * fix: update * fix: update --- package.json | 10 +- src/assets/iconfont/iconfont.css | 18 +- src/assets/iconfont/iconfont.eot | Bin 2660 -> 0 bytes src/assets/iconfont/iconfont.js | 57 +- src/assets/iconfont/iconfont.json | 11 +- src/assets/iconfont/iconfont.svg | 41 -- src/assets/iconfont/iconfont.ttf | Bin 2492 -> 2880 bytes src/assets/iconfont/iconfont.woff | Bin 1536 -> 1848 bytes src/assets/iconfont/iconfont.woff2 | Bin 1100 -> 1360 bytes src/assets/svg/iconinternationality.svg | 1 + src/config/index.ts | 31 ++ .../components/{AppMain.vue => appMain.vue} | 0 src/layout/components/index.ts | 5 - .../components/{Navbar.vue => navbar.vue} | 249 +++++---- src/layout/components/panel/index.vue | 2 +- src/layout/components/screenfull/index.vue | 10 +- src/layout/components/setting/index.vue | 150 ++++-- src/layout/components/sidebar/Link.vue | 51 -- src/layout/components/sidebar/SidebarItem.vue | 116 ----- src/layout/components/sidebar/horizontal.vue | 254 +++++++++ .../components/sidebar/{Logo.vue => logo.vue} | 33 +- src/layout/components/sidebar/sidebarItem.vue | 104 ++++ .../sidebar/{index.vue => vertical.vue} | 16 +- src/layout/index.vue | 67 ++- src/main.ts | 43 +- src/router/index.ts | 13 +- src/style/element-ui.scss | 10 +- src/style/index.scss | 10 - src/style/sidebar.scss | 491 ++++++++++++++---- src/utils/link.ts | 12 + yarn.lock | 191 +++++-- 31 files changed, 1314 insertions(+), 682 deletions(-) delete mode 100644 src/assets/iconfont/iconfont.eot delete mode 100644 src/assets/iconfont/iconfont.svg create mode 100644 src/assets/svg/iconinternationality.svg rename src/layout/components/{AppMain.vue => appMain.vue} (100%) delete mode 100644 src/layout/components/index.ts rename src/layout/components/{Navbar.vue => navbar.vue} (57%) delete mode 100644 src/layout/components/sidebar/Link.vue delete mode 100644 src/layout/components/sidebar/SidebarItem.vue create mode 100644 src/layout/components/sidebar/horizontal.vue rename src/layout/components/sidebar/{Logo.vue => logo.vue} (78%) create mode 100644 src/layout/components/sidebar/sidebarItem.vue rename src/layout/components/sidebar/{index.vue => vertical.vue} (92%) create mode 100644 src/utils/link.ts diff --git a/package.json b/package.json index 2e03da190..d8c82aa94 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "dayjs": "^1.10.6", "dotenv": "^8.2.0", "echarts": "^5.1.2", - "element-plus": "^1.1.0-beta.12", + "element-plus": "^1.1.0-beta.16", "element-resize-detector": "^1.2.3", "font-awesome": "^4.7.0", "lodash-es": "^4.17.21", @@ -40,10 +40,10 @@ "path-to-regexp": "^6.2.0", "pinia": "^2.0.0-rc.6", "resize-observer-polyfill": "^1.5.1", - "responsive-storage": "^1.0.9", + "responsive-storage": "^1.0.10", "sortablejs": "1.13.0", "v-contextmenu": "^3.0.0", - "vue": "3.2.11", + "vue": "^3.2.19", "vue-i18n": "^9.2.0-beta.3", "vue-json-pretty": "^2.0.2", "vue-router": "^4.0.11", @@ -66,7 +66,7 @@ "@typescript-eslint/parser": "^4.31.0", "@vitejs/plugin-vue": "^1.6.0", "@vitejs/plugin-vue-jsx": "^1.1.7", - "@vue/compiler-sfc": "3.2.11", + "@vue/compiler-sfc": "^3.2.19", "@vue/eslint-config-prettier": "^6.0.0", "@vue/eslint-config-typescript": "^7.0.0", "autoprefixer": "^10.2.4", @@ -91,7 +91,7 @@ "stylelint-order": "^4.1.0", "typescript": "^4.4.2", "unplugin-element-plus": "^0.0.1", - "vite": "^2.5.7", + "vite": "^2.5.10", "vite-plugin-mock": "^2.9.6", "vite-plugin-style-import": "^1.2.1", "vite-svg-loader": "^2.2.0", diff --git a/src/assets/iconfont/iconfont.css b/src/assets/iconfont/iconfont.css index 1a23f4037..4aa27e6c3 100644 --- a/src/assets/iconfont/iconfont.css +++ b/src/assets/iconfont/iconfont.css @@ -1,14 +1,8 @@ @font-face { - font-family: "iconfont"; - src: url("iconfont.eot?t=1619360751585"); /* IE9 */ - src: url("iconfont.eot?t=1619360751585#iefix") format("embedded-opentype"), - /* IE6-IE8 */ - url("data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAARMAAsAAAAACbwAAAP9AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDQAqGEIRiATYCJAMYCw4ABCAFhG0Hfhs2CMgOJS2d2ECiAwlgBN+vlf0+zE5mg6wAXeJZIjpmuSejwkZFpjyxij57rCLU/p9b+c8NWt6VZsJElIM/LOtvdta6uELEuI1RpSiTq877eC1W5aXc/38/V+f5b2lrettv68Xkvj8zA0+cJTJJQyKSxKSSKBWPlNixsM5M+mTE89a4m0BnrRop+8ZmViBbIQ4KxE1DVyC7cisjwtDamp4zi3ihatOz9BfAc//xMQNNkU1SM3Hk4cujGgyMi5MjaYPhCecti35/94OKjG1AIR72hm9Li+Vt0nSLYro9YHl8K0nj4vjWyaffTiaTMMEW0xUVO53ZUn8t//CqJBMNgbPB31+pjC/TNMH4FprC+FaayuRTmsTkiFuGvdnj1KXAOIiV4K+OJFWaiyg0Ta9XlNpZFnNMMU87Fu6JpEd7eVb2opxYflpfv3a6POca5EdfirMurHNGCE8kd+I1Aga56YZpli8QTd2pkM13zTZ3LWH/yp07FYsroO6K+8wWApapQmIJS/sos3zFfAfHn7h7YNkyBXLpDpx4e1dclrGWJZBjHTZlH7GTZu5+x+JBl122Uu7Dnneswsb7GzdAYdAeAQNsuPCgpUXf26No0Vtakrt6EdLv73FsGfVc+stJczdJknB3izcB36+MxPaRNRuxkhDbHm3uWlgXdtH0nPRZONzVMmLbhDTJuGaPNCfq0vWC2f87RVXNo+ZKmG1whgeqbK2MNlctwFnlMtis7d3MsMNhGBuNtnQt7IjdW4k7NbE3+trR+Ch7WcWwpjkOHUkI4nbFjG3xcHdz1HEIabtS38eCpsmEOO2WrO1tMUMd5tprJzKSyJyclDN2xNNTI/96bFx+DY/OZ1M/Agzf5q9pwwDDd2mR2fk3+hv//gtHjxX1/Gv7BYy+e/TXTxieKPKA/wJB1v9p9MQFZWkUnqbM59f7CDSOyHhvg3RyEX+W+EJf98UsIXcTWksyJD1rIGutYxf+Nqj6dmQarevsprPVOM7vW4RJE2UWtjjLIMz3BpK5PkA23x678L9AtdRvaMyPNOicjLIr9m0II3eYocJRk1bjkqEG/FT5eG7oXUI97FVYafRSgixk5KTGuoZmbRz9yPZxTCiiN3FOJcoCPmmM3Q+93oAUZAE3qrzOxXmwq76e9r1SnRrwQa69GKTgkEayKk5iUAX4Ubs0l9t6/yVIF+alYCPzLlQJxIQYG5c0qtNAYI+jnzTvuWwfEqFrwnF0th/FBPhIxhBEXlkOkAT7d3NDKq6Oa4tiUJd6Po5Sse74jO9VXgcdcdUmUuQoUaOJnt4Dl+JXXeEyPxSI1voUw1/7MCwcm0NW4TI0Df09vyvCmMFradjrDakM0Z+bXAAAAAA=") - format("woff2"), - url("iconfont.woff?t=1619360751585") format("woff"), - url("iconfont.ttf?t=1619360751585") format("truetype"), - /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */ - url("iconfont.svg?t=1619360751585#iconfont") format("svg"); /* iOS 4.1- */ + font-family: "iconfont"; /* Project id 2208059 */ + src: url("iconfont.woff2?t=1632557807050") format("woff2"), + url("iconfont.woff?t=1632557807050") format("woff"), + url("iconfont.ttf?t=1632557807050") format("truetype"); } .iconfont { @@ -19,6 +13,10 @@ -moz-osx-font-smoothing: grayscale; } +.team-iconinternationality::before { + content: "\e67a"; +} + .team-iconshanchu::before { content: "\e617"; } diff --git a/src/assets/iconfont/iconfont.eot b/src/assets/iconfont/iconfont.eot deleted file mode 100644 index e74bc7e7a1ee7a329978f77e17d5646e107461d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2660 zcmd^B&2Lmy6hG&E+}F+!%2=mUjlk4mn?RX?PT#aaLJc5I3;_h}!f4De^X3ERD>JWH z5+P+_)P)gtVu*{fQ6SO8r6dq=VWi!;@dIL5OqwV$EHo~dslWT~8%l@%2fmqm-|zhH z`MBr2`|i7$0MYesA|{RGrID$70L*!o=-?40uk;=b@zBV_`zvf4ZJ+|BsX}GSdcBK* z^>maR%FzrJDMd9feKZZGMs;XQ-6-v(812BwTK1r2&>+o`PCKTKy|MS3*0&EpPJrEe z_*i^&_b0E_A-@lKI$cUtzqt104CFu2Zsv-ov$H4vd6!7Pjh5>LC&q}ncVqmloVz}^JV$RC5Q)&YOX$hygvWrr|8V5cJ3YJqrl8XO?dqk! zq>{QX&l&IpvCDs4%9Ehi$&^|i8z4MWTJ~f$9-vJ$LcIUL!Q-%0j@1Yk3%L|HU&5Fi zWiX66DHgp!d>#?Hw2w7pNS~@Z|3RY++m$tgu~pZR?5i1ir4d;=r}D?#=b+$cFGH=> zK+A08Ivi0d?D{rku+n-2cVr3PpuLa-UPZJ&nf6y)rG%Kq6xmg*|E;P@3lAHv*`>S22ZtB5?v61LG9th!| z2q!{=;la=VhX?G0od|^o?Lm9MpyubTh1}v|j>j}=EiC48i#(>!J;JmfWqE8-%R+7@ zBz+NDt6~HwM3Kial*5p6&t5Fsiz{PDuhP3lGLnp_Vl)#nv~=IR2$cmyRC(Oczt{Is zFAdYnbeOP@aEyC+c&LZPX0}A%X6{Q4>(+Xf5`;;P^d%=bIrP%_9**;PGS1K)9uhtL zY+vtqawyI(ig08TOGW6#nadnB?8}yw5Mtgo3~|e}IB;7ShCMIDn6NI}Mi3>pxcj!y zJu+cg^R@|6d}bTExNV9E2Tglk`Otp!ZKYaL*_y59lPW5V_!pd!^v!&(b=5Nw<}GU_ zn5xB1{f0jIWG&XnXV`3)U~Fj6FH7X9nvEvyC(4p|T&l(d@?S7TKhl}_%IdO(;6BT` zGHwR7e#^Xr#3rtQ8|QTZmX#FZiZr=nTFpyc)>jiKO204{JU!D)YIi#s%i3?6@MlbluzwpJ-c55S>QELNh`TIHmZc4K+ht?r7)WgyAN(v=dn`F%*+ z!D+)qpP?w7pws9(&nAJVnAInhPW?`K?Ndyr))eMY_Rc$<^QqG*oQp;=OBd&*C|V8Y zp%Tym|McYG%v1!9Qq>zf2|sCQ$0+YvRcRN+@oS&9+WIl?6jqY!#M^&ym*;}DF2Ne> z*sDzzY>`#Zr^@O4Om973d2f3uRVZ)AV{~zMYTzWraJOe?ip6@m<~ZfR I3Y6jg19pd<+yDRo diff --git a/src/assets/iconfont/iconfont.js b/src/assets/iconfont/iconfont.js index 92759da56..840c24b08 100644 --- a/src/assets/iconfont/iconfont.js +++ b/src/assets/iconfont/iconfont.js @@ -4,13 +4,15 @@ l, n, o, - i, - a = - '', - d = (d = document.getElementsByTagName("script"))[ - d.length - 1 - ].getAttribute("data-injectcss"); - if (d && !e.__iconfont__svg__cssinject__) { + i = + '', + h = (h = document.getElementsByTagName("script"))[ + h.length - 1 + ].getAttribute("data-injectcss"), + a = function (e, t) { + t.parentNode.insertBefore(e, t); + }; + if (h && !e.__iconfont__svg__cssinject__) { e.__iconfont__svg__cssinject__ = !0; try { document.write( @@ -23,20 +25,26 @@ function m() { o || ((o = !0), l()); } + function d() { + try { + n.documentElement.doScroll("left"); + } catch (e) { + return void setTimeout(d, 50); + } + m(); + } (t = function () { - var e, t, c, l; - ((l = document.createElement("div")).innerHTML = a), - (a = null), - (c = l.getElementsByTagName("svg")[0]) && - (c.setAttribute("aria-hidden", "true"), - (c.style.position = "absolute"), - (c.style.width = 0), - (c.style.height = 0), - (c.style.overflow = "hidden"), - (e = c), - (t = document.body).firstChild - ? ((l = e), (c = t.firstChild).parentNode.insertBefore(l, c)) - : t.appendChild(e)); + var e, t; + ((t = document.createElement("div")).innerHTML = i), + (i = null), + (e = t.getElementsByTagName("svg")[0]) && + (e.setAttribute("aria-hidden", "true"), + (e.style.position = "absolute"), + (e.style.width = 0), + (e.style.height = 0), + (e.style.overflow = "hidden"), + (t = e), + (e = document.body).firstChild ? a(t, e.firstChild) : e.appendChild(t)); }), document.addEventListener ? ~["complete", "loaded", "interactive"].indexOf(document.readyState) @@ -49,14 +57,7 @@ ((l = t), (n = e.document), (o = !1), - (i = function () { - try { - n.documentElement.doScroll("left"); - } catch (e) { - return void setTimeout(i, 50); - } - m(); - })(), + d(), (n.onreadystatechange = function () { "complete" == n.readyState && ((n.onreadystatechange = null), m()); })); diff --git a/src/assets/iconfont/iconfont.json b/src/assets/iconfont/iconfont.json index 18d466417..1ffacc048 100644 --- a/src/assets/iconfont/iconfont.json +++ b/src/assets/iconfont/iconfont.json @@ -1,10 +1,17 @@ { "id": "2208059", - "name": "CURD-TS", + "name": "pure-admin", "font_family": "iconfont", "css_prefix_text": "team-icon", - "description": "增删查改xi't", + "description": "pure-admin", "glyphs": [ + { + "icon_id": "18367956", + "name": "中英文2 中文", + "font_class": "internationality", + "unicode": "e67a", + "unicode_decimal": 59002 + }, { "icon_id": "6184565", "name": "删除", diff --git a/src/assets/iconfont/iconfont.svg b/src/assets/iconfont/iconfont.svg deleted file mode 100644 index 688f49eca..000000000 --- a/src/assets/iconfont/iconfont.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - -Created by iconfont - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/assets/iconfont/iconfont.ttf b/src/assets/iconfont/iconfont.ttf index 81c2a7655cca28748b05705e3728e1652b3f5667..501d8efbaae8fe95cc5493265844684f0df9c4ce 100644 GIT binary patch literal 2880 zcmd^B-ESP#6+dV0?96)C#9rIG>j1WQyks{dwm05S7t(~1I01p6h2SC@wO!V;AJKkT zyW`Y`s&&*p6j7vPUtFT`n%w4SQtkG!|DrNvjTiES%8v**;_WHFS4IKVA`5o@(*2~C43_4#)k-Ok_>L#T zCanyF?Ho2=B|c9cto0>j6V~52BmaYv3{QnT0_YvC?-u75>HT(i`4t@FnGd^xJt=?1&1iqclqo(-V{@8V-fCxqU|5nAC!S zkx9fk zX*#rjYF_!)=wNsM$g2x1IKpoR!rg0)#@W~2cyW6m)MpsVNPpB&9#n$q`(wG^{W4*6 zo|#NwP~MtMbkFSFKQ(gCaBTLWiQy4{aBTe8boB1-xj^_d|3w+*w?_k=1%7et!Li?u z|J?5%x_EkMc;63xctqC9KL6r5D0EK9bXfGQ9{8PbHAR3GY3=SHoPAU+LqD+QLo!7gYrLCpBVW|NMC697Als(GX z*uLBmPH--pPOx-{$Fu<+2@U76F#uXHJkF8|zGQHn{c7e4-T)~fE@xC#yYA81_o1e$ znae_?6|cCGQT-^s&V4{V5>0`AIpYDUy_WH)+J_!3%zkNd!YH4(?lv*&xO=*tTS!hW z?LPq3Y|qo3K=*3T>H5u)?E1ei-V;Y}u1#-c6MWOk;-0T7l8!}tbqe3Hj+xy$X`$3^ z_1bf)s^364M!8>|TNiywRtOGZksCQrKac938<^eP2EZKmdvY7FfUyBL4Q`!FqED>P zsbI41*|e#Ol2tyx6%z3AisSIhp_H4dZfDz2`b4*ddgnG2k&!8TUVK~;>!9j4Tq-6e zvhoBB(HHL90!Icqo=A4@h33c#PSZWEEb!)-bY&It0ay0mOC;&a8t`wsvJZFTyes<= zaS3OW)jnj1(Jx$?X^_@kS;2eenkx(7AGxv$`H!yb!72T_D{H_zuI!@)zRQ*U6yw6N zrkS_Q#mMukkxHRaFE;8{Z+yxuEm!l+p4uB1%x0_7s7GdJ4)vguX5DP|!nDqol9pAB z6q}7&=G?g6`sv+Sa0`U0J}*o@MO#gUJWz&yt$oq60Ew-ynQw;I*V*c%+bP( zB4|xSszEy8&du3)qem0 literal 2492 zcmd^B&2Lmy6hG&E+}F+!%2;Qn8iA?BHsNCiI`gIt5^4ZxVn{&1E{q=;rf)uQX5M7x z6-y$dER4D^!cGivQ8o%Bnz+;i0xpcSJ2!qnjEhMVCB}uu1vB+`-+cq6^gr-T?|r}X zyT5bJJ?Fi5Q(__t(;VrvbMn|L`@Zaab&rV0!R|YJEH%34!y)m006!}U>c~n z`J9&EBk;Wjdwn%GTjwafj&&(Z)N)m4@A1wVBC$ZERqJlk`+DR=hNyQB*3T05uFoyc z(Q5`wBFwUym6z}tu)qBkd*jW%J%3YJX@9wT=}#$C_vJYQkzn?aCRtoElAxE#^exGT z@FQCGZM7bvO|+f(z`;Yu;i&?v6|R(vIdFl6HMz=Q7*Q3A*&sfT3_aQh8Y-lZ)SZ8) zQHHNZrVe(E>qz0nX?md*UplAi$KK~43#yl?)*7H?H8SRQC1Ee{sezT=+i^#g;0@Xb zJLGpnYsFjJmS&gEEu(titz8U-yx8x}I$Gyr16eegg=MAx_e=JK=uprG^uHBXL-xD1 zRSo<HDl+&uD2@4f!@Mom0bqZbVNb)>$_AeMI!%RsB`%C#+dS{cLfBBqJ^s9k8E_bs^zL=WC}oqDN{VziOyDISdAFC9%shN44}L5>dEX*(T>4%tKYph4|V zIt#_c#Uf`k>MSf4i;JAm=k8X95FictJP4izw>!n2>t_Vdad zGOCQOk<27BsvPaKOfAE=FG8|_jH-_7`nURi>ZcKUo(>bv5l(U+j|}&**vyuQZRS{Z zM7P$nv|vndJeHl{?C^7AdpX5p*%U)NGA#P|$yonbb~we)ifDWjOCfYA<{F0$`?6)F zg_ySuL)am63m}OlVGsD_|W!^?%<5$3q@j3v@$_jBsy4*Ic z_N5-{^Kmp~K$r`@&NQ>yoz;wG9WYJAGpyS(jSACgb{&u_@Zd*uYCBo^c0WOPgAI>nhvuF*BS_bI2*EW5SDuH?=xHR;rxMmJ9LRB_bv3W-9)ttJj4pi`;1 ziF(65>Eyj+$@A*FQz@B9^2xkg#X-LxWjmB35A!r7=med{T&6s^RHK4Fd(f?BjzV9g z8LGgy@!0BW^%T?%YC diff --git a/src/assets/iconfont/iconfont.woff b/src/assets/iconfont/iconfont.woff index 418853fd7f11d616b9e1b3445ab1e09de9365a58..cba3fbd193384d1b3911b982d9b052db8cdbccf5 100644 GIT binary patch literal 1848 zcmY*ZcT|&E7XQA4P68Qn2s#1=2q;Cmpa=|0ktQWe6Br;N0%4FIARxVj<{*eTl+ZK? z5owaa!hoSEeWXbhDbkBVMuxV_ez^P3-gAEEz2EQM`|dsOyn7>Tu3ra005aYyfZ*vW zXz*Wty8nMOwR1280FVz-uR*ZKX39p{*r}*PnlZ#rLC{sQ#FPAqL6DXP@fc|Ra8on= zg3s+pZvcQnv9JRG;Ie;cuO3bIBHjW3ZZ61A1%j3&pUWf}5+O|!;^Gi+ytD8$vOk3i zX|@m-I@M1PZU>T1{Rq$&bqY8ie8Hbch4OMk0M0|ef?_~G0MXwI(z2mC44~XTsK>hX zL4lzZ0N{BK`9L)RIqfD(kyJW~aEm~g^He3&lL#Tf9Dd?lpSe;GDch4kj0duH)r-_F zXz1l6z~91q8{&P1u--{&FhK4aw;6C6OC%ELY<4f3J=#N|B_x!eH`HkLR`vW0WT@Ax zYY@0W-&%PDZ%O(a@~wdVPi!_jIu$fiSABHR69$AXA`Yqat(-po4po$KskC!4Hrh%! z+`=4`H`ylyHD#P{z{p3Ot5@?NO-|HxT&sv7&5BKQ|LZfaLLwHU_cC#{ zD@pVij2g~xSKxEgqkhB2x^-?ZwB=?{(Q%2Xa)*PpV;Dpaj?>Rk<8a~FbF!7mC~&uI5zu>)A^V|J$DPiErUEInTx<%f*Q``JYa z=c?r2HL2cB6N%K)Gq)=ISa%jtslXDs<3VeR!d&}J;_RR@Gs=w^n!L0o6BA4b*?m9P zwj*JLb~>tApQH7m2PgKyrbgZTU-Pyljj~+7HY|DnSv27Hx1{?CJ}AVZVK}~WLfKop z>98l&H7rlEW^ApiWORM9YrbJ;c=^#!ubN$ymbQAkTloX+!bd`E7PTEaeY_O)Xyb~_ z3g=A&K68u&D^oKbR}S_AZa0LFaYqR88|&OwtoL0Jn^_h`E%SC$_M6sG&DTaKNjk-1 z>=pCeB-j;O@XU3uA&IH-rOA?t_l~31RYlbrtm<%|vRsO%iVQN0)np@ z_NqH)JX(9A9=XR3z5>QiH^e7+D3&QX3_Y+GExt0he0@|Skna4BS#5Oa*j?b^4d zUo}MjN;CGji!fYj=|=6=NV)ZIRFoj^oS4qazSVn`Q?X&zqI8gJ@IxK%z~q7n3Qa?MX z>GsVhzu(OAajN>l=%O-YoE%=3?#MnW?2D^nsY!MOa&HeEfB*a6dmmU}{^_`Vcjd)F zFMFUJfJIoo=AiyM;lc1M^I(5VO5n!{0Qe3;_3!--&5F}LMs+}r2KRG7(Rw&wii8D0 zvw%n-5ZV$za0ZZoEYZ~!d>(xAIj za`Xb)4NxhiZP{E8E?O`&eI4a5iu4>mFk{-5RhIEKE}J%uyQr9rUbV`~Mt|m8BZp>~ zMNSyOP5zjg44iE(kmv!n>r+#An^%-4J7gR0E52ku4$3>st+$EA)Rw201Qj1v2fw?ZXxUC&Y?h{7-SQMGeCrR@&u9_{)Et}ki4$9&_=69H}2o!XQla^yUFojDSE zd79}!9`0srQ?tH#qHVUAxV{gZLlU?59aZ(aoz@#hBfN#>mL(#fhr^!rz75 z>M6<_FQ#)=|3MZ(5X#k3NOU72O=3|%3h_^46N=A4{x-K(nzQdon9XWaH}iZ*iZYBc z__NIG;r2)!tE@{N8~8AaVnAPEvgQMq0dvpi3&OfHHO%BuxKid*L=5ZIBXpc?fA%pr zksIg)&9Ss0fp%2{kgHR(>6N&tafmPPBbQm0Tj5V;6NHoITV{gi=HBt0?5uuGguCz1 zB)@z`U9Po|Gm+1XiMC{@ees)Zgd>AR-zl8Zv5}KLk{7wdJ6}*hQ H0RaC2%K<1= literal 1536 zcmY*Zc{tQt7(Tz5K^Qx6vqsUqEu*-0nMalhwz&-cCW`Ofm3^PLk%TDuk?0GcuY>T_Q8 z=6609|KEJb0iFOL^Pp-6;dyDceu6|Mtb&>wT485sc0BOtcK|fCL5WQ^KUch?3n?v zc2l3Y1L!kw%?KE4!Y9X>%BfAyiG5uZRNf_)UarP>Ns2C z(|>_IsZdIhH{fOsSsF>z^3=D!9+*kP0-4DsxOY~58@r3BpCK<3CcaSC*>)#(D>2Nn zz*G>$&{gFxL$xBzPCR?8M9B9!;hMFzs~O=9d@+`%IO_ej z`IVdOZrPG1C%bFSl_HvpHQ6sY*r4!o=^#;jc8N`)uF77nhS~+KD8DSMGLwtM2x2 zdtdB++Ecr$OV@U)YiA2PqPCu!F{L!n=xHb%xn>d>`(CJ+ni8rh_qSg^JSA)|-(J6I zeG0iJPvE+y;><+5i_3_qSGwwlq#EOsZQM6297c`_-9t9 z_e9t8Ecw2rt%NJF30X(X^r(Syw#TDhW6_AZr0$)uDXFOUM=gV4AM<;|!=G8VRz=m@ z^2B95(J!sWzG*DOw`veqs9^Pc^}&u;_+{Vg7)8IAXCuH63j~P4B?S23F_CaC3asTj z`w@f*euA%M&K7__Knj9GGQodiQQAB@8U_$+3n|7^`M@`HH5TajBGIrvEN{ccCR^={ z(7#nq>7K1Y5588SB1^vN)Uvnw@0#Ah8K~ZP{1?8JV)azxxVwYIqq;+ zGH^42Mgo0ZkNLik4~8yxyoB(vZtX!jSUkAQ9j7i`vzW_p-*-(vU5p93R3bNg$y#d{OkJ$=Y79vXbZ;Bw1nGBwi_SnW zQ;&kl*DrS_xR6raLyb4baF((kmKWIzLfY2pUiJ)m(%|nYLma}kyi9-MVBg}?7V7083y diff --git a/src/assets/iconfont/iconfont.woff2 b/src/assets/iconfont/iconfont.woff2 index f82f52234a3019b1e216dd1143145fdaaf8b416e..ac2bf64296bd80a8c54bf866c3824b353303e500 100644 GIT binary patch literal 1360 zcmV-W1+V&dPew8T0RR9100mG03jhEB01H3>00ja70RR9100000000000000000000 z0000SR0d!GgH{TNREB2(HUcCA919Qt1Rw>3X9s~18-589m7ML#ejeCvQyS6c+YDD! zHct#wjPqlI?s-1^d)A+;cw}c595Y=2?b2;mdIbLf=ia@pEpuy5m_KFh^ems|U-Hw; zceyT&Qz(UyI4nld00aSm6Cfb%hx?f>N@oLkHi1p8;=NVnMcF@)Kf3}No<)@%$Q^Kt z`>Dt#DWckqtGosTfQEe3f|^rib-;Jg=&B`%1V=PZfVP(`n(r8eV!FXsqy&mh;-1Pu zjz9o(FMSyU94P(fZZto0e}I>zA!J@ zvL0RsR+qEEpv^snV-^4d3MlyJVV`GxzTwMtU%G6Yoh50Rsn! z1fZb`dnyv}d06TM^(Yfg2v8QZ>$CxKAi$UFoM0-sp#Qv3&QI|L5DkzXfSf~QPd-(I zLd1}nVFozP7?1K#7QS(^QQlrb*_b|Bg5#6W5Z~tRNxE@{h?wpr9 zBHycfvQQ)X>CCiK5jwQDs~_oH?z~?|`y3SxabfH0GKJ#HnBy|Q&)Z(*3s~TdHIG=%pJ+RQ@32y1~ z?8{^)oFSbY_ZDt%Xivw96Cte~!$PZje^@s--hkILo(8<3ZQ!`nn@t_yoH*L)?rrya zLc2UC(CK!EwRbw^_Em4!@RV|heRQw5%cC7(*~v5TlNDf{aO=lC{KMd&Jt@-ot9OKN zKbG))!cB>3W@*fJy?M`#ZZllgrv?4J2)yUV=OS+PG4}PZFQ?d?kj71Sni1t&0@nDy zAJp&d{FEdj?zU?K904~@*|0QbY1NvTlW(1i-T1{8zrKBe38xYU0t$_!l>UUFm?}K? z{*fa{a9Mr`oB&eCPZt+EUU|iW$x(&umvtxPIQ5E(#jBplmx+p|$!6ip5?jN+Ag&ad zmoFtMiHYg8E?sIas%&{8wBF(>eKNGAve>*dFDVS%_VOjO=!yt^f=?=cXso8@OCm0_ z3EPS;Z+ml7Wy_PH^<7=|l_qn27@vK-wy0|4#jpc!8TOL6t7z@@HzcZoou)ISDSOfl zH(2IfBJ3q@i5J6Ks*2X$a6^KcSb9L*Wm-*GN$l95mgltu#dy=wuGe3`ruZ%?>_ujY zmjs;G2OjPbumAwIm)UFpV14vM4D2Tk;+ge;{rJIStnQz^8+Lwv!vn*9)xVuy{B$cm zS+##jImLEjgdP5w1h)2nOan|t?q>kGxusJrWn^Rio<$1K;y7R<9_aUQ)*yB_Kq!J* zpkz_NC=$6`m1HkzE=5pZ=2%-K!;_n|c zU0q#Hmztaq3dRnWdoVHvmDsqP^ab_W37RT=AZ3FbG-W-kEifSMaYWwemRW(K=wYtk z4V{aSD6UX)*)ykcRjIi*DP{D734#QMI$&uJ7*Z6doSFOI?*-D<9D$hJk08mah9(D% zQqABlFt8TAkgc-~t;Lv9_fkmYfw><8<`v-T literal 1100 zcmV-S1he~hPew8T0RR9100c|`3jhEB013PR00aF10RR9100000000000000000000 z0000SLIzd3Z3liEHVDWLB`uxUK%xT)UBScGkMMLd3X@ zQKcx8tIqp)Emq~F-2Z<+SLgX}X={4hZ|lY6zCSYqPn;z(Nkbx%#H5la6_1qIv9Qie z`eelO*0`HMXRR73`^IKgAX_003dBuAS0KA`DR*`^**smZ?Hw z2}}DZvwX#T2gjeddtliz1#;;QoOpXzT$ZtxC6HqsHf0~NlVH$Y*~9svVvxbUE*Mc><_Xwh3*lDm2l((mtaY#H@j`pZdkH%XFkcZ)Xx->;0s z_K`Ikv62wm9&PSgSQmED^qllrINa4TV%vl?$+%{ZG$-oP^@7>|J4IE^qvlGOZE%JM zs%)){HdigcS>-a=tnJ;*u)|>(8;!PfE$oQhTZub0u{ZkK(fBBPS;erXISw632;z3d zjBW97cXQNn2x+@g-^YTc$%HuVmaOe-{!Ar!vMo~X_49aH~Jg@{tHKs74`gU`vr`?d-T^&7@jEdfd2wP*8ger#06z( z6rQHc=hyoPG>*u4Z-aDl5r3BWLSOgAEFpIjT1zq{J!>Fqtz#GdHmLe`WE!pO?54BT zIL_}|gh>-+7PdIcAk6m$lDR%WHs2n*@V`K{)Ng3ak2L6$kO#d)x+zMl5IQk@#`L9V?Rq~MT7vMNquPzCr=yEK>EdjBOz7v`m4Bl9j)3B-gL z8<#Yy(?DR4qn|YIxojU2p=-i%bhaPG1o%kC5JX;C4v+-G7Izo diff --git a/src/assets/svg/iconinternationality.svg b/src/assets/svg/iconinternationality.svg new file mode 100644 index 000000000..e9e30a69e --- /dev/null +++ b/src/assets/svg/iconinternationality.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/config/index.ts b/src/config/index.ts index e51b86a60..9f12da4f4 100644 --- a/src/config/index.ts +++ b/src/config/index.ts @@ -1,3 +1,5 @@ +import { App } from "vue"; +import axios from "axios"; let config: object = {}; const setConfig = (cfg?: unknown) => { @@ -22,4 +24,33 @@ const getConfig = (key?: string) => { return config; }; +// 获取项目动态全局配置 +export const getServerConfig = async (app: App): Promise => { + app.config.globalProperties.$config = getConfig(); + return axios({ + baseURL: "", + method: "get", + url: + process.env.NODE_ENV === "production" + ? "/manages/serverConfig.json" + : "/serverConfig.json" + }) + .then(({ data: config }) => { + let $config = app.config.globalProperties.$config; + // 自动注入项目配置 + if (app && $config && typeof config === "object") { + $config = Object.assign($config, config); + app.config.globalProperties.$config = $config; + // 设置全局配置 + setConfig($config); + } + // 设置全局baseURL + app.config.globalProperties.$baseUrl = $config.baseURL; + return $config; + }) + .catch(() => { + throw "请在public文件夹下添加serverConfig.json配置文件"; + }); +}; + export { getConfig, setConfig }; diff --git a/src/layout/components/AppMain.vue b/src/layout/components/appMain.vue similarity index 100% rename from src/layout/components/AppMain.vue rename to src/layout/components/appMain.vue diff --git a/src/layout/components/index.ts b/src/layout/components/index.ts deleted file mode 100644 index 9acd04de7..000000000 --- a/src/layout/components/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -export { default as Navbar } from "./Navbar.vue"; -export { default as Sidebar } from "./sidebar/index.vue"; -export { default as AppMain } from "./AppMain.vue"; -export { default as setting } from "./setting/index.vue"; -export { default as tag } from "./tag/index.vue"; diff --git a/src/layout/components/Navbar.vue b/src/layout/components/navbar.vue similarity index 57% rename from src/layout/components/Navbar.vue rename to src/layout/components/navbar.vue index 9b13c751f..b07ceb6b0 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/navbar.vue @@ -8,98 +8,84 @@ -
+
-
- -
- + + + + - +

{{ usename }}

+
@@ -23,15 +22,10 @@ const { isFullscreen, toggle } = useFullscreen(); diff --git a/src/layout/components/setting/index.vue b/src/layout/components/setting/index.vue index 82bd25c48..57e882136 100644 --- a/src/layout/components/setting/index.vue +++ b/src/layout/components/setting/index.vue @@ -1,14 +1,18 @@