封装发送短信单例类
所以我们要在这里使用单例模式
关于hasattr()函数:https://www.runoob.com/python/python-func-hasattr.html
我们运行测试一下这个程序是否单例化成功,如果c的id和d的id相同,单例化就成功了
成功了,证明了这个类只被实例化了一次
这里使用super()方法,创建了_instance并且与CCP类产生关联
完整的代码
from ronglian_sms_sdk import SmsSDK
import json
accId = 'xxxx'
accToken = 'xxxx'
appId = 'xxxx'
class CCP(object):
"""发送短信的单例类"""
def __new__(cls, *args, **kwargs):
if not hasattr(cls,"_instance"):
cls._instance = super().__new__(cls, *args, **kwargs)
cls._instance.sdk = SmsSDK(accId, accToken, appId)
return cls._instance
def send_message(self,mobile,datas,tid):
sdk = self._instance.sdk
# tid = '1'
# mobile = '15945702908'
# datas 验证码 过期时间,单位是分钟
# datas = ('1234', '5')
resp = sdk.sendMessage(tid, mobile, datas)
result = json.loads(resp)
if result['statusCode'] == '000000':
return 0
else:
return -1
if __name__ == '__main__':
c = CCP()
c.send_message('手机号',('验证码','持续时间'),模式(测试都是1))
手机收到短信就成功了
六个0发送成功!nice