uniapp 使用canvas自定义图片验证码组件

本文介绍了如何在uni-app中创建一个使用canvas绘制的自定义图片验证码组件。组件代码位于compontents/graphValidateCode/graphValidateCode.vue,页面引用并展示前端生成的字符串验证码,与用户输入进行比对验证。
摘要由CSDN通过智能技术生成
组件 compontents/graphValidateCode/graphValidateCode.vue文件
<template>
	<view :key="key"><canvas :style="{ width: width + 'px', height: height + 'px' }" canvas-id="imgcanvas" @click="refresh()" @error="canvasIdErrorCallback"></canvas></view>
</template>

<script>
export default {
   
	data() {
   
		return {
   
			width: 90,
			height: 40,
			key:0
		};
	},
	props: {
   
	    //接收页面传来的参数
		verCode:{
   
			type:String,
			default:''
		}
	},
	//监听参数变化,页面点击刷新时重新绘制canvas,否则会出现字符串已重新生成,页面显示还是上一次canvas的情况。
	watch: {
   
	    verCode: {
   
	      handler(newValue, oldValue) {
   
	        this.init();
	      },
	      deep: true
	    }
	},
	
	
	mounted(){
   
		this.init();
	},
    methods: {
   
		
		init:function(){
   
			
		    // 初始化验证码
		    var context = uni.createCanvasContext('imgcanvas', this);
			var	w = this.width;
			var	h = this.height;
		
			context.setFillStyle('#f2dccf');
			context.setLineWidth(5);
			
			context.fillRect(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值