| 
					
				 | 
			
			
				@@ -0,0 +1,35 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import json 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+from aliyunsdkcore.client import AcsClient 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+from aliyunsdkcore.request import CommonRequest 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+class SmsSender(object): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def __init__(self, appkey=None, appsecret=None): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.appkey = appkey 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.appsecret = appsecret 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.client = AcsClient(self.appkey, self.appsecret, 'ap-northeast-1') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.request = CommonRequest 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.request.set_accept_format('json') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.request.set_domain('dysmsapi.aliyuncs.com') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.request.set_version('2017-05-25') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.request.set_action_name('SendSms') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def init_app(self, app): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.appkey = app.config["ACLOUD_SMS_KEY"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.appsecret = app.config['ACLOUD_SMS_SECRET'] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.client = AcsClient(self.appkey, self.appsecret, 'ap-northeast-1') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def send(self, phone_num, signname, template_code, code): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.request.add_query_param('PhoneNumbers', phone_num) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.request.add_query_param('SignName', signname) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.request.add_query_param('TemplateCode', template_code) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.request.add_query_param('TemplateParam', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                     json.dumps(dict(code=str(code)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        response = self.client.do_action(self.request) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return str(response, encoding='utf-8') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 |