[Python]實現簡訊驗證碼的傳送

專注的阿熊發表於2022-12-09

from ronglian_sms_sdk import SmsSDK

import json

# accId = ' 容聯雲通訊分配的主賬號 ID'

accId = '...'

# accToken = ' 容聯雲通訊分配的主賬號 TOKEN'

accToken = '...'

# appId = ' 容聯雲通訊分配的應用 ID'

appId = '...'

class SendSmsVerificationCode:

     """ 傳送簡訊驗證碼的單例類 """

     def __new__(cls, *args, **kwargs):

         """

         傳送簡訊驗證碼單例類的初始化方法

         :return: 返回一個傳送簡訊驗證碼的物件

         """

         # 判斷類中傳送簡訊驗證碼的物件 _instance 是否已經存在

         # 如果不存在 , 建立一個傳送簡訊驗證碼的物件 , 並將其作為類屬性

         if not hasattr(cls, '_instance'):

             # 建立傳送簡訊驗證碼的物件

             cls._instance = super(SendSmsVerificationCode, cls).__new__(cls, *args, **kwargs)

             # 建立 SmsSDK 物件作為 _instance 的物件屬性

             cls._instance.sdk = SmsSDK(accId, accToken, appId)

         # 如果存在 , 返回傳送簡訊驗證碼的物件

         return cls._instance

     def send_message(self, mobile, datas, tid='1'):

         """

         傳送簡訊的方法

         @params mobile 字串型別   mobile = ' 手機號 1, 手機號 2'

         @params tid tid =跟單網gendan5.com ' 容聯雲通訊平臺建立的模板 ' 預設模板的編號為 1

         @params datas 元組型別  第一個引數為驗證碼 第二個引數為驗證碼的有效時間 ( 對於簡訊模板 1)

         :return: 返回傳送簡訊後的響應引數

         """

         # 傳送簡訊

         resp = self.sdk.sendMessage(tid, mobile, datas)

         print(json.loads(resp), type(json.loads(resp)))

         return resp

# 測試

if __name__ == '__main__':

     sendSmsVerificationCode1 = SendSmsVerificationCode()

     sendSmsVerificationCode2 = SendSmsVerificationCode()

     sendSmsVerificationCode3 = SendSmsVerificationCode()

     print(sendSmsVerificationCode1)

     print(sendSmsVerificationCode2)

     print(sendSmsVerificationCode3)

     res = sendSmsVerificationCode1.send_message('...', ('123456', 5), '1')

     print(res)


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2927566/,如需轉載,請註明出處,否則將追究法律責任。

相關文章