当前位置:首页
>> 核电技术聚变聚能设备 >> 【uniapp小程序-分享】,w890i(uniapp 小程序)
【uniapp小程序-分享】,w890i(uniapp 小程序)
cpugpu芯片开发光刻机
核电技术聚变聚能设备
6
文件名:【uniapp小程序-分享】,w890i
【uniapp小程序-分享】
//分享到聊天onShareAppMessage() {let shareMessage = {title: this.liveInfo.wx_title,path: '/subPages/livePages/liveCourse/live_course_info?courseid=' +this.courseid,imageUrl: this.liveInfo.wx_thumb};let shearMsg = uni.getStorageSync('shearImg' + this.courseid);if (shearMsg && shearMsg.id == this.courseid) {return {title: shareMessage.title,path: shareMessage.path,imageUrl: `${this.liveInfo.wx_thumb}?imageView2/1/w/640/h/360`|| shearMsg.imgPath};} else {uni.showLoading({title: '分享图片生成中...',icon: 'none'});return new Promise((resolve, reject) => {this.shareCode().then(res => {uni.hideLoading();let img = res uni.hideLoading();resolve({title: shareMessage.title,path: shareMessage.path,imageUrl: img});// 将分享图片加入缓存let msg = {imgPath: img,id: this.courseid};uni.setStorageSync('shearImg' + this.courseid, msg);}).catch(err => {uni.hideLoading();resolve({title: shareMessage.title,path: shareMessage.path,imageUrl: imgPath});});});}},// 分享到朋友圈onShareTimeline() {return {title: this.liveInfo.name,path: '/subPages/livePages/liveCourse/live_course_info?courseid=' +this.courseid,imageUrl: this.liveInfo.wx_thumb};},methods:{// 分享卡片shareCode() {let _this = this;return new Promise(async (resolve, reject) => {const ctx = uni.createCanvasContext('shareCanvas', this);let bg = this.liveInfo.wx_thumblet bt = '背景图';ctx.draw();ctx.save();await uni.getImageInfo({src: bg}).then(res => {if (res[1].errMsg == 'getImageInfo:ok') {ctx.save();ctx.drawImage(res[1].path, 0, 0, 195, 160);ctx.restore();} else {uni.$u.toast('海报生成失败');}});ctx.restore();// 生成图片ctx.draw(true, ret => {setTimeout(() => {uni.canvasToTempFilePath({canvasId: 'shareCanvas',success: res => {resolve(res.tempFilePath);},fail: err => {uni.$u.toast('分享图片生成失败');}},_this);}, 10);});});},textPrewrap(ctx, content, drawX, drawY, lineHeight, lineMaxWidth, lineNum) {var drawTxt = ''; // 当前绘制的内容var drawLine = 1; // 第几行开始绘制var drawIndex = 0; // 当前绘制内容的索引// 判断内容是否可以一行绘制完毕if (ctx.measureText(content).width <= lineMaxWidth) {ctx.fillText(content.substring(drawIndex, i), drawX, drawY);} else {for (var i = 0; i < content.length; i++) {drawTxt += content[i];if (ctx.measureText(drawTxt).width >= lineMaxWidth) {if (drawLine >= lineNum) {ctx.fillText(content.substring(drawIndex, i) + '..', drawX, drawY);break;} else {ctx.fillText(content.substring(drawIndex, i + 1), drawX, drawY);drawIndex = i + 1;drawLine += 1;drawY += lineHeight;drawTxt = '';}} else {// 内容绘制完毕,但是剩下的内容宽度不到lineMaxWidthif (i === content.length - 1) {ctx.fillText(content.substring(drawIndex), drawX, drawY);}}}}},}
同类推荐
-

核电聚能设备的安全性能如何?(核电聚能设备的安全性能如何)
查看 -

【RS码1】系统RS码编码原理及MATLAB实现(不使用MATLAB库函数),飞利浦x530
查看 -

【RS码2】RS码的BM迭代译码原理详解及MATLAB实现(不使用MATLAB库函数【全部代码需私信另外付费获取】),点讯输入法
查看 -

【RabbitMQ 实战】12 镜像队列,lg闪耀
查看 -

【RabbitMQ】8、RabbitMQ之mandatory和immediate,w375(rabbitmq mandatory)
查看 -

【React Native】学习记录(二)——路由搭建和常见的开发技巧,vaio tz
查看 -

【React】05.JSX语法使用上的细节,礼品u盘(react-particles-js)
查看 -

【React】关于组件之间的通讯,中国移动m701(react 移动端组件)
查看 -

【Redis】Zset 有序集合命令,小米3 f码
查看