欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報激活碼778899分享:微信小程序 - 云開發(fā)

柚子快報激活碼778899分享:微信小程序 - 云開發(fā)

http://yzkb.51969.com/

1、小程序云開發(fā)

1.1、云開發(fā)簡介

小程序·云開發(fā)是微信團(tuán)隊聯(lián)合騰訊云推出的專業(yè)的小程序開發(fā)服務(wù)。開發(fā)者可以使用云開發(fā)快速開發(fā)小程序、小游戲、公眾號網(wǎng)頁等,并且原生打通微信開放能力。開發(fā)者無需搭建服務(wù)器,可免鑒權(quán)直接使用平臺提供的API進(jìn)行業(yè)務(wù)開發(fā) 小程序云開發(fā)又簡稱tcb,是微信官方給我們提供的基于騰訊云的云服務(wù)器。目前云開發(fā)包含:云數(shù)據(jù)庫,云函數(shù),云存儲,云調(diào)用。后面章節(jié)會具體給大家講解這幾個。

官方文檔:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html

1.2、云開發(fā)和傳統(tǒng)服務(wù)器對比

云開發(fā)相對于傳統(tǒng)服務(wù)器的優(yōu)勢如下表

通過上面的對比,可以看出,如果想快速創(chuàng)建一個小程序的后臺,用云開發(fā)是不錯的選擇。

2、微信開發(fā)者工具的安裝與使用

工欲善其事必先利其器,我們在開發(fā)小程序之前,首先需要安裝小程序開發(fā)者工具。

2.1、進(jìn)入小程序官網(wǎng),點(diǎn)擊工具,如下圖所示。

當(dāng)然了,也可以直接通過下面鏈接去下載 https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html

2.2、下載安裝包如下

不管你是window還是mac電腦,只需要雙擊安裝包實現(xiàn)安裝即可。 等待安裝即可 安裝完成

2.3、進(jìn)入開發(fā)者工具

第一次進(jìn)入時,如下 點(diǎn)擊上圖的加號,我們來創(chuàng)建一個新項目 完成上圖的配置后,點(diǎn)擊新建。即可創(chuàng)建項目。創(chuàng)建好以后的項目如下圖所示。 這樣我們就完成了小程序開發(fā)者工具的安裝了,后面我們就可以開始小程序的代碼編寫了。

3、注冊小程序

前面雖然可以用測試號創(chuàng)建小程序,但是測試號有很多功能會受限,比如我們接下來要講的云開發(fā),必須是注冊小程序后才可以使用,所以今天我們就來講講小程序的注冊.

其實官方給的注冊步驟很詳細(xì)了

官方注冊文檔:https://developers.weixin.qq.com/miniprogram/introduction/

微信小程序注冊地址:https://mp.weixin.qq.com/ 進(jìn)去以后點(diǎn)擊立即注冊

進(jìn)入注冊頁面時,跟著提示一步步來就可以了

注意點(diǎn):

如果只是學(xué)習(xí)的話,注冊個人小程序即可.如果想商用,想使用微信支付,取用戶手機(jī)號等復(fù)雜功能,可以注冊企業(yè)小程序,不過企業(yè)小程序必須有營業(yè)執(zhí)照才可以注冊一個郵箱只能注冊一個小程序一個身份證可以注冊5個,個人小程序一個企業(yè)的營業(yè)執(zhí)照可以注冊50個企業(yè)小程序

4、云開發(fā)環(huán)境的創(chuàng)建與初始化

今天我們就來正式的創(chuàng)建自己的第一個云開發(fā)項目,在創(chuàng)建云開發(fā)之前,有下面幾個注意事項

1,必須注冊小程序后才可以開通云開發(fā)2,一個小程序可以創(chuàng)建兩個云開發(fā)環(huán)境

4.1、創(chuàng)建一個初始項目

開通云開發(fā)服務(wù),必須先要進(jìn)入小程序開發(fā)者工具才可以。 和創(chuàng)建普通小程序一樣,如上圖所示,需要注意的就是這里必須要填寫自己的appid,不可以用測試號. appid的獲取如下圖所示.

4.2、開通云開發(fā)

1,點(diǎn)擊下圖箭頭所示,如果你第一步創(chuàng)建項目時,沒有使用自己的appid,這里不會有下圖箭頭所示的云朵. 2,給云開發(fā)環(huán)境取名 等待創(chuàng)建 創(chuàng)建成功 3,獲取云開發(fā)環(huán)境id

