小程序有关手写板签名具体代码

AI 摘要 / TL;DR

本文主要为大家讲述在小程序中实现手写板签名的具体代码,下面看看具体内容: 1.wxss代码 2.wxml代码 3.js代码 4.注意json文件必须加这个参数为true,否则签名时晃动 全部内容已全部讲述完毕,欢迎关注后续更多精彩内容。

来源: https://www.ucloud.cn/yun/130353.html 作者: 3403771864 发布日期: 发布于2023-03-26 17:27

本文主要为大家讲述在小程序中实现手写板签名的具体代码,下面看看具体内容:

  1.wxss代码

  page{
  background:#F8F8F8;
  }
  /*签名*/
  .qianming{
  background:#fff;
  padding:20rpx 30rpx;
  font-size:32rpx;
  color:#333;
  padding-bottom:0;
  position:fixed;
  bottom:0;
  left:0;
  width:92%;
  height:47%;
  }
  .qianming.clear{
  font-size:26rpx;
  color:#669AF2;
  }
  .flex-def{
  display:flex;
  }
  .flex-one{
  flex:1;
  }
  .flex-cCenter{
  align-items:center;
  }
  /*底部按钮*/
  .bottom_btn{
  font-size:32rpx;
  color:#fff;
  padding:30rpx 0;
  background:#fff;
  width:100%;
  }
  .bottom_btn view{
  width:100%;
  background:#FF083C;
  border-radius:40rpx;
  height:80rpx;
  line-height:80rpx;
  text-align:center;
  }
  /*隐藏滚动条*/
  ::-webkit-scrollbar{
  width:0;
  height:0;
  color:transparent;
  display:none;
  }

  2.wxml代码

  <view class="qianming">
  <view class="qianming_top flex-def flex-cCenter"wx:if="{{is_sign==1}}">
  <view class="flex-one">签名</view>
  <view class="clear"bindtap="clear">清空</view>
  </view>
  <view class="canvas">
  <canvas style="width:100%;height:360rpx;border:1px#eee solid;background-color:#fff;border-radius:16rpx;margin-top:20rpx;"canvas-id="firstCanvas"id='firstCanvas'bindtouchstart="bindtouchstart"bindtouchmove="bindtouchmove"></canvas>
  </view>
  <view class="bottom_btn">
  <view class="skin-bg-{{theme}}"bindtap='export'>我已知悉并同意</view>
  </view>
  </view>

  3.js代码

  data:{
  context:null,
  imgUrl:"",
  index:0,//用来判断是否签名
  },
  /**记录开始点*/
  bindtouchstart:function(e){
  this.data.context.moveTo(e.changedTouches[0].x,e.changedTouches[0].y)
  //记录已经开始签名
  this.setData({
  index:1
  })
  },
  /**记录移动点,刷新绘制*/
  bindtouchmove:function(e){
  this.data.context.lineTo(e.changedTouches[0].x,e.changedTouches[0].y);
  this.data.context.stroke();
  this.data.context.draw(true);
  this.data.context.moveTo(e.changedTouches[0].x,e.changedTouches[0].y);
  //记录已经开始签名
  this.setData({
  index:1
  })
  },
  /**清空画布*/
  clear:function(){
  this.data.context.draw();
  this.setData({
  index:0
  })
  },
  /**导出图片点击确定按钮*/
  export:function(){
  const that=this;
  if(that.data.index==0){
  wx.showToast({
  title:'请阅读并签名',
  icon:'none',
  duration:2000
  })
  return
  }
  that.data.context.draw(true,
  wx.canvasToTempFilePath({
  x:0,
  y:0,
  fileType:'png',
  canvasId:'firstCanvas',
  success(res){
  that.upload_image(res.tempFilePath)
  },
  fail(){
  wx.showToast({
  title:'签名失败',
  icon:'none',
  duration:2000
  })
  }
  })
  )
  }
  },
  //将图片保存到服务器
  upload_image(imgurl){
  var that=this;
  },

  4.注意json文件必须加这个参数为true,否则签名时晃动

  {
  "disableScroll":true
  }

  全部内容已全部讲述完毕,欢迎关注后续更多精彩内容。