123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- // canvas 全局配置
- var util = require('../../../../utils/util.js');
- var api = require('../../../../config/api.js');
- var app = getApp();
- var context = null;// 使用 wx.createContext 获取绘图上下文 context
- var isButtonDown = false;
- var arrx = [];
- var arry = [];
- var arrz = [];
- var canvasw = 0;
- var canvash = 0;
- //获取系统信息
- wx.getSystemInfo({
- success: function (res) {
- canvasw = res.windowWidth;//设备宽度
- canvash = res.windowHeight;
- }
- });
- //注册页面
- Page({
- /**
- * 页面的初始数据
- */
- data: {
- hasWrited:false
- },
- canvasIdErrorCallback: function (e) {
- console.error(e.detail.errMsg)
- },
- canvasStart: function (event){
- isButtonDown = true;
- arrz.push(0);
- arrx.push(event.changedTouches[0].x);
- arry.push(event.changedTouches[0].y);
- //context.moveTo(event.changedTouches[0].x, event.changedTouches[0].y);
-
- },
- canvasMove: function (event) {
- if (isButtonDown) {
- arrz.push(1);
- arrx.push(event.changedTouches[0].x);
- arry.push(event.changedTouches[0].y);
- // context.lineTo(event.changedTouches[0].x, event.changedTouches[0].y);
- // context.stroke();
- // context.draw()
-
- };
-
- for (var 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, canvasw, canvash);
-
- context.setStrokeStyle('#000000');
- context.setLineWidth(4);
- context.setLineCap('round');
- context.setLineJoin('round');
- context.stroke();
-
- context.draw(false);
- },
- canvasEnd: function (event) {
- isButtonDown = false;
- },
- cleardraw: function () {
- //清除画布
- arrx = [];
- arry = [];
- arrz = [];
- context.clearRect(0, 0, canvasw, canvash);
- context.draw(true);
- },
- getimg: function(){
- if (arrx.length==0){
- wx.showModal({
- title: '提示',
- content: '签名内容不能为空!',
- showCancel: false
- });
- return false;
- };
- //生成图片
- wx.canvasToTempFilePath({
- canvasId: 'canvas',
- success: function (res) {
- console.log(res.tempFilePath);
- //存入服务器
- const uploadTask =wx.uploadFile({
- url: api.StorageUpload, //图片上传接口地址
- filePath: res.tempFilePath,
- name: 'file',
- success: function (_res) {
- console.log(_res);
- var _res = JSON.parse(_res.data);
- if (_res.errno === 0) { //图片上传成功 执行数据更新
- console.log( _res.data.url );
- util.request(api.DisCommissionSign,{
- picurl:_res.data.url
- }).then(res=>{
- if(res.errno===0){
- wx.showToast({
- title: "签名成功",
- icon: 'success',
- duration: 2000,
- complete: function () {
- wx.navigateTo({
- url: "/pages/ucenter/dis/index"
- })
- }
- })
- } else{
- wx.showModal({
- title: '错误',
- content: '签名失败 请重签',
- showCancel: false
- })
- }
- })
- }
- },
- fail: function (res) {
- wx.showModal({
- title: '错误',
- content: '上传失败',
- showCancel: false
- })
- }
- });
- uploadTask.onProgressUpdate((res) => {
- console.log('上传进度', res.progress)
- console.log('已经上传的数据长度', res.totalBytesSent)
- console.log('预期需要上传的数据总长度', res.totalBytesExpectedToSend)
- })
- }
- })
- },
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad: function (options) {
- // 使用 wx.createContext 获取绘图上下文 context
- context = wx.createCanvasContext('canvas');
- //context.drawImage("/static/images/bk.jpg",0,0,wx.getSystemInfoSync().windowWidth,wx.getSystemInfoSync().windowHeight-40)
- //context.draw();
- context.beginPath()
- context.setStrokeStyle('#000000');
- context.setLineWidth(4);
- context.setLineCap('round');
- context.setLineJoin('round');
-
- }
- })
-
|