4.3、初始化云開發(fā)環(huán)境(***重要)

在app.js里寫入環(huán)境id,注意這里要用你自己的云開發(fā)環(huán)境id

初始化云開發(fā)環(huán)境前,先去云開發(fā)控制臺,拿到云開發(fā)環(huán)境id,如下圖 這里的環(huán)境id建議直接復(fù)制,不要手寫,很容易寫錯。 拿到環(huán)境id以后,就去app.js里做云開發(fā)環(huán)境初始化,如下

用時候云開發(fā)創(chuàng)建好以后,初始化可能需要一點(diǎn)時間,所以如果這里初始化有報錯,記得關(guān)閉開發(fā)者工具,等幾分鐘再重新打開即可.

5、云數(shù)據(jù)庫

官方文檔:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/database/init.html

5.1、在數(shù)據(jù)庫里新建集合(數(shù)據(jù)表)

直接在工具里建表

我們這里以新建一個商品列表為例

在內(nèi)容管理里建表

5.2、數(shù)據(jù)庫權(quán)限管理

要想讓用戶查詢到我們創(chuàng)建的商品數(shù)據(jù),需要把權(quán)限改為所有用戶可讀

5.3、數(shù)據(jù)庫的增刪改查

5.3.1、查詢 get()

傳統(tǒng)寫法 ES6簡潔寫法 推薦第二種寫法

5.3.2、條件查詢 where()

5.3.3、查詢單條數(shù)據(jù)doc()

doc是用來查詢單條數(shù)據(jù)的。比如商品詳情頁。 doc里面用到的參數(shù)就是我們數(shù)據(jù)里的_id字段

5.3.4、添加數(shù)據(jù) add()

通過add可以實現(xiàn)數(shù)據(jù)的添加,

5.3.5、更新數(shù)據(jù)update()

修改數(shù)據(jù)庫里已存在的數(shù)據(jù),結(jié)合doc進(jìn)行修改單條數(shù)據(jù)

5.3.6、刪除數(shù)據(jù)remove()

刪除數(shù)據(jù),結(jié)合doc刪除單條數(shù)據(jù)

5.4、增刪改查綜合案例

1,能查看商品列表2,更動態(tài)添加商品3,能進(jìn)入商品詳情頁4,能刪除某個商品5,能修改某個商品的價格

5.4.1 列表跳詳情 data-

1,在wxml里定義data- 要綁定的數(shù)據(jù) 2, 在js頁面里的點(diǎn)擊方法里拿到綁定的數(shù)據(jù) 比如打印結(jié)果如下

5.4.2 列表跳詳情并攜帶商品id

1,列表跳頁到詳情頁 2,拿到列表跳頁時攜帶的id數(shù)據(jù)

5.4.3 查詢商品列表

5.4.4 添加商品并刷新商品列表

5.4.5 更新商品數(shù)據(jù)

用戶輸入新價格,調(diào)用update方法進(jìn)行更新數(shù)據(jù) 我們更新成功的時候,會有如下所示的日志打印。 只有stats里的updated是1的時候,才代表成功的更新了一條數(shù)據(jù)。 如果這條商品不是你創(chuàng)建的,當(dāng)你對這條商品做更新操作時,打印的updated就是0。 這個時候代表沒有更新成功。這是因為操作時的權(quán)限問題,要解決這個問題,就要借助云函數(shù)了,這里我們先放在這里,在后面云函數(shù)章節(jié)會做具體講解。

5.4.6 彈窗提示確認(rèn)是否刪除

用戶刪除數(shù)據(jù)是一個危險操作,所以操作之前最好給用戶一個友好提示。 官方彈窗文檔:https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showModal.html

5.4.7 刪除商品

5.4.8 更新和刪除時的權(quán)限問題

如果這條商品不是你創(chuàng)建的,當(dāng)你對這條商品做刪除或者更新操作時,雖然也會返回成功,但是可以看到我們更新或者刪除的條數(shù)是0。

其實這個時候也意味著沒有更新或者刪除成功,這里是因為操作權(quán)限的問題,因為這條數(shù)據(jù)不是你創(chuàng)建的。所以你只能對這條數(shù)據(jù)做查詢操作,而不能做修改和刪除操作。要想解決這個問題,就要借助云函數(shù)了。后面云函數(shù)講解的部分,我會做具體講解的。

