226 lines
5.5 KiB
JavaScript
226 lines
5.5 KiB
JavaScript
// pages/member/rankingListSecond/rankingListSecond.js
|
||
// var app = getApp();
|
||
let myCanvasWidth = null;
|
||
let myCanvasHeight = null;
|
||
let unit = null;
|
||
let width = null;
|
||
Page({
|
||
/**
|
||
* 页面的初始数据
|
||
*/
|
||
data: {
|
||
loadingImg: true,
|
||
card_id: '',
|
||
cardData: {},
|
||
// 图片
|
||
drawing: [],
|
||
savebtnText: '保存名片码',
|
||
canvasWidth: '',
|
||
canvasHeight: '',
|
||
showBtn: false,
|
||
ithumb: ''
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面加载
|
||
*/
|
||
onLoad: function(options) {
|
||
this.setData({
|
||
card_id: options.card_id
|
||
});
|
||
wx.getSystemInfo({
|
||
success: (res) => {
|
||
unit = res.windowWidth / 375;
|
||
width = res.windowWidth;
|
||
myCanvasWidth = 343 * unit;
|
||
myCanvasHeight = 450 * unit;
|
||
this.setData({
|
||
canvasWidth: myCanvasWidth,
|
||
canvasHeight: myCanvasHeight
|
||
});
|
||
}
|
||
});
|
||
wx.getStorage({
|
||
key: 'info',
|
||
success: (res) => {
|
||
let str = res.data.card_name.split('名');
|
||
this.setData({
|
||
card_name: str[0]
|
||
});
|
||
wx.getStorage({
|
||
key: 'iconFrom',
|
||
success: res => {
|
||
this.setData({
|
||
min_code: res.data.min_code
|
||
});
|
||
this.getAvaterInfo();
|
||
}
|
||
});
|
||
}
|
||
});
|
||
|
||
// wx.showLoading({
|
||
// title: '绘图中'
|
||
// })
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面初次渲染完成
|
||
*/
|
||
onReady: function() {
|
||
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面显示
|
||
*/
|
||
onShow: function() {},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面隐藏
|
||
*/
|
||
onHide: function() {},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面卸载
|
||
*/
|
||
onUnload: function() {},
|
||
|
||
/**
|
||
* 页面相关事件处理函数--监听用户下拉动作
|
||
*/
|
||
onPullDownRefresh: function() {},
|
||
|
||
/**
|
||
* 页面上拉触底事件的处理函数
|
||
*/
|
||
onReachBottom: function() {
|
||
if (this.data.isLoadMore) {
|
||
this.getMoreData();
|
||
} else {
|
||
console.log('没有更多了');
|
||
}
|
||
},
|
||
|
||
/**
|
||
* 用户点击右上角分享
|
||
*/
|
||
onShareAppMessage: function() {},
|
||
// 画图
|
||
getAvaterInfo() {
|
||
const ctx = wx.createCanvasContext('myCanvas');
|
||
ctx.fillStyle = '#FFFFFF';
|
||
|
||
ctx.fillRect((width - myCanvasWidth) / 2, 20, myCanvasWidth, myCanvasHeight);
|
||
ctx.setTextAlign('center'); // 文字居中
|
||
ctx.setFillStyle('#333'); // 文字颜色:黑色
|
||
ctx.setFontSize(15); // 文字字号:22px
|
||
ctx.fillText(this.data.card_name + '专属名片码', myCanvasWidth / 2 + 10, 80);
|
||
// 二维码图片
|
||
ctx.drawImage(this.data.min_code, myCanvasWidth / 2 - 80, 120, 180, 180);
|
||
// 名片码的人
|
||
ctx.setTextAlign('center'); // 文字居中
|
||
ctx.setFillStyle('#333'); // 文字颜色:黑色
|
||
ctx.setFontSize(14); // 文字字号:22px
|
||
ctx.fillText('此名片码可印刷在', myCanvasWidth / 2 + 10, 360);
|
||
// 长按
|
||
ctx.setTextAlign('center'); // 文字居中
|
||
ctx.setFillStyle('#50a6f9'); // 文字颜色:黑色
|
||
ctx.setFontSize(14); // 文字字号:22px
|
||
ctx.fillText('纸质名片、宣传单、海报、易拉宝等宣传册上', myCanvasWidth / 2 + 20, 380);
|
||
// 生成
|
||
ctx.setTextAlign('center'); // 文字居中
|
||
ctx.setFillStyle('#8c8c8c'); // 文字颜色:黑色
|
||
ctx.setFontSize(13); // 文字字号:22px
|
||
ctx.fillText('扫一扫名片码即可查看', myCanvasWidth / 2 + 10, 400);
|
||
|
||
ctx.draw(true, this.toimage());
|
||
},
|
||
toimage() {
|
||
wx.hideLoading();
|
||
this.setData({
|
||
showBtn: true
|
||
});
|
||
let that = this;
|
||
setTimeout(() => {
|
||
wx.canvasToTempFilePath({
|
||
x: 0,
|
||
y: 0,
|
||
// width: this.data.canvasWidth,
|
||
height: this.data.canvasHeight,
|
||
destWidth: this.data.canvasWidth,
|
||
destHeight: this.data.canvasHeight,
|
||
canvasId: 'myCanvas',
|
||
success: function(res) {
|
||
var tempFilePath = res.tempFilePath;
|
||
that.setData({
|
||
ithumb: tempFilePath
|
||
});
|
||
},
|
||
fail: function(res) {
|
||
console.log(res);
|
||
}
|
||
});
|
||
},1000);
|
||
},
|
||
// 图片生成之后的回调
|
||
createdImage(val) {
|
||
console.log(val, '65566565454');
|
||
},
|
||
// 识别二维码
|
||
previewImage(e) {
|
||
wx.canvasToTempFilePath({
|
||
x: 0,
|
||
y: 0,
|
||
// width: this.data.canvasWidth,
|
||
height: this.data.canvasHeight,
|
||
destWidth: this.data.canvasWidth* 4,
|
||
destHeight: this.data.canvasHeight* 4,
|
||
canvasId: 'myCanvas',
|
||
success: function(res) {
|
||
var tempFilePath = res.tempFilePath;
|
||
console.log(tempFilePath);
|
||
wx.previewImage({
|
||
current: tempFilePath, // 当前显示图片的http链接
|
||
urls: [tempFilePath] // 需要预览的图片http链接列表
|
||
});
|
||
},
|
||
fail: function(res) {
|
||
console.log(res);
|
||
}
|
||
});
|
||
},
|
||
// 点击保存到相册
|
||
saveShareImg: function() {
|
||
wx.showLoading({
|
||
title: '保存中'
|
||
});
|
||
wx.canvasToTempFilePath({
|
||
x: 0,
|
||
y: 0,
|
||
// width: this.data.canvasWidth,
|
||
height: this.data.canvasHeight,
|
||
destWidth: this.data.canvasWidth * 4,
|
||
destHeight: this.data.canvasHeight * 4,
|
||
canvasId: 'myCanvas',
|
||
success: function(res) {
|
||
console.log(res);
|
||
wx.saveImageToPhotosAlbum({
|
||
filePath: res.tempFilePath,
|
||
success(result) {
|
||
wx.showToast({
|
||
title: '图片保存成功',
|
||
icon: 'success',
|
||
duration: 2000
|
||
});
|
||
}
|
||
});
|
||
},
|
||
fail: error => {
|
||
wx.hideLoading();
|
||
}
|
||
|
||
});
|
||
}
|
||
});
|