如果你設計出了一個好看好玩的 H5 ,卻礙于沒有好用的后端來存儲用戶的數(shù)據(jù),那不妨試試云開發(fā),輕松讓你的靜態(tài) H5 “動”起來!云開發(fā)提供的云數(shù)據(jù)庫支持從前端直接" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

15158846557 在線咨詢 在線咨詢
15158846557 在線咨詢
所在位置: 首頁 > 營銷資訊 > 網(wǎng)站運營 > 借助Web云開發(fā)數(shù)據(jù)庫,讓你的靜態(tài)H5“動”起來(帶源碼)

借助Web云開發(fā)數(shù)據(jù)庫,讓你的靜態(tài)H5“動”起來(帶源碼)

時間:2023-05-24 01:39:01 | 來源:網(wǎng)站運營

時間:2023-05-24 01:39:01 來源:網(wǎng)站運營

借助Web云開發(fā)數(shù)據(jù)庫,讓你的靜態(tài)H5“動”起來(帶源碼):






如果你設計出了一個好看好玩的 H5 ,卻礙于沒有好用的后端來存儲用戶的數(shù)據(jù),那不妨試試云開發(fā),輕松讓你的靜態(tài) H5 “動”起來!云開發(fā)提供的云數(shù)據(jù)庫支持從前端直接調(diào)用,可以大大提升前端工程師的開發(fā)效率,讓前端工程師也可以直接操作數(shù)據(jù)庫,大大降低開發(fā)成本。這篇文章以最簡單的 Todo List 為例,介紹如何為你的 Web 應用加入數(shù)據(jù)庫后端,并實現(xiàn)直接調(diào)用的能力!

1.構(gòu)建簡單的界面

為了簡化整個項目的邏輯,我們使用 Vue 和 BootStrap 構(gòu)建一個簡單的界面。

界面的代碼具體如下:

<div id="app"> <div class="panel panel-primary"> <div class="panel-heading"> <h3 class="panel-title">web應用中使用數(shù)據(jù)庫</h3> </div> <div class="panel-body form-inline"> <label> Name: <input type="text" class="form-control" v-model="name" /> </label> <input type="button" value="添加" class="btn btn-primary" @click="add()" /> <label> 搜索名稱關(guān)鍵字: <input type="text" class="form-control" v-model="keywords" /> </label> <input type="button" value="查找" class="btn btn-primary" @click="search(keywords)" /> </div> </div> <table class="table table-bordered table-hover table-striped"> <thead> <tr> <th>things</th> <th>delete</th> <th>finsih</th> </tr> </thead> <tbody> <tr v-for="item in list" :key="item._id"> <td :class="[item.complete?'active':'']" v-text="item.name"></td> <td> <a href="" @click.prevent="del(item._id)">刪除</a> </td> <td> <a href="" @click.prevent="complete(item._id,item.complete)" >{{item.complete?'取消完成':'已完成'}}</a > </td> </tr> </tbody> </table></div>有了基本的界面,我們就可以借助云開發(fā),來實現(xiàn)動態(tài)的部分。

2.開通云開發(fā)環(huán)境

想要使用云開發(fā),我們需要先開通云開發(fā)環(huán)境,來存儲我們的數(shù)據(jù)。打開騰訊云控制臺,點擊云開發(fā)產(chǎn)品頁https://cloud.tencent.com/product/tcb 的右上角,在云產(chǎn)品一欄中找到:云開發(fā)->云開發(fā)cloudbase,然后點擊新建環(huán)境,填一些基本信息,最后點擊立即開通:

等待環(huán)境初始化完成后就可以點擊進入環(huán)境,你會看到如下界面:

本次實踐中,我們主要使用界面左側(cè)的數(shù)據(jù)庫功能,點擊數(shù)據(jù)庫并創(chuàng)建所要使用的 todo 集合,并根據(jù)你的需要設置權(quán)限,這里我們使用默認的「僅創(chuàng)建者及管理員可讀寫」。

至此,環(huán)境開通完成,下面開始介紹云開發(fā)的配置代碼。

3.配置 web 應用

要想在 web 應用中使用云數(shù)據(jù)庫,首先應該進行一些基本的配置,先要引入云開發(fā)的 JS-SDK ,在你的項目中添加如下代碼來引入 JS-SDK:

<script src="https://imgcache.qq.com/qcloud/tcbjs/1.3.5/tcb.js"></script>然后,編寫代碼初始化云開發(fā)環(huán)境:

const app = tcb.init({ env: "你的環(huán)境id",});app.auth().signInAnonymously().then(() => { // alert("登錄云開發(fā)成功!");});const db = app.database();const collection = db.collection("todo");這些代碼就可以將網(wǎng)頁應用和你的云開發(fā)環(huán)境關(guān)聯(lián)起來,并指定了我們需要使用的集合。接下來,就可以配合 Vue 的生命周期來加載數(shù)據(jù)。

4.初始化:從數(shù)據(jù)庫中抓取數(shù)據(jù)

mounted() { console.log("mounted"); collection.get().then((res) => { // console.log(res) this.list = res.data; });},上面這段代碼是在頁面加載完成時獲取數(shù)據(jù)庫中所有數(shù)據(jù),然后用 vue 的數(shù)據(jù)綁定渲染到頁面上。這樣,我們的 H5 就可以將數(shù)據(jù)庫的內(nèi)容渲染到網(wǎng)頁中。

5.查詢:從數(shù)據(jù)庫中提取數(shù)據(jù)

除了顯示數(shù)據(jù)庫數(shù)據(jù),還可以根據(jù)你的需要,來查詢特定的數(shù)據(jù),舉個例子:

search(keywords) { console.log(keywords); collection .where({ name: { $regex: keywords + ".*", }, }) .get() .then((res) => { console.log(res); this.list = res.data; });},上面的代碼實現(xiàn)了從數(shù)據(jù)庫中通過關(guān)鍵字查詢 name 這個屬性的值,來改變要渲染的數(shù)據(jù),這里用到了正則匹配來進行模糊查詢,你也可以根據(jù)你的需要,實現(xiàn)特定的查詢需求。

6.新增:上傳數(shù)據(jù)

在 H5 應用中,我們經(jīng)常要提交數(shù)據(jù)到云端,而使用云開發(fā),只需一行代碼即可實現(xiàn)數(shù)據(jù)查詢。

add() { collection .add({ name: this.name, complete: false, }) .then((res) => { this.name = ""; }); collection.get().then((res) => { this.list = res.data; this.search("") });},這段代碼實現(xiàn)了向數(shù)據(jù)庫中添加一條數(shù)據(jù),在添加的字段中:名字從用戶輸入中獲取,完成情況默認為未完成,并且在添加完成后重新獲取數(shù)據(jù),并調(diào)用 search 方法來讓頁面的數(shù)據(jù)實時變化。此外,需要注意的是,進行添加操作云數(shù)據(jù)庫還會默認添加 _id 屬性。

7.刪除: 移除無用的數(shù)據(jù)

del(id) { console.log(id); collection .doc(id) .remove() .then((res) => { console.log(res); }); collection.get().then((res) => { this.list = res.data; this.search("") });},上面的代碼是實現(xiàn)了根據(jù)數(shù)據(jù)的_id 通過傳參的方式從數(shù)據(jù)庫中刪除一條數(shù)據(jù),并即時的展現(xiàn)在頁面上。

8.更新:調(diào)整數(shù)據(jù)狀態(tài)

在數(shù)據(jù)更新的情況下,你也可以在云開發(fā)中使用一行代碼來完成數(shù)據(jù)狀態(tài)的變更。

complete(id,complete){ console.log(id) comolete = !complete collection .doc(id) .update({ complete:comolete }) collection.get().then((res) => { this.list = res.data; this.search("")});}你可以通過點擊來改變單條數(shù)據(jù)的 complete 屬性值來改變完成狀態(tài)。

9.部署該應用

在完成了應用的開發(fā)以后,我們可以順便用云開發(fā)提供的靜態(tài)托管能力部署應用

登錄云開發(fā)控制臺,點擊左側(cè)的靜態(tài)網(wǎng)站托管,并點擊開始使用,然后等待初始化完成。

初始化完成后,我們將剛剛所寫的代碼和所需要的依賴文件上傳到靜態(tài)網(wǎng)站托管:

然后,點擊上面的基礎配置就可以看見域名信息處有一個默認域名,點擊該默認域名,就可以訪問到剛剛所寫的應用了。

除了使用上面的方式部署外,還有一種更簡單的,那就是使用云開發(fā)提供的 CLI 工具,需要用 npm 安裝云開發(fā) CLI。

關(guān)于云開發(fā) CLI 的安裝,你可以查看官方的文檔:

https://cloud.tencent.com/document/product/1209/42664

當你安裝好了這個工具并進行了登錄,就可以通過命令行的形式來部署應用了,只需要執(zhí)行一條命令(前提是在云開發(fā)控制臺開通了靜態(tài)網(wǎng)站服務):tcb hosting:deploy ./todo / -e envId

todo是項目的目錄名,/代表云端文件根路徑
最后會出現(xiàn)下面這樣的結(jié)果:

到此就部署完成了,如果想要查看靜態(tài)網(wǎng)站的狀態(tài),訪問域名等信息,可以執(zhí)行tcb hosting:detail -e envId







總結(jié)

在上面的內(nèi)容中,我們通過引入云開發(fā)的SDK、初始化項目和編寫數(shù)據(jù)代碼,僅需幾步就可以讓一個靜態(tài)的 H5 “動”起來啦,快去動手試試吧!本文完整項目的代碼:https://github.com/1793523411/todo-web-cloudbase

對了,現(xiàn)在云開發(fā)還有搞靜態(tài)托管活動:

面向已有站長的:https://cloud.tencent.com/act/pro/wh99

面向新用戶免費體驗的:https://cloud.tencent.com/act/pro/hosting01

?

【產(chǎn)品介紹】云開發(fā)(CloudBase)是云端一體化的后端云服務,采用 serverless 架構(gòu),免去了移動應用構(gòu)建中繁瑣的服務器搭建和運維。同時云開發(fā)提供的靜態(tài)托管、命令行工具(CLI)、Flutter SDK 等能力極大的降低了應用開發(fā)的門檻。使用云開發(fā)可以快速構(gòu)建完整的小程序/小游戲、H5、Web、移動 App 等應用。產(chǎn)品文檔:https://cloud.tencent.com/product/tcb

技術(shù)文檔:https://cloudbase.net

技術(shù)交流加Q群:601134960

最新資訊關(guān)注微信公眾號【騰訊云云開發(fā)】

更多精彩

掃描二維碼了解更多




關(guān)鍵詞:靜態(tài),數(shù)據(jù),借助

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點擊下載Chrome瀏覽器
關(guān)閉