更新记录

1.0.0(2022-11-04)

1.基于市场插件改进的海报


平台兼容性

Vue2 Vue3
×
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.6.4 app-vue × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × × × ×

HTML结构

<template>
<view class="poster">
    <shareImages ref="canvas" :canvasWidth="canvasWidth"
        :canvasHeight="canvasHeight"
        :goodsTitle="goodsTitle" 
        :qrSize="qrSize" 
        :qrUrl="qrUrl" 
        @success="shareSuccess">
    </shareImages>
    <view class="button">
        <button :disabled="canvasImages == '' ? false : true" type="primary"
            @click="createsShareImage">生成海报</button>
        <button :disabled="canvasImages != '' ? false : true" @click="previewHandle">预览海报</button>
    </view>
        <view class="" @click="saveImg">
            保存
        </view>
    </view>
</template>

<style lang="less" scoped>
.poster{
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    .button{
        position: absolute;
        bottom: 100rpx;
    }
}
</style>

引入组件

import shareImages from '@/components/poster/shareImages.vue'

注册组件

export default {
        components: {
            shareImages
        },

        data() {
            return {
                canvasImages: '',
                canvasWidth: 600, // 宽度
                canvasHeight: 864, // 高度
                goodsTitle: '我是这张图片的标题我是这张图片的标题我是这张图片的标', // 商品宣传标题
                qrSize: 100, // 二维码大小
                qrUrl: '我要吃饭了', // 生成二维码的链接
            }
        },
        methods: {
            // 生成分享图片
            createsShareImage() {
                // console.log(this.$refs.canvas)
                this.$refs.canvas.canvasCreate();
            },
            // 预览图片
            previewHandle() {
                uni.previewImage({
                    urls: [this.canvasImages],
                });
            },
            // 回调图片地址
            shareSuccess(e) {
                // console.log('地址',e)
                this.canvasImages = e
                console.log(e);
            },
            // 分享
            onShareAppMessage(res) {
                // if (res.from === 'button') {
                //  console.log(res.target)
                // }
                return {
                    title: 'canvas图片分享',
                    path: this.canvasImages
                }
            },
            saveImg() {
                // 先下载图片也可以跳过downloadFile直接走saveImageToPhotosAlbum,个人视情况而定
                uni.downloadFile({
                    url: this.canvasImages,
                    success: (res) => {
                        console.log(res)
                        // 获取到图片本地地址后再保存图片到相册(因为此方法不支持远程地址)
                        uni.saveImageToPhotosAlbum({
                            filePath: res.tempFilePath,
                            success: () => {
                                uni.showToast({
                                    title: "保存成功!",
                                });
                            },
                            fail: () => {
                                uni.showToast({
                                    title: "保存失败",
                                });
                            },
                        });
                    },
                });
            }
        }
    }

隐私、权限声明

1. 本插件需要申请的系统权限列表:

保存图片或请求图片

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问