## 一、支持平台 | App | H5 | 微信小程序 | 支付宝小程序 | 百度小程序 | 字节跳动小程序 | QQ 小程序 | | ------ | --- | ---------- | ------------ | ---------- | -------------- | --------- | | 未测试 | √ | √ | √ | √ | √ | √ | ## 二、效果演示
兼容不同屏幕大小 绘制图形,图片,文本等展示
## 三、注意事项 ### 1、小程序下获取网络图片信息需先配置 downloadFile 域名白名单才能生效。否则会报错(downloadFile 合法域名校验失败),并且绘制海报失败 流程:开发平台->服务器域名->uploadFile 合法域名要添加上 https://huangchunhongzz.gitee.io 否则没办法下载成功图片 ### 2、hch-poster 海报模板,主要按照苹果 375\*667 比例,其他型号手机等比例缩放绘制海报,以达到兼容不同屏幕大小的效果 ### 3、微信小程序要在基础库 2.16.0 及以下,否则会报(Uncaught TypeError: Cannot delete property 'WeixinJSBridge' of #)页面空白现象 ### 4、H5 需要注意使用的图片要支持跨域(插件例子的图片目前是不支持跨域的,可以自行替换成支持跨域的图片,已测试可行性) ## 四、海报模板使用方法(主要看 pages/hch-poster 页面的例子里面有详细说明) ```js import HchPoster from "../../components/hch-poster/hch-poster.vue" export default { components: { HchPoster }, data() { return { // 海报模板数据 posterData: { poster: { //根据屏幕大小自动生成海报背景大小 url: "https://huangchunhongzz.gitee.io/imgs/poster/poster_bg_3.png",//图片地址 r: 10, //圆角半径 w: 300, //海报宽度 h: 480, //海报高度 p: 20 //海报内边距padding }, mainImg: { //海报主商品图 url: "https://huangchunhongzz.gitee.io/imgs/poster/product.png",//图片地址 r: 10, //圆角半径 w: 250, //宽度 h: 200 //高度 }, title: { //商品标题 text: "今日上新水果,牛奶草莓,颗粒饱满,每盒 200g",//文本 fontSize: 16, //字体大小 color: "#000", //颜色 lineHeight: 25, //行高 mt: 20 //margin-top }, codeImg: { //小程序码 url: "https://huangchunhongzz.gitee.io/imgs/poster/code.png",//图片地址 w: 100, //宽度 h: 100, //高度 mt: 20, //margin-top r: 50 //圆角半径 }, tips: [ //提示信息 { text: "记忆之王",//文本 fontSize: 14,//字体大小 color: "#2f1709",//字体颜色 align: "center",//对齐方式 lineHeight: 25,//行高 mt: 20//margin-top }, { text: "长按/扫描识别查看商品",//文本 fontSize: 12,//字体大小 color: "#2f1709",//字体颜色 align: "center",//对齐方式 lineHeight: 25,//行高 mt: 20//margin-top } ] } } } } ``` ## 五、API ### 生成海报的方法调用如 ```js this.$refs.hchPoster.posterShow() ``` ### 取消海报 ```js //有$emit方法 this.$emit('cancel', true) // 所以在组件中用@cancel绑定方法适用 // ``` ### 海报预览(H5 端才有的方法) ```js //有$emit方法 this.$emit('previewImage', base64) // 所以在组件中用@previewImage绑定方法适用 // ``` ## 六、props | name | 描述 | 默认值 | 类型 | | --- | --- | --- | --- | | posterData | 海报的属性(修改海报的属性值就可以生成自己的海报) | (具体数据参考上方,posterData:{}) | Object | ## 七、开源不易,喜欢的请 star ### 喜欢这个海报,觉得好用的,可以支持打赏下哦