文末有彩蛋6-1,認識雲函式
官方文件:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/functions.html
我們先來看下官方給出的雲函式簡介
我們下面以獲取openid為例,來看看雲函式,php,Java的實現對比
php獲取使用者openid如果用php來獲取openid必須經歷下面幾步1,去小程式後臺拿到appid和appSecret2,請求微信的對應介面3,獲取資料後進行解碼4,購買伺服器,配置伺服器5,購買域名,域名備案,配置https6,部署php程式碼到伺服器7,小程式端呼叫php介面Java獲取openid和上面的php步驟一樣,也是需要上面7步。而我們用雲函式獲取openid呢,就只需要簡單的3步就行了,程式碼量也能顯著減少
6-1-1,雲函式獲取openid用雲函式的話,只需要3步
1,編寫雲函式2,一鍵部署雲函式3,呼叫雲函式來看下雲函式程式碼,只需要10行程式碼,即可輕鬆搞定
6-2,雲函式的優勢我們用雲函式和上一章的雲資料庫進行下對比
來看下官方文件是如何描述雲函式的
雲函式屬於管理端,在雲函式中執行的程式碼擁有不受限的資料庫讀寫許可權和雲檔案讀寫許可權。需特別注意,雲函式執行環境即是管理端,與雲函式中的傳入的 openId 對應的微信使用者是否是小程式的管理員 / 開發者無關。6-3,雲函式呼叫演示官方文件:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/functions/Cloud.callFunction.html
6-3-0,初始化雲函式的環境1,建立一個資料夾cloud和pages平行在這裡插入圖片描述2,在project.config.json裡面配置雲函式所在目錄為cloud在project.config.json裡面新增如下配置然後點選儲存,我們的cloud資料夾前面就有一個雲朵就代表我們雲函式初始化成功啦。新一個雲函式在這裡插入圖片描述如果只建立一個雲函式的時候,會出現下面的問題。解決方案:只需要在cloud資料夾下新建一個空白檔案即可。6-3-1,雲函式獲取openid呼叫雲函式有兩種寫法
1,傳統的success和fail2,用promise寫法then和catch6-3-2,資料的匯入和匯出資料匯出,做資料備份比如匯入為json資料如下資料匯入,為了快速的大量的建立一些資料。為了方便付費使用者,我這裡提前準備好了108條資料,付費使用者直接去下載即可把下載好的這108條資料的json檔案,匯入到資料庫如下6-3-3,雲函式獲取資料注意:雲函式只要有變動,就要重新部署,否則雲函式不生效。
遇到了一個問題,如下
出現原因:如果你有兩個雲開發環境,偶爾會出現上圖所示的問題。解決問題:有兩種
1,在雲函數里指定你要使用哪個雲開發環境2,使用DYNAMIC_CURRENT_ENV常量 (提倡使用這個)我們這裡會和小程式裡直接呼叫資料庫的查詢進行下對比6-3-4,雲函式修改資料本地小程式直接呼叫資料庫修改會有問題
只能修改自己建立的資料,別人建立的資料,就沒有辦法修改了。如何解決呢?用雲函式來修改就可以解決這個問題啦。1,先建立雲函式update01292,呼叫雲函式就行修改6-3-5,雲函式刪除資料1,建立一個刪除商品的雲函式remove01292,呼叫這個雲函式進行刪除操作6-3-6,提交資料到雲函式1,建立雲函式,並部署2,呼叫雲函式6-4,使用雲函式常見問題6-4-1,雲函數里面沒有初始化環境變數解決方案如下:
程式碼片段
cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV })
完整免費影片講解:
最新評論