微信雲函數開發小程序第二章【純前臺+雲存儲+雲開發構建+ivewApp組件】(增刪改查)

 

前情介紹:公司技術開發者在做項目中,簡單規劃分爲(前端開發工程師)、
(後端開發工程師)一起去開發項目,前端主要搭建(展示給用戶看到的渲染層架構)
,搭建頁面渲染框架跟結構,後端搭建服務層架構,前端需要請求後臺接口去操作數據
的增刪改查頁面邏輯渲染,雲函數開發其實就是把整體體系都連貫在一起,包括雲存儲
,數據庫,直接忽略掉X後端開發工程師,前端開發工程師可以直接從頭到尾開發項目
到部署發佈,(相當於忽略掉後端開發工程師的錢拿來買雲存儲,雲數據庫)當然小
型項目(小程序可以目前這樣,H5可以用Uniapp的DCloud)

這裏我舉兩個例子:

微信小程序雲函數開發:
雲函數即在雲端(服務器端)運行的函數。在物理設計上,一個雲函數可由多個文件組成,
佔用一定量的 CPU 內存等計算資源;各雲函數完全獨立;可分別部署在不同的地區。
開發者無需購買、搭建服務器,只需編寫函數代碼並部署到雲端即可在小程序端調用
,同時雲函數之間也可互相調用。
一個雲函數的寫法與一個在本地定義的 JavaScript 方法無異,代碼運行在雲端 
Node.js 中。當雲函數被小程序端調用時,定義的代碼會被放在 Node.js 運行環境中執行。
我們可以如在 Node.js 環境中使用 JavaScript 一樣在雲函數中進行網絡請求等操作,
而且我們還可以通過雲函數後端 SDK 搭配使用多種服務,比如使用雲函數 SDK 中提供的
數據庫和存儲 API 進行數據庫和存儲的操作,這部分可參考數據庫和存儲後端 API 文檔。
雲開發的雲函數的獨特優勢在於與微信登錄鑑權的無縫整合。當小程序端調用雲函數時,
雲函數的傳入參數中會被注入小程序端用戶的 openid,開發者無需校驗 openid 的正確性
因爲微信已經完成了這部分鑑權,開發者可以直接使用該 openid。



uniCloud 的價值
1:對於程序員,從此你又get一個新技能,用熟悉的js,輕鬆搞定前後臺整體業務。
2:對於開發商:
開發成本大幅下降。不用再僱傭php或java等服務器工程師,每年至少節省幾十萬;
你只需專注於你的業務,其他什麼服務器運維、彈性擴容、防DDoS攻擊,全都不需要操心;
如果不發佈H5版,你將不需要購買備案域名。小程序和App可以免域名使用服務器;
對於敏捷性業務,前後端分離的溝通成本實在沒有必要。可以考慮按業務負責分工,而不是按前後臺分工。

 

//如上圖所示純前臺實現增刪改查:

使用技術:1:微信小程序API,
         2:微信小程序開發語言,
         3:雲函數開發,
         4:雲存儲,
         5:雲數據庫,
         6:ivewApp框架UI

開發步驟:1>新建小程序項目(這裏記得後端服務選擇 【小程序雲開發】)
         2>簡單搭建頁面就行(簡單的增刪改查)
         3>創建雲數據庫表結構
         4>js中鏈接數據庫,請求數據庫數據

下下下====>↓↓↓↓↓

簡單介紹如何創建雲數據庫,以及雲數據庫表結構的文章在上一篇文章,小夥伴可以去了解一下,
下面來介紹一下鏈接數據庫的增刪改查
/**首先第一步聲明一個全局變量連接數據庫 */
const testDB = wx.cloud.database();

/**查詢數據庫**/
  initData() {
    /**查詢剛剛創建的表結構的數據*/
    testDB.collection('你的表結構名稱').get().then(res => {
      /**在這裏請求數據庫獲取剛剛創建的表結構數據 */
      console.log("在這裏獲取創建的數據庫中的表數據==>", res)
      this.setData({
        list: res.data
      })
    })
  },


/**添加數據**/
  AddData() {
    testDB.collection("你的表結構名稱").add({
        data: {
          /**添加的參數**/
          name: this.data.name,
          phone: this.data.phone,
          address: this.data.address
        },
        success(res) {
          console.log("添加成功==>", res);
        },
        fail(res) {
          console.log("添加失敗===>", res);
        }
      })
  },
  /**修改數據**/
   updateDate(){
     testDB.collection("你的表結構名稱").doc(通過ID去修改,你需要傳遞的ID).update({
        data: {
          name: this.data.name,
          phone: this.data.phone,
          address: this.data.address
        },
        success(res) {
          console.log("修改成功!", res);
        },
        fail(res) {
          console.log("修改失敗===>", res);
        }
      })}
/**根據ID刪除數據**/
   updateDate(){
   testDB.collection('你的表結構名稱').doc(需要傳遞ID).remove({
      success: function(res) {
        console.log("刪除數據===>", res);
      },
      fail(res) {
      console.log("修改失敗===>", res);
    }
    })
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章