国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

微信小游戲云開發(fā)——云函數(shù)創(chuàng)建、應(yīng)用、相關(guān)問題

這篇具有很好參考價(jià)值的文章主要介紹了微信小游戲云開發(fā)——云函數(shù)創(chuàng)建、應(yīng)用、相關(guān)問題。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

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)目

微信小游戲云開發(fā)——云函數(shù)創(chuàng)建、應(yīng)用、相關(guān)問題

如果AppID已經(jīng)注冊(cè)云開發(fā),則微信開發(fā)者工具自動(dòng)啟用,無須手動(dòng)點(diǎn)擊,如上圖所示?

2、項(xiàng)目首頁?

點(diǎn)擊確定后,進(jìn)入項(xiàng)目首頁展示

微信小游戲云開發(fā)——云函數(shù)創(chuàng)建、應(yīng)用、相關(guān)問題

3、云開發(fā)控制臺(tái)?

點(diǎn)擊“云開發(fā)”按紐,進(jìn)入云開發(fā)控制臺(tái)?微信小游戲云開發(fā)——云函數(shù)創(chuàng)建、應(yīng)用、相關(guān)問題因之前創(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)入

微信小游戲云開發(fā)——云函數(shù)創(chuàng)建、應(yīng)用、相關(guā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)的開始。高手/大佬可以無視

微信小游戲云開發(fā)——云函數(shù)創(chuàng)建、應(yīng)用、相關(guān)問題

?原因:因后續(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è)的,一概沒有。如下圖:

微信小游戲云開發(fā)——云函數(shù)創(chuàng)建、應(yīng)用、相關(guān)問題

步驟3:配置project.config.json

點(diǎn)擊此文件,在右側(cè)面板顯示的內(nèi)容中找到最后面一行,如下圖顯示:

微信小游戲云開發(fā)——云函數(shù)創(chuàng)建、應(yīng)用、相關(guān)問題

?"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ù),如下圖:

?微信小游戲云開發(fā)——云函數(shù)創(chuàng)建、應(yīng)用、相關(guān)問題

注意:此時(shí)參數(shù)添加了,但沒有保存,是不起作用的,ctrl+s保存后,會(huì)發(fā)生一些變化,如圖?

微信小游戲云開發(fā)——云函數(shù)創(chuàng)建、應(yīng)用、相關(guān)問題

?至此,云函數(shù)文件夾創(chuàng)建與相關(guān)配置完成。

這只中創(chuàng)建云函數(shù)的第一步

步驟4:新建云函數(shù)

此時(shí)右鍵我們創(chuàng)建的文件夾,就會(huì)顯示云函數(shù)相關(guān)的內(nèi)容選項(xiàng)

微信小游戲云開發(fā)——云函數(shù)創(chuàng)建、應(yīng)用、相關(guān)問題

?點(diǎn)擊新建Node.js云函數(shù),輸入自定義函數(shù)名稱,回車。

微信小游戲云開發(fā)——云函數(shù)創(chuàng)建、應(yīng)用、相關(guān)問題

創(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)。

微信小游戲云開發(fā)——云函數(shù)創(chuàng)建、應(yīng)用、相關(guān)問題

?packgage.json文件內(nèi)容展示:

微信小游戲云開發(fā)——云函數(shù)創(chuàng)建、應(yīng)用、相關(guān)問題

如果你是業(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ù)名稱

微信小游戲云開發(fā)——云函數(shù)創(chuàng)建、應(yīng)用、相關(guān)問題

至此,云函數(shù)才算正式創(chuàng)建成功。只不過入口文件index.js中只有示例代碼,可能沒有我們想要的業(yè)務(wù)邏輯而已,后續(xù)就是自己編寫相關(guān)業(yè)務(wù)邏輯。哎,還得寫JS代碼。 -_-

微信小游戲云開發(fā)——云函數(shù)創(chuàng)建、應(yīng)用、相關(guān)問題

?二、編寫云函數(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ì)兒,即可完成。

微信小游戲云開發(fā)——云函數(shù)創(chuàng)建、應(yīng)用、相關(guān)問題

