vue实现移动端签名功能之 vue-esign插件篇
1.安装 vue-esign
npm install vue-esign --save
2.全局引用
3.代码
4.将生成的base64转成文件
handleGenerate() {
this.$refs.esign
.generate()
.then(res => {
let randnum = Math.random() * 10000000000000
randnum = Math.floor(randnum)
let fileName = 'zhihuiyuanqu/' + randnum + '.png'
let file = this.dataURLtoFile(res, fileName)
this.uploadSignImage(file)
})
.catch(() => {
Notify({ type: 'danger', message: '请签名' })
})
},
/**
* 签名图片上传
*/
uploadSignImage(file) {
const formData = new FormData()
formData.append('file', file)
uploadGrayFile(formData)
.then(res => {
if (res.code === 20000) {
this.fileName = res.data.fileName
this.params.handlerSignUrl = res.data.fileName
this.show = false
this.showImage = true
}
})
.catch(() => {
this.$vux.loading.hide()
})
},
//将base64转换为文件..
dataURLtoFile(dataurl, filename) {
var arr = dataurl.split(','),
mime = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]),
n = bstr.length,
u8arr = new Uint8Array(n)
while (n--) {
u8arr[n] = bstr.charCodeAt(n)
}
return new File([u8arr], filename, { type: mime })
},
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本