let context = null;
let isButtonDown = false;
let arrx = [];
let arry = [];
let arrz = [];
Page({
/**
* 页面的初始数据
*/
data: {
canvasWidth: 0,
canvasHeight: 0,
imgUrl: "",
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.setData({
id: options.id,
});
wx.setNavigationBarTitle({
title: "验机单",
});
// 使用 wx.createContext 获取绘图上下文 context
context = wx.createCanvasContext("canvas");
},
canvasIdErrorCallback: function (e) {},
/**
* 绘画开始
* @param {}} event
*/
canvasStart: function (event) {
isButtonDown = true;
arrz.push(0);
arrx.push(event.changedTouches[0].x);
arry.push(event.changedTouches[0].y);
},
/**
* 绘画
* @param {}} event
*/
canvasMove: function (event) {
if (isButtonDown) {
arrz.push(1);
arrx.push(event.changedTouches[0].x);
arry.push(event.changedTouches[0].y);
}
for (let i = 0; i < arrx.length; i++) {
if (arrz[i] == 0) {
context.moveTo(arrx[i], arry[i]);
} else {
context.lineTo(arrx[i], arry[i]);
}
}
context.clearRect(0, 0, this.data.canvasWidth, this.data.canvasHeight);
context.setStrokeStyle("#000000");
context.setLineWidth(4);
context.setLineCap("round");
context.setLineJoin("round");
context.stroke();
context.draw(false);
},
/**
* 绘画结束
* @param {*} e
*/
canvasEnd: function (e) {
isButtonDown = false;
},
/**
* 清空函数
* @param {} e
*/
clear: function (e) {
arrx = [];
arry = [];
arrz = [];
context.clearRect(0, 0, this.data.canvasWidth, this.data.canvasHeight);
context.draw(false);
},
/**
* 提交函数
*/
export: function () {
if (arrx.length == 0) {
wx.showModal({
title: "提示",
content: "签名内容不能为空!",
showCancel: false,
});
return;
}
// 生成图片
var that = this;
wx.canvasToTempFilePath(
{
canvasId: "canvas",
success: function (res) {
console.log("res.tempFilePath", res.tempFilePath);
that.setData({
imgUrl: res.tempFilePath,
});
wx.uploadFile({
url: 'https://scrm-test.wanyol.com/account/admin/file/upload',
filePath: res.tempFilePath,
name: 'file',
header: {
"Content-Type": "multipart/form-data"
},
success:function(res){
wx.setStorageSync('imgUrl', JSON.parse(res.data).data.fileUrl)
},
fail:function(data){
console.log(data);
}
})
that.clear();
wx.redirectTo({
url:
"/pages/checkPhone/checkDetail/index?isMark=true&checkItemId=" +
that.data.id,
});
},
},
this
);
},
});