微信小程序码canvas生成分享海报

 

请求后台接口,后台接口返回的是二进制格式小程序码,我们拿到之后直接使用微信接口把它存成临时文件,后续使用 ctx.drawImage 

wx.request({
    url: app.api.xxx,
    data: {
        url: `pages/index/index`,
        scene: `id=${that.data.id}`,
    },
    method: 'POST',
    responseType: 'arraybuffer',     //十分重要
    header: {
        'content-type': 'application/x-www-form-urlencoded;charset=UTF-8' 
    },
    success: function (res) {
        const fsm = wx.getFileSystemManager();
        const FILE_BASE_NAME = 'tmp_img_src';

        let filePath = `${wx.env.USER_DATA_PATH}/${FILE_BASE_NAME}.jpg`;
        fsm.writeFile({
            filePath,
            data: res.data,
            encoding: 'binary',
            success() {
                resolve(filePath);
            },
            fail() {
                reject(new Error('ERROR_WRITE'));
            },
        });

    }, fail: function (err) {
        reject(err)
    }
})
ctx.drawImage(imgPath, 20, imgHeight + 70, 80, 80)

 

posted @ 2019-02-20 14:31  kkaiboo  阅读(949)  评论(1编辑  收藏  举报