Commit 40496a9d98768ae916f0ef747c08f0b2ffb31403

Authored by 后端研发-苏泰源
1 parent 51096a59

服务卡自定义模版分页大小设置,商品拼团和秒杀分享海报修改

components/diy_serviceCard/diy_serviceCard.js
... ... @@ -217,7 +217,8 @@ Component({
217 217 // await app.request.get("/api/weshop/serviceCard/page?store_id=" + os.stoid + "&goodsidlist=" + str, {
218 218 await app.request.get("/api/weshop/serviceCard/page?store_id=" + os.stoid + "&ids=" + str, {
219 219 data: {
220   - user_id: user_id
  220 + user_id: user_id,
  221 + pageSize: th.data.goodscount,
221 222 },
222 223 isShowLoading: false,
223 224 success: function(res) {
... ...
pages/goods/goodsInfo/goodsInfo.js
... ... @@ -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 4686 // 1.灰色背景
4687 4687 context.setFillStyle('#f2f1f6');
4688 4688 context.rect(0, 0, 554 * unit, 899 * unit);
4689 4689 context.fill();
  4690 +
4690 4691 // 2.商城名称
4691 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 4693 context.setTextAlign('center');
4696 4694 context.setFontSize(26 * unit);
4697 4695 context.setFillStyle('black');
4698 4696 context.fillText(shopName, 277 * unit, 60 * unit);
4699   - // // 3.推荐来源
  4697 +
  4698 + // 3.推荐来源
4700 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 4700 context.setTextAlign('center');
4705 4701 context.setFontSize(22 * unit);
4706 4702 context.setFillStyle('#96959a');
4707 4703 context.fillText(fromText, 277 * unit, 105 * unit);
  4704 +
4708 4705 // 4.海报背景
4709   - // context.beginPath();
4710   - // context.setStrokeStyle('#f2f1f6');
4711 4706 context.setFillStyle('white');
4712 4707 context.fillRect(37 * unit, 157 * unit, 480 * unit, 673 * unit);
4713   - // context.stroke();
4714   - // context.fill();
  4708 +
4715 4709 // 5.商品图片
4716 4710 // 图片的x坐标
4717 4711 let bg_x = 37 * unit
... ... @@ -4732,46 +4726,87 @@ Page({
4732 4726 context.arc(bg_x, bg_y + bg_h, 0, Math.PI * 0.5, Math.PI)
4733 4727 context.clip()
4734 4728 context.drawImage(img, bg_x, bg_y, bg_w, bg_h);
4735   - context.restore()
  4729 + context.restore();
  4730 +
4736 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 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 4799 // 9.小程序码
4765 4800 context.drawImage(vpath, 375 * unit, 660 * unit, 120 * unit, 120 * unit);
4766 4801 context.setFontSize(16 * unit);
4767 4802 context.setFillStyle('#777');
4768 4803 context.fillText('长按识别二维码', 378 * unit, 810 * unit);
  4804 +
4769 4805 // 10.竖线
4770 4806 context.beginPath();
4771 4807 context.setFillStyle('#eee');
4772 4808 context.rect(354 * unit, 670 * unit, 1 * unit, 130 * unit);
4773 4809 context.fill();
4774   -
4775 4810 },
4776 4811  
4777 4812  
... ... @@ -4787,13 +4822,12 @@ Page({
4787 4822  
4788 4823 if (this.data.share_hidden) {
4789 4824 this.setData({share_hidden: false,});
4790   - }
4791   - ;
  4825 + };
4792 4826  
4793 4827 //类型 0普通商品 1秒杀商品 2商家和会员团 3阶梯团 4阶梯团
4794 4828 var type = this.data.prom_type;
4795 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 4833 if (this.data.prom_act && this.data.prom_act.kttype == 3) type = 3;
... ... @@ -4847,18 +4881,17 @@ Page({
4847 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 4886 } else {
4853 4887 context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit);
4854   - }
4855   - ;
  4888 + };
4856 4889  
4857 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 4896 if (th.data.poster && parseInt(th.data.poster.style) == 2) {
4864 4897 //在线上分享人的情况下
... ... @@ -4913,7 +4946,7 @@ Page({
4913 4946  
4914 4947 //---产品名称---
4915 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 4950 context.setFillStyle("black");
4918 4951 context.setFontSize(21.3 * unit)
4919 4952 th.draw_Text(context, share_title,
... ... @@ -4949,7 +4982,7 @@ Page({
4949 4982 context.lineTo(wd2 + ut.measureText(pri0, 22 * unit) + 5, 206 * unit);
4950 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 4986 context.setFillStyle("black");
4954 4987 context.setFontSize(21.3 * unit)
4955 4988 th.draw_Text(context, share_title,
... ... @@ -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 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 5101 ;
5069 5102  
5070 5103 break;
5071   - case 1: //秒杀商品的展示
  5104 + case -12: //秒杀商品的展示
5072 5105 //---画线---
5073 5106 context.setLineWidth(1 * unit)
5074 5107 context.moveTo(32 * unit, 670 * unit)
... ... @@ -5101,7 +5134,7 @@ Page({
5101 5134 }
5102 5135 break;
5103 5136  
5104   - case 2: //会员团和商家团的展示
  5137 + case -2: //会员团和商家团的展示
5105 5138 //---画线---
5106 5139 context.setLineWidth(1 * unit)
5107 5140 context.moveTo(32 * unit, 670 * unit)
... ... @@ -5146,7 +5179,7 @@ Page({
5146 5179 context.drawImage(vpath, 390 * unit, 726 * unit, 136 * unit, 136 * unit);
5147 5180 }
5148 5181 break
5149   - case 3: //阶梯团的展示
  5182 + case -3: //阶梯团的展示
5150 5183 //---画线---
5151 5184 context.setLineWidth(1 * unit)
5152 5185 context.moveTo(32 * unit, 670 * unit)
... ...