四,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("分享失敗");
                }
            })
        }

 

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