微信小程序的云開發(fā)可以自己對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作而不需要后臺(tái),那么很常見的一個(gè)功能就是我們?cè)谧x取數(shù)據(jù)的時(shí)候需要分頁(yè)來(lái)獲取數(shù)據(jù),所以今天就來(lái)看看小程序的云開發(fā)如如何通過(guò)分頁(yè)來(lái)獲取數(shù)據(jù),并且將其封裝為一個(gè)云函數(shù)。
一、云函數(shù)的定義
云函數(shù)是一段運(yùn)行在云端的代碼,無(wú)需管理服務(wù)器,在開發(fā)工具內(nèi)編寫、一鍵上傳部署即可運(yùn)行后端代碼。
小程序內(nèi)提供了專門用于云函數(shù)調(diào)用的 API。開發(fā)者可以在云函數(shù)內(nèi)獲取到每次調(diào)用的上下文(appid、openid 等),無(wú)需維護(hù)復(fù)雜的鑒權(quán)機(jī)制,即可獲取天然可信任的用戶登錄態(tài)(openid)。
二、定義一個(gè)自己的云函數(shù)
首先我們需要在開發(fā)工具中新建一個(gè)云函數(shù)如下:
新建之后會(huì)出現(xiàn)一個(gè)cmd窗口自動(dòng)安裝一些東西,前提需要你有安裝nodejs,安裝好后就新建好了云函數(shù),如下:
在index.js中就是我們定義云函數(shù)的地方,來(lái)看看里面都有啥
已經(jīng)幫我們定義好了初始化和入口函數(shù)的定義了,那么下面我們就來(lái)寫一個(gè)簡(jiǎn)單的自定義云函數(shù)如下:
目標(biāo)就是求兩個(gè)數(shù)的和,到這里云函數(shù)就定義好了。最后別忘了將定義好的云函數(shù)部署到云上,如下:
點(diǎn)擊后等到如下界面就算是部署好了
三、小程序調(diào)用云函數(shù)
上面我們定義好了云函數(shù),接下來(lái)看看在小程序中如何調(diào)用我們自己定義的云函數(shù),如下:
上面是使用回調(diào)的方式調(diào)用的,其實(shí)微信小程序也支持promise方式的,如下:
兩者結(jié)果都是一樣的,只是看開發(fā)者的個(gè)人愛好了。
四、分頁(yè)云函數(shù)
有了上面的基礎(chǔ)和之前對(duì)數(shù)據(jù)庫(kù)的了解那么我們可以來(lái)寫一寫如何使用分頁(yè)來(lái)獲取數(shù)據(jù),將這個(gè)功能封裝到一個(gè)云函數(shù)中,如下:
最后小程序中條用結(jié)果如下:
上面結(jié)果是第一頁(yè)的數(shù)據(jù),數(shù)據(jù)庫(kù)中總共有14條記錄,看下第二頁(yè)數(shù)據(jù),如下:
返回結(jié)果ok,在看看有帶查詢條件的,如下:
_id有值而且是唯一的,所以只要一條記錄,也ok了,到此這個(gè)分頁(yè)的云函數(shù)以及封裝好了,后面只要每次小程序調(diào)用就可以了。