Commit 5460eeab448f52b7b805da2327665c16298c2986

Authored by 后端研发-苏明海
2 parents af61bdeb 22ee1903

Merge branch 'test' into 'qa'

Test

See merge request !1153
packageA/pages/liveStream/liveStream.js
@@ -10,7 +10,6 @@ var t = require("../../../utils/util"), @@ -10,7 +10,6 @@ var t = require("../../../utils/util"),
10 o = s.globalData.setting, 10 o = s.globalData.setting,
11 os = o; 11 os = o;
12 var regeneratorRuntime = require('../../../utils/runtime.js'); 12 var regeneratorRuntime = require('../../../utils/runtime.js');
13 -  
14 const app = getApp(); 13 const app = getApp();
15 let self = null; 14 let self = null;
16 15
@@ -21,14 +20,34 @@ Page({ @@ -21,14 +20,34 @@ Page({
21 */ 20 */
22 data: { 21 data: {
23 curPage: 1, 22 curPage: 1,
  23 + ad_data: null,
  24 + sharimg: "",
24 living: {}, 25 living: {},
25 livetoBegin: {}, 26 livetoBegin: {},
26 liveOver: {}, 27 liveOver: {},
27 - list: null,  
28 - isLoading: false, // 检测是否已经发送请求,防止重复发送请求  
29 - noMore: false, // 检测是否有更多数据,true为没有更多数据,false为还有数据  
30 - pageNum: 1, // 当前页数  
31 - 28 + list: null,
  29 + isLoading: false, // 检测是否已经发送请求,防止重复发送请求
  30 + noMore: false, // 检测是否有更多数据,true为没有更多数据,false为还有数据
  31 + pageNum: 1, // 当前页数
  32 + details: {},
  33 + status: '',
  34 + btnText: '',
  35 + showActionSheet: true,
  36 + showPlaybill: true,
  37 + windowWidth: 0,
  38 + windowHeight: 0,
  39 + dpr: 0,
  40 + canvasScale: 1.0,
  41 + nickName: '',
  42 + avatarUrl: '',
  43 + coverImg: '',
  44 + canvasToImgPath: '',
  45 + screenWidth: 0,
  46 + canvasHidden: 1,
  47 + gid: '',
  48 + shareImgPath: '',
  49 + shartitle: "",
  50 + anchorname:""
32 }, 51 },
33 // list: [], 52 // list: [],
34 // live: { 53 // live: {
@@ -41,8 +60,18 @@ Page({ @@ -41,8 +60,18 @@ Page({
41 clickItem: function (e) { 60 clickItem: function (e) {
42 // id:列表项id 61 // id:列表项id
43 // live:直播类别 即将开始/直播中/精彩回放 62 // live:直播类别 即将开始/直播中/精彩回放
  63 +
  64 + if (e.currentTarget.dataset.live == 101) {
  65 + var live_status = 'ing'
  66 + }
  67 + if (e.currentTarget.dataset.live == 102) {
  68 + var live_status = 'toBegin'
  69 + }
  70 + if (e.currentTarget.dataset.live == 103) {
  71 + var live_status = 'over'
  72 + }
44 wx.navigateTo({ 73 wx.navigateTo({
45 - url: '/packageA/pages/liveStreamDetails/liveStreamDetails?id=' + e.currentTarget.dataset.id + '&live=' + e.currentTarget.dataset.live 74 + url: '/packageA/pages/liveStreamDetails/liveStreamDetails?id=' + e.currentTarget.dataset.id + '&live=' + live_status
46 }) 75 })
47 // console.log('options-->'); 76 // console.log('options-->');
48 }, 77 },
@@ -69,9 +98,9 @@ Page({ @@ -69,9 +98,9 @@ Page({
69 }, 98 },
70 success: function (res) { 99 success: function (res) {
71 // console.log('我发起了PUT请求,请求结果:', res.data); 100 // console.log('我发起了PUT请求,请求结果:', res.data);
72 - if(res.data.code == 0) {  
73 - resolve();  
74 - }; 101 + if (res.data.code == 0) {
  102 + resolve();
  103 + };
75 } 104 }
76 }); 105 });
77 }); 106 });
@@ -208,88 +237,90 @@ Page({ @@ -208,88 +237,90 @@ Page({
208 * 生命周期函数--监听页面加载 237 * 生命周期函数--监听页面加载
209 */ 238 */
210 onLoad: function (options) { 239 onLoad: function (options) {
211 - self=this;  
212 - getApp().is_Single_page(this,function(){  
213 - app.isLogin().then(function(data) {//进入页面前已经授权登录成功  
214 - self.setData({ 240 + self = this;
  241 + getApp().is_Single_page(this, function () {
  242 + app.isLogin().then(function (data) {//进入页面前已经授权登录成功
  243 + self.setData({
215 userInfo: data, 244 userInfo: data,
216 }); 245 });
217 }); 246 });
218 }) 247 })
219 - 248 +
  249 +
  250 + getApp().request.promiseGet("/api/weshop/ad/page?pid=1207&store_id=" + os.stoid, {
  251 + data: {
  252 + enabled: 1
  253 + }
  254 + }).then(res => {
  255 + if (res.data.code == 0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length > 0) {
  256 + var a = res.data.data.pageData;
  257 + var narr = [];
  258 + for (var i in a) {
  259 + var tt = {
  260 + 'ad_code': os.imghost + a[i].ad_code,
  261 + 'media_link': '',
  262 + 'ad_weapplink': a[i].ad_weapplink
  263 + };
  264 + narr.push(tt);
  265 + }
  266 + self.setData({
  267 + ad_data: narr
  268 + });
  269 + }
  270 + })
220 }, 271 },
221 272
222 /** 273 /**
223 * 生命周期函数--监听页面初次渲染完成 274 * 生命周期函数--监听页面初次渲染完成
224 */ 275 */
225 onReady: function () { 276 onReady: function () {
226 - 277 +
227 }, 278 },
228 279
  280 +
229 /** 281 /**
230 * 生命周期函数--监听页面显示 282 * 生命周期函数--监听页面显示
231 */ 283 */
232 onShow: function () { 284 onShow: function () {
233 285
234 - getApp().check_can_share();  
235 - if(app.globalData.userInfo) {  
236 - if(!this.data.isLogin) {  
237 - this.setData({  
238 - userInfo: app.globalData.userInfo,  
239 - imghost: app.globalData.setting.imghost,  
240 - isLogin: true,  
241 - });  
242 -  
243 - this.updateLiveList().then(() => {  
244 -  
245 - self.getData(true, '/api/weshop/wx/livelist/page', { //请求直播中列表  
246 - storedId: o.stoid,  
247 - live_status: 101,  
248 - pageSize: 100,  
249 - }).then((res) => {  
250 - self.setData({  
251 - living: self.data.list,  
252 - });  
253 -  
254 -  
255 - console.log(self.data.living);  
256 -  
257 - //直播中列表请求完后,请求即将开始列表  
258 - self.getData(true, '/api/weshop/wx/livelist/page', {  
259 - storedId: o.stoid,  
260 - live_status: 102,  
261 - pageSize: 100,  
262 - }).then((res) => {  
263 - self.setData({  
264 - livetoBegin: self.data.list,  
265 - });  
266 -  
267 - //即将开始列表请求完后,请求结束列表  
268 - self.getData(true, '/api/weshop/wx/livelist/page', {  
269 - storedId: o.stoid,  
270 - live_status: 103,  
271 - }).then((res) => {  
272 - self.setData({  
273 - liveOver: self.data.list,  
274 - });  
275 - });  
276 -  
277 -  
278 - });  
279 -  
280 -  
281 - });  
282 -  
283 -  
284 -  
285 -  
286 -  
287 - });  
288 -  
289 -  
290 -  
291 - };  
292 - }; 286 + getApp().check_can_share();
  287 + if (app.globalData.userInfo) {
  288 + if (!this.data.isLogin) {
  289 + this.setData({
  290 + userInfo: app.globalData.userInfo,
  291 + imghost: app.globalData.setting.imghost,
  292 + isLogin: true,
  293 + });
  294 +
  295 + this.updateLiveList().then(() => {
  296 +
  297 + self.getData(true, '/api/weshop/wx/livelist/page', { //请求直播中列表
  298 + storedId: o.stoid,
  299 + pageSize: 100,
  300 + ordertype: 1,
  301 + liveshow: 1
  302 + }).then((res) => {
  303 + var list = self.data.list
  304 + for (var i in list.pageData) {
  305 + var share_img = list.pageData[i].share_img
  306 + list.pageData[i].share_img = share_img.replace("http://", 'https://')
  307 + }
  308 + self.setData({
  309 + living: list,
  310 + });
  311 +
  312 + });
  313 +
  314 +
  315 +
  316 +
  317 +
  318 + });
  319 +
  320 +
  321 +
  322 + };
  323 + };
293 }, 324 },
294 325
295 /** 326 /**
@@ -306,6 +337,340 @@ Page({ @@ -306,6 +337,340 @@ Page({
306 337
307 }, 338 },
308 339
  340 +
  341 +
  342 + // 分享操作表
  343 + clickShare: function (e) {
  344 + var sharimg = e.currentTarget.dataset.sharimg
  345 + var shartitle = e.currentTarget.dataset.shartitle
  346 + var anchorname= e.currentTarget.dataset.anchorname
  347 + if (!getApp().globalData.user_id) {
  348 + getApp().goto("/packageE/pages/togoin/togoin");
  349 + return false;
  350 + }
  351 + this.setData({
  352 + showActionSheet: !this.data.showActionSheet,
  353 + sharimg: sharimg,
  354 + shartitle: shartitle,
  355 + anchorname:anchorname
  356 + })
  357 + },
  358 +
  359 + // actionSheet - 取消按钮
  360 + hiddenActionSheet: function () {
  361 + this.setData({
  362 + showActionSheet: 'false'
  363 + })
  364 + if (!this.data.showPlaybill) {
  365 + this.setData({
  366 + showPlaybill: 'true'
  367 + });
  368 + }
  369 + },
  370 +
  371 + // 获取图片信息
  372 + getImageInfo(src) {
  373 + return new Promise((resolve, reject) => {
  374 + wx.getImageInfo({
  375 + src: src,
  376 + success: (res) => {
  377 + resolve(res);
  378 + }
  379 + })
  380 + });
  381 + },
  382 +
  383 + closeWin: function () {
  384 + this.setData({
  385 + showPlaybill: 'true'
  386 + });
  387 + },
  388 +
  389 + //生成海报
  390 + createPlaybill: function () {
  391 + // 1.提示 “正在生成海报...”
  392 + wx.showLoading({
  393 + title: '正在生成海报...'
  394 + });
  395 +
  396 + // 3.展示生成的海报
  397 + this.setData({
  398 + showActionSheet: 'false',
  399 + // showPlaybill: !this.data.showPlaybill
  400 + });
  401 +
  402 + // 2.生成海报,如果生成完毕,关闭提示
  403 + this.drawPlaybill();
  404 +
  405 + },
  406 +
  407 +
  408 + // 生成海报
  409 + drawPlaybill: async function () {
  410 +
  411 + var that = this;
  412 + // wx.showLoading({
  413 + // title: '正在生成海报...'
  414 + // });
  415 +
  416 +
  417 +
  418 +
  419 + // 请求主图
  420 + await that.getImageInfo(that.data.sharimg).then(res => {
  421 + that.setData({
  422 + coverImg: res.path,
  423 + coverImgWidth: res.width,
  424 + coverImgHeight: res.height,
  425 + coverImgSize: that.imageResize(res.width, res.height),
  426 + // coverImgHeight: res.height,
  427 + });
  428 + // console.log('主图加载成功~', that.data.coverImgSize);
  429 + });
  430 +
  431 +
  432 +
  433 +
  434 +
  435 + var path2 = getApp().globalData.userInfo.head_pic;
  436 + if (path2 == "") {
  437 + path2 = "../../../images/share/hui_hear_pic.png";
  438 + } else {
  439 + getApp().request.promiseGet("/api/weshop/marketing/help/help/imgbase64/get", {
  440 + data: {
  441 + imgurl: path2
  442 + }
  443 + }).then(res => {
  444 + if (res.data.code == 0) {
  445 + console.log(9999)
  446 +
  447 + var imgSrc = res.data.data;//base64编码
  448 + var save = wx.getFileSystemManager();
  449 + var number = Math.random();
  450 + save.writeFile({
  451 + filePath: wx.env.USER_DATA_PATH + '/pic' + number + '.png',
  452 + data: imgSrc,
  453 + encoding: 'base64',
  454 + success: res => {
  455 + that.setData({
  456 + avatarUrl: wx.env.USER_DATA_PATH + '/pic' + number + '.png'
  457 + });
  458 + console.log(wx.env.USER_DATA_PATH + '/pic' + number + '.png')
  459 + }, fail: err => {
  460 + console.log(err)
  461 + }
  462 + })
  463 + }
  464 + })
  465 + }
  466 +
  467 +
  468 + // 请求二维码
  469 + var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" +
  470 + os.stoid + "?sceneValue=1012" + "&pageValue=pages/goods/goodsInfo/goodsInfo";
  471 +
  472 + if (!this.data.ewm) {
  473 +
  474 + await that.getImageInfo(path3).then(res => {
  475 + that.setData({
  476 + ewm: res.path
  477 + });
  478 + console.log('二维码加载成功~')
  479 + });
  480 + }
  481 +
  482 +
  483 +
  484 + // 数据准备
  485 + const title = this.data.shartitle;
  486 + // const headImg = app.globalData.userInfo['head_pic'];
  487 +
  488 + // console.log('----------------v', headImg);
  489 +
  490 + var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" +
  491 + os.stoid + "?sceneValue=1012" + "&pageValue=packageA/pages/liveStreamDetails/liveStreamDetails";
  492 +
  493 + // 以iPhone6为例,375/750 = 0.5
  494 + // let scale = this.data.windowWidth / 375;
  495 + let scale = this.data.screenWidth / 750 * 1.35
  496 +
  497 +
  498 + // 适配屏get幕
  499 + // let scale = this.data.windowWidth / 375.0;
  500 + // this.setData({totalHeight: 667 * scale});
  501 +
  502 + // 获取Canvas
  503 + let ctx = wx.createCanvasContext('myCanvas');
  504 +
  505 + // 放大 因为不放大的话,生成的分享图会模糊。暂时先注释
  506 + // ctx.scale(this.data.canvasScale, this.data.canvasScale)
  507 +
  508 +
  509 +
  510 + // var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" +
  511 + // os.stoid + "?sceneValue=1012" + "&pageValue=pages/goods/goodsInfo/goodsInfo";
  512 + // + "?sceneValue=1012" + "&pageValue=packageA/pages/liveStreamDetails/liveStreamDetails"
  513 + // console.log('path3---->', path3);
  514 +
  515 +
  516 + // 绘制主背景白色
  517 + ctx.setFillStyle('#ffffff');
  518 + ctx.fillRect(0, 0, 480, 738);
  519 +
  520 + // 绘制头像
  521 + ctx.save();
  522 + ctx.beginPath();
  523 + ctx.arc(58, 52, 28, 0, 2 * Math.PI);
  524 + ctx.clip();
  525 + // console.log('1__________________>',app.globalData.userInfo['head_pic']);
  526 + ctx.drawImage(this.data.avatarUrl, 30, 24, 56, 56);
  527 + ctx.restore();
  528 +
  529 + // 绘制昵称
  530 + ctx.setFontSize(22);
  531 + ctx.setFillStyle('#ADADAD');
  532 + ctx.fillText(app.globalData.userInfo.nickname, 106, 60);
  533 +
  534 + // 绘制主图
  535 + ctx.setFillStyle('#f8f8f8');
  536 + ctx.fillRect(0, 104, 480, 380);
  537 +
  538 + // var w = this.data.coverImgWidth;
  539 + // var h = this.data.coverImgHeight;
  540 + var w = this.data.coverImgSize.imageWidth;
  541 + var h = this.data.coverImgSize.imageHeight;
  542 + // var dw = 480/w //canvas与图片的宽高比
  543 + // var dh = 380/h
  544 + // var ratio
  545 + // // 裁剪图片中间部分
  546 + // if(w > 480 && h > 380 || w < 480 && h < 380){
  547 + // if (dw > dh) {
  548 + // ctx.drawImage(this.data.coverImg, 0, (h - 380/dw)/2, w, 380/dw, 0, 104, 480, 380);
  549 + // } else {
  550 + // ctx.drawImage(this.data.coverImg, (w - 480/dh)/2, 0, 480/dh, h, 0, 104, 480, 380);
  551 + // };
  552 + // }
  553 + // // 拉伸图片
  554 + // else{
  555 + // if(w < 300){
  556 + // ctx.drawImage(this.data.coverImg, 0, (h - 380/dw)/2, w, 380/dw, 0, 104, 480, 380);
  557 + // }else {
  558 + // ctx.drawImage(this.data.coverImg, (w - 480/dh)/2, 0, 480/dh, h, 0, 104, 480, 380);
  559 + // }
  560 + // };
  561 + ctx.drawImage(this.data.coverImg, (480 - w) / 2, (380 - h) / 2 + 104, w, h);
  562 +
  563 +
  564 + // 绘制文字
  565 + ctx.setFontSize(24);
  566 + ctx.setFillStyle('#1E1E1E');
  567 + this.drawText(ctx, title, 30, 600, 200, 460, 2);
  568 +
  569 + // 绘制小程序码
  570 + ctx.drawImage(this.data.ewm, 310, 540, 132, 132);
  571 +
  572 +
  573 + //绘制文字:长按识别
  574 + ctx.setFontSize(20);
  575 + ctx.setFillStyle('#1E1E1E');
  576 + ctx.fillText('长按识别小程序', 309, 710);
  577 +
  578 + ctx.draw(true, function () {
  579 + setTimeout(function () {
  580 + // console.log("我进来了~~~~~");
  581 + wx.canvasToTempFilePath({
  582 + x: 0,
  583 + y: 0,
  584 + width: 750,
  585 + height: 1217,
  586 + destWidth: 750,
  587 + destHeight: 1217,
  588 + canvasId: 'myCanvas',
  589 + fileType: 'jpg',
  590 + success: function (res) {
  591 + wx.hideLoading();
  592 + that.setData({
  593 + canvasToImgPath: res.tempFilePath,
  594 + showPlaybill: !that.data.showPlaybill
  595 + });
  596 + // console.log('生成海报陈宫啦', that.data.canvasToImgPath);
  597 + // that.saveImageToPhotosAlbum(res.tempFilePath);
  598 + // console.log('截图陈宫:', that.data.canvasToImgPath);
  599 + // wx.previewImage({
  600 + // //将图片预览出来
  601 + // urls: [that.data.canvasToImgPath]
  602 + // });
  603 + }
  604 + })
  605 + }, 1000)
  606 + });
  607 +
  608 +
  609 +
  610 + },
  611 +
  612 +
  613 +
  614 + imageResize(imgWidth, imgHeight) {
  615 + var imageSize = {};
  616 + var originalWidth = imgWidth;//图片原始宽
  617 + var originalHeight = imgHeight;//图片原始高
  618 + var originalScale = originalHeight / originalWidth;//图片高宽比
  619 + // console.log('originalWidth: ' + originalWidth)
  620 + // console.log('originalHeight: ' + originalHeight)
  621 +
  622 + //获取屏幕宽高
  623 + var winWidth = 480;
  624 + var winHeight = 380;
  625 + var winScale = winHeight / winWidth;//屏幕高宽比
  626 + // console.log('windowWidth: ' + winWidth)
  627 + // console.log('windowHeight: ' + winHeight)
  628 + if (originalScale < winScale) {//图片高宽比小于屏幕高宽比
  629 + //图片缩放后的宽为屏幕宽
  630 + imageSize.imageWidth = winWidth;
  631 + imageSize.imageHeight = (winWidth * originalHeight) / originalWidth;
  632 + } else {//图片高宽比大于屏幕高宽比
  633 + //图片缩放后的高为屏幕高
  634 + imageSize.imageHeight = winHeight;
  635 + imageSize.imageWidth = (winHeight * originalWidth) / originalHeight;
  636 + }
  637 + console.log('缩放后的宽: ' + imageSize.imageWidth)
  638 + console.log('缩放后的高: ' + imageSize.imageHeight)
  639 + return imageSize;
  640 + },
  641 +
  642 +
  643 + //文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度
  644 + drawText: function (ctx, str, leftWidth, initHeight, titleHeight, canvasWidth, unit) {
  645 + var lineWidth = 0;
  646 + var lastSubStrIndex = 0; //每次开始截取的字符串的索引
  647 + var han = 0;
  648 + for (let i = 0; i < str.length; i++) {
  649 + if (han == 2) return;
  650 + //lineWidth += ctx.measureText(str[i]).width;
  651 + lineWidth += ut.measureText(str[i], 21.3 * unit);
  652 + if (lineWidth > canvasWidth) {
  653 + han++;
  654 +
  655 + if (han == 2) {
  656 + ctx.textAlign = 'justify';
  657 + ctx.fillText(str.substring(lastSubStrIndex, i) + '...', leftWidth, initHeight); //绘制截取部分
  658 + } else {
  659 + ctx.textAlign = 'justify';
  660 + ctx.fillText(str.substring(lastSubStrIndex, i), leftWidth, initHeight);
  661 + }
  662 + initHeight += 35; //22为字体的高度
  663 + lineWidth = 0;
  664 + lastSubStrIndex = i;
  665 + titleHeight += 20;
  666 + }
  667 + if (i == str.length - 1) { //绘制剩余部分
  668 + ctx.textAlign = 'justify';
  669 + ctx.fillText(str.substring(lastSubStrIndex, i + 1), leftWidth, initHeight);
  670 + }
  671 + }
  672 + },
  673 +
309 /** 674 /**
310 * 页面相关事件处理函数--监听用户下拉动作 675 * 页面相关事件处理函数--监听用户下拉动作
311 */ 676 */
@@ -343,108 +708,256 @@ Page({ @@ -343,108 +708,256 @@ Page({
343 // duration: 1000 708 // duration: 1000
344 // }) 709 // })
345 // } 710 // }
346 -  
347 - // console.log('触底啦');  
348 - this.scrollToLower('/api/weshop/wx/livelist/page', {  
349 - storedId: o.stoid,  
350 - live_status: 103  
351 - }); 711 +
  712 + // console.log('触底啦');
  713 + this.scrollToLower('/api/weshop/wx/livelist/page', {
  714 + storedId: o.stoid,
  715 + live_status: 103
  716 + });
352 }, 717 },
353 718
354 /** 719 /**
355 - * 用户点击右上角分享  
356 - */  
357 - onShareAppMessage: function () { getApp().globalData.no_clear=1; 720 + * 用户点击右上角分享
  721 + */
  722 + onShareAppMessage: function (res) {
  723 + getApp().globalData.clear = 1;
  724 + this.setData({
  725 + showActionSheet: 'false'
  726 + })
  727 + var self = this;
358 if (res.from === 'button') { 728 if (res.from === 'button') {
359 // 来自页面内转发按钮 729 // 来自页面内转发按钮
360 - // console.log(res.target) 730 + console.log(res.target)
361 } 731 }
362 return { 732 return {
363 - title: '直播列表'  
364 - // path: '/page/user?id=123' 733 + title: this.data.details.name,
  734 + success: function (res) {
  735 + console.log('res---->', res);
  736 + },
  737 + complete: function (res) {
  738 + console.log('comple', res)
  739 + }
365 } 740 }
366 }, 741 },
367 742
368 - onShareTimeline: function (res) {  
369 - getApp().globalData.no_clear=1;  
370 - var user_id=getApp().globalData.user_id;  
371 - if(!user_id) user_id=0; 743 + onShareTimeline: function (res) {
  744 + getApp().globalData.no_clear = 1;
  745 + var user_id = getApp().globalData.user_id;
  746 + if (!user_id) user_id = 0;
  747 +
  748 + return {
  749 + title: '直播列表',
  750 + query: 'first_leader=' + user_id
  751 + }
  752 + },
  753 +
  754 +
  755 + /**
  756 + * 请求数据
  757 + */
  758 + getData: function (isInit, url, data) {
  759 + let p = app.request.promiseGet(url, {
  760 + data: data,
  761 + isShowLoading: true,
  762 + })
  763 + .then(function (res) {
  764 + if (res.data.code == 0) {
  765 +
  766 + self.setData({
  767 + isLoading: false
  768 + });
  769 +
  770 + if (isInit) {// 第一次加载
  771 + self.setData({
  772 + list: res.data.data
  773 + });
  774 + } else {
  775 + self.setData({
  776 + 'list.pageData': self.data.list.pageData.concat(res.data.data.pageData)
  777 + });
  778 + };
  779 +
  780 + if ((res.data.data.pageData.length == 0) || (res.data.data.pageSize * res.data.data.page >= res.data.data.total)) {
  781 + self.setData({
  782 + noMore: true
  783 + });
  784 + };
  785 +
  786 + } else {
  787 + self.setData({
  788 + 'list.pageData': []
  789 + });
  790 + };
  791 +
  792 + });
  793 +
  794 + return p;
  795 + },
  796 +
372 797
373 - return {  
374 - title: '直播列表',  
375 - query: 'first_leader='+user_id 798 + // 保存图片到手机
  799 + onSaveToPhone() {
  800 + var self = this;
  801 + // 获取用户的当前设置,返回值中有小程序已经向用户请求过的权限
  802 + this.getSetting().then((res) => {
  803 + // 判断用户是否授权了保存到相册的权限,如果没有发起授权
  804 + if (!res.authSetting['scope.writePhotosAlbum']) {
  805 + this.authorize().then(() => {
  806 + // 同意授权后保存下载文件
  807 + this.saveImageToPhotosAlbum(self.data.canvasToImgPath)
  808 + })
  809 + } else {
  810 + // 如果已经授权,保存下载文件
  811 + this.saveImageToPhotosAlbum(self.data.canvasToImgPath)
  812 + }
  813 + })
  814 + },
  815 +
  816 + //打开设置,引导用户授权
  817 + onOpenSetting() {
  818 + wx.openSetting({
  819 + success: (res) => {
  820 + // console.log(res.authSetting)
  821 + }
  822 + })
  823 + },
  824 +
  825 + // 获取用户已经授予了哪些权限
  826 + getSetting() {
  827 + return new Promise((resolve, reject) => {
  828 + wx.getSetting({
  829 + success: res => {
  830 + resolve(res)
  831 + }
  832 + })
  833 + })
  834 + },
  835 +
  836 + // 发起首次授权请求
  837 + authorize() {
  838 + // isFirst 用来记录是否为首次发起授权,
  839 + // 如果首次授权拒绝后,isFirst赋值为1
  840 + let isFirst = wx.getStorageSync('isFirst') || 0;
  841 + return new Promise((resolve, reject) => {
  842 + wx.authorize({
  843 + scope: 'scope.writePhotosAlbum',
  844 + // 同意授权
  845 + success: () => {
  846 + resolve();
  847 + },
  848 + // 拒绝授权,这里是用户拒绝授权后的回调
  849 + fail: res => {
  850 + if (isFirst === 0) {
  851 + wx.setStorageSync('isFirst', 1);
  852 + wx.showToast({
  853 + title: '保存失败',
  854 + icon: 'none',
  855 + duration: 1000
  856 + })
  857 + } else {
  858 + this.showModal();
  859 + }
  860 + console.log('拒绝授权');
  861 + reject();
  862 + }
  863 + })
  864 + })
  865 + },
  866 +
  867 + //保存下载文件
  868 + savedownloadFile(img) {
  869 + this.downLoadFile(img).then((res) => {
  870 + return this.saveImageToPhotosAlbum(res.tempFilePath)
  871 + }).then(() => {
  872 + // resolve()
  873 + })
  874 + },
  875 +
  876 + //单文件下载(下载文件资源到本地),客户端直接发起一个 HTTPS GET 请求,返回文件的本地临时路径。
  877 + downLoadFile(img) {
  878 + var self = this;
  879 + return new Promise((resolve, reject) => {
  880 + wx.showLoading({
  881 + title: '保存中...',
  882 + mask: true,
  883 + });
  884 + wx.downloadFile({
  885 + url: img,
  886 + success: (res) => {
  887 + resolve(res);
  888 + }
  889 + })
  890 + })
  891 + },
  892 +
  893 + // 保存图片到系统相册
  894 + saveImageToPhotosAlbum(saveUrl) {
  895 + var self = this;
  896 + return new Promise((resolve, reject) => {
  897 + wx.saveImageToPhotosAlbum({
  898 + filePath: saveUrl,
  899 + success: (res) => {
  900 + wx.showToast({
  901 + title: '保存成功',
  902 + duration: 1000,
  903 + });
  904 + self.setData({
  905 + showPlaybill: 'true'
  906 + });
  907 + resolve();
  908 + },
  909 + fail: () => {
  910 + wx.showToast({
  911 + title: '保存失败',
  912 + duration: 1000,
  913 + });
376 } 914 }
377 - },  
378 -  
379 -  
380 - /**  
381 - * 请求数据  
382 - */  
383 - getData: function(isInit, url, data) {  
384 - let p = app.request.promiseGet(url, {  
385 - data: data,  
386 - isShowLoading: true,  
387 - })  
388 - .then(function(res) {  
389 - if(res.data.code == 0) {  
390 -  
391 - self.setData({  
392 - isLoading: false  
393 - });  
394 -  
395 - if(isInit) {// 第一次加载  
396 - self.setData({  
397 - list: res.data.data  
398 - });  
399 - } else {  
400 - self.setData({  
401 - 'list.pageData': self.data.list.pageData.concat(res.data.data.pageData)  
402 - });  
403 - };  
404 -  
405 - if((res.data.data.pageData.length == 0) || (res.data.data.pageSize * res.data.data.page >= res.data.data.total)) {  
406 - self.setData({  
407 - noMore: true  
408 - });  
409 - };  
410 -  
411 - } else {  
412 - self.setData({  
413 - 'list.pageData': []  
414 - });  
415 - };  
416 -  
417 - });  
418 -  
419 - return p;  
420 - },  
421 -  
422 -  
423 - /**  
424 - * 上拉加载  
425 - */  
426 - scrollToLower(url, requestData) {  
427 - // 数据总量  
428 - let total = this.data.list.total;  
429 - // 单页最大数据量  
430 - let pageSize = this.data.list.pageSize;  
431 - // 如果数据总量不为0且小于或等于单页最大数据量,说明数据已全部加载,显示‘没有更多了’  
432 - if((total != 0)&&(total <= pageSize)) {  
433 - this.setData({  
434 - noMore: true  
435 - });  
436 - };  
437 -  
438 - if(!this.data.isLoading && !this.data.noMore) {  
439 - this.setData({  
440 - isLoading: true,  
441 - pageNum: this.data.pageNum + 1  
442 - });  
443 - requestData.page = this.data.pageNum;  
444 - this.getData(false, url, requestData);  
445 - };  
446 - },  
447 -  
448 - 915 + })
  916 + })
  917 + },
  918 +
  919 +
  920 + // 弹出模态框提示用户是否要去设置页授权
  921 + showModal() {
  922 + wx.showModal({
  923 + title: '检测到您没有打开保存到相册的权限,是否前往设置打开?',
  924 + success: (res) => {
  925 + if (res.confirm) {
  926 + console.log('用户点击确定')
  927 + this.onOpenSetting() // 打开设置页面
  928 + } else if (res.cancel) {
  929 + console.log('用户点击取消')
  930 + }
  931 + }
  932 + })
  933 + },
  934 +
  935 +
  936 + /**
  937 + * 上拉加载
  938 + */
  939 + scrollToLower(url, requestData) {
  940 + // 数据总量
  941 + let total = this.data.list.total;
  942 + // 单页最大数据量
  943 + let pageSize = this.data.list.pageSize;
  944 + // 如果数据总量不为0且小于或等于单页最大数据量,说明数据已全部加载,显示‘没有更多了’
  945 + if ((total != 0) && (total <= pageSize)) {
  946 + this.setData({
  947 + noMore: true
  948 + });
  949 + };
  950 +
  951 + if (!this.data.isLoading && !this.data.noMore) {
  952 + this.setData({
  953 + isLoading: true,
  954 + pageNum: this.data.pageNum + 1
  955 + });
  956 + requestData.page = this.data.pageNum;
  957 + this.getData(false, url, requestData);
  958 + };
  959 + },
  960 +
  961 +
449 962
450 }) 963 })
451 \ No newline at end of file 964 \ No newline at end of file
packageA/pages/liveStream/liveStream.wxml
1 <!--pages/liveStream/liveStream.wxml--> 1 <!--pages/liveStream/liveStream.wxml-->
2 <wxs src="../../../utils/filter.wxs" module="filter"></wxs> 2 <wxs src="../../../utils/filter.wxs" module="filter"></wxs>
3 <view> 3 <view>
4 - <!-- 即将开始 -->  
5 - <block wx:if="{{livetoBegin.pageData.length > 0}}"> 4 + <!-- 即将开始 -->
  5 + <!-- <block wx:if="{{livetoBegin.pageData.length > 0}}">
6 <view class="title">即将开始</view> 6 <view class="title">即将开始</view>
7 <view class="list"> 7 <view class="list">
8 <block wx:for="{{livetoBegin.pageData}}" wx:key="item"> 8 <block wx:for="{{livetoBegin.pageData}}" wx:key="item">
@@ -22,34 +22,89 @@ @@ -22,34 +22,89 @@
22 22
23 </block> 23 </block>
24 </view> 24 </view>
25 - </block>  
26 - 25 + </block> -->
27 26
28 - <!-- 直播中 -->  
29 - <block wx:if="{{living.pageData.length > 0}}">  
30 - <view class="title">直播中</view>  
31 - <view class="list">  
32 - <block wx:for="{{living.pageData}}" wx:key="item">  
33 - <view class="list-item" catchtap="clickItem" data-id="{{item.id}}" data-live="ing">  
34 - <view class="list-item-left">  
35 - <image src="{{item.share_img}}" class="item-pic" mode="aspectFit"></image>  
36 - </view>  
37 - <view class="list-item-right">  
38 - <view>  
39 - <view class="item-title">{{item.name}}</view>  
40 - <view class="item-time">{{filter.format_time(item.start_time, 2)}} 开始</view>  
41 - <view class="item-anchor">主播:{{item['anchor_name']}}</view>  
42 - </view>  
43 - <view class="item-btn" catchtap="clickLive" data-roomid="{{item.roomid}}">观看直播</view>  
44 - </view>  
45 - </view>  
46 - </block>  
47 - </view>  
48 - </block>  
49 -  
50 27
51 - <!-- 精彩回放 -->  
52 - <block wx:if="{{liveOver.pageData.length > 0}}"> 28 +
  29 + <block wx:if="{{ad_data}}">
  30 + <view style="z-index: 1;">
  31 + <swiper class="swiper" circular="true" autoplay="true" indicator-dots="true" interval="2500" style="height:{{max_sw_height}}rpx">
  32 + <block wx:for="{{ad_data}}">
  33 +
  34 + <navigator url="{{item.ad_weapplink}}" class="s1_gk_a1" wx:if="{{g_filter.has_char(item.ad_weapplink,'plugin')>=0}}">
  35 + <swiper-item>
  36 + <image src="{{item.ad_code}}" style="width: 100%;" bindload="imageLoad" data-index="{{index}}" class="slide-image" mode="widthFix" lazy-load="true" />
  37 + </swiper-item>
  38 + </navigator>
  39 +
  40 + <view data-url="{{item.ad_weapplink}}" class="s1_gk_a1" bindtap="go_url" wx:else>
  41 + <swiper-item>
  42 + <image src="{{item.ad_code}}" style="width: 100%;" bindload="imageLoad" data-index="{{index}}" class="slide-image" mode="widthFix" lazy-load="true" />
  43 + </swiper-item>
  44 + </view>
  45 +
  46 + </block>
  47 + </swiper>
  48 + </view>
  49 +
  50 +
  51 + </block>
  52 + <!-- <block wx:else>
  53 + <image class="xc-top-img" src="{{url}}/miniapp/images/seckill_top_img.jpg"></image>
  54 + </block> -->
  55 +
  56 + <view style="width: 100%;height: 100rpx;background-color: #eee;border-radius: 25rpx;position: absolute;top: 290rpx;">
  57 +
  58 + </view>
  59 +
  60 + <!-- 直播中 -->
  61 + <block wx:if="{{living.pageData.length > 0}}">
  62 + <!-- <view class="title">直播中</view> -->
  63 + <view class="list" style="margin-top: 23rpx;">
  64 + <block wx:for="{{living.pageData}}" wx:key="item">
  65 + <view class="list-item" data-id="{{item.id}}" data-live="ing" style="display: block;margin-top: 23rpx;margin: 20rpx 4%; border-radius: 25rpx;;background-color: white;">
  66 + <view class="list-item-left" catchtap="clickItem" data-id="{{item.id}}" data-live="{{item.live_status}}">
  67 + <view class="item-btn" catchtap="clickLive" data-roomid="{{item.roomid}}" wx:if="{{item.live_status==101}}">正在直播</view>
  68 + <view class="item-btnjjkb" catchtap="clickLive" data-roomid="{{item.roomid}}" wx:if="{{item.live_status==102}}">即将开播</view>
  69 + <view class="item-btnhf" catchtap="clickLive" data-roomid="{{item.roomid}}" wx:if="{{item.live_status==103}}">回放</view>
  70 + <view class="item-btnhf" catchtap="clickLive" data-roomid="{{item.roomid}}" wx:if="{{item.live_status==107}}">已失效</view>
  71 + <view class="item-btnld" catchtap="clickLive" data-roomid="{{item.roomid}}"></view>
  72 + <view class="item-btnxcx xcx-image" catchtap="clickLive" data-roomid="{{item.roomid}}"></view>
  73 + <view class="item-btnldt" catchtap="clickLive" data-roomid="{{item.roomid}}">
  74 + 小程序直播</view>
  75 + <image src="{{item.share_img}}" class="item-pic" mode="aspectFill" style="width: 690rpx;height: 360rpx;"></image>
  76 + </view>
  77 +
  78 + <view class="list-item-right">
  79 + <view style="display: flex;">
  80 + <view style="display: block;width: 70%;" catchtap="clickItem" data-id="{{item.id}}" data-live="{{item.live_status}}">
  81 + <view class="item-title">{{item.name}}</view>
  82 + <view class="item-anchor">
  83 + <image src="../../images/bar/user_on.png" mode="" style="width: 25rpx;height: 25rpx;"/>
  84 +
  85 + {{item['anchor_name']}}</view>
  86 + </view>
  87 + <view style="width: 30%;height: 90rpx;align-items: center;justify-items: center;">
  88 + <view bindtap="clickShare" data-sharimg="{{item.share_img}}" data-shartitle="{{item.name}}" data-anchorname="{{item['anchor_name']}}" class="display: flex;" style="width: 70%;border-radius: 25rpx;border: 1rpx solid #fc6247;height: 46rpx;margin-top: 25rpx;margin-left: 30rpx;">
  89 + <view class="share-image"></view>
  90 + <view class="fs26" style="color: #fc6247;margin-left: 10rpx;line-height: 46rpx;"> 分享 </view>
  91 + </view>
  92 + </view>
  93 + </view>
  94 +
  95 + </view>
  96 + </view>
  97 + </block>
  98 +
  99 + <view style="width: 100%;height: 30rpx;">
  100 +
  101 + </view>
  102 + </view>
  103 + </block>
  104 +
  105 +
  106 + <!-- 精彩回放 -->
  107 + <!-- <block wx:if="{{liveOver.pageData.length > 0}}">
53 <view class="title">精彩回放</view> 108 <view class="title">精彩回放</view>
54 <view class="list"> 109 <view class="list">
55 <block wx:for="{{liveOver.pageData}}" wx:key="item"> 110 <block wx:for="{{liveOver.pageData}}" wx:key="item">
@@ -68,11 +123,45 @@ @@ -68,11 +123,45 @@
68 </view> 123 </view>
69 </block> 124 </block>
70 </view> 125 </view>
71 - </block>  
72 -  
73 -  
74 - <nodata nodataContainer="t-c" wx:if="{{livetoBegin.pageData.length == 0 && liveing.pageData.length == 0 && liveOver.pageData.length == 0}}"></nodata>  
75 - <view class="no-more" hidden="{{!noMore}}" wx:if="{{living.pageData.length != 0 && livetoBegin.pageData.length == 0 && liveO.pageData.length == 0}}">- 没有更多了 -</view>  
76 - <view class="no-more" hidden="{{!noMore}}" wx:if="{{living.pageData.length == 0 && livetoBegin.pageData.length != 0 && liveO.pageData.length == 0}}">- 没有更多了 -</view>  
77 - <view class="no-more" hidden="{{!noMore}}" wx:if="{{living.pageData.length == 0 && livetoBegin.pageData.length == 0 && liveO.pageData.length != 0}}">- 没有更多了 -</view>  
78 -</view>  
79 \ No newline at end of file 126 \ No newline at end of file
  127 + </block> -->
  128 +
  129 +
  130 +
  131 + <!-- actionSheet -->
  132 + <view class="{{showActionSheet ? 'share-actionSheet':'share-actionSheet active'}}" hidden="{{showActionSheet}}">
  133 + <view class="share-actionSheet-title">分享</view>
  134 + <view class="share-actionSheet-list">
  135 + <view class="share-actionSheet-item" hover-class="active">
  136 + <button open-type="share">
  137 + <image src="/packageA/images/liveStreamDetails/friend.jpg" class="share-actionSheet-pic"></image>
  138 + <text class="share-actionSheet-desc">发送给朋友</text>
  139 + </button>
  140 + </view>
  141 + <view class="share-actionSheet-item" hover-class="active" bindtap="createPlaybill">
  142 + <image src="/packageA/images/liveStreamDetails/circle.jpg" class="share-actionSheet-pic"></image>
  143 + <text class="share-actionSheet-desc">生成分享海报</text>
  144 + </view>
  145 + </view>
  146 + <view class="share-actionSheet-cancle" bindtap="hiddenActionSheet">取消</view>
  147 + </view>
  148 +
  149 + <!-- 生成海报 -->
  150 + <view class="{{showPlaybill ? 'playbill':'playbill active'}}" hidden="{{showPlaybill}}">
  151 + <image src="{{canvasToImgPath}}" class="playbill-pic" mode="widthFix" bindtap="closeWin"></image>
  152 + <!-- style="width:{{windowWidth}}px;height:{{windowHeight}}px;" -->
  153 + <view class="playbill-save" bindtap="onSaveToPhone">保存至相册</view>
  154 + </view>
  155 +
  156 + <!-- <canvas canvas-id="myCanvas" class="" catchtouchmove="true" style="width:{{windowWidth}}px;height:{{windowHeight}}px;"></canvas> -->
  157 +
  158 + <!-- mask -->
  159 + <!-- 这里mask必须强制放在actionsheet和playbill的后面 -->
  160 + <view class="mask" bindtap="hiddenActionSheet" catchtouchmove="true"></view>
  161 +
  162 +
  163 + <nodata nodataContainer="t-c" wx:if="{{livetoBegin.pageData.length == 0 && liveing.pageData.length == 0 && liveOver.pageData.length == 0}}"></nodata>
  164 + <view class="no-more" hidden="{{!noMore}}" wx:if="{{living.pageData.length != 0 && livetoBegin.pageData.length == 0 && liveO.pageData.length == 0}}">- 没有更多了 -</view>
  165 + <view class="no-more" hidden="{{!noMore}}" wx:if="{{living.pageData.length == 0 && livetoBegin.pageData.length != 0 && liveO.pageData.length == 0}}">- 没有更多了 -</view>
  166 + <view class="no-more" hidden="{{!noMore}}" wx:if="{{living.pageData.length == 0 && livetoBegin.pageData.length == 0 && liveO.pageData.length != 0}}">- 没有更多了 -</view>
  167 +</view>
  168 +<canvas canvas-id="myCanvas" catchtouchmove="true" style="width:480px;height:738px;position:absolute;left:-9999px;"></canvas>
80 \ No newline at end of file 169 \ No newline at end of file
packageA/pages/liveStream/liveStream.wxss
1 /* pages/liveStream/liveStream.wxss */ 1 /* pages/liveStream/liveStream.wxss */
  2 +page{
  3 + background-color: #eee;
  4 +}
2 .title { 5 .title {
3 font-size: 30rpx; 6 font-size: 30rpx;
4 padding: 50rpx 32rpx; 7 padding: 50rpx 32rpx;
5 } 8 }
6 .list-item { 9 .list-item {
7 - padding: 0 32rpx 30rpx;  
8 display: flex; 10 display: flex;
9 } 11 }
10 .list-item-left { 12 .list-item-left {
11 position: relative; 13 position: relative;
12 - width: 340rpx;  
13 - height: 220rpx;  
14 flex-shrink: 0; 14 flex-shrink: 0;
15 } 15 }
  16 +
  17 +.xcx-image {
  18 + width: 20rpx;
  19 + height: 20rpx;
  20 + margin-left: 18rpx;
  21 + margin-top: 8rpx;
  22 + background-size:contain;
  23 + background-repeat: no-repeat;
  24 + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkAgMAAAANjH3HAAAAAXNSR0IB2cksfwAAAAlwSFlzAAAuIwAALiMBeKU/dgAAAAlQTFRFPcRKAAAA////QjSLrQAAAAN0Uk5T/wD/aewfvgAAATZJREFUeJzt1MFxBSEIANDfRErTAyXQj+nAg1T58wVUEDObnfxLJl52xrcKKvr4SIf2OMG/vF0yUY2FvlqJBF9CgeQOPJ8VYGm7kLTiJatUL3AUVCEvdEGKlTylXhXgPlmrl8ZDAymciBOUbcZImo69Knoy+YakSMr3Es52W8L1lLniSPYdFQlOQQTsmdYp9rSRhoCpHeh/cQ8aoUVMJUo2XbIR9NJU5LcusN6FvEkRgU2SCNISRwqVRWt8ZKB3e+Sp6+lDhrQ096CqjGz4k+e7M2KOqlqlhoLLKe+STtJuSP1V+XEGIJLD3TlLSXqhVnn1fKZll4xIwQcij5cTfurGmXshLSAjeJTxtK/LcZKcjNe4eUlRmHmzfBgWCMLMG+zDiOA+mci2NVPQR5nvjkt5kb39NXkCPTYQh7BBvFgAAAAASUVORK5CYII=
  25 +
  26 + ) ;
  27 +}
  28 +
  29 +.share-image {
  30 + width: 30rpx;
  31 + height: 30rpx;
  32 + margin-left: 18rpx;
  33 + margin-top: 8rpx;
  34 + background-size:contain;
  35 + background-repeat: no-repeat;
  36 + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkBAMAAACCzIhnAAAAAXNSR0IB2cksfwAAAAlwSFlzAAAuIwAALiMBeKU/dgAAACFQTFRFAAAA/04w/04w/04w/04w/04w/0ww/0Aw/0AA/00w/04wncLKIgAAAAt0Uk5TAP8/LxsOQBAE4ZBG21G1AAABIUlEQVR4nO3W2w3CMAwF0AYEEnzRDRiBEViFERiBzUEg+vK913ZFEUjxRyWanDqP4rRpatT4YpR2EIdlyAg8YhEyFQEyFT4xSfzp55M0qh++X4QoeJRqLKRJTZg8Tk14LrGtclkpYVN5bzK4jQndW7pg/A1iRLxChJQ0ka92hIBGQ/S/ARGyH4rgKShSZA5BeAWwrZ5gRFWZjxBP2A5uEkKUwESXWEPccZke/rj+gRw74pxJPTl1RIsBOXe/TacyStyTTZ6sn9cLIJPB9mT1vF4JOSDyilue7PJknydbsJMOQV8HHgFRSSW/TwKlzvSZR+LlMUpMZZ9J/OM0R+yp7n2yoHaHtGAYbSRQ5owIpcETzIhAGroqGeEYvfwJUGOZuAN2OElDEXSpWQAAAABJRU5ErkJggg==
  37 + ) ;
  38 +}
16 .list-item-right { 39 .list-item-right {
17 display: flex; 40 display: flex;
18 flex-direction: column; 41 flex-direction: column;
@@ -21,11 +44,54 @@ @@ -21,11 +44,54 @@
21 /* position: relative; 44 /* position: relative;
22 padding-bottom: 70rpx; */ 45 padding-bottom: 70rpx; */
23 } 46 }
  47 +
  48 +.share-actionSheet {
  49 + background-color: white;
  50 + padding-top: 45rpx;
  51 + position: fixed;
  52 + width: 100%;
  53 + bottom: 0;
  54 + z-index: 2;
  55 +}
  56 +.share-actionSheet-title {
  57 + font-size: 38rpx;
  58 +
  59 +}
  60 +.share-actionSheet-list {
  61 + display: flex;
  62 + justify-content: space-around;
  63 + padding-bottom: 30rpx;
  64 +}
  65 +.share-actionSheet-item {
  66 + text-align: center;
  67 + padding: 20rpx;
  68 +}
  69 +.share-actionSheet-pic {
  70 + display: block;
  71 + width: 118rpx;
  72 + height: 118rpx;
  73 + border-radius: 50%;
  74 + margin: 0 auto;
  75 +}
  76 +.share-actionSheet-desc {
  77 + font-size: 28rpx;
  78 +}
  79 +
  80 +.share-actionSheet-title,
  81 +.share-actionSheet-cancle {
  82 + text-align: center;
  83 +}
  84 +
  85 +.share-actionSheet-cancle {
  86 + padding: 30rpx 0;
  87 + border-top: 2rpx solid #CBCBCB;
  88 +}
24 .item-pic { 89 .item-pic {
25 /* width: 400rpx; */ 90 /* width: 400rpx; */
26 width: 100%; 91 width: 100%;
27 height: 100%; 92 height: 100%;
28 background-color: #eee; 93 background-color: #eee;
  94 + border-radius: 15rpx;
29 } 95 }
30 .item-desc { 96 .item-desc {
31 position: absolute; 97 position: absolute;
@@ -55,7 +121,7 @@ @@ -55,7 +121,7 @@
55 121
56 display: -webkit-box; 122 display: -webkit-box;
57 -webkit-box-orient: vertical; 123 -webkit-box-orient: vertical;
58 - -webkit-line-clamp: 2; 124 + -webkit-line-clamp: 1;
59 overflow: hidden; 125 overflow: hidden;
60 } 126 }
61 .item-time { 127 .item-time {
@@ -66,6 +132,12 @@ @@ -66,6 +132,12 @@
66 .item-anchor { 132 .item-anchor {
67 color: #999; 133 color: #999;
68 font-size: 24rpx; 134 font-size: 24rpx;
  135 + text-align: justify;
  136 +
  137 + display: -webkit-box;
  138 + -webkit-box-orient: vertical;
  139 + -webkit-line-clamp: 1;
  140 + overflow: hidden;
69 } 141 }
70 142
71 .item-btn { 143 .item-btn {
@@ -76,7 +148,81 @@ @@ -76,7 +148,81 @@
76 color: #fff; 148 color: #fff;
77 font-size: 24rpx; 149 font-size: 24rpx;
78 text-align: center; 150 text-align: center;
  151 + position: absolute;top: 15rpx;left: 7px;
  152 + border-radius: 15rpx;
  153 +}
  154 +.item-btnhf {
  155 + width: 172rpx;
  156 + height: 56rpx;
  157 + line-height: 56rpx;
  158 + background-color: #acacac;
  159 + color: #fff;
  160 + font-size: 24rpx;
  161 + text-align: center;
  162 + position: absolute;top: 15rpx;left: 7px;
  163 + border-radius: 15rpx;
79 } 164 }
  165 +.item-btnjjkb {
  166 + width: 172rpx;
  167 + height: 56rpx;
  168 + line-height: 56rpx;
  169 + background-color: rgb(250, 182, 36);
  170 + color: #fff;
  171 + font-size: 24rpx;
  172 + text-align: center;
  173 + position: absolute;top: 15rpx;left: 7px;
  174 + border-radius: 15rpx;
  175 +}
  176 +
  177 +
  178 +.item-btnld {
  179 + width: 202rpx;
  180 + height: 56rpx;
  181 + line-height: 56rpx;
  182 + background-color: #c9c9c9;
  183 + font-size: 24rpx;
  184 + text-align: center;
  185 + position: absolute;
  186 + bottom: 12rpx;
  187 + border-top-right-radius: 15rpx;
  188 + overflow: hidden;
  189 + opacity: 0.3;
  190 +}
  191 +.item-btnldt {
  192 + width: 202rpx;
  193 + height: 56rpx;
  194 + line-height: 56rpx;
  195 + color: white;
  196 + font-size: 24rpx;
  197 + text-align: center;
  198 + position: absolute;
  199 + bottom: 12rpx;
  200 + overflow: hidden;
  201 + margin-left: 20rpx;
  202 +}
  203 +
  204 +.item-btnxcx {
  205 + width: 32rpx;
  206 + height: 32rpx;
  207 + line-height: 56rpx;
  208 + color: rgb(233, 233, 233);
  209 + font-size: 24rpx;
  210 + left: 0;
  211 + bottom: 22rpx;
  212 + position: absolute;
  213 + overflow: hidden;
  214 +
  215 +}
  216 +
  217 +.content {
  218 + background-color: white;
  219 + padding-bottom: 168rpx;
  220 + position: relative;
  221 +}
  222 +button::after {
  223 + border: none;
  224 +}
  225 +
80 subscribe { 226 subscribe {
81 position: relative; 227 position: relative;
82 } 228 }
@@ -108,4 +254,53 @@ subscribe { @@ -108,4 +254,53 @@ subscribe {
108 line-height: 3; 254 line-height: 3;
109 color: #909090; 255 color: #909090;
110 text-align: center; 256 text-align: center;
111 -}  
112 \ No newline at end of file 257 \ No newline at end of file
  258 +}
  259 +
  260 +.share-actionSheet.active ~ .mask,
  261 +
  262 +.mask {
  263 + display: none;
  264 + background-color: rgba(0,0,0,.7);
  265 + position: fixed;
  266 + top: 0;
  267 + bottom: 0;
  268 + left: 0;
  269 + right: 0;
  270 +}
  271 +.playbill {
  272 + position: fixed;
  273 + left: 50%;
  274 + top: 50%;
  275 + transform: translate(-50%, -50%);
  276 + z-index: 9999;
  277 + background: none;
  278 +}
  279 +.share-actionSheet.active ~ .mask,
  280 +.playbill.active ~ .mask {
  281 + display: block;
  282 +}
  283 +.playbill-pic {
  284 + display: block;
  285 + width: 560rpx;
  286 + height: auto;
  287 + margin: 0 auto 26rpx;
  288 + border-radius: 10rpx;
  289 + overflow: hidden;
  290 +}
  291 +
  292 +.playbill-save {
  293 + width: 560rpx;
  294 + height: 100rpx;
  295 + line-height: 100rpx;
  296 + background-color: #f23030;
  297 + color: #fff;
  298 + font-size: 36rpx;
  299 + text-align: center;
  300 + margin: 0 auto;
  301 +}
  302 +.playbill-save image {
  303 + width: 44rpx;
  304 + height: 36rpx;
  305 + margin-right: 23rpx;
  306 +}
  307 +
packageA/pages/liveStreamDetails/liveStreamDetails.js
@@ -157,7 +157,7 @@ drawText: function(ctx, str, leftWidth, initHeight, titleHeight, canvasWidth, un @@ -157,7 +157,7 @@ drawText: function(ctx, str, leftWidth, initHeight, titleHeight, canvasWidth, un
157 // }); 157 // });
158 158
159 159
160 - if(!this.data.coverImg) { 160 +
161 161
162 // 请求主图 162 // 请求主图
163 await that.getImageInfo(that.data.details['share_img']).then(res => { 163 await that.getImageInfo(that.data.details['share_img']).then(res => {
@@ -170,18 +170,49 @@ drawText: function(ctx, str, leftWidth, initHeight, titleHeight, canvasWidth, un @@ -170,18 +170,49 @@ drawText: function(ctx, str, leftWidth, initHeight, titleHeight, canvasWidth, un
170 }); 170 });
171 // console.log('主图加载成功~', that.data.coverImgSize); 171 // console.log('主图加载成功~', that.data.coverImgSize);
172 }); 172 });
  173 +
  174 +
  175 + var path2 = getApp().globalData.userInfo.head_pic;
  176 + if (path2 == "") {
  177 + path2 = "../../../images/share/hui_hear_pic.png";
  178 + } else {
  179 + getApp().request.promiseGet("/api/weshop/marketing/help/help/imgbase64/get", {
  180 + data: {
  181 + imgurl: path2
  182 + }
  183 + }).then(res => {
  184 + if (res.data.code == 0) {
  185 + console.log(9999)
  186 +
  187 + var imgSrc = res.data.data;//base64编码
  188 + var save = wx.getFileSystemManager();
  189 + var number = Math.random();
  190 + save.writeFile({
  191 + filePath: wx.env.USER_DATA_PATH + '/pic' + number + '.png',
  192 + data: imgSrc,
  193 + encoding: 'base64',
  194 + success: res => {
  195 + that.setData({
  196 + avatarUrl: wx.env.USER_DATA_PATH + '/pic' + number + '.png'
  197 + });
  198 + console.log(wx.env.USER_DATA_PATH + '/pic' + number + '.png')
  199 + }, fail: err => {
  200 + console.log(err)
  201 + }
  202 + })
  203 + }
  204 + })
173 } 205 }
174 -  
175 - if(!this.data.avatarUrl) { 206 + // if(!this.data.avatarUrl) {
176 207
177 // 请求头像 208 // 请求头像
178 - await that.getImageInfo(app.globalData.userInfo['head_pic']).then(res => {  
179 - that.setData({  
180 - avatarUrl: res.path  
181 - });  
182 - console.log('头像加载成功~')  
183 - });  
184 - } 209 + // await that.getImageInfo(app.globalData.userInfo['head_pic']).then(res => {
  210 + // that.setData({
  211 + // avatarUrl: res.path
  212 + // });
  213 + // console.log('头像加载成功~')
  214 + // });
  215 + // }
185 216
186 // 请求二维码 217 // 请求二维码
187 var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" + 218 var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" +
@@ -530,7 +561,7 @@ drawText: function(ctx, str, leftWidth, initHeight, titleHeight, canvasWidth, un @@ -530,7 +561,7 @@ drawText: function(ctx, str, leftWidth, initHeight, titleHeight, canvasWidth, un
530 switch(options.live) { 561 switch(options.live) {
531 case 'toBegin': { 562 case 'toBegin': {
532 this.setData({ 563 this.setData({
533 - btnText: '订阅' 564 + btnText: '即将开播'
534 }) 565 })
535 break; 566 break;
536 } 567 }
packageC/pages/group_list/group_list.js
@@ -14,10 +14,12 @@ Page({ @@ -14,10 +14,12 @@ Page({
14 // goodlist: null, 14 // goodlist: null,
15 15
16 isLogin: false, 16 isLogin: false,
17 - list: null, 17 + list: [],
18 isLoading: false, // 检测是否已经发送请求,防止重复发送请求 18 isLoading: false, // 检测是否已经发送请求,防止重复发送请求
19 noMore: false, // 检测是否有更多数据,true为没有更多数据,false为还有数据 19 noMore: false, // 检测是否有更多数据,true为没有更多数据,false为还有数据
20 pageNum: 1, // 当前页数 20 pageNum: 1, // 当前页数
  21 +
  22 + time_arr:[]
21 }, 23 },
22 24
23 /** 25 /**
@@ -63,7 +65,7 @@ Page({ @@ -63,7 +65,7 @@ Page({
63 }; 65 };
64 66
65 this.setData({ 67 this.setData({
66 - list: null, 68 + list: [],
67 pageNum: 1, 69 pageNum: 1,
68 noMore: false, 70 noMore: false,
69 }); 71 });
@@ -110,7 +112,7 @@ Page({ @@ -110,7 +112,7 @@ Page({
110 112
111 113
112 this.setData({ 114 this.setData({
113 - list: null, 115 + list: [],
114 type: typeValue, 116 type: typeValue,
115 }); 117 });
116 118
@@ -141,6 +143,9 @@ Page({ @@ -141,6 +143,9 @@ Page({
141 * 页面上拉触底事件的处理函数 143 * 页面上拉触底事件的处理函数
142 */ 144 */
143 onReachBottom: function () { 145 onReachBottom: function () {
  146 +
  147 + if(this.data.isLoading) return false;
  148 +
144 let data = this.data.currentData; 149 let data = this.data.currentData;
145 this.scrollToLower('/api/weshop/goods/groupBuy/page', data); 150 this.scrollToLower('/api/weshop/goods/groupBuy/page', data);
146 }, 151 },
@@ -148,47 +153,48 @@ Page({ @@ -148,47 +153,48 @@ Page({
148 /** 153 /**
149 * 用户点击右上角分享 154 * 用户点击右上角分享
150 */ 155 */
151 - onShareAppMessage: function () { getApp().globalData.no_clear=1  
152 -  
153 - }, 156 + onShareAppMessage: function () { getApp().globalData.no_clear=1; },
154 157
155 158
156 /** 159 /**
157 * 请求数据 160 * 请求数据
158 */ 161 */
159 getData: function(isInit, url, data) { 162 getData: function(isInit, url, data) {
  163 +
  164 + wx.showLoading();
  165 +
160 let p = app.request.promiseGet(url, { 166 let p = app.request.promiseGet(url, {
161 data: data, 167 data: data,
162 - isShowLoading: true, 168 + isShowLoading: false,
163 }) 169 })
164 .then(function(res) { 170 .then(function(res) {
165 - if(res.data.code == 0) {  
166 - 171 +
  172 +
  173 +
  174 + if(ut.ajax_ok(res)) {
  175 +
167 self.setData({ 176 self.setData({
168 - isLoading: false  
169 - }); 177 + ['list['+(self.data.pageNum-1)+']']:res.data.data.pageData
  178 + })
170 179
171 - if(isInit) {// 第一次加载  
172 - self.setData({  
173 - list: res.data.data  
174 - });  
175 - } else {  
176 - self.setData({  
177 - 'list.pageData': self.data.list.pageData.concat(res.data.data.pageData)  
178 - });  
179 - };  
180 -  
181 - if((res.data.data.pageData.length == 0) || (res.data.data.pageSize * res.data.data.page >= res.data.data.total)) { 180 + if(res.data.data.pageSize * res.data.data.page >= res.data.data.total){
182 self.setData({ 181 self.setData({
183 noMore: true 182 noMore: true
184 }); 183 });
185 }; 184 };
  185 +
  186 +
186 187
187 } else { 188 } else {
188 - self.setData({  
189 - 'list.pageData': []  
190 - }); 189 + self.setData({ noMore: true });
191 }; 190 };
  191 +
  192 + self.setData({
  193 + isLoading: false,
  194 + is_get:1
  195 + });
  196 +
  197 + wx.hideLoading();
192 198
193 }); 199 });
194 200
@@ -218,6 +224,7 @@ Page({ @@ -218,6 +224,7 @@ Page({
218 }); 224 });
219 requestData.page = this.data.pageNum; 225 requestData.page = this.data.pageNum;
220 this.getData(false, url, requestData); 226 this.getData(false, url, requestData);
  227 +
221 }; 228 };
222 }, 229 },
223 230
@@ -229,38 +236,64 @@ Page({ @@ -229,38 +236,64 @@ Page({
229 236
230 237
231 //----倒计时函数----- 238 //----倒计时函数-----
232 - countDown() {  
233 - if(!this.data.is_timer) return false;  
234 - var th=this;  
235 - // 获取当前时间,同时得到活动结束时间数组  
236 - let newTime = ut.gettimestamp();  
237 - var endTimeList = this.data.list.pageData;  
238 - if(endTimeList == null) return null;  
239 - // 对结束时间进行处理渲染到页面  
240 - for(var i = 0; i < endTimeList.length; i++) {  
241 - var o = endTimeList[i];  
242 - var endTime = this.data.type == 1?o.end_time:o.start_time;  
243 - // if(th.data.type==0) endTime = o.start_time;  
244 - let obj = null;  
245 - // 如果活动未结束,对时间进行处理  
246 - if (endTime - newTime > 0) {  
247 - let time = (endTime - newTime);  
248 - // 获取天、时、分、秒  
249 - let day = parseInt(time / (60 * 60 * 24));  
250 - let hou = parseInt(time % (60 * 60 * 24) / 3600);  
251 - let min = parseInt(time % (60 * 60 * 24) % 3600 / 60);  
252 - let sec = parseInt(time % (60 * 60 * 24) % 3600 % 60);  
253 - obj = {  
254 - day: this.timeFormat(day), hou: this.timeFormat(hou), min: this.timeFormat(min), sec: this.timeFormat(sec), hide: 1  
255 - }  
256 - } else {  
257 - //活动已结束,全部设置为'00'  
258 - obj = { day: '00', hou: '00', min: '00', sec: '00' }  
259 - }  
260 - var txt ="goodlist["+i+"].djs";  
261 - th.setData({ [txt]: obj});  
262 - }  
263 - }, 239 + countDown() {
  240 +
  241 + if (!this.data.is_timer) return false;
  242 + var th = this;
  243 + // 获取当前时间,同时得到活动结束时间数组
  244 + let newTime = ut.gettimestamp();
  245 +
  246 +
  247 + var time_arr=[];
  248 +
  249 + for (let j = 0; j < this.data.list.length; j++) {
  250 + var endTimeList = this.data.list[j];
  251 + if (endTimeList == null) return null;
  252 +
  253 + var arr_new=[];
  254 +
  255 + // 对结束时间进行处理渲染到页面
  256 + for (var i = 0; i < endTimeList.length; i++) {
  257 +
  258 + var o = endTimeList[i];
  259 + var endTime = this.data.type == 1 ? o.end_time : o.start_time;
  260 + // if(th.data.type==0) endTime = o.start_time;
  261 + let obj = null;
  262 + // 如果活动未结束,对时间进行处理
  263 + if (endTime - newTime > 0) {
  264 + let time = (endTime - newTime);
  265 + // 获取天、时、分、秒
  266 + let day = parseInt(time / (60 * 60 * 24));
  267 + let hou = parseInt(time % (60 * 60 * 24) / 3600);
  268 + let min = parseInt(time % (60 * 60 * 24) % 3600 / 60);
  269 + let sec = parseInt(time % (60 * 60 * 24) % 3600 % 60);
  270 + obj = {
  271 + day: this.timeFormat(day),
  272 + hou: this.timeFormat(hou),
  273 + min: this.timeFormat(min),
  274 + sec: this.timeFormat(sec),
  275 + hide: 1
  276 + }
  277 + } else {
  278 + //活动已结束,全部设置为'00'
  279 + obj = {day: '00', hou: '00', min: '00', sec: '00'}
  280 + }
  281 + //var txt = "goodlist[" + i + "].djs";
  282 + //th.setData({[txt]: obj});
  283 +
  284 + var e={djs:obj};
  285 + arr_new.push(e);
  286 +
  287 + }
  288 +
  289 + time_arr.push(arr_new);
  290 +
  291 +
  292 + }
  293 +
  294 + this.setData({time_arr:time_arr});
  295 +
  296 + },
264 297
265 298
266 299
packageC/pages/group_list/group_list.wxml
1 <view class="list"> 1 <view class="list">
2 - <block wx:for="{{list.pageData}}">  
3 - <view class="list-item" bindtap="goto" data-url="/pages/goods/goodsInfo/goodsInfo?goods_id={{item.goods_id}}&prom_id={{item.id}}&prom_type=2"> 2 +
  3 + <!-- -->
  4 + <block wx:for="{{list}}" wx:for-item="p_item" wx:for-index="p_idx">
  5 +
  6 + <block wx:for="{{p_item}}">
  7 + <view class="list-item" bindtap="goto" data-url="/pages/goods/goodsInfo/goodsInfo?goods_id={{item.goods_id}}&prom_id={{item.id}}&prom_type=2">
4 <view class="img-container"> 8 <view class="img-container">
5 <image class="img-block" src="{{imghost + item.original_img}}" data-val="{{item.original_img}}" 9 <image class="img-block" src="{{imghost + item.original_img}}" data-val="{{item.original_img}}"
6 - data-errorimg="list.pageData[{{index}}].original_img" binderror="bind_bnerr2" lazy-load="true"></image> 10 + data-errorimg="list[{{p_idx}}][{{index}}].original_img" binderror="bind_bnerr2" lazy-load="true"></image>
7 </view> 11 </view>
8 <view class="mgl20 flex fdc f1 jc_sb"> 12 <view class="mgl20 flex fdc f1 jc_sb">
9 <view> 13 <view>
@@ -24,7 +28,9 @@ @@ -24,7 +28,9 @@
24 28
25 <view>已售<block wx:if="{{type == 1}}">{{item.buy_num+item.virtual_num}}</block><block wx:else>0</block>件</view> 29 <view>已售<block wx:if="{{type == 1}}">{{item.buy_num+item.virtual_num}}</block><block wx:else>0</block>件</view>
26 30
27 - <view class=""><text class="iconfont icon-shizhong fs24"></text>{{goodlist[index].djs.day}}天{{goodlist[index].djs.hou}}时{{goodlist[index].djs.min}}分{{goodlist[index].djs.sec}}秒</view> 31 + <view class=""><text class="iconfont icon-shizhong fs24"></text>
  32 + {{time_arr[p_idx][index].djs.day}}天{{time_arr[p_idx][index].djs.hou}}时{{time_arr[p_idx][index].djs.min}}分{{time_arr[p_idx][index].djs.sec}}秒
  33 + </view>
28 </view> 34 </view>
29 35
30 36
@@ -35,24 +41,11 @@ @@ -35,24 +41,11 @@
35 </view> 41 </view>
36 </view> 42 </view>
37 </view> 43 </view>
38 - 44 + </block>
39 </block> 45 </block>
40 <view style="height:60rpx"></view> 46 <view style="height:60rpx"></view>
41 </view> 47 </view>
42 48
43 -<view class="no-more" hidden="{{!noMore}}" wx:if="{{list.pageData.length !== 0}}">—— 已经到底啦 ——</view>  
44 -<nodata nodataContainer="t-c" wx:if="{{list.pageData.length == 0}}"></nodata> 49 +<view class="no-more" hidden="{{!noMore}}" wx:if="{{list.length >= 0 && noMore }}">—— 已经到底啦 ——</view>
  50 +<nodata nodataContainer="t-c" wx:if="{{list.length == 0 && is_get}}"></nodata>
45 51
46 -  
47 -<!--  
48 -<view class="kill-time xc-seckill-bottom">  
49 - <view class="theader" >  
50 - <view bindtap='tip' data-ty="1" class="xc-border-right flex-center timeac left {{type==1?'active':''}}">  
51 - <image class="xc-bottom" src="{{url}}{{type==1?'/miniapp/images/fire-red.png':'/miniapp/images/fire-black.png'}}"></image>  
52 - 火热进行中</view>  
53 - <view bindtap='tip' data-ty="0" class=" flex-center timeac right {{type==0?'active':''}}">  
54 - <image class="xc-bottom" src="{{url}}{{type==0?'/miniapp/images/clock-rad.png':'/miniapp/images/clock-black.png'}}"></image>  
55 - 即将开始</view>  
56 - </view>  
57 -</view>  
58 --->  
59 \ No newline at end of file 52 \ No newline at end of file
packageC/pages/luckyGo/luckyGo_goodsInfo/buy_integral.wxml deleted
1 -<view bindtap="closeSpecModal_inte" class="cover-layer"></view>  
2 - <view class="spec-model">  
3 - <view class="pding">  
4 - <icon bindtap="closeSpecModal_inte" class="modal-close" color="black" size="22" type="cancel"></icon>  
5 - <view class="spec-goods">  
6 - <image class="wh100 spec-img xc-distance-bottom" src="{{data.original_img}}" binderror="pop_err_img" data-errorimg="data.original_img"></image>  
7 - <view class="spec-goods-info">  
8 - <view class="spec-goods-name ellipsis-2">{{data.goods_name}}</view>  
9 - <view class="flex ai_end xc-val-money">  
10 - <view class="spec-goods-price">  
11 - <text wx:if="{{prom_integral}}">{{prom_integral}}积分</text>  
12 - <text wx:if="{{prom_integral && prom_price}}">+</text>  
13 - <text wx:if="{{prom_price}}">{{prom_price}}元</text>  
14 - <text wx:if="{{!prom_integral && !prom_price}}">0积分</text>  
15 - </view>  
16 - </view>  
17 -  
18 -  
19 - <view class="flex">  
20 - <view class="spec-goods-stock">已售:{{prom_act.buy_num}}</view>  
21 - <view class="spec-goods-stock">可售:{{prom_act.limitqty-prom_act.buy_num}}</view>  
22 - </view>  
23 -  
24 - </view>  
25 -  
26 - <!-- 选择门店模块 -->  
27 - <view class="flex-space-between address ai_end xc-width ">  
28 -  
29 - <view class="flex ai_end" wx:if="{{def_pick_store && def_pick_store.pickup_name}}">  
30 - <text class="fs30 xc-black3 shop_name">{{def_pick_store.pickup_name}}</text>  
31 - <view class="distance fs24 xc-ash"wx:if="{{def_pick_store.distance!=null}}">  
32 - 距离:{{def_pick_store.distance>1000?filters.toFix(def_pick_store.distance/1000,2)+"km":filters.toFix(def_pick_store.distance,0)+"m"}}  
33 -  
34 - </view>  
35 - </view>  
36 -  
37 - <!-- 没有门店的时候 -->  
38 - <view class="flex" bindtap="choice_store" wx:else>  
39 - <image class="stores-img" src="{{iurl}}/miniapp/images/stores.png"></image>  
40 - <view class="fs30" style="color:black;">选择门店</view>  
41 - </view>  
42 -  
43 - <view hidden="{{has_def && sys_switch.is_pricing_open_store}}" class="red-co fs28" bindtap="choice_store" >  
44 - 更多门店  
45 - <text class="right-arrow"></text>  
46 - </view>  
47 - </view>  
48 - <view wx:if="{{only_pk && !only_pk.length}}">(库存不足)</view>  
49 - <block wx:else>  
50 - <view wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">(库存不足)</view>  
51 - <block wx:else>  
52 - <view class="no_store" wx:if="{{def_pick_store.is_no_dis}}">(配送不匹配)</view>  
53 - <view wx:elif="{{def_pick_store && !def_pick_store.CanOutQty && sales_rules==2 && prom_type==0}}">(库存不足)</view>  
54 - </block>  
55 - </block>  
56 -  
57 - <view class="fs24 xc-ash-9f xc-distance-top "wx:if="{{def_pick_store && def_pick_store.fulladdress}}">地址:{{def_pick_store.fulladdress}}</view>  
58 -  
59 -  
60 - <!--商品的属性项目-->  
61 - <view class="xc-goods-attribute">  
62 - <view hidden="{{ismend==1}}" class="spec-name">商品规格</view>  
63 - <view hidden="{{ismend==1}}" style="max-height: 120rpx;overflow-y: auto;">  
64 - <view class="spec_bt {{gid==item.goods_id?'act':''}}" bindtap="sele_spec" data-gid='{{item.goods_id}}' wx:for="{{sku_g}}" wx:key="sku_g">  
65 - {{item.gg}}  
66 - </view>  
67 - </view>  
68 - </view>  
69 -  
70 - <view class="b_num">  
71 - <view>购买数量</view>  
72 - <view class="count">  
73 - <view bindtap="{{goodsInputNum <= 1 ? '':'subCartNum_inte'}}" class="sub {{goodsInputNum <= 1 ? 'active':''}}">-</view>  
74 - <input bindblur="inputCartNum_inte" type="number" value="{{goodsInputNum}}"></input>  
75 - <view bindtap="addCartNum_inte" class="add">+</view>  
76 - </view>  
77 - </view>  
78 - </view>  
79 -  
80 - <!-- 按钮部分 -->  
81 - <view class="spec-cart-btns">  
82 - <!-- 根本就找不到门店 -->  
83 - <block wx:if="{{def_pick_store && def_pick_store.is_no_dis}}">  
84 - <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999;">配送不匹配</view>  
85 - </block>  
86 -  
87 - <block wx:else>  
88 -  
89 - <!-- 根本就找不到门店 -->  
90 - <block wx:if="{{!only_pk && !def_pickpu_list}}">  
91 - <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999;">库存不足</view>  
92 - </block>  
93 - <block wx:else>  
94 -  
95 -  
96 - <block wx:if="{{only_pk.length && !only_pk.length}}">  
97 - <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999;">库存不足</view>  
98 - </block>  
99 - <block wx:else>  
100 - <block wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">  
101 - <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999">库存不足</view>  
102 - </block>  
103 - <block wx:else>  
104 - <block wx:if="{{!def_pick_store}}">  
105 - <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999">请先选择门店</view>  
106 - </block>  
107 - <block wx:else>  
108 - <block wx:if="{{data.store_count<=0}}">  
109 - <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999">库存不足</view>  
110 - </block>  
111 - <block wx:else>  
112 - <view bindtap="addCart_inte" class="spec-cart-btn spec-buy" data-action="buy">立即兑换</view>  
113 - </block>  
114 -  
115 - </block>  
116 - </block>  
117 - </block>  
118 - </block>  
119 - </block>  
120 - </view>  
121 -  
122 -  
123 - </view>  
124 - </view>  
125 - <view class="clear"></view>  
126 \ No newline at end of file 0 \ No newline at end of file
packageC/pages/luckyGo/luckyGo_goodsInfo/buy_integral_normal.wxml deleted
1 -<view bindtap="closeSpecModal_inte_normal" class="cover-layer"></view>  
2 - <view class="spec-model">  
3 - <view class="pding">  
4 - <icon bindtap="closeSpecModal_inte_normal" class="modal-close" color="black" size="22" type="cancel"></icon>  
5 - <view class="spec-goods">  
6 - <image class="wh100 spec-img xc-distance-bottom" src="{{sele_g.original_img}}" binderror="pop_err_img" data-errorimg="data.original_img"></image>  
7 - <view class="spec-goods-info">  
8 - <view class="spec-goods-name ellipsis-2">{{sele_g.goods_name}}</view>  
9 - <view class="flex ai_end xc-val-money">  
10 - <text class="fs20">¥</text>  
11 - <!-- 如果是等级会员,且有等级价 -->  
12 - <block wx:if="{{card_field && sele_g[card_field]>0}}">{{sele_g[card_field]}} </block>  
13 - <block wx:else>{{sele_g.shop_price}}</block>  
14 - </view>  
15 -  
16 - <view class="flex">  
17 - <view class="spec-goods-stock">已售:{{sele_g.sales_sum}}</view>  
18 - <block wx:if="{{sales_rules==2}}">  
19 - <view class="spec-goods-stock" wx:if="{{def_pick_store && def_pick_store.CanOutQty}}">可售:{{def_pick_store.CanOutQty}}</view>  
20 - <view class="spec-goods-stock" wx:else>可售:0</view>  
21 - </block>  
22 - <block wx:else><view class="spec-goods-stock">可售:{{sele_g.store_count}}</view></block>  
23 - </view>  
24 -  
25 -  
26 - </view>  
27 -  
28 - <!-- 选择门店模块 -->  
29 - <view class="flex-space-between address ai_end xc-width ">  
30 -  
31 - <view class="flex ai_end" wx:if="{{def_pick_store && def_pick_store.pickup_name}}">  
32 - <text class="fs30 xc-black3 shop_name">{{def_pick_store.pickup_name}}</text>  
33 - <view class="distance fs24 xc-ash"wx:if="{{def_pick_store.distance!=null}}">  
34 - 距离:{{def_pick_store.distance>1000?filters.toFix(def_pick_store.distance/1000,2)+"km":filters.toFix(def_pick_store.distance,0)+"m"}}  
35 -  
36 - </view>  
37 - </view>  
38 -  
39 - <!-- 没有门店的时候 -->  
40 - <view class="flex" bindtap="choice_store" wx:else>  
41 - <image class="stores-img" src="{{iurl}}/miniapp/images/stores.png"></image>  
42 - <view class="fs30" style="color:black;">选择门店</view>  
43 - </view>  
44 -  
45 - <view hidden="{{has_def && sys_switch.is_pricing_open_store}}" class="red-co fs28" bindtap="choice_store" >  
46 - 更多门店  
47 - <text class="right-arrow"></text>  
48 - </view>  
49 - </view>  
50 - <view wx:if="{{only_pk && !only_pk.length}}">(库存不足)</view>  
51 - <block wx:else>  
52 - <view wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">(库存不足)</view>  
53 - <block wx:else>  
54 - <view class="no_store" wx:if="{{def_pick_store.is_no_dis}}">(配送不匹配)</view>  
55 - <view wx:elif="{{def_pick_store && !def_pick_store.CanOutQty && sales_rules==2 && prom_type==0}}">(库存不足)</view>  
56 - </block>  
57 - </block>  
58 - <view class="fs24 xc-ash-9f xc-distance-top "wx:if="{{def_pick_store && def_pick_store.fulladdress}}">地址:{{def_pick_store.fulladdress}}</view>  
59 -  
60 -  
61 - <!--商品的属性项目-->  
62 - <view class="xc-goods-attribute">  
63 - <view hidden="{{ismend==1}}" class="spec-name">商品规格</view>  
64 - <view hidden="{{ismend==1}}" style="max-height: 120rpx;overflow-y: auto;">  
65 - <view class="spec_bt {{gid==item.goods_id?'act':''}}" bindtap="sele_spec" data-nor="1" data-gid='{{item.goods_id}}' wx:for="{{sku_g_pt}}" wx:key="sku_g">  
66 - {{item.gg}}  
67 - </view>  
68 - </view>  
69 - </view>  
70 -  
71 - <view class="b_num">  
72 - <view>购买数量</view>  
73 - <view class="count">  
74 - <view bindtap="{{goodsInputNum <= 1 ? '':'subCartNum'}}" class="sub {{goodsInputNum <= 1 ? 'active':''}}">-</view>  
75 - <input bindblur="inputCartNum" type="number" value="{{goodsInputNum}}"></input>  
76 - <view bindtap="addCartNum" class="add">+</view>  
77 - </view>  
78 - </view>  
79 - </view>  
80 -  
81 -  
82 - <!-- 提示再买多少优惠 -->  
83 - <view style="margin-top: 35rpx;color:#333;font-size:28rpx;" wx:if="{{hui_condition}}">  
84 - 再买{{hui_condition.need}}  
85 - <text wx:if="{{hui_condition.money}}">,免{{hui_condition.money}}元</text>  
86 - <text wx:if="{{hui_condition.sale}}">,打{{hui_condition.sale}}折</text>  
87 - <text wx:if="{{hui_condition.past==1}}">,包邮</text>  
88 - <text wx:if="{{hui_condition.intValue>0}}">,送{{hui_condition.intValue}}积分</text>  
89 - <text wx:if="{{hui_condition.couponId>0}}">,送优惠券</text>  
90 - <text wx:if="{{hui_condition.gift_id>0}}">,送赠品</text>  
91 - <text wx:if="{{hui_condition.lb_id>0}}">,送礼包</text>  
92 - <text wx:if="{{hui_condition.zxlb_id>0}}">,送专享礼包</text>  
93 - </view>  
94 -  
95 -  
96 - <!-- 按钮部分 -->  
97 - <view class="spec-cart-btns">  
98 -  
99 -  
100 - <!-- 根本就找不到门店 -->  
101 - <block wx:if="{{def_pick_store && def_pick_store.is_no_dis}}">  
102 - <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999;">配送不匹配</view>  
103 - </block>  
104 - <block wx:else>  
105 - <!-- 根本就找不到门店 -->  
106 - <block wx:if="{{!only_pk && !def_pickpu_list}}">  
107 - <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999;">库存不足</view>  
108 - </block>  
109 - <block wx:else>  
110 -  
111 -  
112 - <block wx:if="{{only_pk.length && !only_pk.length}}">  
113 - <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999;">库存不足</view>  
114 - </block>  
115 - <block wx:else>  
116 - <block wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">  
117 - <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999">库存不足</view>  
118 - </block>  
119 - <block wx:else>  
120 - <block wx:if="{{!def_pick_store}}">  
121 - <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999">请先选择门店</view>  
122 - </block>  
123 - <block wx:else>  
124 - <block wx:if="{{data.store_count<=0}}">  
125 - <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999">库存不足</view>  
126 - </block>  
127 - <block wx:else>  
128 - <view class="flex jc_sb">  
129 - <view class="spec-cart-btn spec-buy w40" bindtap="addCart"  
130 - data-action="add" style="background-color: #ffb03f;">加入购物车</view>  
131 - <view class="spec-cart-btn spec-buy w40" bindtap="addCart"  
132 - data-action="buy">立即购买</view>  
133 - </view>  
134 - </block>  
135 -  
136 - </block>  
137 - </block>  
138 - </block>  
139 - </block>  
140 - </block>  
141 - </view>  
142 -  
143 -  
144 - </view>  
145 - </view>  
146 - <view class="clear"></view>  
147 \ No newline at end of file 0 \ No newline at end of file
packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo.js
@@ -4066,8 +4066,6 @@ Page({ @@ -4066,8 +4066,6 @@ Page({
4066 // ind == 1 为普通购买 4066 // ind == 1 为普通购买
4067 openSpecModel_pt: function (e) { 4067 openSpecModel_pt: function (e) {
4068 4068
4069 -  
4070 -  
4071 this.setData({ open_ind_store: 9, goodsInputNum: 1 }); 4069 this.setData({ open_ind_store: 9, goodsInputNum: 1 });
4072 // 判断是否有待支付订单 4070 // 判断是否有待支付订单
4073 var aid = this.data.group_id; 4071 var aid = this.data.group_id;
@@ -4190,7 +4188,9 @@ Page({ @@ -4190,7 +4188,9 @@ Page({
4190 // } 4188 // }
4191 // }); 4189 // });
4192 4190
  4191 +
4193 th.data.prom_type=9; 4192 th.data.prom_type=9;
  4193 +
4194 th.get_sto(); 4194 th.get_sto();
4195 th.setData({ 4195 th.setData({
4196 is_normal: 0, 4196 is_normal: 0,
@@ -4809,12 +4809,16 @@ Page({ @@ -4809,12 +4809,16 @@ Page({
4809 context.setTextAlign('left'); 4809 context.setTextAlign('left');
4810 context.fillText('强烈推荐', 64 * unit, 672 * unit); 4810 context.fillText('强烈推荐', 64 * unit, 672 * unit);
4811 // 7.商品价格 4811 // 7.商品价格
4812 - let price = '¥' + this.data.data.shop_price;  
4813 - // if (th.data.prom_act)  
4814 - // pri0 = th.data.prom_act.price; 4812 + let price = '¥' + parseFloat( this.data.luckGoInfo.group_price/100).toFixed(2);
4815 context.setFontSize(32 * unit); 4813 context.setFontSize(32 * unit);
4816 context.setFillStyle('#DE1117'); 4814 context.setFillStyle('#DE1117');
4817 context.fillText(price, 54 * unit, 730 * unit); 4815 context.fillText(price, 54 * unit, 730 * unit);
  4816 +
  4817 + //-- 零售价的优化 --
  4818 + var wp= 60 * unit+ut.measureText( price, 32 * unit);
  4819 + var hp=730 * unit
  4820 + this.draw_pos_price(context,wp,hp,this.data.data.market_price,unit);
  4821 +
4818 // 8.商品标题 4822 // 8.商品标题
4819 context.setFontSize(20 * unit); 4823 context.setFontSize(20 * unit);
4820 context.setFillStyle('#898989'); 4824 context.setFillStyle('#898989');
@@ -4835,6 +4839,29 @@ Page({ @@ -4835,6 +4839,29 @@ Page({
4835 4839
4836 4840
4837 4841
  4842 + //---市场价划掉---
  4843 + draw_pos_price(context,w,h,market_price,unit){
  4844 +
  4845 + if(!this.data.sys_switch) return false;
  4846 + if(!this.data.sys_switch.is_retail_price) return false;
  4847 +
  4848 +
  4849 + context.setFillStyle("gray")
  4850 + context.setFontSize(22 * unit)
  4851 + var pri0 = "¥" + market_price;
  4852 + context.fillText(pri0, w, h);
  4853 +
  4854 + var c_h=h-6;
  4855 + context.setStrokeStyle('gray');
  4856 + context.setLineWidth(1 * unit);
  4857 + context.moveTo(w - 5, c_h);
  4858 + context.lineTo(w + ut.measureText(pri0, 22 * unit) + 5, c_h);
  4859 + context.stroke();
  4860 +
  4861 + },
  4862 +
  4863 +
  4864 +
4838 //--定义的保存图片方法,分享团--- 4865 //--定义的保存图片方法,分享团---
4839 saveImageToPhotosAlbum: function () { 4866 saveImageToPhotosAlbum: function () {
4840 //--先判断会员状态-- 4867 //--先判断会员状态--
@@ -4851,8 +4878,8 @@ Page({ @@ -4851,8 +4878,8 @@ Page({
4851 4878
4852 //类型 0普通商品 1秒杀商品 2商家和会员团 3阶梯团 4阶梯团 9幸运购 4879 //类型 0普通商品 1秒杀商品 2商家和会员团 3阶梯团 4阶梯团 9幸运购
4853 var type = 9; 4880 var type = 9;
4854 - console.log('type', type);  
4855 - if (type == 6) type = 2; 4881 + var th=this;
  4882 +
4856 if (this.data.prom_act && this.data.prom_act.kttype == 3) type = 3; 4883 if (this.data.prom_act && this.data.prom_act.kttype == 3) type = 3;
4857 4884
4858 wx.showLoading({ title: '生成中...', }) 4885 wx.showLoading({ title: '生成中...', })
@@ -4882,8 +4909,6 @@ Page({ @@ -4882,8 +4909,6 @@ Page({
4882 ///二微码 4909 ///二微码
4883 var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" + 4910 var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" +
4884 os.stoid + "?sceneValue=" + scene + "&pageValue=packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo"; 4911 os.stoid + "?sceneValue=" + scene + "&pageValue=packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo";
4885 - // var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" +  
4886 - // os.stoid + "?sceneValue=" + scene + "&pageValue=packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo";  
4887 4912
4888 console.log('path3......', path3); 4913 console.log('path3......', path3);
4889 4914
@@ -4899,14 +4924,6 @@ Page({ @@ -4899,14 +4924,6 @@ Page({
4899 // 先画背景 4924 // 先画背景
4900 var pg_path = "../../../../images/share/share_bg.png"; 4925 var pg_path = "../../../../images/share/share_bg.png";
4901 4926
4902 - // context.fillStyle="#FFFFFF";  
4903 - // context.fillRect(0,0,554 * unit, 899 * unit);  
4904 -  
4905 - // if(type == 0) {  
4906 - // this.drawPoster(context);  
4907 - // return false;  
4908 - // };  
4909 -  
4910 4927
4911 //-- 如果有自定义海报的时候,判断背景的图片 -- 4928 //-- 如果有自定义海报的时候,判断背景的图片 --
4912 if (th.data.share_b_img) { 4929 if (th.data.share_b_img) {
@@ -4915,17 +4932,17 @@ Page({ @@ -4915,17 +4932,17 @@ Page({
4915 // context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit); 4932 // context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit);
4916 4933
4917 4934
4918 - if (!th.data.share_b_img && (type == 9)) { // 如果是普通商品,绘制新海报 4935 + if (!th.data.share_b_img) { // 如果是普通商品,绘制新海报
4919 th.drawPoster(context, unit, th.data.share_goods_img, vpath); 4936 th.drawPoster(context, unit, th.data.share_goods_img, vpath);
4920 } else { 4937 } else {
4921 context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit); 4938 context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit);
4922 }; 4939 };
4923 4940
4924 - // th.drawPoster(context, unit, th.data.share_goods_img, vpath); 4941 +
4925 4942
4926 4943
4927 //-- 是自定义海报的情况下 -- 4944 //-- 是自定义海报的情况下 --
4928 - if (th.data.share_b_img || type != 0) { 4945 + if (th.data.share_b_img ) {
4929 4946
4930 4947
4931 4948
@@ -4973,28 +4990,22 @@ Page({ @@ -4973,28 +4990,22 @@ Page({
4973 // context.setFillStyle("#7f7f7f") 4990 // context.setFillStyle("#7f7f7f")
4974 // context.setFontSize(21.3 * unit) 4991 // context.setFontSize(21.3 * unit)
4975 // context.fillText("向您发出幸运购邀请", 152 * unit, 90 * unit); 4992 // context.fillText("向您发出幸运购邀请", 152 * unit, 90 * unit);
4976 -  
4977 } 4993 }
4978 -  
4979 - }; 4994 + }
4980 4995
4981 4996
4982 4997
4983 var share_title = th.data.data.goods_name; 4998 var share_title = th.data.data.goods_name;
4984 - if (th.data.prom_type == 1 || th.data.prom_type == 6 || th.data.prom_type == 4) {  
4985 - share_title = th.data.prom_act.share_title;  
4986 - if (!share_title) share_title = th.data.prom_act.title;  
4987 - if (th.data.prom_type == 4) share_title = th.data.prom_act.name;  
4988 - }  
4989 -  
4990 //---产品名称--- 4999 //---产品名称---
4991 //文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度 5000 //文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度
4992 - if (th.data.share_b_img || (type != 4 && type != 9)) { 5001 + if (th.data.share_b_img ) {
4993 context.setFillStyle("black"); 5002 context.setFillStyle("black");
4994 context.setFontSize(21.3 * unit) 5003 context.setFontSize(21.3 * unit)
4995 - th.draw_Text(context, share_title, 5004 + getApp().draw_Text(context, share_title,
4996 38 * unit, 180 * unit, 220 * unit, 220 * unit, unit); 5005 38 * unit, 180 * unit, 220 * unit, 220 * unit, unit);
4997 5006
  5007 +
  5008 +
4998 //------产品的价格------- 5009 //------产品的价格-------
4999 context.setFontSize(23 * unit) 5010 context.setFontSize(23 * unit)
5000 context.setFillStyle("red") 5011 context.setFillStyle("red")
@@ -5018,276 +5029,49 @@ Page({ @@ -5018,276 +5029,49 @@ Page({
5018 context.fillText('参团价', 330 * unit, 179 * unit); 5029 context.fillText('参团价', 330 * unit, 179 * unit);
5019 5030
5020 //---市场价划掉--- 5031 //---市场价划掉---
5021 - context.setFillStyle("gray")  
5022 - context.setFontSize(22 * unit)  
5023 - pri0 = "零售价:¥" + th.data.data.market_price.toFixed(2);  
5024 - var wd2 = th.data.screenWidth - ut.measureText(pri0, 22 * unit) - 25;  
5025 - context.fillText(pri0, wd2, 213 * unit);  
5026 -  
5027 - context.setStrokeStyle('gray');  
5028 - context.setLineWidth(1 * unit);  
5029 - context.moveTo(wd2 - 5, 206 * unit);  
5030 - context.lineTo(wd2 + ut.measureText(pri0, 22 * unit) + 5, 206 * unit);  
5031 - context.stroke();  
5032 -  
5033 - } else if (type == 4 && type != 0) {  
5034 - context.setFillStyle("black");  
5035 - context.setFontSize(21.3 * unit)  
5036 - th.draw_Text(context, share_title,  
5037 - 38 * unit, 170 * unit, 20 * unit, 300 * unit, unit);  
5038 - //------ 产品的价格 -----  
5039 - var pri0 = th.data.prom_act.addmoney;  
5040 - var integral = th.data.prom_act.integral;  
5041 - var text = "";  
5042 - if (integral) { text = integral + "积分"; }  
5043 - if (pri0 && integral) { text += "+"; }  
5044 - if (pri0) { text += "¥" + pri0; }  
5045 -  
5046 - if (!pri0 && !integral) { text = "0积分"; }  
5047 - context.setFillStyle("red");  
5048 - context.fillText(text, 38 * unit, 235 * unit); 5032 + // context.setFillStyle("gray")
  5033 + // context.setFontSize(22 * unit)
  5034 + pri0 = "零售价:¥" + th.data.data.market_price.toFixed(2);
  5035 + var wd2 = th.data.screenWidth - ut.measureText(pri0, 22 * unit) - 25;
  5036 +
  5037 + // context.fillText(pri0, wd2, 213 * unit);
  5038 + // context.setStrokeStyle('gray');
  5039 + // context.setLineWidth(1 * unit);
  5040 + // context.moveTo(wd2 - 5, 206 * unit);
  5041 + // context.lineTo(wd2 + ut.measureText(pri0, 22 * unit) + 5, 206 * unit);
  5042 + // context.stroke();
  5043 +
  5044 + th.draw_pos_price(context,wd2, 213 * unit,pri0,unit);
5049 5045
5050 } 5046 }
5051 5047
5052 //---中间大图--- 5048 //---中间大图---
5053 - if ( th.data.share_b_img || type != 9) {  
5054 - context.drawImage(th.data.share_goods_img, 70 * unit, 250 * unit, 408 * unit, 408 * unit); 5049 + if ( th.data.share_b_img ) {
  5050 + context.drawImage(th.data.share_goods_img, 70 * unit, 245 * unit, 408 * unit, 408 * unit);
5055 }; 5051 };
5056 5052
5057 //---自定义海报 产品质量保证 5053 //---自定义海报 产品质量保证
5058 if(th.data.share_b_img && th.data.poster.show_quality==1 ){ 5054 if(th.data.share_b_img && th.data.poster.show_quality==1 ){
5059 var g_path = "../../../../images/share/s_gou.png"; 5055 var g_path = "../../../../images/share/s_gou.png";
5060 - context.drawImage(g_path, 56 * unit, 670 * unit, 22 * unit, 22 * unit); 5056 + context.drawImage(g_path, 56 * unit, 650 * unit, 22 * unit, 22 * unit);
5061 context.setFillStyle("red") 5057 context.setFillStyle("red")
5062 context.setFontSize(18 * unit) 5058 context.setFontSize(18 * unit)
5063 - context.fillText("正品保证", 84 * unit, 690 * unit); 5059 + context.fillText("正品保证", 84 * unit, 670 * unit);
5064 5060
5065 - context.drawImage(g_path, 218 * unit, 670 * unit, 22 * unit, 22 * unit); 5061 + context.drawImage(g_path, 218 * unit, 650 * unit, 22 * unit, 22 * unit);
5066 context.setFillStyle("red") 5062 context.setFillStyle("red")
5067 context.setFontSize(18 * unit) 5063 context.setFontSize(18 * unit)
5068 - context.fillText("纯实体店", 246 * unit, 690 * unit); 5064 + context.fillText("纯实体店", 246 * unit, 670 * unit);
5069 5065
5070 - context.drawImage(g_path, 388 * unit, 670 * unit, 22 * unit, 22 * unit); 5066 + context.drawImage(g_path, 388 * unit, 650 * unit, 22 * unit, 22 * unit);
5071 context.setFillStyle("red") 5067 context.setFillStyle("red")
5072 context.setFontSize(18 * unit) 5068 context.setFontSize(18 * unit)
5073 - context.fillText("官方验证", 420 * unit, 690 * unit); 5069 + context.fillText("官方验证", 420 * unit, 670 * unit);
5074 5070
5075 } 5071 }
5076 5072
5077 //-------大图后面就不一样了----------- 5073 //-------大图后面就不一样了-----------
5078 switch (type) { 5074 switch (type) {
5079 - case 0: break;//普通商品的展示  
5080 - case 4:  
5081 - //中间的几个字  
5082 - if (th.data.poster && parseInt(th.data.poster.style) == 2) {  
5083 - if (parseInt(th.data.poster.show_quality)) {  
5084 - var g_path = "../../../../images/share/s_gou.png";  
5085 - context.drawImage(g_path, 56 * unit, 670 * unit, 22 * unit, 22 * unit);  
5086 - context.setFillStyle("red")  
5087 - context.setFontSize(18 * unit)  
5088 - context.fillText("正品保证", 84 * unit, 690 * unit);  
5089 -  
5090 - context.drawImage(g_path, 218 * unit, 670 * unit, 22 * unit, 22 * unit);  
5091 - context.setFillStyle("red")  
5092 - context.setFontSize(18 * unit)  
5093 - context.fillText("纯实体店", 246 * unit, 690 * unit);  
5094 -  
5095 - context.drawImage(g_path, 388 * unit, 670 * unit, 22 * unit, 22 * unit);  
5096 - context.setFillStyle("red")  
5097 - context.setFontSize(18 * unit)  
5098 - context.fillText("官方验证", 420 * unit, 690 * unit);  
5099 - }  
5100 -  
5101 - } else {  
5102 - var g_path = "../../../../images/share/s_gou.png";  
5103 - context.drawImage(g_path, 56 * unit, 670 * unit, 22 * unit, 22 * unit);  
5104 - context.setFillStyle("red")  
5105 - context.setFontSize(18 * unit)  
5106 - context.fillText("正品保证", 84 * unit, 690 * unit);  
5107 -  
5108 - context.drawImage(g_path, 218 * unit, 670 * unit, 22 * unit, 22 * unit);  
5109 - context.setFillStyle("red")  
5110 - context.setFontSize(18 * unit)  
5111 - context.fillText("纯实体店", 246 * unit, 690 * unit);  
5112 -  
5113 - context.drawImage(g_path, 388 * unit, 670 * unit, 22 * unit, 22 * unit);  
5114 - context.setFillStyle("red")  
5115 - context.setFontSize(18 * unit)  
5116 - context.fillText("官方验证", 420 * unit, 690 * unit);  
5117 - }  
5118 -  
5119 -  
5120 - //---画线---  
5121 - context.setLineWidth(1 * unit)  
5122 - context.moveTo(32 * unit, 710 * unit)  
5123 - context.lineTo(520 * unit, 710 * unit)  
5124 - context.stroke();  
5125 -  
5126 - //---文字---  
5127 - context.setFillStyle("black")  
5128 - context.setFontSize(22 * unit)  
5129 -  
5130 - if (type == 0) {  
5131 - // 原来start --->  
5132 - context.setFontSize(24 * unit)  
5133 - context.fillText(th.data.sto_sele_name_1, 40 * unit, 766 * unit);  
5134 -  
5135 - context.setFontSize(22 * unit)  
5136 - context.fillText("优惠乐翻天,精彩就在你身边", 40 * unit, 806 * unit);  
5137 - context.fillText("长按识别二维码,立即开始抢购", 40 * unit, 846 * unit);  
5138 -  
5139 - } else {  
5140 - context.setFontSize(24 * unit)  
5141 - context.fillText(th.data.sto_sele_name_1, 40 * unit, 766 * unit);  
5142 - context.setFontSize(22 * unit)  
5143 - context.fillText("长按识别二维码", 40 * unit, 806 * unit);  
5144 - context.fillText("立即开始兑换", 40 * unit, 846 * unit);  
5145 -  
5146 - }  
5147 -  
5148 - //---二维吗图---  
5149 - //-- 自定义海报 --  
5150 - if (th.data.poster) {  
5151 - var erm_x = parseFloat(th.data.poster.ewm_x) * 2;  
5152 - var erm_y = parseFloat(th.data.poster.ewm_y) * 2;  
5153 - context.drawImage(vpath, erm_x * unit, erm_y * unit, 136 * unit, 136 * unit);  
5154 - } else {  
5155 - //---二维吗图---  
5156 - context.drawImage(vpath, 390 * unit, 726 * unit, 136 * unit, 136 * unit);  
5157 - };  
5158 -  
5159 - break;  
5160 - case 1: //秒杀商品的展示  
5161 - //---画线---  
5162 - context.setLineWidth(1 * unit)  
5163 - context.moveTo(32 * unit, 670 * unit)  
5164 - context.lineTo(520 * unit, 670 * unit)  
5165 - context.stroke();  
5166 -  
5167 - //画秒杀的图片  
5168 - var miaos_path = '../../../../images/share/miao_share.png';  
5169 - context.drawImage(miaos_path, 43 * unit, 700 * unit, 222 * unit, 40 * unit);  
5170 -  
5171 - context.setFillStyle("black")  
5172 - context.setFontSize(24 * unit)  
5173 - context.fillText(th.data.sto_sele_name_1, 40 * unit, 786 * unit);  
5174 - //---文字---  
5175 - context.setFontSize(22 * unit)  
5176 - context.setFillStyle("black")  
5177 - context.fillText("特惠好物,限时秒杀", 40 * unit, 826 * unit);  
5178 - context.fillText("长按识别二维码,立即开始抢购", 40 * unit, 866 * unit);  
5179 -  
5180 -  
5181 - //---二维吗图---  
5182 - //-- 自定义海报 --  
5183 - if (th.data.poster) {  
5184 - var erm_x = parseFloat(th.data.poster.ewm_x) * 2;  
5185 - var erm_y = parseFloat(th.data.poster.ewm_y) * 2;  
5186 - context.drawImage(vpath, erm_x * unit, erm_y * unit, 135 * unit, 135 * unit);  
5187 - } else {  
5188 - //---二维吗图---  
5189 - context.drawImage(vpath, 390 * unit, 726 * unit, 135 * unit, 135 * unit);  
5190 - }  
5191 - break;  
5192 -  
5193 - case 2: //会员团和商家团的展示  
5194 - //---画线---  
5195 - context.setLineWidth(1 * unit)  
5196 - context.moveTo(32 * unit, 670 * unit)  
5197 - context.lineTo(520 * unit, 670 * unit)  
5198 - context.stroke();  
5199 - //---文字---  
5200 - context.setFillStyle("black")  
5201 - context.setFontSize(24 * unit)  
5202 - context.fillText(th.data.sto_sele_name_1, 40 * unit, 720 * unit);  
5203 -  
5204 - //绘制成团图片  
5205 - var ct_img = "../../../../images/share/ct_num.png";  
5206 - context.drawImage(ct_img, 40 * unit, 740 * unit, 120 * unit, 30 * unit);  
5207 - var ct_num = th.data.prom_act.ct_num;  
5208 - context.setFontSize(14 * unit)  
5209 - context.font = 'normal';  
5210 - context.setFillStyle("red")  
5211 - if (ct_num < 10) {  
5212 - context.fillText(ct_num + "人拼团", 92 * unit, 760 * unit);  
5213 - } else {  
5214 - context.fillText(ct_num + "人拼团", 86 * unit, 760 * unit);  
5215 - }  
5216 - context.setFontSize(22 * unit)  
5217 - context.fillText("已拼" + th.data.prom_act.buy_num + "份", 166 * unit, 763 * unit);  
5218 -  
5219 - context.setFillStyle("gray")  
5220 - context.fillText("快来和我一起拼团吧!", 40 * unit, 806 * unit);  
5221 - context.setFillStyle("black")  
5222 - context.font = 'normal bold 18px sans-serif';  
5223 - context.setFontSize(21.3 * unit)  
5224 - context.fillText("长按识别二维码,立即参团", 40 * unit, 836 * unit);  
5225 -  
5226 -  
5227 - //---二维吗图---  
5228 - //-- 自定义海报 --  
5229 - if (th.data.poster) {  
5230 - var erm_x = parseFloat(th.data.poster.ewm_x) * 2;  
5231 - var erm_y = parseFloat(th.data.poster.ewm_y) * 2;  
5232 - context.drawImage(vpath, erm_x * unit, erm_y * unit, 136 * unit, 136 * unit);  
5233 - } else {  
5234 - //---二维吗图---  
5235 - context.drawImage(vpath, 390 * unit, 726 * unit, 136 * unit, 136 * unit);  
5236 - }  
5237 - break  
5238 - case 3: //阶梯团的展示  
5239 - //---画线---  
5240 - context.setLineWidth(1 * unit)  
5241 - context.moveTo(32 * unit, 670 * unit)  
5242 - context.lineTo(520 * unit, 670 * unit)  
5243 - context.stroke();  
5244 - //---文字---  
5245 - context.setFillStyle("black")  
5246 - context.setFontSize(24 * unit)  
5247 - context.fillText(th.data.sto_sele_name_1, 40 * unit, 720 * unit);  
5248 -  
5249 - //---绘制中间阶梯的价格---  
5250 - var list = th.data.prom_act.ct_rylist;  
5251 - for (var i = 0; i < list.length; i++) {  
5252 - var item = list[i];  
5253 - var wi = i * 90 * unit;  
5254 - context.font = 'normal';  
5255 - context.setFontSize(16 * unit)  
5256 - context.setFillStyle("red")  
5257 - context.fillText("¥", 40 * unit + wi, 756 * unit);  
5258 - context.setFontSize(22 * unit)  
5259 - var pri = parseFloat(item.price).toFixed(2);  
5260 - context.fillText(pri, 56 * unit + wi, 756 * unit);  
5261 - context.setFillStyle("gray")  
5262 - context.fillText("满" + item.rynum + "人", 40 * unit + wi, 786 * unit);  
5263 - }  
5264 - //----------------下面部分----------------  
5265 - // context.setFillStyle("gray")  
5266 - // context.fillText("快来和我一起拼团吧!", 40 * unit, 830 * unit);  
5267 - // context.setFillStyle("black")  
5268 - // context.font = 'normal bold 18px sans-serif';  
5269 - // context.setFontSize(22 * unit)  
5270 - // context.fillText("长按识别二维码,立即参团", 40 * unit, 860 * unit);  
5271 - //context.setFillStyle("gray")  
5272 - context.setFillStyle("black")  
5273 - context.fillText("快来和我一起拼团吧!", 40 * unit, 820 * unit);  
5274 - //context.font = 'normal bold 18px sans-serif';  
5275 - context.setFontSize(21 * unit)  
5276 - context.fillText("长按识别二维码,立即参团", 40 * unit, 850 * unit);  
5277 -  
5278 -  
5279 - //-- 自定义海报 --  
5280 - if (th.data.poster) {  
5281 - var erm_x = parseFloat(th.data.poster.ewm_x) * 2;  
5282 - var erm_y = parseFloat(th.data.poster.ewm_y) * 2;  
5283 - context.drawImage(vpath, erm_x * unit, erm_y * unit, 136 * unit, 136 * unit);  
5284 - } else {  
5285 - //---二维吗图---  
5286 - context.drawImage(vpath, 390 * unit, 726 * unit, 136 * unit, 136 * unit);  
5287 - }  
5288 - break;  
5289 -  
5290 -  
5291 case 9: 5075 case 9:
5292 if(th.data.share_b_img){ 5076 if(th.data.share_b_img){
5293 5077
@@ -5363,12 +5147,11 @@ Page({ @@ -5363,12 +5147,11 @@ Page({
5363 5147
5364 break; 5148 break;
5365 5149
5366 -  
5367 } 5150 }
5368 5151
5369 5152
5370 //--- 如果是自定义海报的时候 --- 5153 //--- 如果是自定义海报的时候 ---
5371 - if ( th.data.share_b_img || type != 9) { 5154 + if ( th.data.share_b_img ) {
5372 5155
5373 if (th.data.poster && parseInt(th.data.poster.style) == 2) { 5156 if (th.data.poster && parseInt(th.data.poster.style) == 2) {
5374 5157
@@ -5413,6 +5196,14 @@ Page({ @@ -5413,6 +5196,14 @@ Page({
5413 }; 5196 };
5414 5197
5415 5198
  5199 + if(th.data.poster.show_time==1){
  5200 + var act_time = '';
  5201 + act_time="截止时间:"+ ut.formatTime(th.data.luckGoInfo.end_time);
  5202 + context.setFillStyle("red")
  5203 + getApp().draw_Text(context, act_time, 38 * unit, 880 * unit, 200 * unit, 340 * unit, unit);
  5204 + }
  5205 +
  5206 +
5416 5207
5417 //把画板内容绘制成图片,并回调 画板图片路径 5208 //把画板内容绘制成图片,并回调 画板图片路径
5418 context.draw(false, function () { 5209 context.draw(false, function () {
@@ -5464,35 +5255,6 @@ Page({ @@ -5464,35 +5255,6 @@ Page({
5464 }); 5255 });
5465 }, 5256 },
5466 5257
5467 -  
5468 - //文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度  
5469 - draw_Text: function (ctx, str, leftWidth, initHeight, titleHeight, canvasWidth, unit) {  
5470 - var lineWidth = 0;  
5471 - var lastSubStrIndex = 0; //每次开始截取的字符串的索引  
5472 - var han = 0;  
5473 - for (let i = 0; i < str.length; i++) {  
5474 - if (han == 2) return;  
5475 - //lineWidth += ctx.measureText(str[i]).width;  
5476 - lineWidth += ut.measureText(str[i], 21.3 * unit);  
5477 - if (lineWidth > canvasWidth) {  
5478 - han++;  
5479 -  
5480 - if (han == 2)  
5481 - ctx.fillText(str.substring(lastSubStrIndex, i) + '...', leftWidth, initHeight); //绘制截取部分  
5482 - else  
5483 - ctx.fillText(str.substring(lastSubStrIndex, i), leftWidth, initHeight);  
5484 -  
5485 - initHeight += 22; //22为字体的高度  
5486 - lineWidth = 0;  
5487 - lastSubStrIndex = i;  
5488 - titleHeight += 20;  
5489 - }  
5490 - if (i == str.length - 1) { //绘制剩余部分  
5491 - ctx.fillText(str.substring(lastSubStrIndex, i + 1), leftWidth, initHeight);  
5492 - }  
5493 - }  
5494 - },  
5495 -  
5496 // ----视频图片---- 5258 // ----视频图片----
5497 // 图片计数器 5259 // 图片计数器
5498 swiperChange: function (e) { 5260 swiperChange: function (e) {
packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo.wxml
@@ -113,12 +113,22 @@ @@ -113,12 +113,22 @@
113 <!-- <view class="fs50 val">{{filters.toFix(data.shop_price,2)}}</view> --> 113 <!-- <view class="fs50 val">{{filters.toFix(data.shop_price,2)}}</view> -->
114 <view class="fs50 val">{{filters.toFix(luckGoInfo.group_price/100,2)}}</view> 114 <view class="fs50 val">{{filters.toFix(luckGoInfo.group_price/100,2)}}</view>
115 </view> 115 </view>
116 - <view class="word-line fs20 xc-qtunit-price">  
117 -<!-- 手店价-->  
118 - <!-- ¥{{filters.toFix(data.shop_price,2)}} -->  
119 - <block wx:if="{{card_field && sele_g[card_field]>0}}"><text class="rmb lh1">{{sele_g[card_field]}}</text></block>  
120 - <block wx:else><text class="rmb lh1">{{sele_g.shop_price}}</text></block> 116 + <view class="word-line fs20 xc-qtunit-price" wx:if="{{sys_switch.is_retail_price}}" style="margin-left:0" >
  117 + 零售价:<text class="rmb lh1">{{data.market_price}}</text>
121 </view> 118 </view>
  119 +
  120 + <view class="word-line fs20 xc-qtunit-price" wx:else>
  121 +
  122 + <!-- 手店价-->
  123 + <!-- {{filters.toFix(data.shop_price,2)}} -->
  124 + <block wx:if="{{card_field && sele_g[card_field]>0}}"><text class="rmb lh1">{{sele_g[card_field]}}</text></block>
  125 + <block wx:else><text class="rmb lh1">{{data.shop_price}}</text></block>
  126 + </view>
  127 +
  128 +
  129 +
  130 +
  131 +
122 </view> 132 </view>
123 133
124 134
@@ -1049,8 +1059,6 @@ @@ -1049,8 +1059,6 @@
1049 <!-- <nav_box></nav_box> --> 1059 <!-- <nav_box></nav_box> -->
1050 </block> 1060 </block>
1051 1061
1052 -  
1053 -  
1054 <!-- --弹起来,选择规格数量,普通商品购买和秒杀---- --> 1062 <!-- --弹起来,选择规格数量,普通商品购买和秒杀---- -->
1055 <view hidden="{{!openSpecModal}}"> 1063 <view hidden="{{!openSpecModal}}">
1056 <view bindtap="closeSpecModal" class="cover-layer"></view> 1064 <view bindtap="closeSpecModal" class="cover-layer"></view>
@@ -1336,40 +1344,7 @@ @@ -1336,40 +1344,7 @@
1336 <view class="top-frame"> 1344 <view class="top-frame">
1337 <view class="xc-coupon-frame "> 1345 <view class="xc-coupon-frame ">
1338 1346
1339 - <view class="rel" wx:for="{{quan_list}}" wx:key="{{index}}">  
1340 - <view class="coupon flex">  
1341 - <view class="circle xc-circular-one"></view>  
1342 - <view class="xc-coupon-left ">  
1343 - <view class="flex ai_c xc-money-frame">  
1344 - <text class="xc-money two-level-word xc-rmb">¥</text>  
1345 - <text class="one-level-word xc-money">{{item.money}}</text>  
1346 - </view>  
1347 - <view class="xc-money four-level-word xc-spacing">满{{item.condition}}元可用</view>  
1348 - </view>  
1349 - <view class="xc-coupon-right flex">  
1350 - <view class="xc-detail-coupon">  
1351 - <view class="four-level-word">订单金额满{{item.condition}}元可用</view>  
1352 - <view class="four-level-word xc-below">  
1353 - {{filters.replace_time2(item.start)}} 至 {{filters.replace_time2(item.end)}}  
1354 - </view>  
1355 - </view>  
1356 - <view class="flex-vertical">  
1357 - <view class="three-level-word xc-get background {{item.everyone_num>0 && item.lqnum>=item.everyone_num?'nouse':''}}" data-ind="{{index}}" data-cid="{{item.id}}" bindtap="get_quan">  
1358 - {{ item.linging==1?'领取中':'领取'}}  
1359 - </view>  
1360 - </view>  
1361 - </view>  
1362 - <view class="circle xc-circular-two"></view>  
1363 - </view>  
1364 - </view>  
1365 - </view>  
1366 - </view>  
1367 - </view>  
1368 - <view class="cx-confirm pd20" data-coupon='0' bindtap="switchCoupon">  
1369 - <view class="confirm t-c">关闭</view>  
1370 - </view>  
1371 - </view>  
1372 -</view> --> 1347 +
1373 <!-- 选择门店的弹框,1.1版最新的 --> 1348 <!-- 选择门店的弹框,1.1版最新的 -->
1374 <block wx:if="{{store==1}}"> 1349 <block wx:if="{{store==1}}">
1375 <view class="mongolia-layer" bindtap="close_popup"></view> 1350 <view class="mongolia-layer" bindtap="close_popup"></view>
packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo.wxss
@@ -2319,7 +2319,7 @@ left:25rpx; @@ -2319,7 +2319,7 @@ left:25rpx;
2319 color: #fff; 2319 color: #fff;
2320 } 2320 }
2321 .xc-qt-price .xc-qtunit-price{ 2321 .xc-qt-price .xc-qtunit-price{
2322 - margin-left:-96rpx; 2322 + margin-left:-70rpx;
2323 } 2323 }
2324 .xc-nanber{ 2324 .xc-nanber{
2325 top:-25rpx; 2325 top:-25rpx;
packageC/pages/presell/goodsInfo/goodsInfo.js
@@ -2775,6 +2775,8 @@ Page({ @@ -2775,6 +2775,8 @@ Page({
2775 } 2775 }
2776 }, 2776 },
2777 2777
  2778 +
  2779 +
2778 //--定义的保存图片方法,分享团--- 2780 //--定义的保存图片方法,分享团---
2779 saveImageToPhotosAlbum: function () { 2781 saveImageToPhotosAlbum: function () {
2780 //--先判断会员状态-- 2782 //--先判断会员状态--
@@ -2823,7 +2825,7 @@ Page({ @@ -2823,7 +2825,7 @@ Page({
2823 ///二微码 2825 ///二微码
2824 var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" + 2826 var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" +
2825 os.stoid + "?sceneValue=" + scene + "&pageValue=packageC/pages/presell/goodsInfo/goodsInfo"; 2827 os.stoid + "?sceneValue=" + scene + "&pageValue=packageC/pages/presell/goodsInfo/goodsInfo";
2826 - 2828 +
2827 2829
2828 console.log(path3); 2830 console.log(path3);
2829 2831
@@ -2838,9 +2840,6 @@ Page({ @@ -2838,9 +2840,6 @@ Page({
2838 //先画背景 2840 //先画背景
2839 var pg_path = "../../../../images/share/share_bg.png"; 2841 var pg_path = "../../../../images/share/share_bg.png";
2840 2842
2841 - // context.fillStyle="#FFFFFF";  
2842 - // context.fillRect(0,0,554 * unit, 899 * unit);  
2843 -  
2844 //-- 如果有自定义海报的时候,判断背景的图片 -- 2843 //-- 如果有自定义海报的时候,判断背景的图片 --
2845 if (th.data.share_b_img) { 2844 if (th.data.share_b_img) {
2846 pg_path = th.data.share_b_img; 2845 pg_path = th.data.share_b_img;
@@ -2893,11 +2892,11 @@ Page({ @@ -2893,11 +2892,11 @@ Page({
2893 2892
2894 //---产品名称--- 2893 //---产品名称---
2895 //文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度 2894 //文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度
2896 - if (type != 4) { 2895 +
2897 context.setFillStyle("black"); 2896 context.setFillStyle("black");
2898 context.setFontSize(21.3 * unit) 2897 context.setFontSize(21.3 * unit)
2899 th.draw_Text(context, share_title, 2898 th.draw_Text(context, share_title,
2900 - 80 * unit, 200 * unit, 200 * unit, 279 * unit, unit); 2899 + 80 * unit, 160 * unit, 200 * unit, 279 * unit, unit);
2901 2900
2902 //------产品的价格------- 2901 //------产品的价格-------
2903 context.setFontSize(22 * unit) 2902 context.setFontSize(22 * unit)
@@ -2909,15 +2908,16 @@ Page({ @@ -2909,15 +2908,16 @@ Page({
2909 // pri0 = th.data.prom_act.price; 2908 // pri0 = th.data.prom_act.price;
2910 pri0 = parseFloat(pri0).toFixed(2); 2909 pri0 = parseFloat(pri0).toFixed(2);
2911 var wd1 = th.data.screenWidth - ut.measureText(pri0, 31 * unit) - 25; 2910 var wd1 = th.data.screenWidth - ut.measureText(pri0, 31 * unit) - 25;
2912 - context.fillText("¥", wd1 - 15, 185 * unit); 2911 + context.fillText("¥", wd1 - 15, 160 * unit);
2913 context.setFontSize(22 * unit) 2912 context.setFontSize(22 * unit)
2914 - context.fillText(pri0, wd1, 185 * unit); 2913 + context.fillText(pri0, wd1, 165 * unit);
2915 2914
2916 //---市场价划掉--- 2915 //---市场价划掉---
2917 - context.setFillStyle("red")  
2918 - context.setFontSize(22 * unit)  
2919 - pri0 = "¥" + th.data.data.market_price.toFixed(2);  
2920 - var wd2 = th.data.screenWidth - ut.measureText(pri0, 22 * unit) - 25; 2916 + // context.setFillStyle("red")
  2917 + // context.setFontSize(22 * unit)
  2918 + // pri0 = "¥" + th.data.data.market_price.toFixed(2);
  2919 + // var wd2 = th.data.screenWidth - ut.measureText(pri0, 22 * unit) - 25;
  2920 +
2921 2921
2922 if(th.data.presellForm.presell_type==1){ 2922 if(th.data.presellForm.presell_type==1){
2923 // context.setStrokeStyle('gray'); 2923 // context.setStrokeStyle('gray');
@@ -2926,75 +2926,62 @@ Page({ @@ -2926,75 +2926,62 @@ Page({
2926 // context.moveTo(wd2 - 5, 206 * unit); 2926 // context.moveTo(wd2 - 5, 206 * unit);
2927 // context.lineTo(wd2 + ut.measureText(pri0, 22 * unit) + 5, 206 * unit); 2927 // context.lineTo(wd2 + ut.measureText(pri0, 22 * unit) + 5, 206 * unit);
2928 // context.stroke(); 2928 // context.stroke();
2929 - }else{  
2930 - context.fillText('定金', wd2, 213 * unit); 2929 +
  2930 + //-- 零售价的优化 --
  2931 + var wp= th.data.screenWidth - ut.measureText(pri0, 22 * unit) - 50;
  2932 + var hp= 180 * unit
  2933 + th.draw_pos_price(context,wp,hp,th.data.data.market_price,unit);
  2934 +
  2935 + }else{
  2936 + var wd2 = th.data.screenWidth - ut.measureText(pri0, 22 * unit) - 50;
  2937 + context.fillText('定金', wd2, 190 * unit);
2931 } 2938 }
2932 2939
2933 -  
2934 -  
2935 - } else {  
2936 - context.setFillStyle("black");  
2937 - context.setFontSize(21.3 * unit)  
2938 - th.draw_Text(context, share_title,  
2939 - 38 * unit, 170 * unit, 20 * unit, 300 * unit, unit);  
2940 - //------ 产品的价格 -----  
2941 - var pri0 = th.data.prom_act.addmoney;  
2942 - var integral = th.data.prom_act.integral;  
2943 - var text = "";  
2944 - if (integral) { text = integral + "积分"; }  
2945 - if (pri0 && integral) { text += "+"; }  
2946 - if (pri0) { text += "¥" + pri0; }  
2947 -  
2948 - if (!pri0 && !integral) { text = "0积分"; }  
2949 - context.setFillStyle("red");  
2950 - context.fillText(text, 38 * unit, 235 * unit);  
2951 2940
2952 - }  
2953 -  
2954 //console.log(th.data.share_goods_img); 2941 //console.log(th.data.share_goods_img);
2955 //let share_goods_img=th.data.presellForm.share_img; 2942 //let share_goods_img=th.data.presellForm.share_img;
2956 //share_goods_img?share_goods_img:th.data.data.share_goods_img; 2943 //share_goods_img?share_goods_img:th.data.data.share_goods_img;
2957 //---中间大图--- 2944 //---中间大图---
2958 - context.drawImage(th.data.share_goods_img, 70 * unit, 250 * unit, 408 * unit, 408 * unit); 2945 + context.drawImage(th.data.share_goods_img, 70 * unit, 210 * unit, 408 * unit, 408 * unit);
2959 //---自定义海报 产品质量保证 2946 //---自定义海报 产品质量保证
2960 if(th.data.poster.show_quality==1 ){ 2947 if(th.data.poster.show_quality==1 ){
2961 var g_path = "/images/share/s_gou.png"; 2948 var g_path = "/images/share/s_gou.png";
2962 - context.drawImage(g_path, 56 * unit, 670 * unit, 22 * unit, 22 * unit); 2949 + context.drawImage(g_path, 56 * unit, 630 * unit, 22 * unit, 22 * unit);
2963 context.setFillStyle("red") 2950 context.setFillStyle("red")
2964 context.setFontSize(18 * unit) 2951 context.setFontSize(18 * unit)
2965 - context.fillText("正品保证", 84 * unit, 690 * unit); 2952 + context.fillText("正品保证", 84 * unit, 650 * unit);
2966 2953
2967 - context.drawImage(g_path, 218 * unit, 670 * unit, 22 * unit, 22 * unit); 2954 + context.drawImage(g_path, 218 * unit, 630 * unit, 22 * unit, 22 * unit);
2968 context.setFillStyle("red") 2955 context.setFillStyle("red")
2969 context.setFontSize(18 * unit) 2956 context.setFontSize(18 * unit)
2970 - context.fillText("纯实体店", 246 * unit, 690 * unit); 2957 + context.fillText("纯实体店", 246 * unit, 650 * unit);
2971 2958
2972 - context.drawImage(g_path, 388 * unit, 670 * unit, 22 * unit, 22 * unit); 2959 + context.drawImage(g_path, 388 * unit, 630 * unit, 22 * unit, 22 * unit);
2973 context.setFillStyle("red") 2960 context.setFillStyle("red")
2974 context.setFontSize(18 * unit) 2961 context.setFontSize(18 * unit)
2975 - context.fillText("官方验证", 420 * unit, 690 * unit); 2962 + context.fillText("官方验证", 420 * unit, 650 * unit);
2976 2963
2977 } 2964 }
2978 2965
2979 //---画线--- 2966 //---画线---
2980 context.setLineWidth(1 * unit) 2967 context.setLineWidth(1 * unit)
2981 - context.moveTo(32 * unit, 665 * unit)  
2982 - context.lineTo(520 * unit, 665 * unit) 2968 + context.moveTo(32 * unit, 662 * unit)
  2969 + context.lineTo(520 * unit, 662 * unit)
2983 context.stroke(); 2970 context.stroke();
2984 2971
2985 //---文字--- 2972 //---文字---
2986 context.setFillStyle("black") 2973 context.setFillStyle("black")
2987 // context.setFontSize(22 * unit) 2974 // context.setFontSize(22 * unit)
2988 context.setFontSize(24 * unit) 2975 context.setFontSize(24 * unit)
2989 - context.fillText(th.data.sto_sele_name_1, 40 * unit, 730 * unit); 2976 + context.fillText(th.data.sto_sele_name_1, 40 * unit, 700 * unit);
2990 context.setFillStyle("red") 2977 context.setFillStyle("red")
2991 context.setFontSize(20 * unit) 2978 context.setFontSize(20 * unit)
2992 var presell_price = `预售价:${th.data.presellList.presell_price}` 2979 var presell_price = `预售价:${th.data.presellList.presell_price}`
2993 - context.fillText(presell_price, 40 * unit, 780 * unit); 2980 + context.fillText(presell_price, 40 * unit, 750 * unit);
2994 context.setFillStyle("black") 2981 context.setFillStyle("black")
2995 context.setFontSize(22 * unit) 2982 context.setFontSize(22 * unit)
2996 - context.fillText("特惠好物,限时预售", 40 * unit, 826 * unit);  
2997 - context.fillText("长按识别二维码,立即开始抢购", 40 * unit, 866 * unit); 2983 + context.fillText("特惠好物,限时预售", 40 * unit, 800 * unit);
  2984 + context.fillText("长按识别二维码,立即开始抢购", 40 * unit, 840 * unit);
2998 2985
2999 //---二维吗图--- 2986 //---二维吗图---
3000 //-- 自定义海报 -- 2987 //-- 自定义海报 --
@@ -3007,8 +2994,6 @@ Page({ @@ -3007,8 +2994,6 @@ Page({
3007 context.drawImage(vpath, 390 * unit, 746 * unit, 130 * unit, 116 * unit); 2994 context.drawImage(vpath, 390 * unit, 746 * unit, 130 * unit, 116 * unit);
3008 } 2995 }
3009 2996
3010 -  
3011 -  
3012 //--- 如果是自定义海报的时候 --- 2997 //--- 如果是自定义海报的时候 ---
3013 if (th.data.poster && parseInt(th.data.poster.style) == 2) { 2998 if (th.data.poster && parseInt(th.data.poster.style) == 2) {
3014 2999
@@ -3051,6 +3036,13 @@ Page({ @@ -3051,6 +3036,13 @@ Page({
3051 } 3036 }
3052 3037
3053 3038
  3039 + if(th.data.poster.show_time==1){
  3040 + var act_time='';
  3041 + act_time="截止时间:"+ ut.formatTime(th.data.presellForm.end_time);
  3042 + context.setFillStyle("red")
  3043 + getApp().draw_Text(context, act_time,38 * unit, 880 * unit, 200 * unit, 340 * unit, unit);
  3044 + }
  3045 +
3054 //把画板内容绘制成图片,并回调 画板图片路径 3046 //把画板内容绘制成图片,并回调 画板图片路径
3055 context.draw(false, function () { 3047 context.draw(false, function () {
3056 setTimeout(function () { 3048 setTimeout(function () {
@@ -3170,490 +3162,7 @@ Page({ @@ -3170,490 +3162,7 @@ Page({
3170 // 先画背景 3162 // 先画背景
3171 var pg_path = "../../../../images/share/share_bg.png"; 3163 var pg_path = "../../../../images/share/share_bg.png";
3172 3164
3173 -  
3174 - //-- 如果有自定义海报的时候,判断背景的图片 --  
3175 - if (th.data.share_b_img) {  
3176 - pg_path = th.data.share_b_img;  
3177 - }  
3178 - // context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit);  
3179 - console.log('海报类型-----')  
3180 - console.log(type);  
3181 -  
3182 - if ( !th.data.share_b_img && (type == 0 || type == 1 || type == 2 || type == 3 )){ // 如果是普通商品,绘制新海报  
3183 - th.drawPoster(context, unit, th.data.share_goods_img, vpath, type);  
3184 - } else {  
3185 - context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit);  
3186 - // var erm_x = parseFloat(th.data.poster.ewm_x) * 2;  
3187 - // var erm_y = parseFloat(th.data.poster.ewm_y) * 2;  
3188 - // context.drawImage(vpath, erm_x * unit, erm_y * unit, 136 * unit, 136 * unit);  
3189 - // th.drawPoster(context, unit, th.data.share_goods_img, vpath);  
3190 - };  
3191 -  
3192 - // th.drawPoster(context, unit, th.data.share_goods_img, vpath);  
3193 -  
3194 -  
3195 - //-- 是自定义海报的情况下 --  
3196 - if (th.data.share_b_img || (type != 0 && type != 1 && type != 2 && type != 3)) {  
3197 -  
3198 - if (th.data.poster && parseInt(th.data.poster.style) == 2) {  
3199 - //在线上分享人的情况下  
3200 - if (parseInt(th.data.poster.show_headpic)) {  
3201 - //获取坐标  
3202 - var x = parseFloat(th.data.poster.head_x) * 2;  
3203 - var y = parseFloat(th.data.poster.head_y) * 2;  
3204 - var x1 = (x + 90) * unit;  
3205 - var y1 = (y + 50) * unit;  
3206 - //--昵称---  
3207 - context.setFontSize(24 * unit)  
3208 - context.setFillStyle("black")  
3209 - context.fillText(app.globalData.userInfo.nickname, x1, y1);  
3210 - var width = 24 * app.globalData.userInfo.nickname.length * unit + 4 * unit;  
3211 - //强烈推荐 改许程  
3212 - var tj_path = "../../../../images/share/q_tj.png";  
3213 - context.drawImage(tj_path, x1 + width, y1 - 22 * unit, 85 * unit, 30 * unit);  
3214 - context.setFontSize(16 * unit);  
3215 - context.setLineJoin('round'); //交点设置成圆角  
3216 - context.setFillStyle("white");  
3217 - context.fillText('强烈推荐', x1 + width + 8 * unit, y1 - 1 * unit);  
3218 -  
3219 - //context.setFillStyle("black")  
3220 - //context.setFontSize(24 * unit)  
3221 - //context.fillText(getApp().globalData.config.store_name, 40 * unit, 130 * unit);  
3222 - }  
3223 - } else {  
3224 - //--昵称---  
3225 - context.setFontSize(24 * unit);  
3226 - context.setFillStyle("black");  
3227 - context.fillText(app.globalData.userInfo.nickname, 152 * unit, 76 * unit);  
3228 - var width = 24 * app.globalData.userInfo.nickname.length * unit + 2 * unit;  
3229 - //强烈推荐 改许程  
3230 - var tj_path = "../../../../images/share/q_tj.png";  
3231 - context.drawImage(tj_path, 152 * unit + width, 54 * unit, 85 * unit, 30 * unit);  
3232 - context.setFontSize(16 * unit);  
3233 - context.setLineJoin('round'); //交点设置成圆角  
3234 - context.setFillStyle("white");  
3235 - context.fillText('强烈推荐', 149 * unit + width + 15 * unit, 75 * unit);  
3236 - }  
3237 -  
3238 - };  
3239 -  
3240 -  
3241 - var share_title = th.data.data.goods_name;  
3242 - if (th.data.prom_type == 1 || th.data.prom_type == 2 || th.data.prom_type == 6 || th.data.prom_type == 4) {  
3243 - share_title = th.data.prom_act.share_title;  
3244 - if (!share_title) share_title = th.data.prom_act.title;  
3245 - if (th.data.prom_type == 4) share_title = th.data.prom_act.name;  
3246 - }  
3247 -  
3248 - //---产品名称---  
3249 - //文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度  
3250 - if (th.data.share_b_img || (type != 4 && type != 0 && type != 1 && type != 2 && type != 3)) {  
3251 - context.setFillStyle("black");  
3252 - context.setFontSize(21.3 * unit)  
3253 - getApp().draw_Text(context, share_title,  
3254 - 38 * unit, 180 * unit, 200 * unit, 279 * unit, unit);  
3255 -  
3256 - //------产品的价格-------  
3257 - context.setFontSize(23 * unit)  
3258 - context.setFillStyle("red")  
3259 -  
3260 - var pri0 = th.data.data.shop_price;  
3261 - if (th.data.card_field && th.data.data[th.data.card_field]) {  
3262 - pri0 = th.data.data[th.data.card_field];  
3263 - }  
3264 -  
3265 - if (th.data.prom_act)  
3266 - pri0 = th.data.prom_price;  
3267 - pri0 = parseFloat(pri0).toFixed(2);  
3268 - var wd1 = th.data.screenWidth - ut.measureText(pri0, 31 * unit) - 25;  
3269 - context.fillText("¥", wd1 - 15, 185 * unit);  
3270 - context.setFontSize(31 * unit)  
3271 - context.fillText(pri0, wd1, 185 * unit);  
3272 -  
3273 - //---市场价划掉---  
3274 - /*--  
3275 - context.setFillStyle("gray")  
3276 - context.setFontSize(22 * unit)  
3277 - pri0 = "¥" + th.data.data.market_price.toFixed(2);  
3278 - var wd2 = th.data.screenWidth - ut.measureText(pri0, 22 * unit) - 25;  
3279 - context.fillText(pri0, wd2, 213 * unit);  
3280 -  
3281 - context.setStrokeStyle('gray');  
3282 - context.setLineWidth(1 * unit);  
3283 - context.moveTo(wd2 - 5, 206 * unit);  
3284 - context.lineTo(wd2 + ut.measureText(pri0, 22 * unit) + 5, 206 * unit);  
3285 - context.stroke();--*/  
3286 -  
3287 - } else if ( ( type == 4 && type != 0 && type != 1 && type != 2 && type != 3)) {  
3288 - context.setFillStyle("black");  
3289 - context.setFontSize(21.3 * unit)  
3290 - getApp().draw_Text(context, share_title,  
3291 - 38 * unit, 170 * unit, 20 * unit, 300 * unit, unit);  
3292 - //------ 产品的价格 -----  
3293 - var pri0 = th.data.prom_act.addmoney;  
3294 - var integral = th.data.prom_act.integral;  
3295 - var text = "";  
3296 - if (integral) {  
3297 - text = integral + "积分";  
3298 - }  
3299 - if (pri0 && integral) {  
3300 - text += "+";  
3301 - }  
3302 - if (pri0) {  
3303 - text += "¥" + pri0;  
3304 - }  
3305 -  
3306 - if (!pri0 && !integral) {  
3307 - text = "0积分";  
3308 - }  
3309 - context.setFillStyle("red");  
3310 - context.fillText(text, 38 * unit, 235 * unit);  
3311 -  
3312 - }  
3313 -  
3314 - //---中间大图---  
3315 - if ( th.data.share_b_img || (type != 0 && type != 1 && type != 2 && type != 3)) {  
3316 - context.drawImage(th.data.share_goods_img, 70 * unit, 250 * unit, 408 * unit, 408 * unit);  
3317 - }  
3318 - ;  
3319 -  
3320 - //---自定义海报 产品质量保证  
3321 - if(th.data.share_b_img && th.data.poster.show_quality==1 ){  
3322 - var g_path = "../../../../images/share/s_gou.png";  
3323 - context.drawImage(g_path, 56 * unit, 670 * unit, 22 * unit, 22 * unit);  
3324 - context.setFillStyle("red")  
3325 - context.setFontSize(18 * unit)  
3326 - context.fillText("正品保证", 84 * unit, 690 * unit);  
3327 -  
3328 - context.drawImage(g_path, 218 * unit, 670 * unit, 22 * unit, 22 * unit);  
3329 - context.setFillStyle("red")  
3330 - context.setFontSize(18 * unit)  
3331 - context.fillText("纯实体店", 246 * unit, 690 * unit);  
3332 -  
3333 - context.drawImage(g_path, 388 * unit, 670 * unit, 22 * unit, 22 * unit);  
3334 - context.setFillStyle("red")  
3335 - context.setFontSize(18 * unit)  
3336 - context.fillText("官方验证", 420 * unit, 690 * unit);  
3337 -  
3338 - }  
3339 - //-------大图后面就不一样了-----------  
3340 - switch (type) {  
3341 - case 0:  
3342 - if(!th.data.share_b_img){  
3343 - break  
3344 - }  
3345 - //---画线---  
3346 - context.setLineWidth(1 * unit)  
3347 - context.moveTo(32 * unit, 710 * unit)  
3348 - context.lineTo(520 * unit, 710 * unit)  
3349 - context.stroke();  
3350 - //---文字---  
3351 - context.setFillStyle("black")  
3352 - context.setFontSize(22 * unit)  
3353 - // 原来start --->  
3354 - context.fillText("优惠乐翻天,精彩就在你身边", 40 * unit, 776 * unit);  
3355 - context.fillText("长按识别二维码,立即开始抢购", 40 * unit, 826 * unit);  
3356 - // <--- 原来end  
3357 - // context.fillText("优惠乐翻天,精彩就在你身边", 40 * unit, 816 * unit);  
3358 - // context.setFontSize(18 * unit)  
3359 - // context.fillText("长按识别二维码,立即开始抢购", 40 * unit, 850 * unit);  
3360 - //---二维吗图---  
3361 - context.drawImage(vpath, 380 * unit, 736 * unit, 120 * unit, 120 * unit);  
3362 - break;//普通商品的展示  
3363 - case 4:  
3364 - // 中间的几个字  
3365 - if (th.data.poster && parseInt(th.data.poster.style) == 2) {  
3366 - if (parseInt(th.data.poster.show_quality)) {  
3367 - var g_path = "../../../../images/share/s_gou.png";  
3368 - context.drawImage(g_path, 56 * unit, 670 * unit, 22 * unit, 22 * unit);  
3369 - context.setFillStyle("red")  
3370 - context.setFontSize(18 * unit)  
3371 - context.fillText("正品保证", 84 * unit, 690 * unit);  
3372 -  
3373 - context.drawImage(g_path, 218 * unit, 670 * unit, 22 * unit, 22 * unit);  
3374 - context.setFillStyle("red")  
3375 - context.setFontSize(18 * unit)  
3376 - context.fillText("纯实体店", 246 * unit, 690 * unit);  
3377 -  
3378 - context.drawImage(g_path, 388 * unit, 670 * unit, 22 * unit, 22 * unit);  
3379 - context.setFillStyle("red")  
3380 - context.setFontSize(18 * unit)  
3381 - context.fillText("官方验证", 420 * unit, 690 * unit);  
3382 - }  
3383 -  
3384 - } else {  
3385 - var g_path = "../../../../images/share/s_gou.png";  
3386 - context.drawImage(g_path, 56 * unit, 670 * unit, 22 * unit, 22 * unit);  
3387 - context.setFillStyle("red")  
3388 - context.setFontSize(18 * unit)  
3389 - context.fillText("正品保证", 84 * unit, 690 * unit);  
3390 -  
3391 - context.drawImage(g_path, 218 * unit, 670 * unit, 22 * unit, 22 * unit);  
3392 - context.setFillStyle("red")  
3393 - context.setFontSize(18 * unit)  
3394 - context.fillText("纯实体店", 246 * unit, 690 * unit);  
3395 -  
3396 - context.drawImage(g_path, 388 * unit, 670 * unit, 22 * unit, 22 * unit);  
3397 - context.setFillStyle("red")  
3398 - context.setFontSize(18 * unit)  
3399 - context.fillText("官方验证", 420 * unit, 690 * unit);  
3400 - }  
3401 -  
3402 -  
3403 - //---画线---  
3404 - context.setLineWidth(1 * unit)  
3405 - context.moveTo(32 * unit, 710 * unit)  
3406 - context.lineTo(520 * unit, 710 * unit)  
3407 - context.stroke();  
3408 -  
3409 - //---文字---  
3410 - context.setFillStyle("black")  
3411 - context.setFontSize(22 * unit)  
3412 -  
3413 - if (type == 0 || type == -1) {  
3414 - // 原来start --->  
3415 - context.setFontSize(24 * unit)  
3416 - context.fillText(th.data.sto_sele_name_1, 40 * unit, 766 * unit);  
3417 -  
3418 - context.setFontSize(22 * unit)  
3419 - context.fillText("优惠乐翻天,精彩就在你身边", 40 * unit, 806 * unit);  
3420 - context.fillText("长按识别二维码,立即开始抢购", 40 * unit, 846 * unit);  
3421 -  
3422 - } else {  
3423 - context.setFontSize(24 * unit)  
3424 - context.fillText(th.data.sto_sele_name_1, 40 * unit, 766 * unit);  
3425 - context.setFontSize(22 * unit)  
3426 - context.fillText("长按识别二维码", 40 * unit, 806 * unit);  
3427 - context.fillText("立即开始兑换", 40 * unit, 846 * unit);  
3428 -  
3429 - }  
3430 -  
3431 - //---二维吗图---  
3432 - //-- 自定义海报 --  
3433 - if (th.data.share_b_img || th.data.poster) {  
3434 - var erm_x = parseFloat(th.data.poster.ewm_x) * 2;  
3435 - var erm_y = parseFloat(th.data.poster.ewm_y) * 2;  
3436 - context.drawImage(vpath, erm_x * unit, erm_y * unit, 136 * unit, 136 * unit);  
3437 - } else {  
3438 - //---二维吗图---  
3439 - context.drawImage(vpath, 390 * unit, 726 * unit, 136 * unit, 136 * unit);  
3440 - }  
3441 - ;  
3442 -  
3443 - break;  
3444 - case 1: //秒杀商品的展示  
3445 - if(!th.data.share_b_img){  
3446 - break  
3447 - }  
3448 - //---画线---  
3449 - context.setLineWidth(1 * unit)  
3450 - context.moveTo(32 * unit, 670 * unit)  
3451 - context.lineTo(520 * unit, 670 * unit)  
3452 - context.stroke();  
3453 -  
3454 - //画秒杀的图片  
3455 - var miaos_path = '../../../../images/share/miao_share.png';  
3456 - context.drawImage(miaos_path, 43 * unit, 700 * unit, 222 * unit, 40 * unit);  
3457 -  
3458 - context.setFillStyle("black")  
3459 - context.setFontSize(24 * unit)  
3460 - context.fillText(th.data.sto_sele_name_1, 40 * unit, 786 * unit);  
3461 - //---文字---  
3462 - context.setFontSize(22 * unit)  
3463 - context.setFillStyle("black")  
3464 - context.fillText("特惠好物,限时秒杀", 40 * unit, 826 * unit);  
3465 - context.fillText("长按识别二维码,立即开始抢购", 40 * unit, 866 * unit);  
3466 -  
3467 -  
3468 - //---二维吗图---  
3469 - //-- 自定义海报 --  
3470 - if (th.data.share_b_img || th.data.poster) {  
3471 - var erm_x = parseFloat(th.data.poster.ewm_x) * 2;  
3472 - var erm_y = parseFloat(th.data.poster.ewm_y) * 2;  
3473 - context.drawImage(vpath, erm_x * unit, erm_y * unit, 135 * unit, 135 * unit);  
3474 - } else {  
3475 - //---二维吗图---  
3476 - context.drawImage(vpath, 390 * unit, 726 * unit, 135 * unit, 135 * unit);  
3477 - }  
3478 - break;  
3479 -  
3480 - case 2: //会员团和商家团的展示  
3481 - if(!th.data.share_b_img){  
3482 - break  
3483 - }  
3484 - //---画线---  
3485 - context.setLineWidth(1 * unit)  
3486 - context.moveTo(32 * unit, 670 * unit)  
3487 - context.lineTo(520 * unit, 670 * unit)  
3488 - context.stroke();  
3489 - //---文字---  
3490 - context.setFillStyle("black")  
3491 - context.setFontSize(24 * unit)  
3492 - context.fillText(th.data.sto_sele_name_1, 40 * unit, 720 * unit);  
3493 -  
3494 - //绘制成团图片  
3495 - var ct_img = "../../../../images/share/ct_num.png";  
3496 - context.drawImage(ct_img, 40 * unit, 740 * unit, 120 * unit, 30 * unit);  
3497 - var ct_num = th.data.prom_act.ct_num;  
3498 - context.setFontSize(14 * unit)  
3499 - context.font = 'normal';  
3500 - context.setFillStyle("red")  
3501 - if (ct_num < 10) {  
3502 - context.fillText(ct_num + "人拼团", 92 * unit, 760 * unit);  
3503 - } else {  
3504 - context.fillText(ct_num + "人拼团", 86 * unit, 760 * unit);  
3505 - }  
3506 - context.setFontSize(22 * unit)  
3507 - context.fillText("已拼" + th.data.prom_act.buy_num + "份", 166 * unit, 763 * unit);  
3508 -  
3509 - context.setFillStyle("gray")  
3510 - context.fillText("快来和我一起拼团吧!", 40 * unit, 806 * unit);  
3511 - context.setFillStyle("black")  
3512 - context.font = 'normal bold 18px sans-serif';  
3513 - context.setFontSize(21.3 * unit)  
3514 - context.fillText("长按识别二维码,立即参团", 40 * unit, 836 * unit);  
3515 -  
3516 -  
3517 - //---二维吗图---  
3518 - //-- 自定义海报 --  
3519 - if (th.data.share_b_img || th.data.poster) {  
3520 - var erm_x = parseFloat(th.data.poster.ewm_x) * 2;  
3521 - var erm_y = parseFloat(th.data.poster.ewm_y) * 2;  
3522 - context.drawImage(vpath, erm_x * unit, erm_y * unit, 136 * unit, 136 * unit);  
3523 - } else {  
3524 - //---二维吗图---  
3525 - context.drawImage(vpath, 390 * unit, 726 * unit, 136 * unit, 136 * unit);  
3526 - }  
3527 - break  
3528 - case 3: //阶梯团的展示  
3529 - if(!th.data.share_b_img){  
3530 - break  
3531 - }  
3532 - //---画线---  
3533 - context.setLineWidth(1 * unit)  
3534 - context.moveTo(32 * unit, 670 * unit)  
3535 - context.lineTo(520 * unit, 670 * unit)  
3536 - context.stroke();  
3537 - //---文字---  
3538 - context.setFillStyle("black")  
3539 - context.setFontSize(24 * unit)  
3540 - context.fillText(th.data.sto_sele_name_1, 40 * unit, 720 * unit);  
3541 -  
3542 - //---绘制中间阶梯的价格---  
3543 - var list = th.data.prom_act.ct_rylist;  
3544 - for (var i = 0; i < list.length; i++) {  
3545 - var item = list[i];  
3546 - var wi = i * 90 * unit;  
3547 - context.font = 'normal';  
3548 - context.setFontSize(16 * unit)  
3549 - context.setFillStyle("red")  
3550 - context.fillText("¥", 40 * unit + wi, 756 * unit);  
3551 - context.setFontSize(22 * unit)  
3552 - var pri = parseFloat(item.price).toFixed(2);  
3553 - context.fillText(pri, 56 * unit + wi, 756 * unit);  
3554 - context.setFillStyle("gray")  
3555 - context.fillText("满" + item.rynum + "人", 40 * unit + wi, 786 * unit);  
3556 - }  
3557 - //----------------下面部分----------------  
3558 -  
3559 - context.setFillStyle("black")  
3560 - context.fillText("快来和我一起拼团吧!", 40 * unit, 820 * unit);  
3561 - //context.font = 'normal bold 18px sans-serif';  
3562 - context.setFontSize(21 * unit)  
3563 - context.fillText("长按识别二维码,立即参团", 40 * unit, 850 * unit);  
3564 -  
3565 -  
3566 - //-- 自定义海报 --  
3567 - if (th.data.share_b_img || th.data.poster) {  
3568 - var erm_x = parseFloat(th.data.poster.ewm_x) * 2;  
3569 - var erm_y = parseFloat(th.data.poster.ewm_y) * 2;  
3570 - context.drawImage(vpath, erm_x * unit, erm_y * unit, 136 * unit, 136 * unit);  
3571 - } else {  
3572 - //---二维吗图---  
3573 - context.drawImage(vpath, 390 * unit, 726 * unit, 136 * unit, 136 * unit);  
3574 - }  
3575 - break  
3576 -  
3577 -  
3578 - case -1: //秒杀商品的展示  
3579 - //---画线---  
3580 - context.setLineWidth(1 * unit)  
3581 - context.moveTo(32 * unit, 670 * unit)  
3582 - context.lineTo(520 * unit, 670 * unit)  
3583 - context.stroke();  
3584 -  
3585 -  
3586 - context.setFillStyle("black")  
3587 - context.setFontSize(24 * unit)  
3588 - context.fillText(th.data.sto_sele_name_1, 40 * unit, 744 * unit);  
3589 - //---文字---  
3590 - context.setFontSize(22 * unit)  
3591 - context.setFillStyle("black")  
3592 - context.fillText("长按识别二维码", 40 * unit, 800 * unit);  
3593 - context.fillText("立即开始抢购", 40 * unit, 846 * unit);  
3594 -  
3595 -  
3596 - //---二维吗图---  
3597 - //-- 自定义海报 --  
3598 - if (th.data.share_b_img || th.data.poster) {  
3599 - var erm_x = parseFloat(th.data.poster.ewm_x) * 2;  
3600 - var erm_y = parseFloat(th.data.poster.ewm_y) * 2;  
3601 - context.drawImage(vpath, erm_x * unit, erm_y * unit, 135 * unit, 135 * unit);  
3602 - } else {  
3603 - //---二维吗图---  
3604 - context.drawImage(vpath, 390 * unit, 726 * unit, 135 * unit, 135 * unit);  
3605 - }  
3606 - break;  
3607 -  
3608 -  
3609 - }  
3610 -  
3611 -  
3612 - //--- 如果是自定义海报的时候 ---  
3613 - if ( th.data.share_b_img || (type != 0 && type != 1 && type != 2 && type != 3)) {  
3614 -  
3615 - if (th.data.poster && parseInt(th.data.poster.style) == 2) {  
3616 -  
3617 - //如果显示会员信息的话  
3618 - if (parseInt(th.data.poster.show_headpic)) {  
3619 - //获取坐标  
3620 - var x = parseFloat(th.data.poster.head_x) * 2;  
3621 - var y = parseFloat(th.data.poster.head_y) * 2;  
3622 - //---绘制圆形要放在最后----  
3623 - context.save();  
3624 - context.beginPath();  
3625 - var h_x = x * unit;  
3626 - var h_y = y * unit;  
3627 - var h_r = 40 * unit;  
3628 - var cx = h_x + h_r;  
3629 - var cy = h_y + h_r;  
3630 - context.arc(cx, cy, h_r, 0, Math.PI * 2, false);  
3631 - context.closePath();  
3632 - context.fill();  
3633 - context.clip();  
3634 - context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2);  
3635 - context.restore();  
3636 - }  
3637 -  
3638 - } else {  
3639 - //---绘制圆形要放在最后----  
3640 - context.save();  
3641 - context.beginPath();  
3642 - var h_x = 60 * unit;  
3643 - var h_y = 24 * unit;  
3644 - var h_r = 40 * unit;  
3645 - var cx = h_x + h_r;  
3646 - var cy = h_y + h_r;  
3647 - context.arc(cx, cy, h_r, 0, Math.PI * 2, false);  
3648 - context.closePath();  
3649 - context.fill();  
3650 - context.clip();  
3651 - context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2);  
3652 - context.restore();  
3653 - }  
3654 -  
3655 - }  
3656 - ; 3165 + th.drawPoster(context, unit, th.data.share_goods_img, vpath, type);
3657 3166
3658 3167
3659 //把画板内容绘制成图片,并回调 画板图片路径 3168 //把画板内容绘制成图片,并回调 画板图片路径
@@ -3729,144 +3238,126 @@ Page({ @@ -3729,144 +3238,126 @@ Page({
3729 } 3238 }
3730 } 3239 }
3731 }, 3240 },
  3241 +
3732 drawPoster(context, unit, img, vpath, type) { 3242 drawPoster(context, unit, img, vpath, type) {
3733 - // 1.灰色背景  
3734 - context.setFillStyle('#f2f1f6');  
3735 - context.rect(0, 0, 554 * unit, 899 * unit);  
3736 - context.fill();  
3737 -  
3738 - // 2.商城名称  
3739 - let shopName = this.data.sto_sele_name_1;  
3740 - context.setTextAlign('center');  
3741 - context.setFontSize(26 * unit);  
3742 - context.setFillStyle('black');  
3743 - context.fillText(shopName, 277 * unit, 60 * unit);  
3744 -  
3745 - // 3.推荐来源  
3746 - let fromText = `来自${getApp().globalData.userInfo.nickname}的推荐`;  
3747 - context.setTextAlign('center');  
3748 - context.setFontSize(22 * unit);  
3749 - context.setFillStyle('#96959a');  
3750 - context.fillText(fromText, 277 * unit, 105 * unit);  
3751 -  
3752 - // 4.海报背景  
3753 - context.setFillStyle('white');  
3754 - context.fillRect(37 * unit, 157 * unit, 480 * unit, 673 * unit);  
3755 -  
3756 - // 5.商品图片  
3757 - // 图片的x坐标  
3758 - let bg_x = 37 * unit  
3759 - // 图片的y坐标  
3760 - let bg_y = 157 * unit  
3761 - // 图片宽度  
3762 - let bg_w = 480 * unit  
3763 - // 图片高度  
3764 - let bg_h = 474 * unit  
3765 - // 图片圆角  
3766 - let bg_r = 4  
3767 - // 绘制海报背景图片圆角  
3768 - context.save()  
3769 - context.beginPath()  
3770 - context.arc(bg_x + bg_r, bg_y + bg_r, bg_r, Math.PI, Math.PI * 1.5)  
3771 - context.arc(bg_x + bg_w - bg_r, bg_y + bg_r, bg_r, Math.PI * 1.5, Math.PI * 2)  
3772 - context.arc(bg_x + bg_w, bg_y + bg_h, bg_r, 0, Math.PI * 0.5)  
3773 - context.arc(bg_x, bg_y + bg_h, 0, Math.PI * 0.5, Math.PI)  
3774 - context.clip()  
3775 - context.drawImage(img, bg_x, bg_y, bg_w, bg_h);  
3776 - context.restore();  
3777 -  
3778 - // 6.强烈推荐  
3779 - let src = '';  
3780 - context.beginPath();  
3781 - if(type == 0) { // 普通  
3782 - src = '../../../../images/share/q_tj.png';  
3783 - context.drawImage(src, 54 * unit, 648 * unit, 85 * unit, 30 * unit);  
3784 - context.setFontSize(16 * unit)  
3785 - context.setFillStyle("white")  
3786 - context.setTextAlign('left');  
3787 - context.fillText('强烈推荐', 64 * unit, 668 * unit);  
3788 - };  
3789 - if(type == 1) { // 秒杀  
3790 - src = '../../../images/share/miao_share.png';  
3791 - context.drawImage(src, 54 * unit, 648 * unit, 200 * unit, 36 * unit);  
3792 - context.setTextAlign('left');  
3793 - };  
3794 - if(type == 2) { // 商家和会员团  
3795 - src = '../../../images/share/ct_num.png';  
3796 - context.drawImage(src, 54 * unit, 648 * unit, 120 * unit, 30 * unit);  
3797 - context.setTextAlign('left');  
3798 -  
3799 - let ct_num = self.data.prom_act.ct_num;  
3800 - context.setFontSize(16 * unit)  
3801 - context.font = 'normal';  
3802 - context.setFillStyle("red")  
3803 - if (ct_num < 10) {  
3804 - context.fillText(ct_num + "人拼团", 100 * unit, 670 * unit);  
3805 - } else {  
3806 - context.fillText(ct_num + "人拼团", 96 * unit, 670 * unit);  
3807 - }  
3808 - context.setFontSize(22 * unit)  
3809 - context.fillText("已拼" + self.data.prom_act.buy_num + "份", 186 * unit, 672 * unit);  
3810 - };  
3811 - if(type == 3) { // 阶梯团  
3812 - let list = self.data.prom_act.ct_rylist;  
3813 - for (let i = 0; i < list.length; i++) {  
3814 - let item = list[i];  
3815 - let wi = i * 90 * unit;  
3816 - context.font = 'normal';  
3817 - context.setTextAlign('left');  
3818 - context.setFontSize(16 * unit)  
3819 - context.setFillStyle("red")  
3820 - context.fillText("¥", 50 * unit + wi, 680 * unit);  
3821 - context.setFontSize(22 * unit)  
3822 - let pri = parseFloat(item.price).toFixed(2);  
3823 - context.fillText(pri, 66 * unit + wi, 680 * unit);  
3824 - context.setFillStyle("gray")  
3825 - context.fillText("满" + item.rynum + "人", 50 * unit + wi, 716 * unit);  
3826 - }  
3827 - };  
3828 -  
3829 - // 7.商品价格  
3830 - if(type != 3) {  
3831 - let price = this.data.data.shop_price;  
3832 - if (this.data.card_field && this.data.data[this.data.card_field]) {  
3833 - price = this.data.data[this.data.card_field];  
3834 - }  
3835 - if (this.data.prom_act) price = this.data.prom_price;  
3836 - price = parseFloat(price).toFixed(2);  
3837 - context.setFontSize(32 * unit);  
3838 - context.setFillStyle('#DE1117');  
3839 - if (this.data.prom_type == 4 && this.data.prom_integral){  
3840 - context.fillText(this.data.prom_integral+'积分+¥' + price, 54 * unit, 735 * unit);  
3841 - }else{  
3842 - if(this.data.prom_type ==8){  
3843 - price = this.data.presellList.presell_price  
3844 - context.fillText('¥' + price, 54 * unit, 735 * unit);  
3845 - }else{  
3846 - context.fillText('¥' + price, 54 * unit, 735 * unit);  
3847 - }  
3848 - }  
3849 - 3243 + // 1.灰色背景
  3244 + context.setFillStyle('#f2f1f6');
  3245 + context.rect(0, 0, 554 * unit, 899 * unit);
  3246 + context.fill();
  3247 +
  3248 + // 2.商城名称
  3249 + let shopName = this.data.sto_sele_name_1;
  3250 + context.setTextAlign('center');
  3251 + context.setFontSize(26 * unit);
  3252 + context.setFillStyle('black');
  3253 + context.fillText(shopName, 277 * unit, 60 * unit);
  3254 +
  3255 + // 3.推荐来源
  3256 + let fromText = `来自${getApp().globalData.userInfo.nickname}的推荐`;
  3257 + context.setTextAlign('center');
  3258 + context.setFontSize(22 * unit);
  3259 + context.setFillStyle('#96959a');
  3260 + context.fillText(fromText, 277 * unit, 105 * unit);
  3261 +
  3262 + // 4.海报背景
  3263 + context.setFillStyle('white');
  3264 + context.fillRect(37 * unit, 157 * unit, 480 * unit, 673 * unit);
  3265 +
  3266 + // 5.商品图片
  3267 + // 图片的x坐标
  3268 + let bg_x = 37 * unit
  3269 + // 图片的y坐标
  3270 + let bg_y = 157 * unit
  3271 + // 图片宽度
  3272 + let bg_w = 480 * unit
  3273 + // 图片高度
  3274 + let bg_h = 474 * unit
  3275 + // 图片圆角
  3276 + let bg_r = 4
  3277 + // 绘制海报背景图片圆角
  3278 + context.save()
  3279 + context.beginPath()
  3280 + context.arc(bg_x + bg_r, bg_y + bg_r, bg_r, Math.PI, Math.PI * 1.5)
  3281 + context.arc(bg_x + bg_w - bg_r, bg_y + bg_r, bg_r, Math.PI * 1.5, Math.PI * 2)
  3282 + context.arc(bg_x + bg_w, bg_y + bg_h, bg_r, 0, Math.PI * 0.5)
  3283 + context.arc(bg_x, bg_y + bg_h, 0, Math.PI * 0.5, Math.PI)
  3284 + context.clip()
  3285 + context.drawImage(img, bg_x, bg_y, bg_w, bg_h);
  3286 + context.restore();
  3287 +
  3288 + // 6.强烈推荐
  3289 + let src = '';
  3290 + context.beginPath();
  3291 + if (type == 0) { // 普通
  3292 + src = '../../../../images/share/q_tj.png';
  3293 + context.drawImage(src, 54 * unit, 648 * unit, 85 * unit, 30 * unit);
  3294 + context.setFontSize(16 * unit)
  3295 + context.setFillStyle("white")
  3296 + context.setTextAlign('left');
  3297 + context.fillText('强烈推荐', 64 * unit, 668 * unit);
  3298 + }
  3299 +
  3300 +
  3301 + // 7.商品价格
  3302 + let price = this.data.data.shop_price;
  3303 + if (this.data.card_field && this.data.data[this.data.card_field]) {
  3304 + price = this.data.data[this.data.card_field];
  3305 + }
  3306 + if (this.data.prom_act) price = this.data.prom_price;
  3307 + price = parseFloat(price).toFixed(2);
  3308 + context.setFontSize(32 * unit);
  3309 + context.setFillStyle('#DE1117');
  3310 +
  3311 + price = this.data.presellList.presell_price
  3312 + context.fillText('¥' + price, 54 * unit, 735 * unit);
  3313 +
  3314 +
  3315 + //-- 零售价的优化 --
  3316 + var wp= 62 * unit+ut.measureText('¥' + price, 32 * unit);
  3317 + var hp=735 * unit
  3318 + this.draw_pos_price(context,wp,hp,this.data.data.market_price,unit);
  3319 +
  3320 +
  3321 + // 8.商品标题
  3322 + context.setFontSize(20 * unit);
  3323 + context.setFillStyle('#898989');
  3324 + getApp().draw_Text(context, this.data.data.goods_name, 54 * unit, 800 * unit, 240 * unit, 280 * unit, unit, 1);
  3325 +
  3326 + // 9.小程序码
  3327 + context.drawImage(vpath, 375 * unit, 660 * unit, 120 * unit, 120 * unit);
  3328 + context.setFontSize(16 * unit);
  3329 + context.setFillStyle('#777');
  3330 + context.fillText('长按识别二维码', 378 * unit, 810 * unit);
  3331 +
  3332 + // 10.竖线
  3333 + context.beginPath();
  3334 + context.setFillStyle('#eee');
  3335 + context.rect(354 * unit, 670 * unit, 1 * unit, 130 * unit);
  3336 + context.fill();
  3337 + },
  3338 +
  3339 +
  3340 + //---市场价划掉---
  3341 + draw_pos_price(context,w,h,market_price,unit){
  3342 +
  3343 + if(!this.data.sys_switch) return false;
  3344 + if(!this.data.sys_switch.is_retail_price) return false;
  3345 +
  3346 + context.setFillStyle("gray")
  3347 + context.setFontSize(22 * unit)
  3348 + var pri0 = "¥" + market_price.toFixed(2);
  3349 + context.fillText(pri0, w, h);
  3350 +
  3351 + var c_h=h-6;
  3352 + context.setStrokeStyle('gray');
  3353 + context.setLineWidth(1 * unit);
  3354 + context.moveTo(w - 5, c_h);
  3355 + context.lineTo(w + ut.measureText(pri0, 22 * unit) + 5, c_h);
  3356 + context.stroke();
3850 3357
3851 - };  
3852 -  
3853 - // 8.商品标题  
3854 - context.setFontSize(20 * unit);  
3855 - context.setFillStyle('#898989');  
3856 - getApp().draw_Text(context, this.data.data.goods_name, 54 * unit, 800 * unit, 240 * unit, 280 * unit, unit, 1);  
3857 -  
3858 - // 9.小程序码  
3859 - context.drawImage(vpath, 375 * unit, 660 * unit, 120 * unit, 120 * unit);  
3860 - context.setFontSize(16 * unit);  
3861 - context.setFillStyle('#777');  
3862 - context.fillText('长按识别二维码', 378 * unit, 810 * unit);  
3863 -  
3864 - // 10.竖线  
3865 - context.beginPath();  
3866 - context.setFillStyle('#eee');  
3867 - context.rect(354 * unit, 670 * unit, 1 * unit, 130 * unit);  
3868 - context.fill();  
3869 }, 3358 },
  3359 +
  3360 +
3870 // ----视频图片---- 3361 // ----视频图片----
3871 // 图片计数器 3362 // 图片计数器
3872 swiperChange: function (e) { 3363 swiperChange: function (e) {
pages/giftpack/giftpacklist/giftpacklist.js
@@ -1104,6 +1104,10 @@ Page({ @@ -1104,6 +1104,10 @@ Page({
1104 context.fillText(price_txt, 54 * unit, 735 * unit); 1104 context.fillText(price_txt, 54 * unit, 735 * unit);
1105 1105
1106 1106
  1107 + var wp= 62 * unit;
  1108 + var hp=765 * unit
  1109 + this.draw_pos_price(context,wp,hp,this.giftPosPrice,unit);
  1110 +
1107 // 8.商品标题 1111 // 8.商品标题
1108 context.setFontSize(20 * unit); 1112 context.setFontSize(20 * unit);
1109 context.setFillStyle('#898989'); 1113 context.setFillStyle('#898989');
@@ -1122,6 +1126,26 @@ Page({ @@ -1122,6 +1126,26 @@ Page({
1122 context.fill(); 1126 context.fill();
1123 }, 1127 },
1124 1128
  1129 +
  1130 + //---市场价划掉---
  1131 + draw_pos_price(context,w,h,market_price,unit){
  1132 +
  1133 + if(!this.is_retail_price) return false;
  1134 +
  1135 + context.setFillStyle("gray")
  1136 + context.setFontSize(22 * unit)
  1137 + var pri0 = "¥" + market_price.toFixed(2);
  1138 + context.fillText(pri0, w, h);
  1139 +
  1140 + var c_h=h-6;
  1141 + context.setStrokeStyle('gray');
  1142 + context.setLineWidth(1 * unit);
  1143 + context.moveTo(w - 5, c_h);
  1144 + context.lineTo(w + ut.measureText(pri0, 22 * unit) + 5, c_h);
  1145 + context.stroke();
  1146 +
  1147 + },
  1148 +
1125 //--获取商品图片的本地缓存,回调写法-- 1149 //--获取商品图片的本地缓存,回调写法--
1126 get_goods_temp: function (tt) { 1150 get_goods_temp: function (tt) {
1127 var ee = this; 1151 var ee = this;
pages/goods/categoryList/categoryList.wxml
@@ -292,7 +292,8 @@ @@ -292,7 +292,8 @@
292 292
293 <!-- 品类--> 293 <!-- 品类-->
294 <block wx:if="{{is_show_pl&&select_classify_on!=221&&select_classify_on!=220&&select_classify_on!=223}}"> 294 <block wx:if="{{is_show_pl&&select_classify_on!=221&&select_classify_on!=220&&select_classify_on!=223}}">
295 - <block wx:if="{{select_classify_on!=221&&select_classify_on!=220&&select_classify_on!=223&&is_level_three!=1}}"> 295 + <!-- <block wx:if="{{select_classify_on!=221&&select_classify_on!=220&&select_classify_on!=223&&is_level_three!=1}}"> -->
  296 + <block>
296 <!-- <block wx:if="{{select_classify_on == 0&&is_level_three!=1}}"> --> 297 <!-- <block wx:if="{{select_classify_on == 0&&is_level_three!=1}}"> -->
297 <view class="my-container"> 298 <view class="my-container">
298 <view class="classify_name fs28 flex-space-between ai-center" data-pid="0" data-cid="{{cat_id}}" bindtap='select_more'> 299 <view class="classify_name fs28 flex-space-between ai-center" data-pid="0" data-cid="{{cat_id}}" bindtap='select_more'>
@@ -303,7 +304,7 @@ @@ -303,7 +304,7 @@
303 </view> 304 </view>
304 </view> 305 </view>
305 <!-- 显示2级列表 --> 306 <!-- 显示2级列表 -->
306 - <view class="classify_content-frame flex-wrap"> 307 + <!-- <view class="classify_content-frame flex-wrap">
307 <block wx:if="{{goodslist && goodslist.length>0}}"> 308 <block wx:if="{{goodslist && goodslist.length>0}}">
308 <block wx:for="{{goodslist}}" wx:for-item="goods" wx:for-index="indx"> 309 <block wx:for="{{goodslist}}" wx:for-item="goods" wx:for-index="indx">
309 <view class="type_img_frame t-c ib" data-cid="{{goods.items.id}}" data-pid="{{goods.items.parent_id}}" bindtap="go_cate"> 310 <view class="type_img_frame t-c ib" data-cid="{{goods.items.id}}" data-pid="{{goods.items.parent_id}}" bindtap="go_cate">
@@ -315,19 +316,20 @@ @@ -315,19 +316,20 @@
315 <block wx:else> 316 <block wx:else>
316 <view class="no_child_lev fs28">该类别无子级</view> 317 <view class="no_child_lev fs28">该类别无子级</view>
317 </block> 318 </block>
318 - </view> 319 + </view> -->
319 320
320 </view> 321 </view>
321 </block> 322 </block>
322 323
323 <!-- 商品 含有3级的--> 324 <!-- 商品 含有3级的-->
324 - <block wx:if="{{select_classify_on!=220&&select_classify_on!=221&&select_classify_on!=223&&is_level_three==1}}"> 325 + <!-- <block wx:if="{{select_classify_on!=220&&select_classify_on!=221&&select_classify_on!=223&&is_level_three==1}}"> -->
  326 + <block>
325 <block wx:for="{{goodslist}}" wx:for-item="goods" wx:for-index="inds"> 327 <block wx:for="{{goodslist}}" wx:for-item="goods" wx:for-index="inds">
326 <view> 328 <view>
327 329
328 <view class="classify_name fs28 flex-space-between ai-center" data-pid="{{goods.items.parent_id}}" data-cid="{{goods.items.id}}" bindtap='select_more'> 330 <view class="classify_name fs28 flex-space-between ai-center" data-pid="{{goods.items.parent_id}}" data-cid="{{goods.items.id}}" bindtap='select_more'>
329 331
330 - <view class="classify_title ellipsis-1">{{goods.items.name}}</view> 332 + <view class="classify_title ellipsis-1" style="margin-left: 25rpx;">{{goods.items.name}}</view>
331 <view class="flex select_more ai-center"> 333 <view class="flex select_more ai-center">
332 <view class="red-co fs24">更多</view> 334 <view class="red-co fs24">更多</view>
333 <view class="bg_right width_height" style="margin-top: 0;"></view> 335 <view class="bg_right width_height" style="margin-top: 0;"></view>
@@ -335,7 +337,7 @@ @@ -335,7 +337,7 @@
335 </view> 337 </view>
336 338
337 <block wx:if="{{goods.arrays.length>0}}"> 339 <block wx:if="{{goods.arrays.length>0}}">
338 - <view class="classify_content-frame flex-wrap"> 340 + <view class="classify_content-frame flex-wrap" style="margin-left: 50rpx;">
339 <view class="type_img_frame t-c ib" data-cid="{{item.id}}" data-pid="three" wx:for="{{goods.arrays}}" wx:for-index="index" wx:for-item="item" bindtap="go_cate"> 341 <view class="type_img_frame t-c ib" data-cid="{{item.id}}" data-pid="three" wx:for="{{goods.arrays}}" wx:for-index="index" wx:for-item="item" bindtap="go_cate">
340 <image class=" type_img" src="{{item.icoimg==null||item.icoimg==''?iurl+'/miniapp/images/no_cate_def.png':item.icoimg}}" binderror="goods_bnerr" data-err="goodslist[{{index}}].logo"></image> 342 <image class=" type_img" src="{{item.icoimg==null||item.icoimg==''?iurl+'/miniapp/images/no_cate_def.png':item.icoimg}}" binderror="goods_bnerr" data-err="goodslist[{{index}}].logo"></image>
341 <view class="brand_img_name fs24 ellipsis-1 pdh10">{{item.name}}</view> 343 <view class="brand_img_name fs24 ellipsis-1 pdh10">{{item.name}}</view>
pages/goods/categoryList/categoryList.wxss
@@ -400,7 +400,7 @@ line-height: 65rpx; @@ -400,7 +400,7 @@ line-height: 65rpx;
400 } 400 }
401 .type_img_frame { 401 .type_img_frame {
402 box-sizing: border-box; 402 box-sizing: border-box;
403 - width: calc(100% / 3); 403 + width: calc(90% / 3);
404 height: 140rpx; 404 height: 140rpx;
405 margin-top: 20rpx; 405 margin-top: 20rpx;
406 margin-bottom: 20rpx; 406 margin-bottom: 20rpx;
pages/goods/goodsInfo/goodsInfo.js
@@ -5371,13 +5371,15 @@ Page({ @@ -5371,13 +5371,15 @@ Page({
5371 let pri = parseFloat(item.price).toFixed(2); 5371 let pri = parseFloat(item.price).toFixed(2);
5372 context.fillText(pri, 66 * unit + wi, 680 * unit); 5372 context.fillText(pri, 66 * unit + wi, 680 * unit);
5373 5373
5374 - var wp = 62 * unit + wi + ut.measureText('¥' + pri, 32 * unit);  
5375 - var hp = 735 * unit  
5376 - self.draw_pos_price(context, wp, hp, self.data.data.market_price, unit);  
5377 5374
5378 context.setFillStyle("gray") 5375 context.setFillStyle("gray")
5379 context.fillText("满" + item.rynum + "人", 50 * unit + wi, 716 * unit); 5376 context.fillText("满" + item.rynum + "人", 50 * unit + wi, 716 * unit);
5380 } 5377 }
  5378 +
  5379 +
  5380 + var wp= 52 * unit;
  5381 + var hp=755 * unit
  5382 + self.draw_pos_price(context,wp,hp,self.data.data.market_price,unit);
5381 } 5383 }
5382 5384
5383 5385
@@ -5394,16 +5396,16 @@ Page({ @@ -5394,16 +5396,16 @@ Page({
5394 if (this.data.prom_type == 4 && this.data.prom_integral) { 5396 if (this.data.prom_type == 4 && this.data.prom_integral) {
5395 context.fillText(this.data.prom_integral + '积分+¥' + price, 54 * unit, 735 * unit); 5397 context.fillText(this.data.prom_integral + '积分+¥' + price, 54 * unit, 735 * unit);
5396 5398
5397 - var wp = 62 * unit + ut.measureText(this.data.prom_integral + '积分+¥' + price, 32 * unit);  
5398 - var hp = 735 * unit  
5399 - this.draw_pos_price(context, wp, hp, this.data.data.market_price, unit); 5399 + var wp= 62 * unit+ut.measureText(this.data.prom_integral + '积分+¥' + price, 32 * unit);
  5400 + var hp=735 * unit
  5401 + this.draw_pos_price(context,wp,hp,this.data.data.market_price,unit);
5400 5402
5401 } else { 5403 } else {
5402 context.fillText('¥' + price, 54 * unit, 735 * unit); 5404 context.fillText('¥' + price, 54 * unit, 735 * unit);
5403 5405
5404 - var wp = 62 * unit + ut.measureText('¥' + price, 32 * unit);  
5405 - var hp = 735 * unit  
5406 - this.draw_pos_price(context, wp, hp, this.data.data.market_price, unit); 5406 + var wp= 62 * unit+ut.measureText('¥' + price, 32 * unit);
  5407 + var hp=735 * unit
  5408 + this.draw_pos_price(context,wp,hp,this.data.data.market_price,unit);
5407 5409
5408 } 5410 }
5409 5411
@@ -5429,17 +5431,17 @@ Page({ @@ -5429,17 +5431,17 @@ Page({
5429 }, 5431 },
5430 5432
5431 //---市场价划掉--- 5433 //---市场价划掉---
5432 - draw_pos_price(context, w, h, market_price, unit) { 5434 + draw_pos_price(context,w,h,market_price,unit){
5433 5435
5434 - if (!this.data.sys_switch) return false;  
5435 - if (!this.data.sys_switch.is_retail_price) return false; 5436 + if(!this.data.sys_switch) return false;
  5437 + if(!this.data.sys_switch.is_retail_price) return false;
5436 5438
5437 context.setFillStyle("gray") 5439 context.setFillStyle("gray")
5438 context.setFontSize(22 * unit) 5440 context.setFontSize(22 * unit)
5439 var pri0 = "¥" + market_price.toFixed(2); 5441 var pri0 = "¥" + market_price.toFixed(2);
5440 context.fillText(pri0, w, h); 5442 context.fillText(pri0, w, h);
5441 5443
5442 - var c_h = h - 6; 5444 + var c_h=h-6;
5443 context.setStrokeStyle('gray'); 5445 context.setStrokeStyle('gray');
5444 context.setLineWidth(1 * unit); 5446 context.setLineWidth(1 * unit);
5445 context.moveTo(w - 5, c_h); 5447 context.moveTo(w - 5, c_h);
@@ -5456,16 +5458,12 @@ Page({ @@ -5456,16 +5458,12 @@ Page({
5456 var user_info = getApp().globalData.userInfo; 5458 var user_info = getApp().globalData.userInfo;
5457 if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { 5459 if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) {
5458 //getApp().my_warnning("请先登录",0,this); 5460 //getApp().my_warnning("请先登录",0,this);
5459 - wx.navigateTo({  
5460 - url: '/packageE/pages/togoin/togoin',  
5461 - }) 5461 + wx.navigateTo({url: '/packageE/pages/togoin/togoin',})
5462 return false; 5462 return false;
5463 } 5463 }
5464 5464
5465 if (this.data.share_hidden) { 5465 if (this.data.share_hidden) {
5466 - this.setData({  
5467 - share_hidden: false,  
5468 - }); 5466 + this.setData({share_hidden: false,});
5469 }; 5467 };
5470 5468
5471 //类型 0普通商品 1秒杀商品 2商家和会员团 3阶梯团 4阶梯团 5469 //类型 0普通商品 1秒杀商品 2商家和会员团 3阶梯团 4阶梯团
@@ -5482,18 +5480,15 @@ Page({ @@ -5482,18 +5480,15 @@ Page({
5482 if (this.data.prom_act && this.data.prom_act.kttype == 3) type = 3; 5480 if (this.data.prom_act && this.data.prom_act.kttype == 3) type = 3;
5483 console.log('商品类型。。。。。'); 5481 console.log('商品类型。。。。。');
5484 console.log(type); 5482 console.log(type);
5485 - wx.showLoading({  
5486 - title: '生成中...',  
5487 - })  
5488 - var that = this,  
5489 - th = that; 5483 + wx.showLoading({title: '生成中...',})
  5484 + var that = this, th = that;
5490 //设置画板显示,才能开始绘图 5485 //设置画板显示,才能开始绘图
5491 that.setData({ 5486 that.setData({
5492 canvasHidden: false 5487 canvasHidden: false
5493 }) 5488 })
5494 5489
5495 var app = getApp(); 5490 var app = getApp();
5496 - var unit = that.data.screenWidth / 750 * 1.35; //基础单位, 5491 + var unit = that.data.screenWidth / 750 * 1.35; //基础单位,
5497 var path2 = that.data.data.original_img; 5492 var path2 = that.data.data.original_img;
5498 var scene = th.data.gid + ""; 5493 var scene = th.data.gid + "";
5499 scene += "." + th.data.sele_g.prom_type + "." + th.data.sele_g.prom_id; 5494 scene += "." + th.data.sele_g.prom_type + "." + th.data.sele_g.prom_id;
@@ -5510,7 +5505,7 @@ Page({ @@ -5510,7 +5505,7 @@ Page({
5510 } 5505 }
5511 ///二微码 5506 ///二微码
5512 var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" + 5507 var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" +
5513 - os.stoid + "?sceneValue=" + scene + "&pageValue=pages/goods/goodsInfo/goodsInfo"; 5508 + os.stoid + "?sceneValue=" + scene + "&pageValue=pages/goods/goodsInfo/goodsInfo";
5514 5509
5515 console.log(path3); 5510 console.log(path3);
5516 5511
@@ -5535,7 +5530,7 @@ Page({ @@ -5535,7 +5530,7 @@ Page({
5535 console.log('海报类型-----') 5530 console.log('海报类型-----')
5536 console.log(type); 5531 console.log(type);
5537 5532
5538 - if (!th.data.share_b_img && (type == 0 || type == 1 || type == 2 || type == 3)) { // 如果是普通商品,绘制新海报 5533 + if ( !th.data.share_b_img && (type == 0 || type == 1 || type == 2 || type == 3 )){ // 如果是普通商品,绘制新海报
5539 th.drawPoster(context, unit, th.data.share_goods_img, vpath, type); 5534 th.drawPoster(context, unit, th.data.share_goods_img, vpath, type);
5540 } else { 5535 } else {
5541 context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit); 5536 context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit);
@@ -5546,10 +5541,10 @@ Page({ @@ -5546,10 +5541,10 @@ Page({
5546 }; 5541 };
5547 5542
5548 5543
5549 - 5544 + var act_time='';
5550 5545
5551 //-- 是自定义海报的情况下 -- 5546 //-- 是自定义海报的情况下 --
5552 - if (th.data.share_b_img || (type != 0 && type != 1 && type != 2 && type != 3)) { 5547 + if (th.data.share_b_img || (type != 0 && type != 1 && type != 2 && type != 3)) {
5553 5548
5554 if (th.data.poster && parseInt(th.data.poster.style) == 2) { 5549 if (th.data.poster && parseInt(th.data.poster.style) == 2) {
5555 //在线上分享人的情况下 5550 //在线上分享人的情况下
@@ -5595,19 +5590,27 @@ Page({ @@ -5595,19 +5590,27 @@ Page({
5595 5590
5596 5591
5597 var share_title = th.data.data.goods_name; 5592 var share_title = th.data.data.goods_name;
  5593 +
  5594 +
5598 if (th.data.prom_type == 1 || th.data.prom_type == 2 || th.data.prom_type == 6 || th.data.prom_type == 4) { 5595 if (th.data.prom_type == 1 || th.data.prom_type == 2 || th.data.prom_type == 6 || th.data.prom_type == 4) {
5599 share_title = th.data.prom_act.share_title; 5596 share_title = th.data.prom_act.share_title;
5600 if (!share_title) share_title = th.data.prom_act.title; 5597 if (!share_title) share_title = th.data.prom_act.title;
5601 if (th.data.prom_type == 4) share_title = th.data.prom_act.name; 5598 if (th.data.prom_type == 4) share_title = th.data.prom_act.name;
  5599 +
  5600 + //-- 显示活动时间 --
  5601 + if(th.data.share_b_img) {
  5602 + act_time="截止时间:"+ ut.formatTime(th.data.prom_act.end_time);
  5603 + }
5602 } 5604 }
5603 5605
5604 //---产品名称--- 5606 //---产品名称---
5605 //文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度 5607 //文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度
5606 - if (th.data.share_b_img || (type != 4 && type != 0 && type != 1 && type != 2 && type != 3)) { 5608 + if (th.data.share_b_img || (type != 4 && type != 0 && type != 1 && type != 2 && type != 3)) {
5607 context.setFillStyle("black"); 5609 context.setFillStyle("black");
5608 context.setFontSize(21.3 * unit) 5610 context.setFontSize(21.3 * unit)
5609 getApp().draw_Text(context, share_title, 5611 getApp().draw_Text(context, share_title,
5610 - 38 * unit, 180 * unit, 200 * unit, 279 * unit, unit); 5612 + 38 * unit, 170 * unit, 200 * unit, 279 * unit, unit);
  5613 +
5611 5614
5612 //------产品的价格------- 5615 //------产品的价格-------
5613 context.setFontSize(23 * unit) 5616 context.setFontSize(23 * unit)
@@ -5621,17 +5624,18 @@ Page({ @@ -5621,17 +5624,18 @@ Page({
5621 if (th.data.prom_act) 5624 if (th.data.prom_act)
5622 pri0 = th.data.prom_price; 5625 pri0 = th.data.prom_price;
5623 pri0 = parseFloat(pri0).toFixed(2); 5626 pri0 = parseFloat(pri0).toFixed(2);
  5627 +
5624 var wd1 = th.data.screenWidth - ut.measureText(pri0, 31 * unit) - 25; 5628 var wd1 = th.data.screenWidth - ut.measureText(pri0, 31 * unit) - 25;
5625 5629
5626 - if (th.data.prom_type != 4)  
5627 - context.fillText("¥", wd1 - 15, 185 * unit); 5630 + if(th.data.prom_type!=4)
  5631 + context.fillText("¥", wd1 - 15, 175 * unit);
5628 5632
5629 context.setFontSize(31 * unit) 5633 context.setFontSize(31 * unit)
5630 - var pri_str = pri0;  
5631 - if (th.data.prom_type == 4) {  
5632 - pri_str = ''; 5634 + var pri_str=pri0;
  5635 + if(th.data.prom_type==4){
  5636 + pri_str='';
5633 5637
5634 - if (th.data.prom_integral) pri_str = th.data.prom_integral + '积分'; 5638 + if(th.data.prom_integral) pri_str=th.data.prom_integral+'积分';
5635 if (pri0 && th.data.prom_integral) { 5639 if (pri0 && th.data.prom_integral) {
5636 pri_str += "+"; 5640 pri_str += "+";
5637 } 5641 }
@@ -5640,8 +5644,9 @@ Page({ @@ -5640,8 +5644,9 @@ Page({
5640 } 5644 }
5641 5645
5642 wd1 = th.data.screenWidth - ut.measureText(pri_str, 31 * unit) - 20; 5646 wd1 = th.data.screenWidth - ut.measureText(pri_str, 31 * unit) - 20;
  5647 +
5643 } 5648 }
5644 - context.fillText(pri_str, wd1, 185 * unit); 5649 + context.fillText(pri_str, wd1, 175 * unit);
5645 //---市场价划掉--- 5650 //---市场价划掉---
5646 // context.setFillStyle("gray") 5651 // context.setFillStyle("gray")
5647 // context.setFontSize(22 * unit) 5652 // context.setFontSize(22 * unit)
@@ -5655,15 +5660,18 @@ Page({ @@ -5655,15 +5660,18 @@ Page({
5655 // context.lineTo(wd2 + ut.measureText(pri0, 22 * unit) + 5, 206 * unit); 5660 // context.lineTo(wd2 + ut.measureText(pri0, 22 * unit) + 5, 206 * unit);
5656 // context.stroke(); 5661 // context.stroke();
5657 5662
5658 - var wp = 62 * unit + wi + ut.measureText(pri_str, 32 * unit);  
5659 - var hp = 735 * unit  
5660 - th.draw_pos_price(context, wp, hp, self.data.data.market_price, unit); 5663 + var wp= wd1;
  5664 + var hp=203 * unit;
  5665 + if(th.data.prom_type!=4) wp-=12;
  5666 + th.draw_pos_price(context,wp,hp,self.data.data.market_price,unit);
5661 5667
5662 - } else if (type == 4) { 5668 + } else if (type == 4 ) {
5663 context.setFillStyle("black"); 5669 context.setFillStyle("black");
5664 context.setFontSize(21.3 * unit) 5670 context.setFontSize(21.3 * unit)
5665 getApp().draw_Text(context, share_title, 5671 getApp().draw_Text(context, share_title,
5666 - 38 * unit, 170 * unit, 20 * unit, 300 * unit, unit); 5672 + 38 * unit, 160 * unit, 20 * unit, 300 * unit, unit);
  5673 +
  5674 +
5667 //------ 产品的价格 ----- 5675 //------ 产品的价格 -----
5668 var pri0 = th.data.prom_act.addmoney; 5676 var pri0 = th.data.prom_act.addmoney;
5669 var integral = th.data.prom_act.integral; 5677 var integral = th.data.prom_act.integral;
@@ -5682,7 +5690,7 @@ Page({ @@ -5682,7 +5690,7 @@ Page({
5682 text = "0积分"; 5690 text = "0积分";
5683 } 5691 }
5684 context.setFillStyle("red"); 5692 context.setFillStyle("red");
5685 - context.fillText(text, 38 * unit, 235 * unit); 5693 + context.fillText(text, 38 * unit, 175 * unit);
5686 5694
5687 //---市场价划掉--- 5695 //---市场价划掉---
5688 // context.setFillStyle("gray") 5696 // context.setFillStyle("gray")
@@ -5697,44 +5705,42 @@ Page({ @@ -5697,44 +5705,42 @@ Page({
5697 // context.lineTo(wd2 + ut.measureText(pri0, 22 * unit) + 5, 206 * unit); 5705 // context.lineTo(wd2 + ut.measureText(pri0, 22 * unit) + 5, 206 * unit);
5698 // context.stroke(); 5706 // context.stroke();
5699 5707
5700 -  
5701 -  
5702 - var wp = 62 * unit + wi + ut.measureText(text, 32 * unit);  
5703 - var hp = 735 * unit  
5704 - th.draw_pos_price(context, wp, hp, self.data.data.market_price, unit); 5708 + var wp= wd1-12;
  5709 + var hp=203 * unit
  5710 + th.draw_pos_price(context,wp,hp,self.data.data.market_price,unit);
5705 5711
5706 5712
5707 } 5713 }
5708 5714
5709 //---中间大图--- 5715 //---中间大图---
5710 - if (th.data.share_b_img || (type != 0 && type != 1 && type != 2 && type != 3)) {  
5711 - context.drawImage(th.data.share_goods_img, 70 * unit, 240 * unit, 408 * unit, 408 * unit); 5716 + if ( th.data.share_b_img || (type != 0 && type != 1 && type != 2 && type != 3)) {
  5717 + context.drawImage(th.data.share_goods_img, 70 * unit, 220 * unit, 408 * unit, 408 * unit);
5712 } 5718 }
5713 5719
5714 5720
5715 //---自定义海报 产品质量保证 5721 //---自定义海报 产品质量保证
5716 - if (th.data.share_b_img && th.data.poster.show_quality == 1 && type != 4) { 5722 + if(th.data.share_b_img && th.data.poster.show_quality==1 && type!=4){
5717 var g_path = "../../../images/share/s_gou.png"; 5723 var g_path = "../../../images/share/s_gou.png";
5718 - context.drawImage(g_path, 56 * unit, 650 * unit, 22 * unit, 22 * unit); 5724 + context.drawImage(g_path, 56 * unit, 640 * unit, 22 * unit, 22 * unit);
5719 context.setFillStyle("red") 5725 context.setFillStyle("red")
5720 context.setFontSize(18 * unit) 5726 context.setFontSize(18 * unit)
5721 - context.fillText("正品保证", 84 * unit, 670 * unit); 5727 + context.fillText("正品保证", 84 * unit, 660 * unit);
5722 5728
5723 - context.drawImage(g_path, 218 * unit, 650 * unit, 22 * unit, 22 * unit); 5729 + context.drawImage(g_path, 218 * unit, 640 * unit, 22 * unit, 22 * unit);
5724 context.setFillStyle("red") 5730 context.setFillStyle("red")
5725 context.setFontSize(18 * unit) 5731 context.setFontSize(18 * unit)
5726 - context.fillText("纯实体店", 246 * unit, 670 * unit); 5732 + context.fillText("纯实体店", 246 * unit, 660 * unit);
5727 5733
5728 - context.drawImage(g_path, 388 * unit, 650 * unit, 22 * unit, 22 * unit); 5734 + context.drawImage(g_path, 388 * unit, 640 * unit, 22 * unit, 22 * unit);
5729 context.setFillStyle("red") 5735 context.setFillStyle("red")
5730 context.setFontSize(18 * unit) 5736 context.setFontSize(18 * unit)
5731 - context.fillText("官方验证", 420 * unit, 670 * unit); 5737 + context.fillText("官方验证", 420 * unit, 660 * unit);
5732 5738
5733 } 5739 }
5734 - //-------大图后面就不一样了----------- 5740 + //-------大图后面就不一样了-----------
5735 switch (type) { 5741 switch (type) {
5736 case 0: 5742 case 0:
5737 - if (!th.data.share_b_img) { 5743 + if(!th.data.share_b_img){
5738 break 5744 break
5739 } 5745 }
5740 //---画线--- 5746 //---画线---
@@ -5754,10 +5760,10 @@ Page({ @@ -5754,10 +5760,10 @@ Page({
5754 // context.fillText("长按识别二维码,立即开始抢购", 40 * unit, 850 * unit); 5760 // context.fillText("长按识别二维码,立即开始抢购", 40 * unit, 850 * unit);
5755 //---二维吗图--- 5761 //---二维吗图---
5756 context.drawImage(vpath, 380 * unit, 736 * unit, 120 * unit, 120 * unit); 5762 context.drawImage(vpath, 380 * unit, 736 * unit, 120 * unit, 120 * unit);
5757 - break; //普通商品的展示 5763 + break;//普通商品的展示
5758 case 4: 5764 case 4:
5759 5765
5760 - if (th.data.share_b_img && th.data.poster.show_quality == 1 && type != 4) { 5766 + if(th.data.share_b_img && th.data.poster.show_quality==1 && type!=4){
5761 var g_path = "../../../images/share/s_gou.png"; 5767 var g_path = "../../../images/share/s_gou.png";
5762 context.drawImage(g_path, 56 * unit, 660 * unit, 22 * unit, 22 * unit); 5768 context.drawImage(g_path, 56 * unit, 660 * unit, 22 * unit, 22 * unit);
5763 context.setFillStyle("red") 5769 context.setFillStyle("red")
@@ -5845,7 +5851,7 @@ Page({ @@ -5845,7 +5851,7 @@ Page({
5845 5851
5846 //---二维吗图--- 5852 //---二维吗图---
5847 //-- 自定义海报 -- 5853 //-- 自定义海报 --
5848 - if (th.data.share_b_img || th.data.poster) { 5854 + if (th.data.share_b_img || th.data.poster) {
5849 var erm_x = parseFloat(th.data.poster.ewm_x) * 2; 5855 var erm_x = parseFloat(th.data.poster.ewm_x) * 2;
5850 var erm_y = parseFloat(th.data.poster.ewm_y) * 2; 5856 var erm_y = parseFloat(th.data.poster.ewm_y) * 2;
5851 context.drawImage(vpath, erm_x * unit, erm_y * unit, 136 * unit, 136 * unit); 5857 context.drawImage(vpath, erm_x * unit, erm_y * unit, 136 * unit, 136 * unit);
@@ -5857,32 +5863,32 @@ Page({ @@ -5857,32 +5863,32 @@ Page({
5857 5863
5858 break; 5864 break;
5859 case 1: //秒杀商品的展示 5865 case 1: //秒杀商品的展示
5860 - if (!th.data.share_b_img) { 5866 + if(!th.data.share_b_img){
5861 break 5867 break
5862 } 5868 }
5863 //---画线--- 5869 //---画线---
5864 context.setLineWidth(1 * unit) 5870 context.setLineWidth(1 * unit)
5865 - context.moveTo(32 * unit, 690 * unit)  
5866 - context.lineTo(520 * unit, 690 * unit) 5871 + context.moveTo(32 * unit, 670 * unit)
  5872 + context.lineTo(520 * unit, 670 * unit)
5867 context.stroke(); 5873 context.stroke();
5868 5874
5869 //画秒杀的图片 5875 //画秒杀的图片
5870 var miaos_path = '../../../images/share/miao_share.png'; 5876 var miaos_path = '../../../images/share/miao_share.png';
5871 - context.drawImage(miaos_path, 43 * unit, 700 * unit, 222 * unit, 40 * unit); 5877 + context.drawImage(miaos_path, 43 * unit, 690 * unit, 222 * unit, 40 * unit);
5872 5878
5873 context.setFillStyle("black") 5879 context.setFillStyle("black")
5874 context.setFontSize(24 * unit) 5880 context.setFontSize(24 * unit)
5875 - context.fillText(th.data.sto_sele_name_1, 40 * unit, 786 * unit); 5881 + context.fillText(th.data.sto_sele_name_1, 40 * unit, 770 * unit);
5876 //---文字--- 5882 //---文字---
5877 context.setFontSize(22 * unit) 5883 context.setFontSize(22 * unit)
5878 context.setFillStyle("black") 5884 context.setFillStyle("black")
5879 - context.fillText("特惠好物,限时秒杀", 40 * unit, 826 * unit);  
5880 - context.fillText("长按识别二维码,立即开始抢购", 40 * unit, 866 * unit); 5885 + context.fillText("特惠好物,限时秒杀", 40 * unit, 807 * unit);
  5886 + context.fillText("长按识别二维码,立即开始抢购", 40 * unit, 844 * unit);
5881 5887
5882 5888
5883 //---二维吗图--- 5889 //---二维吗图---
5884 //-- 自定义海报 -- 5890 //-- 自定义海报 --
5885 - if (th.data.share_b_img || th.data.poster) { 5891 + if (th.data.share_b_img || th.data.poster) {
5886 var erm_x = parseFloat(th.data.poster.ewm_x) * 2; 5892 var erm_x = parseFloat(th.data.poster.ewm_x) * 2;
5887 var erm_y = parseFloat(th.data.poster.ewm_y) * 2; 5893 var erm_y = parseFloat(th.data.poster.ewm_y) * 2;
5888 context.drawImage(vpath, erm_x * unit, erm_y * unit, 135 * unit, 135 * unit); 5894 context.drawImage(vpath, erm_x * unit, erm_y * unit, 135 * unit, 135 * unit);
@@ -5893,7 +5899,7 @@ Page({ @@ -5893,7 +5899,7 @@ Page({
5893 break; 5899 break;
5894 5900
5895 case 2: //会员团和商家团的展示 5901 case 2: //会员团和商家团的展示
5896 - if (!th.data.share_b_img) { 5902 + if(!th.data.share_b_img){
5897 break 5903 break
5898 } 5904 }
5899 //---画线--- 5905 //---画线---
@@ -5931,7 +5937,7 @@ Page({ @@ -5931,7 +5937,7 @@ Page({
5931 5937
5932 //---二维吗图--- 5938 //---二维吗图---
5933 //-- 自定义海报 -- 5939 //-- 自定义海报 --
5934 - if (th.data.share_b_img || th.data.poster) { 5940 + if (th.data.share_b_img || th.data.poster) {
5935 var erm_x = parseFloat(th.data.poster.ewm_x) * 2; 5941 var erm_x = parseFloat(th.data.poster.ewm_x) * 2;
5936 var erm_y = parseFloat(th.data.poster.ewm_y) * 2; 5942 var erm_y = parseFloat(th.data.poster.ewm_y) * 2;
5937 context.drawImage(vpath, erm_x * unit, erm_y * unit, 136 * unit, 136 * unit); 5943 context.drawImage(vpath, erm_x * unit, erm_y * unit, 136 * unit, 136 * unit);
@@ -5941,7 +5947,7 @@ Page({ @@ -5941,7 +5947,7 @@ Page({
5941 } 5947 }
5942 break 5948 break
5943 case 3: //阶梯团的展示 5949 case 3: //阶梯团的展示
5944 - if (!th.data.share_b_img) { 5950 + if(!th.data.share_b_img){
5945 break 5951 break
5946 } 5952 }
5947 //---画线--- 5953 //---画线---
@@ -5979,7 +5985,7 @@ Page({ @@ -5979,7 +5985,7 @@ Page({
5979 5985
5980 5986
5981 //-- 自定义海报 -- 5987 //-- 自定义海报 --
5982 - if (th.data.share_b_img || th.data.poster) { 5988 + if (th.data.share_b_img || th.data.poster) {
5983 var erm_x = parseFloat(th.data.poster.ewm_x) * 2; 5989 var erm_x = parseFloat(th.data.poster.ewm_x) * 2;
5984 var erm_y = parseFloat(th.data.poster.ewm_y) * 2; 5990 var erm_y = parseFloat(th.data.poster.ewm_y) * 2;
5985 context.drawImage(vpath, erm_x * unit, erm_y * unit, 136 * unit, 136 * unit); 5991 context.drawImage(vpath, erm_x * unit, erm_y * unit, 136 * unit, 136 * unit);
@@ -6010,7 +6016,7 @@ Page({ @@ -6010,7 +6016,7 @@ Page({
6010 6016
6011 //---二维吗图--- 6017 //---二维吗图---
6012 //-- 自定义海报 -- 6018 //-- 自定义海报 --
6013 - if (th.data.share_b_img || th.data.poster) { 6019 + if (th.data.share_b_img || th.data.poster) {
6014 var erm_x = parseFloat(th.data.poster.ewm_x) * 2; 6020 var erm_x = parseFloat(th.data.poster.ewm_x) * 2;
6015 var erm_y = parseFloat(th.data.poster.ewm_y) * 2; 6021 var erm_y = parseFloat(th.data.poster.ewm_y) * 2;
6016 context.drawImage(vpath, erm_x * unit, erm_y * unit, 135 * unit, 135 * unit); 6022 context.drawImage(vpath, erm_x * unit, erm_y * unit, 135 * unit, 135 * unit);
@@ -6025,7 +6031,7 @@ Page({ @@ -6025,7 +6031,7 @@ Page({
6025 6031
6026 6032
6027 //--- 如果是自定义海报的时候 --- 6033 //--- 如果是自定义海报的时候 ---
6028 - if (th.data.share_b_img || (type != 0 && type != 1 && type != 2 && type != 3)) { 6034 + if ( th.data.share_b_img || (type != 0 && type != 1 && type != 2 && type != 3)) {
6029 6035
6030 if (th.data.poster && parseInt(th.data.poster.style) == 2) { 6036 if (th.data.poster && parseInt(th.data.poster.style) == 2) {
6031 6037
@@ -6070,6 +6076,15 @@ Page({ @@ -6070,6 +6076,15 @@ Page({
6070 } 6076 }
6071 6077
6072 6078
  6079 +
  6080 + //-- 自定义的时候 --
  6081 + if(th.data.share_b_img && act_time && th.data.poster.show_time){
  6082 + context.setFillStyle("red")
  6083 + getApp().draw_Text(context, act_time,38 * unit, 880 * unit, 200 * unit, 340 * unit, unit);
  6084 + }
  6085 +
  6086 +
  6087 +
6073 //把画板内容绘制成图片,并回调 画板图片路径 6088 //把画板内容绘制成图片,并回调 画板图片路径
6074 context.draw(false, function () { 6089 context.draw(false, function () {
6075 setTimeout(function () { 6090 setTimeout(function () {
pages/user/order_list/order_list.js
@@ -2051,7 +2051,6 @@ Page({ @@ -2051,7 +2051,6 @@ Page({
2051 let list= []; 2051 let list= [];
2052 2052
2053 if(currentIndex == 1) { 2053 if(currentIndex == 1) {
2054 - list = th.data.list2;  
2055 list = list.concat(data); 2054 list = list.concat(data);
2056 th.setData({list2:list}); 2055 th.setData({list2:list});
2057 }; 2056 };
@@ -2228,7 +2227,8 @@ Page({ @@ -2228,7 +2227,8 @@ Page({
2228 this.setData({ 2227 this.setData({
2229 currentPage2: 1, 2228 currentPage2: 1,
2230 list2: [], 2229 list2: [],
2231 - is_no_data2: 0, 2230 + is_no_data2: 0,
  2231 + is_no_more2:0
2232 }); 2232 });
2233 2233
2234 2234