| @@ -3,11 +3,6 @@ var app = getApp(); | |||||
| const Http = require("../../utils/HttpBasics"); | const Http = require("../../utils/HttpBasics"); | ||||
| const util = require("../../utils/util"); | const util = require("../../utils/util"); | ||||
| const imgurl = require("../../utils/imgurl"); | const imgurl = require("../../utils/imgurl"); | ||||
| const extConfig = wx.getExtConfigSync ? wx.getExtConfigSync() : {} | |||||
| let imgOrgUrl = extConfig.attr.imgOrgUrl; | |||||
| let imgOrgUrl1 = extConfig.attr.imgOrgUrl1; | |||||
| let imgNewUrl = extConfig.attr.imgNewUrl; | |||||
| let imgNewUrl1 = extConfig.attr.imgNewUrl1; | |||||
| Page({ | Page({ | ||||
| /** | /** | ||||
| @@ -26,19 +21,19 @@ Page({ | |||||
| /** | /** | ||||
| * 生命周期函数--监听页面加载 | * 生命周期函数--监听页面加载 | ||||
| */ | */ | ||||
| onLoad: function(options) { | |||||
| onLoad: function (options) { | |||||
| let that = this; | let that = this; | ||||
| //劵详情 | //劵详情 | ||||
| if (options && options.couponChannelId){ | |||||
| if (options && options.couponChannelId) { | |||||
| that.getDetail(options.couponChannelId); | that.getDetail(options.couponChannelId); | ||||
| }else if(options && options.merchantId){ | |||||
| } else if (options && options.merchantId) { | |||||
| that.getList(options.merchantId); | that.getList(options.merchantId); | ||||
| that.getCouponList(options.merchantId); | that.getCouponList(options.merchantId); | ||||
| } | } | ||||
| this.getUserInfo(); | this.getUserInfo(); | ||||
| this.begainDrawShareImage(options); | this.begainDrawShareImage(options); | ||||
| }, | }, | ||||
| /** | /** | ||||
| * 获取劵详情 | * 获取劵详情 | ||||
| */ | */ | ||||
| @@ -58,10 +53,10 @@ Page({ | |||||
| }) | }) | ||||
| }) | }) | ||||
| }, | }, | ||||
| /** | |||||
| * 获取商户详情 | |||||
| */ | |||||
| getList: function(id) { | |||||
| /** | |||||
| * 获取商户详情 | |||||
| */ | |||||
| getList: function (id) { | |||||
| let that = this; | let that = this; | ||||
| let data; | let data; | ||||
| data = { | data = { | ||||
| @@ -70,13 +65,13 @@ Page({ | |||||
| id: id | id: id | ||||
| } | } | ||||
| Http.get({ | Http.get({ | ||||
| url: config.api.merchantList, | |||||
| data: data | |||||
| }).then(res => { | |||||
| that.setData({ | |||||
| data: res.data.list[0], | |||||
| }) | |||||
| url: config.api.merchantList, | |||||
| data: data | |||||
| }).then(res => { | |||||
| that.setData({ | |||||
| data: res.data.list[0], | |||||
| }) | }) | ||||
| }) | |||||
| .catch(err => { | .catch(err => { | ||||
| wx.showToast({ | wx.showToast({ | ||||
| title: err.errMsg, | title: err.errMsg, | ||||
| @@ -104,203 +99,188 @@ Page({ | |||||
| let ctx = wx.createCanvasContext('myCanvas') | let ctx = wx.createCanvasContext('myCanvas') | ||||
| // 获取宽高 | // 获取宽高 | ||||
| let wW = that.data.windowWidth; | let wW = that.data.windowWidth; | ||||
| let wH = that.data.windowHeight; | |||||
| let wH = that.data.windowHeight; | |||||
| // 放大 因为不放大的话,生成的分享图会模糊。暂时先注释 | // 放大 因为不放大的话,生成的分享图会模糊。暂时先注释 | ||||
| ctx.scale(this.data.canvasScale, this.data.canvasScale) | ctx.scale(this.data.canvasScale, this.data.canvasScale) | ||||
| // 首先要绘制顶部的背景图片,因为它在最底层,然后才能绘制其他内容 | // 首先要绘制顶部的背景图片,因为它在最底层,然后才能绘制其他内容 | ||||
| let bgimg1 = that.data.poterbg + `?imageView/2/w/${wW}/h/${wH}` | let bgimg1 = that.data.poterbg + `?imageView/2/w/${wW}/h/${wH}` | ||||
| let bgimg2 = bgimg1.replace(this.getimgurl(this.data.poterbg), this.getnewimgurl(this.data.poterbg)) | |||||
| let bgimg2 = util.getProxyImgUrl(bgimg1) | |||||
| wx.getImageInfo({ | wx.getImageInfo({ | ||||
| src: bgimg2, | src: bgimg2, | ||||
| success: function(res) { | |||||
| ctx.drawImage(res.path, 0, 0, wW-20, wH); | |||||
| that.drawshopimg(ctx, scale,options); | |||||
| ctx.draw(true) | |||||
| success: function (res) { | |||||
| ctx.drawImage(res.path, 0, 0, wW - 20, wH); | |||||
| that.drawshopimg(ctx, scale, options); | |||||
| ctx.draw(true) | |||||
| } | } | ||||
| }) | }) | ||||
| }, | |||||
| //判断图片路径 | |||||
| getimgurl(str){ | |||||
| if(str.indexOf(imgOrgUrl)!=-1){ | |||||
| return imgOrgUrl | |||||
| }else if(str.indexOf(imgOrgUrl1)!=-1){ | |||||
| return imgOrgUrl1; | |||||
| } | |||||
| }, | }, | ||||
| getnewimgurl(str){ | |||||
| if(str.indexOf(imgOrgUrl)!=-1){ | |||||
| return imgNewUrl | |||||
| }else if(str.indexOf(imgOrgUrl1)!=-1){ | |||||
| return imgNewUrl1; | |||||
| //绘制商品图片 | |||||
| drawshopimg(ctx, scale, options) { | |||||
| var that = this | |||||
| let topImageWidth = parseInt(315 * scale) // 因为小数有时候会请求不到图片,所以转成int | |||||
| let topImageHeight = parseInt(200 * scale) | |||||
| let src1 = "" | |||||
| let src2 = '' | |||||
| //劵详情海报 | |||||
| if (options && options.couponChannelId) { | |||||
| src1 = that.data.data.coverImg + `?imageView/2/w/${topImageWidth}/h/${topImageHeight}` | |||||
| src2 = util.getProxyImgUrl(src1) | |||||
| this.drawNormalText(ctx, "长按二维码识别小程序享优惠", 85 * scale, 570 * scale, 16 * scale, '#000', 'left', 'middle', scale); | |||||
| } else if (options && options.merchantId) {//商户详情海报 | |||||
| src1 = that.data.data.merchantImgUrl + `?imageView/2/w/${topImageWidth}/h/${topImageHeight}` | |||||
| src2 = util.getProxyImgUrl(src1) | |||||
| this.drawNormalText(ctx, "长按二维码识别小程序进店逛逛", 85 * scale, 570 * scale, 16 * scale, '#000', 'left', 'middle', scale); | |||||
| } | } | ||||
| }, | |||||
| //绘制商品图片 | |||||
| drawshopimg(ctx, scale,options){ | |||||
| var that = this | |||||
| let topImageWidth = parseInt(315 * scale) // 因为小数有时候会请求不到图片,所以转成int | |||||
| let topImageHeight = parseInt(200 * scale) | |||||
| let src1="" | |||||
| let src2='' | |||||
| //劵详情海报 | |||||
| if(options && options.couponChannelId){ | |||||
| src1 = that.data.data.coverImg + `?imageView/2/w/${topImageWidth}/h/${topImageHeight}` | |||||
| src2 = src1.replace(that.getimgurl(that.data.data.coverImg), that.getnewimgurl(that.data.data.coverImg)) | |||||
| this.drawNormalText(ctx, "长按二维码识别小程序享优惠", 85 * scale, 570 * scale, 16 * scale, '#000', 'left', 'middle', scale); | |||||
| }else if(options && options.merchantId){//商户详情海报 | |||||
| src1 = that.data.data.merchantImgUrl + `?imageView/2/w/${topImageWidth}/h/${topImageHeight}` | |||||
| src2 = src1.replace(that.getimgurl(that.data.data.merchantImgUrl), that.getnewimgurl(that.data.data.merchantImgUrl)) | |||||
| this.drawNormalText(ctx, "长按二维码识别小程序进店逛逛", 85 * scale, 570 * scale, 16 * scale, '#000', 'left', 'middle', scale); | |||||
| } | |||||
| wx.getImageInfo({ | |||||
| src: src2, | |||||
| success: function(res) { | |||||
| if(options && options.merchantId){ | |||||
| // 绘制白色背景 | |||||
| ctx.setFillStyle('#fff') | |||||
| ctx.fillRect(15, 45, topImageWidth + 10, topImageHeight + 10) | |||||
| ctx.drawImage(res.path, 20, 50, topImageWidth, topImageHeight) | |||||
| that.drawOtherImage(ctx, scale) | |||||
| that.drawOtherContent(ctx, scale) | |||||
| }else if((options && options.couponChannelId)){ | |||||
| ctx.setFillStyle('#fff') | |||||
| ctx.fillRect(15, 95, topImageWidth + 10, topImageHeight + 10) | |||||
| wx.getImageInfo({ | |||||
| src: src2, | |||||
| success: function (res) { | |||||
| if (options && options.merchantId) { | |||||
| // 绘制白色背景 | |||||
| ctx.setFillStyle('#fff') | |||||
| ctx.fillRect(15, 45, topImageWidth + 10, topImageHeight + 10) | |||||
| ctx.drawImage(res.path, 20, 50, topImageWidth, topImageHeight) | |||||
| that.drawOtherImage(ctx, scale) | |||||
| that.drawOtherContent(ctx, scale) | |||||
| } else if ((options && options.couponChannelId)) { | |||||
| ctx.setFillStyle('#fff') | |||||
| ctx.fillRect(15, 95, topImageWidth + 10, topImageHeight + 10) | |||||
| ctx.drawImage(res.path, 20, 100, topImageWidth, topImageHeight) | ctx.drawImage(res.path, 20, 100, topImageWidth, topImageHeight) | ||||
| that.drawCouponContent(ctx, scale) | that.drawCouponContent(ctx, scale) | ||||
| that.drawqrCode(ctx, scale); | that.drawqrCode(ctx, scale); | ||||
| } | |||||
| wx.hideLoading() | |||||
| } | } | ||||
| wx.hideLoading() | |||||
| } | |||||
| }) | |||||
| }, | |||||
| // 商户海报绘制 | |||||
| drawOtherContent(ctx, scale) { | |||||
| //昵称 | |||||
| this.drawNormalText(ctx, this.data.nickName+" 向您推荐", 20 * scale, 25 * scale, 16 * scale, '#fff', 'left', 'middle', scale); | |||||
| //店铺名 | |||||
| this.drawNormalText(ctx, this.data.data.merchantName, 180 * scale, 280 * scale, 30 * scale, '#fff', 'center', 'middle', scale); | |||||
| if (this.data.couponList.length > 0) { | |||||
| for (let i = 0; i < this.data.couponList.length; i++) { | |||||
| // 第一个商品信息 | |||||
| this.drawNormalText(ctx, this.substrTile(this.data.couponList[1].title), 30 * scale, 396 * scale, 14 * scale, '#000', 'left', 'middle', scale); | |||||
| this.drawNormalText(ctx, "价格:" + this.data.couponList[1].salePrice, 30 * scale, 416 * scale, 14 * scale, '#FF3232', 'left', 'middle', scale); | |||||
| //第二个商品信息 | |||||
| this.drawNormalText(ctx, this.substrTile(this.data.couponList[2].title), 145 * scale, 396 * scale, 14 * scale, '#000', 'left', 'middle', scale); | |||||
| this.drawNormalText(ctx, "价格:" + this.data.couponList[2].salePrice, 145 * scale, 416 * scale, 14 * scale, '#FF3232', 'left', 'middle', scale); | |||||
| //第三个商品信息 | |||||
| this.drawNormalText(ctx, this.substrTile(this.data.couponList[3].title), 260 * scale, 396 * scale, 14 * scale, '#000', 'left', 'middle', scale); | |||||
| this.drawNormalText(ctx, "价格:" + this.data.couponList[3].salePrice, 260 * scale, 416 * scale, 14 * scale, '#FF3232', 'left', 'middle', scale); | |||||
| }) | |||||
| }, | |||||
| // 商户海报绘制 | |||||
| drawOtherContent(ctx, scale) { | |||||
| //昵称 | |||||
| this.drawNormalText(ctx, this.data.nickName + " 向您推荐", 20 * scale, 25 * scale, 16 * scale, '#fff', 'left', 'middle', scale); | |||||
| //店铺名 | |||||
| this.drawNormalText(ctx, this.data.data.merchantName, 180 * scale, 280 * scale, 30 * scale, '#fff', 'center', 'middle', scale); | |||||
| if (this.data.couponList.length > 0) { | |||||
| for (let i = 0; i < this.data.couponList.length; i++) { | |||||
| // 第一个商品信息 | |||||
| this.drawNormalText(ctx, this.substrTile(this.data.couponList[1].title), 30 * scale, 396 * scale, 14 * scale, '#000', 'left', 'middle', scale); | |||||
| this.drawNormalText(ctx, "价格:" + this.data.couponList[1].salePrice, 30 * scale, 416 * scale, 14 * scale, '#FF3232', 'left', 'middle', scale); | |||||
| //第二个商品信息 | |||||
| this.drawNormalText(ctx, this.substrTile(this.data.couponList[2].title), 145 * scale, 396 * scale, 14 * scale, '#000', 'left', 'middle', scale); | |||||
| this.drawNormalText(ctx, "价格:" + this.data.couponList[2].salePrice, 145 * scale, 416 * scale, 14 * scale, '#FF3232', 'left', 'middle', scale); | |||||
| //第三个商品信息 | |||||
| this.drawNormalText(ctx, this.substrTile(this.data.couponList[3].title), 260 * scale, 396 * scale, 14 * scale, '#000', 'left', 'middle', scale); | |||||
| this.drawNormalText(ctx, "价格:" + this.data.couponList[3].salePrice, 260 * scale, 416 * scale, 14 * scale, '#FF3232', 'left', 'middle', scale); | |||||
| } | |||||
| } | } | ||||
| } | |||||
| ctx.draw(true) | |||||
| ctx.draw(true) | |||||
| }, | |||||
| // 劵海报绘制 | |||||
| drawCouponContent(ctx, scale) { | |||||
| //昵称 | |||||
| this.drawNormalText(ctx, this.data.data.title, 20 * scale, 25 * scale, 30 * scale, '#fff', 'left', 'middle', scale); | |||||
| this.drawNormalText(ctx, "售价:"+this.data.data.salePriceStr, 50 * scale, 65 * scale, 30 * scale, '#fff', 'left', 'middle', scale); | |||||
| ctx.draw(true) | |||||
| }, | |||||
| // 劵海报绘制 | |||||
| drawCouponContent(ctx, scale) { | |||||
| //昵称 | |||||
| this.drawNormalText(ctx, this.data.data.title, 20 * scale, 25 * scale, 30 * scale, '#fff', 'left', 'middle', scale); | |||||
| this.drawNormalText(ctx, "售价:" + this.data.data.salePriceStr, 50 * scale, 65 * scale, 30 * scale, '#fff', 'left', 'middle', scale); | |||||
| ctx.draw(true) | |||||
| }, | |||||
| //绘制小程序码 | |||||
| drawqrCode(ctx, scale) { | |||||
| let coImageWidth = parseInt(120 * scale) | |||||
| let coImageHeight = parseInt(120 * scale) | |||||
| let src1="" | |||||
| let src2='' | |||||
| if(this.data.qrCode){ | |||||
| src1 = this.data.qrCode + `?imageView/2/w/${coImageWidth}/h/${coImageHeight}` | |||||
| src2 = src1.replace(this.getimgurl(this.data.qrCode), this.getnewimgurl(this.data.qrCode)) | |||||
| }else{ | |||||
| src1 = this.data.data.qrCode + `?imageView/2/w/${coImageWidth}/h/${coImageHeight}` | |||||
| src2 = src1.replace(this.getimgurl(this.data.data.qrCode), this.getnewimgurl(this.data.data.qrCode)) | |||||
| } | |||||
| wx.getImageInfo({ | |||||
| src: src2, | |||||
| success: function(res) { | |||||
| ctx.drawImage(res.path, 125 * scale, 425 * scale, coImageWidth, coImageHeight) | |||||
| ctx.draw(true) | |||||
| } | |||||
| }) | |||||
| }, | |||||
| // 绘制活动图片 | |||||
| drawOtherImage(ctx, scale) { | |||||
| var that = this | |||||
| // 如果该商户有活动商品 | |||||
| if (that.data.couponList.length > 0) { | |||||
| let cotentImageWidth = parseInt(80 * scale) | |||||
| let cotentImageHeight = parseInt(80 * scale) | |||||
| for (let i = 0; i < that.data.couponList.length; i++) { | |||||
| let imageItem = that.data.couponList[i].coverImg | |||||
| let src1 = imageItem + `?imageView/2/w/${cotentImageWidth}/h/${cotentImageHeight}` | |||||
| let src2 = src1.replace(this.getimgurl(imageItem), this.getnewimgurl(imageItem)) | |||||
| wx.getImageInfo({ | |||||
| src: src2, | |||||
| success: function(res) { | |||||
| ctx.drawImage(res.path, 35 * scale + i * 110 * scale, 300 * scale, cotentImageWidth, cotentImageHeight) | |||||
| } | |||||
| }) | |||||
| }, | |||||
| //绘制小程序码 | |||||
| drawqrCode(ctx, scale) { | |||||
| let coImageWidth = parseInt(120 * scale) | |||||
| let coImageHeight = parseInt(120 * scale) | |||||
| let src1 = "" | |||||
| let src2 = '' | |||||
| if (this.data.qrCode) { | |||||
| src1 = this.data.qrCode + `?imageView/2/w/${coImageWidth}/h/${coImageHeight}` | |||||
| src2 = util.getProxyImgUrl(src1) | |||||
| } else { | |||||
| src1 = this.data.data.qrCode + `?imageView/2/w/${coImageWidth}/h/${coImageHeight}` | |||||
| src2 = util.getProxyImgUrl(src1) | |||||
| } | } | ||||
| wx.getImageInfo({ | |||||
| src: src2, | |||||
| success: function (res) { | |||||
| ctx.drawImage(res.path, 125 * scale, 425 * scale, coImageWidth, coImageHeight) | |||||
| ctx.draw(true) | |||||
| } | |||||
| }) | |||||
| }, | |||||
| // 绘制活动图片 | |||||
| drawOtherImage(ctx, scale) { | |||||
| var that = this | |||||
| // 如果该商户有活动商品 | |||||
| if (that.data.couponList.length > 0) { | |||||
| let cotentImageWidth = parseInt(80 * scale) | |||||
| let cotentImageHeight = parseInt(80 * scale) | |||||
| for (let i = 0; i < that.data.couponList.length; i++) { | |||||
| let imageItem = that.data.couponList[i].coverImg | |||||
| let src1 = imageItem + `?imageView/2/w/${cotentImageWidth}/h/${cotentImageHeight}` | |||||
| let src2 = util.getProxyImgUrl(src1) | |||||
| wx.getImageInfo({ | |||||
| src: src2, | |||||
| success: function (res) { | |||||
| ctx.drawImage(res.path, 35 * scale + i * 110 * scale, 300 * scale, cotentImageWidth, cotentImageHeight) | |||||
| } | |||||
| }) | |||||
| } | |||||
| } | |||||
| that.drawqrCode(ctx, scale); | |||||
| }, | |||||
| } | |||||
| that.drawqrCode(ctx, scale); | |||||
| }, | |||||
| //截取商品名 | //截取商品名 | ||||
| substrTile(str) { | substrTile(str) { | ||||
| return str.substr(0, 5) + '...' | return str.substr(0, 5) + '...' | ||||
| }, | }, | ||||
| // 绘制只有一行的文字 | |||||
| drawNormalText(ctx, str, x, y, font, style, align, baseLine) { | |||||
| ctx.setFontSize(font); | |||||
| ctx.setFillStyle(style); | |||||
| ctx.setTextAlign(align); | |||||
| ctx.setTextBaseline(baseLine); | |||||
| ctx.fillText(str, x, y); | |||||
| }, | |||||
| /* | |||||
| * 绘制多行文本,自动换行,超出添加... | |||||
| * | |||||
| */ | |||||
| canvasTextAutoLine: function(str, ctx, initX, initY, lineHeight, maxWidth, row = 1) { | |||||
| var lineWidth = 0; | |||||
| var lastSubStrIndex = 0; | |||||
| var currentRow = 1; | |||||
| for (let i = 0; i < str.length; i++) { | |||||
| lineWidth += ctx.measureText(str[i]).width; | |||||
| if (lineWidth > maxWidth) { | |||||
| currentRow++; | |||||
| let newStr = str.substring(lastSubStrIndex, i) | |||||
| if (currentRow > row && str.length > i) { | |||||
| newStr = str.substring(lastSubStrIndex, i - 2) + '...' | |||||
| } | |||||
| ctx.fillText(newStr, initX, initY); | |||||
| initY += lineHeight; | |||||
| lineWidth = 0; | |||||
| lastSubStrIndex = i; | |||||
| // 绘制只有一行的文字 | |||||
| drawNormalText(ctx, str, x, y, font, style, align, baseLine) { | |||||
| ctx.setFontSize(font); | |||||
| ctx.setFillStyle(style); | |||||
| ctx.setTextAlign(align); | |||||
| ctx.setTextBaseline(baseLine); | |||||
| ctx.fillText(str, x, y); | |||||
| }, | |||||
| /* | |||||
| * 绘制多行文本,自动换行,超出添加... | |||||
| * | |||||
| */ | |||||
| canvasTextAutoLine: function (str, ctx, initX, initY, lineHeight, maxWidth, row = 1) { | |||||
| var lineWidth = 0; | |||||
| var lastSubStrIndex = 0; | |||||
| var currentRow = 1; | |||||
| for (let i = 0; i < str.length; i++) { | |||||
| lineWidth += ctx.measureText(str[i]).width; | |||||
| if (lineWidth > maxWidth) { | |||||
| currentRow++; | |||||
| let newStr = str.substring(lastSubStrIndex, i) | |||||
| if (currentRow > row && str.length > i) { | |||||
| newStr = str.substring(lastSubStrIndex, i - 2) + '...' | |||||
| } | |||||
| ctx.fillText(newStr, initX, initY); | |||||
| initY += lineHeight; | |||||
| lineWidth = 0; | |||||
| lastSubStrIndex = i; | |||||
| if (currentRow > row) { | |||||
| break; | |||||
| if (currentRow > row) { | |||||
| break; | |||||
| } | |||||
| } | |||||
| if (i == str.length - 1) { | |||||
| ctx.fillText(str.substring(lastSubStrIndex, i + 1), initX, initY); | |||||
| } | } | ||||
| } | } | ||||
| if (i == str.length - 1) { | |||||
| ctx.fillText(str.substring(lastSubStrIndex, i + 1), initX, initY); | |||||
| }, | |||||
| //获取商户优惠劵信息 | |||||
| getCouponList: function (id) { | |||||
| let that = this; | |||||
| let data; | |||||
| data = { | |||||
| status: 0, | |||||
| merchantId: id, | |||||
| pageNum: 1, | |||||
| pageSize: 15, | |||||
| } | } | ||||
| } | |||||
| }, | |||||
| //获取商户优惠劵信息 | |||||
| getCouponList: function(id) { | |||||
| let that = this; | |||||
| let data; | |||||
| data = { | |||||
| status: 0, | |||||
| merchantId: id, | |||||
| pageNum: 1, | |||||
| pageSize: 15, | |||||
| } | |||||
| Http.get({ | |||||
| Http.get({ | |||||
| url: config.api.listByMerchant, | url: config.api.listByMerchant, | ||||
| data: data | data: data | ||||
| }).then(res => { | }).then(res => { | ||||
| @@ -309,23 +289,23 @@ getCouponList: function(id) { | |||||
| qrCode: res.data.qrCode, | qrCode: res.data.qrCode, | ||||
| }) | }) | ||||
| }) | }) | ||||
| .catch(err => { | |||||
| wx.showToast({ | |||||
| title: err.errMsg, | |||||
| icon: 'none', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| }) | |||||
| }, | |||||
| .catch(err => { | |||||
| wx.showToast({ | |||||
| title: err.errMsg, | |||||
| icon: 'none', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| }) | |||||
| }, | |||||
| //获取头像和昵称 | //获取头像和昵称 | ||||
| getUserInfo: function() { | |||||
| getUserInfo: function () { | |||||
| let that = this; | let that = this; | ||||
| // 获取用户信息 | // 获取用户信息 | ||||
| Http.get({ | Http.get({ | ||||
| url: config.api.getScore, | |||||
| data: {} | |||||
| }) | |||||
| url: config.api.getScore, | |||||
| data: {} | |||||
| }) | |||||
| .then(res => { | .then(res => { | ||||
| console.log(res) | console.log(res) | ||||
| that.setData({ | that.setData({ | ||||
| @@ -334,9 +314,9 @@ getCouponList: function(id) { | |||||
| }) | }) | ||||
| }) | }) | ||||
| }, | }, | ||||
| /** | |||||
| * 保存图片 | |||||
| */ | |||||
| /** | |||||
| * 保存图片 | |||||
| */ | |||||
| saveImage() { | saveImage() { | ||||
| let that = this | let that = this | ||||
| wx.canvasToTempFilePath({ | wx.canvasToTempFilePath({ | ||||
| @@ -345,10 +325,10 @@ getCouponList: function(id) { | |||||
| width: this.data.windowWidth * this.data.canvasScale, | width: this.data.windowWidth * this.data.canvasScale, | ||||
| height: this.data.totalHeight * this.data.canvasScale, | height: this.data.totalHeight * this.data.canvasScale, | ||||
| canvasId: 'myCanvas', | canvasId: 'myCanvas', | ||||
| success: function(res) { | |||||
| success: function (res) { | |||||
| that.saveImageToPhotos(res.tempFilePath); | that.saveImageToPhotos(res.tempFilePath); | ||||
| }, | }, | ||||
| fail: function(res) { | |||||
| fail: function (res) { | |||||
| wx.showToast({ | wx.showToast({ | ||||
| title: '图片生成失败', | title: '图片生成失败', | ||||
| icon: 'none', | icon: 'none', | ||||
| @@ -357,7 +337,7 @@ getCouponList: function(id) { | |||||
| } | } | ||||
| }) | }) | ||||
| }, | }, | ||||
| saveImageToPhotos: function(tempFilePath) { | |||||
| saveImageToPhotos: function (tempFilePath) { | |||||
| wx.saveImageToPhotosAlbum({ | wx.saveImageToPhotosAlbum({ | ||||
| filePath: tempFilePath, | filePath: tempFilePath, | ||||
| success(result) { | success(result) { | ||||
| @@ -367,7 +347,7 @@ getCouponList: function(id) { | |||||
| duration: 4000 | duration: 4000 | ||||
| }) | }) | ||||
| }, | }, | ||||
| fail: function(err) { | |||||
| fail: function (err) { | |||||
| if (err.errMsg === "saveImageToPhotosAlbum:fail:auth denied" || err.errMsg === "saveImageToPhotosAlbum:fail auth deny") { | if (err.errMsg === "saveImageToPhotosAlbum:fail:auth denied" || err.errMsg === "saveImageToPhotosAlbum:fail auth deny") { | ||||
| // 这边微信做过调整,必须要在按钮中触发,因此需要在弹框回调中进行调用 | // 这边微信做过调整,必须要在按钮中触发,因此需要在弹框回调中进行调用 | ||||
| wx.showModal({ | wx.showModal({ | ||||