| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- import GameNet from "../Network/GameNet"
- 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() {
- let dapp = GlobalD.dapp = new Dapp()
- try {
- console.log('开始初始化dapp!')
- await dapp.init()
- 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);
- 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();
- })
- } else {
- console.log(res, value);
- }
- })
- } else {
- //TODO 服务错误
- console.log("dappInit userInfo 错误");
- console.log(err)
- }
- } catch (err) {
- console.log('catch到的错误:'+err) // 初始化失败,运行环境不是钱包环境
- }
- }
- //初始化调用 dappInit;
- dappInit();
- },
- start() {
- },
- // update (dt) {},
- });
|