openid作為小程式使用者的唯一标示,就相當于使用者在微信裡的身份證一樣,我們做小程式開發時,擷取使用者的openid是很重要的。我們之前擷取使用者的openid,如下圖官方文檔說明,是通過該wx.login先擷取臨時憑證,然後再用臨時憑證去換取使用者的openid,這樣做無可厚非,但是小程式出了雲開發之後,再用這種方法擷取使用者openid就顯得有些麻煩了,因為通過雲開發擷取使用者openid特别友善,并且可靠。

下面就來帶領大家借助雲開發愉快的擷取使用者openid。
使用雲開發之前需要簡單了解下雲開發,下面連結是官方學習文檔。https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html
一,開啟雲開發
開啟雲開發隻需要在開發者工具裡點選上面紅色框裡的雲開發按鈕即可,建立成功後如下圖
二,建立雲函數
1,建立雲函數所需檔案夾
2,右鍵點選functions,點選同步雲函數清單
3,右鍵點選functions,點選建立node.js雲函數
4,建立名為getOpenid的雲函數
5,編寫擷取openid的代碼
6,右鍵點選getOpenid,上傳并部署雲函數。
三,使用getOpenid雲函數擷取使用者openid
1,在app.js裡初始化雲開發
2,在首頁使用雲函數擷取openid
擷取結果如下
到此我們就輕松的借助雲開發雲函數擷取到了使用者的openid了
調用失敗 Error: errCode: -404011 cloud function execution error | errMsg: cloud.callFunction:fail requestID , cloud function service error code -504002, error message Function not found: [login]; at cloud.callFunction api;