點(diǎn)擊“上傳并部署:所有文件”時(shí),可能會(huì)彈出提示:

微信小游戲云開發(fā)——云函數(shù)創(chuàng)建、應(yīng)用、相關(guān)問題

點(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)建集合,如圖:

微信小游戲云開發(fā)——云函數(shù)創(chuàng)建、應(yīng)用、相關(guān)問題

如果數(shù)據(jù)庫中沒有"UserData"這個(gè)集合,會(huì)報(bào)錯(cuò),如圖所示:

微信小游戲云開發(fā)——云函數(shù)創(chuàng)建、應(yīng)用、相關(guān)問題

注意:如果提示不能創(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)試,如圖:

微信小游戲云開發(fā)——云函數(shù)創(chuàng)建、應(yīng)用、相關(guān)問題

提示安裝Node模塊,確定即可。

微信小游戲云開發(fā)——云函數(shù)創(chuàng)建、應(yīng)用、相關(guān)問題

步驟3:本地調(diào)試

進(jìn)入本地調(diào)試首頁,如圖:

微信小游戲云開發(fā)——云函數(shù)創(chuàng)建、應(yīng)用、相關(guān)問題

?我們選擇手動(dòng)觸發(fā),切換到Console控制臺(tái)窗口,便于查看相關(guān)調(diào)試信息。如圖:

微信小游戲云開發(fā)——云函數(shù)創(chuàng)建、應(yīng)用、相關(guān)問題

?圖中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ā)——云函數(shù)創(chuàng)建、應(yīng)用、相關(guān)問題

云開發(fā)控制臺(tái)的數(shù)據(jù)庫查看,如下圖:

微信小游戲云開發(fā)——云函數(shù)創(chuàng)建、應(yīng)用、相關(guān)問題

?從圖中可以看出,數(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ò)誤:

微信小游戲云開發(fā)——云函數(shù)創(chuàng)建、應(yīng)用、相關(guān)問題

環(huán)境ID:在云開發(fā)控制臺(tái)的概覽中可查看到

微信小游戲云開發(fā)——云函數(shù)創(chuàng)建、應(yīng)用、相關(guān)問題

創(chuàng)建 SaveUserData.cs 的 C# 腳本,腳本中聲明一個(gè)函數(shù),此處為 UploadUserData,在此函數(shù)中添加相關(guān)云函數(shù)腳本,如圖中所示。圖中 name = "SetUserData",字符串為云函數(shù)名稱,注意不要填錯(cuò),否則報(bào)錯(cuò)。此示例,基本按照官方 Cloud.cs 文件中的示例演變,大同小異,根據(jù)自身實(shí)際情況修改即可。

官方示例:

微信小游戲云開發(fā)——云函數(shù)創(chuàng)建、應(yīng)用、相關(guān)問題

問題1:不能在Unity編輯器中調(diào)用,官方專員解釋:?

微信小游戲云開發(fā)——云函數(shù)創(chuàng)建、應(yīng)用、相關(guān)問題

?如果在Unity編輯器中調(diào)用,會(huì)報(bào)如下錯(cuò)誤:

微信小游戲云開發(fā)——云函數(shù)創(chuàng)建、應(yīng)用、相關(guān)問題

?所以我們只能將小游戲轉(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ò)誤:

微信小游戲云開發(fā)——云函數(shù)創(chuàng)建、應(yīng)用、相關(guān)問題

原因:沒有相關(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ā)——云函數(shù)創(chuàng)建、應(yīng)用、相關(guān)問題

在“云開發(fā)控制臺(tái)”數(shù)據(jù)庫中查看,已成功添加了一條數(shù)據(jù)。如下圖:

