当前位置:   article > 正文

vaptcha验证码的使用

vaptcha

官方地址:https://www.vaptcha.com/
首先 注册

新建验证集 获取 vid 后续需要使用

H5 uniapp官方插件 https://ext.dcloud.net.cn/plugin?id=5879 依据文档引入使用即可

小程序的用法
文档地址
进入小程序后台 - 设置 - 第三方设置 添加插件
在这里插入图片描述
在这里插入图片描述
然后在
mainfestjson配置
在这里插入图片描述
之后在哪个页面引用 进入 page.json 进行配置
在这里插入图片描述
之后即可在页面进行引用
代码
在这里插入图片描述
配置 写在data里
在这里插入图片描述

isShowVaptcha:false,
				options: {
					vid: '62f2fb954ed991eb6e61b014', //验证单元vid,登录vaptcha用户后台创建
					scene: 0, //验证场景值
				}
  • 1
  • 2
  • 3
  • 4
  • 5

成功与失败处理
在这里插入图片描述
完整页面代码

<template>
	<view class="content">
		<!-- :style="{height:windowHeight+'px'}" -->
		<view class="cancel_btn" @click='cancel' v-if="!isShowVaptcha">
			<img class="" src="./img/cancel.png" alt="">
		</view>
		<img class="logo" src="./img/logo_.png" mode=""></img>
		<!-- <u-top-tips ref="uTips"></u-top-tips> -->
		<img class="lookimg" src="https://xxxx/zhaoSheng/image/bj1.png" alt="">
		<view class="inpu">
			<view class="min">
				<!-- placeholder-style="color:#eee" -->
				<!-- <icon color='#1B3DD1' type="search" size="22"/> -->
				<input v-model="name" type="text" placeholder="请输入姓名" />
				<input v-model="id_number" type="text" placeholder="请输入身份证号" />
				<view class="ok_but" @click="ok">
					<view class="but">
						确认
					</view>
				</view>
			</view>
		</view>
		<view class="vaptcha_yzm" v-if="isShowVaptcha">
			<vaptcha :options="options" @pass="pass" @close="close" />
		</view>
		
	</view>
</template>

<script>
	import {
		getIdcardInfo
	} from "./tool/idCard.js";
	import {
		getMyInfo
	} from '@/api/php_base/index.js'
	export default {
		components: {
			// xlgSlideCode,
		},
		data() {
			return {
				name: '',
				windowHeight: 0,
				id_number: '',
				session_id: null, //这里有人可能会好奇,为什么会自己定义一个session的Id,php的session不是会自己生成id,然后通过cookie的方式进行传递吗?   答案就是:很多小程序在网络访问时是不支持传递cookie的。所以这里就实现通过get方式进行传递
				
				isShowVaptcha:false,
				options: {
					vid: '自己申请', //验证单元vid,登录vaptcha用户后台创建
					scene: 0, //验证场景值
				}
			}
		},
		onShow() {
			this.name = ''
			this.id_number = ''
			uni.getSystemInfo({
				success: (res) => {
					this.windowHeight = res.windowHeight
				}
			});
		},
		methods: {
			pass(res) {
				this.isShowVaptcha = false
				uni.showToast({
					title: '验证成功',
				});
				setTimeout(() => {
					getMyInfo({
						name: this.name,
						id_number: this.id_number
					}).then(res => {
						if (res.code == 1) {
							let dorm_room = JSON.stringify(res.data.dorm_room) //宿舍信息
							let student = JSON.stringify(res.data.student) //学生信息
							uni.navigateTo({
								url: './look_data?dorm_room=' + dorm_room + '&student=' + student,
							})
						} else {
							uni.showToast({
								title: res.msg,
								icon: 'none',
								duration: 2250
							});
						}
					})
				}, 500);
			},
			close() {
				this.isShowVaptcha = false
				console.log('close');
			},


			cancel() {
				console.log(1)
				uni.switchTab({
					url: '../../pages/gongneng/index'
				});
			},
			ok() {
				// uni.navigateTo({
				// 	url: './look_data',
				// })

				//这里你就可以自由做下面的业务了
				if (this.name != '') {
					if (this.id_number != '') {
						let flog = getIdcardInfo(this.id_number)
						if (flog) {
							
							this.isShowVaptcha=true
						} else {
							uni.showToast({
								title: '身份证格式有误',
								icon: 'none'
							});
						}
					} else {
						uni.showToast({
							title: '请输入身份证号',
							icon: 'none'
						});
					}
				} else {
					uni.showToast({
						title: '请输入姓名',
						icon: 'none'
					});

				}
			}
		}
	}
</script>

<style scoped lang="scss">
	.content {
		height: 100vh;
		position: relative;
		// 验证码
		.vaptcha_yzm{
			width: 100%;
			height: 100rpx;
			position: absolute;
			left: 0;
			top: 50%;
			margin-top: -50rpx;
		}
		.cancel_btn {
			width: 40rpx;
			height: 40rpx;
			// transform: rotate(90deg);
			position: absolute;
			top: 100rpx;
			left: 40rpx;
			z-index: 999;

			img {
				width: 100%;
				height: 100%;
			}
		}

		.lookimg {
			height: 100%;
			position: absolute;
			top: 0;
			width: 100%;
		}

		.logo {
			width: 514rpx;
			height: 90rpx;
			position: absolute;
			left: 50%;
			top: 33%;
			transform: translateX(-50%);
		}

		.inpu {
			width: 514rpx;
			position: absolute;
			left: 50%;
			top: 42%;
			transform: translateX(-50%);

			.min {

				icon {
					margin: 0 10rpx;
				}

				input {
					flex: 1;
					height: 70rpx;
					text-indent: 15rpx;
					background: rgba(255, 255, 255, 1);
					border-radius: 6px;
					margin: 0 0 20rpx 0;
				}

				.ok_but {
					display: flex;
					align-items: center;
					justify-content: center;
					margin-top: 50rpx;

					.but {
						width: 240rpx;
						font-size: 30rpx;
						background: #FFFFFF;
						height: 70rpx;
						border-radius: 10rpx;
						color: #03b1fa;
						display: flex;
						align-items: center;
						justify-content: center;
					}
				}
			}
		}
	}
</style>

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/844893
推荐阅读
相关标签
  

闽ICP备14008679号