1. 程式人生 > >微信小程式之雲函式的使用

微信小程式之雲函式的使用

在之前的幾篇文章裡面介紹了下雲開發中的雲資料庫、雲端儲存,接下來的這篇文章主要介紹下雲函式,介紹這個雲函式的主要用途是因為要解決從雲資料庫查詢資料最多顯示20條的限制,而使用到雲函式可以解決這種限制,使用雲函式可以將最大限制改為100條,繼而達到我們需要的效果。

【步驟】

簡單說一下我們如何建立雲函式,如下所示

>我們右擊cloudfunctions出現如下圖所示,點選新建Node.js函式即可

>建立好雲函式後我們需要填寫好我們需要的邏輯,以我得寫的這個小專案為例,我需要獲取超過20條記錄的評論,那麼我需要寫一個函式來實現如下所示

// 雲函式入口檔案
const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database()
// 雲函式入口函式
exports.main = async (event, context) => {
  var videoId = event.videoId ? event.videoId : null;
  try {
    return await db.collection('comments').where(videoId).get()
  } catch (e) {
    console.error(e)
  }
}

這個雲函式的作用就是通過videoId來顯示當前視訊下的評論數量。

>編寫好了當前程式碼那麼我們需要將這個函式上傳具體步驟如下

右擊雲函式然後出現下圖所示,然後我們點選上傳部署:所有檔案,如果上傳失敗那麼我們店家上傳並部署:雲端安裝依賴

>上傳完畢後我們點選雲開發然後進入雲函式進行測試如下所示

進入之後我們執行測試出現如下結果那麼久說明我們的函式沒問題

PS:我們這裡要強調下每修改一次雲函式必須要上傳更新下

竟然寫了個函式那麼我們怎麼在介面中呼叫這個雲函式呢?下面通過我的案例來為大家展示下

 //查詢所有評論
  showAllComment() {
    /*const db = wx.cloud.database()
    //接收從welcome.js傳遞過來的id
    var videoId = getApp().requestDetailid;
    db.collection("comments").where({
      videoId: videoId
    }).get({
      success: res => {
        this.setData({
          comments: res.data,
        })
      },
      fail: err => {
        wx.showToast({
          icon: "none",
          title: '查詢評論失敗',
        })
      }
    })*/
    //這裡是使用雲函式
    var videoId = getApp().requestDetailid;
    wx.cloud.callFunction({
      name: 'show',
      data: {
        videoId: {videoId}
      }
    }).then(res => {
      this.setData({
        comments: res.result.data,
      })
    })



  },

在上面程式碼我將我們的雲函式的用法在這裡呼叫了,有什麼不懂的我在裡面進行了說明,所以基本上雲函式的基本使用就是你這個樣子。