赞
踩
官方地址: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, //验证场景值
}
成功与失败处理
完整页面代码
<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>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。