U
    ¯jå  ã                   @   s†   d dl Z d dlZd dlZd dlmZ z d dlmZ d dlmZ dZ	W n e
k
r\   dZ	Y nX i Zdd„ Zd	d
„ Zdd„ Zdd„ ZdS )é    N©Úget_config_value)ÚSendSmsRequest)Ú	AcsClientTFc                   C   s   d  dd„ tdƒD ƒ¡S )NÚ c                 s   s   | ]}t  d ¡V  qdS )Ú
0123456789N)ÚrandomÚchoice)Ú.0Ú_© r   ú7D:\Project\Python Project\BangBang\backend\utils\sms.pyÚ	<genexpr>   s     z$generate_sms_code.<locals>.<genexpr>é   )ÚjoinÚranger   r   r   r   Úgenerate_sms_code   s    r   c                 C   sx  t ddƒ ¡ dk}|sDtƒ }|t ¡ t ¡ d dœt| < dd|dœS ts`td	| › ƒ d
ddœS t ddƒ}t ddƒ}t ddƒ}t ddƒ}t ddƒ}|rš|s¾td| › d|› d|› ƒ d
ddœS |rÆ|sêtd| › d|› d|› ƒ d
ddœS tƒ }z&t|||ƒ}t ¡ }	|	 	d¡ |	 
| ¡ |	 |¡ |	 |¡ |	 t d|i¡¡ td| › d|› d|› d|› d|› 
ƒ | |	¡}
t |
 d¡¡}| d ¡d!krÐ|t ¡ t ¡ d dœt| < td"| › d#|› ƒ dd$dœW S td%| › d|› d|› d&| d ¡› d'| d(¡› 
ƒ d
| d(d)¡dœW S W nZ tk
rr } z:td*| › d|› d|› d+t|ƒ› ƒ d
t|ƒdœ W Y ¢S d }~X Y nX d S ),NÚuse_real_smsÚfalseÚtruei,  )ÚcodeÚ
created_atÚ	expire_atTu   éªŒè¯ç å·²å‘é€ï¼ˆæ¨¡æ‹Ÿï¼‰)ÚsuccessÚmessager   u/   [çŸ­ä¿¡å‘é€å¤±è´¥] SDKæœªå®‰è£… - æ‰‹æœºå·: FuA   é˜¿é‡Œäº‘çŸ­ä¿¡SDKæœªå®‰è£…ï¼Œè¯·å®‰è£…aliyun-python-sdk-dysmsapi)r   r   Ú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   è¯·é…ç½®çŸ­ä¿¡ç­¾åå’Œæ¨¡æ¿Újsonr   u    [çŸ­ä¿¡å‘é€å°è¯•] æ‰‹æœºå·: zutf-8ZCodeÚOKu    [çŸ­ä¿¡å‘é€æˆåŠŸ] æ‰‹æœºå·: u   , éªŒè¯ç : u   éªŒè¯ç å‘é€æˆåŠŸu8   [çŸ­ä¿¡å‘é€å¤±è´¥] é˜¿é‡Œäº‘è¿”å›žé”™è¯¯ - æ‰‹æœºå·: u   , é”™è¯¯ç : u   , é”™è¯¯ä¿¡æ¯: ÚMessageu   å‘é€å¤±è´¥u"   [çŸ­ä¿¡å‘é€å¼‚å¸¸] - æ‰‹æœºå·: u   , å¼‚å¸¸ä¿¡æ¯: )r   Úlowerr   ÚtimeÚsms_code_storeÚALIBABA_SDK_AVAILABLEÚprintr   r   Zset_accept_formatZset_PhoneNumbersZset_SignNameZset_TemplateCodeZset_TemplateParamr!   ÚdumpsZdo_action_with_exceptionÚloadsÚdecodeÚgetÚ	ExceptionÚstr)Úphoner   r   Zaccess_key_idZaccess_key_secretZ	sign_nameZtemplate_codeZ	region_idÚclientÚrequestÚresponseÚresultÚer   r   r   Úsend_sms   s\    
ý












&

ý
2$r5   c                 C   s†   t ddƒ ¡ dk}|sNt | ¡}|rJ|d |krJt ¡ |d k rJt| = dS dS t | ¡}|r‚|d |kr‚t ¡ |d k r‚t| = dS dS )Nr   r   r   r   r   TF)r   r$   r&   r,   r%   )r/   r   r   Ústoredr   r   r   Úverify_sms_codeO   s    
 
 r7   c                   C   s.   t ddƒt ddƒt ddƒt ddƒt ddƒd	œS )
Nr   r   r   r   r   r   r   r    )r   r   r   r   r   r   r   r   r   r   Úget_sms_config_   s    ûr8   )r!   r   r%   Úutils.configr   Z#aliyunsdkdysmsapi.request.v20170525r   Zaliyunsdkcore.clientr   r'   ÚImportErrorr&   r   r5   r7   r8   r   r   r   r   Ú<module>   s   
=