我們上面給單個手機(jī)發(fā)送驗證碼的功能實現(xiàn)了,接下來就教大家如何群發(fā)短信。
老規(guī)矩,先看效果圖
簡單起見,我這里只定義一個輸入手機(jī)號的輸入框和一個button按鈕
對應(yīng)的代碼如下
我這里以*來分割手機(jī)號,如下圖所示。
然后我們定義一個bindinput事件來獲取用戶輸入的內(nèi)容。
可以看到,我們成功的獲取到了用戶輸入的手機(jī)號了。
但是官方文檔里已經(jīng)說明,我們?nèi)喊l(fā)短信的時候需要用到的是一組手機(jī)號,也就是說需要用數(shù)組來存放數(shù)據(jù)。但是我們這里是一個字符串。那么我們就要分割字符串成數(shù)組了。
我們分割字符串用到的是字符串的split()方法
當(dāng)然觸發(fā)的時機(jī),應(yīng)該是在用戶點擊群發(fā)按鈕的時候。那么我們就為群發(fā)按鈕定義bindtap點擊事件send
可以看到我們成功的把字符串分割成了數(shù)組。
但是我們數(shù)組里的手機(jī)號前面有個回車鍵,所以安全起見,我們在分割字符串之前,需要先把這回車鍵給剔除掉。
去除字符串里的回車鍵語法如下
字符串.replace(/[\r\n]/g, "")
可以看到我們只需要調(diào)用字符串.replace方法即可,后面括號里跟的是回車鍵對應(yīng)的正則表達(dá)式。這里不需要記住,后面用的時候來我筆記這里復(fù)制就行了。
可以看到我們剔除回車鍵以后,再分割的字符串里就沒有回車鍵了。
如果你有仔細(xì)閱讀官方文檔,可以看到我們?nèi)喊l(fā)的手機(jī)號前面必須以+86開頭。并且每次群發(fā)的手機(jī)號不能超過1000條。
那么我們接下來就要遍歷數(shù)組,給每個手機(jī)號前面都添加‘+86’了。
當(dāng)然了這里有很多種方法來實現(xiàn)這一目的,我這里用一個for循環(huán)和一個map方法來分別實現(xiàn)下。
可以看出用map方法更簡潔一點。但是對于新手來說第二種方法可能不是很好理解。所以這里你用哪種方法都可以,不做強(qiáng)制要求。
那么我們接下來要做的就是實現(xiàn)群發(fā)功能了。我們這里要想成功的實現(xiàn)群發(fā),需要兩個元素
關(guān)于手機(jī)號和群發(fā)內(nèi)容都有要求
我們?nèi)喊l(fā)手機(jī)號這里已經(jīng)符合要求了,接下來就是群發(fā)的內(nèi)容了。群發(fā)內(nèi)容最長不能超過60個字節(jié),一個漢字通常2~3個字節(jié)。也就是說我們短信內(nèi)容不能超過20個字,所以群發(fā)的短信一定要精細(xì)。用最少的字來吸引用戶。
這里其實就是一個input來獲取用戶輸入的內(nèi)容就行了。我不再多講,直接把代碼貼出來。
在js里獲取用戶輸入的短信內(nèi)容
現(xiàn)在萬事具備,只欠一個云函數(shù)了
短信內(nèi)容和群發(fā)的手機(jī)號都已經(jīng)成功拿到了,我們接下來就要來編寫群發(fā)的云函數(shù)了。
云函數(shù)其實我們短信驗證碼那一節(jié)基本上一樣,區(qū)別就是
云函數(shù)編輯好,記得重新部署下。
上面云函數(shù)編輯好了,也部署好了,接下來就是要調(diào)用云函數(shù)實現(xiàn)短信群發(fā)了。
調(diào)用其實很簡單。
接下來我們就要驗證自己的勞動成果了。如下,我發(fā)這樣的內(nèi)容給兩個手機(jī)號。為什么是兩個呢,我這里是學(xué)習(xí),要節(jié)省短信條數(shù)。官方只送我們1000條。所以要省著點用。
其實群發(fā)兩個手機(jī)號,和群發(fā)1000個沒區(qū)別,只要群發(fā)兩個成果,那么群發(fā)1000個也一樣的。
辛辛苦苦編寫好了,測試了下,居然報錯
什么鬼,代碼明明沒有錯誤啊,程序員有時候就是莫名的自信。
官方給的發(fā)送成果返回字段如下
石頭哥發(fā)送返回結(jié)果如下
百思不得其解啊。不會真是代碼寫錯了吧。。。。
還好石頭哥比較聰明,翻譯了一下報錯信息。
發(fā)送時間限制,也沒看到官方文檔有說時間限制啊。后來又去官方文檔翻來覆去,終于在一個角落里看到了這句話。
原來是石頭哥寫文章太晚了。。。。
本來想寫完文章,直接錄講解視頻給大家的,,,,看來只能等第二天8-22:00來續(xù)寫這篇文章了。。。。
終于等到了第二天8點47,下面我們把昨天的群發(fā)短信再演示一遍,看這次能不能成功。
先來看我們的日志
可以看出日志上顯示成功的發(fā)送兩個。那么收到的短信長什么樣子,也給大家截個圖。
第一個手機(jī)號是安卓手機(jī)
第二個手機(jī)號是蘋果手機(jī)
到這里我們的群發(fā)短信功能就完整的實現(xiàn)了。
細(xì)心的同學(xué)可能看到了,我們短信里有個鏈接,其實這個鏈接可以實現(xiàn)我們短信喚起小程序功能的。想想看,我們給用戶群發(fā)短信的目的,不就是為了讓用戶重新回到我們小程序嗎。所以短信能喚起小程序,是不是方便了用戶呢。下一節(jié)給大家講短信喚起小程序的功能實現(xiàn)。
系列課程,持續(xù)更新中,歡迎關(guān)注“編程小石頭”