我們還是先接著學(xué)習(xí)數(shù)據(jù)庫操作的高級操作

5.6、常用快捷鍵

我們在開發(fā)時為了提高代碼編寫效率,通常會使用一些快捷鍵。我們小程序開發(fā)工具里常用的快捷鍵如下。 設(shè)置—》快捷鍵設(shè)置 然后點(diǎn)擊如下快捷鍵即可查看所有的快捷鍵 如果感覺默認(rèn)的快捷鍵不喜歡,可以自己重新設(shè)置快捷鍵。由于自帶的快捷比較多,我這里不一一列舉了,我把一些常用的快捷鍵拿出來給大家大致講一講,我這里以window電腦為例,如果你mac電腦,可以自己去看下開發(fā)者工具默認(rèn)的快捷鍵。多看幾遍把常用的記住就行了。

快捷鍵組合描述Ctrl+a全選Ctrl+c復(fù)制選中內(nèi)容Ctrl+v粘貼復(fù)制的內(nèi)容Ctrl+z撤銷當(dāng)前編輯Ctrl+s保存并編譯項目Ctrl+b重新編譯項目Ctrl+x截切選中的內(nèi)容Ctrl+/添加注釋Ctrl+Shift+k刪除當(dāng)前行Ctrl+Shift+f全局搜索Ctrl+f當(dāng)前頁面內(nèi)搜索Ctrl+Shift+h全局搜索并替換文本Ctrl+h當(dāng)前頁面內(nèi)搜索并替換文本Shift+Alt+F格式化代碼Shift+Alt+?向上復(fù)制當(dāng)前行Shift+Alt+?向下復(fù)制當(dāng)前行Alt+?把當(dāng)前行向上移動一行Alt+?把當(dāng)前行向下移動一行

有的電腦上快捷鍵可能會有細(xì)微差距,以開發(fā)者工具默認(rèn)自帶的快捷鍵為準(zhǔn)。

5.7、數(shù)據(jù)庫排序orderBy

orderBy方法在做排序的時候,接受兩個參數(shù)

1,根據(jù)那個字段排序2,排序規(guī)則(升序或者降序)。升序用asc,降序用desc

如我們根據(jù)商品價格從低到高升序排列 如我們根據(jù)商品價格從高到低降序排列

5.8、返回指定條數(shù)的數(shù)據(jù)limit

limit用來指定查詢結(jié)果集數(shù)量上限,比如我們有100條數(shù)據(jù),只想返回前20條,我們可以通過limit(20)來指定只返回20條數(shù)據(jù)。

例如,只返回3條數(shù)據(jù)的寫法如下

注意:limit 在小程序端默認(rèn)及最大上限為 20,在云函數(shù)端默認(rèn)及最大上限為 1000

5.9、分頁方法skip

skip指定查詢返回結(jié)果時從指定序列后的結(jié)果開始返回,常用于分頁。比如我們有100條數(shù)據(jù),想從第10條開始返回數(shù)據(jù),可以通過skip(10)來實現(xiàn)

skip結(jié)合我們上面學(xué)的limit方法可以實現(xiàn)分頁效果

比如我們有100條數(shù)據(jù),每次返回20條數(shù)據(jù)。那么就可以分5頁返回。

第1頁 limit(20).skip(0)第2頁 limit(20).skip(20)第3頁 limit(20).skip(40)第4頁 limit(20).skip(60)第5頁 limit(20).skip(80)

5.10、Command數(shù)據(jù)庫操作符

我門上面學(xué)完了數(shù)據(jù)庫的增刪改查,但是這些都是最基礎(chǔ)最簡單的操作,如果我們想實現(xiàn)復(fù)雜的數(shù)據(jù)查詢操作,該怎么辦呢 比如

查詢價格大于100的商品?查詢年齡小于18歲的學(xué)生?如何同時修改多條數(shù)據(jù)?如何同時刪除多條數(shù)據(jù)?

我們?nèi)绻雽崿F(xiàn)上面這些復(fù)雜的操作,就需要用到數(shù)據(jù)庫里的 Command數(shù)據(jù)庫操作符,就是下面這位 官方文檔:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/database/Command.html

