Happy New Year!

vue 封装原型方法 加 promist .then

 

核心代码如下

/**
 * 2019年5月11日 10:54:32 
 * @xieyishang
 * 封装生成海报js
 */

/**
 * A 海报地址
 * B 是头像二维码地址
 * 第三个参 插入的id节点
 * 
 * 用了pormist 还可以用 .then
 */
const drawAndShareImage =  (imgA,imgB,dom)=>{//封装生成海报方法~

    return new Promise((resolve,reject)=>{

            var canvas = document.createElement("canvas");
            canvas.width = 1304;
            canvas.height = 2316;
            var context = canvas.getContext("2d");
            context.rect(0 , 0 , canvas.width , canvas.height);
            context.fillStyle = "#fff";
            context.fill();
            var imageA = new Image();
            imageA.crossOrigin = 'Anonymous';
            imageA.src = imgA;
            imageA.onload = function(){
                context.drawImage(imageA , 0 , 0 , 1306 , 2316);
                var imageB = new Image();
                imageB.crossOrigin = 'Anonymous';
                imageB.src = imgB;
                imageB.onload = function(){
                    context.drawImage(imageB , 10 , 2060 , 240 , 240);
                    //var base64 = canvas.toDataURL("image/png");
                    var base64 = canvas.toDataURL("image/jpeg");
                    var img = document.getElementById(dom);
                    // console.log('Hello');
                    img.setAttribute('src' , base64);
        
                    console.log("加载完了~");

                    if (dom!=null) {
                        resolve(true);
                    }else {
                        reject(false);
                    }
                
        
                }
            }

    });

}
 
export { drawAndShareImage }

 

 

main.js引入

 

import {drawAndShareImage } from '@/utils/canvascode';//生成海报方法
Vue.prototype.$Canvas = drawAndShareImage;//放在原型里面~

 

 

调用

 

this.$Canvas(this.shareBannerSRC,this.codeSRC,"shareBoximg").then(val=>{
console.log("val",val);
this.shareBox = true;
this.shareWait = false;
Toast.clear();
});
posted @ 2019-05-11 14:44  义美-小义  阅读(1083)  评论(0编辑  收藏  举报
返回顶部小火箭
世界很公平,想要最好,就一定得付出!
x
github主页