From 6a5997200b114781ed7d543256d3a05be9468b39 Mon Sep 17 00:00:00 2001 From: luoliangyi <87842688@qq.com> Date: Wed, 6 Sep 2023 11:11:34 +0800 Subject: [PATCH] =?UTF-8?q?1=EF=BC=89websdk=E5=A2=9E=E5=8A=A0=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E8=AE=BE=E5=A4=87=E5=BA=8F=E5=88=97=E5=8F=B7=E7=9A=84?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=202=EF=BC=89=E5=A2=9E=E5=8A=A0=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E6=8F=90=E7=A4=BA=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/webservice/新版websdk接口说明.doc | Bin 352009 -> 355145 bytes sdk/webservice/ManagerV2.cpp | 114 +++++++++++++++++++++++--- sdk/webservice/ManagerV2.h | 2 + sdk/webservice/WSUser.cpp | 38 +++++++++ sdk/webservice/WSUser.h | 1 + test/webservice/demo.html | 12 +++ 6 files changed, 156 insertions(+), 11 deletions(-) diff --git a/doc/webservice/新版websdk接口说明.doc b/doc/webservice/新版websdk接口说明.doc index 1e328964a3c2fa233b9f6e40407d4c41dc22e127..6d43922c56302d2cfc432dcdbfe041dc0ebe4409 100644 GIT binary patch delta 28266 zcmb8&4?K1Eo#63%ufxb45%q|wk((PeBB~;)#u~j2LVV^p7)mo?USS!<1|wbodx*2`Gk&-ZfiJWY3JJFj=1dw%EM zpY#9x&hLD`zxm$8gMYvL;6R?@Q2+eSAH244yFhtIt2Nv{wKv!q%Kz+Z6#b*tPNUHn zApiQ^y7<@d`P-rQm1wm)xBpWAx7y#;>ol6DKE-^Ertu^9Ki;@-pX=>Or!=kZ`29wM z^T+Qu*jwkxfBq$|@e#$)nCF~szyE|r|T-;MFoXngp}`o}by9R6+-|Hd)>bH4jv<4o>UA%&I9~q>ud>KK{K^-8 z@JBRa5Q{h@BL%6*L>97rPG;mnYN$+#VA23YEg%JG@%(SXhl0Z&`CW$ zb}wiz7x@_$tCQj`3}G0f7{fRwko2TRV@5L4kd6#wBI`-jG^qVq;|Jqm*BfE$?Z-6_ zWHC1n`LLh>4QN6$TF`}V^r%|B?$+(dsY$JAnCVfhV*{Hw#Tm|_iRIvh0tYxk4_COw zj+g>uzq&Eu4i6Y$gb#e-2Y-Yh6k!NQB%%;aC1&j(Y8xN^)!S^HXo_MHhj=6)5h+MT z8q$%4Y~&&j`LM*^HqBjaYujP+AhlYUTY^%QqXJc^Mh$9Fhi0^(6>aE57Yk_AK76qY zFBY?RtP`-&B>|!4WIK&yw;rJ9A z9!_wE3tZv$)QBm~P8QF4Ovr)nMzK4*V1Ny_Y%kgVKc=o^%2JSu3}hk; z*~ozf1t>%jn$dz*v{6?r>-k6<6FulfABHfDQH)_+{fJTbQHOOtZt$CEJGRXR6Pwt^ z4tB8zq5RM2W!Hi_2 zAQfpyfBLp*OwPhzy!~0t1L>4xAQQRBLq04hLNQ8EiZV2y3C(CxKjW+0k}(ft+lA#-RxO^{ z2}nc|%*a75@{o^06rlvAC_^=Bs5V^t=W^!CMWBYFCN!f3edxyk1~GxWWzY@Ob97Y5VH3Vq0hVS8Dd) z8vzJJ5P}hgaF`H@D8wTH$w)ye@}C(owc5#gTdT^a$bteCq5_quLN#j8hIVwL2fY}_ z1XYD=FD|A(VX-DCo5l?0FpoP}z#>+$hIMRU8#~y=9xJ^3uIvqI@9a^s4_yMA3J!3D z3tZt24|u`{z6e4vLK0Ndw)U5tnLp+X2&1+TN<$Hba6}*yQHVwil3+$MQjm%?q+ix{ zeXh&$r86f3nW#qtn$U_iw4(!^=tUp;F@U9n5z~zB53T2v<#I19QND~7tYRBG*u^1^ zaEucep5^p`H+VMgmFw@ z5>vQ?g~Sn4q%^G-m{`Or*07EZY+?tyIKUx}pghO13P(6Sr<#0qY>i*YUY5(16Q#~@ zfh+vrj{pQB7IBD20uqsgd|0UMK=(82HAdZ-)5>vep}YXaC_yR8P>yQUpcZxLL>Icz zgQ4d}Ol{W7pY<{@MA0xtF^MTmV+OO>#{mxEn8Y;;k%&Tc(#3AS`D}36oMdhaQjv`u zRG}I*Xh#S7(2r%TU=?dg>_={i*R?*wDz7nT6IIpW}G{rNxg9R*N32Ru#7Phg2 zT^!>Cr_h-jO-FxrdHF1&GM$+N8xC-U9xiZ&8{FXmBfQ}QUj!oDeA_fF4+Yld@e|Y* zPH6;8h(kOQkceC8|)3R**_$;xL3G0?~*;EaH%cbYvhC z`LLh>CCRr*EadeMhL3}G0f7{e5%F~cIc%I2P7Viv1d!#XywhkYF2 z1gAK|IW#Y@-f(~(2pf7V+E_&z$Uh^jU61| zkmX9W`{s@7=gn5+y`SaUddRPia175Bp5lRAeFx*~mc+ zYEg%Jw4ogxRAOz7buiI`Ui6_K0~p3ACNPO9EMf`ESj8HZ?8&3<8WZc-z$wn4NoCdG z0#~@f9R?WT4Ic!gUi5FsHBz3}11Jkb5P}hcP=uitb*M)(TF{C%w4S_319+GmM z>!!E|z39UvrZ9~eEMf`ESjPr7v4w4_+rDv~+osIvMfMh4V1ze(;ENE1A`Ib(MI7Rh z@M5EBxzTnGH(o!(B{0*BWTYS!X~;r0a*&HMl%oQbs7J$#7wwJaI-L^UL_r(c(Sc5M zp%;A^#1MutgIUbs&Wrc9H||infJH1}8SB`PJa)S({z7{DNg zFoy9om42bCtEfDLabXTe>!WXM3!BTRneI zrw{F5ZYTONfI*C5921zt6n3zSJ)FIC(YGW|uUzhA4^es!O**G69HEC3oDqg_M8Je- z#2^-N=`^A*yH2Q)+TtjUhZ)I8K`Qc)4+{!VhH_M(2DPZ8wj(xg9iQvbfEKi(1D)u? z5QZ^|aZF$mQ&>#D=ux^n*Vs~jqH_*jVa_@>u!${fV+Y4L!6`IfW*b2HvNQxaVejgR zmp%xExejoI3tZs_cZ4Av5ilVR@kl^2QoelKbjJFn@HrJ}s6ZvEP>nj&qXA85Mmsvt ziLNh?n7rkx+r`8TW-*6(tY8&u*upk;u!}t$;s~cy;v}AzgpAZVC%uDMkrO zQHD0OqXV7j#{dQ~hH*?_GUK*sidCBA^AvWli#?p-9GaKey>NscPH=_`3^2Yd7o4ld z32S$ldVZTzEu6U#Fd-5#h(#Pykcu>^ z(ThIxV;G|^-!^TrQloqx!#E}|jTy}24i>P1O>AKYyV%1%i?J&60?@Ef>mg~!tRFx4|u`| zZ}`B3NJPQ>m5XNg#YVF=XP@8-U}kPIQjvyqgE{Vk1V+j$^= zO8!g@U#~?Sy3mat^kNvJ7{e5%F@ssmVc{zmt!2{!6N^~ED%P-veH`Ej$2h?$&Y;g? z=fgSc>P{gK9dfI1rq~Vc@PH@0-~(Uy!5?vmM*+y(S*uSA!VBFqW}`RjgqLyV%1Kj&XuhoUzFAn%H#4gzgm%9O&T$ zXBc3FH+9k%)Sw(X{=6JYL9Fw6GPUD2+xO;*o$vBq0@PNJj?h(SRm2qw^K% zR%4Mmndm|{`Z0h(3}F>(SjPsov4dUgVV_FczEiDR7L6lVy?X4w&hV3-hzD8wNi z2}sNyF)eEUR{I$~Cm{u?$Ur8tP>3QFqZDN*M+JJ(M;&K!AL?Ub5JQ;3EaoteMJ!Dv?*D)<*~$b?206zRJ#m1011;6P(qLt?E9mMh=J+HdJT?pn{s1~j1=y?oo&G_~H!e^2v3FXesc#{kAL zfl2kDZQVzmkNJ3lQ@Ff(b)mUzlDfP~GX(DNfG2_xf>4CPgh)go8Zk&fBDMW1FR_Vy zJqc#yAQySaM+r(%hALE}2DPX|)2o-4*d`{L(S~+(U;u*{!YIZtjtMMa5ldKRS?R); zBi9y*vrO?C*0F(2Y~c*&(ByI`z!7>l!5J=a&9$~#FWMWI7aLc~J>dldeBcW|_#*%z z2t^pek$^-b<&K!vgc%vgL>BUp4+{!Vh*q?r9YYw#7?qUEIX=e3I3}=+6|7>9N`!zRN^H|a>9hu*H~q^z!e4<;SGNTAP_+aMi{~o`L)YdZzK~@h=v)- zNI@FXk%3GUp%^77MIGv?#3)Nr&qM>7(2N!=VhPJw!#Xywi7o759|vE%ZCbzUG5LVf zL%8R0#KRL_@Pj`B5Q0#IAsi9NL{{G2kI58eqXeZWLpd7Igl4p$75x~%D8?|JCr8lD zcbnssu3!~w*vA15afDNx;T&$Su>$abCycL2ZPt6At;=KNTx&%+5q6^*VMIVcH<5eP;%RWl`F@Qnr zU>AEh#1W2hf>Y@7xgNs-j`<^|WH~4tnJ~f|KJY~_LJ$fQA`yjX#2^p(u;i=Um91~! zYA?I#EfiOy2DPX|6PnS2R*Yf{<5<8VRaqy3vDCjA0y;U%$5>Ym(9_Ok)PK&{^1NaDWq>;R08UT-zij9bGxcK@OY=G_1O*Oof-_v;3OBgJ3kDeB4Ic!&{@WYU7l%ridj2sxeP|G0 z4n`8pNJa{>kc}KzP=G=dp_m1gc5}0rof2L~K{={WjT*F~4ejVe7rN1dUTk3Vb=ou5 zvq5f+vKuxj-NG*Ru#W>A;uL2%ho*o_5Io@p1N;jv+s*z=1RxNh2tzm`U_utMk%MZ~ zpcQRsr;-nO%xq^?2fERNUi6_K!x+UF#<7HDtY8(}RA~*!+h$@1yEw!Vj&XuhXx?CF z!x4Ho!3zc$-?$9OGcw@=U--cv0mw!Ua$!LM3Q>e&l%s-560c)fZI7W9%&J5cy3vDP z^kEcZ7{@ebFpD`H;E*bB2IC!4c7$V`;T)Pm)(Z-p;0zbIA{ZeEMOfiQFrGF{eI&r{ zVM7XK>BvAfa*&G>l=59`5MC)0WvDj7uD!vmi1g5ev|6LTHUWS}e>F^EMvGLVfN%-c zGGE76G*HxpX0)Ll9q2?C`p}O73}O!RxPt|%vc@?sFtLVpY+whw*uy>!)Q^PPebm9V zh-*vH#U^eJ;}mzNz!P3DzzA<-Asac!hXn;FL=noU|zi5IKUy2 zi@81{6&c7x7P658OYw(pa|^QyP>3SbpcZwgM;qGFfgbdt5B(UR%A4DKfU;$*U=^o0 zgY&mIwc!d+c)Gl9Z(YCa`Cv+J zAGT&n1#>G=g=*BJ0ZnK|FZ$4r0gPh;lbB`EtZ#p2nV7>o?qC7SSiw3ru!%z);TWel z!#S0dOH1*b2~7#tK7=705r{%GVi1csB*Bbiq@b|mp66|@ONEpdp%^8oLN#j8fF?Af z1+AFG6sECWa_ z&t%)B*xpLZ>V;Aoh6E%c31*}r9T~_(F-lO1I@F_~Ogc2K@8S)VHK88^7{m~UF^f4Y zVhPLG!7lc&Uv}?P%RZ&bo1AHIgdR@tf&oT&!w>!lKp=t;`=;&P=axJl#8MQ8cqG7# zWTYS!X~;u9EGR%N>QGNr5=?KZXQBa3=t4L8(2oHOViaQ-#{?!Zi@7&{Yge3g&tBvY z%<;{6+`%?>u!}vM;1p+2%GoM#gdR?CEx+uAb7jH}p74SJfe1n{LJ@{=M8Jd?#3HWT z8eVUGROW!Qz3hl%Rw9yMMlw>6flOo}8>J{iIVwWtfJ7w0OqIUYe%)WZ zO;u)!QjvyqWFQm0=tDmyFo_w=Vh;0Iev6b64v=L&uV5AXIKUas;Z?z6!H5uqA_~#S zLwd3kq73DzMh$9Fhc0xZ2fb8jZE5u~F^o}+VG7fj!7S#m zfJLle6>HeTK9yKoTKh~K;0VV!!6}@-%l3yW+~5m8_#*&;i23ft*=WmciJ>eOafn9} z%t%HNicx}6l%WQ-s6*3tt#2cxs$a3+nkZ^U3tG{JE_9;@y_my1?qC6HSjPs7Wext@ zU}6Wm*uy>!;9kiM5uOM~1QL*lB%~vwQZ~?4sFm&ED1%v<$U-jikPizA(1KR9VH^{f z#1!VJ@iG}s^p9ong=`d{ z5DjQTGkVd7QH-fi)Z4kMPb#|Z%NC7PB3@O`|H#haz8$`_j{{ZPVE3@APZfs){NRt! zs>>(*P$t37doWtQAuDj5~1+MR0^z2@22roG<|B>U;m050ZhX;)C zh7WuZ0TUt-g#;ub390W`V|TTw>LV?7xBROqszEI}(S=_0p&!E-#n?L|rV#7v1t!KZ zjTy{h4)fT;Hg<4=Q#e$!O3=el{h?P{1G9_>Kp^6gfJ9^=8wDst8`{x7z34+f1~7^-jAH^zSjGxgv5g(;1rtgaSwqb^l*X~3^2k6 zzTdkH-t=X{5B`Wn91@U-Ok^PkxhO>$Do}~4@6oKj&b6$fs0Y31LqCQvj8Uv$6>C_> z26nKEJ(fq2B)p5xM=uVhJ&F%;gkzlG6uKI2k8pq^yx{|1_#p(LHJA6_P$t3M81qEn86S~oZUQAHQhunWBm^F!c+`%69aRBA}EEinih6tDti73Q=|NnMW#PW?e z#3KQTNI@#nkd9)MpcG}OK`rXOe|c2YG0}_`w4x2|=t4L8(2oI3VhYok#T=DbLwe_! zn8zKgV*{Jm!ZA*8iZh(UwU+gTJ3MNyUTXg2GDXybVgrouh7WwGY2RG}I*s6}1v-JKS7lnr4Rqqu_wEMo<$ z*vA3Ra1O5@uv#$wKys&kdD(!J+_VQ-IwNyJ5Q->7BMp&LEuMIS~nhH*?|2D6yMJQja&*>qlHVhO8Q!#ehHfI}SP1gAKIOC9?g zZg8)=+Sj%h*zOej!5;w#L=a*Thj=8wjAW#s7$qpJySvF$N?94oQHwg%qZut|MH|}D zjUM!(4~x__qr1vOU8HCU%UHn{wy}c)9O4MaIDz3^_A9&*_U>IzqipyvO2ZL}C`2P3 z2}nc|(vg8oWFZ?RD1G;?+i)pGWhh4->d}BEbf6Pm7{>%=FpD{?P}PUDpI4Z*iZ$$E z9|t(ZDb8>XO+8mr3}6sLn5)0Bu4iV}b&k?`EMXZd*upk;aE5a@{1Mk<=;00zc>d94 zyyuae6}EcF$KayBck1M-O_@ zhf$1S91B>)8rHFaeX4b_yEu)n7gjDb`^-JSA(RGI6^_uu1+H*|J3Qb6U-%)s!4^pP z`De2t*JfU_vC!NJb{IP=QKRT~vAX68f^;Os!SSZABY; z(2GSZVHqn}#|AdBg>CHPfLi|*7sms>dWa)nLU=mZ9#T@3bhkYDam+5+} zgagVBafCCRL-RupPB=mjCpg0$9`J-0Vt#nn#W9AWSi~V7DM&>cvXG4&05&B|H#-K!hU#S;$5Xa$!LM3Q>e&YHq)5^;|42$rk_9&Ov?4 zWN*~Es=t3k-_?5~UpTV+8?xp3K{+Z=i7E_W5JMQo6s9qQJ6OOXmQ-4$gq(kd&&ycD zI<~Nl9h~44XVA28#exC{c*3jYGSbwG2?LA>MhHR?hHxaojAW!B9T~_(1(mc&uU-Wc zm8e2BYS4@pw4wu@=t4JoFn~b}wU8o39YcH`#um1*gIyfs1gFsbh_!$N9HB=Lf`4>Z zP)RUFA&5gfl3+$Ma*>B(l%NHzXu|*osjAS<8jJP}2gD#n6PUyfcCm+j9N`!zIK>&1 zR+bKq(6?R&>FJpWLpUN}LLB0efMlc~6=_IE7P65?CDzoGJSOsCK{+Z=iE7lK7Io-E z7rN1dF^p4*QFhcg6BC%k6jrf@b!=c8JJ^N(J+7B-TUiZ--k2*Vhsl5*+r7-wPv zlbFIZ<}i;tSimBdu!ePPU=v$Z5^(pZS6dYCVh{T`z#)!shI44z*i3MOJ3QbCueN*I zp?6=t~O$Lf#SHk~UPGrc?Cz?c76*7#7({n5UWTcJgBz8HB&vSyI0n^Z#IUrF18HGSb z6p*0+B!xdTnR+n;#}}v?9gwW;76(&Y zDan$O>(~a#HIxiN$?#i*WYbADoFubJE?Rg7D}hNEUuMrka-a6!1O4zR*(o*2|$&wQHlDLP)&)flt4&{W0dGai5rxF zKMB+eKrtkUO=8d_XiQ?hBxFlstRyxntdIqS#286zkOcKeOpaR-`(L7BB$_4hn{0ka z5Qs!=NVJ6nOGs#gL?%dJfdm7{D|~tHF7M6dy|=u!mY2=)u2|mg${SgEsVc8RYw(P$W+=^2{L*1=6OMhPX7KrR6K_RcT~O z(@+|3-H?Wnv{{xQO@zrJPju8GnTLE)8 zet+bhTgodslgv2A2~MG7rUC~z!V3l%;f+89AsFHBU%vF0nj>IBB%%g{qq$*yjDO2&(4yZ53 zDzB&;OG>L6^nkry^?KaiOL0-jxd9Ra~j7m+#Kv4i+IJMe3ho zbHEkuFg$g$EB)zD9{sQ@^it zsV-kss;TA%Oi>Y@H=79Oq$ zM+(xA@$~i2)cR)GAeWoLx-Ft*3(J~h@ZD1MVGc45U_d-4145C6()jDTM(SH-5lSg; zh76`BqvRb!M#q!U?;??c>SwNhrt-6T)u<}`;rEnQ{%|$l=)nx;A;Zkc?bsuMKaNm@ zCETpRx)MK9s-*^5^f0~=fhfozaAu?+4H?Kp!(BBDC`(uSviJ*{`x^L06WY)L8NAK- zEX@$eSZp#5TQ2^YqxI^4>sO!n@N@O^?aF(q@srBB8u?k}|o~Lg^WYx4inPQiZyIt=dPbc$zR){cn>mElMKlu4XklECUYZ&GXj#Y|C%<7VPeA6 zpBE~Q>L2`DN)|ycgW|-)3>p7M#aRWd&Y~zRI@i`wwC_yK7ZNKFHIg&A|bZC8L5D*#4Lx%B?Av~lh zE`xE%U>h>Hh76*ynSS#R%8C23jF@2?EyFfahK!Qo02$|^5;As$j9amP^KksHHz$^F zPW=7NiBa|Ca^)MU@e^D*Hx`sab>L(60c>TduL&}=g$!XKBUN~2uz!#QGcu5wabuC2 zR+SX)?VnX{J*v-SW-jv4iCxHJMJi;Z1{tLx_vITuu8&hL8wUQl%#$G*WXJ^>VnK#e zu#KBw8#6)1OVDRt{+{z@q-0&G()!Bq2{J5#40#|!7U;ghEeA3}fQ$|xBLkFu#JAG%SjN++5EC~V63`-P%Ns;*Od9kHF__;XMivKAsN?_NiA8_ zl0hxm(~=b}+0VaHKN+q3XVv(ovY}?!+u!i47r#UAjS6LF1Ltf?P4oNYV^kT^gmfT-S@g0BlH@2i?_e!d+ zq~l(s;mw#+d@zu(4lA!MUbMFXx z+}_iA?PLo}E}=XnM?=yCB@Ixr{3NSS^7Srq^=>YL+*bW1eb1JZukrI;{y!fFENPoU;p~oL-OxmzW%t@ zSF+_KQ%(}yB%w|6)+9&GmY;T!iFUb&w#KtIlcPFB?&G)Aj&CZzr@sH+l$TYP&nvy$ zFePtIa@HhYP4dws#Y|GlByUV|#w1^CwczGTugOYFikM`8>EB>m!yl5+WlQFgL@r6< z>U-mAVQ8csNFz-Ww4_r(lC31sN|LOkgCQA`EG79+)rB|zqIFN((xYstQIZxVDN&N! zBza1bmn8iX&EL3rfBeop_eV)Xk`yFKKaw5{$sW=aabUuh9dwZybYlUya)(-<%0B(5 zUQ&i6U8oR4ko+CV*OA^2Nx+fhn~ZPX`0y2M6thLEh2ptPC;RhOr&Pr%9isseM6 z$ZQF#me^>Cd6w8_=?*KXxVbPE*%uPKEOE;cvn;)35^^jd#u7ms@Lg_AxQO(<{;68; zr`&&ea~ybrYp2Vz%0GWXFTudJKwydbm55)7=#?N{3Cfj-S_y|uczc8^-?G+Mdf+6K zbqf-mdVnKHIBF~;y0p0J`tM%0&Ly6-4-))o3;eVNeM$$OM0HBkX3aa-+wihsDUq5I znJGb*j@2v*BpR|466e^D)#{sn(R#{ASffNO>c2CO07XEveKb2>b z@IZFhld0^wCTIH?b>L@gC>o4xtxw4g(@VUd#0p9*poI5HIG@DlnZD2BBMu4Qzqu@N zN}9FB=;oimyfR48Tt6fRPGa07Xw4R|b`h+0{d;M9UH|We>yH|Zx=_Uf_eGQc8RfuN zV%#LYO=8<5Kuv=<{+V35|SnHRV64xdEL$5 zy4rIbO6Zg=Y)V3=BwR}3pN#LaHIM}fFM-J^rX( zVv8hRNFsnF%17dLq{CH$Ya~oYLSK>_ZZ1lsoSzcgB7LzEh$8*55(P*KAolbo+!hZ2h>4KE5M8{YTcu4n~ z^qomZn6(2dp1bWcT$d80$LFHYM!Hd?Pegh(q>DoO8>I6<*`*B zI^~hk=_US!JeJ8LQf3CP2jp=@o;&0rLXJpj+Dijn8rIT0wvNH`sx&~QHOc%H=x90&r!L z3y@q*pJ__nCfQ z)gRe;j{MkUf2LK9$BKtu=fcnAfB&NXX{3FQR;Rjr&VJZ!DEO~gVfK&w$NK*i%<%b< z)z8^S>K;jbm@6OTe_H;}_SyFDiz9y+ZT~m+c7KxBJMyci?0?_R?)+PABOiOl{ulOk zb1#;S{O=_DkLc`1p7$HM|BLpwb-uE|-H^x&cNRPw5+@-s5=9usl6vz{>gMVFAxgKQ zu$p10ge`=irRDP5nabxHe}3QZs|!K2op~_vRK32Uq{@H(De!k>1GPc|3?#Tff(GQR zguL;WH~aF+US8MBMm$nKxup1h$VvT*YWy$KW|QkCUFl9-H|6{CTHn;lX#jcoE-%?9 z;l$2x0q?{w`sA&>=++C2>?bc6ATPq@CAb-Fkk`}l+F9Nm`?ZbuNAn0`T_66Ob>Fgo z?upZ5($w9OR{iyp)jl3>WVhuC^O*3NBtV%zVi{ m%-UO})7W>X+UwNG7wjX4)9eSej{m|r$^Q%^V=vi1tNlN`Os44o delta 27280 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 B9oYZ? diff --git a/sdk/webservice/ManagerV2.cpp b/sdk/webservice/ManagerV2.cpp index 10a88ca4..408f6431 100644 --- a/sdk/webservice/ManagerV2.cpp +++ b/sdk/webservice/ManagerV2.cpp @@ -1224,11 +1224,15 @@ namespace ver_2 errInfo = "错误"; if (m_initDevice) + { + errInfo = "已初始化"; return -1; + } SANE_Int version_code = 0; if (SANE_STATUS_GOOD != sane_init_ex(&version_code, sane_ex_callback, this)) { + errInfo = "初始化失败"; return -1; } @@ -1242,7 +1246,10 @@ namespace ver_2 errInfo = "错误"; if (!m_initDevice) + { + errInfo = "还未初始化"; return -1; + } std::string errInfo2; CloseDevice(errInfo2); @@ -1265,7 +1272,10 @@ namespace ver_2 errInfo = "错误"; if (!m_initDevice) + { + errInfo = "还未初始化"; return -1; + } HGBase_EnterLock(m_lock); deviceNameList = m_devNameList; @@ -1278,13 +1288,25 @@ namespace ver_2 { errInfo = "错误"; - if (!m_initDevice || m_openDevice) + if (!m_initDevice) + { + errInfo = "还未初始化"; return -1; + } + + if (m_openDevice) + { + errInfo = "已打开设备"; + return -1; + } SANE_Handle dev = NULL; SANE_Status status = sane_open(deviceName.c_str(), &dev); if (SANE_STATUS_GOOD != status) + { + errInfo = Utf8ToStdString(sane_strstatus(status)); return -1; + } // 从配置文件加载devParams std::vector devParams; @@ -1310,7 +1332,10 @@ namespace ver_2 errInfo = "错误"; if (!m_openDevice) + { + errInfo = "还未打开设备"; return -1; + } std::string errInfo2; StopScan(errInfo2); @@ -1325,12 +1350,45 @@ namespace ver_2 return 0; } + int ManagerV2::GetDeviceSN(std::string& sn, std::string& errInfo) + { + errInfo = "错误"; + sn.clear(); + + if (!m_openDevice) + { + errInfo = "还未打开设备"; + return -1; + } + + char v[256] = {0}; + SANE_Status status = sane_control_option(m_devHandle, (SANE_Int)0x8856, SANE_ACTION_GET_VALUE, v, NULL); + if (SANE_STATUS_GOOD != status) + { + errInfo = Utf8ToStdString(sane_strstatus(status)); + return -1; + } + + sn = v; + errInfo.clear(); + return 0; + } + int ManagerV2::SetDeviceParam(const std::vector& devParams, std::string& errInfo) { errInfo = "错误"; - if (!m_openDevice || m_scanning) + if (!m_openDevice) + { + errInfo = "还未打开设备"; return -1; + } + + if (m_scanning) + { + errInfo = "已启动扫描"; + return -1; + } // 设置devParams到设备 int ret = SetParamsToDevice(m_devHandle, devParams); @@ -1351,8 +1409,17 @@ namespace ver_2 devParams.clear(); errInfo = "错误"; - if (!m_openDevice || m_devParams.empty()) + if (!m_openDevice) + { + errInfo = "还未打开设备"; return -1; + } + + if (m_devParams.empty()) + { + errInfo = "获取设备信息失败"; + return -1; + } devParams = m_devParams; errInfo.clear(); @@ -1363,8 +1430,17 @@ namespace ver_2 { errInfo = "错误"; - if (!m_openDevice || m_scanning) - return -1; + if (!m_openDevice) + { + errInfo = "还未打开设备"; + return -1; + } + + if (m_scanning) + { + errInfo = "已启动扫描"; + return -1; + } // 重置参数 int ret = ResetParamsToDevice(m_devHandle); @@ -1384,8 +1460,11 @@ namespace ver_2 { errInfo = "错误"; - if (!m_openDevice) - return -1; + if (!m_openDevice) + { + errInfo = "还未打开设备"; + return -1; + } deviceName = m_devName; errInfo.clear(); @@ -1396,8 +1475,17 @@ namespace ver_2 { errInfo = "错误"; - if (!m_openDevice || m_scanning) - return -1; + if (!m_openDevice) + { + errInfo = "还未打开设备"; + return -1; + } + + if (m_scanning) + { + errInfo = "已启动扫描"; + return -1; + } m_scanBlankCheck = blankCheck; m_scanTemp = temp; @@ -1407,6 +1495,7 @@ namespace ver_2 SANE_Status status = sane_start(m_devHandle); if (SANE_STATUS_GOOD != status) { + errInfo = Utf8ToStdString(sane_strstatus(status)); HGBase_DestroyEvent(m_scanEvent); m_scanEvent = NULL; m_scanBlankCheck = false; @@ -1423,8 +1512,11 @@ namespace ver_2 { errInfo = "错误"; - if (!m_scanning) - return -1; + if (!m_scanning) + { + errInfo = "还未启动扫描"; + return -1; + } assert(NULL != m_devHandle); sane_cancel(m_devHandle); diff --git a/sdk/webservice/ManagerV2.h b/sdk/webservice/ManagerV2.h index 6e48e4b2..af014d9c 100644 --- a/sdk/webservice/ManagerV2.h +++ b/sdk/webservice/ManagerV2.h @@ -189,6 +189,8 @@ namespace ver_2 int OpenDevice(const std::string& deviceName, std::string& errInfo); // 关闭设备 int CloseDevice(std::string& errInfo); + // 获取设备序列号 + int GetDeviceSN(std::string& sn, std::string& errInfo); // 设置设备参数 int SetDeviceParam(const std::vector& devParams, std::string& errInfo); // 获取设备参数 diff --git a/sdk/webservice/WSUser.cpp b/sdk/webservice/WSUser.cpp index be869d2b..eb5c7fdc 100644 --- a/sdk/webservice/WSUser.cpp +++ b/sdk/webservice/WSUser.cpp @@ -314,6 +314,10 @@ namespace ver_2 { CloseDevice(json); } + else if ("get_device_sn" == func) + { + GetDeviceSN(json); + } else if ("set_device_param" == func) { SetDeviceParam(json); @@ -2432,6 +2436,40 @@ namespace ver_2 } } + void WSUser::GetDeviceSN(cJSON* json) + { + assert(NULL != json); + + std::string sn; + std::string errInfo; + int ret = GetManager()->GetDeviceSN(sn, errInfo); + + bool findIden = false; + std::string iden = GetJsonStringValue(json, "iden", &findIden); + + cJSON* retJson = cJSON_CreateObject(); + if (NULL != retJson) + { + cJSON_AddItemToObject(retJson, "func", cJSON_CreateString("get_device_sn")); + if (findIden) + cJSON_AddItemToObject(retJson, "iden", cJSON_CreateString(iden.c_str())); + cJSON_AddItemToObject(retJson, "ret", cJSON_CreateNumber(ret)); + if (0 != ret) + cJSON_AddItemToObject(retJson, "err_info", cJSON_CreateString(StdStringToUtf8(errInfo).c_str())); + else + cJSON_AddItemToObject(retJson, "sn", cJSON_CreateString(StdStringToUtf8(sn).c_str())); + + char* resp = cJSON_Print(retJson); + if (NULL != resp) + { + SendResponse((const HGByte*)resp, (HGUInt)strlen(resp), HGTRUE); + free(resp); + } + + cJSON_Delete(retJson); + } + } + void WSUser::SetDeviceParam(cJSON* json) { assert(NULL != json); diff --git a/sdk/webservice/WSUser.h b/sdk/webservice/WSUser.h index 896d5788..60eb8be6 100644 --- a/sdk/webservice/WSUser.h +++ b/sdk/webservice/WSUser.h @@ -57,6 +57,7 @@ namespace ver_2 void GetDeviceNameList(cJSON* json); void OpenDevice(cJSON* json); void CloseDevice(cJSON* json); + void GetDeviceSN(cJSON* json); void SetDeviceParam(cJSON* json); void GetDeviceParam(cJSON* json); void ResetDeviceParam(cJSON* json); diff --git a/test/webservice/demo.html b/test/webservice/demo.html index 2915bf2f..05f88bf2 100644 --- a/test/webservice/demo.html +++ b/test/webservice/demo.html @@ -137,6 +137,10 @@ { alert(msg.data); } + else if ("get_device_sn" == message['func']) + { + alert(msg.data); + } else if ("set_device_param" == message['func']) { alert(msg.data); @@ -559,6 +563,13 @@ })); } + function GetDeviceSN() + { + socket.send(JSON.stringify({ + 'func':'get_device_sn' + })); + } + function SetDeviceParam() { socket.send(JSON.stringify({ @@ -933,6 +944,7 @@ +