摘要:本文以開發(fā)一個類似語音口令紅包小程序為例,向您講解如何使用阿里云函數(shù)計算快速構(gòu)建微信小程序的服務(wù)端。
前言
這篇文章適合所有的想微信小程序開發(fā)新手、老鳥以及想準備學(xué)習(xí)開發(fā)微信小程序的程序猿。本文以開發(fā)一個類似"語音口令紅包“小程序為例,向您講解如何使用阿里云函數(shù)計算快速構(gòu)建微信小程序的服務(wù)端。通過本文,您將會了解以下內(nèi)容:
demo概覽
傳統(tǒng)服務(wù)器架構(gòu) VS Serverless架構(gòu)
Serverless架構(gòu)詳解
demo開發(fā)配置步驟
demo概覽在本教程中,我們講解如何利用函數(shù)計算一步一步來構(gòu)建微信小程序的server端,其中小程序參考"口令紅包", 實現(xiàn)一個簡單版本,該demo中可以展示口令生成,口令轉(zhuǎn)發(fā),口令語音驗證。
微信語音紅包小程序是基于微信小程序而開發(fā)的語音紅包,發(fā)起者可以寫下想要讓別人說的話(口令),并且將錢塞入此紅包中,其他用戶只要讀出這句話(口令)就可以獲得紅包。語音紅包可以發(fā)到特定的好友、微信群以及朋友圈,朋友需要根據(jù)文字口令說出相應(yīng)的語音,才能獲得紅包。這種互動行為,在朋友圈或者微信群社交的場景下,可以極大調(diào)動互動活躍度,規(guī)則簡單方便,體驗趣味十足,口令的形式豐富多樣(惡搞、示愛、祝賀、說口號、甚至是廣告語),這些都讓口令紅包一直維持很高的熱度。
生成口令
轉(zhuǎn)發(fā)口令
錄音驗證口令
傳統(tǒng)服務(wù)器架構(gòu) VS Serverless架構(gòu)正常來說,除了少數(shù)純客戶端的微信小程序運用,絕大部分的小程序都有自己的server端。用戶開發(fā)server端服務(wù),常常面臨開發(fā)效率,運維成本高,機器資源彈性伸縮等痛點,而使用Serverless架構(gòu)可以很好的解決上述問題。下面是傳統(tǒng)架構(gòu)和Serverless架構(gòu)的對比:
Item | Serverless | 傳統(tǒng)方式搭建服務(wù) |
---|---|---|
維護成本 | 維護成本低,無需管理服務(wù)器等基礎(chǔ)設(shè)施,只需編寫代碼并上傳,程序員從底層設(shè)備維護中解放出來,只考慮實際業(yè)務(wù)邏輯即可。 | 維護成本高,自行維護服務(wù)器,需要處理服務(wù)器宕機、服務(wù)器擴容等一系列底層瑣碎的事情 |
可用性 | 可用性高,函數(shù)計算為用戶準備彈性、可靠的計算資源,具有根據(jù)流量自動scale特性,對有明顯波峰波谷的運用效果奇佳 | 服務(wù)器故障會對應(yīng)用服務(wù)產(chǎn)生嚴重影響 |
費用 | 按需付費,只為實際使用的計算資源付費,代碼未運行則不產(chǎn)生費用 | 需要支付服務(wù)器的費用,代碼運行與否都要收費 |
阿里云函數(shù)計算是一個事件驅(qū)動的全托管計算服務(wù)。通過函數(shù)計算,您無需管理服務(wù)器等基礎(chǔ)設(shè)施,只需編寫代碼并上傳。函數(shù)計算會為您準備好計算資源,以彈性、可靠的方式運行您的代碼,并提供日志查詢,性能監(jiān)控,報警等功能。借助于函數(shù)計算,您可以快速構(gòu)建任何類型的應(yīng)用和服務(wù),無需管理和運維。
Serverless架構(gòu)詳解方案大致如上圖所示, 主要分為以下三個模塊:
Login & Auth
微信建議登錄時序圖如下, 其中第三方服務(wù)器用FC實現(xiàn):
語音識別(包含音頻格式轉(zhuǎn)換)
ffmpeg進行音頻格式轉(zhuǎn)換
百度語言識別開發(fā)文檔
方案圖下部虛線框柱的是可以拓展的模塊,本demo中不展示,用戶可以根據(jù)需求接入
比如微信小程序直接上傳文件到oss保存,函數(shù)計算可以從oss拉取對應(yīng)的數(shù)據(jù)做處理;如果需要數(shù)據(jù)庫功能,可以采用otsdemo開發(fā)配置步驟
1,開通阿里云賬號,同時需要開通的產(chǎn)品有函數(shù)計算, api網(wǎng)關(guān)
2,購買獨立域名,同時需對域名備案,以及購買阿里云免費ssl證書,購買步驟可參考免費申請阿里云DV SSL證書
3,開通微信小程序開發(fā)認證,以及百度語音識別
4,從github下載相應(yīng)的源碼,里面client目錄表示客戶端,server表示用于創(chuàng)建函數(shù)。
1,利用源碼中的server目錄創(chuàng)建服務(wù)端函數(shù),比如函數(shù)名為wechatEntry,有以下兩種方案創(chuàng)建函數(shù):
利用控制臺打包上傳,設(shè)置對應(yīng)的handler, 函數(shù)計算控制臺使用可參考hello world, 特別是控制臺上傳代碼包創(chuàng)建函數(shù)部分。下面是重要步驟截圖:
函數(shù)計算熟悉fcli的工具的老用戶可以使用函數(shù)計算命令行工具fcli, fcli使用說明
fcli function create -f wechatEntry -h main.handler -d server -t python2.7 -s wechat
注意:上面兩種方案創(chuàng)建函數(shù)之前都需先把函數(shù)中main.py中相關(guān)開發(fā)配置改成自己申請的,包括微信小程序開發(fā)者相關(guān)配配置,百度語音識別相關(guān)配置
2, 以函數(shù)計算作為 API 網(wǎng)關(guān)后端服務(wù)
api網(wǎng)關(guān)支持https服務(wù),具體可以參考api網(wǎng)關(guān)支持https
函數(shù)計算作為api網(wǎng)關(guān)后端服務(wù)
api網(wǎng)關(guān)中設(shè)置函數(shù)對應(yīng)的api分組配置獨立域名
最后效果圖以及調(diào)試界面如下:
按照微信小程序官方教程,創(chuàng)建對應(yīng)的小程序賬號以及工程,需要注意的是要把api網(wǎng)關(guān)中配置的域名添加到微信小程序的開發(fā)配置中:
直接用微信小程序開發(fā)工具打開,修改對應(yīng)請求域名和appid即可,打開如下圖所示:
利用函數(shù)計算可以快速搭建微信小程序的serverless運用,結(jié)合oss,ots可以豐富server的功能,免服務(wù)器,免運維,成本低,不用擔(dān)心流量,只需要函數(shù)就可以實現(xiàn),你值的擁有!
github源碼地址 一些補充FAQ, 僅供參考fc可以接入sls,通過sls日志,可以查看你函數(shù)運行的情況,具體可以參考函數(shù)訪問日志服務(wù)
可以參考函數(shù)計算流式處理大文件的分治思想對語音分割進行流式處理,或者直接選用有流式處理的語音識別的服務(wù)。
可以參考微信小程序中客戶端utils文件夾下面的uploadAliyun.js
聲明微信小程序使用的圖片和部分樣式素材來自互聯(lián)網(wǎng),在此聲明,這個demo僅僅是做學(xué)習(xí)交流展示使用,并沒有涉及商業(yè)化,如果原作者看到,請在文章下面留言或者給我發(fā)郵件,我注明引用地址。
歡迎大家通過掃碼加入我們用戶群中,搭建過程中有問題或者有其他問題可以在群里提出來。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/95608.html
摘要:摘要阿里云函數(shù)計算是一個事件驅(qū)動的全托管計算服務(wù)。微信小程序是一種不需要下載安裝即可使用的應(yīng)用,它可以在微信內(nèi)被便捷地獲取和傳播。本文以開發(fā)一個類似語音口令紅包小程序為例,向您講解如何使用阿里云函數(shù)計算快速構(gòu)建微信小程序的服務(wù)端。 摘要: 阿里云函數(shù)計算是一個事件驅(qū)動的全托管計算服務(wù)。通過函數(shù)計算,您無需管理服務(wù)器等基礎(chǔ)設(shè)施,只需編寫代碼并上傳。微信小程序是一種不需要下載安裝即可使用的...
摘要:摘要阿里云函數(shù)計算是一個事件驅(qū)動的全托管計算服務(wù)。微信小程序是一種不需要下載安裝即可使用的應(yīng)用,它可以在微信內(nèi)被便捷地獲取和傳播。本文以開發(fā)一個類似語音口令紅包小程序為例,向您講解如何使用阿里云函數(shù)計算快速構(gòu)建微信小程序的服務(wù)端。 摘要: 阿里云函數(shù)計算是一個事件驅(qū)動的全托管計算服務(wù)。通過函數(shù)計算,您無需管理服務(wù)器等基礎(chǔ)設(shè)施,只需編寫代碼并上傳。微信小程序是一種不需要下載安裝即可使用的...
摘要:本文以開發(fā)一個類似語音口令紅包小程序為例,向您講解如何使用阿里云函數(shù)計算快速構(gòu)建微信小程序的服務(wù)端。 前言 這篇文章適合所有的想微信小程序開發(fā)新手、老鳥以及想準備學(xué)習(xí)開發(fā)微信小程序的程序猿。本文以開發(fā)一個類似語音口令紅包小程序為例,向您講解如何使用阿里云函數(shù)計算快速構(gòu)建微信小程序的服務(wù)端。通過本文,您將會了解以下內(nèi)容: demo概覽 傳統(tǒng)服務(wù)器架構(gòu) VS Serverless架構(gòu) S...
摘要:春招結(jié)果五月份了,春招已經(jīng)接近尾聲,因為到了周五晚上剛好有空,所以簡單地記錄一下自己的春招過程。我的春招從二月初一直持續(xù)到四月底,截止今天,已經(jīng)斬獲唯品會電商前端研發(fā)部大數(shù)據(jù)與威脅分析事業(yè)部京東精銳暑假實習(xí)生的騰訊的是早上打過來的。 春招結(jié)果 五月份了,春招已經(jīng)接近尾聲,因為到了周五晚上剛好有空,所以簡單地記錄一下自己的春招過程。我的春招從二月初一直持續(xù)到四月底,截止今天,已經(jīng)斬獲唯品...
摘要:昨晚月日微信應(yīng)用號萌萌噠的化身小程序才剛開始宣布內(nèi)測,今天朋友圈就刷屏了真是一石激起千層浪,各種分析預(yù)測文章鋪天蓋地而來,讓人應(yīng)接不暇。微信小程序?qū)崿F(xiàn)了千千萬萬前端工程師開發(fā)的夢想,想不火都難。 showImg(https://segmentfault.com/img/remote/1460000006981816?w=900&h=500); 昨晚(9月21日)微信應(yīng)用號萌萌噠的化身—...
閱讀 2846·2021-09-27 13:35
閱讀 622·2021-09-23 11:22
閱讀 2891·2019-08-30 15:54
閱讀 1611·2019-08-29 16:27
閱讀 2467·2019-08-29 15:05
閱讀 2349·2019-08-23 18:11
閱讀 3522·2019-08-23 16:32
閱讀 2940·2019-08-23 14:56