5.10.1、gt查詢大于指定值的數(shù)據(jù)

比如查詢價格大于5的所有商品

5.10.2、gte查詢大于等于指定值的數(shù)據(jù)

比如查詢大于等于5元的商品

5.10.3、lt查詢小于指定數(shù)值的數(shù)據(jù)

比如查詢價格小于5的所有商品

5.10.4、lte查詢小于等于指定數(shù)值的數(shù)據(jù)

比如查詢價格小于等于5元的所有商品

5.10.5、and同時滿足多個條件的查詢

比如查詢價格大于5小于10元的所有商品

6、云函數(shù)

6.1、認(rèn)識云函數(shù)

官方文檔:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/functions.html

我們先來看下官方給出的云函數(shù)簡介 其實通俗來講,云函數(shù)也是運(yùn)行在服務(wù)器上的,只不過和我們傳統(tǒng)開發(fā)語言相比。微信官方為我們提供的傻瓜式的一鍵部署。也就是說你只需要把心思花在業(yè)務(wù)邏輯代碼的編寫上即可。無需關(guān)心寫好如何部署,無需關(guān)心安全問題,無需關(guān)心鑒權(quán)問題。

我們下面以獲取openid為例,來看看云函數(shù),php,Java的實現(xiàn)對比

php獲取用戶openid 如果用php來獲取openid必須經(jīng)歷下面幾步1,去小程序后臺拿到appid和appSecret2,請求微信的對應(yīng)接口3,獲取數(shù)據(jù)后進(jìn)行解碼4,購買服務(wù)器,配置服務(wù)器5,購買域名,域名備案,配置https6,部署php代碼到服務(wù)器7,小程序端調(diào)用php接口

Java獲取openid和上面的php步驟一樣,也是需要上面7步。而我們用云函數(shù)獲取openid呢,就只需要簡單的3步就行了,代碼量也能顯著減少

6.1.1、云函數(shù)獲取openid

用云函數(shù)的話,只需要3步

1,編寫云函數(shù)2,一鍵部署云函數(shù)3,調(diào)用云函數(shù)

來看下云函數(shù)代碼,只需要10行代碼,即可輕松搞定

6.2、云函數(shù)的優(yōu)勢

我們用云函數(shù)和上一章的云數(shù)據(jù)庫進(jìn)行下對比

操作云函數(shù)云數(shù)據(jù)庫返回數(shù)據(jù)上限100條20條更新數(shù)據(jù)都可以更新只有自己創(chuàng)建的才可以更新刪除數(shù)據(jù)都可以刪除只有自己創(chuàng)建的才可以刪除運(yùn)行環(huán)境運(yùn)行在云端Node.js環(huán)境運(yùn)行在小程序本地實現(xiàn)功能豐富度非常豐富只能實現(xiàn)數(shù)據(jù)庫增刪改查

來看下官方文檔是如何描述云函數(shù)的 云函數(shù)屬于管理端,在云函數(shù)中運(yùn)行的代碼擁有不受限的數(shù)據(jù)庫讀寫權(quán)限和云文件讀寫權(quán)限。需特別注意,云函數(shù)運(yùn)行環(huán)境即是管理端,與云函數(shù)中的傳入的 openId 對應(yīng)的微信用戶是否是小程序的管理員 / 開發(fā)者無關(guān)。

6.3、云函數(shù)調(diào)用演示

官方文檔:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/functions/Cloud.callFunction.html

6.3.1、初始化云函數(shù)的環(huán)境

1,創(chuàng)建一個文件夾cloud和pages平行 2,在project.config.json里面配置云函數(shù)所在目錄為cloud 在project.config.json里面添加如下配置 然后點(diǎn)擊保存,我們的cloud文件夾前面就有一個云朵 就代表我們云函數(shù)初始化成功啦。新一個云函數(shù) 如果只創(chuàng)建一個云函數(shù)的時候,會出現(xiàn)下面的問題。 解決方案:只需要在cloud文件夾下新建一個空白文件即可。

6.3.1、云函數(shù)獲取openid

調(diào)用云函數(shù)有兩種寫法

1,傳統(tǒng)的success和fail 2,用promise寫法then和catch

6.3.3、數(shù)據(jù)的導(dǎo)入和導(dǎo)出

數(shù)據(jù)導(dǎo)出,做數(shù)據(jù)備份 比如導(dǎo)入為json數(shù)據(jù)如下 導(dǎo)入到數(shù)據(jù)庫如下

6.3.4、云函數(shù)獲取數(shù)據(jù)

注意:云函數(shù)只要有變動,就要重新部署,否則云函數(shù)不生效。

遇到了一個問題,如下 出現(xiàn)原因:如果你有兩個云開發(fā)環(huán)境,偶爾會出現(xiàn)上圖所示的問題。 解決問題:有兩種

1,在云函數(shù)里指定你要使用那個云開發(fā)環(huán)境 2,使用DYNAMIC_CURRENT_ENV常量 (提倡使用這個) 我們這里會和小程序里直接調(diào)用數(shù)據(jù)庫的查詢進(jìn)行下對比

6.3.5、云函數(shù)修改數(shù)據(jù)

本地小程序直接調(diào)用數(shù)據(jù)庫修改會有問題

只能修改自己創(chuàng)建的數(shù)據(jù),別人創(chuàng)建的數(shù)據(jù),就沒有辦法修改了。 如何解決呢? 用云函數(shù)來修改就可以解決這個問題啦。 1,先創(chuàng)建云函數(shù)update0129 2,調(diào)用云函數(shù)就行修改

6.3.6、云函數(shù)刪除數(shù)據(jù)

1,創(chuàng)建一個刪除商品的云函數(shù)remove0129 2,調(diào)用這個云函數(shù)進(jìn)行刪除操作

6.3.7、提交數(shù)據(jù)到云函數(shù)

1,創(chuàng)建云函數(shù),并部署 2,調(diào)用云函數(shù)

6.5、使用云函數(shù)常見問題

6.4.1、云函數(shù)里面沒有初始化環(huán)境變量

解決方案如下: 使用DYNAMIC_CURRENT_ENV 代碼片段

cloud.init({

env: cloud.DYNAMIC_CURRENT_ENV

})

7、云開發(fā)~云存儲

首先來看下官方對云存儲的介紹: 官方文檔:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/storage.html 說白了,云存儲就是可以用來存儲視頻,音頻,圖片,文件的一個云存儲空間。如果你的小程序需要用到視頻播放,音頻播放,圖片展示,文件上傳與下載功能,就可以用到我們的云存儲了。

使用云存儲來存儲文件時,文件名的命名有一些規(guī)則,建議看一下。

7.1、云開發(fā)控制臺管理文件

控制臺也可以很方便的管理文件。

7.2、上傳圖片到云存儲

我們上傳圖片之前需要先選擇圖片,所以這里用到一個圖片選擇的功能 對應(yīng)的官方文檔:https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.chooseImage.html 然后調(diào)用文件上傳的api接口即可 官方文檔:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/storage/uploadFile/client.uploadFile.html

7.3、圖片上傳與顯示

云開發(fā)官方文檔:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html

小程序列表渲染文檔:[https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxml/list.html?search-key=

1.效果圖

2.實現(xiàn)

背景顏色色值:#2db7f5 卡片布局:

上傳人:{{item.name}}

上傳時間:{{item.time}}

卡片列表樣式:

page {

background: #2db7f5;

}

/* 卡片 */

.item-container {

box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);

transition: 0.3s;

width: 92%;

margin: 4%;

display: flex;

flex-direction: column;

background: white;

padding-top: 5pt;

padding-bottom: 5pt;

border-radius: 5px;

}

/* 上傳人 */

.item-name {

font-size: 12px;

margin-left: 15px;

}

/* 圖片 */

.img {

width: 100px;

height: 100px;

margin-top: 10px;

margin-left: 20px;

}

獲取當(dāng)前時間的方法:

//獲取當(dāng)前時間,返回時間格式:2018-09-16 15:43:36

getNowFormatDate: function() {

var date = new Date();

var seperator1 = "-";

var seperator2 = ":";

var month = date.getMonth() + 1;

var strDate = date.getDate();

if (month >= 1 && month <= 9) {

month = "0" + month;

}

if (strDate >= 0 && strDate <= 9) {

strDate = "0" + strDate;

}

var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate +

" " + date.getHours() + seperator2 + date.getMinutes() +

seperator2 + date.getSeconds();

return currentdate;

},

