-
[置顶]短信API接口,短信接口怎么对接
本文讲述了短信API接口,短信接口怎么对接。一、关于短信API接口第三方短信服务商提供短信API接口,短信一般是编辑好内容,调用接口发送即可。我们这里提供一个注册好的账号,其中短信API服务器地址为:...
-
[置顶]热门好用的空号检测API推荐,空号检测API数据接口
本文讲述了热门好用的空号检测API推荐,空号检测API数据接口。空号检测,也称号码检测,空号过滤,号码筛选等,是基于运营商大数据及流量使用情况返回手机号码状态,比如 实号、空号 等。今天就给大家推荐一...
-
[置顶]语音验证码短信原理的深入解析
语音合成技术语音合成技术(Text-to-Speech,TTS)是一种将文本信息转换为语音输出的技术。它通过计算机算法和声音合成器,将文本中的文字逐个转换为语音信号,使计算机能够以自然语言的方式朗读出...
-
Webpack中publicPath路径问题详解
Webpack中publicPath路径问题详解最近自己在搭建一个基于webpack的react项目,遇到关于output.publicPath和webpack-dev-server中publicPa...
-
-
VUE Error: getaddrinfo ENOTFOUND localhost
VUE Error: getaddrinfo ENOTFOUND localhost本文介绍了vue Error: getaddrinfo ENOTFOUND localhost,分享给大家。具体如下...
-
-
-
详解Spring Data Jpa 模糊查询的正确用法
详解Spring Data Jpa 模糊查询的正确用法模糊查询Spring Data Jpa的使用可以减少开发者对sql语句的编写,甚至完全不需要编写sql语句。但是,开发过程中总会遇到各种复杂的场景...
-
-
-
var draw;
var preHandler = function(e){e.preventDefault();}
class Draw {
conFNeLLLstructor(el) {
this.el = el
this.canvas = document.getElementById(this.el)
this.cxt = this.canvas.getContext('2d')
this.stage_info = canvas.getBoundingClientRect()
this.path = {
beginX: 0,
beginY: 0,
endX: 0,
endY: 0
}
}
init(btn) {
var that = this;
this.canvas.addEventListener('touchstart', function(event) {
document.addEventListener('touchstart', preHandler, false);
that.drawBegin(event)
})
this.canvas.addEventListener('touchend', function(event) {
document.addEventListener('touchend', preHandler, false);
that.drawEnd()
})
this.clear(btn)
}
drawBegin(e) {
var that = this;
window.getSelection() ? window.getSelection().removeAllRanges() : document.selection.empty()
this.cxt.strokeStyle = "#000"
this.cxt.beginPath()
this.cxt.moveTo(
e.changedTouches[0].clientX - this.stage_info.left,
e.changedTouches[0].clientY - this.stage_info.top
)
this.path.beginX = e.changedTouches[0].clientX - this.stage_info.left
this.path.beginY = e.changedTouches[0].clientY - this.stage_info.top
canvas.addEventListener("touchmove",function(){
that.drawing(event)
})
}
drawing(e) {
this.cxt.lineTo(
e.changedTouches[0].clientX - this.stage_info.left,
e.changedTouches[0].clientY - this.stage_info.top
)
this.path.endX = e.changedTouches[0].clientX - this.stage_info.left
this.path.endY = e.changedTouches[0].clientY - this.stage_info.top
this.cxt.stroke()
}
drawEnd() {
document.removeEventListener('touchstart', preHandler, false);
document.removeEventListener('touchend', preHandler, false);
document.removeEventListener('touchmove', preHandler, false);
//canvas.ontouchmove = canvas.ontouchend = null
}
clear(btn) {
this.cxt.clearRect(0, 0, 300, 600)
}
save(){
return canvas.toDataURL("image/png" alt="Vue利用canvas实现移动端手写板的方法" title="Vue利用canvas实现移动端手写板的方法" width="200" height="150">
Vue利用canvas实现移动端手写板的方法
Vue利用canvas实现移动端手写板的方法本文介绍了vue利用canvas实现移动端手写板的方法,分享给大家,具体如下: 清除 保存 Canvas画板 var draw;var preHand...
-