From e2b524dadb047a84e5f9fe2decc503d91f6c71d1 Mon Sep 17 00:00:00 2001 From: "meilin.huang" <954537473@qq.com> Date: Fri, 12 Apr 2024 17:07:28 +0800 Subject: [PATCH] feat: release1.8.0 --- mayfly_go_web/src/common/config.ts | 2 +- .../src/components/terminal/TerminalBody.vue | 21 +++++++++--------- .../ops/component/ResourceAuthCertEdit.vue | 2 ++ .../tag/application/resouce_auth_cert.go | 4 ++-- server/internal/tag/application/tag_tree.go | 2 +- server/pkg/base/app.go | 8 +++++++ server/pkg/config/app.go | 2 +- server/resources/data/mayfly-go.sqlite | Bin 516096 -> 311296 bytes server/resources/script/sql/mayfly-go.sql | 3 ++- .../sql/{v1.7/v1.7.5.sql => v1.8/v1.8.0.sql} | 0 10 files changed, 27 insertions(+), 17 deletions(-) mode change 100644 => 100755 server/resources/data/mayfly-go.sqlite rename server/resources/script/sql/{v1.7/v1.7.5.sql => v1.8/v1.8.0.sql} (100%) diff --git a/mayfly_go_web/src/common/config.ts b/mayfly_go_web/src/common/config.ts index 00525b16..21ff8131 100644 --- a/mayfly_go_web/src/common/config.ts +++ b/mayfly_go_web/src/common/config.ts @@ -15,7 +15,7 @@ const config = { baseWsUrl: `${(window as any).globalConfig.BaseWsUrl || `${location.protocol == 'https:' ? 'wss:' : 'ws:'}//${getBaseApiUrl()}`}/api`, // 系统版本 - version: 'v1.7.5', + version: 'v1.8.0', }; export default config; diff --git a/mayfly_go_web/src/components/terminal/TerminalBody.vue b/mayfly_go_web/src/components/terminal/TerminalBody.vue index fb239cd6..d6df3528 100644 --- a/mayfly_go_web/src/components/terminal/TerminalBody.vue +++ b/mayfly_go_web/src/components/terminal/TerminalBody.vue @@ -119,9 +119,16 @@ function initTerm() { term.open(terminalRef.value); - initSocket(); + // 注册自适应组件 + const fitAddon = new FitAddon(); + state.addon.fit = fitAddon; + term.loadAddon(fitAddon); + fitTerminal(); + // 注册窗口大小监听器 + useEventListener('resize', debounce(fitTerminal, 400)); - // 注册插件 + initSocket(); + // 注册其他插件 loadAddon(); // 注册自定义快捷键 @@ -169,14 +176,6 @@ function initSocket() { } function loadAddon() { - // 注册自适应组件 - const fitAddon = new FitAddon(); - state.addon.fit = fitAddon; - term.loadAddon(fitAddon); - fitTerminal(); - // 注册窗口大小监听器 - useEventListener('resize', debounce(fitTerminal, 400)); - // 注册搜索组件 const searchAddon = new SearchAddon(); state.addon.search = searchAddon; @@ -218,7 +217,7 @@ function loadAddon() { trzsz .uploadFiles(event.dataTransfer.items) .then(() => console.log('upload success')) - .catch((err) => console.log(err)); + .catch((err: any) => console.log(err)); }); } diff --git a/mayfly_go_web/src/views/ops/component/ResourceAuthCertEdit.vue b/mayfly_go_web/src/views/ops/component/ResourceAuthCertEdit.vue index 115a1ea9..1bb3cbbf 100644 --- a/mayfly_go_web/src/views/ops/component/ResourceAuthCertEdit.vue +++ b/mayfly_go_web/src/views/ops/component/ResourceAuthCertEdit.vue @@ -90,6 +90,8 @@ {{ item.username }} + + {{ item.remark }} diff --git a/server/internal/tag/application/resouce_auth_cert.go b/server/internal/tag/application/resouce_auth_cert.go index caf67f20..767d423a 100644 --- a/server/internal/tag/application/resouce_auth_cert.go +++ b/server/internal/tag/application/resouce_auth_cert.go @@ -272,7 +272,7 @@ func (r *resourceAuthCertAppImpl) GetAccountAuthCert(accountId uint64, authCertT }) var authCerts []*entity.ResourceAuthCert - r.GetRepo().ListByWheres(collx.M{ + r.ListByWheres(collx.M{ "name in ?": collx.ArrayDeduplicate(authCertNames), }, &authCerts) @@ -314,7 +314,7 @@ func (r *resourceAuthCertAppImpl) FillAuthCert(resourceType int8, resources ...e return ac.GetCode() }) var acs []*entity.ResourceAuthCert - r.Repo.ListByWheres(collx.M{"resource_code in ?": resourceCodes, "resource_type = ?": resourceType}, &acs) + r.ListByWheres(collx.M{"resource_code in ?": resourceCodes, "resource_type = ?": resourceType}, &acs) r.FillAuthCertByAcs(acs, resources...) } diff --git a/server/internal/tag/application/tag_tree.go b/server/internal/tag/application/tag_tree.go index eacdf73d..57a6f31c 100644 --- a/server/internal/tag/application/tag_tree.go +++ b/server/internal/tag/application/tag_tree.go @@ -394,7 +394,7 @@ func (p *tagTreeAppImpl) DeleteTagByParam(ctx context.Context, param *DelResourc for _, resourceTag := range resourceTags { // 获取所有关联的子标签 var childrenTag []*entity.TagTree - p.Repo.ListByWheres(collx.M{ + p.ListByWheres(collx.M{ "code_path LIKE ?": resourceTag.CodePath + "%", "type = ?": delTagType, }, &childrenTag) diff --git a/server/pkg/base/app.go b/server/pkg/base/app.go index 75795930..3cab6a7f 100644 --- a/server/pkg/base/app.go +++ b/server/pkg/base/app.go @@ -81,6 +81,10 @@ type App[T model.ModelI] interface { // 根据条件查询数据映射至listModels ListByCond(cond any, listModels any, cols ...string) error + // 根据wheres条件进行过滤 + // @param wheres key -> "age > ?" value -> 10等 + ListByWheres(wheres collx.M, listModels any, cols ...string) error + // PageQuery 分页查询 PageQuery(cond any, pageParam *model.PageParam, toModels any) (*model.PageResult[any], error) @@ -210,6 +214,10 @@ func (ai *AppImpl[T, R]) ListByCond(cond any, listModels any, cols ...string) er return ai.GetRepo().ListByCond(cond, listModels, cols...) } +func (ai *AppImpl[T, R]) ListByWheres(wheres collx.M, listModels any, cols ...string) error { + return ai.GetRepo().ListByWheres(wheres, listModels, cols...) +} + // PageQuery 分页查询 func (ai *AppImpl[T, R]) PageQuery(cond any, pageParam *model.PageParam, toModels any) (*model.PageResult[any], error) { return ai.GetRepo().PageQuery(cond, pageParam, toModels) diff --git a/server/pkg/config/app.go b/server/pkg/config/app.go index d978a714..45ba9e7f 100644 --- a/server/pkg/config/app.go +++ b/server/pkg/config/app.go @@ -4,7 +4,7 @@ import "fmt" const ( AppName = "mayfly-go" - Version = "v1.7.5" + Version = "v1.8.0" ) func GetAppInfo() string { diff --git a/server/resources/data/mayfly-go.sqlite b/server/resources/data/mayfly-go.sqlite old mode 100644 new mode 100755 index 005e8ababc6d95774b08da12927ac4b46a435592..d9f2ff674b16c6343d5df72afd2246ec22e2fab3 GIT binary patch delta 17763 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 literal 516096 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 z zSX@M1=OVuniuWHLSjv_~XsnswrPB;Q?gX3Rrf7%X#JDvq%0{Sn{YQ1P*Cs&DHKz?p0(_IO+F_f4_b6cBMTW z>IjVP*xi5U-rQF3Loc2$p8PReQ%D`@`_tpn@6B9I>iLqSoV!1r8lHmH&WztVCbI4V z7`?v1WXXVh4CMNw3@pk(mX%mlm*2((tJ0)m_hO1q9iRT-q$*1mgfUx$!%_^}$j;7u z<(0Cl8W<+~t7{j)wfl`FGk!M~23#&IkESmTMCr5QhrxW*g#qaEe|L?`JKFH=`hTdG zmi(tBw=90o^RGRt>y9k?$3=MzLA%8eRYwmjE0$`vMhk*Rzyr9anqO3fTzJc94ZtmG;kcaK&3-YjidO;ketT<2) zO(vp=qX*pY1_KiyW`c0c*jV4$J zv5-H>rD5-TN{{5Psvr>CIJ|@ImKla!i#36q0{{=K^H&DXc<;8Z@W7q-^DYz@i1eEt zIq?5}B5C-lK2Xuk((nMV9a!a$O0&ih&;5J5wx+{-M*~%CbuTUr?JPZVVD=Mj}8k3 zZQ;heTC-)fVn6<9@%5L95hpJGt4(%y4lZC91Zw>d&6#gX!yfb%du^s`%QOUC1zT@%P>*=3rX$2iEgi?}rC7AW|q~?1eZ7fIZf!A{kaQbP{Ro zw&X^se^b_G30x!)=f$$(z`}gS%Bst$2js8FFH*%Z41Ju$*&L1x4agfaoDdsj7zvRY z12V}KWHQ;LQ6?Uczb9YImVR0bV~Z`k{aJ0-n%3$trExG>Fw%{VM%trlllSG=fR)jkHeY}mh>EN8n0TsAM?c3947INjP74oJhp z;&2)k`HN%+VZFCIpnX*bo8Nh(c>L@bi5G=AY$6$ICZ^XuU4nR6AQlO0uEed$4p>%H|0orHr)(?KB& zJ_Yn=bed!~wKX9B#eB6YTw8hJhP$`z$%Mx@b6(|yqv+o2_~)|H!4oXKLjcOuq|*cP z**q*OM%V2N)a1vwdFd;sY3Pj7@CC*Kgq0s)C4TmgH`?ovN|eTeNP$fd`?mC;xjuCz z#mv~IWI8@t+4UO}uvMxKe+b6w;L;<;MaXEe)qvJ$Q0=Zkx5K5{u)(q3p)Gkgken1H zDI5uGO>es+6Yc|pVH<`sM+Tl?NFJtdVkMp&{K!cO?fx(D-awWF#E81t<-NBdxqPv06fp)>Ld-^+JZhS zR3LcUQD4y)q;UwyFOgMgn#xKuH4Ng642OC3u}DK|3|Z-~tT@nbH@QDe96cakJEDqn zU0HFYVJZ!QV;FODIAm?R3X+%|u|X0ZkiQRZIMJ#LE#D~DlU{W-Jry523NQ*sUY|Xe z=K_#b9LubF$fE_iK%1LDo90S8keXYCHC=71v09m6%~O3GrP(A|OFbIqYu+v$V%S3l zD~R=r!;zs8F%j5!A5;yp1pcEd%Q7Ec|SdHq8&=^+YJCTPVa ztIXOoKv$O}FV4WC_t0z9y{B^k8UHuBzVGrX4JR7h_2Wx^zGU6vR?lm7AJlzy(cQKG zZsE+rZ!9=l^M}>{P<>z3pI6=P{zG>wME~{t<*$-dVuohgfmp9RDdwceEik5e^#UyC zt`a-?c;SiXC^0sPpHyeENNfdWt@`4{W@bDfe|16?%g~2(5^GpafF_|jvo*_0iAC$R zlhZS2A1)`P0iGao4XI(Zea4hVKJ#lKuGQIF(U{2o{J!`BBwJFJs`hGR0T2INpV7QTb9;7 zbDg6|h;|%(9Vh?_3T#dy?p;vnoRB)&UJyk8+#dQ|8!8yma2SY zq}fJBnq=L5ecT_W_b03Y`ETB#n*6nn3#x0qWwuf@>nSrCh;2M*whfr>OcqpU;ek!G zD{VHA@@q;PZt5E@wpxZ>Kx+paY#$c*1;aNyzPoaO(cZ9J_qhGqXaFFKQde>^5CPiK z?mbCplju_mcE{F89tsCHZcBJP7=VSK+eOD>DQr$xV7pFs%t_SMPb=H zcp4Qt3y0fpL`pMs{i&&O$!9}M8)1Xc=DQfoyR?zT`uPpu{1v-Ydp10q-l^Th7#;z) zootQ3-HhaYgGte1&+I0~n3xiWCAc?V+N#_9A?UopD%8+%G+DJnKz?K=1H5WYO+L;6 zZ?nrp&oIA01@SXMN-P^r?zh0O5sqfQa&qvn| z55uiZl|jC4hf3e@h{oZLjWm4Ua8gV<(yxFW>>7sGut$O3kq5g5A*})V+;-Kj+YF-? z9lLfvi;Z#B$Ag5YpWMYFPb)JbX*@_JGkX^LtWf8_8KN7X6<)dq)Rdfbz=~(uBg>!z zcr3$j5arixW35l)@|rv>P|qgGQU#OSc=StvngxtZz-6irI4@mjTLYwPBWQoM8LADm zK2UA=vxlX(swQK&rRFflq_?MgLY{=0TQzgxXz}%zWlb+nul^{E@7#j;F5c4LEO$Jb)_w3+45-hE67$Z9e zmWGNDML{1z@Y2YEa1rN6oq2Hk23!*~W0?7Ek%G>1f9)kn^ zAps(k*6c9QpIU}s*w-Kk+u$Wo!XTCZ!(^12OmS`LSPTsZV5+iP^w zwyj&Y^%ajDD4smV_I!n#Ff*qQuuv^qxB~`v>)@`n`dHMQtz#$||1Vqefy?_Jy+82o z_wMknY52bz{;1(}L$0Bx;kx?2tN%Ck&)1LDchz6LzSkUs>^Tj3=ZIt!b>QPOhoOM2W5mEvBj$Gx#q+%M{J1C`<~*W<3O6!#iE?pG_t zZPen{HtBJLo$7Fy%p_4CfVUj{f);nt4TiXUaNGuQ)weiW4qmOtUF{IJRiEYFa_}lW zZgr)&%k;QamEtbd<9?-5+$;6C-b!(=(Bm$t6xXZA?JOU+`CtRYt)um#)*O}H1c3Gb z)VDOr_+Q=s?>AG2F;^sj1dsp{Kmter2_OL^fCP{L5#c#{X{blP>rl|BwI@ zKmter2_OL^fCP{L5+2_OL^fCP{L5NB{{S zflDNCe09}QSET0IJ^9FnI+v@i(FODJh9xDYuAdtloQkEyF|wfh1FKdFfk8PHfHj#% zJgbD8b1Ax0p}|`NE;sE>d9M!cZ~B%%L-?8S{-%3;qalt>(705*|nOpW7a{I zDSGvh*^eHdJ^d)ul;X2*7mi+-_mXxxDAAbb#b@6lc?!bZs?r?I)X{ck9)7!cAV2RV zT<=uE=f7KgvPfCi==l2Wp+O^=dQqo=f ze8l^R#!agYM_K~Tq92b)@@F>|0tD9*{;Tu=a3Ub0H1V{k` za2?49+K+5HqrgWlCGUX`+I+M?O1H}y#gYnJeLkJBr=eX1*~Yd=nUs{&bC1Jz)LHvA zYKEke`EM4QqC%6PwFTh$i3}vQ{;6?ED+pDRK-Fg}N2!F&MdZnLW#S`{Y>uQQ_{Yd; z+6MY1q3Q0FzvLg0iRnQo8OPrQsl`P_xbepBZ8t;y@pLjbmJTmF)h3O3E*`ir`{5JDa7_=M;<*zLP(1Z+;iHGxweXYE_Q3bT3y%~|KufinoG0AK z$>Ixd7hgE2o+PFAfJ~nK9_Z{C&CAKQz!()#$uWym4U8CQn&?&~mnP)M$qeiw4cm!8 z2q}3$QsMzv&3;5w{Avh~I7-b!Pa(qtM$%b@r~`udS00p=lCZt)B!qy?OJKK|xWvPf zVrm!ysPkVYzIH%Qn!w~?#ghjLk3V+t$Z^=e92#tBJdN=<+x^_0 zh&M7>jAs>x>bpDT^BBFA-SXJ;{})`|7nm!=BN9LYNB{{S0VIF~kN^@u0!RP}AOR%s z>n3n-^%B<_Z6W}B=bvrLZTxO~{vT0yFy;3_&F}x4LfQELoXdOe*IhQu4+$UvB!C2v z01`j~NB{{S0VIF~kN^@WL10@g%mJWV5Yk-;wLK2XjPT3f9U$X>T>rlWZ9I(xkN^@u z0!RP}AOR$R1dsp{KmthMG9loBa=5*}bix0j1%Kk6aLtha+=t!YzDx?pijl9stG01V zz@7KYsf091=0N47*r+rWQ(|Lcd_+!3F-6LZ#nR(3Ibl1udDG7BuKsReps#1gK)2A- zx4C;aow-#e5n)@O;IpOV6Po2ji}29WZ`3vh0`5b*6mbw{%2|c5ow!z&pucNlZ?|*0 z9++k(z?5ETSjq_7clK=U+Igq2rTb1n=o;wX*3$R5fq08gn~fNblEt}Bh>P0UT+D7i!vg= zINa7|3D$MXlDEeg7qi(3(6TuVVm(AO1!lWxAvVdxj5r1}5LL;;By)aYN>U)zQ65Na zLJP}gM`B7Y1(O-IYGJ_HY>Jza#zZ}tkSPypU^X+-vN4*bsw#8Znt?j#BsWg%(rQCm z+Av{K9+D+y_l}A47@UAf<3=;)S6emfY{f(ZPs@@1f!f9$JKT>gqm~R#ZYY_apzAOY zgO0(p+E}O~*xA+==?JxkB5jppe9dh0l`pvTia;jH!s0g6XYkTfrE|YUERRPr)|&QK zi+L+zc9eK|4w=;+K&1JDCIYO9+A^DT2~nBfp!Vn#Z&1EJX0&@-t|WpXQ^)X6lG%uu zN`Qx@vw4kPphP(=Rf2e8Qb?zwIC#-gQ4_h0sL1J*?rL~FbV|5H)iWy4QoCr2Q7ZG2 zRn?eai7IJ~Vy$##Gv$%X+o7?lI$KVVnOEuh>I9J35KOlnQ!ST(@wDXK+iM&B5qCa7 zdoglilC(;LVth2mx-I&z5jhLZ?$ixxtz|tHXqC)Y_<WV!KYQy!v_KfV*~W^0XY@ z*GFB;qhdwZ(%v2nca(K4EXMk|yB2oAXXjc3>Iv+=rI}P>t=(m@%+95m`W8)<)RG2A}|$IwpCKO)UIQ5BxvmPvJ~cG zpXE)8YOj(-86#b02DPBt?Oq8>3c6g2z1LKE|4;9~^*-(Wwm0GJ_g?Vc|ns2_OL^fCP{L50PZOvTuBxr}!{z)b zY&M>e$Cag5F05`Mi9%YjF==d2%G6%5q`Ik&B_YP+>0C;2xjdfg(A9MTk@^N zKlJ>e$6xo@qCa2MQTx=wzgf6t!4GTxtY&-lzp1{l>fNe<`$4$iGx*DAH!O3xLv?j) zT59syx<**%5H=9Mai^4!v%B}S2D&F@WwKRF24ELX*dx67)bZ&LPQo-?(Vrfd*z82u zzxBXAUpzfF4m-}K6kpVr9?y~uG39JvGsN7+Bf`$JGQ24P5y;0-I;9BY3v8MRQAuES zizJPACFQ-aW37_ON$Y%>bWV}_=oYp5kDzvfc0rF5ZtRl~UIl#!?6w;OKWNn+J z37J~k?7{Cs)njGy7mvLPJKh!_J$CWQv#RMu+52YEOfI!(_YID!Z}$g*Dj@CD{1wCP z5Rkv_dJwS7T~|TC-uonJg470+e9RCXmuyqux1s_5b~N2V{lttwgtNl%&O zB| zR|OoZrgc3a|E10q6&2(0h2qr92RZ~Kbc zJHDC!CFq#3wnG6@5e5U>jE2}gEs0cn1Auz3D)2Wiyz^(#me)@v}h zPlH4}Ab;fwRe6TKv0ZsmZct20A%cf0&n^(30#ITcWym^c@tNT;>CM5&G}6j?A%^Gw z3qOM)Jtm0+kN^@u0!RP}AOR$R1dsp{Kmter349I+7{>pf18GnMB!C2v01`j~NB{{S z0VIF~kN^@u0!ZMqAYd5(-w5e1_$>0kG?4%jKmter2_OL^fCP{L5mY#R|6d1X%mWD^0VIF~kN^@u0!RP} zAOR$R1dzaQmH-+5FLuA_sy|b|Vewxs&eYw$=+75kyWrsk^)=79-*kV`^<)M47M!d4 zQsb&s?juu*IGB`_n3z*WVsR;>7`|3*+S%RJ-!1faZS3t9e1;I8(CiW9gdnFBX;{h# z+jqKL?iG!4HddqD9DGHC)>`0CKcZIa2A&n3!~wg9wz6hHT<&RK;O( z%q4*m;;0!wfm?(_gG05AYuCCT-ly_5$!;miO;+xv$aeNUTf27NDQxM!QxLia`nUD; z!S!3a`}zf;Z(G06H_+R=PVni{_=G`u7&O-$>TJ=Y2!=Q*vR#6(SIodVqnYORR!cNR z%#ISIdX!Kw2yq~VEM1b+Cn$1iiewRCrw8TxW6IQcxkO16Q<}DHNsJ-TC!{V-D$VU} zZIL!T`7$}fVyTIw6w63ilfMoN)}(w?t+9;!_?uGecSH(Zqzp~WlVnrIj}rCd_cFATS} zGw(w~9o$a|F9UfwxDX0h57M)t8iIflE(JoI+yzgLhuPCB!fk3pTEe)Dd8$^XXBi>}>ktDto9m)6P6@j+MzI@N z$m&*jl(JdPk4cWjY8!7@;m+6F+qUdfHa3KCa#T|J?i;)8d7v$k=? z3ilzm>c!Pya3(CbHC7LXQa41F2inJHuwPhmZ4=SgFRN3rEOv$BEQZlA)#^Pi@RtFUds}4#V3BkzCJY3LZu^Sk1 z8*?y9d(WCw16zlh01`j~NB{{S0VIF~kN^@u0!RP}I1s?+{|->_6cRuJNB{{S z0VIF~kN^@u0!RP}Ac4z_fZ_T7WmYmQ4iZ2DNB{{S0VIF~kN^@u0!RP}AOR%63E=pj zlfX|TfCP{L5GBJ*ITaoXY0Mys}|=M zOsrZES0EAKj=nr5CbcVgna|T1w1FSZqZS^`XWyWN%z;sGaj|FPGa5ss`WE0;T)xH6$abwt0d-^)W z(X*qQ`x;}E*csIrrR2t{PLaxFH9uReF8&wS4L7ZF=dZSVP1x0bP>he}#;MQLe)TNe zyO28H{PI1ujXT=h`A++_b}vQ~v7g>n(f``7(cQ2;O!db3wd1voBFMIt%9cuJ#>6Dq zQ8(t~gk#)S$_c07PF2R9zRlgcg}JAtwiS*-@*JToEy7f)wy|rCJHOlx60m2atdh=1 zTnp;YzKY;Xm#VVp=TuM+jMX;wK-R3)G?h({8%qq5YOla2mu72eCVC|GI;XrL5=pW} z$S+OSHV%LU9d=EbQX*}cn2Jk8M|wc-9OcljE+Gw%KoxRm|0wmYk8DuAtDd1T^9D8Z z{;rL^-Ga{;bcu~Ne3dfb zZMDSt*5!aV105B44BT)6E+yaS&eBp!985Z-q@Ir@q-srE z(`Mc3R_Qd$PRp*WCS3Zv(idNv4Q*714m?1m!?3;bBN?XxO7{>L(-&+X-mB1 zuH7XX3`otXo!|xHVLElbZTI}N3RCx$bVzy!f;uGq=az~NNskMcs?|_Gr#hsD>)p#5 zZ&~ZkudzErvnSP^^+WrV+Qz0P_mMWWx*EFYV9|Q-ztvh{4Plp9V`&Nojnmp>Y|6!W zJe?zUt6POFj>E3>q%Nq*B0y*4(Z(LXJKtirn6#KvM#3>&2TII*YI{XM z=J>khn$N3<9^90vZS?!y2Rl_uG{>^${$;B@nxkK$N$RE5{E*G!Cr#^`-of)-?|jzbqwT_+xYDE%^N3c6S3$AOR$R1dsp{Kmter2_OL^fCP{L z61eOL;Q0TtQz;e*2_OL^fCP{L5sB01`j~NB{{S0VIF~kN^@u0!RP}Ac4;vfd$oW_u|Fm=<$$aT^%_t zT11YuwdA;PAvrEsK#nyv&3Ri>|EQzhJcH&#Sjp{rjpx*X>LGe(}o1Utiqu zNrgRFx4*WrrNw<@t0E32B_%eLOi#qdGwFCj8Z!TC+qAR0tG`?5@7mbgE%?lVKB3to z$O%DCDblc%5w`E_+1j=9PGL*;or2Ic(7&yx4=&%@-PbP&ecSqlzJcD}b%GBviH%BA zK4GtziI0ex=1?%$qQ?**N=h7)4B?$22#3>IMO1QGpP^ zdKqa<%#7+$LOjKIMiLb%rpP3}1bijm%(BoZ=}f7M)0vo@@Ck$RFp((KX(>r=oTOSd zgRyi%9+D-e9C%RKEaYq~A%Pkt5W`4D*xY?{*FbN-5Twva44WJ+W8bQ6ykUhqUoWQ; z(qt|r@5xC-J254eoyx|N>0!uQ`+mD>4g-BXI|jOip1#f9yM+=L3ETRJ!KkT#t;mTM z;amG^8+#zT>u7eVbY@IUTC!7l8*&{`b7k3;zsQ!WnjDm(MR=(G{@TVBE8K@<)$mo} zG$~hG&0UxNQY>AW8V9p7>V#JVV$BID8_&q&ikwdA#uaXBV@92k_Qb};j5uZpV}=cv zW~A)6eje%%sX%bvW~-5Qi#_T%O4}@rW49Hf?4@i@i!&$V%hyeTIr!cA7Q6M0iSZFR zCB+ycYJ}!f{S|G|93PTUjl+CiwakOw$=XK0-+g31j2LSbe!EQkKdiT%xU-nsBOQqor1|WRkgVBX&zKWyRK(T(grB zeS@sHSBgoKQalDeGv;W_NinOiDAsO(ZqAptrSH$xHg0O-t+J^-S0r&PHYSY?N~E9j z|F?Ipv2k429pBj%Ief1krpK~Ob16rr=+|g>Ny&=hx|GD&6kmFf7UeYF40ngSLk@Sz zeTXZkPBNBk*+~i%DbhM^Ke%XG1WjtB?U%M_i=+sOAZ>x50fL}uT7M{-#3}l4gS0UG zq36!d`>{(gv}F^2!Pb)Z+{c;UJ?GpzqOE^5?e8Q&>`+c+J5~iyH+aZOOyoc;~sB!y>*-6o-O4ZS5mX6xx?Id z+SbZS(;%-DGSynKD67`#5>`>0AID**x*fo_8@iKC%coh5gM!|)`RCiAqRV}P7bZqH zZOC7Aov$f+FghD9w~R(-Z#x{Ftwua*ot4mQNlB_z3#p8h&6aA#s_uom>3mB+-2H7& z-0g-h*FRq6x0xGu=590O^)&Pbq_fD|6x`PUXP;U{F1N^%kR#qXOIUyh^zlTdvq#8{ z!P&)(Z`zjdXEHlAS!!pp0ssB~t^U~t`hx%nfB*=900@8p2!H?xfB*=9!26E?d;f2X z|7#@vcKm1Y|BAmsU*Z=CfB*=900@8p2!H?xfB*=900@A<`;Y+pFa7uLXTR^+!+wv& z*zeJ3EY{hHpZ~uPHxw>|00@8p2!H?xfB*=900@8p2!OyX62SZaEdoP#5C8!X009sH z0T2KI5C8!X009tq9}>X(|NC&$;4%n+00@8p2!H?xfB*=900@8p2;3q8y#L=KFmwk2 z5C8!X009sH0T2KI5C8!X0D<=*fnM^tC-U7${FS~3dOzRuQ1`EOu6F#SW3&DB_Nlh7 zlHsw~#b%H71zwm-bK00+OCz_GAz?a+p_1LD&#kRC1{F;TWR4gn-v@;7AFOnu=W`1&J;?n&1 z%=vIJ7E76;>0rMch2J}~Pg7kBJr3Mr9b-N%MZJ?-zG=*>-&iSU*#zj@}ykqlytN@Kb#!V1g(n~7DzL$ zQF2{cm9Bclgf*FSOjFBic*dx70eY9-uErdOu%XvV1yKjUv@f-NT4$)7op+%BFd%;i^ABSAjQ+L}t0BHmej& zrLI^b(NC*RPzcK9G6}EMtNz5>dgg?ss6Wq+jcjNDce$!;BTgU)b_H{{RzhJV~uk8uFRWrHZ za!Hk$*kq|z&Ni~d*ZOqJbny+b^TuZ~66kqZi|M!O8yiLd`+7EXj$IBu;tgrvpl!ys zzDj6(6JQ6T7B$x$WT`N%<55HCHY9dw$sLM-eOfg1BxU$aSv&(lgSxZv=$7{1Il{gD zPK&wwD;lStq&Gh4*nMY5zZ*kAd+!{w&8;`5XuA6>OPY1?l@8bTHVKL5N|`$o0LR1`Xod*sV#~cY2N=hbDN@SrN9^bS2jYcD{Qu~0|Nl|^_4xPV-;RGX z{QvB8UEAd~AzZCyeydGbtZukWPAOHd&00JNY0w4eaAOHd&00JP;ga99l zMx%*nLjN3$4(gxxM(@=>2ciS|=RMJT^v^@lL;C04(Yy7}gVBTf=Uvge^iLrw=%05+ z@67UQ@f{rx|(*KETl2!H?xfB*=900@8p2!H?xfB*=9z-}af zzyE(X?kb)M1V8`;KmY_l00ck)1V8`;KmY{X1n~av=7H}(00ck)1V8`;KmY_l00ck) z1VCUn66o!GGt$f5AL+WmueSfBZDG%UN530A$$go-zmMN1JvQQ$nV|mXYbS< zAYbaj>8ORm!wsgx{{>r<%O|>oW=!YvMjCXx++!rVySiJHoBV;N#7ZndVRkZ=Y@j@ zxfe{S95x|E7X6;~gSAulQNRmy?%jLxRi<2|s7q29yCaxqB;|ue1le08zhBQ4B z2~$puHa9?W%d{qR{i8LhylRI|BgWq8prH9lY?7%NR+Tl1O!g)FD#2VbMYMd`;jq~b zo3Xw#k~+_6eY|jH*wlZk6_t&eoFVDPOhf0hNK$u2Lr{y(1jYDXY8eNP&h%VHI5--O zsCXf!_42~-F!%C=QIs5gTrQmP#)zZiHY<`RR8k}Qb`(k#lKgW^dpaX%y;LTo^HlL1E+Mv5*X<*E^Gig8e@&VauJ?nPLx|@$BUFS;=RjM?EYHO4uOG;kP)02(N z)@^i!pugnH&Y#p6Q+A|~)vW>L`Ih28R3>kG@o!FN9uc z=<3HtS*McALVmFCb(!3n*3SzMKFHl1a$J}#2RutBy%F!7b~{nuaK#%iW~U}g?Myb{=l{3+Pd2bV2!H?x zfB*=900@8p2!H?xfB*=*^91ns|G)E$u>uHy00@8p2!H?xfB*=900@8p2;4pb?C<}N z#qjh0+qVN)83aH81V8`;KmY_l00ck)1V8`;-Yo)n|9`hgV;v9x0T2KI5C8!X009sH z0T2KI5V(B=@cw`M*kff7009sH0T2KI5C8!X009sH0T6h%2;l$!f44|u9S{Hk5C8!X z009sH0T2KI5C8!XxE%!8|NlQYh@b!84)$0R1V8`;KmY_l00ck)1V8`;KmY{ZT>^Oj ze|LFfH4p#+5C8!X009sH0T2KI5C8!XxE%y~yADM9BHxL0U+(&sjwAf5ZRtIK5}S(t zdE`5Nzuh<9{o}55e75VgAkS#v7kFVV&1qvwF(=n+MP;KVXIABFnQA7tlv$FptF`q^ zL8(+r50Y!G@>h^pdb5{dDJ z`MJqi8Z}bvc@RIN>wUmWukUCv83e5zoV&RG@t1NTW?t{ZD!WXrEE@KX4vg{ zj*m8$&X#4VDrc$+bBz3u*;l%+x}{Wh&YwK#7*s0Tvsqr%*4Z3E)2)?q%CaH{&S%;J zCR8e!oJ<=e(^FQJ;x+b|Y4Rd*cH+b13)Az7WAvDf9==sav|cU23sWMeJ?xLaH7Q$A zigISHR8%PZ^yu@nsV!sAGk_*BBF|$m;_msJHpmO2$lcg9;?C2rn(;K;<&8*>eVgHF z&eAM+vg@@>nRfGVqF7s7lFLU^V`C2)fxITKh1x3DDjBsT(S~`$KP1?k5gWGOR-Y|x z{Bzp9yl`fi(+2$e&fJr-*;1`o)%V=-{c6koc67G)+RPK0EqU zGmdW(-u-phwz;?NB9r#kgjz)|x9GAiRVtgMvSSDJa$)TOr5qKXYOUhVNop=t*E1EF z_PJ{Be)1S|fsCqDsZwN6sq&?&+p4VFqsNTFTZo;oiskg%=wr{HWD)J`5mLgOUCeq# zAz;;By*37QYO>VM1iQv*_wd5R2&WDCquosOWkqF2g4#iS=O;STIez~Q_O)&5Rc*=;D#?5cbGc~yZ+BZ*j7p!S_^Ua<`DN@POQ-_Vy zzbmxN8>_2*N?1)s#%O)oL0-5-5Yxeo8Vl!W$;M63q@%azn^Wy939rEd3Tvv1HgQ`()bz7xn^#*y>B8?gHst!f?Auf=+` z8e7M@(j50xk49u<^g8RF$-MjHV|L(Pwz9Wm;eeFWBpQForz)N5wtk<@ZQr7J{w`3&IW$kdgFxJmi z0#k^+gt3S{&@@?CFDpA}UiSS+g5GBr--)uIJ)+&u3t1|SmjZou=Nmb1rl^_zu6!&u zeX=HVSr6<<@PM*_pZ^E_*#_D`00ck)1V8`;KmY_l00ck)1VCVS5orAVe{V z!qb2N2!H?xfB*=900@8p2!H?xfB*`t!T&Ko+}_vrkv)GE{T3M?Z^ofhH+KCs z_ch_vAgA^Ebs%l|UP~&t-ck|L9%QH)8V!avB&~Oz7cPu(+DZR{qzl?myOc8pg{fX% zGbLU<%~xBx5jd5tujrZ2a847oB*{RMbHOr@o>8O&X|xzJkRE%jsSc#4vvaa$emWkE z$-_S1uN~usu`%xYj4coAnOfI}^|Zwe-{!|pPfsKcd%7svC@-8G;Iz)bO{#3D=El&M zn_Jn8#t{3#=z9bD^>r=H3j+h(&9walWY%4x&%FVjHb!?PNPAQ%R^_~0PMp6uIWvCo zN@8l_N+L17Fh4grO9N*nX6J1saZ*!d(z8wU!I_4ssV19DdBv#R60*k)5p>;|s$8!g zJw7&;W@BibhA?$iDU!Zw^=R6oOB|#n;`*6^3 z(`K_sjTz6iGg8&sK`n(UKq>F5caD-`CyOU{8*;E_<2zRc^a@OiZ8Oho2QAfPpTcuU zEK>~bP@wUe$O|(goOZ-7>|423Vf;(Aa#qgN6ecxa%{UvYM(GJqId^t5#v1$Ov=F?S zl3^2%Bs5NYgcl~rl_7sobq>-?tFvLCWr20}rs2V!=xXAM_AoDujBqda8pYN*)cy4L zdke3#>o&t;ofThJ5tFQVI_r_a$x(8S8TGY!DJ2>9YONA7sk>k|ikNdzrYh}N(JXSC zvXU=U9dojpC|4!B>!{gvTb11Jh*@!c)!6B+*~xapKT$|RIj7me;jlx=_ptU5FMQ;2 zPMh&Zym?Q|mP^IVN{LlMRjSH*@Q2tcE%P8`pq&yS9VnXhGFs3cFk`mC|Hq@nvQ+D4y0vc;VD3?#5JDP_W(sA;FsaTLy%& z)OHS8%iVxIHyUsvxNy?@*L<=)TquJ%s#KG@sc^H$I6J%7{l zyFH)kS?;;gbFL@Vb9Ya)`;G2@=>A6cA9jDXTkW3e9__xPJJ$8%uJ3n!qw9-ZztXkV zHPiKQ*I-vi=Z`wS+4-f;mpTib7dn%j`#NJC|K9O;9bf7AY=_!0-7(g22me$42mD|1 zzt6wOFY_PfkMM2n|JnZS_CIR>TzjQ`zJ08HxINzXA8mi%_La8Jx7FI7X?v_~V9(oo z{%Ox&(Bt422!Oz@BhVWgR_f{Tx+)$|#Lh(htedDZpe!ps<_}9X4&Um!xmJEKbfMA>>K&ocv@U! zQDUuT*=I^~m&>WyV`Ah}u6eBvm)-L|LH?xDNl{iy8>#f-lz4Zr{oDj$WcEYBb{#Xb z9}Kh0^(3?36KtnUZOor=yKVZ{#$wxg+&yfPc`2V>E=V~sPjFW91gE}|m(;495|@JQ z`PI6VuTsa4u|@pjpK%R4y`s_zlsj|R@|BHrJufZ?+ozSfRFl(Bh;oQMujFWgl$Z;) zKasCdX`xz~4Y8lA=$?p@%WccQ3}a(G%}3cJ7v-E%S=<;EC+bSIJ}Rl=^raO=uZO=7 zY@ehE(d*h1!FIM0`GTAmRpx|${>R+IN|L&gO{T=jQhj4QM*;SW?qR0=apt=<+lLOu zl6%gdJzqVZN}do`FD%YqxmueM<*)y+e{XEiw#Z-qw>Q~(Go@m_G&+_N^99;jb(HcW zudXbqQd+#k*7Mshvb3?9<$PYsm&m*N)%B^>^zoV)dBHWW)j`g$UJ*c(t94q1H%F?moiL28!lS|i%7e)D>zc+n2cE+|WZytNHaP^ujmQOxCGymkq z8Bu<{av-?N(r9*eIjwB4E{9$7TeHaDf8$k`C0$Mzo}8#HiSiHr_lIoTEuZA?|M-(^ zdy=Wjr4>m{ifUz5RyODhxjtFhn5K=~8*HCDCvVDiijR{a_OtS)!t7$OeYzrVrbegg zVm!pYVvK*ViM^6bix0D-&+q^AiY#x^@{fcJS2m^9Je8t-VRl(sm5X(8e~5i@qVaf7 zhS-y-hW(*n`xH@Lt&dKNN5brqnp#|y#iPOY$-;7l4*yMYB-lPqxwE)Rhj>r0J+0*px2A7IJl#}{)Aqf1I5uTs6e#!iMpJ|!x_b~&$`N5w+0{RtXQ=gO$K;#$_4KhJ7` z<;~@ji&KiUv>`rQUz|y$6*_}&1b4_!%x#oY>u1Htb(W|886wZKYGJiU@$>&(_mYGM z0s#;J0T2KI5C8!X009sH0T2KI9|64o`;edk1V8`;KmY_l00ck)1V8`;KmY`G9Ra-m z@479;1AzbtfB*=900@8p2!H?xfB*=9fR6y)|9wc%00JNY0w4eaAOHd&00JNY0w4ea zyN*C_&-qAKWI57V?u_yuYk#f1KlV)YThVio<@jfJ?qRQgOnZzMhK9JC-A=jSl1fU4 zx*9Nj^{`jr(ll&S_B(33f~N9v}6XL$xi}r1GjQZ)xe7Hy0NUQPZ_`Q=6!* z+KcJWKx0CLcgbQZ`vy&C+WhnFi~{F#+J|`I%rK`71PXAHx_w5M09A6jx~2L3b6XMJ zG&|FC*`k(aqbanxS3AWEm&k#%?toWl)9jvER!f^p%Cn@v>2l`TJ zmAqbZ4RK|++hpeWBif_9kR>tQOMyA=9z{~tPP;nOLvg|&MtV>@}mUEf4QcpVPJr}nYL>ynazvU zUT+>XX8SoxCk3dp<~jG$eVrQf1iw2sjvKM9KT1`uSC1Ya8%wh>v=3W&lW1|@@P(C` z-CGFBTL`b9=rjY&PGl=tcBWcu2elM0To~iDlYs$NmMfHuviEM{X}-FZ!1Iiu$F+md zV>3#-CTdB#o{)3F*Aveux>Fb}jg;8Xet{Pr8{)Km{zo%khRF;2mH87bAHy-saNcY& zT*lA;ckWL)FcS!X00@8p2!H?xfB*=900@8p2)tJb;Qjx-x-;+#1V8`;KmY_l00ck) z1V8`;KmY`GjsV{Oca9}y0s#;J0T2KI5C8!X009sH0T2Lz_bLIr|G!sv27ZA62!H?x zfB*=900@8p2!H?xfWXcXVDJCY_)jD8x9B(g0s#;J0T2KI5C8!X009sH0T2KI5ZE;Y O+F~5n(ZPP_`TqwO>uxy! diff --git a/server/resources/script/sql/mayfly-go.sql b/server/resources/script/sql/mayfly-go.sql index d3ec3a0c..970bf136 100644 --- a/server/resources/script/sql/mayfly-go.sql +++ b/server/resources/script/sql/mayfly-go.sql @@ -885,7 +885,8 @@ CREATE TABLE `t_tag_tree` ( `is_deleted` tinyint(8) NOT NULL DEFAULT 0, `delete_time` datetime DEFAULT NULL, PRIMARY KEY (`id`), - KEY `idx_code_path` (`code_path`(100)) USING BTREE + KEY `idx_code_path` (`code_path`(200)) USING BTREE, + KEY `idx_code` (`code`(32)) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='标签树'; -- ---------------------------- diff --git a/server/resources/script/sql/v1.7/v1.7.5.sql b/server/resources/script/sql/v1.8/v1.8.0.sql similarity index 100% rename from server/resources/script/sql/v1.7/v1.7.5.sql rename to server/resources/script/sql/v1.8/v1.8.0.sql