?微信小游戲云開發(fā)——云函數(shù)創(chuàng)建、應(yīng)用、相關(guān)問題文章來源地址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)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【cocos 2d微信小游戲開發(fā)教程】基礎(chǔ)使用筆記分享(一)

    【cocos 2d微信小游戲開發(fā)教程】基礎(chǔ)使用筆記分享(一)

    開發(fā)文檔地址 https://docs.cocos.com/creator/2.4/manual/zh/ 掛載腳步 右鍵新建腳本 腳本解釋 把類名和腳本名改為一致 允許其他腳本調(diào)用 text優(yōu)先使用面板的值,property去掉則不在面板上顯示 打印輸出 生命周期函數(shù)解釋 節(jié)點(diǎn)的使用 預(yù)設(shè)體 拖拽新增預(yù)設(shè)體 用代碼渲染預(yù)設(shè)體 腳本內(nèi)容

    2024年02月07日
    瀏覽(20)
  • 【C++】做一個(gè)飛機(jī)空戰(zhàn)小游戲(七)——兩組按鍵同時(shí)檢測(cè)平滑移動(dòng)(GetAsyncKeyState()函數(shù)應(yīng)用)

    ?[導(dǎo)讀]本系列博文內(nèi)容鏈接如下: 【C++】做一個(gè)飛機(jī)空戰(zhàn)小游戲(一)——使用getch()函數(shù)獲得鍵盤碼值 【C++】做一個(gè)飛機(jī)空戰(zhàn)小游戲(二)——利用getch()函數(shù)實(shí)現(xiàn)鍵盤控制單個(gè)字符移動(dòng) 【C++】做一個(gè)飛機(jī)空戰(zhàn)小游戲(三)——getch()函數(shù)控制任意造型飛機(jī)圖標(biāo)移動(dòng) 【C++】做一個(gè)飛

    2024年02月13日
    瀏覽(23)
  • 微信小游戲開發(fā)之坦克大戰(zhàn)(比羊了個(gè)羊還好玩系列)

    微信小游戲開發(fā)之坦克大戰(zhàn)(比羊了個(gè)羊還好玩系列)

    現(xiàn)在很多公司開始使用游戲化的方式去做產(chǎn)品,讓產(chǎn)品呈現(xiàn)給用戶時(shí)更好玩,以達(dá)到增加用戶粘性,提升DAU的效果。 同時(shí)隨著硬件與底層系統(tǒng)的發(fā)展,用戶的終端對(duì)動(dòng)畫的表現(xiàn)能力也越來越強(qiáng),很多APP以引導(dǎo)用戶互動(dòng)的方式開發(fā)業(yè)務(wù),所以開發(fā)互動(dòng)類業(yè)務(wù)將成為前端工程師的

    2024年02月09日
    瀏覽(20)
  • 微信小游戲個(gè)人開發(fā)者上架:從注冊(cè)到上線的詳細(xì)步驟

    微信小游戲個(gè)人開發(fā)者上架:從注冊(cè)到上線的詳細(xì)步驟

    本文將詳細(xì)介紹個(gè)人開發(fā)者注冊(cè)微信小程序的步驟,包括賬號(hào)注冊(cè)、開發(fā)環(huán)境準(zhǔn)備、代碼編寫、上傳審核等。同時(shí),還將分享一些小技巧和注意事項(xiàng),幫助開發(fā)者順利地將自己的小程序上線。 在微信公眾平臺(tái),點(diǎn)擊右上角立即注冊(cè): 點(diǎn)擊小程序: 填寫郵箱和密碼:需要填寫

    2024年02月16日
    瀏覽(121)
  • 【小程序】快來開發(fā)你的第一個(gè)微信小游戲(詳細(xì)流程)

    【小程序】快來開發(fā)你的第一個(gè)微信小游戲(詳細(xì)流程)

    ?? 作者:伯子南 ?? 堅(jiān)信: 好記性不如亂筆頭,獨(dú)樂樂不如眾樂樂 ?? 個(gè)人主頁:https://blog.csdn.net/qq_34577234?spm=1010.2135.3001.5421 ???? 覺得博主文章不錯(cuò)的話,請(qǐng)三連支持一下!如有需要我的支持,請(qǐng)私信! 本文通過開發(fā)一個(gè)簡(jiǎn)單的小游戲,來帶領(lǐng)大家實(shí)操一下開發(fā)小游戲

    2024年02月03日
    瀏覽(157)
  • NO.3--- 微信小程序項(xiàng)目創(chuàng)建之 “小程序”、“小游戲”、“代碼片段”、“公眾號(hào)網(wǎng)頁項(xiàng)目” 版塊的學(xué)習(xí)記錄(游客模式)

    NO.3--- 微信小程序項(xiàng)目創(chuàng)建之 “小程序”、“小游戲”、“代碼片段”、“公眾號(hào)網(wǎng)頁項(xiàng)目” 版塊的學(xué)習(xí)記錄(游客模式)

    一、微信小程序登錄界面的相關(guān)信息。 1.1、開啟軟件 打開已安裝好的微信開發(fā)者工具。 1.2、登錄界面 第一次登陸應(yīng)該是彈出一個(gè)二維碼框,如以下這樣: 1.3、登錄模式 從登陸界面可以看到有兩種登陸方式,一種是微信掃描二維碼登入,另一種是以 “游客模式” 登入。我

    2024年02月02日
    瀏覽(22)
  • 微信開發(fā)者工具-導(dǎo)入小程序項(xiàng)目會(huì)自動(dòng)切換到小游戲打開出錯(cuò)的解決方案

    微信開發(fā)者工具-導(dǎo)入小程序項(xiàng)目會(huì)自動(dòng)切換到小游戲打開出錯(cuò)的解決方案

    微信開發(fā)者工具導(dǎo)入小程序項(xiàng)目會(huì)自動(dòng)切換到小游戲打開出錯(cuò), 提示appid錯(cuò)誤,如下圖 錯(cuò)誤 Error: INVALID_TOKEN... 表示網(wǎng)絡(luò)已斷開, 檢查開發(fā)工具是否連接到網(wǎng)絡(luò), 或注銷重新登錄開發(fā)工具試試 如果提示缺少 game.json ,表示當(dāng)前打開的不是小游戲項(xiàng)目,要選小程序項(xiàng)目后再導(dǎo)入

    2024年02月11日
    瀏覽(101)
  • 微信3D小游戲系列一:在微信小游戲中使用threejs

    微信3D小游戲系列一:在微信小游戲中使用threejs

    下載地址: https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html 微信小程序/小游戲的開發(fā)需要在專門的開發(fā)者工具中,可下載最近更新的穩(wěn)定版,若之前沒有使用過微信開發(fā)的話,進(jìn)入 小游戲開發(fā)指南填寫和提交相關(guān)的注冊(cè)信息。 如圖新建一個(gè)空目錄,選擇該目錄建立自

    2024年02月04日
    瀏覽(19)
  • 你的第一個(gè)微信小游戲,教你從0開始制作小游戲(一)

    你的第一個(gè)微信小游戲,教你從0開始制作小游戲(一)

    微信開放文檔 Cocos引擎_游戲開發(fā)引擎 發(fā)布流程就是先在cocos中編寫你的游戲,然后生成對(duì)應(yīng)的軟件包,再到微信開發(fā)者工具上傳到微信小程序平臺(tái)。 Cocos是典型的組件節(jié)點(diǎn)式的開發(fā),3.x版本之前的語言是js,ts都可以。3.x版本之后就只能用ts。 Introduction · Cocos Creator使用手冊(cè)

    2024年02月12日
    瀏覽(100)
  • Unity項(xiàng)目轉(zhuǎn)微信小游戲 微信小程序保姆教程,繁雜問題解決,及微信小游戲平臺(tái)簡(jiǎn)單性能測(cè)試

    Unity項(xiàng)目轉(zhuǎn)微信小游戲 微信小程序保姆教程,繁雜問題解決,及微信小游戲平臺(tái)簡(jiǎn)單性能測(cè)試

    借著某人需求,做了一波簡(jiǎn)單的技術(shù)調(diào)研:將Unity項(xiàng)目轉(zhuǎn)換為微信小游戲。 本文主要內(nèi)容:Unity轉(zhuǎn)換小游戲的步驟,遇到問題的解決方法,以及簡(jiǎn)單的性能測(cè)試對(duì)比 微信小游戲的限制 微信小游戲?qū)Τ绦虬w大小有嚴(yán)格限制:首包必須小于2M,首包加分包(后加載)不得大于

    2024年02月05日
    瀏覽(108)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包