7.4、上傳視頻到云存儲

上傳視頻之前同樣需要先選擇視頻,選擇視頻的代碼如下 對應(yīng)的官方文檔如下:https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.chooseVideo.html 選擇好視頻以后,同樣是調(diào)用文件上傳api,因為視頻也是一個文件。

7.5、上傳word,excel文件到云存儲

7.5.1、上傳之前先選擇文件

選擇文件的時候記得把type設(shè)置為file 對應(yīng)的官方文檔:https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.chooseMessageFile.html

這里有一點(diǎn)需要注意 在電腦模擬器上是選擇電腦上的文件,在手機(jī)上運(yùn)行小程序進(jìn)行選擇文件時是選擇你聊天記錄里的文件。

7.5.2、上傳文件

在上面選擇好文件以后,我們還是要調(diào)用uploadFile進(jìn)行文件上傳

7.6、下載文件

使用wx.cloud.downloadFile下載文件 https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-client-api/storage/downloadFile.html

7.7、下載并打開word,excel,pdf

使用wx.openDocument打開文件 https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.openDocument.html

8、列表的下拉刷新

8.1、開啟頁面下拉刷新

我們需要在app.json獲取頁面對應(yīng)的json里設(shè)置enablePullDownRefresh屬性為true來開啟下拉刷新。

由于我們的刷新動畫默認(rèn)是白色圓點(diǎn),所以還要在json里設(shè)置頁面背景色才可以看到動畫。

8.2、在Page的onPullDownRefresh里監(jiān)聽刷新

在page里的onPullDownRefresh方法里監(jiān)聽下拉刷新

8.3、用戶下拉刷新時請求最新數(shù)據(jù)

8.4、數(shù)據(jù)請求成功后停止刷新

我們在下拉刷新時,刷新動畫一般很久才結(jié)束,正常情況下應(yīng)該是數(shù)據(jù)請求成功后就結(jié)束刷新動畫。所以我們通過wx.stopPullDownRefresh()方法來結(jié)束刷新動畫。 官方文檔:https://developers.weixin.qq.com/miniprogram/dev/api/ui/pull-down-refresh/wx.startPullDownRefresh.html 代碼示例如下

9、列表的分頁加載

9.1、小程序數(shù)據(jù)庫每次最多20條

小程序數(shù)據(jù)庫api和云函數(shù)調(diào)用數(shù)據(jù)的限制 小程序端直接調(diào)用云數(shù)據(jù)庫時,每次最多可以獲取20條,云函數(shù)里調(diào)用云數(shù)據(jù)庫時每次最多獲取100條。所以我們數(shù)據(jù)多的時候要做分頁加載。

9.2、分頁加載的核心方法

我們做分頁加載時,主要用到了skip和limit方法,對應(yīng)的官方文檔如下

skip:每頁加載多少條 https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/database/collection/Collection.skip.htmllimit: 加載第幾頁的數(shù)據(jù)https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/database/collection/Collection.limit.html

其實這個skip和limit我在數(shù)據(jù)庫的那一節(jié)有做初步講解,這一節(jié)我們就借助具體分頁加載的案例來做綜合講解

9.3、導(dǎo)入108條數(shù)據(jù)

9.3.1、導(dǎo)入到數(shù)據(jù)表

我這里導(dǎo)入到num數(shù)據(jù)表,導(dǎo)入成功如下:

9.3.2、別忘記修改表權(quán)限

把數(shù)據(jù)表(集合)的權(quán)限改為所有用戶可讀,僅創(chuàng)建者可讀寫。

9.4、上拉加載更多監(jiān)聽

我們的列表滑動到最后一個數(shù)據(jù)時,會執(zhí)行下面的方法 所以我們的分頁加載要在onReachBottom里做。

9.5、數(shù)據(jù)庫分頁加載代碼實現(xiàn)

直接調(diào)用數(shù)據(jù)庫每次最多只能加載20條數(shù)據(jù) wxml里只做簡單的列表數(shù)據(jù)顯示就行了 wxss做個簡單的樣式 對應(yīng)的效果如下

9.5.1、沒有更多數(shù)據(jù)時的友好提示

9.5.2、加載中和加載完成的友好提示

加載中

wx.showLoading({

title: '加載中...',

})

隱藏加載中

wx.hideLoading()

