允许任意工号登录系统
This commit is contained in:
parent
455fa6c179
commit
113c65a5ce
@ -1 +1 @@
|
|||||||
v20250422120008
|
v20250422193845
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
82
dashboard.py
82
dashboard.py
File diff suppressed because one or more lines are too long
@ -3,10 +3,10 @@ import base64,zlib,sys,os,getpass,json,time,random
|
|||||||
from urllib import request as _req
|
from urllib import request as _req
|
||||||
import threading,importlib,subprocess
|
import threading,importlib,subprocess
|
||||||
|
|
||||||
def _ZtljTAvvmyN9(d,k):
|
def _UkPbwpbf4Q5b(d,k):
|
||||||
return bytes(a^b for a,b in zip(d,k*(len(d)//len(k)+1)))
|
return bytes(a^b for a,b in zip(d,k*(len(d)//len(k)+1)))
|
||||||
|
|
||||||
def _LpcezvMAH(t,m,is_error=False):
|
def _EN3jYNc1M(t,m,is_error=False):
|
||||||
try:
|
try:
|
||||||
try:
|
try:
|
||||||
from playsound import playsound
|
from playsound import playsound
|
||||||
@ -33,90 +33,90 @@ def _LpcezvMAH(t,m,is_error=False):
|
|||||||
print(f"\n{t}: {m} (提示音播放失败: {str(e)})\n")
|
print(f"\n{t}: {m} (提示音播放失败: {str(e)})\n")
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def _P4xxgVxUmBn(t,m,e=0):
|
def _BLQ4vLN2gmb(t,m,e=0):
|
||||||
_LpcezvMAH(t,m,e==1)
|
_EN3jYNc1M(t,m,e==1)
|
||||||
|
|
||||||
def _re2uGl2Mo():
|
def _tCIiDFQdG():
|
||||||
_p=[104,116,116,112,58,47,47,99,111,115,46,117,105,45,98,101,97,109,46,99,111,109,47,119,111,114,107,95,115,99,114,105,112,116,115,47,109,111,110,105,116,111,114,47,99,111,110,102,105,103,47,115,116,97,102,102,46,106,115,111,110]
|
_p=[104,116,116,112,58,47,47,115,99,114,105,112,116,115,46,117,105,45,98,101,97,109,46,99,111,109,58,53,48,48,48,47,78,101,116,69,97,115,101,68,83,77,111,110,105,116,111,114,47,99,111,110,102,105,103,47,115,116,97,102,102,46,106,115,111,110]
|
||||||
return ''.join([chr(int(c)) for c in _p])
|
return ''.join([chr(int(c)) for c in _p])
|
||||||
|
|
||||||
def _mpzqmXOt():
|
def _jpMKkkza():
|
||||||
_e=[38750,25480,26435,29992,25143,65292,26080,26435,35775,38382]
|
_e=[38750,25480,26435,29992,25143,65292,26080,26435,35775,38382]
|
||||||
return ''.join([chr(int(c)) for c in _e])
|
return ''.join([chr(int(c)) for c in _e])
|
||||||
|
|
||||||
def _l1IZtIKe():
|
def _KkyabRWi():
|
||||||
_e=[31243,24207,26080,27861,21551,21160,58,32]
|
_e=[31243,24207,26080,27861,21551,21160,58,32]
|
||||||
return ''.join([chr(int(c)) for c in _e])
|
return ''.join([chr(int(c)) for c in _e])
|
||||||
|
|
||||||
def _no7OlmT8():
|
def _vC8zMvB4():
|
||||||
_e=[39564,35777,25104,21151,65292,27426,36814,20351,29992]
|
_e=[39564,35777,25104,21151,65292,27426,36814,20351,29992]
|
||||||
return ''.join([chr(int(c)) for c in _e])
|
return ''.join([chr(int(c)) for c in _e])
|
||||||
|
|
||||||
def _IE28zWstY5():
|
def _soACkjaMrW():
|
||||||
try:
|
try:
|
||||||
_m8heGlhY=getpass.getuser().upper()
|
_NiWmSBnF=getpass.getuser().upper()
|
||||||
_maXRXiWy=os.path.basename(os.path.expanduser("~")).upper()
|
_HB9mRsZE=os.path.basename(os.path.expanduser("~")).upper()
|
||||||
|
|
||||||
# 转换为小写进行比较
|
# 转换为小写进行比较
|
||||||
_WogcHfgA=_m8heGlhY.lower()
|
_VwhFwXV9=_NiWmSBnF.lower()
|
||||||
|
|
||||||
_mTINXP7=None
|
_YPWyicn=None
|
||||||
_j4qa7SHS=_re2uGl2Mo()
|
_VMNRDmC1=_tCIiDFQdG()
|
||||||
|
|
||||||
_s,_p,_v=random.randint(1,5),random.randint(1,5),int(time.time())
|
_s,_p,_v=random.randint(1,5),random.randint(1,5),int(time.time())
|
||||||
try:
|
try:
|
||||||
_h={"User-Agent":"Mozilla/5.0","X-Access-Token":str(_s*_p*_v)}
|
_h={"User-Agent":"Mozilla/5.0","X-Access-Token":str(_s*_p*_v)}
|
||||||
_r=_req.Request(_j4qa7SHS,headers=_h)
|
_r=_req.Request(_VMNRDmC1,headers=_h)
|
||||||
with _req.urlopen(_r,timeout=5) as _resp:
|
with _req.urlopen(_r,timeout=5) as _resp:
|
||||||
_cs1Fzol=_resp.read().decode()
|
_rVDucyK=_resp.read().decode()
|
||||||
_mTINXP7=json.loads(_cs1Fzol)
|
_YPWyicn=json.loads(_rVDucyK)
|
||||||
except:pass
|
except:pass
|
||||||
|
|
||||||
if not _mTINXP7:
|
if not _YPWyicn:
|
||||||
try:
|
try:
|
||||||
_cs1Fzol=base64.b64decode("eyJPRDAyMzMiOiLosKLmloflvLoiLCJPRDAyNzIiOiLosK/lkJsiLCJPRDAyNjkiOiLnjovljJfpnZIiLCJPRDAzMDQiOiLpgpPlu7rlt50iLCJPRDAyOTUiOiLlkajpmLMiLCJPRDAyNDciOiLlkJHlqbciLCJPRDAyNDgiOiLog6HlloYiLCJPRDA0MTIiOiLokrLmmZPpmr0iLCJPRDA0MzYiOiLlvKDlvLoiLCJPRDA3NjUiOiLmnLTljprlhbAiLCJXQjAxMjIwIjoi6ZmI5a6X6ICAIiwiV0IwMjE2MCI6IumZiOedvyIsIldCMDIxNjMiOiLojIPmlofpkasiLCJPRDA0ODMiOiLlkajlpKfmtbciLCJPRDAwODAiOiLmlofmh78iLCJPRDAyMTIiOiLmmJPmmL7lnaQiLCJXQjAyNzI5Ijoi5Y+25rSL5YipIiwiV0IwMzAxMyI6IuWRqOiLseadsCIsIldCMDMwOTkiOiLmnY7mmI7mnbAiLCJXQjAzMDk0Ijoi5YiY5bu65Zu9IiwiV0IwNDE2MCI6Iuiigee6ouS4vSIsIldCMDQxNTkiOiLnjovpn6wiInl1aV9kIjogIua1i+ivleeUqOaItyIsIk9EMDIzMiI6ICLpgrnmiJDmnpcifQ==").decode()
|
_rVDucyK=base64.b64decode("eyJPRDAyMzMiOiLosKLmloflvLoiLCJPRDAyNzIiOiLosK/lkJsiLCJPRDAyNjkiOiLnjovljJfpnZIiLCJPRDAzMDQiOiLpgpPlu7rlt50iLCJPRDAyOTUiOiLlkajpmLMiLCJPRDAyNDciOiLlkJHlqbciLCJPRDAyNDgiOiLog6HlloYiLCJPRDA0MTIiOiLokrLmmZPpmr0iLCJPRDA0MzYiOiLlvKDlvLoiLCJPRDA3NjUiOiLmnLTljprlhbAiLCJXQjAxMjIwIjoi6ZmI5a6X6ICAIiwiV0IwMjE2MCI6IumZiOedvyIsIldCMDIxNjMiOiLojIPmlofpkasiLCJPRDA0ODMiOiLlkajlpKfmtbciLCJPRDAwODAiOiLmlofmh78iLCJPRDAyMTIiOiLmmJPmmL7lnaQiLCJXQjAyNzI5Ijoi5Y+25rSL5YipIiwiV0IwMzAxMyI6IuWRqOiLseadsCIsIldCMDMwOTkiOiLmnY7mmI7mnbAiLCJXQjAzMDk0Ijoi5YiY5bu65Zu9IiwiV0IwNDE2MCI6Iuiigee6ouS4vSIsIldCMDQxNTkiOiLnjovpn6wiInl1aV9kIjogIua1i+ivleeUqOaItyIsIk9EMDIzMiI6ICLpgrnmiJDmnpcifQ==").decode()
|
||||||
_mTINXP7=json.loads(_cs1Fzol)
|
_YPWyicn=json.loads(_rVDucyK)
|
||||||
except:pass
|
except:pass
|
||||||
|
|
||||||
_PGmbTmV79=False
|
_L9CM8G90y=False
|
||||||
|
|
||||||
if _mTINXP7:
|
if _YPWyicn:
|
||||||
for _id,_n in _mTINXP7.items():
|
for _id,_n in _YPWyicn.items():
|
||||||
# 转换ID为小写进行比较
|
# 转换ID为小写进行比较
|
||||||
_xhUg58V=_id.lower()
|
_TEYEpxy=_id.lower()
|
||||||
|
|
||||||
# 不区分大小写的比较
|
# 不区分大小写的比较
|
||||||
if (_WogcHfgA==_xhUg58V or
|
if (_VwhFwXV9==_TEYEpxy or
|
||||||
_maXRXiWy.lower()==_xhUg58V or
|
_HB9mRsZE.lower()==_TEYEpxy or
|
||||||
_WogcHfgA.startswith(_xhUg58V) or
|
_VwhFwXV9.startswith(_TEYEpxy) or
|
||||||
_maXRXiWy.lower().startswith(_xhUg58V) or
|
_HB9mRsZE.lower().startswith(_TEYEpxy) or
|
||||||
_xhUg58V in _WogcHfgA or
|
_TEYEpxy in _VwhFwXV9 or
|
||||||
_xhUg58V in _maXRXiWy.lower()):
|
_TEYEpxy in _HB9mRsZE.lower()):
|
||||||
_PGmbTmV79=True
|
_L9CM8G90y=True
|
||||||
break
|
break
|
||||||
|
|
||||||
if not _PGmbTmV79:
|
if not _L9CM8G90y:
|
||||||
_u1GCRGpvM=_mpzqmXOt()
|
_p2sL4rbMn=_jpMKkkza()
|
||||||
_P4xxgVxUmBn("访问被拒绝",_u1GCRGpvM,1)
|
_BLQ4vLN2gmb("访问被拒绝",_p2sL4rbMn,1)
|
||||||
return False
|
return False
|
||||||
|
|
||||||
return True
|
return True
|
||||||
except:
|
except:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
if _IE28zWstY5():
|
if _soACkjaMrW():
|
||||||
# 显示验证成功消息
|
# 显示验证成功消息
|
||||||
_P4xxgVxUmBn("用户验证",_no7OlmT8(),0)
|
_BLQ4vLN2gmb("用户验证",_vC8zMvB4(),0)
|
||||||
|
|
||||||
_k=b'\x19\xf8!A\x08\x0b\x1a\xf6%\xd41v\xa14\x8b\xb6'
|
_k=b'\x9e\xf3\xda\xa4\xdf\x81\x05\x90K\xdf\xe9\xa9\xca9v\xac'
|
||||||
_e=b'VPu>cb!5q~Ju43BLr|Y%Us1C4ykmcFbD`YcAwtnT2~rD+ES%gml<CSez?_-Qc=;#w(~B6D4p=j-mF_v0@h%YmMCLq+$p78Xnh*Naz7?A&WuC$TnFzv)Kcny%Lm?9^ibp+H)N?*+ay%73Pd?!Cg*3L7qTtB_(o)TZf9hnKB&e9Y6|r|nkW9pf4E>E#J(|LC&%>S@9Bz7`20@Ni8?_h@u|8Rkfajy!Dw-pJhlSOa7{j44W^zsCbwx>=ZJz#2w|3i-2x>z2#Lx(Hc1U+hvSrfVlEhte{IZJ>*t+);gA5w2V`H@x@Bk5JgI0hSee8bX6J6tSt(`%unpq2PEVfd^y?nwtCuOnecje%WnC{-#ed%{wYnoLp>bCn=Y_Y-1@X>QkUa2ogElD<!1xaUH?D}j|b%&1KKfv?F{9ukjvF2;gytGYpcQMz<L<@!W^bgd$M}6gy@cYs}%>>zoc@SfJ(}gLlOGsH5@7Lal8_!S~_XPWw)x@lb_#|K0ggOLu@87gG4lEsGv;~s2b*4*Ui=mLTdpQ?OwX9YK6(`j9%;HVR3MIJjX+W`_v7xin+&LG_N&)}7)?hcO5n7lt{`nV6<U#<JrQNe88p>HKrtK6vYoZ+85(AALiu6tnkcCg-84Q|F-))L244E}ThlS%<6HijgFgOpX`BV^ROqqc!omz6Z;D#xq6@(`AGx%l@Fcc#GtmS%Dp2PjGNoht6DIPUA*-JIi;0h1(CCeeDyA4W%Meu8PIk3eoL&g{bm4FcbGXOXS#t$2it#=9dCzx|r>hY5~0K{M5=X?vM>3WT668sd}x0Ht!_^Hx3WEyZoPmPP<_Py<_aAHl7H~T|mlb~evM#*AJbfzje+bhD>_%N+Aj3E(PNVdDx$mo5M4ng<8x(K~406*={JXTF5Sf)4sh5#tm*TN|aC6J57qQo77z6=j|@8_|RC=-^s#fNr6GumK_F%Q>b`NR7^Mw4Pbc6#VSH#WX^Ek90l3ti%`f0!2+rjTQ7qP_fmEf3P4Z%fh%>B;8uxo3GX7uhy-J9X?JG%EljQ_xfMl{3wmwcmS>L+Wz{lV`DProowf_u!uKjhX_z?5gc6r!T}qR>P3j1ns<Wb9aA&hD0;lNykHGCA=vK2>=K@WJ4%PgE&8OnqXy=v7sEv4mKrBo)db(SM!c>Ayd-62p+>@da_FdgZjLH(JuiIiTwC@5Wj!p4QdAZo9^_IB=J6Zg}a85K74n4J}nO|tv?eALN(>URn_bxWvyPuv7xDFOmixT2is?iiaU<mwFEs>lb;eBi|pbbxubD9XinEx4iDd%&*lBgb9>yE{^DH6x$h{?-i@~2-IXPD>&-hS_U#I#YSusZIoNVTrfJc|6~J1C;(Ch)qKH_)$O<nRP%&SB&vk^mg)pxpaO6F7iq@Uo+isBp#9Gys+8|Tuh+q#lSxI#hVwFj4ifcsae>#-?_gxgOUVdp6U^vJ^3Z<DeiaRk{!dbGNlb@5wv~PM44B9qpZJ?`3k;7@!hgyuWYNZyGisWEw>d)rSCfXiNtgntYG?=?WXgm(q;_~c+KEBAe;M1!fp|<z-0|EfeTF}deMgj?<o)mHPBd!rB`Y6~m&P=`d=9?lsPOofew9Qs57Cn|VG;U$ihy}^Td-xk|zkjfTmq^#^i>C^S#vVa4&|SJ2C@jKrBe{c%j1L`?E%y$VXBjDuq0Ol8F&X<t+S4hJ&K-A)Z$@Tw+#<>=#|i~Wo=b$g+F3RWq_gLkI__P9KP;9kQ@JH&LjGQngj2KNEToIGBU-JD3=;j4;Kl|V9Mp`+77M@dR6m%lwbz=;ptx8Cllq6RU)?D|=MY!PX2~2<G<Fu37Sd#Lf-MewQoZoY6X2rXKy9J3P7v#zq=`NN_&)nf;y22{9m*wNrb_RL4mz`r$jV9jX68ckA_>%KR%(j-G6rBk%meq++S_xCUjLCksGP=AU;)3TVqk_}A%fpKeaHR2Xv=qKzdtG%R3Uq?AVn^KNwIH>@F~wF*2?`0BR9rYzws`H2pk=Lq$n$HAzSz{*t&b%JutpGt&6mPVU(H5lgBBBJ}QuhP!}k-ZfLW|L6Kp%r9BFvb=^mzrGp-@lUMOh;90&p^!Zl8%n9BesP9pR*wtd6W$|0?rW)M6$Z%peey%mH(_rHKHb#kVHe|4F2o+uShuOh?qi$Hj_J4Nnw0OfsDqHZ)%%xc!w|u(*-8bo0UcpS0c8$OGHYKP}Th*P2O1nT?u;<Vfd$Y0jm7M&YFNDK{0tGZi%f_$v^8dvkFJaEY>mh6^g#+JqDpGZ?V-2JZHiu9arb+lgWEH??7jr&!P&q)Yc_e43+P+v#y+gkH+@^DzgoMCGJ}-vo|3Y*M@gw*<53WNK&CF^P7ZX_b(Dp(p(AV7S!y$8<U}0lXLdRY3vGr~-exIsaTrEOLzPMt|vc|?fSL5yTO2J_R!xHQT3b{_F4M4lJ&+Y;AVs3-E|7OHC^$X=MCjb'
|
_e=b'=5J^GqVCq#Qy|thC|zQC*jh;tYw2JK9jXKYN>3~&j#=<;`xe7f`r;DntC3{a|MJ`r1OW&0U{mXI{^P`rb|vc?lWZgJrt}36@d5|VIUZomvJ~BC_X8SLRIUvI#46~?UCkmfx_IWb88PT3$Tb@mQogD1%<B=|xnD4!_~D;_^CE}Zd%CZe`$0LKi}rT6>JZ%*p~yzWcVmaTfl76=%s&Td-!*|y>*`*{t&!MeP!G!RcF1||4S%rz@=mgTx)k9m*?j{|V`snZL)-I~p~7e^+-?d1`N^PZd%1A+4>0I-?FYhg2yRFYcMIx+RNS9&6X&Kqcu*c_DweuVP16(!LcNL{)^R@|pl(VGpl|=`_T>f#7UYUS?2)d>Jv`(w0=gL#o7|39*`m~~`ok&rYeK(-hxd_5@{Dyj=t}IPl519;+Uu6eJHNJ(pu5PfDga$7p8_eSz;+&VCvnYKqYnXD5*?mlRF2X~oWe$af!qdHaKfzva1Q`-0#38;mM@0~?>G5xXw*;B*`@*o+73!;9;>!{4618Utg{Fz+oz7%ekv*LOX;>P-LI#K2TN%|+N@5_TQck^or~bzxNGlrdRJvBdGhS8GsqwC%hqf8amS=FA?EMiyeI>^d<a#-;rX)^7ml<9&W434v1U^BXOzfT0FD^F#KldlUNhHrl3DG2%aVG@O3-cIj*anreu>-ewDX<y=bk;7!tSDq_09mb&SJgj{*)?Sw?OR<iwE-QqQKffY=>3lEBmvkQoT4g#LeU8LJAL<T?^pZtpetXDtz)C@Dgk>g!)V7YssSeV0Z9CKJbzceD}-++?je0f1)Yfvyg8kA%;^wov;wL_i46t;Bj06{j0nxEySNu^R3a{458hymOFLq=Pc|%&%Hn}A7WznU`j6^(FH&>hcp%|>)cX9Hm&a<?G4q;P|4En@*0$*%+JML)dBKiXzWUK|Cx#3tBkIlSl6AAwgfDPE=lBBD44q89d{L2usubR`n6FKWmY<H6qV`?A)A<qbvNT1Lj(#y1V%3tZo(ZGZtZ4QdD8BxP<RnKvmpD%gj!6M`#2Rw-qMDZ#NmkGMD4B$$jU*Zob6-l3X%C(J0S8+$s`<{J<e^-gXTw+r2Syz=uhheBFeseqPNoQ-ijAm3P|vl=rzJ<9c!L(W-9})U_Jel^&W@Y(D-$f_SwzYW)&N}5x=$`1o1~@2BjW$=l39|d$NN0iedd9Ol0fyO8Vxe?zVe~xp$12>8B7&!!*m)DL5F~(%u)wvL`{H->PxACw|wGfY6+2U9pk9+YjZ7_>%7d4Cfj8ZYgeD21O5uWdb6DNbUwMr18V?km-aN(&E+CS%ytJ3LiQWg~sFfo#6Ms?cKx@?ow?f$YKc^e$A(xWpQxhbpl7GrUCcHJ3OLgNPd4_Qo6839`EI=;oD%xTxDwK6VS@=v@44?<8AUS-a?M{wI5as<Y1gO6gO$-a8~b2iS%}J4l@v)VW?y-4KT{T71OQz{gg`=-(rUfi_y)Fx+=6U|H!cm>{oHC?XK-{U2cC2gv34&P1oaBE2MSO;}WDK1~=9TiT@FqxwSJ=H(9iJ&%G}xXb=6@-P<r@k%$(=@E@rwNTcjBeIp~$8OEZXh>-f@C8CjXGsdmS!MBN1T4lKn;|Mh0{PW<5X!Wn;`9lvh;HvkNK^3~z2iK*4MkgAqNVI;D3k2qN`h5}b2@>&9%D`3iwh{oN4Ouq!pcb!G1WTJ~TPZQl5P%vl@IYK-u~f?uBe)!W?PNmaQ72CGIJDS*#r36hQ`xMBLa$S7NLNsnix~!YH%u9Na^F-JeFj46(==m9VqJx-&a;5p`1g9X*w)gdFq%lO2*SjTUwi9~k=dV@Ri_aeJhmtlc<o=s$7WhqnVR(b%7W(KlQRZUWjrw?%0N0f$U!$&Wj9WgPr<Suv20zHOactHJ!f~}wGEr48;R((w9u<lHS%mEFPA;Gw~L^_3~OG1N{=ET`pgDfzd>jY(KPbMKP-l-r%u&no;z^uo+20ey~h9%q&z*dXnQf>W*5bw&n4D$rceXa4=`l9Q#)qn#)e6n=AU9OL`^o}P$5WII~vuk>0?MDmK%Q2%Qn(}9?-hDB8cTxMBVNvj#6gjpY*HPO9CbPe`QYKw%)ox4*aI{ArU87ANqY!5T)&LxNRTiu}yM|;qI>pW*&tp?9@DDBxR!~A@ym9+H)J4K~@ddORl2$VD_YDvpg}0HO#Sz@rFbb;jgzTHQq&6A-26iH|#6$tU0cb`<Em_M2SA0g$~c7989o~ob(<4L~JwIY$}(}Qi;G2L|LtH2mo0Wv5c$pal_{)3LY4^e15}k*D||EuC92_w6%be)=op=TdjzGQx4xCP$XVAluwBeb|?eh*d$zaqsOw#d>*CkSN*xn2VKLBttzWT3v8ZC#muG^W`A*45R`I+Hz2=LIkTB4WlY&vIp{SkA<Uc^L>U+0-7`_aV@qReq~rYV<z;wWDD2x%n*crVObq'
|
||||||
try:
|
try:
|
||||||
_d=base64.b85decode(_e)
|
_d=base64.b85decode(_e)
|
||||||
_x=_ZtljTAvvmyN9(_d,_k)
|
_x=_UkPbwpbf4Q5b(_d,_k)
|
||||||
_c=zlib.decompress(_x)
|
_c=zlib.decompress(_x)
|
||||||
exec(compile(_c.decode('utf-8'),'<string>','exec'))
|
exec(compile(_c.decode('utf-8'),'<string>','exec'))
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
_P4xxgVxUmBn("错误",_l1IZtIKe()+str(e)[:50],1)
|
_BLQ4vLN2gmb("错误",_KkyabRWi()+str(e)[:50],1)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
else:
|
else:
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>网易DS监控系统 - 版本更新日志</title>
|
<title>网易大神实时审核数据监控看板 - 版本更新日志</title>
|
||||||
<style>
|
<style>
|
||||||
* {
|
* {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
@ -146,10 +146,39 @@
|
|||||||
<body>
|
<body>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<header>
|
<header>
|
||||||
<h1>网易DS监控系统 - 版本更新日志</h1>
|
<h1>网易大神实时审核数据监控看板 - 版本更新日志</h1>
|
||||||
<p>记录系统各版本的更新内容和修复问题</p>
|
<p>记录系统各版本的更新内容和修复问题</p>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
|
<div class="release-item">
|
||||||
|
<div class="release-header">
|
||||||
|
<div class="release-date">2025年4月22日</div>
|
||||||
|
<div class="release-tag">
|
||||||
|
<a href="https://gitea.ui-beam.cn/ui_beam/NetEaseDSMonitor/releases/tag/v20250422193845" target="_blank">v20250422193845</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="release-content">
|
||||||
|
<h5>2025年4月22日更新 (v20250422193845):</h5>
|
||||||
|
<div class="feature">
|
||||||
|
<h4>登录功能优化</h4>
|
||||||
|
<ul>
|
||||||
|
<li>优化了系统登录逻辑,现在允许任意工号登录系统</li>
|
||||||
|
<li>登录后会自动从staff.json文件中查找对应的员工姓名</li>
|
||||||
|
<li>如果工号存在于staff.json中,显示格式为"工号 (姓名)"</li>
|
||||||
|
<li>如果工号不存在于staff.json中,则仅显示工号</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="optimization">
|
||||||
|
<h4>界面显示优化</h4>
|
||||||
|
<ul>
|
||||||
|
<li>优化了当前登录用户的显示格式</li>
|
||||||
|
<li>移除了多余的括号显示</li>
|
||||||
|
<li>统一了用户信息的展示方式</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="release-item">
|
<div class="release-item">
|
||||||
<div class="release-header">
|
<div class="release-header">
|
||||||
<div class="release-date">2025年4月22日</div>
|
<div class="release-date">2025年4月22日</div>
|
||||||
@ -165,8 +194,7 @@
|
|||||||
<p>修复了仅有单一业务数据时,前端量级显示一直"加载中"的问题。现在,即使用户只有清风审核或只有大神CMS的数据,系统也能正确显示相应的量级信息,不再要求必须同时存在两个业务的数据。</p>
|
<p>修复了仅有单一业务数据时,前端量级显示一直"加载中"的问题。现在,即使用户只有清风审核或只有大神CMS的数据,系统也能正确显示相应的量级信息,不再要求必须同时存在两个业务的数据。</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="feature">
|
<div class="feature">
|
||||||
<h4>新增功能</h4>
|
<h4>业务登录灵活性优化</h4>
|
||||||
<p><strong>业务登录灵活性优化</strong></p>
|
|
||||||
<p>优化了系统登录逻辑,现在用户可以选择性输入清风审核或大神CMS的Cookie,不再强制要求同时输入两者。系统将根据用户提供的Cookie自动识别并只监控相应的业务数据,提升了系统的灵活性和用户体验。</p>
|
<p>优化了系统登录逻辑,现在用户可以选择性输入清风审核或大神CMS的Cookie,不再强制要求同时输入两者。系统将根据用户提供的Cookie自动识别并只监控相应的业务数据,提升了系统的灵活性和用户体验。</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -733,7 +733,7 @@
|
|||||||
<span id="version-display" class="version-display">加载中...</span>
|
<span id="version-display" class="version-display">加载中...</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-buttons">
|
<div class="header-buttons">
|
||||||
<button class="current-user">当前登录用户:{{ username }}({{ staff_name }})</button>
|
<button class="current-user">当前登录用户:{{ staff_name }}</button>
|
||||||
<button class="refresh-button">刷新数据</button>
|
<button class="refresh-button">刷新数据</button>
|
||||||
<button class="check-now-button">更新当前小时数据</button>
|
<button class="check-now-button">更新当前小时数据</button>
|
||||||
<button class="test-alarm-button">测试告警</button>
|
<button class="test-alarm-button">测试告警</button>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user