W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
在小程序端開始使用云能力前,需先調(diào)用 wx.cloud.init 方法完成云能力初始化(注意小程序需先開通云服務(wù),開通的方法是點(diǎn)擊工具欄左上角的 “控制臺(tái)” 按鈕)。因此,如果要使用云能力,通常我們在小程序初始化時(shí)即調(diào)用這個(gè)方法。
wx.cloud.init 方法的定義如下:
function init(options): void
wx.cloud.init 方法接受一個(gè)可選的 options 參數(shù),方法沒有返回值。
options 參數(shù)定義了云開發(fā)的默認(rèn)配置,該配置會(huì)作為之后調(diào)用其他所有云 API 的默認(rèn)配置,options 提供的可選配置如下:
字段 | 數(shù)據(jù)類型 | 必填 | 默認(rèn)值 | 說明 |
---|---|---|---|---|
env | string | object | 否 | default | 默認(rèn)環(huán)境配置,傳入字符串形式的環(huán)境 ID 可以指定所有服務(wù)的默認(rèn)環(huán)境,傳入對(duì)象可以分別指定各個(gè)服務(wù)的默認(rèn)環(huán)境,見下方詳細(xì)定義 |
traceUser | boolean | 否 | false | 是否在將用戶訪問記錄到用戶管理中,在控制臺(tái)中可見 |
當(dāng) env 傳入?yún)?shù)為對(duì)象時(shí),可以指定各個(gè)服務(wù)的默認(rèn)環(huán)境,可選字段如下:
字段 | 數(shù)據(jù)類型 | 必填 | 默認(rèn)值 | 說明 |
---|---|---|---|---|
database | string | 否 | default | 數(shù)據(jù)庫 API 默認(rèn)環(huán)境配置 |
storage | string | 否 | default | 存儲(chǔ) API 默認(rèn)環(huán)境配置 |
functions | string | 否 | default | 云函數(shù) API 默認(rèn)環(huán)境配置 |
示例代碼:
wx.cloud.init({
env: 'test-x1dzi'
})
cloud.init 方法的定義如下:
function init(options): void
cloud.init 方法接受一個(gè)可選的 options 參數(shù),方法沒有返回值。方法只能調(diào)用一次,多次調(diào)用時(shí)只有第一次調(diào)用生效。
options 參數(shù)定義了云開發(fā)的默認(rèn)配置,該配置會(huì)作為之后調(diào)用其他所有云 API 的默認(rèn)配置,options 提供的可選配置如下:
字段 | 數(shù)據(jù)類型 | 必填 | 默認(rèn)值 | 說明 |
---|---|---|---|---|
env | string | object | 是 | 后續(xù) API 調(diào)用的默認(rèn)環(huán)境配置,傳入字符串形式的環(huán)境 ID 或傳入 cloud.DYNAMIC_CURRENT_ENV 可以指定所有服務(wù)的默認(rèn)環(huán)境,傳入對(duì)象可以分別指定各個(gè)服務(wù)的默認(rèn)環(huán)境,見下方詳細(xì)定義 |
當(dāng) env 傳入?yún)?shù)為對(duì)象時(shí),可以指定各個(gè)服務(wù)的默認(rèn)環(huán)境,可選字段如下:
字段 | 數(shù)據(jù)類型 | 必填 | 默認(rèn)值 | 說明 |
---|---|---|---|---|
database | string | 否 | default | 數(shù)據(jù)庫 API 默認(rèn)環(huán)境配置 |
storage | string | 否 | default | 存儲(chǔ) API 默認(rèn)環(huán)境配置 |
functions | string | 否 | default | 云函數(shù) API 默認(rèn)環(huán)境配置 |
default | string | 否 | 空 | 缺省時(shí) API 默認(rèn)環(huán)境配置 |
注意:env 設(shè)置只會(huì)決定本次云函數(shù) API 調(diào)用的云環(huán)境,并不會(huì)決定接下來其他被調(diào)云函數(shù)中的 API 調(diào)用的環(huán)境,在其他被調(diào)云函數(shù)中需要通過 init 方法重新設(shè)置環(huán)境。
建議:在設(shè)置 env 時(shí)指定 cloud.DYNAMIC_CURRENT_ENV 常量 (需 SDK v1.1.0 或以上) ,這樣云函數(shù)內(nèi)發(fā)起數(shù)據(jù)庫請求、存儲(chǔ)請求或調(diào)用其他云函數(shù)的時(shí)候,默認(rèn)請求的云環(huán)境就是云函數(shù)當(dāng)前所在的環(huán)境:
const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
})
exports.main = async (event) => {
const { ENV, OPENID, APPID } = cloud.getWXContext()
// 如果云函數(shù)所在環(huán)境為 abc,則下面的調(diào)用就會(huì)請求到 abc 環(huán)境的數(shù)據(jù)庫
const dbResult = await cloud.database().collection('test').get()
return {
dbResult,
ENV,
OPENID,
APPID,
}
}
注:上述代碼中的 env 參數(shù)的值不能用 cloud.getWXContext().ENV 替代,因?yàn)樵?nbsp;exports.main 外部調(diào)用的 getWXContext() 無法獲取到當(dāng)前環(huán)境
云開發(fā)的 API 風(fēng)格與框架組件和 API 風(fēng)格一致,但同時(shí)支持回調(diào)風(fēng)格和Promise風(fēng)格。在傳入 API 的 Object 參數(shù)中,如果傳入了 success、fail、complete 字段,則我們認(rèn)為是采用回調(diào)風(fēng)格,API 方法調(diào)用不返回 Promise。如果傳入 API 的 Object 參數(shù)中 success、fail、complete 這三個(gè)字段都不存在,則我們認(rèn)為是采用Promise風(fēng)格,API 方法調(diào)用返回一個(gè) Promise,Promise resolve 的結(jié)果同傳入 success 回調(diào)的參數(shù),reject 的結(jié)果同傳入 fail 的參數(shù)。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: