|
|
@@ -11,39 +11,39 @@ Page({ |
|
|
|
teljpgUrl: imgurl.teljpg.url, |
|
|
|
share01: imgurl.share01.url, |
|
|
|
actUrl: imgurl.act.url, |
|
|
|
poster: './../../../../assets/images/picture.png', |
|
|
|
poster:'./../../../../assets/images/picture.png', |
|
|
|
page: 1, |
|
|
|
imglist: null, |
|
|
|
shopVoList: [], |
|
|
|
couponList: [],//活动劵列表 |
|
|
|
data: { |
|
|
|
imglist:null, |
|
|
|
shopVoList:[], |
|
|
|
couponList:[],//活动劵列表 |
|
|
|
data:{ |
|
|
|
currentTab: 0, |
|
|
|
isshare: false, |
|
|
|
isshare:false, |
|
|
|
showpost: false, |
|
|
|
imgHeight: 0, |
|
|
|
}, |
|
|
|
id: null, |
|
|
|
id:null, |
|
|
|
windowWidth: 0, |
|
|
|
windowHeight: 0, |
|
|
|
totalHeight: 0, |
|
|
|
canvasScale: 1.0,// 画布放大的倍数,因为如果保存的是一倍的分享图片的话,分享图会有点虚。所以保存的时候,canvasScale设置为2.0,wxss 里面的left: 500%;打开注释。就可保存两倍的分享图 |
|
|
|
}, |
|
|
|
/** |
|
|
|
* 分享海报的生成 |
|
|
|
*/ |
|
|
|
//关闭海报 |
|
|
|
closePoste: function () { |
|
|
|
this.setData({ |
|
|
|
showpost: false |
|
|
|
}) |
|
|
|
}, |
|
|
|
/** |
|
|
|
* 分享海报的生成 |
|
|
|
*/ |
|
|
|
//关闭海报 |
|
|
|
closePoste: function() { |
|
|
|
this.setData({ |
|
|
|
showpost: false |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
/** |
|
|
|
* 生命周期函数--监听页面加载 |
|
|
|
*/ |
|
|
|
onLoad: function (options) { |
|
|
|
let that = this; |
|
|
|
if (options && options.id) { |
|
|
|
let that=this; |
|
|
|
if (options && options.id){ |
|
|
|
this.setData({ |
|
|
|
id: options.id |
|
|
|
}); |
|
|
@@ -54,8 +54,8 @@ Page({ |
|
|
|
}) |
|
|
|
} |
|
|
|
// 获取到屏幕的宽高等信息 |
|
|
|
wx.getSystemInfo({ |
|
|
|
success: function (res) { |
|
|
|
wx.getSystemInfo({ |
|
|
|
success: function(res) { |
|
|
|
that.setData({ |
|
|
|
windowWidth: res.windowWidth, |
|
|
|
windowHeight: res.windowHeight |
|
|
@@ -70,8 +70,8 @@ Page({ |
|
|
|
var that = this |
|
|
|
// 适配屏幕 |
|
|
|
let scale = this.data.windowWidth / 375.0 |
|
|
|
|
|
|
|
this.setData({ totalHeight: 767 * scale }) |
|
|
|
|
|
|
|
this.setData({ totalHeight: 767* scale}) |
|
|
|
// 获取Canvas |
|
|
|
let ctx = wx.createCanvasContext('myCanvas') |
|
|
|
|
|
|
@@ -89,8 +89,8 @@ Page({ |
|
|
|
let src1 = this.data.data.merchantImgUrl + `?imageView/2/w/${topImageWidth}/h/${topImageHeight}` |
|
|
|
wx.getImageInfo({ |
|
|
|
src: src1, |
|
|
|
success: function (res) { |
|
|
|
ctx.drawImage(res.path, 0, 0, topImageWidth, topImageHeight) |
|
|
|
success: function(res) { |
|
|
|
ctx.drawImage(res.path, 0, 0, topImageWidth, topImageHeight) |
|
|
|
// 覆盖黑色蒙层 |
|
|
|
ctx.setFillStyle('rgba(0,0,0,0.3)') |
|
|
|
ctx.fillRect(0, 0, topImageWidth, topImageHeight) |
|
|
@@ -98,7 +98,7 @@ Page({ |
|
|
|
ctx.draw(true) |
|
|
|
|
|
|
|
that.drawOtherContent(ctx, scale) |
|
|
|
that.drawOtherImage(ctx, scale) |
|
|
|
that.drawOtherImage(ctx,scale) |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
@@ -118,7 +118,7 @@ Page({ |
|
|
|
// address |
|
|
|
ctx.setFillStyle('#000'); |
|
|
|
ctx.setFontSize(18 * scale); |
|
|
|
this.canvasTextAutoLine("地址:" + this.data.data.shopVoList[0].floorName + this.data.data.shopVoList[0].buildingName + this.data.data.shopVoList[0].shopNumber, ctx, 20 * scale, 270 * scale, 22 * scale, 305 * scale, 1) |
|
|
|
this.canvasTextAutoLine("地址:"+this.data.data.shopVoList[0].floorName+this.data.data.shopVoList[0].buildingName+this.data.data.shopVoList[0].shopNumber, ctx, 20 * scale, 270 * scale, 22 * scale, 305 * scale, 1) |
|
|
|
|
|
|
|
// this.drawNormalText(ctx, '探索新鲜好去处', 82 * scale, 596 * scale, 14 * scale, '#3C3C3C', 'left', 'middle', scale); |
|
|
|
// this.drawNormalText(ctx, '长按右侧小程序码', 82 * scale, 620 * scale, 12 * scale, '#9A9CAC', 'left', 'middle', scale); |
|
|
@@ -133,30 +133,30 @@ Page({ |
|
|
|
|
|
|
|
let that = this |
|
|
|
// 如果该商户有活动商品 |
|
|
|
if (this.data.couponList.length > 0) { |
|
|
|
let cotentImageWidth = parseInt(136 * scale) |
|
|
|
let cotentImageHeight = parseInt(136 * scale) |
|
|
|
for (let i = 0; i < this.data.couponList.length; i++) { |
|
|
|
let imageItem = this.data.couponList[i].coverImg |
|
|
|
let src1 = imageItem + `?imageView/2/w/${cotentImageWidth}/h/${cotentImageHeight}` |
|
|
|
wx.getImageInfo({ |
|
|
|
src: src1, |
|
|
|
success: function (res) { |
|
|
|
ctx.drawImage(res.path, 15 * scale + i * 180 * scale, 300 * scale, cotentImageWidth, cotentImageHeight) |
|
|
|
ctx.draw(true) |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
//没有活动商品生成小程序码 |
|
|
|
} else { |
|
|
|
if (this.data.qrCode) { |
|
|
|
if(this.data.couponList.length>0){ |
|
|
|
let cotentImageWidth = parseInt(136 * scale) |
|
|
|
let cotentImageHeight = parseInt(136 * scale) |
|
|
|
for (let i = 0; i < this.data.couponList.length; i++){ |
|
|
|
let imageItem = this.data.couponList[i].coverImg |
|
|
|
let src1 = imageItem + `?imageView/2/w/${cotentImageWidth}/h/${cotentImageHeight}` |
|
|
|
wx.getImageInfo({ |
|
|
|
src: src1, |
|
|
|
success: function (res) { |
|
|
|
ctx.drawImage(res.path, 15 * scale + i*180*scale, 300 * scale, cotentImageWidth, cotentImageHeight) |
|
|
|
ctx.draw(true) |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
//没有活动商品生成小程序码 |
|
|
|
}else{ |
|
|
|
if(this.data.qrCode){ |
|
|
|
let coImageWidth = parseInt(336 * scale) |
|
|
|
let coImageHeight = parseInt(336 * scale) |
|
|
|
let src1 = this.data.qrCode + `?imageView/2/w/${topImageWidth}/h/${topImageHeight}` |
|
|
|
wx.getImageInfo({ |
|
|
|
src: src1, |
|
|
|
success: function (res) { |
|
|
|
ctx.drawImage(res.path, 0, 0, coImageWidth, coImageHeight) |
|
|
|
success: function(res) { |
|
|
|
ctx.drawImage(res.path, 0, 0, coImageWidth, coImageHeight) |
|
|
|
ctx.draw(true) |
|
|
|
} |
|
|
|
}) |
|
|
@@ -190,7 +190,7 @@ Page({ |
|
|
|
maxWidth: 文本最大宽度 |
|
|
|
row: 最大行数 |
|
|
|
*/ |
|
|
|
canvasTextAutoLine: function (str, ctx, initX, initY, lineHeight, maxWidth, row = 1) { |
|
|
|
canvasTextAutoLine: function(str, ctx, initX, initY, lineHeight, maxWidth, row = 1) { |
|
|
|
var lineWidth = 0; |
|
|
|
var lastSubStrIndex = 0; |
|
|
|
var currentRow = 1; |
|
|
@@ -216,16 +216,16 @@ Page({ |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
// 保存图片 |
|
|
|
saveImage() { |
|
|
|
var _this = this |
|
|
|
var image = _this.data.poster |
|
|
|
// 保存图片 |
|
|
|
saveImage() { |
|
|
|
var _this = this |
|
|
|
var image = _this.data.poster |
|
|
|
|
|
|
|
wx.getImageInfo({ |
|
|
|
src: image, |
|
|
|
success: function (sres) { |
|
|
|
var imgSrc = sres.path; |
|
|
|
|
|
|
|
|
|
|
|
wx.showLoading({ |
|
|
|
title: '保存中', |
|
|
|
mask: true |
|
|
@@ -245,9 +245,9 @@ Page({ |
|
|
|
content: '图片保存成功,请到相册查找分享', |
|
|
|
success(res) { |
|
|
|
if (res.confirm) { |
|
|
|
|
|
|
|
|
|
|
|
} else if (res.cancel) { |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
@@ -286,45 +286,45 @@ Page({ |
|
|
|
}) |
|
|
|
|
|
|
|
}, |
|
|
|
/** |
|
|
|
* 获取access_token |
|
|
|
*/ |
|
|
|
getaccess_token: function (access_token) { |
|
|
|
/** |
|
|
|
* 获取access_token |
|
|
|
*/ |
|
|
|
getaccess_token:function(access_token){ |
|
|
|
wx.request({ |
|
|
|
url: "https://api.weixin.qq.com/wxa/getwxacode?access_token=" + access_token, |
|
|
|
url:"https://api.weixin.qq.com/wxa/getwxacode?access_token=" + access_token, |
|
|
|
method: 'POST', |
|
|
|
data: { |
|
|
|
path: 'pages/index/index', // 必须是已经发布的小程序存在的页面(否则报错) |
|
|
|
width: 430, |
|
|
|
auto_color: false,// 自动配置线条颜色,如果颜色依然是黑色,则说明不建议配置主色调 |
|
|
|
line_color: { "r": "0", "g": "0", "b": "0" } // auto_color 为 false 时生效,使用 rgb 设置颜色 例如 {"r":"xxx","g":"xxx","b":"xxx"} 十进制表示 |
|
|
|
path: 'pages/index/index', // 必须是已经发布的小程序存在的页面(否则报错) |
|
|
|
width: 430, |
|
|
|
auto_color: false,// 自动配置线条颜色,如果颜色依然是黑色,则说明不建议配置主色调 |
|
|
|
line_color: {"r":"0","g":"0","b":"0"} // auto_color 为 false 时生效,使用 rgb 设置颜色 例如 {"r":"xxx","g":"xxx","b":"xxx"} 十进制表示 |
|
|
|
}, |
|
|
|
success: function (res) { |
|
|
|
console.log(res); |
|
|
|
success:function(res){ |
|
|
|
console.log(res); |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
/** |
|
|
|
* 拨打电话 |
|
|
|
*/ |
|
|
|
}) |
|
|
|
}, |
|
|
|
/** |
|
|
|
* 拨打电话 |
|
|
|
*/ |
|
|
|
phone: function (e) { |
|
|
|
let that = this; |
|
|
|
wx.makePhoneCall({ |
|
|
|
phoneNumber: e.target.dataset.merchantlinkphone |
|
|
|
}); |
|
|
|
}, |
|
|
|
/** |
|
|
|
* 显示分享弹框 |
|
|
|
*/ |
|
|
|
showshare: function () { |
|
|
|
/** |
|
|
|
* 显示分享弹框 |
|
|
|
*/ |
|
|
|
showshare:function(){ |
|
|
|
this.setData({ |
|
|
|
isshare: true |
|
|
|
isshare:true, |
|
|
|
}) |
|
|
|
}, |
|
|
|
/** |
|
|
|
* 隐藏分享弹框 |
|
|
|
*/ |
|
|
|
hidemodal: function () { |
|
|
|
/** |
|
|
|
* 隐藏分享弹框 |
|
|
|
*/ |
|
|
|
hidemodal:function(){ |
|
|
|
this.setData({ |
|
|
|
isshare: false, |
|
|
|
}) |
|
|
@@ -335,18 +335,18 @@ Page({ |
|
|
|
currentTab: e.detail.current |
|
|
|
}); |
|
|
|
}, |
|
|
|
/** |
|
|
|
* 隐藏分享海报 |
|
|
|
*/ |
|
|
|
hideposter: function () { |
|
|
|
/** |
|
|
|
* 隐藏分享海报 |
|
|
|
*/ |
|
|
|
hideposter:function(){ |
|
|
|
this.setData({ |
|
|
|
showpost: false, |
|
|
|
}) |
|
|
|
}, |
|
|
|
/** |
|
|
|
* 显示分享海报 |
|
|
|
*/ |
|
|
|
showPoster: function () { |
|
|
|
/** |
|
|
|
* 显示分享海报 |
|
|
|
*/ |
|
|
|
showPoster:function(){ |
|
|
|
this.setData({ |
|
|
|
showpost: true, |
|
|
|
}) |
|
|
@@ -368,11 +368,11 @@ Page({ |
|
|
|
getList: function (id) { |
|
|
|
let that = this; |
|
|
|
let data; |
|
|
|
data = { |
|
|
|
pageNum: that.data.page, |
|
|
|
pageSize: 15, |
|
|
|
id: id |
|
|
|
} |
|
|
|
data = { |
|
|
|
pageNum: that.data.page, |
|
|
|
pageSize: 15, |
|
|
|
id:id |
|
|
|
} |
|
|
|
Http.get({ |
|
|
|
url: config.api.merchantList, |
|
|
|
data: data |
|
|
@@ -400,8 +400,8 @@ Page({ |
|
|
|
let that = this; |
|
|
|
let data; |
|
|
|
data = { |
|
|
|
status: 0, |
|
|
|
merchantId: id, |
|
|
|
status:0, |
|
|
|
merchantId:id, |
|
|
|
pageNum: that.data.page, |
|
|
|
pageSize: 15, |
|
|
|
} |
|
|
@@ -425,7 +425,7 @@ Page({ |
|
|
|
/** |
|
|
|
* 获取多商铺列表 |
|
|
|
*/ |
|
|
|
shopList: function (e) { |
|
|
|
shopList:function(e){ |
|
|
|
wx.navigateTo({ |
|
|
|
url: `/pages/index/merchantList/index?id=${e.currentTarget.dataset.id}` |
|
|
|
}) |
|
|
|