Commit 2abc3a971e27c54ea739d15855de3d60c3ed4df5
1 parent
aa559957
1. 自定义海报
Showing
2 changed files
with
133 additions
and
30 deletions
pages/goods/goodsInfo/goodsInfo.js
pages/team/team_success/team_success.js
| ... | ... | @@ -56,7 +56,34 @@ Page({ | 
| 56 | 56 | }) | 
| 57 | 57 | var pay_f = t.payf, order_sn = t.ordersn; | 
| 58 | 58 | this.setData({ pay_f: pay_f, order_sn: order_sn}), | 
| 59 | - this.init(order_sn) | |
| 59 | + this.init(order_sn); | |
| 60 | + | |
| 61 | + //-- 自定义海报 -- | |
| 62 | + getApp().request.promiseGet("/api/weshop/goods/poster/page",{ | |
| 63 | + data:{store_id:os.stoid, type:1, is_user:1 } | |
| 64 | + }).then(res=>{ | |
| 65 | + if(res.data.code==0){ | |
| 66 | + | |
| 67 | + var poster_data=res.data.data.pageData[0]; | |
| 68 | + var json_str=poster_data.jsonStr; | |
| 69 | + if(json_str){ | |
| 70 | + var json_data=JSON.parse(json_str); | |
| 71 | + if(json_data.bg_img){ | |
| 72 | + | |
| 73 | + //-- 把图片那到本地 -- | |
| 74 | + wx.getImageInfo({ | |
| 75 | + src:json_data.bg_img, | |
| 76 | + success: function(res) { | |
| 77 | + var path= res.path; | |
| 78 | + th.setData({share_b_img:path}) | |
| 79 | + }, | |
| 80 | + fail: function(res) {} | |
| 81 | + }); | |
| 82 | + } | |
| 83 | + th.setData({poster:json_data}) | |
| 84 | + } | |
| 85 | + } | |
| 86 | + }) | |
| 60 | 87 | }, | 
| 61 | 88 | //关闭展开列表 | 
| 62 | 89 | click:function(e){ | 
| ... | ... | @@ -377,19 +404,53 @@ Page({ | 
| 377 | 404 | console.log(vpath); | 
| 378 | 405 | |
| 379 | 406 | //先画背景 | 
| 380 | - var pg_path = "../../../images/share/share_bg.png"; | |
| 407 | + var pg_path = "../../../images/share/share_bg.png"; | |
| 408 | + //-- 如果有自定义海报的时候,判断背景的图片 -- | |
| 409 | + if(th.data.share_b_img){ | |
| 410 | + pg_path=th.data.share_b_img; | |
| 411 | + } | |
| 412 | + | |
| 381 | 413 | context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit); | 
| 382 | - //--昵称--- | |
| 383 | - context.setFontSize(24 * unit) | |
| 384 | - context.setFillStyle("black") | |
| 385 | - context.fillText(app.globalData.userInfo.nickname, 152 * unit, 76 * unit); | |
| 386 | - var width = 24 * app.globalData.userInfo.nickname.length * unit + 2 * unit; | |
| 387 | - //强烈推荐 | |
| 388 | - var tj_path = "../../../images/share/q_tj.png"; | |
| 389 | - context.drawImage(tj_path, 152 * unit + width, 54 * unit, 110 * unit, 30 * unit); | |
| 390 | - context.setFontSize(18 * unit) | |
| 391 | - context.setFillStyle("white") | |
| 392 | - context.fillText('强烈推荐', 152 * unit + width + 20 * unit, 76 * unit); | |
| 414 | + | |
| 415 | + //-- 是自定义海报的情况下 -- | |
| 416 | + if(th.data.poster){ | |
| 417 | + //在线上分享人的情况下 | |
| 418 | + if(parseInt(th.data.poster.show_headpic)){ | |
| 419 | + //获取坐标 | |
| 420 | + var x=parseFloat(th.data.poster.head_x)*2; | |
| 421 | + var y=parseFloat(th.data.poster.head_y)*2; | |
| 422 | + var x1=(x+90) *unit; | |
| 423 | + var y1=(y+50) *unit; | |
| 424 | + //--昵称--- | |
| 425 | + context.setFontSize(24 * unit) | |
| 426 | + context.setFillStyle("black") | |
| 427 | + context.fillText(app.globalData.userInfo.nickname, x1, y1); | |
| 428 | + var width = 24 * app.globalData.userInfo.nickname.length * unit + 4 * unit; | |
| 429 | + //强烈推荐 改许程 | |
| 430 | + var tj_path = "../../../images/share/q_tj.png"; | |
| 431 | + context.drawImage(tj_path, x1 + width, y1-22*unit, 85 * unit, 30 * unit); | |
| 432 | + context.setFontSize(16 * unit) | |
| 433 | + context.setLineJoin('round'); //交点设置成圆角 | |
| 434 | + context.setFillStyle("white") | |
| 435 | + context.fillText('强烈推荐', x1 + width+8*unit, y1-1*unit); | |
| 436 | + } | |
| 437 | + | |
| 438 | + }else{ | |
| 439 | + //--昵称--- | |
| 440 | + context.setFontSize(24 * unit) | |
| 441 | + context.setFillStyle("black") | |
| 442 | + context.fillText(app.globalData.userInfo.nickname, 152 * unit, 76 * unit); | |
| 443 | + var width = 24 * app.globalData.userInfo.nickname.length * unit + 2 * unit; | |
| 444 | + //强烈推荐 | |
| 445 | + var tj_path = "../../../images/share/q_tj.png"; | |
| 446 | + context.drawImage(tj_path, 152 * unit + width, 54 * unit, 110 * unit, 30 * unit); | |
| 447 | + context.setFontSize(18 * unit) | |
| 448 | + context.setFillStyle("white") | |
| 449 | + context.fillText('强烈推荐', 152 * unit + width + 20 * unit, 76 * unit); | |
| 450 | + } | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 393 | 454 | |
| 394 | 455 | //---产品名称--- | 
| 395 | 456 | context.setFontSize(21.3 * unit); | 
| ... | ... | @@ -468,7 +529,15 @@ Page({ | 
| 468 | 529 | context.setFontSize(22 * unit) | 
| 469 | 530 | context.fillText("长按识别二维码,立即参团", 40 * unit, 856 * unit); | 
| 470 | 531 | //---二维吗图--- | 
| 471 | - context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit); | |
| 532 | + //-- 自定义海报 -- | |
| 533 | + if(th.data.poster){ | |
| 534 | + var erm_x= parseFloat(th.data.poster.ewm_x)*2; | |
| 535 | + var erm_y= parseFloat(th.data.poster.ewm_y)*2; | |
| 536 | + context.drawImage(vpath, erm_x * unit, erm_y * unit, 120 * unit, 120 * unit); | |
| 537 | + }else{ | |
| 538 | + //---二维吗图--- | |
| 539 | + context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit); | |
| 540 | + } | |
| 472 | 541 | break | 
| 473 | 542 | case 2://阶梯团的展示 | 
| 474 | 543 | //---画线--- | 
| ... | ... | @@ -503,24 +572,58 @@ Page({ | 
| 503 | 572 | |
| 504 | 573 | context.fillText("长按识别二维码,立即参团", 40 * unit, 860 * unit); | 
| 505 | 574 | //---二维吗图--- | 
| 506 | - context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit); | |
| 575 | + //-- 自定义海报 -- | |
| 576 | + if(th.data.poster){ | |
| 577 | + var erm_x= parseFloat(th.data.poster.ewm_x)*2; | |
| 578 | + var erm_y= parseFloat(th.data.poster.ewm_y)*2; | |
| 579 | + context.drawImage(vpath, erm_x * unit, erm_y * unit, 120 * unit, 120 * unit); | |
| 580 | + }else{ | |
| 581 | + //---二维吗图--- | |
| 582 | + context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit); | |
| 583 | + } | |
| 507 | 584 | break | 
| 508 | 585 | } | 
| 509 | 586 | |
| 510 | - //---绘制圆形要放在最后---- | |
| 511 | - context.save(); | |
| 512 | - context.beginPath(); | |
| 513 | - var h_x = 60 * unit; | |
| 514 | - var h_y = 24 * unit; | |
| 515 | - var h_r = 40 * unit; | |
| 516 | - var cx = h_x + h_r; | |
| 517 | - var cy = h_y + h_r; | |
| 518 | - context.arc(cx, cy, h_r, 0, Math.PI * 2, false); | |
| 519 | - context.closePath(); | |
| 520 | - context.fill(); | |
| 521 | - context.clip(); | |
| 522 | - context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2); | |
| 523 | - context.restore(); | |
| 587 | + //--- 如果是自定义海报的时候 --- | |
| 588 | + if(th.data.poster){ | |
| 589 | + | |
| 590 | + //如果显示会员信息的话 | |
| 591 | + if(parseInt(th.data.poster.show_headpic)){ | |
| 592 | + //获取坐标 | |
| 593 | + var x= parseFloat(th.data.poster.head_x)*2; | |
| 594 | + var y=parseFloat(th.data.poster.head_y)*2; | |
| 595 | + //---绘制圆形要放在最后---- | |
| 596 | + context.save(); | |
| 597 | + context.beginPath(); | |
| 598 | + var h_x = x* unit; | |
| 599 | + var h_y = y * unit; | |
| 600 | + var h_r = 40 * unit; | |
| 601 | + var cx = h_x + h_r; | |
| 602 | + var cy = h_y + h_r; | |
| 603 | + context.arc(cx, cy, h_r, 0, Math.PI * 2, false); | |
| 604 | + context.closePath(); | |
| 605 | + context.fill(); | |
| 606 | + context.clip(); | |
| 607 | + context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2); | |
| 608 | + context.restore(); | |
| 609 | + } | |
| 610 | + | |
| 611 | + }else{ | |
| 612 | + //---绘制圆形要放在最后---- | |
| 613 | + context.save(); | |
| 614 | + context.beginPath(); | |
| 615 | + var h_x = 60 * unit; | |
| 616 | + var h_y = 24 * unit; | |
| 617 | + var h_r = 40 * unit; | |
| 618 | + var cx = h_x + h_r; | |
| 619 | + var cy = h_y + h_r; | |
| 620 | + context.arc(cx, cy, h_r, 0, Math.PI * 2, false); | |
| 621 | + context.closePath(); | |
| 622 | + context.fill(); | |
| 623 | + context.clip(); | |
| 624 | + context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2); | |
| 625 | + context.restore(); | |
| 626 | + } | |
| 524 | 627 | |
| 525 | 628 | //把画板内容绘制成图片,并回调 画板图片路径 | 
| 526 | 629 | context.draw(false, function () { | ... | ... | 
