<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Serverless 開發(fā)實(shí)戰(zhàn)之 Todo 案例

          共 1787字,需瀏覽 4分鐘

           ·

          2021-04-09 02:53

          前面將云函數(shù)與 Express 進(jìn)行整合后,接下來(lái)我們通過案例的方式繼續(xù)學(xué)習(xí)云函數(shù)的使用開發(fā)。這里我們選擇實(shí)現(xiàn)一個(gè) TodoList 案例的后端 API 接口,這個(gè)案例具備最基礎(chǔ)的增刪改查等基礎(chǔ)功能。


          添加業(yè)務(wù)路由


          首先,我們將上面的代碼進(jìn)行修改,將 TodoList 的業(yè)務(wù)處理分發(fā)到不同的路由請(qǐng)求。



          代碼實(shí)現(xiàn)之后,在本地請(qǐng)求 / 根路徑和 todo 路徑,測(cè)試完成后,部署云函數(shù),然后再進(jìn)行對(duì)應(yīng)的測(cè)試。


          基礎(chǔ)的業(yè)務(wù)路由配置好之后,我們回到業(yè)務(wù)代碼的編寫中,在 TodoList 案例中,我先來(lái)實(shí)現(xiàn)增刪改查的相關(guān)操作。



          使用 postman 進(jìn)行本地及云函數(shù)的測(cè)試。


          根據(jù)我們 Todo 的業(yè)務(wù)邏輯,肯定是先需要往里面添加數(shù)據(jù)的,有了數(shù)據(jù),才能進(jìn)行后面的增刪改。問題在于我們添加的數(shù)據(jù)存放在什么地方?當(dāng)然是存數(shù)據(jù)庫(kù)了,巧了,cloudbase 提供了云數(shù)據(jù)庫(kù),我們直接用就行了,那么具體怎么用呢?

           

          云數(shù)據(jù)連接


          在使用云數(shù)據(jù)庫(kù)之前,我們需要先理清楚它的一些基本概念。騰訊云給我們提供的云數(shù)據(jù)庫(kù)是一種文檔型數(shù)據(jù)庫(kù),提供基礎(chǔ)讀寫、聚合搜索、數(shù)據(jù)庫(kù)事務(wù)實(shí)時(shí)推送等功能。數(shù)據(jù)庫(kù)中有數(shù)據(jù)庫(kù)實(shí)例集合、記錄這三個(gè)基本概念,每個(gè)云開發(fā)環(huán)境下有且只有一個(gè)數(shù)據(jù)庫(kù)實(shí)例。數(shù)據(jù)庫(kù)實(shí)例中,可以創(chuàng)建多個(gè)集合,你可以將集合理解為一個(gè)文本文件,每個(gè)文件中可以存放多個(gè)類似 JSON 格式的對(duì)象,這樣的對(duì)象就被稱為記錄。


           

          那么如何使用呢?我們打開官方手冊(cè)看一下:https://docs.cloudbase.net/database/introduce.html


          需要注意的是,我們需要下載安裝 node-sdk, npm install cloudbase/node-sdk,通過服務(wù)端調(diào)用時(shí),需要在 SDK 初始化參數(shù)中,填入騰訊云密鑰(SecretID 和 SecretKey),手冊(cè)上并沒有說(shuō),但是一定注意,除了騰訊云密鑰還需要 env,也就是云環(huán)境 ID。



          配置好基本信息之后,我們就可以連接數(shù)據(jù)庫(kù),執(zhí)行對(duì)應(yīng)操作了。但是,數(shù)據(jù)庫(kù)的操作以集合為單位的,所以,在操作之前需要先創(chuàng)建集合,用 db.collection 獲取集合引用后,再執(zhí)行對(duì)應(yīng)操作就可以了。



          最后,我們將數(shù)據(jù)庫(kù)的連接進(jìn)行封裝,創(chuàng)建 config/db.js。



          封裝好之后,我們只需要在 todo.js 中,引入 db 文件即可。

           

          增刪改查操作


          • 數(shù)據(jù)庫(kù)設(shè)計(jì)


          字段名

          值類型

          長(zhǎng)度

          備注

          userid

          unmber

          11

          用戶ID

          title

          string

          50

          任務(wù)標(biāo)題

          describe

          string

          200

          任務(wù)描述

          createtime

          string

          12

          任務(wù)創(chuàng)建時(shí)間

          remindtime

          string

          12

          任務(wù)提醒時(shí)間

          done

          Boole

          1

          是否以完成

          files

          string

          50

          任務(wù)附件

           

          • 添加任務(wù)



          • 獲取任務(wù)



          • 修改任務(wù)



          • 刪除任務(wù)



          客戶端接口調(diào)用


          這里我們選擇使用普通的 Vue 框架作為客戶端,按照傳統(tǒng)的方式創(chuàng)建,安裝好 Element-ui 及 Axios 請(qǐng)求庫(kù),就可以直接向云函數(shù)發(fā)送請(qǐng)求獲取數(shù)據(jù)了。


          我這里簡(jiǎn)單地寫了一個(gè)請(qǐng)求的示例,發(fā)送請(qǐng)求后,渲染到頁(yè)面中,后續(xù)的工作也很簡(jiǎn)單,就是實(shí)現(xiàn)其他的接口功能就行了。一切看起來(lái)都是那么美好,但問題就在于它竟然能正常顯示,你就沒有那么一絲絲的不安嗎?當(dāng)我查看完云服務(wù)器的響應(yīng)頭之后,我才放心下來(lái),你知道發(fā)生什么了嗎?



          沒錯(cuò)就是因?yàn)?/span>跨域了,一開始我以為頁(yè)面是不可能拿到的數(shù)據(jù)的,但是,我看到了下面的響應(yīng)頭,還是有些意外的。



          這只是一個(gè)小插曲,我相信你也能看明白,我這里就不細(xì)說(shuō)了,但是代碼,我卻不想繼續(xù)寫了,因?yàn)椋@樣的開發(fā)方式,非常不 Serverless。


          推薦閱讀:

          網(wǎng)頁(yè)如何喚起應(yīng)用程序?

          騰訊云 Serverless 實(shí)戰(zhàn)演練

          愚人節(jié)笑話:Serverless 就是無(wú)服務(wù)

          后端架構(gòu)的演進(jìn)之路:Serverless 的誕生

          從理解 React 框架開始,開啟金三銀四面試之旅。

          尤雨溪 3 天 10 更的 Vite 究竟有什么魔力?


          點(diǎn)個(gè)“在看”和“”吧,

          畢竟我是要成為前端網(wǎng)紅的人。

          瀏覽 36
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  玖玖成人电影 | 国产淫秽视频免费 | 成人污污污www免费网站 | 免费看日本mv大片网站 | 国产一级a毛一级a做免费图 |