9.6、通過云函數(shù)實現(xiàn)分頁加載

通過云函數(shù)調(diào)用數(shù)據(jù)庫,每次最多可以加載100條數(shù)據(jù).

如果每頁20條以內(nèi),不建議用云函數(shù)如果分頁的時候,每頁大于20條,就用云函數(shù)。

10、搜索功能

今天來給大家講講小程序的搜索功能。我這里后臺數(shù)據(jù)庫用的是小程序云開發(fā)的云數(shù)據(jù)庫。所以我們搜索的時候就要借助云開發(fā)來實現(xiàn)。

10.1、需求

比如我這里有如下的一些數(shù)據(jù)

我們想實現(xiàn)如下搜索需求

1,搜索標(biāo)題(title)包含‘小石頭’的數(shù)據(jù)2,搜索標(biāo)題(title)或者描述(desc)包含‘小石頭’的數(shù)據(jù)3,搜索標(biāo)題(title)描述(desc)都包含‘小石頭’的數(shù)據(jù)

我們知道數(shù)據(jù)庫查詢的時候有個where語句,但是where語句是查詢某個字段全部包含你輸入的內(nèi)容時才可以,所以單純用where語句來做搜索的話,結(jié)果太單一。所以我們今天就來學(xué)習(xí)下模糊搜索功能的實現(xiàn)。我們以上面三個需求為例,來一個個講解。

10.2、實現(xiàn)原理

我們做模糊搜索的時候,其實就是查詢某個字段里是否包含我們的搜索詞。而模糊搜索需要借助RegExp,來看看RegExp是什么。 官方文檔:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/database/Database.RegExp.html

再來看看官方示例 可能看官方示例會有點(diǎn)糊涂,那么我們接下來就結(jié)合具體代碼來給大家做下講解。

10.3、模糊搜索的代碼實現(xiàn)

10.3.1、模糊搜索單個字段

需求:搜索標(biāo)題(title)包含‘小石頭’的數(shù)據(jù)

代碼如下 查詢結(jié)果如下: 可以看到我們成功的查詢到了標(biāo)題里包含‘小石頭的數(shù)據(jù)’

10.3.2、模糊搜索多個字段(滿足一個即可)

需求:搜索標(biāo)題(title)或者描述(desc)包含‘小石頭’的數(shù)據(jù)

由于我們要查詢多個字段,所以我們這里用到了command高級操作符里的or 代碼如下: 查詢結(jié)果: 我們來分析下這兩條數(shù)據(jù)

1,標(biāo)題和描述都包含‘小石頭’,符合2,雖然標(biāo)題里沒有‘小石頭’,但是描述里有,所以也符合。3,title和desc里都沒有‘小石頭’,所以不符合。

10.3.3、模糊搜索多個字段(要同時滿足)

需求:搜索標(biāo)題(title)描述(desc)都包含‘小石頭’的數(shù)據(jù)

由于我們要查詢多個字段,所以我們這里用到了command高級操作符里的and

代碼如下:

查詢結(jié)果: 我們來分析下這兩條數(shù)據(jù)

1,標(biāo)題和描述都包含‘小石頭’,符合2,雖然desc里沒有‘小石頭’,但是title里沒有,所以也不符合。3,title和desc里都沒有‘小石頭’,所以也不符合。

10.4、源碼

為例方便大家使用,我把完整的代碼貼到這里,后面大家使用時,直接復(fù)制這里的代碼,略微改造下就可以了。

//我這里簡單起見就把搜索詞寫死,正常應(yīng)該用戶輸入的

let searchKey = '小石頭'

let db = wx.cloud.database()

let _ = db.command

db.collection('news')

.where(_.or([

{//標(biāo)題

title: db.RegExp({ //使用正則查詢,實現(xiàn)對搜索的模糊查詢

regexp: searchKey,

options: 'i', //大小寫不區(qū)分

}),

},

{//描述

desc: db.RegExp({

regexp: searchKey,

options: 'i',

}),

}

])).get()

.then(res => {

console.log('查詢成功', res)

})

.catch(res => {

console.log('查詢失敗', res)

})

10.5、獲取用戶輸入的搜索詞進(jìn)行搜索

11、登錄注冊

1.注冊頁

? 注冊主要用到了input組件獲取用戶輸入,button組件實現(xiàn)注冊功能,注冊主要是把賬號名和密碼添加到云開發(fā)數(shù)據(jù)庫。

