| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216 |
- import gameToast from "../Network/gameToast"
- import utils from "../Network/netUtils";
- cc.Class({
- extends: cc.Component,
- properties: {
- },
- // LIFE-CYCLE CALLBACKS:
- onLoad() {
- // cc.view.enableAutoFullScreen(false);
- cc.game.addPersistRootNode(this.node);
-
- async function dappInit() {
- console.log("初始化 dappInit");
- let dapp = GlobalD.dapp = new Dapp()
- try {
- const isTestNet = window['isTestNet'];
- console.log('-----------开始初始化dapp!-----------');
- console.log('isTestNet:' + window['isTestNet']);
- console.log('host: ' + window['dappHost']);
- console.log('dappWss: ' + window['dappWss']);
- console.log('-----------以上是相关设置-----------');
- await dapp.init(isTestNet)
- console.log("用户当前钱包地址:" + dapp.getAddress()) // 初始化成功,得到用户当前钱包地址
- dapp.onAccountChanged((account) => {
- console.log('当前钱包地址发生变化', account.address) // 用户钱包地址即为登录账户,使用过程中用户可以切换钱包地址,即游戏要进行当前地址退出登录,新地址重新登录的操作
- // this.address = account.address
- //跳回login 页面
- cc.director.loadScene('Login', function () {
- //重新初始化信息
- console.log('onAccountChanged Login');
- dappInit();
- }.bind(this));
- })
- dapp.onNetworkChanged((node) => {
- console.log('当前钱包节点发生变化', node) // 切换网络,一般可以不处理,实际用户端一般不会切换
- //跳回login 页面
- cc.director.loadScene('Login', function () {
- //重新初始化信息
- console.log('onNetworkChanged Login');
- dappInit();
- }.bind(this));
- })
- // 获取用户信息
- const { err, res } = await dapp.userInfo()
- if (err === null) {
- // 返回成功,见下面消息体
- console.log(res)
- GlobalD.Dapp.UserInfo = res;
- // GameNet.getInstance().init(res.id, (data) => {
- // console.log('GameNet:' + data);
- // }, _self);
- const dappLoginData = await dapp.getLoginSign();
- GlobalD.Dapp.signData = dappLoginData;
- // console.log("dappLoginData:"+JSON.stringify(dappLoginData));
- // let _temp = {
- // "address": dappLoginData.address, // 签名地址
- // "id": dappLoginData.id, // 所属账户ID
- // "signature": dappLoginData.signature, // 签名文本
- // "timestamp": dappLoginData.timestamp // 签名时间戳,需要在1分钟内完成验签,否则本次签名失效
- // };
- // let _temp = {
- // "address": "TDw6xsVnDJWsdRBLkWAwXbv4hE2X2JQs5z", // 签名地址
- // "id": 1, // 所属账户ID
- // "signature": "0x09fda37fcad4a9bb7b72f652323881a33847be3a44e4403c7a576b3383df30ec6e5e256f28fbdbac5eb0642f304f331783f36d70b5e6fd576818bc42e14624191c", // 签名文本
- // "timestamp": 1641279989 // 签名时间戳,需要在1分钟内完成验签,否则本次签名失效
- // };
- utils.post(utils.api.loginTokenAndVerification, dappLoginData, (res, value) => {
- // console.log("loginTokenAndVerification========>", _temp);
- console.log(res, value);
- if (value.code == 0) {
- /** 登录成功获取token */
- utils.setToken(value.data.token);
- /** 登录时候会获取一次游戏端的 userInfo ,后续可以通过userInfo接口获取 */
- GlobalD.UserInfo = value.data.userInfo;
- /** 推送信息 */
- utils.get(utils.api.playerPullInfo, {}, (res, playerPullInfoTemp) => {
- let _playerData = JSON.parse(playerPullInfoTemp.data.playerData);
- //记录读取的数据到内存里面
- // 正常游戏
- userData.readData = _playerData;
- //跳转游戏
- cc.find("Canvas").getComponent("Login").loginButton();
- // utils.init(GlobalD.Dapp.UserInfo.id, (data) => {
- // console.log('utils ws:' + data);
- // }, _self);
- })
- //需要提前拉取一下土地配置,用于初始化地图土地
- utils.get(utils.api.landConfig, {}, (res, value) => {
- if (0 === value.code) {
- GlobalD.ConfigLand = value.data;
- } else {
- console.warn("未能读取到config土地?");
- }
- })
- utils.get(utils.api.userLandList, {}, (res, value) => {
- if (0 === value.code) {
- GlobalD.UserLeaseLand = value.data;
- } else {
- console.warn("读取到用户的土地错误?");
- }
- })
- } else {
- console.log(res, value);
- }
- })
- // utils.get(utils.api.loginToken, { loginId: GlobalD.Dapp.UserInfo.id }, (res, value) => {
- // if (value.code == 0) {
- // /** 登录成功获取token */
- // utils.setToken(value.data.token);
- // /** 推送信息 */
- // utils.get(utils.api.playerPullInfo, {}, (res, playerPullInfoTemp) => {
- // let _playerData = JSON.parse(playerPullInfoTemp.data.playerData);
- // //记录读取的数据到内存里面
- // // 正常游戏
- // userData.readData = _playerData;
- // //跳转游戏
- // cc.find("Canvas").getComponent("Login").loginButton();
- // // GameNet.getInstance().init(GlobalD.Dapp.UserInfo.id, (data) => {
- // // console.log('GameNet:' + data);
- // // }, _self);
- // utils.init(GlobalD.Dapp.UserInfo.id, (data) => {
- // console.log('utils ws:' + data);
- // }, _self);
- // })
- // } else {
- // console.log(res, value);
- // }
- // })
- } else {
- //TODO 服务错误
- console.log("dappInit userInfo 错误");
- console.log(err)
- }
- // try {
- // const data = await dapp.getLoginSign()
- // console.log(data)
- // // this.signData = JSON.stringify(data)
- // } catch (err) {
- // console.log(err)
- // alert('为了避免游戏资产被人乱用,还是校验下身份再进入游戏吧')
- // }
- } catch (err) {
- console.log('catch到的错误:' + err) // 初始化失败,运行环境不是钱包环境
- }
- }
- //初始化调用 dappInit;
- dappInit();
- // utils.get(utils.api.loginToken, { loginId: 4 }, (res, value) => {
- // console.log(res, value);
- // if (value.code == 0) {
- // /** 登录成功获取token */
- // utils.setToken(value.data.token);
- // /** 登录时候会获取一次游戏端的 userInfo ,后续可以通过userInfo接口获取 */
- // GlobalD.UserInfo = value.data.userInfo;
- // /** 推送信息 */
- // utils.get(utils.api.playerPullInfo, {}, (res, playerPullInfoTemp) => {
- // let _playerData = JSON.parse(playerPullInfoTemp.data.playerData);
- // //记录读取的数据到内存里面
- // // 正常游戏
- // userData.readData = _playerData;
- // //跳转游戏
- // cc.find("Canvas").getComponent("Login").loginButton();
- // // utils.init(4, (data) => {
- // // console.log('utils ws:' + data);
- // // }, _self);
- // })
- // //需要提前拉取一下土地配置,用于初始化地图土地
- // utils.get(utils.api.landConfig, {}, (res, value) => {
- // if(0 === value.code){
- // GlobalD.ConfigLand = value.data;
- // }else{
- // console.warn("未能读取到config土地?");
- // }
- // })
- // utils.get(utils.api.userLandList, {}, (res, value) => {
- // if(0 === value.code){
- // GlobalD.UserLeaseLand = value.data;
- // }else{
- // console.warn("读取到用户的土地错误?");
- // }
- // })
- // } else {
- // console.log(res, value);
- // }
- // })
- },
- start() {
- },
- // update (dt) {},
- });
|