+
    j                         ^ RI t ^ RIt^ RIt^ RIHt  ^ RIHt ^ RIHt Rt	/ tR tR tR	 tR
 tR#   ]
 d    Rt	 Li ; i)    Nget_config_value)SendSmsRequest)	AcsClientTFc                  D    R P                  R \        ^4       4       4      # ) c              3   N   "   T F  p\         P                  ! R 4      x  K  	  R# 5i)
0123456789N)randomchoice).0_s   & %E:\Work\BangBang\backend\utils\sms.py	<genexpr>$generate_sms_code.<locals>.<genexpr>   s     A16==..s   #%)joinrange     r   generate_sms_coder      s    77AaAAAr   c                    \        R R4      P                  4       R8H  pV'       gO   \        4       pRVR\        P                  ! 4       R\        P                  ! 4       R,           /\        V &   RRR	R
RV/# \
        '       g   \        RV  24       RRR	R/# \        RR4      p\        RR4      p\        RR4      p\        RR4      p\        RR4      pV'       d	   V'       g   \        RV  RV RV 24       RRR	R/# V'       d	   V'       g   \        RV  RV RV 24       RRR	R/# \        4       p \        W4V4      p\        P                  ! 4       p	V	P                  R4       V	P                  V 4       V	P                  V4       V	P                  V4       V	P                  \        P                  ! RV/4      4       \        RV  RV RV RV RV 2
4       VP!                  V	4      p
\        P"                  ! V
P%                  R4      4      pVP'                  R 4      R!8X  dT   RVR\        P                  ! 4       R\        P                  ! 4       R,           /\        V &   \        R"V  R#V 24       RRR	R$/# \        R%V  RV RV R&VP'                  R 4       R'VP'                  R(4       2
4       RRR	VP'                  R(R)4      /#   \(         d:   p\        R*T  RT RT R+\+        T4       24       RRR	\+        T4      /u R,p?# R,p?ii ; i)-use_real_smsfalsetruecode
created_at	expire_ati,  successTmessageu   验证码已发送（模拟）u/   [短信发送失败] SDK未安装 - 手机号: FuA   阿里云短信SDK未安装，请安装aliyun-python-sdk-dysmsapialiyun_sms_access_key_idr   aliyun_sms_access_key_secretaliyun_sms_sign_namealiyun_sms_template_codealiyun_sms_region_idcn-hangzhouu5   [短信发送失败] AccessKey未配置 - 手机号: z, AccessKey ID: z, AccessKey Secret: u!   请配置阿里云短信AccessKeyu;   [短信发送失败] 签名或模板未配置 - 手机号: u
   , 签名: u
   , 模板: u   请配置短信签名和模板jsonu    [短信发送尝试] 手机号: zutf-8CodeOKu    [短信发送成功] 手机号: u   , 验证码: u   验证码发送成功u8   [短信发送失败] 阿里云返回错误 - 手机号: u   , 错误码: u   , 错误信息: Messageu   发送失败u"   [短信发送异常] - 手机号: u   , 异常信息: N)r   lowerr   timesms_code_storeALIBABA_SDK_AVAILABLEprintr   r   set_accept_formatset_PhoneNumbersset_SignNameset_TemplateCodeset_TemplateParamr&   dumpsdo_action_with_exceptionloadsdecodeget	Exceptionstr)phoner   r   access_key_idaccess_key_secret	sign_nametemplate_code	region_idclientrequestresponseresultes   &            r   send_smsrF      s   #NG<BBDNL "D$))+s*!
u
 4,LfVZ[[  ?wGH5)-pqq$%?DM()GL !7<I$%?DM !7GI 1EeWL\]j\kk  AR  @S  T  	U5)-PQQMKE7R\]f\ggqr  rA  B  	C5)-MNND5=YG //1!!&)  'Y'  /!!$**fd^"<=07GVjk|j}  ~H  IR  HS  S]  ^k  ]l  m  	n227;HOOG45::f%diikTYY[3.%N5!
 4UG=OPtY0GHHLUGScdqcr  sG  HY  GZ  Zg  hn  hr  hr  sy  hz  g{  {K  LR  LV  LV  W`  La  Kb  c  duiI~1VWW 525'9I-Xlm~l  @P  QT  UV  QW  PX  Y  	Z5)SV445s&   /EK 4AK L.L;LLc                    \        R R4      P                  4       R8H  pV'       gX   \        P                  V 4      pV'       d9   VR,          V8X  d+   \        P                  ! 4       VR,          8  d
   \        V  R# R# \        P                  V 4      pV'       d9   VR,          V8X  d+   \        P                  ! 4       VR,          8  d
   \        V  R# R# )r   r   r   r   r   TF)r   r*   r,   r8   r+   )r;   r   r   storeds   &&  r   verify_sms_coderI   O   s    #NG<BBDNL##E*fVn,vk?R1Ru%&F&.D(TYY[6+;N-N5!r   c                  ~    R \        R R4      R\        RR4      R\        RR4      R\        RR4      R\        RR4      /# )r   r   r    r   r"   r#   r$   r%   r   r   r   r   get_sms_configrK   _   sS    (A"$45OQS$T 01G L"$45OQS$T 01G W r   )r&   r   r+   utils.configr   #aliyunsdkdysmsapi.request.v20170525r   aliyunsdkcore.clientr   r-   ImportErrorr,   r   rF   rI   rK   r   r   r   <module>rP      sW       )"B.  B;5z k  "!"s   2 	>>