微信小游戏中怎么实现转发、分享、获取头像、游戏圈的四种功能
创始人
2024-11-23 20:41:17
0次

这四种功能分别是:

获取头像功能
微信转发功能
微信分享功能
游戏圈

在Egret Wing和微信开发者工具里的配置

为实现以上四个功能,我们需要分别在Egret Wing(图1,图2)和微信开发者工具(图3)里配置。

微信小游戏中怎么实现转发、分享、获取头像、游戏圈的四种功能

需要在Platform.ts里调用platform.js接口。
在Main.ts通过Platform.ts调用执行函数 。
在 platform.js写相对应的逻辑代码。
以上三点是实现四个微信小游戏功能的通用配置,具体操作如下:

获取头像

用户登录,可以获取用户自己的头像,参看微信平台。

Egret Wing,已经在Platform.ts写了默认功能,微信开发者工具已经写了默认逻辑,开发者只需要在Main添加代码 在Egret Wing—>src—>Main.ts添加以下代码

private async runGame() {
    const userInfo = await platform.getUserInfo();
    this.createGameScene(userInfo);   
}
protected createGameScene(userInfo:any): void {
// 用户头像
let img=new eui.Image();
    img.source=userInfo.avatarUrl
    this.addChild(img);
}

微信小游戏转发功能

微信小游戏转发功能通过点击微信小游戏右上角按钮来触发小游戏的内置转发效果,达到转发给朋友的效果。

1. 在Egret Wing—>src—>Platform.ts添加以下代码

declare interface Platform {
         shop():Promise;
     }
    class DebugPlatform implements Platform {
        async shop() {}
    }

2. 在Egret Wing—>src—>Main.ts添加以下代码

private async runGame() {
    platform.shop();
}

3. 在微信开发者工具里Platform.ts添加以下代码

微信转发主要使用了wx.showShareMenu()和wx.onShareAppMessage()方法,具体参数可参看微信开发平台

class WxgamePlatform {
        shop() {
            return new Promise((resolve, reject) => {
                  wx.showShareMenu({
                        withShareTicket: true
                  });
                  wx.onShareAppMessage(function () {
                    return {
                      title: "+++",
                      imageUrl: 'resource/assets/art/heros_goods/btnOK.png'
                    }
                  })
     
            })
         }
        openDataContext = new WxgameOpenDataContext();
    }

微信小游戏分享功能

除了转发功能,我们也可以在微信小游戏内自定义一个按钮,主动分享给朋友。

1. 在Egret Wing—>src—>Platform.ts添加以下代码

declare interface Platform {
    shareAppMessage():Promise;
}
class DebugPlatform implements Platform {
    async shareAppMessage(){}
}
  1. 在Egret wing—>src—>Main.ts添加以下代码

protected createGameScene(): void {
   //游戏内自定义分享按钮
       let btnClose = new eui.Button();
               btnClose.label = "分享";
               btnClose.y = 300;
               btnClose.horizontalCenter =180;
               this.addChild(btnClose);
               btnClose.addEventListener(egret.TouchEvent.TOUCH_TAP, ()=>{
                   platform.shareAppMessage()
    }, this)
   }

3. 在微信开发者工具里Platform.ts添加以下代码

微信分享主要使用了shareAppMessage()方法,具体参数可参看微信开发平台

class WxgamePlatform {
     shareAppMessage() {
        return new Promise((resolve, reject) => {
          wx.shareAppMessage({
            title: '转发标题',
            imageUrl: 'resource/assets/art/heros_goods/btnOK.png'
          })   
        })
      }
        openDataContext = new WxgameOpenDataContext();
}

游戏圈

微信游戏圈,在这里和好友交流游戏心得。

1. 在Egret Wing—>src—>Platform.ts添加以下代码

declare interface Platform {
   createGameClubButton():Promise;  
}
class DebugPlatform implements Platform {
    async createGameClubButton(){}         
}

2. 在Egret Wing—>src—>Main.ts添加以下代码

private async runGame() {
   platform.createGameClubButton();
}

3. 在微信开发者工具里platform.js添加以下代码

使用方法createGameClubButton().查看参看微信平台

class WxgamePlatform {
      wx.createGameClubButton({
            icon: 'green',
            style: {
              left: 200,
              top: 626,
              width: 40,
              height: 40
            }
          })
        openDataContext = new WxgameOpenDataContext();
}

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...