美文网首页
小程序端签名

小程序端签名

作者: vivianXIa | 来源:发表于2020-05-19 22:41 被阅读0次
效果图
image.png

① wxml中:
ps:这里的van-dialog是使用了vant-webapp中的van-dialog,可以不用这个也行

<!-- <van-dialog id="van-dialog" /> -->
<van-dialog use-slot title="确认报名表" show="{{ showBmbDialog }}" show-cancel-button bind:cancel="cancelPop" bind:close="cancelPop" bind:confirm="saveSign">
  <rich-text class="sm-title" nodes="{{sureFormTxt}}" style="margin:0px;"></rich-text>
  <view class="btn" wx:if="{{openTable}}">
    <text style="font-size:14px;">报名表:</text>
    <van-button slot="button" style="float:right;margin-top: -3px;" size="small" plain hairline type="primary" bind:click="openFile" data-src="{{imgPath+filePath}}">点击预览报名表</van-button>
  </view>
  <view class="com-title">
    请在以下空白区签名
    <view class="delete-sign" bindtap="cleardraw">重签</view>
  </view>
  <!-- 签名画布 -->
  <canvas class="canvas" id="canvas" canvas-id="canvas" disable-scroll="true" bindtouchstart="canvasStart" bindtouchmove="canvasMove" bindtouchend="canvasEnd" touchcancel="canvasEnd" binderror="canvasIdErrorCallback" style="background-color:#FFF;">
  </canvas>
</van-dialog>

js中

 onLoad: function(options) {
    _self = this;
    _self.indexState(-1);
    //获取报名表签字前的描述
    _self.sureFormInto();

    // 使用 wx.createContext 获取绘图上下文 context
    context = wx.createCanvasContext('canvas');
  },
  //开始
  canvasStart: function(event) {
    isButtonDown = true;
    arrz.push(0);
    arrx.push(event.changedTouches[0].x);
    arry.push(event.changedTouches[0].y);
  },
  //过程
  canvasMove: function(event) {
    if (isButtonDown) {
      arrz.push(1);
      arrx.push(event.changedTouches[0].x);
      arry.push(event.changedTouches[0].y);
    };

    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);
    //绘制图片
    context.draw(false, wx.canvasToTempFilePath({
      canvasId: 'canvas',
      success: function (res) {
        var tempFilePath = res.tempFilePath;
          //当时安卓手机生成图片出不来 加上这个就好了
        _self.setData({
          signatureImg: tempFilePath
        });
      },
      fail: function (res) {
        console.log(res);
      }
    }));
  },
  canvasEnd: function(event) {
    isButtonDown = false;
  },
  cleardraw: function() {
    //清除画布
    arrx = [];
    arry = [];
    arrz = [];
    context.draw(false);
  },
//保存签名图片
  saveSign: function() {
    if (arrx.length == 0) {
      common.toast('请签名', 'none', 2000);
      _self.setData({
        showBmbDialog: true,
      });
      return
    }
    let arr = [];
    arr.push(_self.data.signatureImg);
   //这个是自己封装写在common里边的图片上传 你们可以用自己写的图片上传方法++++
    common.uploadFile(arr, 1, function(res) {
      let data = res.data;
      if (data.backCode == 0) {
        _self.setData({
          signatureImg: data.bean.filePath
        });
      } else {
        common.toast('签名上传失败,请重试', 'none', 2000);
            }
    });
  },
}

不过这个签名方法有的时候稍微有一点延迟,如果有更完美的方法也可以推荐给我

相关文章

  • 小程序端签名

    效果图 ① wxml中:ps:这里的van-dialog是使用了vant-webapp中的van-dialog,可...

  • 微信支付的坑

    服务端忘记二次签名。 小程序端调用wx.requestPayment方法时,timestamp参数不是字符串。 退...

  • 微信小程序-微信支付签名验证

    在微信支付之后,小程序会主动向服务端发送支付状态.为了防止恶意篡改,必须生成签名发送给服务端进行验证. 签名生成官...

  • 微信小程序:微信登陆(ThinkPHP作后台)

    微信小程序官方给了十分详细的登陆时序图,当然为了安全着想,应该加上签名加密。 微信小程序端 调用wx.login获...

  • PHP 小程序支付

    小程序端 调用wx.requestPayment,所需要的参数都从服务端获取 服务端 小程序需要的参数: 小程序端...

  • 实现 uniapp 手写签名功能

    最近接了一个这样的需求:在收货方小程序端支持 手写签名 确认收货。 所以写了个这样的demo支持: 流程步骤如下:...

  • 六. 记一次优化

    vue-styleguidist端,也就是vue端, 需要拆分出使用指南,vue端,小程序端. 小程序端通过脚本,...

  • Ripple共识过程中的各种View

    一条交易从发出到落链的过程 客户端通过ws,http发出签名/未签名的交易 节点接收到交易并检查签名 节点程序本地...

  • Spring 实现一个支持 分发 转发的 rest接口

    需求概述 我们的需求是这样的:后台的rest接口对接 安卓、IOS客户端、小程序考虑到安全,我们对请求参数做了签名...

  • 开源项目

    小程序商城 NideShop 小程序端 nideshop-mini-programnodejs服务器端 nides...

网友评论

      本文标题:小程序端签名

      本文链接:https://www.haomeiwen.com/subject/ieziohtx.html