+
    '(je                     2   ^ RI t ^ RIHt ^ RIHt ^ RIHt RtRtR t	Rt
^tR	R
RR]
,           RRRRRRR]! ]4      /tR%R lt]3R ltR&R lt^t^ ^ R]3R lt^ RR]3R ltR tR'R ltR t]R8X  d   ^ RIt]! ]P4                  4      ^8  dQ   ]! ]P4                  ^,          4      t]! ]4      t]f   ]! R] R24       R# ]! ] P>                  ! ]R ^R!7      4       R# ]! R"4       ]! ] P>                  ! ]! 4       R#,          R ^R!7      4       ]! R$4       R# R# )(    N)requests)AES)unpadzhttps://www.gsqwd.coms   wNbLVFk3YShA4zT8mCbcQA==c                 8   V P                  4       P                  R 4      p \        P                  V 4      p\        \        P
                  ! \        \        P                  4      P                  V4      ^4      p\        P                  ! VP                  R4      4      # )"zutf-8)stripbytesfromhexr   r   newSECRETMODE_ECBdecryptjsonloadsdecode)hex_textctpts   &  /home/ubuntu/api/client.pyr   r      se    ~~%%c*H	x	 B	swwvs||,44R8"	=B::bii())    zeyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6ImQzZDk4NzNlLWQ2MzEtNDVmYi05YjU4LTVjZjI5NjIyNjU1ZSJ9.n7rLw7V0uhLWiRIsuyueYK3klfSegVRZU4PZDqDJCvOCy4h6uWAAUjiNvEUgmtOrS6f9hKUhfYv3zDVWvmBOSgAcceptz!application/json, text/plain, */*AuthorizationzBearer zAccept-Languagezh_CNOriginzhttps://www.tyulk.comRefererzhttps://www.tyulk.com/productc           	          \         V ,           p\        P                  ! W/ \        CR R/CVVRR7      pVP                  R8X  d   \        R4      hVP                  4        \        VP                  4      # )zContent-Typezapplication/json;charset=utf-8safari)headersparamsr   impersonatei  u@   401 未授权：token 过期了，去浏览器重新复制 token)	BASEr   requestHEADERSstatus_code
SystemExitraise_for_statusr   text)pathmethodr    	json_bodyurlrs   &&&&  r   apir.   '   sk    
+CM7MN,LM	A 	}}[\\166?r   c                "    \        RRRV /R7      # )u%   查商户信息（含积分/余额）z#/project/merchant/getByCodeMerchantGETcode)r*   r    r.   )r1   s   &r   get_merchantr3   6   s    4UFTX>ZZr   c                0    \        RRRV RVRRRR/VR7      # )	u   查用户列表z/project/user/listPOSTpageNumpageSizeorderByColumn isAscr*   r    r+   r2   )page_num	page_sizefilterss   &&,r   get_user_listr?   ;   s.    #F (J	&GR9 " "r   r9   c                6    \        RRRVRV RVRVRVRR	/R
7      # )u   给用户上分。amount=真实余额，bonus_amount=赠送彩金（二者可单独给）
⚠️ 这是真实加钱操作，会改变用户余额，谨慎调用。z/project/user/upScoreByUserIdr5   
currencyIduserIdamountbonusAmountremarktradeImgr9   r*   r+   r2   )user_idrC   bonus_amountrE   currency_ids   &&&&&r   up_scorerK   F   s:     .vk'&|&BJ  r   c           
     F    RVRV RVRVRR/pVe   W%R&   \        RR	VR
7      # )u]   给用户下分（扣余额）。lower_subtype=扣款子类型。⚠️ 真实扣钱操作。rA   rB   rC   rE   rF   r9   lowerSubtypez/project/user/downScoreByUserIdr5   rG   r2   )rH   rC   lower_subtyperE   rJ   bodys   &&&&& r   
down_scorerP   S   sD     	k'&&BD  ,^04PPr   c           	         \        ^^V R7      pVP                  R4      ;'       g    . pV'       g   R# V^ ,          pRVR,          RVR,          RVR,          RVR,          /# )uI   查指定用户当前的 IP 和设备码（取自用户资料，单条）r<   r=   rB   rowsNrB   ipipAddrfingerprintr?   getrH   r-   rS   us   &   r   get_user_ip_devicer[   a   sc    qAg>A55=BDQA!H+ag!H+q'	 r   c                z   \        RRRVRV/RV /R7      p. pVP                  R. 4       Fz  pVP                  RVP                  R	4      R
VP                  R
4      RVP                  R4      RVP                  R4      RVP                  R4      RVP                  R4      /4       K|  	  RVP                  R4      RV/# )uW   查指定用户的登录历史（每次登录的 IP、归属地、设备、设备码）z/project/history/listr5   r6   r7   rB   r;   rS   time
createTimerT   rU   devicedeviceModelrV   totallist)r.   rX   append)rH   r<   r=   r-   outxs   &&&   r   get_login_historyrf   p   s    #FxY?)	+A CUU62

AEE,'!%%+aeeHoaeeHo155/155/
 	  QUU7^VS11r   c                    \        ^^V R7      pVP                  R4      ;'       g    . pV'       g   R# V^ ,          pRVR,          RVR,          RVR,          RVR	,          R
VR,          RVR,          RVR,          /# )uG   查指定用户的余额。返回该用户记录；查不到返回 NonerR   rS   NrB   
userTgNameusdtBalanceusdtBalanceAmountbonusrD   unfinishedWagerunfinishedWagerAmounttotalWithdrawtotalWithdrawAmountfreezeStatusrW   rY   s   &   r   get_user_balancerq      s    qAg>A55=BDQA!H+aoq,-=!14501.) r   __main__u   用户 u
    不存在F)ensure_asciiindentu   === 商户余额 ===datau>   
用法：python3 client.py <用户ID>   查指定用户余额)r5   NN)   
   )rv      ) r   	curl_cffir   Crypto.Cipherr   Crypto.Util.Paddingr   r"   r   r   TOKENMERCHANT_CODEstrr$   r.   r3   r?   CURRENCY_USDTrK   rP   r[   rf   rq   __name__syslenargvintuidinfoprintdumps r   r   <module>r      sH      % 
%* 	C 1Y&w%'s=! $ [
"  Qr} 
  !R] Q2$$ z
388}q#((1+$<GC5
+,$**Ta@A$%djj/eANOOP r   