Commit 921a3ab30c84a6180eb77279171ef1c52d5b8191
Merge branch 'dev' of http://git.vipzhuang.cn/wxd/MShopWeApp into dev
Showing
3 changed files
with
104 additions
and
29 deletions
components/diy_goodsGroup/diy_goodsGroup.js
pages/user/assistance/task_assistance.js
| ... | ... | @@ -44,15 +44,13 @@ Page({ |
| 44 | 44 | screenWidth: "", //用户的屏幕宽度 |
| 45 | 45 | gid: "", |
| 46 | 46 | images: ["miniapp/images/friendhelp/help.png", "miniapp/images/friendhelp/background.png", "miniapp/images/friendhelp/no_check.png", |
| 47 | - "miniapp/images/friendhelp/check.png", "miniapp/images/friendhelp/unfinished.png", | |
| 48 | - "/public/upload/libao/temp/2019/12-20/51f251f44ea0f67b8efdc5bfa3a434b0.jpg" | |
| 47 | + "miniapp/images/friendhelp/check.png", "miniapp/images/friendhelp/unfinished.png","miniapp/images/xc_ellipsis.png" | |
| 49 | 48 | ], //固的分享图片 |
| 50 | 49 | |
| 51 | 50 | dynamic: null, //已助力的微信头像数组 |
| 52 | 51 | head_pic_arr: [], //助力的头像 |
| 53 | 52 | share_lb_img: "", //分享的礼包图片 |
| 54 | 53 | |
| 55 | - | |
| 56 | 54 | is_generate: 0, //是否重复点击拆一拆 |
| 57 | 55 | already: 0, //已有几人助力 |
| 58 | 56 | lack: 0, //还差几人助力 |
| ... | ... | @@ -646,38 +644,91 @@ Page({ |
| 646 | 644 | ctx.drawImage(images[3], 65 * unit, 445 * unit, 320 * unit * c, 12 * unit); |
| 647 | 645 | var head_list_num = 30; |
| 648 | 646 | var is_head_list = 0; |
| 649 | - if (help_num < 8) { | |
| 650 | - // 判断已助力的人数 | |
| 651 | - | |
| 652 | - for (var a = 0; a < head_list_img.length; a++) { | |
| 653 | - ctx.save(); | |
| 654 | - ctx.beginPath(); //开始绘制 | |
| 655 | - ctx.arc(left + imagesize / 2, 505 * unit, imagesize / 2, 0, 2 * Math.PI); | |
| 656 | - ctx.setLineWidth(4 * unit); | |
| 657 | - ctx.setStrokeStyle('red'); | |
| 658 | - ctx.setFillStyle("white"); | |
| 659 | - ctx.fill(); | |
| 660 | - ctx.clip(); | |
| 661 | - ctx.drawImage(head_list_img[a], left , 505 * unit - imagesize / 2, imagesize, imagesize); | |
| 662 | - ctx.restore(); | |
| 663 | - left += imagesize + spacing; | |
| 664 | - } | |
| 665 | - //这个是还未助力的位置 | |
| 666 | - for (var i = 0; i < q_num; i++) { | |
| 667 | - // 助力人的头像 | |
| 668 | - ctx.drawImage(images[4], left , 505 * unit - imagesize / 2, imagesize, imagesize); //分享的背景图片 | |
| 669 | - left += imagesize + spacing; | |
| 670 | - } | |
| 671 | - } | |
| 672 | - | |
| 673 | - | |
| 647 | + | |
| 648 | + //当需要助力人数小与6个 | |
| 649 | + if (help_num < 6) { | |
| 650 | + var pos_arr=ut.get_box_arr(help_num,225.25*unit,505 * unit,spacing,imagesize / 2); | |
| 651 | + var now_ind=0; | |
| 652 | + //--判断已助力的人数-- | |
| 653 | + for (var a = 0; a < head_list_img.length; a++) { | |
| 654 | + var pos= pos_arr[now_ind]; | |
| 655 | + ut.draw_circle(ctx,pos.x, pos.y, imagesize / 2,head_list_img[a],'red',unit); | |
| 656 | + now_ind++; | |
| 657 | + } | |
| 658 | + //--显示还差的人数-- | |
| 659 | + if(help_num-head_list_img.length>0){ | |
| 660 | + var neednum=help_num-head_list_img.length; | |
| 661 | + //这个是还未助力的位置 | |
| 662 | + for (var i = 0; i < neednum; i++) { | |
| 663 | + var pos= pos_arr[now_ind]; | |
| 664 | + now_ind++; | |
| 665 | + // 助力人的头像 | |
| 666 | + ctx.drawImage(images[4], pos.x-imagesize/2, pos.y-imagesize/2,imagesize, imagesize); //分享的背景图片 | |
| 667 | + | |
| 668 | + } | |
| 669 | + } | |
| 670 | + | |
| 671 | + }else if(help_num>7){ | |
| 672 | + //助力头像数量, 是不是要显示省略图 | |
| 673 | + var zl_head=0,is_sheng=0; | |
| 674 | + if(head_list_img.length>=6) { | |
| 675 | + zl_head=5;is_sheng=1; | |
| 676 | + }else{ | |
| 677 | + zl_head=head_list_img.length; | |
| 678 | + } | |
| 679 | + | |
| 680 | + | |
| 681 | + //判断已助力的人数 | |
| 682 | + for (var a = 0; a < zl_head; a++) { | |
| 683 | + //绘制头像 | |
| 684 | + ut.draw_circle(ctx,left + imagesize / 2, 505 * unit, imagesize / 2,head_list_img[a],'red',unit); | |
| 685 | + left += imagesize + spacing; | |
| 686 | + } | |
| 687 | + | |
| 688 | + //如果是省略号的话 | |
| 689 | + if(is_sheng){ | |
| 690 | + ctx.drawImage(images[5], left , 505 * unit - imagesize / 2, imagesize, imagesize); //头像的省略图片 | |
| 691 | + }else{ | |
| 692 | + //这个是还未助力的位置 | |
| 693 | + for (var i = 0; i < 6-head_list_img.length; i++) { | |
| 694 | + // 助力人的头像 | |
| 695 | + ctx.drawImage(images[4], left , 505 * unit - imagesize / 2, imagesize, imagesize); //分享的?号图片 | |
| 696 | + left += imagesize + spacing; | |
| 697 | + } | |
| 698 | + } | |
| 699 | + }else{ | |
| 700 | + // 判断已助力的人数 | |
| 701 | + for (var a = 0; a < head_list_img.length; a++) { | |
| 702 | + ctx.save(); | |
| 703 | + ctx.beginPath(); //开始绘制 | |
| 704 | + ctx.arc(left + imagesize / 2, 505 * unit, imagesize / 2, 0, 2 * Math.PI); | |
| 705 | + ctx.setLineWidth(4 * unit); | |
| 706 | + ctx.setStrokeStyle('red'); | |
| 707 | + ctx.setFillStyle("white"); | |
| 708 | + ctx.fill(); | |
| 709 | + ctx.clip(); | |
| 710 | + ctx.drawImage(head_list_img[a], left , 505 * unit - imagesize / 2, imagesize, imagesize); | |
| 711 | + ctx.restore(); | |
| 712 | + left += imagesize + spacing; | |
| 713 | + } | |
| 714 | + | |
| 715 | + if(help_num-head_list_img.lengt>0){ | |
| 716 | + var neednum=help_num-head_list_img.length; | |
| 717 | + //这个是还未助力的位置 | |
| 718 | + for (var i = 0; i < neednum; i++) { | |
| 719 | + // 助力人的头像 | |
| 720 | + ctx.drawImage(images[4], left , 505 * unit - imagesize / 2, imagesize, imagesize); //分享的背景图片 | |
| 721 | + left += imagesize + spacing; | |
| 722 | + } | |
| 723 | + } | |
| 724 | + | |
| 725 | + } | |
| 674 | 726 | |
| 675 | 727 | ctx.setFillStyle("rgb(255,255,255)"); |
| 676 | 728 | ctx.setFontSize(size); |
| 677 | 729 | ctx.fillText("优惠乐翻天,精彩就在你身边!", 37 * unit, 595 * unit); |
| 678 | 730 | ctx.setFillStyle("rgb(255,255,255)"); |
| 679 | 731 | ctx.setFontSize(size); |
| 680 | - | |
| 681 | 732 | ctx.fillText(act_time, 37 * unit, 620 * unit); //绘制活动是时间 |
| 682 | 733 | ctx.setFillStyle("rgb(255,255,255)"); |
| 683 | 734 | ctx.setFontSize(size); | ... | ... |
utils/util.js
| ... | ... | @@ -322,6 +322,28 @@ function get_box_arr(num,x,y,sp,r){ |
| 322 | 322 | if(num==5) return [{x:x-2*sp-4*r,y:y},{x:x-sp-2*r,y:y},{x:x,y:y},{x:x+sp+2*r,y:y},{x:x+2*sp+4*r,y:y}]; |
| 323 | 323 | } |
| 324 | 324 | |
| 325 | +/** | |
| 326 | + * @param {Object} ctx 画图句柄 | |
| 327 | + * @param {Object} x x坐标 | |
| 328 | + * @param {Object} y y坐标 | |
| 329 | + * @param {Object} img 画的图片 | |
| 330 | + * @param {Object} color 边框的颜色 | |
| 331 | + */ | |
| 332 | + | |
| 333 | +function draw_circle(ctx,x,y,r,img,color,unit){ | |
| 334 | + ctx.save(); | |
| 335 | + ctx.beginPath(); //开始绘制 | |
| 336 | + ctx.arc(x,y,r,0,2 * Math.PI); | |
| 337 | + ctx.setLineWidth(4 * unit); | |
| 338 | + ctx.setStrokeStyle('red'); | |
| 339 | + ctx.setFillStyle("white"); | |
| 340 | + ctx.fill(); | |
| 341 | + ctx.clip(); | |
| 342 | + ctx.drawImage(img,x-r,y-r,2*r,2*r); | |
| 343 | + ctx.restore(); | |
| 344 | +} | |
| 345 | + | |
| 346 | + | |
| 325 | 347 | function null_promise(){ |
| 326 | 348 | var promise=new Promise(function(resolve, reject){ var ob={code:-1,data:null}; resolve(ob); }); return promise; |
| 327 | 349 | } |
| ... | ... | @@ -425,4 +447,5 @@ module.exports = { |
| 425 | 447 | draw_randon_rect:draw_randon_rect ,//画图画圆角矩形 |
| 426 | 448 | null_promise:null_promise,//返回空的promise |
| 427 | 449 | get_box_arr:get_box_arr,//返回圆的数组 |
| 450 | + draw_circle:draw_circle,//绘制圆 | |
| 428 | 451 | }; | ... | ... |