diff --git a/pakageInfo/pages/article/detail/index.js b/pakageInfo/pages/article/detail/index.js index 3899d69..ed36413 100644 --- a/pakageInfo/pages/article/detail/index.js +++ b/pakageInfo/pages/article/detail/index.js @@ -39,7 +39,7 @@ Page({ finished: false, form: { pageNum: 1, - pageSize:15 + pageSize: 15 }, maskHidden: false, }, @@ -262,7 +262,7 @@ Page({ return { title: this.data.momentDetail.title, path: 'pages/index/index?url=/pakageInfo/pages/article/detail/index&key=id&value=' + this.data.momentDetail.id, - // imageUrl: this.data.imagePath + imageUrl: this.data.imagePathHb||imageUrl } }, //分享至朋友圈 @@ -274,18 +274,98 @@ Page({ return { title: this.data.momentDetail.title, path: 'pages/index/index?url=/pakageInfo/pages/article/detail/index&key=id&value=' + this.data.momentDetail.id, - imageUrl: imageUrl + imageUrl: this.data.imagePathHb||imageUrl } }, - createPoster(){ + createPoster() { }, - createNewImg() { + createNewImg() { var that = this; var context = wx.createCanvasContext('mycanvas'); - - // context.drawImage(path2, 0, 0, 120, 120); - // context.save(); // 保存当前context的状态 + context.font="normal 400 15px Arial, sans-serif" + // wx:if="{momentDetail.millPaperName}" src="/pakageInfo/assets/image/img_poster_header_has_title.png" + // + var parth0='../../../assets/image/img_poster_bg.png' + if (this.data.momentDetail.millPaperName) { + var path1 = '../../../assets/image/img_poster_header_has_title.png' + } else { + var path1 = '../../../assets/image/im_poster_header_no_title.png' + } + context.fillStyle = "white" + context.fillRect(0, 0, 375, 667); + context.stroke() + context.drawImage(parth0, 0, 0, 375, 667); + context.stroke() + context.drawImage(path1, 0, 0, 375, 120); + context.stroke() + + //绘制底部图片区域 + var parth2='../../../assets/image/img_poster_footer.png' + context.drawImage(parth2, 0, 500, 375, 120); + context.stroke() + + //绘制内容标题 + context.setFontSize(18); + context.setFillStyle('#000000'); + context.setTextAlign('center'); + context.fillText(this.data.momentDetail.title, 187, 152); + context.stroke() + + //绘制内容 + var text = this.data.momentDetail.content + var chr = text.split(""); //这个方法是将一个字符串分割成字符串数组 + var temp = ""; + var row = []; + context.setFontSize(15) + context.setTextAlign('left'); + context.setFillStyle("#000") + //内容自动换行 + for (var a = 0; a < chr.length; a++) { + if (context.measureText(temp).width < 330) { + temp += chr[a]; + } else { + a--; //这里添加了a-- 是为了防止字符丢失,效果图中有对比 + row.push(temp); + temp = ""; + } + } + row.push(temp); + if (row.length > 12) { + var rowCut = row.slice(0, 12); + var rowPart = rowCut[11]; + var test = ""; + var empty = []; + for (var a = 0; a < rowPart.length; a++) { + if (context.measureText(test).width < 330) { + test += rowPart[a]; + } + else { + break; + } + } + empty.push(test); + var group = empty[0] + "..."//这里只显示两行,超出的用...表示 + rowCut.splice(11, 1, group); + row = rowCut; + } + for (var b = 0; b < row.length; b++) { + context.fillText(row[b], 20, 185+ b * 30, 500); + } + + //如果纸厂名字存在则在顶部图片区域中心绘制纸厂名称 + //这里先把细体文字绘制完再绘制加粗的顶部纸厂名称,如果不在最后绘制则需要使用ctx.font = 'normal 400 15px Arial, sans-serif';重置一下大小 + if(this.data.momentDetail.millPaperName){ + // context.setFontSize(24); + context.font="normal bold 24px sans-serif" + context.setFillStyle('#3539F8'); + context.setTextAlign('center'); + context.fillText(this.data.momentDetail.millPaperName, 187, 55); + context.stroke() + } + + + context.save(); // 保存当前context的状态 context.draw(); //将生成好的图片保存到本地,需要延迟一会,绘制期间耗时 setTimeout(function () { @@ -295,7 +375,7 @@ Page({ var tempFilePath = res.tempFilePath; that.setData({ imagePathHb: tempFilePath, - canvasHidden:true, + canvasHidden: true, maskHidden: true, }); }, @@ -304,16 +384,14 @@ Page({ } }); }, 200); - + }, - //点击保存到相册 - baocun:function(){ + //点击保存到相册 + baocun: function () { var that = this wx.saveImageToPhotosAlbum({ - filePath: that.data.imagePath, - + filePath: that.data.imagePathHb, success(res) { - console.log('filePath',filePath) wx.showModal({ content: '图片已保存到相册,赶紧晒一下吧~', showCancel: false, @@ -334,10 +412,10 @@ Page({ } }) }, - coloseHb(){ + coloseHb() { console.log(this.data) this.setData({ - maskHidden:false + maskHidden: false }) } }) \ No newline at end of file diff --git a/pakageInfo/pages/article/detail/index.wxml b/pakageInfo/pages/article/detail/index.wxml index 7c692de..387f094 100644 --- a/pakageInfo/pages/article/detail/index.wxml +++ b/pakageInfo/pages/article/detail/index.wxml @@ -82,7 +82,7 @@ - + @@ -103,11 +103,11 @@ - +