Commit 40496a9d98768ae916f0ef747c08f0b2ffb31403
1 parent
51096a59
服务卡自定义模版分页大小设置,商品拼团和秒杀分享海报修改
Showing
2 changed files
with
89 additions
and
55 deletions
components/diy_serviceCard/diy_serviceCard.js
@@ -217,7 +217,8 @@ Component({ | @@ -217,7 +217,8 @@ Component({ | ||
217 | // await app.request.get("/api/weshop/serviceCard/page?store_id=" + os.stoid + "&goodsidlist=" + str, { | 217 | // await app.request.get("/api/weshop/serviceCard/page?store_id=" + os.stoid + "&goodsidlist=" + str, { |
218 | await app.request.get("/api/weshop/serviceCard/page?store_id=" + os.stoid + "&ids=" + str, { | 218 | await app.request.get("/api/weshop/serviceCard/page?store_id=" + os.stoid + "&ids=" + str, { |
219 | data: { | 219 | data: { |
220 | - user_id: user_id | 220 | + user_id: user_id, |
221 | + pageSize: th.data.goodscount, | ||
221 | }, | 222 | }, |
222 | isShowLoading: false, | 223 | isShowLoading: false, |
223 | success: function(res) { | 224 | success: function(res) { |
pages/goods/goodsInfo/goodsInfo.js
@@ -4682,36 +4682,30 @@ Page({ | @@ -4682,36 +4682,30 @@ Page({ | ||
4682 | }, | 4682 | }, |
4683 | 4683 | ||
4684 | 4684 | ||
4685 | - drawPoster(context, unit, img, vpath) { | 4685 | + drawPoster(context, unit, img, vpath, type) { |
4686 | // 1.灰色背景 | 4686 | // 1.灰色背景 |
4687 | context.setFillStyle('#f2f1f6'); | 4687 | context.setFillStyle('#f2f1f6'); |
4688 | context.rect(0, 0, 554 * unit, 899 * unit); | 4688 | context.rect(0, 0, 554 * unit, 899 * unit); |
4689 | context.fill(); | 4689 | context.fill(); |
4690 | + | ||
4690 | // 2.商城名称 | 4691 | // 2.商城名称 |
4691 | let shopName = this.data.sto_sele_name_1; | 4692 | let shopName = this.data.sto_sele_name_1; |
4692 | - // let shopNameLen = context.measureText(shopName); | ||
4693 | - // let x_shopNameLen = (554 - shopNameLen.width)/2*unit; | ||
4694 | - // console.log('11111111111111',shopNameLen,x_shopNameLen); | ||
4695 | context.setTextAlign('center'); | 4693 | context.setTextAlign('center'); |
4696 | context.setFontSize(26 * unit); | 4694 | context.setFontSize(26 * unit); |
4697 | context.setFillStyle('black'); | 4695 | context.setFillStyle('black'); |
4698 | context.fillText(shopName, 277 * unit, 60 * unit); | 4696 | context.fillText(shopName, 277 * unit, 60 * unit); |
4699 | - // // 3.推荐来源 | 4697 | + |
4698 | + // 3.推荐来源 | ||
4700 | let fromText = `来自${getApp().globalData.userInfo.nickname}的推荐`; | 4699 | let fromText = `来自${getApp().globalData.userInfo.nickname}的推荐`; |
4701 | - // let fromTextLen = context.measureText(fromText); | ||
4702 | - // let x_fromText = (375 - fromTextLen.width)/2; | ||
4703 | - // console.log('222222',fromTextLen,x_fromText); | ||
4704 | context.setTextAlign('center'); | 4700 | context.setTextAlign('center'); |
4705 | context.setFontSize(22 * unit); | 4701 | context.setFontSize(22 * unit); |
4706 | context.setFillStyle('#96959a'); | 4702 | context.setFillStyle('#96959a'); |
4707 | context.fillText(fromText, 277 * unit, 105 * unit); | 4703 | context.fillText(fromText, 277 * unit, 105 * unit); |
4704 | + | ||
4708 | // 4.海报背景 | 4705 | // 4.海报背景 |
4709 | - // context.beginPath(); | ||
4710 | - // context.setStrokeStyle('#f2f1f6'); | ||
4711 | context.setFillStyle('white'); | 4706 | context.setFillStyle('white'); |
4712 | context.fillRect(37 * unit, 157 * unit, 480 * unit, 673 * unit); | 4707 | context.fillRect(37 * unit, 157 * unit, 480 * unit, 673 * unit); |
4713 | - // context.stroke(); | ||
4714 | - // context.fill(); | 4708 | + |
4715 | // 5.商品图片 | 4709 | // 5.商品图片 |
4716 | // 图片的x坐标 | 4710 | // 图片的x坐标 |
4717 | let bg_x = 37 * unit | 4711 | let bg_x = 37 * unit |
@@ -4732,46 +4726,87 @@ Page({ | @@ -4732,46 +4726,87 @@ Page({ | ||
4732 | context.arc(bg_x, bg_y + bg_h, 0, Math.PI * 0.5, Math.PI) | 4726 | context.arc(bg_x, bg_y + bg_h, 0, Math.PI * 0.5, Math.PI) |
4733 | context.clip() | 4727 | context.clip() |
4734 | context.drawImage(img, bg_x, bg_y, bg_w, bg_h); | 4728 | context.drawImage(img, bg_x, bg_y, bg_w, bg_h); |
4735 | - context.restore() | 4729 | + context.restore(); |
4730 | + | ||
4736 | // 6.强烈推荐 | 4731 | // 6.强烈推荐 |
4737 | - // context.beginPath(); | ||
4738 | - let tj_path = "../../../images/share/q_tj.png"; | ||
4739 | - context.beginPath() | ||
4740 | - context.drawImage(tj_path, 54 * unit, 648 * unit, 85 * unit, 30 * unit); | ||
4741 | - context.setFontSize(16 * unit) | ||
4742 | - context.setLineJoin('round'); //交点设置成圆角 | ||
4743 | - context.setFillStyle("white") | ||
4744 | - context.setTextAlign('left'); | ||
4745 | - context.fillText('强烈推荐', 64 * unit, 668 * unit); | 4732 | + let src = ''; |
4733 | + context.beginPath(); | ||
4734 | + if(type == 0) { // 普通 | ||
4735 | + src = '../../../images/share/q_tj.png'; | ||
4736 | + context.drawImage(src, 54 * unit, 648 * unit, 85 * unit, 30 * unit); | ||
4737 | + context.setFontSize(16 * unit) | ||
4738 | + context.setFillStyle("white") | ||
4739 | + context.setTextAlign('left'); | ||
4740 | + context.fillText('强烈推荐', 64 * unit, 668 * unit); | ||
4741 | + }; | ||
4742 | + if(type == 1) { // 秒杀 | ||
4743 | + src = '../../../images/share/miao_share.png'; | ||
4744 | + context.drawImage(src, 54 * unit, 648 * unit, 200 * unit, 36 * unit); | ||
4745 | + }; | ||
4746 | + if(type == 2) { // 商家和会员团 | ||
4747 | + src = '../../../images/share/ct_num.png'; | ||
4748 | + context.drawImage(src, 54 * unit, 648 * unit, 120 * unit, 30 * unit); | ||
4749 | + context.setTextAlign('left'); | ||
4750 | + | ||
4751 | + let ct_num = self.data.prom_act.ct_num; | ||
4752 | + context.setFontSize(16 * unit) | ||
4753 | + context.font = 'normal'; | ||
4754 | + context.setFillStyle("red") | ||
4755 | + if (ct_num < 10) { | ||
4756 | + context.fillText(ct_num + "人拼团", 100 * unit, 670 * unit); | ||
4757 | + } else { | ||
4758 | + context.fillText(ct_num + "人拼团", 96 * unit, 670 * unit); | ||
4759 | + } | ||
4760 | + context.setFontSize(22 * unit) | ||
4761 | + context.fillText("已拼" + self.data.prom_act.buy_num + "份", 186 * unit, 672 * unit); | ||
4762 | + }; | ||
4763 | + if(type == 3) { // 阶梯团 | ||
4764 | + let list = self.data.prom_act.ct_rylist; | ||
4765 | + for (let i = 0; i < list.length; i++) { | ||
4766 | + let item = list[i]; | ||
4767 | + let wi = i * 90 * unit; | ||
4768 | + context.font = 'normal'; | ||
4769 | + context.setTextAlign('left'); | ||
4770 | + context.setFontSize(16 * unit) | ||
4771 | + context.setFillStyle("red") | ||
4772 | + context.fillText("¥", 50 * unit + wi, 680 * unit); | ||
4773 | + context.setFontSize(22 * unit) | ||
4774 | + let pri = parseFloat(item.price).toFixed(2); | ||
4775 | + context.fillText(pri, 66 * unit + wi, 680 * unit); | ||
4776 | + context.setFillStyle("gray") | ||
4777 | + context.fillText("满" + item.rynum + "人", 50 * unit + wi, 716 * unit); | ||
4778 | + } | ||
4779 | + }; | ||
4780 | + | ||
4746 | // 7.商品价格 | 4781 | // 7.商品价格 |
4747 | - let price = '¥' + this.data.data.shop_price; | ||
4748 | - | ||
4749 | - if (this.data.card_field && this.data.data[this.data.card_field]) { | ||
4750 | - price = '¥' + this.data.data[this.data.card_field]; | ||
4751 | - } | ||
4752 | - | ||
4753 | - | ||
4754 | - // if (th.data.prom_act) | ||
4755 | - // pri0 = th.data.prom_act.price; | ||
4756 | - context.setFontSize(32 * unit); | ||
4757 | - context.setFillStyle('#DE1117'); | ||
4758 | - context.fillText(price, 54 * unit, 730 * unit); | ||
4759 | - // 8.商品标题 | ||
4760 | - context.setFontSize(20 * unit); | ||
4761 | - context.setFillStyle('#898989'); | ||
4762 | - this.draw_Text(context, this.data.data.goods_name, | ||
4763 | - 54 * unit, 770 * unit, 240 * unit, 240 * unit, unit); | 4782 | + if(type != 3) { |
4783 | + let price = this.data.data.shop_price; | ||
4784 | + if (this.data.card_field && this.data.data[this.data.card_field]) { | ||
4785 | + price = this.data.data[this.data.card_field]; | ||
4786 | + } | ||
4787 | + if (this.data.prom_act) price = this.data.prom_price; | ||
4788 | + price = parseFloat(price).toFixed(2); | ||
4789 | + context.setFontSize(32 * unit); | ||
4790 | + context.setFillStyle('#DE1117'); | ||
4791 | + context.fillText('¥' + price, 54 * unit, 730 * unit); | ||
4792 | + }; | ||
4793 | + | ||
4794 | + // 8.商品标题 | ||
4795 | + context.setFontSize(20 * unit); | ||
4796 | + context.setFillStyle('#898989'); | ||
4797 | + this.draw_Text(context, this.data.data.goods_name, 54 * unit, 770 * unit, 240 * unit, 240 * unit, unit); | ||
4798 | + | ||
4764 | // 9.小程序码 | 4799 | // 9.小程序码 |
4765 | context.drawImage(vpath, 375 * unit, 660 * unit, 120 * unit, 120 * unit); | 4800 | context.drawImage(vpath, 375 * unit, 660 * unit, 120 * unit, 120 * unit); |
4766 | context.setFontSize(16 * unit); | 4801 | context.setFontSize(16 * unit); |
4767 | context.setFillStyle('#777'); | 4802 | context.setFillStyle('#777'); |
4768 | context.fillText('长按识别二维码', 378 * unit, 810 * unit); | 4803 | context.fillText('长按识别二维码', 378 * unit, 810 * unit); |
4804 | + | ||
4769 | // 10.竖线 | 4805 | // 10.竖线 |
4770 | context.beginPath(); | 4806 | context.beginPath(); |
4771 | context.setFillStyle('#eee'); | 4807 | context.setFillStyle('#eee'); |
4772 | context.rect(354 * unit, 670 * unit, 1 * unit, 130 * unit); | 4808 | context.rect(354 * unit, 670 * unit, 1 * unit, 130 * unit); |
4773 | context.fill(); | 4809 | context.fill(); |
4774 | - | ||
4775 | }, | 4810 | }, |
4776 | 4811 | ||
4777 | 4812 | ||
@@ -4787,13 +4822,12 @@ Page({ | @@ -4787,13 +4822,12 @@ Page({ | ||
4787 | 4822 | ||
4788 | if (this.data.share_hidden) { | 4823 | if (this.data.share_hidden) { |
4789 | this.setData({share_hidden: false,}); | 4824 | this.setData({share_hidden: false,}); |
4790 | - } | ||
4791 | - ; | 4825 | + }; |
4792 | 4826 | ||
4793 | //类型 0普通商品 1秒杀商品 2商家和会员团 3阶梯团 4阶梯团 | 4827 | //类型 0普通商品 1秒杀商品 2商家和会员团 3阶梯团 4阶梯团 |
4794 | var type = this.data.prom_type; | 4828 | var type = this.data.prom_type; |
4795 | if (type == 2) type = -1; | 4829 | if (type == 2) type = -1; |
4796 | - if (type == 6) type = 2; | 4830 | + if (type == 6) type = 2; // 6拼团 2团购 |
4797 | 4831 | ||
4798 | 4832 | ||
4799 | if (this.data.prom_act && this.data.prom_act.kttype == 3) type = 3; | 4833 | if (this.data.prom_act && this.data.prom_act.kttype == 3) type = 3; |
@@ -4847,18 +4881,17 @@ Page({ | @@ -4847,18 +4881,17 @@ Page({ | ||
4847 | // context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit); | 4881 | // context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit); |
4848 | 4882 | ||
4849 | 4883 | ||
4850 | - if (type == 0) { // 如果是普通商品,绘制新海报 | ||
4851 | - th.drawPoster(context, unit, th.data.share_goods_img, vpath); | 4884 | + if (type == 0 || type == 1 || type == 2 || type == 3) { // 如果是普通商品,绘制新海报 |
4885 | + th.drawPoster(context, unit, th.data.share_goods_img, vpath, type); | ||
4852 | } else { | 4886 | } else { |
4853 | context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit); | 4887 | context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit); |
4854 | - } | ||
4855 | - ; | 4888 | + }; |
4856 | 4889 | ||
4857 | // th.drawPoster(context, unit, th.data.share_goods_img, vpath); | 4890 | // th.drawPoster(context, unit, th.data.share_goods_img, vpath); |
4858 | 4891 | ||
4859 | 4892 | ||
4860 | //-- 是自定义海报的情况下 -- | 4893 | //-- 是自定义海报的情况下 -- |
4861 | - if (type != 0) { | 4894 | + if (type != 0 && type != 1 && type != 2 && type != 3) { |
4862 | 4895 | ||
4863 | if (th.data.poster && parseInt(th.data.poster.style) == 2) { | 4896 | if (th.data.poster && parseInt(th.data.poster.style) == 2) { |
4864 | //在线上分享人的情况下 | 4897 | //在线上分享人的情况下 |
@@ -4913,7 +4946,7 @@ Page({ | @@ -4913,7 +4946,7 @@ Page({ | ||
4913 | 4946 | ||
4914 | //---产品名称--- | 4947 | //---产品名称--- |
4915 | //文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度 | 4948 | //文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度 |
4916 | - if (type != 4 && type != 0) { | 4949 | + if (type != 4 && type != 0 && type != 1 && type != 2 && type != 3) { |
4917 | context.setFillStyle("black"); | 4950 | context.setFillStyle("black"); |
4918 | context.setFontSize(21.3 * unit) | 4951 | context.setFontSize(21.3 * unit) |
4919 | th.draw_Text(context, share_title, | 4952 | th.draw_Text(context, share_title, |
@@ -4949,7 +4982,7 @@ Page({ | @@ -4949,7 +4982,7 @@ Page({ | ||
4949 | context.lineTo(wd2 + ut.measureText(pri0, 22 * unit) + 5, 206 * unit); | 4982 | context.lineTo(wd2 + ut.measureText(pri0, 22 * unit) + 5, 206 * unit); |
4950 | context.stroke(); | 4983 | context.stroke(); |
4951 | 4984 | ||
4952 | - } else if (type == 4 && type != 0) { | 4985 | + } else if (type == 4 && type != 0 && type != 1 && type != 2 && type != 3) { |
4953 | context.setFillStyle("black"); | 4986 | context.setFillStyle("black"); |
4954 | context.setFontSize(21.3 * unit) | 4987 | context.setFontSize(21.3 * unit) |
4955 | th.draw_Text(context, share_title, | 4988 | th.draw_Text(context, share_title, |
@@ -4977,7 +5010,7 @@ Page({ | @@ -4977,7 +5010,7 @@ Page({ | ||
4977 | } | 5010 | } |
4978 | 5011 | ||
4979 | //---中间大图--- | 5012 | //---中间大图--- |
4980 | - if (type != 0) { | 5013 | + if (type != 0 && type != 1 && type != 2 && type != 3) { |
4981 | context.drawImage(th.data.share_goods_img, 70 * unit, 250 * unit, 408 * unit, 408 * unit); | 5014 | context.drawImage(th.data.share_goods_img, 70 * unit, 250 * unit, 408 * unit, 408 * unit); |
4982 | } | 5015 | } |
4983 | ; | 5016 | ; |
@@ -5068,7 +5101,7 @@ Page({ | @@ -5068,7 +5101,7 @@ Page({ | ||
5068 | ; | 5101 | ; |
5069 | 5102 | ||
5070 | break; | 5103 | break; |
5071 | - case 1: //秒杀商品的展示 | 5104 | + case -12: //秒杀商品的展示 |
5072 | //---画线--- | 5105 | //---画线--- |
5073 | context.setLineWidth(1 * unit) | 5106 | context.setLineWidth(1 * unit) |
5074 | context.moveTo(32 * unit, 670 * unit) | 5107 | context.moveTo(32 * unit, 670 * unit) |
@@ -5101,7 +5134,7 @@ Page({ | @@ -5101,7 +5134,7 @@ Page({ | ||
5101 | } | 5134 | } |
5102 | break; | 5135 | break; |
5103 | 5136 | ||
5104 | - case 2: //会员团和商家团的展示 | 5137 | + case -2: //会员团和商家团的展示 |
5105 | //---画线--- | 5138 | //---画线--- |
5106 | context.setLineWidth(1 * unit) | 5139 | context.setLineWidth(1 * unit) |
5107 | context.moveTo(32 * unit, 670 * unit) | 5140 | context.moveTo(32 * unit, 670 * unit) |
@@ -5146,7 +5179,7 @@ Page({ | @@ -5146,7 +5179,7 @@ Page({ | ||
5146 | context.drawImage(vpath, 390 * unit, 726 * unit, 136 * unit, 136 * unit); | 5179 | context.drawImage(vpath, 390 * unit, 726 * unit, 136 * unit, 136 * unit); |
5147 | } | 5180 | } |
5148 | break | 5181 | break |
5149 | - case 3: //阶梯团的展示 | 5182 | + case -3: //阶梯团的展示 |
5150 | //---画线--- | 5183 | //---画线--- |
5151 | context.setLineWidth(1 * unit) | 5184 | context.setLineWidth(1 * unit) |
5152 | context.moveTo(32 * unit, 670 * unit) | 5185 | context.moveTo(32 * unit, 670 * unit) |