最近登錄了一下騰訊云控制臺,發(fā)現(xiàn)賬戶下居然每月有100條免費(fèi)短信可以使用。結(jié)合一下最近成都陰晴不定的天氣,女友上班老是忘記帶傘的現(xiàn)狀,于是決定開發(fā)一款天氣短信提醒小應(yīng)用,每天早上定時(shí)給女友發(fā)送天氣狀況短信提醒。
資源:騰訊云每月100條免費(fèi)短信,每天發(fā)一條,每月最多31條,夠用。自己可利用業(yè)余時(shí)間,筆記本開發(fā),人力物力充足。
技術(shù):可使用springboot結(jié)合Schedule編寫定時(shí)器達(dá)到定時(shí)發(fā)送短信目的,調(diào)用騰訊云短信接口,免費(fèi)天氣API接口,技術(shù)實(shí)現(xiàn)無難度。
部署:使用Pivotal Clound Foundry快速部署短信小應(yīng)用,妥了。
(搭建springboot工程此處不詳述)
騰訊云短信接口對接
在使用騰訊云接口之前,需要先辦點(diǎn)手續(xù)。
登錄騰訊控制臺,找到短信管理,我們看到要使用騰訊云短信,需要先上傳應(yīng)用資料備案、短信簽名、短信模板,待審核通過后方可使用。此次使用之前網(wǎng)站備案應(yīng)用,新建短信簽名,新建短信模板。
短信簽名審核很坑,各種通不過,各位老鐵需要仔細(xì)閱讀審核要求,提供必要的材料。
短信正文申請需要詳細(xì)描述使用場景,最近短信管理較嚴(yán),你懂的。{1},{2}...代表占位符,在調(diào)用短信接口的時(shí)候傳入?yún)?shù)。
找到騰訊云短信SDK文檔,選擇JAVA SDK
https://cloud.tencent.com/document/product/382/13613
騰訊文檔寫的非常詳細(xì),照著文檔步驟,10分鐘即可調(diào)通接口。
此處使用國內(nèi)短信指定模板群發(fā)功能,需要的參數(shù)有appid、appKey、templateId、smsSign,這些參數(shù)都在上面辦手續(xù)步驟獲得。
免費(fèi)天氣API對接
網(wǎng)上有很多坑爹的獲取天氣API,要么付費(fèi)要么限制查詢次數(shù)。此處使用的API不付費(fèi),沒有查詢次數(shù)限制。
API地址:
https://www.tianqiapi.com/api
請求類型:GET
參數(shù):version、cityid、city、ip
調(diào)通天氣API接口后,拿取我們想要發(fā)送短信內(nèi)容的字段。比如:wea(天氣)、tem(當(dāng)前溫度)、tem1(白天溫度)、tem2(晚上溫度)、air_tips(建議)、index數(shù)值中第三個值(穿衣指南)。
編寫定時(shí)器
我們要實(shí)現(xiàn)每天準(zhǔn)時(shí)發(fā)送短信需求,就需要編寫定時(shí)器。本次使用schedule,每天早上7:35分發(fā)送短信。定時(shí)器需要先調(diào)用天氣API接口成功后,根據(jù)返回?cái)?shù)據(jù)調(diào)用騰訊云短信接口發(fā)送短信。
部署短信應(yīng)用到PCF
代碼編寫完成,在本地測試通過后,到了部署咱們應(yīng)用的時(shí)候了。
部署成功后,去PCF管理界面查看一下咱們的應(yīng)用。
部署成功后忍不住想試一下功能是否能正常使用,更改定時(shí)器觸發(fā)時(shí)間為就近時(shí)間,接收短信手機(jī)號改為自己的手機(jī)號。(論測試環(huán)境的重要性)
測試成功,趕緊把參數(shù)改回去。