四,layaair对接微信小程序:分享

  本来这系列的博文不准备再更新了,但由于项目后期(小项目)需要对接微信小程序的功能,诸如分享、排行榜之类。后期再考虑使用微信广告功能(这个目前有限制,如果达不到1000用户量的话,是不能接入广告的),由于项目需要,故此继续更新。

  layaair引擎提供了wx.d.ts的接口,可以直接在代码中打印console.log(wx);

  要调用微信的接口,需要先声明wx定义:

 private wx;//微信接口


  WXInterface()
    {
        console.log("启动微信接口");       
        if(Laya.Browser.onMiniGame)
        {
            this.wx=Laya.Browser.window.wx;
        }
        else
        {
            console.log("启动微信接口失败");       
        }       
        console.log("结束调用微信");
    }

  这里需要注意的是,该方法需要在初始化之后调用。

 

  接下来是分享的方法:

 private onShare(e: Laya.Event): void {
        console.log("进入分享按钮");
        if (this.wx == null) {
            console.log("wx为空");
            return;
        }

        var canvas = this.wx.createCanvas();
        canvas.width = 640;
        canvas.height = 480;
        var context = canvas.getContext('2d');
        var bgm = this.wx.createImage();
        bgm.src = "jiangbei.png";

        bgm.onload = () => {
            context.drawImage(bgm, 0, 0, 640, 480);
            context.fillStyle = "rgba(0,0,0,1)";
            context.font = "bold 30px Arial";
            context.textAlign = "left";
            context.textBaseline = "middle";
            context.fillText("关卡", 200, 100);
            context.fillText( 999+ " 章节", 240, 190);

            this.wx.shareAppMessage({
                title: "小伙伴快来和我一起玩啊",
                imageUrl: canvas.toTempFilePathSync({
                    destWidth: 640,
                    destHeight: 480
                }),
                success: () => {
                    console.log("分享成功");

                },
                fail: () => {
                    console.log("分享失败");
                }
            })
        }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章