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 | }; | ... | ... |