From f71b582da439851c7ade784528a1d005ec4ce6c0 Mon Sep 17 00:00:00 2001 From: dd <535915157@qq.com> Date: Fri, 17 Dec 2021 15:51:25 +0800 Subject: [PATCH] =?UTF-8?q?1.=E9=9B=86=E6=88=90MqttServer,=E5=8F=AF?= =?UTF-8?q?=E6=9F=A5=E7=9C=8B=E5=BD=93=E5=89=8D=E5=AE=A2=E6=88=B7=E7=AB=AF?= =?UTF-8?q?=E5=88=97=E8=A1=A8=202.=E5=A2=9E=E5=8A=A0=E8=A1=A8=E8=BE=BE?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vs/IoTGateway/DesignTimeBuild/.dtbcache.v2 | Bin 394265 -> 394265 bytes .vs/IoTGateway/project-colors.json | 12 +- .vs/IoTGateway/v17/.futdcache.v1 | Bin 2261 -> 2521 bytes .vs/IoTGateway/v17/.suo | Bin 185344 -> 220160 bytes .vs/IoTGateway/v17/fileList.bin | Bin 102833 -> 116105 bytes Dockerfile | 2 - .../20211217052811_expression.Designer.cs | 794 ++++++++++++++++++ .../Migrations/20211217052811_expression.cs | 34 + .../Migrations/DataContextModelSnapshot.cs | 6 +- IoTGateway.Model/DeviceVariable.cs | 6 +- IoTGateway.Model/IVariable.cs | 4 +- .../BasicData/DeviceVMs/CopyVM.cs | 2 +- .../DeviceVariableBatchVM.cs | 4 +- .../DeviceVariableImportVM.cs | 4 +- .../DeviceVariableVMs/DeviceVariableListVM.cs | 16 +- .../MqttClientVMs/MqttClientListVM.cs | 102 +++ .../MqttClientVMs/MqttClientSearcher.cs | 13 + .../Controllers/DeviceVariableController.cs | 1 - .../Views/DeviceVariable/BatchEdit.cshtml | 2 +- .../Views/DeviceVariable/Create.cshtml | 3 +- .../Views/DeviceVariable/Delete.cshtml | 2 +- .../Views/DeviceVariable/Details.cshtml | 2 +- .../Views/DeviceVariable/Edit.cshtml | 3 +- .../Views/DeviceVariable/Index.cshtml | 2 +- .../Controllers/MqttClientController.cs | 46 + .../MqttServer/Views/MqttClient/Index.cshtml | 7 + IoTGateway/IoTGateway.csproj | 2 - IoTGateway/iotgateway.db | Bin 278528 -> 290816 bytes Plugins/Plugin/DeviceThread.cs | 12 +- Plugins/Plugin/Plugin.csproj | 1 + .../PluginInterface/DriverReturnValueModel.cs | 1 + appsettings.json | 2 +- 32 files changed, 1049 insertions(+), 36 deletions(-) create mode 100644 IoTGateway.DataAccess/Migrations/20211217052811_expression.Designer.cs create mode 100644 IoTGateway.DataAccess/Migrations/20211217052811_expression.cs create mode 100644 IoTGateway.ViewModel/MqttServer/MqttClientVMs/MqttClientListVM.cs create mode 100644 IoTGateway.ViewModel/MqttServer/MqttClientVMs/MqttClientSearcher.cs create mode 100644 IoTGateway/Areas/MqttServer/Controllers/MqttClientController.cs create mode 100644 IoTGateway/Areas/MqttServer/Views/MqttClient/Index.cshtml diff --git a/.vs/IoTGateway/DesignTimeBuild/.dtbcache.v2 b/.vs/IoTGateway/DesignTimeBuild/.dtbcache.v2 index 3af6b3defb19742fec440da06dd13b686aa25370..e4617a7e7c90e0a50c509971d27a617f034f06f7 100644 GIT binary patch literal 394265 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
  • *8u}riy|y0^tqXR6Ny9COr6#+j<`VT|F) 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

    PQ&df@s_R%)xYkv7wzW4e;BUOGCdTW! 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 literal 394265 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�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�|XA> z2mNfm0Ss=dNvWApwJ7{oTarL1Q;#D=oo+@F^qr#P6N&mU}%f##E0yZQJpEBGYm@MZbqUo@&sVG3ByZ( zDnL~M297XL1YmRsgF%4mKn(##c`&F0U?c|vHvmR!FggRM4V)*yunUG+0F13*ECo;( zxIlnG5{!TV7zV)@2jC*$Vu6c+O9U9Kz(@q(Qs6QHh8!@$0AN@FV+H^Q4ya*#F^m=% zPGL;I2+D{Ir}BAJ&hL+=ADvNSC}T2eEM=^mUFT6wv2*?$kkjga-qp}Jh0Dj_JT50` z0nXHN8W!MOteV58!wJ~A6i&0wqi`~HK4pGJEubvOsD+e;8MTPAD5Dlr7H8BF%94y) zN?Dpw%P7k-YB^9m_g=8cE#mrlDy?%@rD z?UzpLB=_(}z(4=eX}8K(${$RB{H4=6%bxkOK%bSWr7Nc>OkdWwhqZLqkfK|r`TGEc zKMM36ym0TQ(lYzGTX=!KGo-M-b@!0WL;Xs?cPzx_)_E@0f3 zkNZHV`|;WJ*ZsqKe8>TzelXO>r@;R5K?jEVp->MB^~1Q_<3Fms7}?(DVq}9unM(bL z*$y#Vb0rg9#eCcyCT17o?!mfvs-`ZH(nnBAru31NQYl@Ua#TtmO*tl|kEN7J>EkG6 zQ+!S}b-9$gD6`BY@2AaNZSz;o)<^uyxSjpm?f=QP|5mGU{3A2&Z}LxNN&!a+90eRBa12mZpe#^Mpd3(MfHT_3 zr9oSB5ZcJmXalqrXbZFx_}}{XZM1yJqxss$2#f*735)~A3ycRQ2uuJb3QPnh3-Av4 z_J6yk%RSS%XNJHGV5Y!KV3xovV79<)V2;2XV6MPiV4lD{V7|b7V1d8_V4=W5V3EKg zV6nhrV2QvIV5z`T;Lp3-=LY!@8~6|#1vUbk1vUd)1hxQM1-1hJ(M3MxT2cM|wW8$R zss8*EAn#7Oe-kot-3$3uYTx2g|8~;XpFgNt{pNt_vF?+6jz7N&zVk_IZfcwpo|j+t z_T4;)o83~AF{}1SEpbQcQ~49Hz?dXjD=c-wXY$8kL1C#AmO0^b`LnU0u*?a`m{ofu z*SiB{{xU9jpw_zswZREL$luHbg$-8V<$*IcnO6!06zT0p`OV>`|IERph5f0HJp*|k zpy1(?-rRUQz#c!nZy;|CL?n7E74g!3fxK-Hk?5_ozn2aOw6@Z#P6F zdMg$6(!qhe6%mo>t#pW&4h`gOiikvSrNg}RYvVfqYX@wW^U5^FNZG8tsa+hYI3m016{ z@soeYp^>{Z>T#C_G$vyedC$tdGwh(vFtWEi4O`B8y6DL8tZ=~ek^2bPTFx^aagDy=bRmP_;Yr$B*4};|Kk+_oU`Q$_L5m`h&CX2}@WC{6{?CfglUvmFS z@)cP{z9y^5Klv)^{tD{xtEbDA)6G@Wsekr5HM?@P^qpNH{Ry4}BS`!T=}q{YpXC06 zYt)RSe~OGEPm|H)88U`EOU9Dt$T;#mk*kuAr^*${&B=4KBFTWAtvMo#ad2*Zid)QN zQtg80)?Wz!yv0oV>k003{fpaA*H7ff`K9oWT4ZEvV?8M}tBkyC%Vb+#v1N)aui7%z zme*{VX3OigOt<9?TV~kurY$pVdCQhrw!Cf2Y+K&3WsWWH+A`Oc_iUMG%lo#>x8(y{ z7TEHkEemb=$d*O6d~C~NTRyR6i7lVnvecH(Y*}W@=e8`jBi>7PnN*Ubg$y6>A3n zz7=aO<#&2xvUgsxdQGx=&7Z$|&Eq`R;w#w5>!ROU!Db(xpJVZMwpL)WlFdJ7{lI_9 zN;doQeEoN;*%aZi{mB00QeIOvCYKR;t#$zS?aFF42jU$>ijsrLA>>eU7&)92BgIJx zas(+!jwGc>X>t@fnjAxpC1r@LNOK%jUhkEq9#8x#G=uf-DZjc*AsOsgF3P% z%y{ywx2Jd~6z~cc^vdV?{hgSHcTxeb{C3W$e6Ljyt>X5FRDOYvx_9=Y?js-drkw0! zdhdcCwMf=GS$5ZoZyCrMxFb6nUbBDQZZtg=Zc?HeXY;#k!?dxcDo?Pa@ z8B7JiFk5OJXPhrrKyXGKW0);QU1wY%7e{bLU1OLnMm=X-DA!GJMm=MgEk=E3TqKuN za7KM&m@P&FXIv~-TX04LW0);QvgS@kC2Q^^YwpMog}KRvJuD<^?#Qbmb*o&X#QpB* zBu9qc+*D`x+vPScU*e6<#xPr6OeAaWm=~7GnmfswJO5p4?u>Fj+E1%d*&ppu=11FX z`6ck1lT63BT|6t7`fZ&}uFk3ZQkSAG?ho>Hwd2&yv zWI-N&{uaBR&`;zlRs|-*(wdt}CO6yTu*MyzZ{>Pj1rO93cc9if;XApKS3zN|6V^H5 zd%4C}L1CQ}loPaE{mcEfRPq?TxvAeh{aI~vA7c|26Z0Qqqxl$S%g;x$AW!7GBUeo` zH?EpykDbm7XMJ()5&)UQxp3H21plu*A)c{S8iDN{rJ8s)W6Poqo=_3M<^Lp_}`J=AYd z-U#&!%8XFINqIBWGbuAe{TAh|P|u>w3iaERw?jRfGCS1oP~Hjk9Lk(fze{;H)N?6w zL;W7*y-?4i%nSAVl=nkDpE5txA5cCB^#aO*P=84IFw_ev3q$=8<)ct9qAUva$CQsl zy_m8%)Spm33H1`nl2Ct2`83o^DN95B8RfH3FQY6A_2-n&L%p1`Jk(!Mz6kXS%8F2b zN%=C=D=8~O{T1b_P_Lq_3ia2NuS30>vO3h?P`(NE8p@hbe@po`)N3hgL;W4)yHKyA ztPAz`lr&vOd%qN+#4BC>uik1LcQMZ=`Gt^(M-uP;aJe4)u?eA49!` zvL)0%QGN>bR?5~;|4jKg)Y~ZA7%NBlCDgm+)g?Nh1bI3|N#*GrN=}~6rR3)6G$oy< zLrR#Z^C)?FI-ioCr+269o~H{@3gziND0}4T!j!^!dQZxpd46f8z3BGJvnw<;`8O*x zox+9XPfh7lQp`xwr_r1)g&9e@N?t8pHIJgp=Oqg{B?~zv3ppLYMe~z|oRWo{{*#5A zMlm*)ks-gjo|9iJ;{Ujsldi^Z>gstEm9Nj>SNNGJ3UfHsbUyg>jG952kx?@#Gc#%y zWmZPbrp%TVp18<+vdj|)fwPaCQv^7%$T>xT%Q+{@JaH<7vmhLenm{dqT0m`q+CUwF zIzU~4x`OrWw@i@ znoqU!>gd{e`n){0h;{OGuN-}Tp010@{rBbQJ~{gS99DCl&GS?Z49%;IMx|u)UjFPSYwzi#&OOltB%VW#~H(HF^+deIdy#2INlg$ zi*bT8%BvHy#tFtSTZ|K(agsVQYn*5dv&E?3jEbs4)~H|%v&A^s8I{z@S>t45m@URB z&Nx+_k~K~-hS_4A=8V(TX<6emW0)<*8O}IUosl)pFoxM;oaKzl>a47BmNCp0qlz=C zve2&ozEm-W*YqT|n*WW{c6m88@pAS)+q7%od}gGj35Gvqnc_m@P&pXZ()I zJF1J@$L*?1_M>z$AH{6>C|#X#hw7R&x*Ef5F}gY9PSq`IbTfw8Vsv-LU8;N5=xz+N z#pvOTyH$^@(Zd*Ki_y~=_o$v(qo*;<7NeIl?p3|AMlWNSEk*jm&-$Bh4pawtNz!obms4DoZj)MNKu|6|?2LGR=KgURTqy-?wST zFk6i2&Ui!K>v6xZryIj;F=ja9O?ey088eJwwiq*=@s_+pDnTX(VLt4XRfA~%mlID zUY6~%&j9^5TEefG|D1{kx)>wj?DJBPn=8P7?Mi=T{MUC}pv!Fk`at>mYypx50rlzr zNSzVDkzZlbo0~qtZ>6eUsut*~F^S$v)xC6fpsU9udMhQ9 zJU9d6ezRN@$k~{J|NKaAk5e+qgELI-I9(OU*`~;GqPNGXg_o`l3gVx;BtASP_ZdO0B(gT_9(-A`-oo+IZ>uKo)?HNc2`}>!lk4SsXqh(OapV zmy!hmlSv+|*dFLUv8M{XeX8{JPn8D(-8UxDTdALy`UkpSOrp2a053fl=m9Z_-bw?# z^iZG&#w2o=-9iS+rBSQ z_GJr@tZA66X_(PV{gdUh0FM4((VLrI=B3XAI4aRwX}Ooa2xM$U>PvJ!JyDo)71Kw}9N_9{T||cj}7?bF& zwAo8P26}T$qPNl(FZ~qgEisASN?X13bD+1zBzh}t^U^PY-WHSSt@Ia9_}HbT5A#{X z@S#6?^^QMnRgV2+^^SkLD#rn`jH5o#Y-Lrf{`#=gIr{L_?_A>T1a>uWXUo~?lTznq z*f303paNhQz%%Pfn#l-Te^v+7lJPt0UnTwzfM_^!1aSEevj-VXD zXc`LRXi8HUEORu45i!S781`};g|RKiQy9Q<0)UGAD}^)B-6))H?oR2>>0=5fj(bu#JKT%Xi?h8H&hz%6a5A?qg)_GOD4doZK;hi$ zKnf>V2T?eSI+((#(jgSihYqE1(sLMPSVj$}49}<$lo1&7ers<{--Ma`pd#%Vr<^GXXSoIP4d;T+K-3TJ{AQx<2`63UW{T1r`(QOhXHGHN+x zc}A_EtjMU9l$9B^in1!BR#R4I)Edf~j9N=sn^Eg1>$s#9MP<}_%KD7jK-rK{8z~zz zYBOas=LaZTGHNSjYesFOY|H4~WX$4jj9E+xq<~z3Tp$z(fqa2{;LjWMTueShF+M~I zff7JTfs#Nefl|Ox0!IPI2pj{H5hw$c6(|do6DS9i7bp*$BybW?QJ^AFNuUyNs=%qh z=>n$%X9}DNR2HZVR28TSR2QfY)DWlv)D)-*)Dox#)E1}>Bx9X92tDO!^aOed^a6Sd z^alC}^a1(`@Gby<^aK2*&mZ={0AQd1f3foiIxq+rEWlshdWgUfV5q=QV3@!#V7S0= zV1&R3V5GoEV3fcpV6?z!V2r>RV64DcV4MJdLGlM9z+Z{{Q3y-`CJIahCJ9UeCJRgk zrU*;{rV302rU^^~rVC65W(dpxW(v#%W(mv!W(&*)<_OFI<_gRO<_XLL<_pXR76>c= z778o`76~i@77Hu}mIy2XmI^EdmI*8amJ2KgRtT&BRtl^HRtc;ERtu~K)(ETt)(Wfz z)(NZwlz;-(3#D{?JqO|Bzt$n`{)x4wb2 zBR7)vTSzBzE9p#bBVEYtq$|0DbR&0??&L1ggWOGel6y!maxdvk?jwE3 z{iH8>fb=8%$pG>o8Au)?gUG{VFnNRwAqAJ?9!4KuhVu6=LHS26>-`p=pI_R0HvA5m zL;l_J-XHMT0wT+NFC@RV)b~;z-`R5CE4cql^1rs^cL|m{^vix93CEZIK8E{b`R_7B zmH;nHjwgTiGT=4&7`w6*cs;zGEeC!XOE)$lJ6jI?a_%p<9Qc*&qd95H{a27?Av?Vu?cH~CVp4>z_kef+IatrB1ZY7<`ZKMmiopdF4 zkZ$Bo(w*EzdXT$GPjV0GMeZfN$$g{`xu5hU50HMOKN&zCBm>DqWDt3n3?`3|A>>gq zlsra;5n1~3aVpDRcI!6P%>h|kzTg~?;cgDd0R05>PoBurBl6fX{o_e9|72vIev0`Y z++Se+$tW{hgh}b6^7PYrY|%%{Y>{X3^cZaJ*kQKFrewAVe+qN6TWT^}B$+LulG!5W zt;XM8!Y7$6!aGg!>%(lR$!w91=6IMb$0M07($gFdv*masvqc7(<6*WOkN=_BBBQHk z%&JGvsL_!VWwhp|#yH{szN|?y7bKYrl2OTA5c`AnnVe53ICo&F`$1dge$YObGYtiW zWlmV`gfHYAL_uM>6IM9kOF27HP*~xFl}`9d&RY}|Rytvo6TX%+8U=+_PDtj0Y;;E= znF|tmh9s+k*ylw?@9&319O%bQBy&L+2U9wb^MnO|sYq{boHw+;cl6PLoI{LA^j12? zOUDLsela4^TPc|f!l6FZAF0yS|5sBVP^}KXpAXndtNc2{!@18Q|x-XE?8xe`#N`1VP%mvZOTo7I&JQK(m zo5+)e-ac8z_$SM=fsDV2Nc2`p=7Pv^U|f-V36abNF{|vo6UbPp$Ww;iK4s?kWA$zz zAgV4SVbgyE6wxL`+?=9?Eiti*9>wAMtL=$v(zI zS4UaKVXW zk_YG88NT1@pE${5G+!9!3CB>zWYk#7*v#*p-SHn@>OPs#u@@t=_mLsm`v64*iU9iy z@ZK|*AOa2qiV7434iPv6I85L$pqM~0poBmPprk-app*db%qBBBnsN}D$rqu_I1U@g4`d_RL^hKj$rkbx*-CyU+sH3uH^$ZnBt>#aE=iM+B?ps3$f4vgayThQij#lpT#s?gS9qT6Y_7+6?%&y5 zk0QA|mw9Xgd6CGxhlx}(@8LB!@8Q@I1?N4ylwJE`l9|o$a-N=)rzgvn*$l79Y=$X$ z`c-B#aK{d_8HW7!dH{dHb)$cCoZndcW{P@FUeXsF`ZL!4y}Jve_>$`an?t3RxI_7= z%pfm#D3`cHxzq{CSTH*#?mL+)U+_S!bq8vlJ5b-tEc$}NIw!1mf|*!fP+0GT4Nmw$ zrrZ}4HdsMF8aiVW7*V7*x8J_*??3aZzJ>i8ta}Esh+4tJC%w7xN2oo1df!0)AdN`$ zRx0A9{Q~)8H6qblX@4&r5Xc|05sBVPf5$;pCHyCTL?C}lM?P_S`-zwI(vgAuogI4ZQo-Vl-KtyJDiCkAq1hloUPrIWl=A&`qc zL?n7ERrJ!yfm{$GBGFr^l9x^i1q56{)-^j2!-rDV92z9G4E?(Ko@5__u9+owu0T#Ad|xL@|k zaH)UhaH-M$8~nS+L5=f!dj9WovD?Z1b9yC^D8B@O2!)LWUP_? z>VNjSvm5*mLUKV_os*KwlSO`E(A!@axheOrc{(MRE{jO?R@&tY%Jz>B4tm4=iO7DU zgMTHH+oc(Vu-022$L`HGw$Y_ke#l*4y<;f;qoEUJ<%9B;%Kz~im{ark-+3=0xfo`9j$sEmm>qzQ0v&-) z0-b=)0-b>_0{l(Gj1QnI&`qEl&|RQA&_jSJ8GpNrVeWVh%w4(k&W*+5lz;U|Hc#U{=$m!iz>aMs+z}r%@N-`9*IWZp@0ssj9PgD6XBV#k<@KyBToLJTYpG&#{eHW^ z1;ov6sl}a9LN4v^jN-;HTZ|)|QBtn@?~EgiVYV1YI-`^<2;ht(jbXMJrJZq!KI|nyZmzJSQ{0YDl{FdMj!rQj%4{)CbH?eiT!S-CGltn> zoZ*Z!WhDn^oM8;J#W>3um1U6!XPjjWv*i&kq>7zP&8YBBfM5JAI@r^Xtn@HdaYDGoYg?lYynDp?WlY>tAV1~ z0vzqNWAfpw28w12-=}Ks`&3<3^A5z#ZmDNGqlWy|TX49?*`guTbV715O?x~Vy5n() zYM4Ew4b71*YRGiV&7-oyn%o$h8+A7XyW(>2%Xzq-wWZ4yGG&hFXVzh9^)v_XsGg=tKY%y9o z;~H74#ThM)VYV2poN=v8@o`2gW0);QYiC?1OT0LvwK2>Vqm47Jm(^dK(Z(2Ni_z8@ zH^{;;&S+~4v&CrVj2mUm7-zIIhS_4Ycg9V!oQyNt8^dfdIymEIS!u=@9gJbN7#*E) zi!4IpjE=@ITa4slnmx_&Fk6mCFL%W5m34RA5$k0Pv&HD`jQeCs9%uA6hS_5DamM|! zT8}gO7{hEa`a0tQS;)s3eT`wZ82y~lU)K0>Mn7YiEye(6JSfZmIAee@%obyyGaiza zft)eW7-owx$QcjIqCw6WWDK*#NG_%+bLPzL54f17ZXVhruCEGVf6N8BxdOEC+SMVP z)j-i~;hQtwefwTex}XS}E;WQ_^NFk6g?&Ui^p%o-DoVYV2Pobj@nlr<(9 z!)!4oJL45KIcrQdhS_3FamK4^O4gWS470_U>WtU8+@^mjPBn(vVoYuOrom}U&K z#hC7lH`Mg3G2Iwui!s9)Z>kwtV}>!z7GtI}-cmEO#!O?FEygToysc(sjakMpTa4Mx zct_378ncaIwiwA^YdIV&(&dg+GT7RVrT$iyA1nCEca1qtEJx-J)c<|3wQ_sVvY46s zU9ZeH!EE_v{O;k{YNPuYn`CV?_c1n_k72fajLpvYQI<_B_=RqEU+5Mm{3Hvixm|2A zyD(dJ@y{Hto$t>F?;gm4aPCVNjK?6Ced4| zjhC(ubeot&Z>6?gN=B0FWF)!1FS+pMBY`aa8u(xLO_x1Y%WnZ=cyEMvun%~#!fh-H`_XWznYypzN@LX)uy=r+sx$x#^ zfh^t}`K>^2ZY<{Pj??FXEbJVS=&iKeOJ4-C=yOD(x6%qPeHqAt&=HB=N-MqezdIOy zy*~t*Ko-3AKf@q5xyK%l#(fZB&AeJm!=$*(nnK{N$F!LWm5V$O4*b?o>DHQPvHL^xYH5% zC#BBK=#%(FD+p8o;$!lE&Szv-t&BP#qYkDVoKc5T4wa!+waj>{UATTGqnL1IaMRKJ zzei`(v6N#o>Nv`A8Ff76_>4M%azaL(NI6kP0r9`c;Ghch6&UJ6Iax;RaJLNPIfb6F zI;T+>kaGrwQ8#B%&XRF5NHTn;3VjtB?n2L)7Y4KdjA~)X3c$D(2BiRuOkvmwz}OQ8 zmH><{Vdx0J_z?z&0E`e}_y@ok5C(VvGVY@qAD|keI4F$Ys7a}rQMD-iS6h-%btrW* zsxGB&M%AO#%c%O4`We-L(jcQ6QW`RFfx?i5#uUaSG@&r~pecnB2F)l8BWO-(&aeOq z0|Hu7TK44e&|K;e|%L<;BiCQ&$fH<`j2x+xS+!%d}d zu5B8H6Kc~boHd(4nZa2w3g^FOQ8>vpn=+e|R+KpzHJ36sqvlcOWz>Ai{ES*aS&&f+ zDGM`d5oJ+EEv78yBoAdtMlGc*&8TIRWf`@cvOJ?!P*!BrO3KQNT18ovQL8DdGinWm z(;;gqYcpycWnD(elZg`;>nZCqY6E3MMs1{U#=*@h*+R$3ga3STNq)dVUzXz*|ealLYYg z5$_iLzxK`q-pXnJ|K*m>>Fgor*_-Q1W->;G6!!`l5|t^DDWVcm)D;;rl#+(iq@+-W zQYs=ORMMb%(x4={QDT2PqKN+Q?^=7U^X!M~@BV*Yzx%)L-ks0+e)jiy_w2Kuv-dvF zv)1~qg`tUv79kAHK(zW`XzGz$)!d4?P0ekX_G;Q={_q7T&*?Me;*~`rFfU+6s~L?M zqlU{&t}rn#VaBT&k9k?m%b1C3CSqPw!-XB!bQrBoc~cFSXJthyZ)=8&EUvFG?_#E@ znTB~!&3l;l)x3|HrDhgpj+!}`xoYNO=Bt^HS*T_qX0e*Zn5Al#VwS5}j#;5*1!k3+ zRha+AxjXxDLUmr*8CIzroqP9Kb2ob~RVsE0&l@Z16rME;^!xGV`w8azxttaCk@|f9 zk%>?K)ryxURC-*7nxYdKUH?l{c%DT5TDCVw*P-iC3v>gj#kL!XEz!yNR>aomCe#K^ zXWGA;iM82Q2c3dWMSn$qL#Ls-=yY@jx&>CNaN45VP&?Ef-Hz@+9Z*N~cXTJ}gziFj zqt56abT7IO-H*DU2hfA)A@nfnin^gkPjY`lA78AR2@o zM}yH26s{VIPW^d6#kz7J8VUC-dJa90UO=PJX!If)i(W$G(0DWf{hk#^GuWT2I+}%_ zjpm>a&|EYR%|{E+LbM1iMp}Wi6#ZHi(noCnrAnmr(3R*abTzsLU5lEd>(KS61-b#Q#7zv9l@mR;CEQw+yEVkTZcP3?d6eD4=RUW%5DXXFw35%`q z*gZ*E6U9haY@NrtBxPL`BVn-(9(yP$8=@Eqi*5ASBT3m9#Yk9elgD}{Wm6O*VX-Y9 z>z$M>QH+Ge#AE%EB2kQl#kP5DKvK3vF%lNr?y>*v5H0RefnHdDi%fF&Lk{W;IUCjDTrbuELP;PF-a+kVk9h< z^w_whB%>G!iv=EgIVnLDBVn<$$0jBv9mPmkY%h;ZO3GeQjD*GZ@z|S5*(ZvTu-LvH zo061$qZkQ`RrlCCNvR&iNLXxYvZVZAnU-uQ@9~L5n3CC@d zGY@1Q%siZVB-5QrkIbW)$1=S#y)*rE`(Xa{WBU_sdq2N@xNaZGzu{~j<+cy^+h5l0 zllb>C+uwHEU-sMI*X?uo_deU_yY27$?TdB$hx}X2_Em2CV!!<}-TpQIK4bevETl3MtRz5 z&oE>?we^fWN9{RW7&cJT0Mih)}VFhQ}hq? z1^NRndOvKy(PIj*dphqT|sCs1~Y&{)SFR z_0T!!Jk${B<=mC%8ssk7^m6S+q?c(opxNH3@KGDM$)BUgUThX^@ zC)$N{rhc8FUuWjm8ToY)EeE2+M$l96Y7laMP1NCs0Vrs^+Em7WO-zerOOHf`+4~(KBcydLF%q#-W$dYv@h%Hkyv!N3+p9 zv;ZweOVM()5`Bc$qIGCJ+JH8qO=t_spsnZ|^ex(szDGOJPpBNvV>eU*RYV1-GAcqb z6h{e^L{-opC_pKcMth>Y&~5?82mJ-V52}jxMb%IR^7|7HKnJ3O(7_ezW;)l+46d6Q zSvNDOZe~v1%!hR|U)Rm-;&sOMiu|7=i8U(d=h3m|`*D2lpXpg&KmIBOCKT9EXu}x* zJ9kLE3g__wSD{qutErD^pr!%lS~b^VZcuXrrnQ>Zm|N7`f@!Cw9j1et4wyUD+=;nc z&E1%L)ZByVqNWSx0W}X`x~l1l>8_?b=210|VtT3Rh3T!PH>R(ezL*jBSV#jIDe9#dF|DJ(3NA~i*rDr%}=Qfg9| zz0~Z5sj8+bWOurk0vo zm^y0eU`{POPwEyDI606rGn2u^XVmhhmgz2oNGv+=u_hGuI>4JG! z&BK^(YPw;1sOf>}rKT6AL`?~1fSLiAL23qJhNu~W8LDO|W|*2`m}k^HgBhu2B<49a z&tXQX8HE|EW-MlcnhBVRY9?YPshNbCtY$K1ikc~ychtOtnXYC!W`>#>nD^DZkD0Az zHfFAxxtRHC=3^GAS%g`lW(j7Qnq`<3YF1!Yt67a%qh<|eotkx+^=j5*K3DTOX0w{j zn2eeXW~-X5m~CpdVRoq5f!V2MC*~(LKViyO#+0wj+e=LaOeHmyFokLgF-2;MFbOpY zOcga%FvV($F?*`n6SKFPy)jkQRK-+NQw?*VngcP1s5t~vT}^e&5o(UW9Hr(cObs

    w83qvnyHxSYP8X8hMF0e*=n@mYpxn?+FGDS8?P3rp*4!OCyX{gEmyM~ zvr3INBCS!Q%|z?eXhYBjHMH!|j)U2V*`#I@W{VnakP$W7{E2`0Ui~=>`-6+BtJj6b4CPkxRx-;d>cU->bp$5mmbCq{Nl@jZKm8IwPy zq(Z7xGyWPgrvLi@^Zh`+>y_pO{P`&_hs5~f6VuDf-BX(1qx{8sXOEN=rzA*m#jkf$ zsb9N-J)Au<>07-D4YDn;N5{-LR}I@xt6tC3Y{1m_V9l60Cvza@XA0VYY2d*VV&WD;CuYw19LV{ff;M1Ud+@I@b57_$&JPu|0dtE7 zPm7szMh9~KsGtp)b{;$S9F>}uEK+gXa zv;ouKgRNrbn!tfvA1G)8W}pXej+twQobD1XBFv482=``f8#7lFZhu@|=>BZL4EA9A zn7QI`AXgs>+JG72!45HVMdCoNP875OGt`53#>^Fq1G#!p&<4zt9=tndu4o*{)s2ES zV4m_|mzcTYaUfSe3fh1f>A|isb4BDpu8tJ60rP?fd&SHZlLNVWQqTs>iyj;hGgnj& ze9?k70KVkGAu)5sUQD`*4eH4i=?<4zffSI`E`n;sm? z%6%aaub>T>DIR<|X0G_$Lr<}w4S-WUI4NeX2p!1Pq3+QJ%ybXF88cUm4&>@lK^rhL zJ@|IaTv0lZt4jrKz|8gF^q9HgbRbus3fh2K=)oB=b4BVvu1*!S0kgz|vt#Cp)qz~S zDrf^{r3dH5%oVKzxw=)*2FynuToN-^ybk2*S3w&vpLp=Yn7JZ$;3pQe0dRu{SI5j1 zvjaC+&<4Pb9$XhQSJV#V>RKP#2Fzv;ZityHZU=6*pbdaqJotIcT#-AFt8?9>4Va7v zx5Ug9y92p;SI`E`HV;b7T+us_t9u1)z*JynS=*<(EoQFx9mv(cf;M0ZJorP*vv?w@`)&&J^z*O=?rp3d7w0oBNtuG4NfLZUsW8pG=x~ z%#9`PO>?!JgORXU%44U+O>0mNM)Q!x_VU=7ann}hemdHXxM|9QRXx}sZrYM^ z_DAEA#rE@9E3yd#Z9wh4n{kr#jf&L@3?8S%)w~Iv{-YGmBdYxW)4Ohr^Q-$Y+&3pc;;ZV zfLg4T$DW9r=Fl9B_EC%7?6Ki-(^#5=(RymJwjLW1H%+NI7;UQ-Ywxk=4n|9}#d>*c zZrn6G=U}u$Tdc%m3*)9y+Pxb}4529t4)Ea8xM{S`+1~(%4f5E^xM|YP!3H^Oh{x8% zO@p_4SQ@{%Y05tAP!E02V#7SPDQ=p}-Tr7g=cXwOKI6em+%%`>?2q0HE0-|M_&FHu`gU&< zJhodxw2?mtBVn$Qo&>g@{Qx=@$!Ac34#Qq$JSI`E`WDgc5Ocz4V1JkEq z_cz63MG4cv;PyvngYM4;%sU=TBuocH&i?3;u=|_tu^?f(Cvq_QD=ap{V}DMV&Wjw3 z-VBSq@3E>0)3uR<(br+I*&f?JVLCo?u-Oiq>#>6qrduQjqo2g?ZNA42Pnb@V9E@HR zi!JilF$vS9;*Q)RLukr^OFURJVY*y$_D3I##g=*Oq=e~^$-$O6Y=y^8Nto`M9E|=O zySLRIJ1t>4b8;|xcPzHXV`nBzS5FQ`-;c%Cd8~fIbOgEQN~aJvO<8cg2QNsNj-s6X z(Q{<6&pmcg!gM3$VDu|lY_rEMO_)xm9E@Hki)B34G-0}+axnU&EVk8S%@U@ADhJ!@ zux%c@I$^r6ahEB4rZ3DXgngV8f+u{}NZ zP{MQ*=3sj|Y;TWsO_)x^9BglgRrOf+gy~|;!RT|e4_eJ*k0wk9WDZ7;q{R;OSnq`C zp3K4Mue8`99xF+h&dVH(-b{;C_gMdg>DtV}syplmk3F6+9iKTEJ)w4QM|tdtgy|N| z!RRNoSPhRonJ}HEIT*dD7CYW!!xN@UH3y@Q)nX@kY(&CzxaMFdIjpwFo=ceS*c`03 z!|Hf!RKj%D=3w;R+6O(=V`CGhD>nzDZ`Wd{d2D>bboAz6^!!@vbdSB9Fx|j8*y#?d z=do84rjs}aqu1E(?HrH2kuY7zIoLT4tM9S55~hPW2dnR}1|EAiVY;7lF#4nIgEsWo z`w7!IorBR^ZL!84`ygSuu5&Q@vMqLr#}*_^$94`zPq)RIcx-9HbbIGuO&oT)$5tdv zr+5x_xx<=yY)!&+nde~iq1y+&#$)Rfrb9gkqlevM%{{g;VY=IMu;vbH;jzsL(;1(G z(K~PV*3x5NCrnp;4%X6PZ9G<*Fdg|h7(M%TZ?}4Ed%|?{=V0{vTdbYOb|%aqfE+2B9M;2Q z2Pe&th#ZVD5_WGrJytzw22A8&jG(YsZ;u_FG{Y&}ITu4KxM|9QB_6DqG{Y@&_Q&`O ziw*GDNl7ypBL`!2hQ$VZtWMGl)o>3x*gmWcJpL0NJS}O4a^&ofu^o1Q!#s9+(hT&- z!5H~rv8O$DX3`7;$-$m>*a(lEoiu|)axg}X*u6dPvHD3fgv33G=MAAL3y${S1xYi+ zBxiq&IkDJ_9&4O515n)l7>vSAQx+WW!Hbh-fJ)B(7_nlpi5_c`G{aZi{us)_O;Z+p z-Gf);Yti(`|fXNrF*_Zhrp=fP; zu`OB~rbTPz9>|o>?3VeHEGgce(&Y;W$cM$JX98JOtY04%XVUUfab_=BQ!HzXOEvMA z%s!c_nSJF`!~LUJ`1(}2&z0L$ESup-IPPo1NwM(twQ^fS90|v5Gu*eu!q+zCz6)_A z9JjsrEZJTxJBs-Z^?h-siTmkDWU0)R6qRMJW<+1+x-&DaGdGu%@0aPBttZQrWFC?M zWmA%|=#IZ-hB#;#(C`p6#51Lt(GGeEXk-W)9fDrh5{iA^0S>B#~+L3r=M@x#g=kG<|}H_s+G@dtDD(D z^$Jy9yQ3JYg3@Rov@hBp9gGe`N1&t8v8WcRgZ_%@qWb83)CgUInxbat8q^$Jk8VV* z(JkmUbUW&ZI-$^+N;EVDtof5)DUBqY>y?^gJ4c#-Oq2B{Uwr zj3%N<=nXU(O+oLVspvg46McZ@qlIWOT8fsVmFOe%F3i>Omi_S!6p>t6K zbOCCNE<_ijOHosF1-c4di>^oQQAeZ`k=%{$MGvBfQ4iD;^+7s;h?_LzN&Hi21bQBg zMq|-<^a^?ny@B3B@1SXD2AYZ7WE~6fIw{A8Xf;}gGUyxh9r_;qh{{n>RRL8(l~Ek+ zfzs&Ds4CLQDh@)2p~KNps0ONuPCzH4Q_!jCG;{_!3!RJ3M~%@Xs0q3PU4^biEl^98 zuSzScN;`%svg7_qRa)&|u1e!C0F{AA(6>md(Hi{IYP7cX^#knEz=WnYTxo-;M*E%- z(2VA;#{j&aSEF54;XG+pK`yJnfbM){8iy!fnfAx4Ov?;m6bo+whO#h91;bDkMxkIB zioz%p3`0#AMS{5ylP^r;Amj_vI0)sn?uHJvd|?_*{rSQ)8X)t9X*)Ow|CYkE%xFr| z&WqNim2km!zP*BzKc{5xl%5Uk`guyL*Gl9ssf&>8lj1v9u~k#DZ%V4AWIqbm$nT$$ z15$EeitFryQuVlQY)h1rQhYbpys~#pYNwT zZq#SKQcXV^_Hx5v^Ob6T_5QY~^oYP+%i`ARkW zr#D}z7I}r_E7c+gBwwi(IUxB;HOkU_TbM0T)8aMzfs(IOucrh&Z zWrg`w)ATcfdAVH|OMcZfb3pQyYUXbTFOC1A<<(Bzvz)m-ctE&Pt!`?2@C)T#eRC_f zPS@dg_Ld1(Zc&s~^0T5WSBBMB&PdrZtTXL@*D|bnjIlc_rNve|C;yAJR$31gt}oKs zB3D;*cFNWc{hoC~u12T_wHjI@^v~*pv@Yn^YJz^L9_ZIG(Bt{_soZ{O&8}{6aB8Urt-J7$JKeQz~}NoMu`}zz4ZBOUae`onnHk zs8xu`)hW4#wCu?_w#?xl+M3#0_Oa@ z%J%i+=T-g#OqZOW1=;>i{Vd2=_`lDOrpy(J`}@q*3O7yJ|B;_A*&c@?*LRhlF4-QC z{B+5YKfL+rk|PHsKV5R5CH@o$`p zI6uR%eJ{**9}f8$hV22#&oCVM^YI@s!*G7$VEgL*BTO7zD`kgcOl=$s>5;vRnF=Z7E?(zhdd1-7=tT%RsgaDwfCX zmdump=4muK$S|J!`Z`MH$yb1Bbb zT-5@!7%fH1(Mt3YT8q}9^=Jdyh&G`uD1)}5Z_u}BJNh2&L_eW&jBnZvRY3o*W2)l3 zh7;(Q##ANAhsRVM#N!-{s*v9U6{7&9P#W!t_CkL~d!xUgeNa`jFRF(2L;Irx(1GY6 zbTB#;9fl4^N1&rn4OA1IfKEgwp_9=m=&$H+s4hAkor%suXQOk`dFTSv5H&^@qDxQ{ zbUA8ls1GVZ{n0@5I2w$eKts_mG#ovJov=3XMi%&{#AMjYkvEE9h19 z8k&UOKyRYA&=mAGdIwEK)6siq2AYLtqYuzLv;ZweOVM()0QQbR1wM z1{WQw!y^x6c;w+~Sni&c>@mz0#7gxTmaAtadQ45siE2*7)KXImQ%4QU#pmbHX6b5H zrRHd`G&KuRV_1BerKT|~FU?}o7#5Ibxo8YaMCa$wW+H(69NG;kGrznJL(R{j%|Xb| zq0K?q!As(Qa}Moa7^+I+PcJh|cDCuKR7%Xw?_7i*xU;Fn6;pAuMWc?q-`mO64shY+8bVudcLmAaTw$tS1el$4yBl4VKm{WV3}?3(4h{+5!{ z*fR;Y=ln$G`H9TkpsoBw=K7)6w}KlNdwncFk$HY1b6yfJ`Ikg~B6AK$ej;=IoXAgP zo}b7(Kasg!8OYiK_a`$yk+~j^fA>V@mHe>$b5f?k(4FDYc&I<04VXg<-7oH%xM@&y zAdQO(+JHISgDv8w!O?*+^4Rz| zcOn=Gi*@$c#JF^hVk9hfpU2*a3#F5}zpOt}EoF&+rVHaz!ZUU6SUfjP*+cUC7F`bU z4@=SIkkG^8^;#7;`djSkSU@4;dOsDVDhD*dOVoU#T*yRB7fwLNpPp^H-T5s z2FxFzhIE~OuJseLF7#aS`dn?mutc>P`2fccGet`q%1ZjzLVq5a`?e>Pz91+jWOC^d2~ z_IyFCJs|ml*vQ|)|A>Ov{6yyF)yo_Dzh)xyOhu*+?;*`or)L66f%L1n4sE+GmDx+K zPe}`gwvli{+io!29sw0Ya)WX=hBy+AYiYRRfT|*Csa&fNN5XNf4HpDd9!YEEZVGWE z9M{HhsetMvX`|fDA&!LOZZTXspn^$mQSR0dN5XM!4Yy}Nm6Nnp?zRv|!g1{kw^u+V zl(bW>eTXCBxZ4f)=YVP{xm~$CLL3RlbuirC0Tor!LAj2~Wrq-waNOSw_m_aGEBU)} zcZN6;j_YK&eF7@8q?2-Yg*Xz9yW4P81FE;=Zsj_MI1-M#$8h@wRCvif%H12{NI333 z!&M8Y0+aicyFbK{a9kI|?H5ofCS8lYz<&3UMSH_qgGX3aH4F$CVo#;z&4dh~a7kRPD(S<(>#}Bpf%?a5V!e`(&tc zPlh-WjvHpU69TILWSDZpLmUamJ!QBP11bdNDdnD4F8lr<;kaiEcTzwVp**A9N5y3v z3CE2v+{pozhB89Ak)i#OaNM(oJ0+kRQJz)qIpv;D$qT&xNH}hk;r<#>u_&XI8?D@n zDH#Jt!f|5__qTwmMj5NzOCgSg+35Gj8pgK|}DED%RBjLDL z40mQg1*N>A+{6$^!f~$}?yP_+OL1FALU z4dvbpaU>i!*>L9tRCLN@<=#?mN=n}5_>pkjJBGU;pz2fJQSRLkN5XMa4c9QBGE}B2 zH!Z}GaNKmmH4dmAmFdd87ve}bZieA545%=b8OpsM;z&4drr|CLs6v&Q%FPOKBpf%} za7_X#Rb{qvbCk=zo=G_F1H)Y&P|YeIC^t96k#O8R!!--2c$Im|%@1)T9Jj!5*9TO^ z$^zvUDz_*li#g6D9Jj=9EdnZMWr=c2LmUamEi>E={Lv3&nR3fR90|vLXtvRb*1LL3Rltufrq0oA^;M!B^ij)dbr zHry?o90c;Qa_f})Bqi%PE+icHso`!7gs)GP+YsVNIPNpUwdEutkk6F+M~EZgxQ&Lp zEui{XHY)ddh$G>+FAUd?lZ`;WP;OI*BjLEshHD>C#VnhZ`%<~=>xzWqwixb?fJ$fC zqTE*@j)ddBHe3fzN&@*>xlD*7;W#ne-#IA>M3mdATxm+a;rNko+&07A8BkR%+m!n@ zv_BG#`_6E81yo+kcgk%KaU>kK!*F+V@)F1n<-QMbBpmmH;W`IYaLW(M?Nsi^l>Efc zN5XNt40mrpmAC9tu3Wl|BjLF6X+1B#-+Yx%!|fL0NI33KhU>yfP9T3$u0n_-;kb&1 zdytcyKq@M?dx#_9xJrh5IH2lWDk)bG;z&5I&~V*2849FOxym7qgyV_~_eenXx)doF z3vnbI7dKpwfC_hsE0+jyBpjDCTu)A#0!b=YCB%_%+#ZJO#Yq#F49XQNmwla*a9m)x z-T~G05-68aE}fP=)1{hl++K$3!^st=m<^B@lNH}gE!}aIn zic@Iis)jfcj@#F8139_k)L6M{A&!LO_A}h$oLq6rtK9w}j)db5Fx=pPSpwt$+V+=QfbG1N@ zQLaXaBjLDX4fibPYJnW9+;Jg}gyU)&?)iX;7Nn+f$A>r)jyu6{qd2GI3{|-kLmUam zon*Mt0TVXJNy^mjfvf;)AOzI#fD_1+jk#Jlc!;R$}F_1dSouXX!?LoqEry6b? z=ZJxvs@z`sDOi{UWLL3Rlool$)0w%PObCs(f;z&5|Ji|@moRc#}jrX#a?L^<3CCS&xapkh26ClxSA{qdj=S1$?*&X8B3CPSO^74mxN8kJgLC3Qu2rsi zh$G>+>kKz5U;+}kPPywt90|v@Fx+g;i8=FB?gr&{txz-_$ zgyY&6ZXV~vG!H3vONb-kxZ4c3fOFzNZd0y(h$G>+4u)GCFlmZ(Q10&`j)ddxGThRD ziB;q-k{HfIPM|Ctq7Q)MIKVFYltJ^xJL}Pl5=PNqAT}k zh$G>+#|*ccbLT)FQ?7T2BjLCb!+jJm8H|)D*I&86+0PdejvHvWHJoGfmr%LEA&!LO zo-o|HfJtTK3FU@`I1-L~%5dugCZ3U}lzS$`k#O9zhWnIraX#{udp^XGaNH=vea5*s zALYuu7~)7c?j^%*@luj&DhcXYt- z>)1e!4@%is_IQS?!ylJGYAJVWh$G>CuG0*627e3!IZe5GA&!LO&M{p5K=?XGx${FD z3CA@u+(mpi2GU5miaNKoHu2Zg6 zh$G>+Hio;MHdsCflgq}-Dsj)dc$Hr&WS_a1#UJ>t*H4^UZQ39QV56Cewx!$m`0P=bPn7 zIPP7;O$&stca<~GH_MT5-1~-`Nn1)F?<;4XZl$)=|WnmzTc)lbY zx5RMEXse)EL%9z_90|v*GTdba!q+P0#_z%Y*3ve>{zy3P6T@u?gs)GO`-ko?%aL&0 zCc|y!nmmwA%54ecE3T*m$*@B*4%}+MZvx?KtAgK#K{5{fE;viR3uHT&$BOL;m~kNc zxFoVvhBadQ%J;#A@`GJ{R*ontDc?tGRM79bx>`Tk8Jrj&vrxsX)s{|SWKaEWezwqF z$+#bm#c6+h{C_fQJCMRp~KP9=mb;? z)j_ADP3(IM%Am`+zm2F%An!oB4Dzewb`k$?Q-XHc-7b~E*A8{~OCM-(KmrO&2;6ZVz75=dy(I3;17JlDR(H z&O;5*KCo5MzNi|yfSgVrx`F?@5q*gc;QoQ=d;Bh>(}^C*G?8`C8K^$G2wjbCM7N`R z&_n1^)DI0oBhgD}BASe*p_yndT81tw;BkpM4P`@qjz&nQqP)34|Gw#TJ3n4ho=GMf zPz$T0;Es-Qr)(4)o|~r3P3n8FW{f*!AYMTmFbzC-LX10QAYMTmFc11-?S~4u6B+wM z!rbIBkM%C#P6Q)iu@aBpAWwn0 z@tk;WnzG=t9(=w)o{jF0gvHwVV|PYO+J%lCo|~pDIL_~HLV=8n?vI4UUh&wg1@cN1 zBVn-){$bCGNr%wG;<;(cf>Zqd-YJkN(fyII*ffvLD3EDUjD*EzdTdsK%#30rEH=ku z9~8)(C`Q6!^E@`cK;}g;5*AzFu|);4Ac~Q&*kX?@E0D!ejD*EL^w`P*`7nx+u-F=p ztt*fL$QXpSNF%lO0#$(?V$Tv}pgvGx1 z*pCJBeH0^MvGTsEtYV>*FO0lfNmwl5u{{bU5yePYEb!Q03MGhQBrJBA$BrqK!=e}o zi`DknX@ycdijlBb1CL!)C=H?*35#9ru^S8J>L^CSVr@Luu29-UF%lNL(_{A*%AHY+ zgvEM#tY4w@jAA4#Hr!(`7RvA_M#5q*dFG zaR-$pUODpmC1J4=|A~1+OiDtZn0RiQvfy!kf3+&hanb#euvlG>on2Y#Mlli=Yvi$u zDodj%M#5s3dF<-Sa#<83VX;;oyREXciee-zcDKjwuPk>*F%lMg&|}>z%Y#vjgvADW z?8(Y9Fp80|*b5#TTUlO+Vk9g!!DFvhmI+aegvH+U*xQxmO)&Q=!E@7;1!sEjgUT{9 z1mYF60khD9ODl6H@;V`5_qW1ht1HWjC`Q6!Yd!W!Wmy}=NLcJMk9|>DK8s=`EcUg> zwpNy}!Q8XObJLUszxCjcmF3&${zzD?T#-9RtW+fBiXzXIgvAmb+oMPlQH+Ges(I|t zBB>U|NLcI`j~!nm$3!s_7CYHvb&BNVC`Q6!4Lo*1ku->6BrMj*V;2@lqbNqgVi$Yt z(jvJyijlBbQ;%IyBu%3j35#9nv8#*Z$|y#{V%K`?x+1wYijlC`4IXP*BsWAc5*BOi zv73sdbrd6Eu{IvNrAXRDF%lNL&13D0E;-BBJWoc<|czY);7kS zvi;$8e>PwSd$4_sJ7pkVK^rhbJlG+|oiY%wpbeOz9=tQgoiY%wpbeNOJ$QGFJ7pkV zK^rhnd9X{2J7pkVK^rh5J=itIoiY%wpbeN8JlHG7oiY%wpbeN8Jvbo7oiY%wpbeN= z{ujvXjkBV!91`Xxb3FERj60EE9|?=i_1N<#>QlR6eD4=g&tc}BnzV$ z35zZE*vm0l9K}djY^ld4#bjv|BVn=S9(yw;%cB?xi>>h3$|6}2#Yk9emB-$W$*L$u z!eSqJY)z4T6vaqbY^}#WE|RrTjD*G3dF+!SSr^4fSZuw=rpIJ`6eD4=h5n^9BPI(& zFC{!TO<8b>2WQ7*NeIL%XanYR|G-}qaVPR(B4PKp$zz*~WK$F)VX-egHZLY$Mlli= z`^sZq7s*#qjD*E99+M);L@^Q;+v>3;G1(f$NLcI}k9`=EZ=x6pi+$^{)iL=tijlC` zc8~2SlI>B9gvGx1*t(c}AH_&mY^TS5ERvm3jD*F0^4P8-`6-H#u-In*%ij=_&7ogD zo|~pDxW$8?$7D+g#4Bh6rb4ViwiR$oj60E62?@Ku-908T**%Jpuvme|w#B3%ijlBb zWsm(3lgd$ygvDYW+ZB^o6eD4=gvXLGNklOc7OUd1Jz`QNijlBbvBy#|DUMfviC`Q6!$9Zh`xEvS7NLZ}4$4-q&?I=dVVs$-M6qmYDjD*F`^;j}4=SDFS7Hj0O zi(=9!ijlC`WgfdCCYOP^lPx?qO_xKxQ^BrKNl*lBS|MKKZ<8{>bvGvhKQ`XoqLY;V7} zbK6|@0!sej>ik8>yTX+y%?q^ZYx#JLl}NLZ|y z#~zCdlbhyFpqZcTG;%=NyW^Ih?bN=0y14_=!@rPb$E8Q~g+#*gy*xHIF1?}{35)&z zKHKSS{@vO>F1PV+y(Rm1MSpxv*r$=76xALGU574vNGA9fz-|ed5PboVutzRGDQfry zHNzd2_x;hUnvnOSM~{R(db2&Ye?n$QF%lM=>#>6qGB=8mu-JT$9iGrRP;+1GBrG<| zzbEFzWmf1f7@nJ^ESR4Z)gB0)GBtZhKKFTpsPmCt=@W z%{;ayA{I@IXHLDuKj>vixg`3aB8kd)EUy^*lkP`@{3O&uED8wrd3#yL|b_`NY_>V)XtNZ7sQXH2!n zAwOekm6U=g zM#5r69vhRCq9{hfVo8sUOG+||k+4|cv6qt)L@^Q;OM7f$Qm04Fy(s?o&X-!x{}#@w zBK7z!xE?<|H%-|mQQbd@cal;)`XoqL>;Ni?c3vSjr5i~D_I7hN-kObVv$0(^-kyzj zWMju{yfYg+W#ir1cuzLon~nEp;{)0FU^YISjoq@bdp7pS#-7>OD;xV{W8ZA-myH9m zaZolso{dAYacDL^nT^A<@#$@wse#Asa_$eOC^lW@D8)szW``I`%8)s$X>};HqjUQy=+-#he zjq|f{K{hVT#zon}aaA_1&c=_jaZNU^&Bl+jaa}fk zl8x)L@zZSFkd2M2*w^o8+55*)4n9Esk*-hW8ZYZ~sy;7w*~opu=Qey{Lgwm{@+Fz; z&djuyE2^AXDpQjsf`%v0G5W zvy3gvSp1Qv^5d0S^LL&p?4xE6qqTeu)HJ{}s&JlMSb>mfE0^J$RUl+~%BJ*rvYCnX zn2bkj^`Nz2?=dx6l2@Wei|z)g(XzT>YP4|fDK%Oe_pBN%eQT!=rp0aJG^539uc*=T zv<|vS3(%%$MhncQsnHU$nQF91Y>pZ&1DmHt3%wSo(NeC(YP4AELp55CwMLB=Ty0RJ zB~@Rj(W0rZ)M#1MH)^!->3cO=+El&}qs2=JH3>|hMhlP*Q==tDwbj(dG*Ht3bF~^R z1ZtzE4dzZYcVc>~>4_PxhWZ<-Z7?rkURCodW||r;n^~$x3u88@(bAVM)lkVo-3o?U z6)ICOTAos(M@$P)j?;`5nABCHB_xg1P!mE02u905TB&J;xm(TMmirMhCsO zR?`~OMok;cZE9}A+@au zHH^+=EGCBWmyEW==#b0pYPMs(SEIuwcdB6=B%>ZNI`na~J}4s@8Kj8O!HX4Q7#*Cr zyBZySSfEA+7*|jSd5>qDBY$6|2#qeEX}>!FtE3Ve}ni?JzpvuC5v# zQg^Nz9W>WS4Wr-~;D%w88w1!dIOzW$e1;XF*PwKsyPu;OHD0I9W^W@EN2&}1(*n~^1h%DwlOcym>Fb}JF7}HG+10EROfYC7yz0~x=l&C4e3{W!wGf2%K%n&uYa_VjR zymYLRqZs+ekOs$mXPb0FprHHToTtErATLd_AFqtqOQsiCF@=6E%9&d5n> zPQuhyQyWu9O&!dsYEH$Rrsg!v>1s~L)Kf!OhMc43987&R^)U_9G{7`e(-6~GO=HX@ zYA(SvQPTu-xf*TjZ>EOEdz$Jo+FsvW4Gr)#w_~);y`>r&(WQ-=Hke!0+=^+ZrXA)E zHFsb-s_BU7q^1+5vzpGBd)3^Fc|gqrn67HNV!Em6hUuZE2d1Z*o|xK6jJDX8Xr_eB z05t+C79)E zmSa|_S%q1nhDIq_r)C{ygPIMPjcPVxHmTW!*`j6(M$`yqn;M#MWV@Q}m>p_%V17{Z z17??+U6`Y*V6^q5qW;O$_K^ZL1(+f=G-=R)fzeisK#jIjq}6Ck#9nIl!tA4FAI!dL z_QllGJ!^}=enscWAw`7DX!(*WfGtd!oz9#u8>*Zq|ENNcja6t7fTk57^RdpS^;P;@ zE{r(yOKT|2?8b*dnrD~J+{~3srtR4#U7ER{3zhB_?H%RXdRv<5>7Wvz0U@Yo8N_u+ zmXfV$uu}VY3a}}})vVyS!4=_#lbDdTgARB!`Kw!j$|UTz8pjTuRExG3ht3@YiUe-3r#JJk=#nS zH7#ukZPU_@&@L^v6K-c^6~Z0NU`Oc4x+sJ@)6$91DJ^#s?oP`+gnL-Kgm5oQlMwD_ zw3}+n+!qaIPK^Va*6oip1GC_DQEiVvW zU?~a0=(LO>j7iH_!q~KoBaCBSI>LBXeIUHdq7HPNI$=5sA`sq7%M8K{mOUW6pO%?~nJjKV zn3a~mQM+vGJ!u~Ls}YFX^iAE?tPY)W6cD42h!X}YsUqpnd{^b cPV)|p@hZNe$_1r-lPY^;6V;&l+<*W70UcGl?*IS* diff --git a/.vs/IoTGateway/project-colors.json b/.vs/IoTGateway/project-colors.json index a8450a7..98c07dd 100644 --- a/.vs/IoTGateway/project-colors.json +++ b/.vs/IoTGateway/project-colors.json @@ -65,7 +65,17 @@ "ProjectGuid": "402e5b3a-ad95-4b6a-a4b0-c8ffcbf494c3", "DisplayName": "test", "ColorIndex": 11 + }, + "b884fbe3-c8c5-471e-b629-12eca0fc5dac": { + "ProjectGuid": "b884fbe3-c8c5-471e-b629-12eca0fc5dac", + "DisplayName": "DriverSiemensS7", + "ColorIndex": 12 + }, + "4fc43620-00b1-48c1-a5a0-02fcc038fb08": { + "ProjectGuid": "4fc43620-00b1-48c1-a5a0-02fcc038fb08", + "DisplayName": "DriverModbusMaster", + "ColorIndex": 13 } }, - "NextColorIndex": 12 + "NextColorIndex": 14 } \ No newline at end of file diff --git a/.vs/IoTGateway/v17/.futdcache.v1 b/.vs/IoTGateway/v17/.futdcache.v1 index 51ef064716bb01ddd926fae8344b3ba512435af2..9b4eb9f2f67a60565dd38b50b0f29ca80af975e6 100644 GIT binary patch delta 124 zcmcaAcvF~BbR(k-GcVUWn^UXJ&xZ;hyvboTIgm|$vnO*8D`UXqMi!ZgGejhP6N^hy zi(*`gGRsnneDhP1N{b;vlN~wqS+=QfRhvA4*;q0-Gc`9guQ=EosuIozDdTBRoA8SP F3ILCGDT4q2 delta 33 pcmca9d{vN9cq5|>Gw-eJEA|tTO&1>9cay_vav+=hW>4lGRshjF3?2Xg diff --git a/.vs/IoTGateway/v17/.suo b/.vs/IoTGateway/v17/.suo index f4aa5d924c76a03441a6f4fc4023c8b2926db829..dc82b2ef485b4ce7640ef074af07eb690619cafe 100644 GIT binary patch delta 32395 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 delta 15626 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 diff --git a/.vs/IoTGateway/v17/fileList.bin b/.vs/IoTGateway/v17/fileList.bin index 621eee254d981d2402413243a58014a6aadaa988..c86d8a37f1368dcc18079e5d769b6c98bc923de5 100644 GIT binary patch delta 10011 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 ICvY+KDU5qaDF6Tf diff --git a/Dockerfile b/Dockerfile index 413ba56..8d50774 100644 --- a/Dockerfile +++ b/Dockerfile @@ -19,8 +19,6 @@ COPY ["IoTGateway.Model/IoTGateway.Model.csproj", "IoTGateway.Model/"] COPY ["WalkingTec.Mvvm/WalkingTec.Mvvm.Core/WalkingTec.Mvvm.Core.csproj", "WalkingTec.Mvvm/WalkingTec.Mvvm.Core/"] COPY ["Plugins/PluginInterface/PluginInterface.csproj", "Plugins/PluginInterface/"] COPY ["IoTGateway.DataAccess/IoTGateway.DataAccess.csproj", "IoTGateway.DataAccess/"] -COPY ["Plugins/Drivers/DriverSiemensS7/DriverSiemensS7.csproj", "Plugins/Drivers/DriverSiemensS7/"] -COPY ["Plugins/Drivers/DriverModbusMaster/DriverModbusMaster.csproj", "Plugins/Drivers/DriverModbusMaster/"] COPY ["WalkingTec.Mvvm/WalkingTec.Mvvm.TagHelpers.LayUI/WalkingTec.Mvvm.TagHelpers.LayUI.csproj", "WalkingTec.Mvvm/WalkingTec.Mvvm.TagHelpers.LayUI/"] COPY ["WalkingTec.Mvvm/WalkingTec.Mvvm.Mvc/WalkingTec.Mvvm.Mvc.csproj", "WalkingTec.Mvvm/WalkingTec.Mvvm.Mvc/"] diff --git a/IoTGateway.DataAccess/Migrations/20211217052811_expression.Designer.cs b/IoTGateway.DataAccess/Migrations/20211217052811_expression.Designer.cs new file mode 100644 index 0000000..adad74f --- /dev/null +++ b/IoTGateway.DataAccess/Migrations/20211217052811_expression.Designer.cs @@ -0,0 +1,794 @@ +// +using System; +using IoTGateway.DataAccess; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +namespace IoTGateway.DataAccess.Migrations +{ + [DbContext(typeof(DataContext))] + [Migration("20211217052811_expression")] + partial class expression + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "5.0.9"); + + modelBuilder.Entity("IoTGateway.Model.Device", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property("AutoStart") + .HasColumnType("INTEGER"); + + b.Property("CreateBy") + .HasColumnType("TEXT"); + + b.Property("CreateTime") + .HasColumnType("TEXT"); + + b.Property("Description") + .HasColumnType("TEXT"); + + b.Property("DeviceName") + .HasColumnType("TEXT"); + + b.Property("DeviceTypeEnum") + .HasColumnType("INTEGER"); + + b.Property("DriverId") + .HasColumnType("TEXT"); + + b.Property("Index") + .HasColumnType("INTEGER"); + + b.Property("ParentId") + .HasColumnType("TEXT"); + + b.Property("UpdateBy") + .HasColumnType("TEXT"); + + b.Property("UpdateTime") + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.HasIndex("DriverId"); + + b.HasIndex("ParentId"); + + b.ToTable("Devices"); + }); + + modelBuilder.Entity("IoTGateway.Model.DeviceConfig", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property("CreateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("CreateTime") + .HasColumnType("TEXT"); + + b.Property("Description") + .HasColumnType("TEXT"); + + b.Property("DeviceConfigName") + .HasColumnType("TEXT"); + + b.Property("DeviceId") + .HasColumnType("TEXT"); + + b.Property("EnumInfo") + .HasColumnType("TEXT"); + + b.Property("UpdateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("UpdateTime") + .HasColumnType("TEXT"); + + b.Property("Value") + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.HasIndex("DeviceId"); + + b.ToTable("DeviceConfigs"); + }); + + modelBuilder.Entity("IoTGateway.Model.DeviceVariable", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property("DataType") + .HasColumnType("INTEGER"); + + b.Property("Description") + .HasColumnType("TEXT"); + + b.Property("DeviceAddress") + .HasColumnType("TEXT"); + + b.Property("DeviceId") + .HasColumnType("TEXT"); + + b.Property("Expressions") + .HasColumnType("TEXT"); + + b.Property("Method") + .HasColumnType("TEXT"); + + b.Property("Name") + .HasColumnType("TEXT"); + + b.Property("ProtectType") + .HasColumnType("INTEGER"); + + b.HasKey("ID"); + + b.HasIndex("DeviceId"); + + b.ToTable("DeviceVariables"); + }); + + modelBuilder.Entity("IoTGateway.Model.Driver", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property("AssembleName") + .HasColumnType("TEXT"); + + b.Property("AuthorizesNum") + .HasColumnType("INTEGER"); + + b.Property("CreateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("CreateTime") + .HasColumnType("TEXT"); + + b.Property("DriverName") + .HasColumnType("TEXT"); + + b.Property("FileName") + .HasColumnType("TEXT"); + + b.Property("UpdateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("UpdateTime") + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.ToTable("Drivers"); + }); + + modelBuilder.Entity("IoTGateway.Model.SystemConfig", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property("CreateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("CreateTime") + .HasColumnType("TEXT"); + + b.Property("GatewayName") + .HasColumnType("TEXT"); + + b.Property("MqttIp") + .HasColumnType("TEXT"); + + b.Property("MqttPort") + .HasColumnType("INTEGER"); + + b.Property("MqttUName") + .HasColumnType("TEXT"); + + b.Property("MqttUPwd") + .HasColumnType("TEXT"); + + b.Property("UpdateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("UpdateTime") + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.ToTable("SystemConfig"); + }); + + modelBuilder.Entity("WalkingTec.Mvvm.Core.ActionLog", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property("ActionName") + .HasMaxLength(255) + .HasColumnType("TEXT"); + + b.Property("ActionTime") + .HasColumnType("TEXT"); + + b.Property("ActionUrl") + .HasMaxLength(250) + .HasColumnType("TEXT"); + + b.Property("CreateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("CreateTime") + .HasColumnType("TEXT"); + + b.Property("Duration") + .HasColumnType("REAL"); + + b.Property("IP") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("ITCode") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("LogType") + .HasColumnType("INTEGER"); + + b.Property("ModuleName") + .HasMaxLength(255) + .HasColumnType("TEXT"); + + b.Property("Remark") + .HasColumnType("TEXT"); + + b.Property("UpdateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("UpdateTime") + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.ToTable("ActionLogs"); + }); + + modelBuilder.Entity("WalkingTec.Mvvm.Core.DataPrivilege", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property("CreateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("CreateTime") + .HasColumnType("TEXT"); + + b.Property("Domain") + .HasColumnType("TEXT"); + + b.Property("GroupCode") + .HasColumnType("TEXT"); + + b.Property("RelateId") + .HasColumnType("TEXT"); + + b.Property("TableName") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("UpdateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("UpdateTime") + .HasColumnType("TEXT"); + + b.Property("UserCode") + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.ToTable("DataPrivileges"); + }); + + modelBuilder.Entity("WalkingTec.Mvvm.Core.FileAttachment", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property("ExtraInfo") + .HasColumnType("TEXT"); + + b.Property("FileData") + .HasColumnType("BLOB"); + + b.Property("FileExt") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("TEXT"); + + b.Property("FileName") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property("HandlerInfo") + .HasColumnType("TEXT"); + + b.Property("Length") + .HasColumnType("INTEGER"); + + b.Property("Path") + .HasColumnType("TEXT"); + + b.Property("SaveMode") + .HasColumnType("TEXT"); + + b.Property("UploadTime") + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.ToTable("FileAttachments"); + }); + + modelBuilder.Entity("WalkingTec.Mvvm.Core.FrameworkGroup", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property("CreateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("CreateTime") + .HasColumnType("TEXT"); + + b.Property("GroupCode") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("TEXT"); + + b.Property("GroupName") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("GroupRemark") + .HasColumnType("TEXT"); + + b.Property("TenantCode") + .HasColumnType("TEXT"); + + b.Property("UpdateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("UpdateTime") + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.ToTable("FrameworkGroups"); + }); + + modelBuilder.Entity("WalkingTec.Mvvm.Core.FrameworkMenu", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property("ActionName") + .HasColumnType("TEXT"); + + b.Property("ClassName") + .HasColumnType("TEXT"); + + b.Property("DisplayOrder") + .IsRequired() + .HasColumnType("INTEGER"); + + b.Property("Domain") + .HasColumnType("TEXT"); + + b.Property("FolderOnly") + .HasColumnType("INTEGER"); + + b.Property("Icon") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("IsInherit") + .HasColumnType("INTEGER"); + + b.Property("IsInside") + .IsRequired() + .HasColumnType("INTEGER"); + + b.Property("IsPublic") + .HasColumnType("INTEGER"); + + b.Property("MethodName") + .HasColumnType("TEXT"); + + b.Property("ModuleName") + .HasColumnType("TEXT"); + + b.Property("PageName") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("ParentId") + .HasColumnType("TEXT"); + + b.Property("ShowOnMenu") + .HasColumnType("INTEGER"); + + b.Property("Url") + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.HasIndex("ParentId"); + + b.ToTable("FrameworkMenus"); + }); + + modelBuilder.Entity("WalkingTec.Mvvm.Core.FrameworkRole", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property("CreateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("CreateTime") + .HasColumnType("TEXT"); + + b.Property("RoleCode") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("TEXT"); + + b.Property("RoleName") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("RoleRemark") + .HasColumnType("TEXT"); + + b.Property("TenantCode") + .HasColumnType("TEXT"); + + b.Property("UpdateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("UpdateTime") + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.ToTable("FrameworkRoles"); + }); + + modelBuilder.Entity("WalkingTec.Mvvm.Core.FrameworkUser", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property("Address") + .HasMaxLength(200) + .HasColumnType("TEXT"); + + b.Property("CellPhone") + .HasColumnType("TEXT"); + + b.Property("CreateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("CreateTime") + .HasColumnType("TEXT"); + + b.Property("Email") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("Gender") + .HasColumnType("INTEGER"); + + b.Property("HomePhone") + .HasMaxLength(30) + .HasColumnType("TEXT"); + + b.Property("ITCode") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("IsValid") + .HasColumnType("INTEGER"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("Password") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("TEXT"); + + b.Property("PhotoId") + .HasColumnType("TEXT"); + + b.Property("TenantCode") + .HasColumnType("TEXT"); + + b.Property("UpdateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("UpdateTime") + .HasColumnType("TEXT"); + + b.Property("ZipCode") + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.HasIndex("PhotoId"); + + b.ToTable("FrameworkUsers"); + }); + + modelBuilder.Entity("WalkingTec.Mvvm.Core.FrameworkUserGroup", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property("CreateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("CreateTime") + .HasColumnType("TEXT"); + + b.Property("GroupCode") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property("UpdateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("UpdateTime") + .HasColumnType("TEXT"); + + b.Property("UserCode") + .IsRequired() + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.ToTable("FrameworkUserGroups"); + }); + + modelBuilder.Entity("WalkingTec.Mvvm.Core.FrameworkUserRole", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property("CreateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("CreateTime") + .HasColumnType("TEXT"); + + b.Property("RoleCode") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property("UpdateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("UpdateTime") + .HasColumnType("TEXT"); + + b.Property("UserCode") + .IsRequired() + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.ToTable("FrameworkUserRoles"); + }); + + modelBuilder.Entity("WalkingTec.Mvvm.Core.FunctionPrivilege", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property("Allowed") + .IsRequired() + .HasColumnType("INTEGER"); + + b.Property("CreateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("CreateTime") + .HasColumnType("TEXT"); + + b.Property("MenuItemId") + .HasColumnType("TEXT"); + + b.Property("RoleCode") + .HasColumnType("TEXT"); + + b.Property("UpdateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("UpdateTime") + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.HasIndex("MenuItemId"); + + b.ToTable("FunctionPrivileges"); + }); + + modelBuilder.Entity("WalkingTec.Mvvm.Core.PersistedGrant", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property("CreationTime") + .HasColumnType("TEXT"); + + b.Property("Expiration") + .HasColumnType("TEXT"); + + b.Property("RefreshToken") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("Type") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("UserCode") + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.ToTable("PersistedGrants"); + }); + + modelBuilder.Entity("IoTGateway.Model.Device", b => + { + b.HasOne("IoTGateway.Model.Driver", "Driver") + .WithMany() + .HasForeignKey("DriverId"); + + b.HasOne("IoTGateway.Model.Device", "Parent") + .WithMany("Children") + .HasForeignKey("ParentId"); + + b.Navigation("Driver"); + + b.Navigation("Parent"); + }); + + modelBuilder.Entity("IoTGateway.Model.DeviceConfig", b => + { + b.HasOne("IoTGateway.Model.Device", "Device") + .WithMany("DeviceConfigs") + .HasForeignKey("DeviceId"); + + b.Navigation("Device"); + }); + + modelBuilder.Entity("IoTGateway.Model.DeviceVariable", b => + { + b.HasOne("IoTGateway.Model.Device", "Device") + .WithMany("DeviceVariables") + .HasForeignKey("DeviceId"); + + b.Navigation("Device"); + }); + + modelBuilder.Entity("WalkingTec.Mvvm.Core.FrameworkMenu", b => + { + b.HasOne("WalkingTec.Mvvm.Core.FrameworkMenu", "Parent") + .WithMany("Children") + .HasForeignKey("ParentId"); + + b.Navigation("Parent"); + }); + + modelBuilder.Entity("WalkingTec.Mvvm.Core.FrameworkUser", b => + { + b.HasOne("WalkingTec.Mvvm.Core.FileAttachment", "Photo") + .WithMany() + .HasForeignKey("PhotoId") + .OnDelete(DeleteBehavior.Restrict); + + b.Navigation("Photo"); + }); + + modelBuilder.Entity("WalkingTec.Mvvm.Core.FunctionPrivilege", b => + { + b.HasOne("WalkingTec.Mvvm.Core.FrameworkMenu", "MenuItem") + .WithMany("Privileges") + .HasForeignKey("MenuItemId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("MenuItem"); + }); + + modelBuilder.Entity("IoTGateway.Model.Device", b => + { + b.Navigation("Children"); + + b.Navigation("DeviceConfigs"); + + b.Navigation("DeviceVariables"); + }); + + modelBuilder.Entity("WalkingTec.Mvvm.Core.FrameworkMenu", b => + { + b.Navigation("Children"); + + b.Navigation("Privileges"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/IoTGateway.DataAccess/Migrations/20211217052811_expression.cs b/IoTGateway.DataAccess/Migrations/20211217052811_expression.cs new file mode 100644 index 0000000..1c5b14b --- /dev/null +++ b/IoTGateway.DataAccess/Migrations/20211217052811_expression.cs @@ -0,0 +1,34 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +namespace IoTGateway.DataAccess.Migrations +{ + public partial class expression : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "ValueFactor", + table: "DeviceVariables"); + + migrationBuilder.AddColumn( + name: "Expressions", + table: "DeviceVariables", + type: "TEXT", + nullable: true); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "Expressions", + table: "DeviceVariables"); + + migrationBuilder.AddColumn( + name: "ValueFactor", + table: "DeviceVariables", + type: "REAL", + nullable: false, + defaultValue: 0.0); + } + } +} diff --git a/IoTGateway.DataAccess/Migrations/DataContextModelSnapshot.cs b/IoTGateway.DataAccess/Migrations/DataContextModelSnapshot.cs index a624960..2734928 100644 --- a/IoTGateway.DataAccess/Migrations/DataContextModelSnapshot.cs +++ b/IoTGateway.DataAccess/Migrations/DataContextModelSnapshot.cs @@ -124,6 +124,9 @@ namespace IoTGateway.DataAccess.Migrations b.Property("DeviceId") .HasColumnType("TEXT"); + b.Property("Expressions") + .HasColumnType("TEXT"); + b.Property("Method") .HasColumnType("TEXT"); @@ -133,9 +136,6 @@ namespace IoTGateway.DataAccess.Migrations b.Property("ProtectType") .HasColumnType("INTEGER"); - b.Property("ValueFactor") - .HasColumnType("REAL"); - b.HasKey("ID"); b.HasIndex("DeviceId"); diff --git a/IoTGateway.Model/DeviceVariable.cs b/IoTGateway.Model/DeviceVariable.cs index 979ac72..544fe3f 100644 --- a/IoTGateway.Model/DeviceVariable.cs +++ b/IoTGateway.Model/DeviceVariable.cs @@ -19,11 +19,11 @@ namespace IoTGateway.Model [Display(Name = "地址")] public string DeviceAddress { get; set; } - [Display(Name = "数据类型")] + [Display(Name = "类型")] public PluginInterface.DataTypeEnum DataType { get; set; } - [Display(Name = "倍率")] - public double ValueFactor { get; set; } + [Display(Name = "表达式")] + public string Expressions { get; set; } [Display(Name = "权限")] public ProtectTypeEnum ProtectType { get; set; } diff --git a/IoTGateway.Model/IVariable.cs b/IoTGateway.Model/IVariable.cs index dbf9a32..b69920f 100644 --- a/IoTGateway.Model/IVariable.cs +++ b/IoTGateway.Model/IVariable.cs @@ -17,8 +17,8 @@ namespace IoTGateway.Model [Display(Name = "数据类型")] public PluginInterface.DataTypeEnum DataType { get; set; } - [Display(Name = "倍率")] - public double ValueFactor { get; set; } + [Display(Name = "表达式")] + public string Expressions { get; set; } [Display(Name = "权限")] public ProtectTypeEnum ProtectType { get; set; } diff --git a/IoTGateway.ViewModel/BasicData/DeviceVMs/CopyVM.cs b/IoTGateway.ViewModel/BasicData/DeviceVMs/CopyVM.cs index 165131f..16fde44 100644 --- a/IoTGateway.ViewModel/BasicData/DeviceVMs/CopyVM.cs +++ b/IoTGateway.ViewModel/BasicData/DeviceVMs/CopyVM.cs @@ -74,7 +74,7 @@ namespace IoTGateway.ViewModel.BasicData.DeviceVMs DataType = deviceVariable.DataType, Method = deviceVariable.Method, ProtectType = deviceVariable.ProtectType, - ValueFactor = deviceVariable.ValueFactor, + Expressions = deviceVariable.Expressions, DeviceAddress = deviceVariable.DeviceAddress }; DC.Set().Add(newDeviceVariable); diff --git a/IoTGateway.ViewModel/BasicData/DeviceVariableVMs/DeviceVariableBatchVM.cs b/IoTGateway.ViewModel/BasicData/DeviceVariableVMs/DeviceVariableBatchVM.cs index 5b2ae97..0d8d2aa 100644 --- a/IoTGateway.ViewModel/BasicData/DeviceVariableVMs/DeviceVariableBatchVM.cs +++ b/IoTGateway.ViewModel/BasicData/DeviceVariableVMs/DeviceVariableBatchVM.cs @@ -53,8 +53,8 @@ namespace IoTGateway.ViewModel.BasicData.DeviceVariableVMs public String DeviceAddress { get; set; } [Display(Name = "数据类型")] public DataTypeEnum? DataType { get; set; } - [Display(Name = "倍率")] - public Double? ValueFactor { get; set; } + [Display(Name = "表达式")] + public string Expression { get; set; } [Display(Name = "权限")] public ProtectTypeEnum? ProtectType { get; set; } diff --git a/IoTGateway.ViewModel/BasicData/DeviceVariableVMs/DeviceVariableImportVM.cs b/IoTGateway.ViewModel/BasicData/DeviceVariableVMs/DeviceVariableImportVM.cs index bafe895..4460fd6 100644 --- a/IoTGateway.ViewModel/BasicData/DeviceVariableVMs/DeviceVariableImportVM.cs +++ b/IoTGateway.ViewModel/BasicData/DeviceVariableVMs/DeviceVariableImportVM.cs @@ -23,8 +23,8 @@ namespace IoTGateway.ViewModel.BasicData.DeviceVariableVMs public ExcelPropety DeviceAddress_Excel = ExcelPropety.CreateProperty(x => x.DeviceAddress); [Display(Name = "数据类型")] public ExcelPropety DataType_Excel = ExcelPropety.CreateProperty(x => x.DataType); - [Display(Name = "倍率")] - public ExcelPropety ValueFactor_Excel = ExcelPropety.CreateProperty(x => x.ValueFactor); + [Display(Name = "表达式")] + public ExcelPropety Expressions_Excel = ExcelPropety.CreateProperty(x => x.Expressions); [Display(Name = "权限")] public ExcelPropety ProtectType_Excel = ExcelPropety.CreateProperty(x => x.ProtectType); public ExcelPropety Device_Excel = ExcelPropety.CreateProperty(x => x.DeviceId); diff --git a/IoTGateway.ViewModel/BasicData/DeviceVariableVMs/DeviceVariableListVM.cs b/IoTGateway.ViewModel/BasicData/DeviceVariableVMs/DeviceVariableListVM.cs index 79f15eb..01f543b 100644 --- a/IoTGateway.ViewModel/BasicData/DeviceVariableVMs/DeviceVariableListVM.cs +++ b/IoTGateway.ViewModel/BasicData/DeviceVariableVMs/DeviceVariableListVM.cs @@ -50,20 +50,21 @@ namespace IoTGateway.ViewModel.BasicData.DeviceVariableVMs protected override IEnumerable> InitGridHeader() { return new List>{ - this.MakeGridHeader(x => x.Name).SetSort(true).SetWidth(120), + this.MakeGridHeader(x => x.Name).SetSort(true).SetWidth(100), //this.MakeGridHeader(x => x.Description), this.MakeGridHeader(x => x.Method).SetSort(true).SetWidth(160), this.MakeGridHeader(x => x.DeviceAddress).SetSort(true).SetWidth(80), - this.MakeGridHeader(x => x.DataType).SetSort(true).SetWidth(110), + this.MakeGridHeader(x => x.DataType).SetSort(true).SetWidth(80), this.MakeGridHeader(x => x.Value).SetWidth(80), + this.MakeGridHeader(x => x.CookedValue).SetWidth(80), this.MakeGridHeader(x => x.State).SetWidth(80), - this.MakeGridHeader(x => x.ValueFactor).SetSort(true).SetWidth(80), + this.MakeGridHeader(x => x.Expressions).SetSort(true).SetWidth(80), //this.MakeGridHeader(x => x.ProtectType).SetSort(true), this.MakeGridHeader(x => x.DeviceName_view).SetSort(true).SetWidth(90), this.MakeGridHeader(x=> "detail").SetHide().SetFormat((a,b)=>{ return "false"; }), - this.MakeGridHeaderAction(width: 150) + this.MakeGridHeaderAction(width: 115) }; } @@ -76,6 +77,7 @@ namespace IoTGateway.ViewModel.BasicData.DeviceVariableVMs if (DapThread?.DeviceValues != null && DapThread.DeviceValues.ContainsKey(item.ID)) { item.Value = DapThread.DeviceValues[item.ID].Value?.ToString(); + item.CookedValue = DapThread.DeviceValues[item.ID].CookedValue?.ToString(); item.State = DapThread.DeviceValues[item.ID].StatusType.ToString(); } } @@ -98,7 +100,7 @@ namespace IoTGateway.ViewModel.BasicData.DeviceVariableVMs Method = x.Method, DeviceAddress = x.DeviceAddress, DataType = x.DataType, - ValueFactor = x.ValueFactor, + Expressions = x.Expressions, ProtectType = x.ProtectType, DeviceName_view = x.Device.DeviceName, }) @@ -112,8 +114,10 @@ namespace IoTGateway.ViewModel.BasicData.DeviceVariableVMs { [Display(Name = "设备名")] public String DeviceName_view { get; set; } - [Display(Name = "值")] + [Display(Name = "原值")] public String Value { get; set; } + [Display(Name = "值")] + public String CookedValue { get; set; } [Display(Name = "状态")] public String State { get; set; } diff --git a/IoTGateway.ViewModel/MqttServer/MqttClientVMs/MqttClientListVM.cs b/IoTGateway.ViewModel/MqttServer/MqttClientVMs/MqttClientListVM.cs new file mode 100644 index 0000000..33d5226 --- /dev/null +++ b/IoTGateway.ViewModel/MqttServer/MqttClientVMs/MqttClientListVM.cs @@ -0,0 +1,102 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using WalkingTec.Mvvm.Core; +using WalkingTec.Mvvm.Core.Extensions; +using Microsoft.EntityFrameworkCore; +using System.ComponentModel.DataAnnotations; +using IoTGateway.Model; +using Microsoft.Extensions.Primitives; +using MQTTnet.Server; +using MQTTnet.Server.Status; +using MQTTnet.Formatter; + +namespace IoTGateway.ViewModel.MqttClient.MqttServerVMs +{ + public partial class MqttClientListVM : BasePagedListVM + { + protected override IEnumerable> InitGridHeader() + { + return new List>{ + this.MakeGridHeader(x => x.ClientId), + this.MakeGridHeader(x => x.Endpoint), + this.MakeGridHeader(x => x.ReceivedApplicationMessagesCount), + this.MakeGridHeader(x => x.SentApplicationMessagesCount), + this.MakeGridHeader(x => x.ReceivedPacketsCount), + this.MakeGridHeader(x => x.SentPacketsCount), + this.MakeGridHeader(x => x.BytesSent), + this.MakeGridHeader(x => x.BytesReceived), + this.MakeGridHeader(x => x.PendingApplicationMessagesCount), + this.MakeGridHeader(x => x.MqttProtocolVersion) + }; + } + + protected override void InitListVM() + { + base.InitListVM(); + } + protected override void InitVM() + { + base.InitVM(); + } + public override void AfterDoSearcher() + { + } + public override void DoSearch() + { + var mqttServer = Wtm.ServiceProvider.GetService(typeof(IMqttServer)) as IMqttServer; + foreach (var client in mqttServer.GetClientStatusAsync().Result) + { + MqttClient_View mqttClient_ = new MqttClient_View + { + ClientId = client.ClientId, + BytesReceived = client.BytesReceived, + BytesSent = client.BytesSent, + MqttProtocolVersion = client.ProtocolVersion, + ReceivedApplicationMessagesCount = client.ReceivedApplicationMessagesCount, + ReceivedPacketsCount = client.ReceivedPacketsCount, + SentApplicationMessagesCount = client.SentApplicationMessagesCount, + SentPacketsCount = client.SentPacketsCount, + PendingApplicationMessagesCount = client.Session.PendingApplicationMessagesCount + + }; + this.EntityList.Add(mqttClient_); + } + int i = 0; + } + } + public class MqttClient_View : TopBasePoco + { + [Display(Name = "客户端Id")] + public string ClientId { get; set; } + + [Display(Name = "Endpoint")] + public string Endpoint { get; set; } + + [Display(Name = "收消息数")] + public long ReceivedApplicationMessagesCount { get; set; } + + [Display(Name = "收发消息数")] + public long SentApplicationMessagesCount { get; set; } + + [Display(Name = "收包数")] + public long ReceivedPacketsCount { get; set; } + + [Display(Name = "发包数")] + public long SentPacketsCount { get; set; } + + [Display(Name = "发字节数")] + public long BytesSent { get; set; } + + [Display(Name = "收字节数")] + public long BytesReceived { get; set; } + + [Display(Name = "未决消息数")] + public long PendingApplicationMessagesCount { get; set; } + + [Display(Name = "协议版本")] + public MqttProtocolVersion MqttProtocolVersion { get; set; } + } + +} diff --git a/IoTGateway.ViewModel/MqttServer/MqttClientVMs/MqttClientSearcher.cs b/IoTGateway.ViewModel/MqttServer/MqttClientVMs/MqttClientSearcher.cs new file mode 100644 index 0000000..a9dcf54 --- /dev/null +++ b/IoTGateway.ViewModel/MqttServer/MqttClientVMs/MqttClientSearcher.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WalkingTec.Mvvm.Core; + +namespace IoTGateway.ViewModel.MqttClient.MqttServerVMs +{ + public partial class MqttClientSearcher: BaseSearcher + { + } +} diff --git a/IoTGateway/Areas/BasicData/Controllers/DeviceVariableController.cs b/IoTGateway/Areas/BasicData/Controllers/DeviceVariableController.cs index e75425c..91ac455 100644 --- a/IoTGateway/Areas/BasicData/Controllers/DeviceVariableController.cs +++ b/IoTGateway/Areas/BasicData/Controllers/DeviceVariableController.cs @@ -43,7 +43,6 @@ namespace IoTGateway.Controllers public ActionResult Create() { var vm = Wtm.CreateVM(); - vm.Entity.ValueFactor = 1; return PartialView(vm); } diff --git a/IoTGateway/Areas/BasicData/Views/DeviceVariable/BatchEdit.cshtml b/IoTGateway/Areas/BasicData/Views/DeviceVariable/BatchEdit.cshtml index 369cb94..6d1cc6d 100644 --- a/IoTGateway/Areas/BasicData/Views/DeviceVariable/BatchEdit.cshtml +++ b/IoTGateway/Areas/BasicData/Views/DeviceVariable/BatchEdit.cshtml @@ -7,7 +7,7 @@ - + diff --git a/IoTGateway/Areas/BasicData/Views/DeviceVariable/Create.cshtml b/IoTGateway/Areas/BasicData/Views/DeviceVariable/Create.cshtml index 0134ed4..7c6eba3 100644 --- a/IoTGateway/Areas/BasicData/Views/DeviceVariable/Create.cshtml +++ b/IoTGateway/Areas/BasicData/Views/DeviceVariable/Create.cshtml @@ -9,9 +9,10 @@ - + + 表达式可以进行简单的数学计算,其中raw为原值参与计算 diff --git a/IoTGateway/Areas/BasicData/Views/DeviceVariable/Delete.cshtml b/IoTGateway/Areas/BasicData/Views/DeviceVariable/Delete.cshtml index 1d0bb00..5450bd5 100644 --- a/IoTGateway/Areas/BasicData/Views/DeviceVariable/Delete.cshtml +++ b/IoTGateway/Areas/BasicData/Views/DeviceVariable/Delete.cshtml @@ -9,7 +9,7 @@ - + diff --git a/IoTGateway/Areas/BasicData/Views/DeviceVariable/Details.cshtml b/IoTGateway/Areas/BasicData/Views/DeviceVariable/Details.cshtml index cb60b25..5d8a4ce 100644 --- a/IoTGateway/Areas/BasicData/Views/DeviceVariable/Details.cshtml +++ b/IoTGateway/Areas/BasicData/Views/DeviceVariable/Details.cshtml @@ -8,7 +8,7 @@ - + diff --git a/IoTGateway/Areas/BasicData/Views/DeviceVariable/Edit.cshtml b/IoTGateway/Areas/BasicData/Views/DeviceVariable/Edit.cshtml index 7d35eed..d41a4d7 100644 --- a/IoTGateway/Areas/BasicData/Views/DeviceVariable/Edit.cshtml +++ b/IoTGateway/Areas/BasicData/Views/DeviceVariable/Edit.cshtml @@ -9,9 +9,10 @@ - + + 表达式可以进行简单的数学计算,其中raw为原值参与计算 diff --git a/IoTGateway/Areas/BasicData/Views/DeviceVariable/Index.cshtml b/IoTGateway/Areas/BasicData/Views/DeviceVariable/Index.cshtml index ccb0222..b3225a5 100644 --- a/IoTGateway/Areas/BasicData/Views/DeviceVariable/Index.cshtml +++ b/IoTGateway/Areas/BasicData/Views/DeviceVariable/Index.cshtml @@ -11,5 +11,5 @@ - + diff --git a/IoTGateway/Areas/MqttServer/Controllers/MqttClientController.cs b/IoTGateway/Areas/MqttServer/Controllers/MqttClientController.cs new file mode 100644 index 0000000..62ee527 --- /dev/null +++ b/IoTGateway/Areas/MqttServer/Controllers/MqttClientController.cs @@ -0,0 +1,46 @@ +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using System; +using WalkingTec.Mvvm.Core; +using WalkingTec.Mvvm.Mvc; +using WalkingTec.Mvvm.Core.Extensions; +using IoTGateway.ViewModel.BasicData.DeviceVMs; +using MQTTnet.Server; +using IoTGateway.ViewModel.MqttClient.MqttServerVMs; + +namespace IoTGateway.Controllers +{ + [Area("MqttServer")] + [ActionDescription("客户端状态")] + public partial class MqttClientController : BaseController + { + + #region Search + [ActionDescription("Sys.Search")] + public ActionResult Index() + { + var vm = Wtm.CreateVM(); + return PartialView(vm); + } + + [ActionDescription("Sys.Search")] + [HttpPost] + public string Search(MqttClientSearcher searcher) + { + var vm = Wtm.CreateVM(passInit: true); + if (ModelState.IsValid) + { + vm.Searcher = searcher; + return vm.GetJson(false); + } + else + { + return vm.GetError(); + } + } + #endregion + + + + } +} diff --git a/IoTGateway/Areas/MqttServer/Views/MqttClient/Index.cshtml b/IoTGateway/Areas/MqttServer/Views/MqttClient/Index.cshtml new file mode 100644 index 0000000..984357e --- /dev/null +++ b/IoTGateway/Areas/MqttServer/Views/MqttClient/Index.cshtml @@ -0,0 +1,7 @@ +@model IoTGateway.ViewModel.MqttClient.MqttServerVMs.MqttClientListVM +@inject IStringLocalizer Localizer; + + + + + diff --git a/IoTGateway/IoTGateway.csproj b/IoTGateway/IoTGateway.csproj index 9c1f322..f9281df 100644 --- a/IoTGateway/IoTGateway.csproj +++ b/IoTGateway/IoTGateway.csproj @@ -26,8 +26,6 @@ - - diff --git a/IoTGateway/iotgateway.db b/IoTGateway/iotgateway.db index 5335f6b3aa1e27b5c92a8157a4e5c16e556a1dbd..3226771439fe434d9c6cdd212fad091644f6e9ca 100644 GIT binary patch delta 6040 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 x.Value.StatusType != VaribaleStatusTypeEnum.Good)) { diff --git a/Plugins/Plugin/Plugin.csproj b/Plugins/Plugin/Plugin.csproj index 630c7d0..c3d0565 100644 --- a/Plugins/Plugin/Plugin.csproj +++ b/Plugins/Plugin/Plugin.csproj @@ -5,6 +5,7 @@ + diff --git a/Plugins/PluginInterface/DriverReturnValueModel.cs b/Plugins/PluginInterface/DriverReturnValueModel.cs index 726201c..e3a4fbe 100644 --- a/Plugins/PluginInterface/DriverReturnValueModel.cs +++ b/Plugins/PluginInterface/DriverReturnValueModel.cs @@ -9,6 +9,7 @@ namespace PluginInterface public class DriverReturnValueModel { public object Value { get; set; } + public object CookedValue { get; set; } public string Message { get; set; } public VaribaleStatusTypeEnum StatusType { get; set; } } diff --git a/appsettings.json b/appsettings.json index ca8a8bb..d1541c9 100644 --- a/appsettings.json +++ b/appsettings.json @@ -14,7 +14,7 @@ }, "WTM": { "LogLevel": { - "Default": "Error" + "Default": "Information" } } },