目錄
Unity開發(fā)微信小游戲
Unity中將游戲開發(fā)完成后,如果需要將用戶在游戲中的相關(guān)數(shù)據(jù)永久存儲(chǔ),可能就需要用到服務(wù)器,而微信開發(fā)者工具中有“云開發(fā)”選項(xiàng),此文主要講解使用云開發(fā)時(shí)遇到的一些問題及解決方法
闡述的內(nèi)容
一、云函數(shù)如何創(chuàng)建
二、編寫云函數(shù),上傳云函數(shù),調(diào)用云函數(shù)
三、調(diào)用云函數(shù)時(shí)遇到的一些問題
一.云函數(shù)如何創(chuàng)建
?1、導(dǎo)入項(xiàng)目
2、項(xiàng)目首頁?
3、云開發(fā)控制臺(tái)?
?4、云函數(shù)選項(xiàng)
?5、創(chuàng)建云函數(shù)
新人/小白創(chuàng)建方法與步驟:
?二、編寫云函數(shù),上傳云函數(shù),調(diào)用云函數(shù)
1、編寫JS代碼
2、上傳云函數(shù)
3、調(diào)用云函數(shù)
三、調(diào)用云函數(shù)時(shí)遇到的一些問題
問題1:不能在Unity中編輯器調(diào)用,官方專員解釋:?
?問題2:云開發(fā)控制臺(tái)中創(chuàng)建的云函數(shù),調(diào)用失敗。
?至此,云函數(shù)調(diào)試成功,暫告一段落。
后續(xù),可根據(jù)上述相關(guān)知識(shí)點(diǎn),安排相關(guān)業(yè)務(wù)邏輯。
原創(chuàng)不易,轉(zhuǎn)發(fā)請(qǐng)注明出處。
Unity開發(fā)微信小游戲
Unity中將游戲開發(fā)完成后,如果需要將用戶在游戲中的相關(guān)數(shù)據(jù)永久存儲(chǔ),可能就需要用到服務(wù)器,而微信開發(fā)者工具中有“云開發(fā)”選項(xiàng),此文主要講解使用云開發(fā)時(shí)遇到的一些問題及解決方法
闡述的內(nèi)容
一、云函數(shù)如何創(chuàng)建
二、編寫云函數(shù),上傳云函數(shù),調(diào)用云函數(shù)
三、調(diào)用云函數(shù)時(shí)遇到的一些問題
一.云函數(shù)如何創(chuàng)建
?1、導(dǎo)入項(xiàng)目
如果AppID已經(jīng)注冊(cè)云開發(fā),則微信開發(fā)者工具自動(dòng)啟用,無須手動(dòng)點(diǎn)擊,如上圖所示?
2、項(xiàng)目首頁?
點(diǎn)擊確定后,進(jìn)入項(xiàng)目首頁展示
3、云開發(fā)控制臺(tái)?
點(diǎn)擊“云開發(fā)”按紐,進(jìn)入云開發(fā)控制臺(tái)?因之前創(chuàng)建過云函數(shù),調(diào)用過,所以顯示了相關(guān)信息,初次進(jìn)入應(yīng)該均為0
?4、云函數(shù)選項(xiàng)
此時(shí)在控制臺(tái)中可以看到“云函數(shù)”選項(xiàng),點(diǎn)擊進(jìn)入
首次進(jìn)入或從未創(chuàng)建過,云函數(shù)列表選項(xiàng)為空,因之前我已經(jīng)創(chuàng)建,所以顯示條目中有2個(gè)云函數(shù),并顯示了一些相關(guān)信息?
?5、創(chuàng)建云函數(shù)
注意:此時(shí)會(huì)有很多人認(rèn)為(包括我),點(diǎn)擊控制臺(tái)中的“新建云函數(shù)”按紐,輸入相關(guān)信息,創(chuàng)建就行了唄,殊不知此方法是可以創(chuàng)建,但之后的配置對(duì)新人/小白(包括我)來講,將是惡夢(mèng)的開始。高手/大佬可以無視
?原因:因后續(xù)在同步云函數(shù)、下載云函數(shù)、編輯云函數(shù)時(shí)你會(huì)發(fā)現(xiàn),始終只有一個(gè)云函數(shù)的文件,即:index.js云函數(shù)入口文件,網(wǎng)上查資源時(shí),人家的說明中卻不只是這一個(gè)文件,還有諸如:package.json等文件,當(dāng)然了,這些文件可以手動(dòng)創(chuàng)建,但不懂JS語法,不懂配置,將會(huì)是一場(chǎng)惡夢(mèng)的開始,需要惡補(bǔ)javascript及其nodeJS相關(guān)知識(shí),耗費(fèi)諸多時(shí)間與精力。
新人/小白創(chuàng)建方法與步驟:
步驟1:在項(xiàng)目中新建一個(gè)文件夾,命名為cloudfunctions(名稱任意,自己知道與云函數(shù)相關(guān)即可),雖然創(chuàng)建了,但此時(shí)它只是一個(gè)文件夾而已,就這么放著是不起任何作用的。
步驟2:文件夾雖然創(chuàng)建了,但如果要在項(xiàng)目中能夠正確識(shí)別并啟用,須要找到項(xiàng)目中的project.config.json文件,在其中添加相關(guān)參數(shù)才行(查閱了諸多文檔得知),否則,在此文件夾上鼠標(biāo)右鍵,顯示的也只是普通文件夾該有的信息,和云函數(shù)相關(guān)的信息根本就沒有,網(wǎng)上查閱的資料中說什么這個(gè)那個(gè)的,一概沒有。如下圖:
步驟3:配置project.config.json
點(diǎn)擊此文件,在右側(cè)面板顯示的內(nèi)容中找到最后面一行,如下圖顯示:
?"cloudfunctionTemplateRoot":?"cloudfunctionTemplate/",注意,此行代碼僅為官方示例,不起任何作用,我們需要將其中的參數(shù)修改為我們剛剛創(chuàng)建的文件夾名稱才行?;蛘咧苯觿h除,新建一行,這里是有代碼提示的。新建時(shí),輸入cloud字樣,會(huì)有提示,選擇“cloudfunctionRoot”,后面的雙引號(hào)""中輸入斜杠 /,會(huì)顯示當(dāng)前項(xiàng)目中可用的文件夾,選擇剛剛創(chuàng)建的cloudfunctions即可。注意格式:上一行參數(shù)的結(jié)尾要有逗號(hào),最后一行不能有逗號(hào)。
?新建后的參數(shù),如下圖:
?
注意:此時(shí)參數(shù)添加了,但沒有保存,是不起作用的,ctrl+s保存后,會(huì)發(fā)生一些變化,如圖?
?至此,云函數(shù)文件夾創(chuàng)建與相關(guān)配置完成。
這只中創(chuàng)建云函數(shù)的第一步
步驟4:新建云函數(shù)
此時(shí)右鍵我們創(chuàng)建的文件夾,就會(huì)顯示云函數(shù)相關(guān)的內(nèi)容選項(xiàng)
?點(diǎn)擊新建Node.js云函數(shù),輸入自定義函數(shù)名稱,回車。
創(chuàng)建完成后,稍等片刻,微信開發(fā)者工具會(huì)自動(dòng)上傳云函數(shù)到云端。
此時(shí)創(chuàng)建出的云函數(shù),就不只是一個(gè)index.js入口文件了,相應(yīng)的配置文件config.json、package.json也會(huì)一并創(chuàng)建,云函數(shù)名稱顯示綠色圖標(biāo)。
?packgage.json文件內(nèi)容展示:
如果你是業(yè)界大佬,全然知曉如何配置此文件,那當(dāng)然無所謂,但對(duì)我等小白而言,簡(jiǎn)直就是惡夢(mèng),還是按步就班,一步一步來吧。(不懂后端,不會(huì)JS,表示很傷心 -_-)
此方法創(chuàng)建的云函數(shù),不會(huì)產(chǎn)生環(huán)境依賴問題
此時(shí),云控制臺(tái)中“云函數(shù)”選項(xiàng)中,也相應(yīng)的出現(xiàn)了我們剛剛創(chuàng)建的云函數(shù)名稱
至此,云函數(shù)才算正式創(chuàng)建成功。只不過入口文件index.js中只有示例代碼,可能沒有我們想要的業(yè)務(wù)邏輯而已,后續(xù)就是自己編寫相關(guān)業(yè)務(wù)邏輯。哎,還得寫JS代碼。 -_-
?二、編寫云函數(shù),上傳云函數(shù),調(diào)用云函數(shù)
上面我們只是將云函數(shù)創(chuàng)建出來了,其中的代碼邏輯可能不是我們想要的,所以還要修改原有JS代碼,以符合我們的業(yè)務(wù)邏輯。
1、編寫JS代碼
想要調(diào)用云函數(shù),首先我們要有寫好的JS代碼,當(dāng)然,示例代碼也能測(cè)試,只是過于簡(jiǎn)單而已。這里展示的是獲取用戶微信相關(guān)數(shù)據(jù),并存儲(chǔ)。此代碼來源于網(wǎng)絡(luò),添加了一些注釋(自己領(lǐng)悟的),僅供參考:
// 云函數(shù)入口文件
// require(string)用于引入騰訊為云開發(fā)提供的模塊"wx-server-sdk",字符串格式
const cloud = require('wx-server-sdk');
// 每個(gè)云函數(shù)的開頭寫cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }),主要用于初始化云函數(shù)環(huán)境,參數(shù):DYNAMIC_CURRENT_ENV 表示云函數(shù)所處環(huán)境,默認(rèn)始終為第一個(gè),即使刪除第一個(gè)位置上的環(huán)境,第二個(gè)環(huán)境會(huì)變?yōu)榈谝粋€(gè)。否則只能手動(dòng)修改參數(shù),例如:cloud.init({ env: 環(huán)境名稱 })
cloud.init({env:cloud.DYNAMIC_CURRENT_ENV});
//獲取數(shù)據(jù)庫的引用實(shí)例,以便操作數(shù)據(jù)
const db = cloud.database();
// 數(shù)據(jù)庫集合"UserData"為自己在云開發(fā)控制臺(tái)的數(shù)據(jù)選項(xiàng)中中自行創(chuàng)建
// 步驟:開發(fā)者工具 — 云開發(fā) — 云開發(fā)控制臺(tái) — 數(shù)據(jù)庫 — 集合名稱'+'
// 參數(shù)名稱必須,否則報(bào)錯(cuò)
const gamedata = db.collection('UserData');
// 云函數(shù)入口函數(shù)、上傳用戶存檔數(shù)據(jù)
exports.main = async (event, context) => {
const wxContext = cloud.getWXContext();// 獲取微信上下文
//使用get()方法查詢集合中用戶是否已經(jīng)保存過數(shù)據(jù),并搭配條件語句 where() 過濾想要的數(shù)據(jù)
let _isHas = await gamedata.where({
openid: wxContext.OPENID // 需要過濾查詢的內(nèi)容(微信上下文OPENID數(shù)據(jù))
}).get();
//如果按以上條件查詢結(jié)果為 0,則保存此 ID 數(shù)據(jù)
if (_isHas.data.length == 0) {
let _isAdd = null; // 聲明一個(gè)變量,用于存儲(chǔ)add()的結(jié)果
let addData = { // 聲明要添加的數(shù)據(jù)(2條)
// 存儲(chǔ)格式
openid: wxContext.OPENID, // 鍵:openid, 值:微信上下文中的OPENID數(shù)據(jù)
gamedata: event, // event.gamedata unity調(diào)用直接讀event
}
_isadd = await gamedata.add({
data: addData
})
return {
code: 0,
res: _isadd,
data: addData,
};
}
//如果有數(shù)據(jù),則更新
else {
return await gamedata.where({
openid: wxContext.OPENID
}).update({
data: {
openid: wxContext.OPENID,
gamedata: event,//event.gamedata
}
})
}
};
以上代碼,來自于網(wǎng)絡(luò),如有侵權(quán),請(qǐng)告知,本著開源精神,僅展示而已。可能邏輯不是你想的,可自行隨意修改。
以上代碼,復(fù)制、粘貼到云函數(shù)入口文件index.js中,替換掉原有代碼,即可。
2、上傳云函數(shù)
ctrl+s保存后,記得要上傳。右鍵點(diǎn)擊云函數(shù)名稱,上傳并部署,稍等一會(huì)兒,即可完成。
點(diǎn)擊“上傳并部署:所有文件”時(shí),可能會(huì)彈出提示:
點(diǎn)擊確定。然后再點(diǎn)擊“上傳并部署:云端安裝依賴(不上傳node-modules)”,稍等片刻,即可上傳成功,右側(cè)面板中有上傳提示。
?疑問:可能有人會(huì)問,我明明創(chuàng)建的云函數(shù)就一個(gè),名為Test,怎么出來3個(gè)文件。其實(shí),我們創(chuàng)建云函數(shù),只不過是創(chuàng)建了一個(gè)云函數(shù)環(huán)境而已(個(gè)人理解),在云端是要做初始化的,明面上調(diào)用時(shí)也不是調(diào)用3個(gè)文件中的任何一個(gè)。相關(guān)參數(shù)書寫只能是我們創(chuàng)建的名稱,例:? name : "Test",而不是3個(gè)文件中的任何一個(gè)。
3、調(diào)用云函數(shù)
編寫并上傳完云函數(shù)后,接下來是調(diào)用。
步驟1:上述存儲(chǔ)數(shù)據(jù)的JS代碼中,我們應(yīng)該看到,它是先訪問數(shù)據(jù)庫中的一個(gè)集合,集合名稱為“UserData”,這個(gè)是需要我們自己在“云開發(fā)控制臺(tái)”中手動(dòng)創(chuàng)建的,當(dāng)然,集合名稱任意,創(chuàng)建時(shí)是什么名稱,訪問時(shí),參數(shù)中就要如實(shí)填寫其名稱。創(chuàng)建集合,如圖:
如果數(shù)據(jù)庫中沒有"UserData"這個(gè)集合,會(huì)報(bào)錯(cuò),如圖所示:
注意:如果提示不能創(chuàng)建集合,環(huán)境不可用。關(guān)閉微信開發(fā)者工具,重新打開?;蛘咧貑㈦娔X,再重新打開工具,進(jìn)入云開發(fā)控制臺(tái),再次創(chuàng)建即可。
經(jīng)歷:本人親身經(jīng)歷,電腦突然斷電,再次打開微信開發(fā)者工具,創(chuàng)建集合,顯示不可用,無法創(chuàng)建。繼而關(guān)閉微信開發(fā)者工具,再重新打開,再次進(jìn)入云開發(fā)控制臺(tái),便可以創(chuàng)建了。
步驟2:集合創(chuàng)建完成后,下面我們開始測(cè)試云函數(shù)。
?點(diǎn)擊剛剛創(chuàng)建的云函數(shù)Test,選擇本地調(diào)試,如圖:
提示安裝Node模塊,確定即可。
步驟3:本地調(diào)試
進(jìn)入本地調(diào)試首頁,如圖:
?我們選擇手動(dòng)觸發(fā),切換到Console控制臺(tái)窗口,便于查看相關(guān)調(diào)試信息。如圖:
?圖中3:表示環(huán)境選擇,若只有一個(gè)環(huán)境,默認(rèn)或者選擇自己創(chuàng)建的環(huán)境,效果一樣,若有多個(gè)環(huán)境,需手動(dòng)選擇一個(gè)環(huán)境調(diào)試。注意:環(huán)境是在注冊(cè)云開發(fā)時(shí)一并就創(chuàng)建好的。
圖中4:請(qǐng)求參數(shù),即上傳的數(shù)據(jù),也就是將來游戲中觸發(fā)云函數(shù)后,需要上傳的游戲數(shù)據(jù)。格式為鍵值對(duì)形式。此時(shí)為調(diào)試,鍵和值可以隨意填寫,均須用引號(hào)包裹。
圖中5:“調(diào)用”,點(diǎn)擊后,控制臺(tái)會(huì)有相關(guān)信息提示,可點(diǎn)擊查看是否調(diào)用成功。
云開發(fā)控制臺(tái)的數(shù)據(jù)庫查看,如下圖:
?從圖中可以看出,數(shù)據(jù)上傳無誤,一切正常。
至此,我們創(chuàng)建的云函數(shù)調(diào)用成功。?
三、調(diào)用云函數(shù)時(shí)遇到的一些問題
上述云函數(shù)已經(jīng)創(chuàng)建成功,并且調(diào)試也是成功的,下面轉(zhuǎn)入項(xiàng)目實(shí)戰(zhàn),解決在項(xiàng)目中實(shí)際調(diào)用云函數(shù)。本人是通過Unity開發(fā)的小游戲,在Unity中使用的是C#腳本,我們用C#腳本編寫代碼調(diào)用云函數(shù)。
下面代碼示例,用于調(diào)用云函數(shù):
using UnityEngine;
using WeChatWASM;
public class SaveUserData : MonoBehaviour
{
public void UploadUserData() // 點(diǎn)擊按紐,調(diào)用此函數(shù)
{
WXBase.cloud.Init(new CallFunctionInitParam()
{
env = "自己的云函數(shù)環(huán)境ID,云開發(fā)控制臺(tái)概覽中可查看",
traceUser = false
});
WXBase.cloud.CallFunction(new CallFunctionParam()
{
name = "SetUserData",// 此處設(shè)置云函數(shù)名稱,并非JS文件名
data = JsonUtility.ToJson("score"),// 此處代表上傳的數(shù)據(jù),必須要有,空數(shù)據(jù)或沒有此行代碼,均會(huì)報(bào)錯(cuò),并且須經(jīng)過此方法序列化才行。括號(hào)中的數(shù)據(jù)可根據(jù)實(shí)際需求修改,可參照官方示例。
success = (res) =>
{
Debug.Log("success");
Debug.Log(res.result);
},
fail = (res) =>
{
Debug.Log("fail");
Debug.Log(res.errMsg);
},
complete = (res) =>
{
Debug.Log("complete");
Debug.Log(res.result);
}
});
}
}
上述代碼中,data選項(xiàng)必須存在,否則報(bào)如下錯(cuò)誤:
環(huán)境ID:在云開發(fā)控制臺(tái)的概覽中可查看到
創(chuàng)建 SaveUserData.cs 的 C# 腳本,腳本中聲明一個(gè)函數(shù),此處為 UploadUserData,在此函數(shù)中添加相關(guān)云函數(shù)腳本,如圖中所示。圖中 name = "SetUserData",字符串為云函數(shù)名稱,注意不要填錯(cuò),否則報(bào)錯(cuò)。此示例,基本按照官方 Cloud.cs 文件中的示例演變,大同小異,根據(jù)自身實(shí)際情況修改即可。
官方示例:
問題1:不能在Unity編輯器中調(diào)用,官方專員解釋:?
?如果在Unity編輯器中調(diào)用,會(huì)報(bào)如下錯(cuò)誤:
?所以我們只能將小游戲轉(zhuǎn)換后,在微信開發(fā)者工具中調(diào)用測(cè)試,或掃描二維碼,在真機(jī)上點(diǎn)擊測(cè)試。這個(gè)問題困擾了我很久,無奈,相關(guān)文檔匱乏,只能發(fā)文求助才得以明白。
?問題2:云開發(fā)控制臺(tái)中創(chuàng)建的云函數(shù),調(diào)用失敗。
下面測(cè)試的云函數(shù),是在“云開發(fā)控制臺(tái)”中創(chuàng)建的,調(diào)用時(shí)報(bào)如下錯(cuò)誤:
原因:沒有相關(guān)配置文件,云函數(shù)所引用的依賴無法安裝,所以云函數(shù)運(yùn)行失敗
很顯然,缺少wx-server-sdk依賴項(xiàng),有很多人不解,明明我們?cè)谖⑿砰_發(fā)者工具中上傳并部署環(huán)節(jié),點(diǎn)擊的就是云端安裝依賴,怎么就不行呢。這也是為什么,我在一開始就建議,創(chuàng)建云函數(shù),一定要在微信開發(fā)者工具中創(chuàng)建,而不是在“云開發(fā)控制臺(tái)”中創(chuàng)建,會(huì)者不難,難者不會(huì)。大佬可無視。
雖然我們點(diǎn)擊了云端安裝依賴,但是沒有實(shí)際的配置文件,只有一個(gè)入口文件index.js,它是不會(huì)安裝什么依賴的,一切都要照單說話,沒有package.json文件,一切都是無稽之談。
在微信開發(fā)者工具中創(chuàng)建的云函數(shù),數(shù)據(jù)上傳是成功的,如下圖:
在“云開發(fā)控制臺(tái)”數(shù)據(jù)庫中查看,已成功添加了一條數(shù)據(jù)。如下圖:文章來源:http://www.zghlxwxcb.cn/news/detail-416006.html
?文章來源地址http://www.zghlxwxcb.cn/news/detail-416006.html
?至此,云函數(shù)調(diào)試成功,暫告一段落。
后續(xù),可根據(jù)上述相關(guān)知識(shí)點(diǎn),安排相關(guān)業(yè)務(wù)邏輯。
原創(chuàng)不易,轉(zhuǎn)發(fā)請(qǐng)注明出處。
補(bǔ)充:用戶授權(quán)代碼分享
/// <summary>
/// 獲取用戶授權(quán)信息,GetSetting和GetUserInfo全局最好調(diào)用一次,頻繁調(diào)用,會(huì)被官方限制或關(guān)閉接口。
/// 原因:兩個(gè)接口均為官方限頻接口,調(diào)用次數(shù)不能大于 PV 的 2 倍 ( PV = 打開游戲的次數(shù) )
/// </summary>
private void UserAuthorize()
{
// 通過 wx.createUserInfoButton 接口創(chuàng)建透明按紐,發(fā)起授權(quán),授權(quán)成功,立即上傳數(shù)據(jù)到云端
var systemInfo = WX.GetSystemInfoSync(); // 獲取當(dāng)前手機(jī)系統(tǒng)信息
// Debug.Log("當(dāng)前手機(jī)系統(tǒng)信息:" + systemInfo);
// Debug.Log("當(dāng)前手機(jī)設(shè)備像素比:" + systemInfo.pixelRatio);
canvasWidth = (int) (systemInfo.screenWidth * systemInfo.pixelRatio); // 畫布寬度
canvasHeight = (int) (systemInfo.screenHeight * systemInfo.pixelRatio); //畫布高度
buttonHeight = (int) (canvasWidth / 1080f * 300f); // 按紐高度
_btn = WXBase.CreateUserInfoButton(0, canvasHeight - buttonHeight, canvasWidth, buttonHeight,
"zh_CN", false); // 生成按紐實(shí)例,并顯示,此時(shí)為透明按紐
print("當(dāng)前屏幕畫布寬度:" + canvasWidth);
print("當(dāng)前屏幕畫布高度:" + canvasHeight);
print("按紐高度:" + buttonHeight);
// 用戶點(diǎn)擊授權(quán)按紐回調(diào),response.errCode:0 成功,1 失敗
_btn.OnTap(response =>
{
if (response.errCode == 0) //用戶同意授權(quán) 0為成功,非零為失敗
{
_btn.Destroy(); // 同意授權(quán),銷毀授權(quán)按紐
print($"用戶同意授權(quán),按紐銷毀。response.errCode={response.errCode}");
// 用戶同意授權(quán),獲取用戶信息
WX.GetUserInfo(new GetUserInfoOption()
{
// 是否帶上登錄態(tài)信息
// 尚未過期,此時(shí)返回的數(shù)據(jù)會(huì)包含 encryptedData, iv 等敏感信息;當(dāng)withCredentials 為 false 時(shí),
// 不要求有登錄態(tài),返回的數(shù)據(jù)不包含 encryptedData, iv 等敏感信息。
// 當(dāng) withCredentials 為 true 時(shí),要求此前有調(diào)用過 wx.login 且登錄態(tài)
withCredentials = false,
lang = "zh_CN", // 顯示用戶信息的語言
success = result =>
{
// 將獲取到的結(jié)果存入自定義數(shù)據(jù)類
_authorizeData.nickname = result.userInfo.nickName;
_authorizeData.avatarUrl = result.userInfo.avatarUrl;
print(result.userInfo.nickName);
print(result.userInfo.avatarUrl);
},
fail = result => { print(result.errMsg); },
// complete = result => { print("result.errMsg); }
});
}
else // 拒絕授權(quán) 彈窗提示授權(quán)用途
{
// 通用顯示模板——模態(tài)對(duì)話框
WX.ShowModal(new ShowModalOption()
{
title = "溫馨提示",
content = "《***》是一個(gè)休閑小游戲。",
success = result =>
{
if (result.confirm) // 為 true 時(shí),表示用戶點(diǎn)擊了確定按鈕
{
print($"用戶拒絕授權(quán),WX.ShowModal——result.confirm={result.confirm},關(guān)閉彈窗。");
}
}
});
_btn.Destroy(); // 點(diǎn)擊拒絕,銷毀授權(quán)按紐
}
});
}
到了這里,關(guān)于微信小游戲云開發(fā)——云函數(shù)創(chuàng)建、應(yīng)用、相關(guān)問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!