微信小程序雲開發框架
概述
一直做後端服務器開發,最近看了一篇文章介紹小程序的雲開發模式,覺得挺有意思,就嘗試了一下,由本文做個記錄。
因為不是專業的小程序開發人員,也沒有做過網頁開發,所以論述中出現錯誤難以避免,請多諒解。
微信小程序,在我的理解中,就是一個由微信內置的瀏覽器解析並展示的js頁面,支持一些微信特有的功能性API。
通常的框架中,js頁面展示布局和框架,頁面中的動態內容由後端服務返回數據,所以早先的小程序需要自己開發並部署後端服務和數據庫。
隨着小程序的發展,現在的後端服務和數據庫支持雲開發模式。
開發者可以使用雲開發快速開發小程序、小遊戲、公眾號網頁等,並且原生打通微信開放能力。
開發者無需搭建服務器,可免鑒權直接使用平台提供的 API 進行業務開發。
最重要的,雲開發環境有免費版可以用, 適合個人開發者學習和玩玩。
下面用一個簡單的單頁面小程序介紹小程序+雲函數+雲數據庫的開發框架。
環境
windows:win10
微信開發值工具Stable v1.05.2110110
wx-server-sdk:~2.4.0
雲開發步驟
簡單的小程序雲開發步驟總結:
1, 註冊微信小程序,獲取小程序APPID。
2, 下載安裝微信開發者工具。
3, 創建項目,後端服務選擇雲開發模式。
4, 創建成功後,直接得到一個實例小程序,包含完整的代碼框架。
5, 點擊雲開發按鈕,開通雲開發,並創建一個新的雲開發環境,雲開發環境包含了雲函數和雲數據庫,也包含了雲託管、雲存儲、運營分析、概覽等內容。
6, 現在,你可以專心的寫代碼了。
詳細步驟請參考小程序開發官方文檔。
代碼樹
源代碼地址://github.com/yuyoucuobei/miniprogram-template.git
# tree base-info/
base-info/ #項目根目錄
├── cloudfunctions #雲函數目錄
│ └── quickstartFunctions
│ ├── config.json #雲函數配置文件
│ ├── index.js #雲函數入口函數
│ ├── package.json #雲函數打包配置
│ ├── selectRecord
│ │ └── index.js #雲函數子函數
│ └── updateRecord
│ └── index.js #雲函數子函數
├── miniprogram #小程序目錄
│ ├── app.js #小程序啟動入口
│ ├── app.json #小程序全局配置
│ ├── app.wxss #小程序全局樣式
│ ├── components #自定義組件
│ ├── envList.js #環境配置
│ ├── images #圖片資源
│ ├── pages #頁面目錄
│ │ └── index
│ │ ├── index.js #頁面代碼
│ │ ├── index.json #頁面配置
│ │ ├── index.wxml #頁面布局
│ │ └── index.wxss #頁面樣式
│ └── sitemap.json #微信搜索索引配置
├── project.config.json #項目配置
├── project.private.config.json
├── README.md
└── uploadCloudFunction.bat
9 directories, 18 files
雲函數
雲函數的代碼編寫完成後,要點擊上傳部署。
上傳部署方法:對「quickstartFunctions」目錄右鍵選擇「上傳並部署,雲端安裝依賴(不上傳node_modules)」,彈窗顯示成功即可。
在雲開發控制台中,雲函數頁面,可以看到雲函數名稱、運行環境、更新時間、狀態等信息,也可以看到運行中的日誌信息,方便定位問題。
雲數據庫
在雲開發控制台中,數據庫頁面,可以查看和操作雲數據庫。
雲數據庫和mongodb基本一樣,或者說就是在mongodb的基礎上封裝出來的。
collection就是表名,數據使用json格式保存。
支持索引管理和數據權限設置。
代碼邏輯
按照上面的代碼框架,小程序在啟動之後的邏輯流程如下圖,截圖是使用PC端自動預覽中的vconsole日誌展示。
其中的「111」是在js頁面調用雲函數之前的日誌打印。
雲函數返回數據是「Object …」,可以點擊查看具體數據內容。
頁面效果
總結
小程序在雲開發模式下,開發人員可以更多的關注代碼邏輯的開發,極大的簡化了上線的部署流程,方便快捷。
空空如常
求真得真