QQ小程序 在云函數(shù)中使用 qq-server-sdk

2020-07-09 17:31 更新

小程序內(nèi)提供了專門用于云函數(shù)調(diào)用的 API。開發(fā)者可以在云函數(shù)內(nèi)使用 qq-server-sdk 提供的 getQQContext 方法獲取到每次調(diào)用的上下文(appid、openid 等),無需維護(hù)復(fù)雜的鑒權(quán)機(jī)制,即可獲取天然可信任的用戶登錄態(tài)(openid)。 云函數(shù)中使用 qq-server-sdk 需在對(duì)應(yīng)云函數(shù)目錄下安裝 qq-server-sdk 依賴,在創(chuàng)建云函數(shù)時(shí)會(huì)在云函數(shù)目錄下默認(rèn)新建一個(gè) package.json 。請(qǐng)注意云函數(shù)的運(yùn)行環(huán)境是 Node.js,因此在本地安裝依賴時(shí)務(wù)必保證已安裝 Node.js,同時(shí) node 和 npm 都在環(huán)境變量中。如不本地安裝依賴,可以用命令行在該目錄下運(yùn)行:

npm install --save qq-server-sdk@latest

在云函數(shù)中調(diào)用其他 API 前,同小程序端一樣,也需要執(zhí)行一次初始化方法:

const cloud = require('qq-server-sdk')
// 給定字符串環(huán)境 ID:接下來的 API 調(diào)用都將請(qǐng)求到環(huán)境 some-env-id
cloud.init({
  env: 'some-env-id'
})

qq-server-sdk 與小程序端的云 API 以同樣的風(fēng)格提供了數(shù)據(jù)庫、存儲(chǔ)和云函數(shù)的 API。下面提供幾個(gè)簡(jiǎn)單的操作數(shù)據(jù)庫、存儲(chǔ)和云函數(shù)的示例

云函數(shù)中調(diào)用數(shù)據(jù)庫

假設(shè)在數(shù)據(jù)庫中已有一個(gè) todos 集合,我們可以如下方式取得 todos 集合的數(shù)據(jù):

const cloud = require('qq-server-sdk')


cloud.init({
  env:cloud.DYNAMIC_CURRENT_ENV
})


exports.main = async (event, context) => {


  const db = cloud.database()

  
  // collection 上的 get 方法會(huì)返回一個(gè) Promise,因此云函數(shù)會(huì)在數(shù)據(jù)庫異步取完數(shù)據(jù)后返回結(jié)果
  return db.collection('todos').get()
}

在云函數(shù)中,__dirname 的值是云端云函數(shù)代碼所在目錄

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)