5行代碼獲取小程序用戶的手機(jī)號(hào)
最近有很多同學(xué)有獲取小程序用戶手機(jī)號(hào)的需求。其實(shí)云開發(fā)出現(xiàn)之前我們獲取小程序用戶的手機(jī)號(hào)特別繁瑣。自從有了云開發(fā),我們獲取用戶手機(jī)號(hào)變得非常簡(jiǎn)單。只需要5行代碼即可。
老規(guī)矩,我們先來(lái)看下效果圖

再來(lái)看下核心的代碼,其實(shí)只有下面這一些。

甚至可以說(shuō)核心代碼只有上圖紅色框里的兩行。是的,你沒聽錯(cuò),只靠這2行代碼,就可以輕松的獲取用戶小程序綁定的手機(jī)號(hào)。 下面我們就來(lái)具體講解吧。
注意:只有企業(yè)小程序才可以獲取用戶手機(jī)號(hào),個(gè)人小程序沒有辦法獲取的。
一,首先要用到button組件的開發(fā)能力

編寫wxml文件,代碼很簡(jiǎn)單

可以看到我們的button按鈕,使用了open-type。 再來(lái)看下我們對(duì)應(yīng)的js方法。這樣我們點(diǎn)擊按鈕時(shí),就會(huì)彈出授權(quán)彈窗。如下圖

不管用戶點(diǎn)擊拒絕還是允許,我們都能拿到對(duì)應(yīng)的回調(diào)。再用戶點(diǎn)擊了允許以后,就可以獲取到以下數(shù)據(jù)。

大家看到我們獲取的數(shù)據(jù)里有一個(gè)cloudID,其實(shí)這個(gè)值很有用的。
二,開發(fā)數(shù)據(jù)檢驗(yàn)與解密
1,首先我們看下官方提供的獲取手機(jī)號(hào)的文檔。

看官方文檔,可以知道,我們這里涉及到一個(gè)數(shù)據(jù)的檢驗(yàn)與解密問(wèn)題
2,開發(fā)數(shù)據(jù)檢驗(yàn)與解密

這里我們要使用的就是方式二,使用云函數(shù)來(lái)實(shí)現(xiàn)解密,然后拿到用戶的手機(jī)號(hào)。
三,云函數(shù)的編寫

通過(guò)上圖可以看到,我們編寫的云函數(shù)很簡(jiǎn)單。這里主要用的就是cloud.getOpenData這個(gè)功能。而這個(gè)功能需要的參數(shù)就是我們上面第一步獲取的cloudID

這樣我們調(diào)用云函數(shù)的時(shí)候,只需要把對(duì)應(yīng)的cloudID傳進(jìn)來(lái)即可。

看下我們的cloudID的作用,再來(lái)看下我們通過(guò)button的open-type獲取的cloudID

可以看出,我們的cloudID和encryptedData一樣,是一串加密數(shù)據(jù)。我們要通過(guò)云函數(shù)獲取手機(jī)號(hào),需要的就是這串加密字段。
四,上傳cloudID獲取手機(jī)號(hào)。
上面第三步云函數(shù)編寫好以后,我們就可以來(lái)調(diào)用了。調(diào)用之前一定要記得部署下云函數(shù),一定要記得部署下云函數(shù)。。。。

上圖就是我們的云函數(shù)的調(diào)用。如果你對(duì)云開發(fā)和云函數(shù)還不了解,建議你去看下我之前寫的云開發(fā)相關(guān)的文章,獲取看下我錄的《微信小程序云開發(fā)云函數(shù)入門》
這時(shí)候點(diǎn)擊按鈕,我們就可以獲取到了我們所需要的手機(jī)號(hào)了

到這里我們就可以輕松的通過(guò)云開發(fā)獲取用戶的手機(jī)號(hào)了,比起傳統(tǒng)的后臺(tái)開發(fā)來(lái)獲取,是不是簡(jiǎn)單了很多。
今天就講到這里了,后面我還會(huì)寫更多小程序相關(guān)的技術(shù)文章出來(lái),請(qǐng)持續(xù)關(guān)注。