平台兼容性

海报生成组件

组件使用

运行下面demo时,注意图片路径,可以上淘宝随便找些图片测试

<template>
    <view>
        <posters-layer
            :postersData="postersData"
            @success="onSuccessCreatePosters"
            @error="onPostersError">
        </posters-layer>
        <img :src="posterImg.path" />
    </view>
</template>
<script>
import postersLayer from '../../components/posters-layer/index';
export default {
    data() {
        return {
            postersData: {},
            posterImg: {}
        };
    },
    components: {
        postersLayer
    },
    onLoad() {
        this.initPostersConfig();
    },
    methods: {
        initPostersConfig() {
            const config = {
                clear: true,
                width: 660,
                height: 850,
                background: '#ffffff',
                views: [
                {
                    type: 'image',
                    width: 660,
                    height: 660,
                    top: 0,
                    left: 0,
                    // 封面图,测试的时候填上
                    url: 'http://127.0.0.1:8080/static/images/test/1.jpg'
                },
                {
                    type: 'text',
                    width: 400,
                    height: 50,
                    left: 20,
                    top: 680,
                    fontSize: 30,
                    lineHeight: 40,
                    bolder: true,
                    breakWord: true,
                    content: '        Apple/苹果 iPhone XR 移动联通电信全网通版 苹果xr iphonexr 苹果xr手机 iphone xr',
                    MaxLineNumber: 2
                },
                {
                    type: 'rect',
                    width: 70,
                    height: 34,
                    left: 20,
                    top: 684,
                    background: '#ff4201',
                    radius: 8
                },
                {
                    type: 'text',
                    width: 400,
                    height: 50,
                    left: 20,
                    top: 690,
                    fontSize: 24,
                    lineHeight: 40,
                    bolder: true,
                    breakWord: true,
                    content: ' 活动',
                    color: '#ffffff',
                    MaxLineNumber: 2
                },
                {
                    type: 'text',
                    width: 400,
                    left: 20,
                    top: 770,
                    fontSize: 54,
                    bolder: true,
                    breakWord: true,
                    content: '¥0.0',
                    color: '#F40',
                    MaxLineNumber: 2
                },
                {
                    type: 'image',
                    width: 140,
                    height: 140,
                    top: 680,
                    left: 500,
                    // 二维码图片路径,测试的时候填上
                    url: 'http://127.0.0.1:8080/static/images/test/qr.png'
                },
                ]
            };
            this.postersData = config;
        },
        onSuccessCreatePosters(res) {
            console.log(res);
            this.posterImg = res;
        },
        onPostersError(res) {}
    }
}
</script>

组件参数解释

config字段

字段 类型 必填 描述
width Number(单位:px) 画布宽度
height Number(单位:px) 画布高度
background String 画布背景颜色
radius Number 圆角
views Array 海报的所有元素

views字段

文本

字段 类型 必填 描述
type String 类型,值:text
width Number(单位:px) 宽度
height Number(单位:px) 高度
left Number(单位:px) 距离海报左边距
top Number(单位:px) 距离海报上边距
fontSize Number(单位:px) 字体大小,默认:16
lineHeight Number(单位:px) 行高,默认:20
breakWord Boolean 是否自动换行,默认:false
bolder Boolean 是否加粗,默认:false
textAlign String 对齐方式,可选值:left、center、right,默认:left
color String 字体颜色
content String 文本内容
MaxLineNumber Number 显示多少行,超出省略

矩形

字段 类型 必填 描述
type String 类型,值:rect
width Number(单位:px) 宽度
height Number(单位:px) 高度
left Number(单位:px) 距离海报左边距
top Number(单位:px) 距离海报上边距
radius Number(单位:px) 圆角半径,如果radius === width / 2,则是个圆,和CSS一样
background String 填充背景色

图片

字段 类型 必填 描述
type String 类型,值:image
tailor Number(单位:px) 裁剪方式,可选值:center
radius Number(单位:px) 圆角半径,如果radius === width / 2,则是个圆,和CSS一样
width Number(单位:px) 宽度
height Number(单位:px) 高度
left Number(单位:px) 距离海报左边距
top Number(单位:px) 距离海报上边距
url String 图片路径

事件

success 海报生成成功时触发

error 海报生成失败时触发

隐私、权限声明

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

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

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

许可协议

MIT协议

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