Commit da39d48cceb35589f9af2da5ae2cc91c6ae2b4de
Merge branch 'dev' into 'test'
拼团文字不显示 See merge request !11
Showing
3 changed files
with
65 additions
and
27 deletions
pages/goods/goodsInfo/goodsInfo.js
| @@ -2215,6 +2215,12 @@ Page({ | @@ -2215,6 +2215,12 @@ Page({ | ||
| 2215 | //---产品名称--- | 2215 | //---产品名称--- |
| 2216 | //文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度 | 2216 | //文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度 |
| 2217 | console.log("ssssssss", th.data.data.goods_name); | 2217 | console.log("ssssssss", th.data.data.goods_name); |
| 2218 | + | ||
| 2219 | +f //文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度 | ||
| 2220 | + console.log("ssssssss", th.data.data.goods_name); | ||
| 2221 | + | ||
| 2222 | + context.setFillStyle("black"); | ||
| 2223 | + context.setFontSize(21.3 * unit) | ||
| 2218 | th.draw_Text(context, th.data.data.goods_name, | 2224 | th.draw_Text(context, th.data.data.goods_name, |
| 2219 | 38 * unit, 180 * unit, 200 * unit, 279 * unit, unit); | 2225 | 38 * unit, 180 * unit, 200 * unit, 279 * unit, unit); |
| 2220 | //------产品的价格------- | 2226 | //------产品的价格------- |
| @@ -2302,7 +2308,7 @@ Page({ | @@ -2302,7 +2308,7 @@ Page({ | ||
| 2302 | context.fillText("快来和我一起拼团吧!", 40 * unit, 826 * unit); | 2308 | context.fillText("快来和我一起拼团吧!", 40 * unit, 826 * unit); |
| 2303 | context.setFillStyle("black") | 2309 | context.setFillStyle("black") |
| 2304 | context.font = 'normal bold 18px sans-serif'; | 2310 | context.font = 'normal bold 18px sans-serif'; |
| 2305 | - context.setFontSize(22 * unit) | 2311 | + context.setFontSize(21.3 * unit) |
| 2306 | context.fillText("长按识别二维码,立即参团", 40 * unit, 856 * unit); | 2312 | context.fillText("长按识别二维码,立即参团", 40 * unit, 856 * unit); |
| 2307 | //---二维吗图--- | 2313 | //---二维吗图--- |
| 2308 | context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit); | 2314 | context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit); |
| @@ -2406,12 +2412,11 @@ Page({ | @@ -2406,12 +2412,11 @@ Page({ | ||
| 2406 | var han=0; | 2412 | var han=0; |
| 2407 | for (let i = 0; i < str.length; i++) { | 2413 | for (let i = 0; i < str.length; i++) { |
| 2408 | if(han==2) return; | 2414 | if(han==2) return; |
| 2409 | - lineWidth += ctx.measureText(str[i]).width; | 2415 | + //lineWidth += ctx.measureText(str[i]).width; |
| 2416 | + lineWidth += ut.measureText(str[i], 21.3 * unit); | ||
| 2410 | if (lineWidth > canvasWidth) { | 2417 | if (lineWidth > canvasWidth) { |
| 2411 | han++; | 2418 | han++; |
| 2412 | - ctx.setFontSize(21.3 * unit) | ||
| 2413 | - ctx.setFillStyle("black") | ||
| 2414 | - | 2419 | + |
| 2415 | if (han==2) | 2420 | if (han==2) |
| 2416 | ctx.fillText(str.substring(lastSubStrIndex, i)+'...', leftWidth, initHeight); //绘制截取部分 | 2421 | ctx.fillText(str.substring(lastSubStrIndex, i)+'...', leftWidth, initHeight); //绘制截取部分 |
| 2417 | else | 2422 | else |
| @@ -2423,8 +2428,6 @@ Page({ | @@ -2423,8 +2428,6 @@ Page({ | ||
| 2423 | titleHeight += 20; | 2428 | titleHeight += 20; |
| 2424 | } | 2429 | } |
| 2425 | if (i == str.length - 1) { //绘制剩余部分 | 2430 | if (i == str.length - 1) { //绘制剩余部分 |
| 2426 | - ctx.setFontSize(21.3 * unit) | ||
| 2427 | - ctx.setFillStyle("black") | ||
| 2428 | ctx.fillText(str.substring(lastSubStrIndex, i + 1), leftWidth, initHeight); | 2431 | ctx.fillText(str.substring(lastSubStrIndex, i + 1), leftWidth, initHeight); |
| 2429 | } | 2432 | } |
| 2430 | } | 2433 | } |
pages/team/team_success/team_success.js
| @@ -47,7 +47,6 @@ Page({ | @@ -47,7 +47,6 @@ Page({ | ||
| 47 | }, | 47 | }, |
| 48 | onLoad: function (t) { | 48 | onLoad: function (t) { |
| 49 | wx.setNavigationBarTitle({ title: "拼团订单",}) | 49 | wx.setNavigationBarTitle({ title: "拼团订单",}) |
| 50 | - | ||
| 51 | var that=this; | 50 | var that=this; |
| 52 | //获取用户设备信息,屏幕宽度 | 51 | //获取用户设备信息,屏幕宽度 |
| 53 | wx.getSystemInfo({ | 52 | wx.getSystemInfo({ |
| @@ -201,7 +200,6 @@ Page({ | @@ -201,7 +200,6 @@ Page({ | ||
| 201 | } | 200 | } |
| 202 | 201 | ||
| 203 | 202 | ||
| 204 | - | ||
| 205 | //获取商品信息 | 203 | //获取商品信息 |
| 206 | await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + goods_id, { | 204 | await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + goods_id, { |
| 207 | }).then(res => { | 205 | }).then(res => { |
| @@ -270,8 +268,7 @@ Page({ | @@ -270,8 +268,7 @@ Page({ | ||
| 270 | wx.setNavigationBarTitle({ | 268 | wx.setNavigationBarTitle({ |
| 271 | title: "拼团详情", | 269 | title: "拼团详情", |
| 272 | }) | 270 | }) |
| 273 | - | ||
| 274 | - | 271 | + |
| 275 | ee.countDown2(); | 272 | ee.countDown2(); |
| 276 | 273 | ||
| 277 | //获取分享图片的本地地址 | 274 | //获取分享图片的本地地址 |
| @@ -365,6 +362,10 @@ Page({ | @@ -365,6 +362,10 @@ Page({ | ||
| 365 | th.get_head_temp(th.get_goods_temp,function () { | 362 | th.get_head_temp(th.get_goods_temp,function () { |
| 366 | var vpath = res.path; | 363 | var vpath = res.path; |
| 367 | var context = wx.createCanvasContext('share'); | 364 | var context = wx.createCanvasContext('share'); |
| 365 | + | ||
| 366 | + console.log("saveImageToPhotosAlbum"); | ||
| 367 | + console.log(vpath); | ||
| 368 | + | ||
| 368 | //先画背景 | 369 | //先画背景 |
| 369 | var pg_path = "../../../images/share/share_bg.png"; | 370 | var pg_path = "../../../images/share/share_bg.png"; |
| 370 | context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit); | 371 | context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit); |
| @@ -381,8 +382,8 @@ Page({ | @@ -381,8 +382,8 @@ Page({ | ||
| 381 | context.fillText('强烈推荐', 152 * unit + width + 20 * unit, 76 * unit); | 382 | context.fillText('强烈推荐', 152 * unit + width + 20 * unit, 76 * unit); |
| 382 | 383 | ||
| 383 | //---产品名称--- | 384 | //---产品名称--- |
| 384 | - context.setFontSize(22 * unit) | ||
| 385 | - context.setFillStyle("black") | 385 | + context.setFontSize(21.3 * unit); |
| 386 | + context.setFillStyle("black"); | ||
| 386 | th.draw_Text(context, th.data.goods.goods_name, | 387 | th.draw_Text(context, th.data.goods.goods_name, |
| 387 | 40 * unit, 180 * unit, 200 * unit, 380 * unit); | 388 | 40 * unit, 180 * unit, 200 * unit, 380 * unit); |
| 388 | //------产品的价格------- | 389 | //------产品的价格------- |
| @@ -403,6 +404,10 @@ Page({ | @@ -403,6 +404,10 @@ Page({ | ||
| 403 | context.moveTo(438 * unit, 204 * unit) | 404 | context.moveTo(438 * unit, 204 * unit) |
| 404 | context.lineTo(510 * unit, 204 * unit) | 405 | context.lineTo(510 * unit, 204 * unit) |
| 405 | context.stroke(); | 406 | context.stroke(); |
| 407 | + | ||
| 408 | + console.log(th.data.share_img_localpath); | ||
| 409 | + | ||
| 410 | + | ||
| 406 | //---中间大图--- | 411 | //---中间大图--- |
| 407 | context.drawImage(th.data.share_img_localpath, 68 * unit, 242 * unit, 410 * unit, 410 * unit); | 412 | context.drawImage(th.data.share_img_localpath, 68 * unit, 242 * unit, 410 * unit, 410 * unit); |
| 408 | 413 | ||
| @@ -429,7 +434,6 @@ Page({ | @@ -429,7 +434,6 @@ Page({ | ||
| 429 | 434 | ||
| 430 | //---文字--- | 435 | //---文字--- |
| 431 | context.setFontSize(22 * unit) | 436 | context.setFontSize(22 * unit) |
| 432 | - context.font = 'normal bold'; | ||
| 433 | context.setFillStyle("black") | 437 | context.setFillStyle("black") |
| 434 | context.fillText("好物拼起来,拼拼更划算", 40 * unit, 726 * unit); | 438 | context.fillText("好物拼起来,拼拼更划算", 40 * unit, 726 * unit); |
| 435 | 439 | ||
| @@ -438,7 +442,7 @@ Page({ | @@ -438,7 +442,7 @@ Page({ | ||
| 438 | context.drawImage(ct_img, 40 * unit, 740 * unit, 120 * unit, 30 * unit); | 442 | context.drawImage(ct_img, 40 * unit, 740 * unit, 120 * unit, 30 * unit); |
| 439 | var ct_num = th.data.teamlist.ct_num; | 443 | var ct_num = th.data.teamlist.ct_num; |
| 440 | context.setFontSize(14 * unit) | 444 | context.setFontSize(14 * unit) |
| 441 | - context.font = 'normal'; | 445 | + |
| 442 | context.setFillStyle("red") | 446 | context.setFillStyle("red") |
| 443 | if(ct_num<10){ | 447 | if(ct_num<10){ |
| 444 | context.fillText(ct_num+"人拼团", 92 * unit, 760 * unit); | 448 | context.fillText(ct_num+"人拼团", 92 * unit, 760 * unit); |
| @@ -450,7 +454,7 @@ Page({ | @@ -450,7 +454,7 @@ Page({ | ||
| 450 | context.setFillStyle("gray") | 454 | context.setFillStyle("gray") |
| 451 | context.fillText(wz+"快来和我一起拼团吧!", 40 * unit, 826 * unit); | 455 | context.fillText(wz+"快来和我一起拼团吧!", 40 * unit, 826 * unit); |
| 452 | context.setFillStyle("black") | 456 | context.setFillStyle("black") |
| 453 | - context.font = 'normal bold 18px sans-serif'; | 457 | + |
| 454 | context.setFontSize(22 * unit) | 458 | context.setFontSize(22 * unit) |
| 455 | context.fillText("长按识别二维码,立即参团", 40 * unit, 856 * unit); | 459 | context.fillText("长按识别二维码,立即参团", 40 * unit, 856 * unit); |
| 456 | //---二维吗图--- | 460 | //---二维吗图--- |
| @@ -464,7 +468,6 @@ Page({ | @@ -464,7 +468,6 @@ Page({ | ||
| 464 | context.stroke(); | 468 | context.stroke(); |
| 465 | //---文字--- | 469 | //---文字--- |
| 466 | context.setFontSize(22 * unit) | 470 | context.setFontSize(22 * unit) |
| 467 | - context.font = 'normal bold'; | ||
| 468 | context.setFillStyle("black") | 471 | context.setFillStyle("black") |
| 469 | context.fillText("好物拼起来,拼拼更划算", 40 * unit, 726 * unit); | 472 | context.fillText("好物拼起来,拼拼更划算", 40 * unit, 726 * unit); |
| 470 | //---绘制中间阶梯的价格--- | 473 | //---绘制中间阶梯的价格--- |
| @@ -472,7 +475,6 @@ Page({ | @@ -472,7 +475,6 @@ Page({ | ||
| 472 | for(var i=0; i<list.length;i++){ | 475 | for(var i=0; i<list.length;i++){ |
| 473 | var item=list[i]; | 476 | var item=list[i]; |
| 474 | var wi=i*90*unit; | 477 | var wi=i*90*unit; |
| 475 | - context.font = 'normal'; | ||
| 476 | context.setFontSize(16 * unit) | 478 | context.setFontSize(16 * unit) |
| 477 | context.setFillStyle("red") | 479 | context.setFillStyle("red") |
| 478 | context.fillText("¥", 40 * unit+wi, 756 * unit); | 480 | context.fillText("¥", 40 * unit+wi, 756 * unit); |
| @@ -486,9 +488,9 @@ Page({ | @@ -486,9 +488,9 @@ Page({ | ||
| 486 | //----------------下面部分---------------- | 488 | //----------------下面部分---------------- |
| 487 | context.setFillStyle("gray") | 489 | context.setFillStyle("gray") |
| 488 | context.fillText(wz+"快来和我一起拼团吧!", 40 * unit, 830 * unit); | 490 | context.fillText(wz+"快来和我一起拼团吧!", 40 * unit, 830 * unit); |
| 489 | - context.setFillStyle("black") | ||
| 490 | - context.font = 'normal bold 18px sans-serif'; | 491 | + context.setFillStyle("black") |
| 491 | context.setFontSize(22 * unit) | 492 | context.setFontSize(22 * unit) |
| 493 | + | ||
| 492 | context.fillText("长按识别二维码,立即参团", 40 * unit, 860 * unit); | 494 | context.fillText("长按识别二维码,立即参团", 40 * unit, 860 * unit); |
| 493 | //---二维吗图--- | 495 | //---二维吗图--- |
| 494 | context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit); | 496 | context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit); |
| @@ -554,12 +556,12 @@ Page({ | @@ -554,12 +556,12 @@ Page({ | ||
| 554 | var han = 0; | 556 | var han = 0; |
| 555 | for (let i = 0; i < str.length; i++) { | 557 | for (let i = 0; i < str.length; i++) { |
| 556 | if (han == 2) return; | 558 | if (han == 2) return; |
| 557 | - lineWidth += ctx.measureText(str[i]).width; | 559 | + |
| 560 | + //lineWidth += ctx.measureText(str[i]).width; | ||
| 561 | + lineWidth += ut.measureText(str[i], 21.3 * unit); | ||
| 562 | + | ||
| 558 | if (lineWidth > canvasWidth) { | 563 | if (lineWidth > canvasWidth) { |
| 559 | han++; | 564 | han++; |
| 560 | - ctx.setFontSize(21.3 * unit) | ||
| 561 | - ctx.setFillStyle("black") | ||
| 562 | - | ||
| 563 | if (han == 2) | 565 | if (han == 2) |
| 564 | ctx.fillText(str.substring(lastSubStrIndex, i) + '...', leftWidth, initHeight); //绘制截取部分 | 566 | ctx.fillText(str.substring(lastSubStrIndex, i) + '...', leftWidth, initHeight); //绘制截取部分 |
| 565 | else | 567 | else |
| @@ -571,8 +573,6 @@ Page({ | @@ -571,8 +573,6 @@ Page({ | ||
| 571 | titleHeight += 20; | 573 | titleHeight += 20; |
| 572 | } | 574 | } |
| 573 | if (i == str.length - 1) { //绘制剩余部分 | 575 | if (i == str.length - 1) { //绘制剩余部分 |
| 574 | - ctx.setFontSize(21.3 * unit) | ||
| 575 | - ctx.setFillStyle("black") | ||
| 576 | ctx.fillText(str.substring(lastSubStrIndex, i + 1), leftWidth, initHeight); | 576 | ctx.fillText(str.substring(lastSubStrIndex, i + 1), leftWidth, initHeight); |
| 577 | } | 577 | } |
| 578 | } | 578 | } |
| @@ -649,7 +649,10 @@ Page({ | @@ -649,7 +649,10 @@ Page({ | ||
| 649 | tt(); | 649 | tt(); |
| 650 | } | 650 | } |
| 651 | }); | 651 | }); |
| 652 | - } | 652 | + }, |
| 653 | + | ||
| 654 | + | ||
| 655 | + | ||
| 653 | 656 | ||
| 654 | }) | 657 | }) |
| 655 | 658 |
utils/util.js
| @@ -200,6 +200,37 @@ function gettimestamp(){ | @@ -200,6 +200,37 @@ function gettimestamp(){ | ||
| 200 | timestamp = timestamp / 1000; | 200 | timestamp = timestamp / 1000; |
| 201 | return timestamp; | 201 | return timestamp; |
| 202 | } | 202 | } |
| 203 | + | ||
| 204 | + | ||
| 205 | +function measureText(text, fontSize = 10) { | ||
| 206 | + text = String(text); | ||
| 207 | + var text = text.split(''); | ||
| 208 | + var width = 0; | ||
| 209 | + text.forEach(function (item) { | ||
| 210 | + if (/[a-zA-Z]/.test(item)) { | ||
| 211 | + width += 7; | ||
| 212 | + } else if (/[0-9]/.test(item)) { | ||
| 213 | + width += 5.5; | ||
| 214 | + } else if (/\./.test(item)) { | ||
| 215 | + width += 2.7; | ||
| 216 | + } else if (/-/.test(item)) { | ||
| 217 | + width += 3.25; | ||
| 218 | + } else if (/[\u4e00-\u9fa5]/.test(item)) { //中文匹配 | ||
| 219 | + width += 10; | ||
| 220 | + } else if (/\(|\)/.test(item)) { | ||
| 221 | + width += 3.73; | ||
| 222 | + } else if (/\s/.test(item)) { | ||
| 223 | + width += 2.5; | ||
| 224 | + } else if (/%/.test(item)) { | ||
| 225 | + width += 8; | ||
| 226 | + } else { | ||
| 227 | + width += 10; | ||
| 228 | + } | ||
| 229 | + }); | ||
| 230 | + return width * fontSize / 10; | ||
| 231 | +} | ||
| 232 | + | ||
| 233 | + | ||
| 203 | module.exports = { | 234 | module.exports = { |
| 204 | formatTime: function(e, r) { | 235 | formatTime: function(e, r) { |
| 205 | var t = e ? new Date(1e3 * e) : new Date(), n = t.getFullYear(), o = t.getMonth() + 1, a = t.getDate(), u = t.getHours(), i = t.getMinutes(), f = t.getSeconds(), s = function(e) { | 236 | var t = e ? new Date(1e3 * e) : new Date(), n = t.getFullYear(), o = t.getMonth() + 1, a = t.getDate(), u = t.getHours(), i = t.getMinutes(), f = t.getSeconds(), s = function(e) { |
| @@ -287,4 +318,5 @@ module.exports = { | @@ -287,4 +318,5 @@ module.exports = { | ||
| 287 | isString: isString, | 318 | isString: isString, |
| 288 | isArray: isArray, | 319 | isArray: isArray, |
| 289 | sub_last: sub_last,//去掉末尾一个字符 | 320 | sub_last: sub_last,//去掉末尾一个字符 |
| 321 | + measureText: measureText,//画布需要的函数 | ||
| 290 | }; | 322 | }; |