uniapp点击生成商品海报、下载海报、分享海报
开发过程中需要根据商品信息生成海报,供用户下载海报 、分享海报等
效果:
1.首先搭建页面结构:
<!-- 按钮结构 --><view class="share flex"><u-icon name="scan" size="20" @click="drawPic"></u-icon><u-icon name="share" size="20" @click="shareWeixin"></u-icon>分享</view><!-- 海报画布 --><view class="canvasBox" v-if="showPoster"><text class="close" @click="showPoster = false">x</text><canvas style="width: 220px;height: 340px;" class="canvas" canvas-id="mycanvas"></canvas><view class="btmBox"><view class="item"><u-icon name="weixin-fill"></u-icon><view style="font-size:12px" @click="shareImg">分享好友</view></view><view class="item"><u-icon name="coupon"></u-icon><view style="font-size:12px" @click="saveImage">保存海报</view></view></view></view>
2.js控制用户点击二维码按钮后,弹出dialog展示海报内容:
methods: {//绘制海报drawPic() {this.showPoster = trueuni.showLoading({title: '正在生成海报'})let myCanvas = uni.createCanvasContext('mycanvas', this)// 封面标题myCanvas.font = '12px Arial'myCanvas.fillText('鹏程监测 APT', 110, 30)// 封面图myCanvas.drawImage(this.imgList[1], 30, 40, 170, 170)// 价格myCanvas.font = ` 14px Arial`myCanvas.fillStyle = 'blue'myCanvas.fillText('¥ 150', 30, 220)myCanvas.font = `10px Arial`myCanvas.fillStyle = '#9C9C9C'myCanvas.fillText('原价:¥0.00', 80, 220)myCanvas.font = `14px Arial`myCanvas.fillStyle = '#000'myCanvas.fillText('外观监测', 30, 240)// 分享码myCanvas.drawImage(this.imgList[1], 150, 280, 50, 50)//长按识别购买myCanvas.font = '10px Arial'myCanvas.fillStyle = '#9C9C9C'myCanvas.fillText('长按识别或保存图片', 30, 310)//开始绘画,必须调用这一步,才会把之前的一些操作实施myCanvas.draw(false, res => {uni.canvasToTempFilePath({canvasId: 'mycanvas',success: res => {console.log(res, 'draw')uni.hideLoading()this.poster = res.tempFilePaththis.showPoster = true},fail: err => {console.log(err, 'fail')uni.hideLoading()uni.showToast({title: '名片加载失败',duration: 2000})}})})},//点击保存saveImage() {var _this = thisuni.showLoading({title: '正在生成图片...'})uni.saveImageToPhotosAlbum({filePath: _this.poster,success(res) {console.log(res, 'downlaod')uni.hideLoading()uni.showModal({title: '保存成功',content: '图片已成功保存到相册,快去分享到您的圈子吧',showCancel: false})}})},// 分享--展示大图shareImg() {uni.previewImage({current: 0,urls: [this.poster]})},// 分享到微信好友shareWeixin() {const _that = thisuni.showLoading({title: '努力加载中...'})uni.share({provider: 'weixin',scene: 'WXSceneSession', //分享到聊天界面type: 5, //分享为小程序imageUrl: _that.poster, //png地址title: '',miniProgram: {//type为5必选id: '', //微信小程序原始idpath: '', //点击链接进入的页面type: 0, //微信小程序版本类型,可取值: 0-正式版; 1-测试版; 2-体验版。 默认值为0。webUrl: '' //兼容低版本的网页链接},success: res => {console.log(res, 'share')uni.hideLoading()showToast({title: '分享成功',icon: 'none'})}})}}
uniapp点击生成商品海报、下载海报、分享海报相关推荐
- uni-App小程序、canvas 生成海报 +下载图片+分享微信好友
功能:分享弹窗,生成海报并支持保存,目前仅支持微信小程序 ·插件包链接 https://ext.dcloud.net.cn/plugin?id=586 代码: <template>< ...
- 解决 uni-app 使用 Painter 生成商品海报真机模糊问题
每写一篇文章都需要前言进行背景的阐述,方便自己和其他遇到同样问题的朋友快速定位是否为同一类问题. 在开发 uni-app 的过程中分享商品时需要生成对应的商品海报图,个人也试了几款社区提供的插件,坑也 ...
- 淘宝,速卖通,天猫同理,商品视频下载过程分享,2019/10/21更新
正常来说,小网站的图片和视频非常容易下载,匹配到视频展示的那个节点找到视频链接就可以开始进行下 载了.可是对于淘宝之类的大一点的手段,增加难度,在video节点那里并非是直接调用音频视频链接啥的,打开 ...
- 小程序Canvas生成分享海报避坑指南
关于小程序使用Canvas画布生成分享海报,网上有很多的教程,但是结合到自己的业务上面就BUG百出了 接下来分享一下我的经历 微信出了新的api 微信公众平台目前更新不是太即使,查问题好多帖子都是一两 ...
- uniapp 生成商品海报并分享保存
uniapp 生成商品海报并分享保存 <template><view class="center"><view class="icon-it ...
- uniapp生成商品分享海报
uniapp用canvas生成一个分享商品的海报 文章目录 前言 一.展示效果 二.使用步骤 1.HTML部分 2.CSS部分 3.JS部分 总结 前言 uniapp用canvas生成一个分享商品的海 ...
- uniapp 生成商品分享通用海报源码详解
uniapp 生成商品分享通用海报源码,使用canvas生成海报,圆片加圆角,标题换行显示两排 多余点点,兼容H5端和小程序端. 组件显示代码<template><view>& ...
- uniapp之小程序端生成分享海报(带自定义参数的二维码)
内容需求: 小程序端生成一个海报,海报内容包括当前授权账号的头像,当前授权账号的邀请码,一张特定图片,分享页面的带对应参数的小程序二维码:生成的海报需要保存到本地 功能方法: 1.前端用canvas绘 ...
- [Java生成商品的海报图片 ]
目录 前言: 生成商品海报图片需要处理两个问题: 依赖: 编写生成海报代码 另一个方法: 补全上面的main测试方法: 前言: 你知道的 这只是一个简单笔记...... 生成商品海报图片需要处理两个问 ...
最新文章
- 线性回归之模型的保存和加载
- 服务器发送退出状态127,WebDriverException:消息:服务chromedriver意外退出。状态代码为:127...
- 实验:是否图片的重叠区域携带了决定分类的所有信息?
- Swift数据类型(一)
- windows编程(八)
- 深度学习(31)随机梯度下降九: Himmelblau函数优化实战
- ZED ROS包发布topic介绍
- 兆观毫米波监护仪亮相CMEF 开创养老监护新时代
- java switch finally_JavaSE
- .NET Framework 4.5的C#中的对话框消息
- Kepserver如何连接InTouch
- 基于C语言的个人信息管理系统
- 扫描全能王添加头像的方法
- chorme浏览器完美保存整个网页
- 【Ubuntu+ROS安装方法】
- 我国计算机系统安全保护等级的划分,规范《GB17859-1999-计算机信息系统安全保护等级划分准则》.pdf...
- 学生专用计算机怎么发出声音,计算机技巧-如何使显示器的内置扬声器发出声音...
- 项目经理(Project Manager)和产品经理(Product Manager),简称PM。
- 【讲清楚】rebase的使用
- WebRTC多人音视频聊天架构及实战