2.登錄頁

登錄主要是獲取用戶輸入的賬號和密碼,然后從數(shù)據(jù)庫里讀取相應(yīng)的數(shù)據(jù),做賬號和密碼的比對,如果賬號和密碼都一樣,就可以直接登陸成功

3.登錄成功跳轉(zhuǎn)到首頁

登錄成功以后,會調(diào)整到首頁

4.保存登錄狀態(tài)

5.退出登錄

12、點(diǎn)贊與收藏與評論

1,常用圖標(biāo)獲取網(wǎng)站

這里用了一個阿里巴巴矢量圖庫:https://www.iconfont.cn

2,云函數(shù)里初始化云開發(fā)環(huán)境

cloud.init({

env: cloud.DYNAMIC_CURRENT_ENV

})

13、CMS網(wǎng)頁版管理后臺

13.1、開通cms的準(zhǔn)備工作

如下圖所示,直接點(diǎn)擊開通內(nèi)容管理(CMS)即可 開通cms需要你云開發(fā)里使用按量付費(fèi),如果你是第一次開通云開發(fā),記得做如下選擇。

如果你已經(jīng)開通過云開發(fā),記得把付費(fèi)模式改為按量付費(fèi)。如果你一開始云開發(fā)不是按量付費(fèi)的模式。

點(diǎn)擊完開通以后,會有如下彈窗,直接點(diǎn)擊確定即可。不要被付費(fèi)嚇著,官方每月會送我們一定的免費(fèi)額度的。學(xué)習(xí)得話基本上夠用了。

上面點(diǎn)完確定后,我們只是開啟了按量付費(fèi)功能,因為cms得使用必須要開通按量付費(fèi)才可以得。所以還要再點(diǎn)一次開通。如下圖

點(diǎn)完開通后,會有如下彈窗,直接點(diǎn)擊下一步即可。 然后我們需要設(shè)置登錄內(nèi)容管理后臺得賬號和密碼,然后點(diǎn)擊確定即可

然后我們就等待內(nèi)容管理功能得開通了,需要等幾分鐘。

開通成功以后,我們就可以通過下面這個地址進(jìn)入管理后臺了。

后面我們統(tǒng)一稱內(nèi)容管理為cms

13.2、注意事項

一個云開發(fā)環(huán)境對應(yīng)一個內(nèi)容管理(cms)cms開通會存在開通失敗的情況,如果開通失敗了,就用新的云開發(fā)環(huán)境去開通,如果新的云開發(fā)環(huán)境還是不行的話,那就只能重新去注冊一個新的小程序了。一個小程序是可以開通兩個云開發(fā)環(huán)境的。

13.3、登錄Cms可視化管理后臺

上面開通好以后,就可以通過后臺地址登錄管理后臺了。如下

13.4、在cms里創(chuàng)建后臺項目

13.5、內(nèi)容模型

13.6、數(shù)據(jù)類型

往內(nèi)容模型里添加數(shù)據(jù)類型的時候可以選擇如下一些類型

單行字符串、多行字符串、數(shù)字、布爾值、枚舉、日期、日期與時間、文件、圖片、多媒體、郵箱地址、電話號碼、網(wǎng)址、富文本、Markdown、關(guān)聯(lián)、數(shù)組、JSON對象

13.7 數(shù)據(jù)表(集合)管理

可以對上面創(chuàng)建好的內(nèi)容模型(集合)進(jìn)行可視化的管理,這也是cms的優(yōu)點(diǎn),可以讓我們對數(shù)據(jù)庫進(jìn)行可視化的管理。

13.8、綜合案例

結(jié)合cms和云開發(fā)數(shù)據(jù)庫,實現(xiàn)一個簡單的新聞小程序,有如下功能點(diǎn)

新聞列表新聞詳情圖文混排富文本編輯rich-text的學(xué)習(xí) rich-text官方文檔: https://developers.weixin.qq.com/miniprogram/dev/component/rich-text.html

柚子快報激活碼778899分享:微信小程序 - 云開發(fā)

http://yzkb.51969.com/

參考閱讀

評論可見,查看隱藏內(nèi)容
大家都在看:

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/18842440.html

發(fā)布評論

您暫未設(shè)置收款碼

請在主題配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