什么是Leancloud
Leancloud是國內有名的BaaS提供商,什么是BaaS提供商呢?通俗點講就是給你提供增刪改查等后臺服務的API,你通過這些API就可以將數據存儲在云端數據庫中,而不需要關系服務器環境和里面的處理邏輯,它提供的SDK有js、java、object-c、python等等。
類似的BaaS提供商還有谷歌的firebase(www.firebase.com),但容易被墻不推薦。
所以我們可以不需要自己搭建后臺環境就可以實現小程序的后端需要了,這樣可以極高的提高開發效率,縮短開發周期。
如何使用Leancloud進行小程序開發 關于增刪改查Leancloud提供了完整的增刪改查API,只要根據文檔給到API進行調用就行,這個就不詳細描述了,請看文檔:https://leancloud.cn/docs/lea...
關于小程序授權登陸下面地址詳情描述了如何實現授權登陸:
https://leancloud.cn/docs/wea...用戶系統
這里所說的需要后臺的API調用,指類似:微信支付、二維碼生成、微信提現、微信發紅包、發送模版信息等等。
要實現這些功能必須使用 Leancloud的云引擎中的云函數。
就是我們可以簡單的編寫一個可以執行的node函數部署到leancloude的云引擎中,直接使用leancloud的API就可以直接執行你編寫的函數,不需要像以前編寫后端需要關心后端服務器環境那么復雜,只需要執行一段指令將云函數部署到云端就可以執行了。
詳情請看:https://leancloud.cn/docs/lea...
https://leancloud.cn/docs/lea...
這里有詳細說明,我就不贅述了。
我們這里介紹如何使用github部署:
注冊并創建leancloud應用:這個就不用說把,網站:https://leancloud.cn
設置云引擎
進入第一步創建的應用-云引擎-設置,將git的地址填進去,這個代碼庫可以fork我的代碼倉庫(https://github.com/jasondu/le...),然后復制Deploy Key,然后到自己fork的github設置頁面中的【Deploy keys】選項,添加一個Deploy Keys,Title隨便寫,Key就是剛才復制的,然后點擊保存即可。
部署云引擎
回到云引擎-部署,“分支或版本號”填入master,點擊部署就可以部署云引擎了。
生成小程序二維碼 小程序二維碼分類:下面我們通過“生成小程序二維碼”來講解如何使用云函數開發小程序后臺
小程序二維碼:那個圓形的二維碼
普通二維碼
無限
有限
小程序二維碼、有限的
https://api.weixin.qq.com/wxa/getwxacode?access_token=ACCESS_TOKEN
小程序二維碼、無限的
https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN
普通二維碼、有限的
https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=ACCESS_TOKEN
入參驗證
獲取accessToken
調用二維碼生成接口獲取二維碼二進制流
保存二維碼到leancloud
代碼AV.Cloud.define("getwxacode", function (request, response) { const params = request.params; const requireParams = ["type"]; let url; switch (params.type) { case 1: url = "https://api.weixin.qq.com/wxa/getwxacode"; requireParams.push("path"); break; case 2: url = "https://api.weixin.qq.com/wxa/getwxacodeunlimit"; requireParams.push("page"); requireParams.push("scene"); break; case 3: url = "https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode"; requireParams.push("path"); break; } // 1. 入參驗證 requireValidate(params, requireParams).then(params => { // 2. 獲取accessToken wxapi.getLatestToken((err, accessToken) => { // 3. 調用二維碼生成接口獲取二維碼二進制流 axios.post(url, params, { params: { access_token: accessToken.accessToken, dataType: "JSON", }, responseType: "arraybuffer" }).then((res) => { // 4. 保存二維碼到leancloud if (typeof res.data === "undefined") { return response.error("生成二維碼失敗"); } else { const imageFile = new AV.File("file-qrcode.png", res.data); imageFile.save().then((res) => { return response.success(res); }, (error) => { return response.error(err); }); } }); }); }).catch(err => { return response.error(err); }); })
調用云函數(小程序代碼)requireValidate: 驗證入參的方法
注意:這里獲取二維碼必須要用axios的方式進行請求,否則返回的圖片信息會保存失敗
const AV = require("../libs/leancloud/av-weapp-min.js"); const paramsJson = { type: 1, path: "/pages/index/index" }; AV.Cloud.run("getwxacode", paramsJson).then(function (data) { // 調用成功,得到生成二維碼的鏈接 console.log(data.url); }, function (err) { // 處理調用失敗 console.log(err); });代碼地址
https://github.com/jasondu/le...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/88368.html
摘要:面試造航母,工作擰螺絲,新公司面試技術官要求會技術棧。然而公司項目暫時并沒有用到,不過為了提升實戰經驗,還是在業余時間搗騰出一個,以下是項目介紹。前段為了學習小程序的開發,做了個小程序名叫口袋吉他,這也是個人興趣驅使的開發想法。 面試造航母,工作擰螺絲,新公司面試技術官要求會react技術棧。 問:有使用過React么?答:沒,只使用過Vue。又問:給你一星期能上手開發么?答:可以(一...
摘要:并利用提供的云引擎服務實現在周五給全員發送郵件提醒填寫周報,周六周日分別再次對未填人員發送郵件進行填寫提醒。雖然提供的免費云引擎,本身就支持服務,但是免費版是做測試用的,會自動休眠,不夠穩定,經常掛掉。 This just is a README. showImg(https://segmentfault.com/img/remote/1460000013260535);showImg...
摘要:并利用提供的云引擎服務實現在周五給全員發送郵件提醒填寫周報,周六周日分別再次對未填人員發送郵件進行填寫提醒。雖然提供的免費云引擎,本身就支持服務,但是免費版是做測試用的,會自動休眠,不夠穩定,經常掛掉。 This just is a README. showImg(https://segmentfault.com/img/remote/1460000013260535);showImg...
摘要:初窺添加音樂到收藏最近列表歌詞滾動從一個開始微信開發者工具生成目錄如下主頁日志頁面工具大體為每一個即是一個頁面文件,每個頁面有一個文件規定描述頁面的這四個文件必須具有相同的路徑與文件名。 showImg(https://segmentfault.com/img/remote/1460000009405866);showImg(https://segmentfault.com/img/r...
閱讀 2329·2021-09-30 09:47
閱讀 2949·2019-08-30 11:05
閱讀 2526·2019-08-29 17:20
閱讀 1912·2019-08-29 13:01
閱讀 1721·2019-08-26 13:39
閱讀 1220·2019-08-26 13:26
閱讀 3204·2019-08-23 18:40
閱讀 1808·2019-08-23 17:09