傳送簡訊驗證碼幾乎是現在每個**都要使用到的乙個功能,如註冊的時候要傳送短息驗證碼,修改密碼的時候也要傳送。但是第三方提供給我們的介面只是乙個方法而已,並沒有提供給我們更多的乙個良好,可讀性強的介面,如何設計乙個閱讀性強,擴充套件性高的介面。那麼我們就需要設計兩個介面:
一.smssender 介面,對接第三方簡訊,可以擴充套件支援不同的實現,如創藍,leancloud等(相當於dao層),這個介面只負責實現傳送簡訊,不負責其他的邏輯業務
二.smsservice 介面,傳送簡訊的service層,這一層負責邏輯業務,如判斷引數的正確性,統計簡訊傳送的條數,但是最主要的功能就是,當需要修改第三實現介面的時候,只需要修改交注入的類,而不用修改**。就可以實現第三簡訊提供商的切換。
1.smssender 介面,通用的sms類,
public
inte***ce
smssender
2.smssender 介面的實現類clsmssender,該類對接的是第三方簡訊提供商的具體實現方法,如本文使用創藍簡訊
@service
public
class
clsmssender
implements
smssender ")
private string url;
@value("#")
private string user;
@value("#")
private string pwd;
@override
public
boolean
send(string zone, string acct, string msg)
@override
public
boolean
send(string zone, string acct, string msg, map params)
} catch (exception e)
} else
return
false;
}@override
public
boolean
sendverify(string zone, string mobile, string vercode)
} catch (exception e)
} else
return
false;
}/**
* 真正的傳送方法
}}
3.smsservice 類,傳送簡訊的service層介面,有人感覺這個介面多餘,客官,靜下心來往下看。
public
inte***ce
smsservice
4.smsservice介面的實現類smsserviceimpl
@service
public
class
smsserviceimpl
implements
smsservice
sms.send(zone, acct, template);
return
true;
}@override
public
boolean
send(string zone, string acct, string template, map params)
@override
public
boolean
sendverify(string zone, string acct, string vercode)
}
Java 傳送簡訊
1,首先建立乙個url物件 url url new url 2,開起乙個到目標位址的連線,使用url建立乙個連線物件 3,設定相關屬性 conn.setrequestmethod post 設定輸出實體內容 表示我要輸出 conn.setdooutput true 設定輸出內容 實體內容可以使用拼接...
java 根據介面傳送手機簡訊
我做的手機傳送簡訊,是根據別人提供的介面來做的,介面內容如下 簡訊平台介面說明 各個系統在傳送簡訊時需呼叫本介面。簡訊平台介面採用http 傳輸協議,資料格式為 xml,編碼為 utf 8。名稱字段 資料型別 非空備註 業務編碼 syscode varchar2 10 非空請向資訊中心索取 部門編碼...
celery傳送簡訊介面
celery專案中的所有導包位址,都是以celery base dir為基準設定.執行celery命令時,也需要進入celery base dir目錄執行.celery base dir os.path.dirname os.path.abspath file true def send sms c...