vue使用Google Recaptcha验证的实现示例


Posted in Vue.js onAugust 23, 2021

我们最近的项目中需要使用谷歌机器人验证,这个最主要的就是要有vpn,还需要有公司申请的google账号(自己申请的没用)用于商用的,利用这个账号去申请秘钥,然后有了秘钥之后就可以了。
部分代码如下:

1.首先正是我封装的google机器人验证组件:

<template>
    <div ref="grecaptcha">
    </div>
    <!-- <div id="robot"></div> -->

</template>
<script src="http://www.recaptcha.net/recaptcha/api.js?οnlοad=ReCaptchaLoaded&render=explicit&hl=en" async defer></script>
<script>
export default {
  props: ["sitekey"], // 所要传的秘钥
  
  mounted() {
    window.ReCaptchaLoaded = this.loaded;
    var script = document.createElement("script");
    script.src =
      "https://recaptcha.net/recaptcha/api.js?οnlοad=ReCaptchaLoaded&render=explicit";
    document.head.appendChild(script);
  },
  methods: {
    loaded() {
       window.grecaptcha.render(this.$refs.grecaptcha, {
        sitekey: this.sitekey,
        /**
        * res返回的是goole的验证情况,
        * 成功返回字符串
        * 失败不返回字符串
        * 所以根据字符串判断验证情况
        */
        callback: res => {// true  - 验证成功 // false - 验证失败 
    
            res.length > 0 ? this.$emit("getValidateCode", false) :  his.$emit("getValidateCode", true)
        }
      });
      // grecaptcha.render('robot', {
      //     sitekey: this.sitekey,
      //     /**
      //     * res返回的是goole的验证情况,
      //     * 成功返回字符串
      //     * 失败不返回字符串
      //     * 所以根据字符串判断验证情况
      //     */
      //     theme: 'light', //主题颜色,有light与dark两个值可选
      //     size: 'normal',//尺寸规则,有normal与compact两个值可选
      //     callback: res => {
      //         res.length > 0 ?  this.$emit("getValidateCode", true) :  this.$emit("getValidateCode", false)
      //         // true  - 验证成功 // false - 验证失败 
      //     }
      // }); 
     
    }
  },
};
</script>
<style>

</style>

2.在需要的地方使用:

<template>
  <div>
    <div class="home-content">
      <div class="home-content-img">
        <!-- <div class="home-content-imgtop"> -->
          <img src="../../assets/image/202010_JP NIGHT 店??鬏d??I用?料.002.png" alt="">
          <img src="../../assets/image/202010_JP NIGHT 店??鬏d??I用?料.003.png" alt="">
        <!-- </div> -->
        <!-- <div class="home-content-imgbottom"> -->
          <img src="../../assets/image/202010_JP NIGHT 店??鬏d??I用?料.004.png" alt="">
          <img src="../../assets/image/202010_JP NIGHT 店??鬏d??I用?料.005.png" alt="">
        <!-- </div> -->
      </div>
      <div class="home-content-bottom">
        <p> <a href="http://www.jp-night.com/terms.html" rel="external nofollow" >利用??</a>· <a href="http://www.jp-night.com/privacy.html" rel="external nofollow" >プライバシ一ポリシ一</a>に同意の上 に同意の上でお?みください </p>
        <div class="content-google">
          <google-recaptcha ref="recaptcha" :sitekey="key" @getValidateCode='getValidateCode' v-model="validateCode"></google-recaptcha>
        </div>
        <div class="login">
          <button :class="isNext ?'login-botton-background':'login-botton'" :disabled="isNext" @click="login()">店?揭?を?昴激工?lt;/button>
        </div> 
      </div>
      
    </div>
  </div>
  
</template>

<script>
import GoogleRecaptcha from '../../common/module/GoogleRecaptcha'
export default {
  data() {
    var checkCode = (rule, value, callback) => {
      if (value == false) {
        callback(new Error('请进行人机验证'));
      } else {
        callback();
      }
    };
    return {
      key: '6Ld9xxgaAAAAAI4xn7seMCmqbxIpVsJ_dwrZu9z1',
      validateCode: false,
      isNext:false
    };
  },
  created(){
    
  },
  mounted(){
    
  },
  components:{
    GoogleRecaptcha
  },
  methods:{
    login(){
      sessionStorage.setItem('token',true)
      
      this.$router.push({
        path: "/shops",
        query: { out: true }
      })
    },
    getValidateCode(value) {
      console.log(value);
      
      this.isNext = value
    },
  }
};
</script>

<style lang="scss" scoped>
@import "./css/pc.css";
@import "./css/ipad.css";
@import "./css/phone.css";
#rc-anchor-container {
    width: 335px;
}

</style>

3.就完成啦,谷歌机器人就可以使用啦。

示意图:

vue使用Google Recaptcha验证的实现示例

到此这篇关于vue使用Google Recaptcha验证的实现示例的文章就介绍到这了,更多相关vue Google Recaptcha验证内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Vue.js 相关文章推荐
vue中defineProperty和Proxy的区别详解
Nov 30 Vue.js
实用的 vue tags 创建缓存导航的过程实现
Dec 03 Vue.js
vuex Module将 store 分割成模块的操作
Dec 07 Vue.js
vue浏览器返回监听的具体步骤
Feb 03 Vue.js
vue项目配置 webpack-obfuscator 进行代码加密混淆的实现
Feb 26 Vue.js
vue点击弹窗自动触发点击事件的解决办法(模拟场景)
May 25 Vue.js
一篇文章学会Vue中间件管道
Jun 20 Vue.js
Vue的列表之渲染,排序,过滤详解
Feb 24 Vue.js
Vue的生命周期一起来看看
Feb 24 Vue.js
VUE使用draggable实现组件拖拽
Apr 06 Vue.js
详解Vue3使用axios的配置教程
Apr 29 Vue.js
vue如何清除浏览器历史栈
May 25 Vue.js
Vue鼠标滚轮滚动切换路由效果的实现方法
Aug 04 #Vue.js
Vue3.0 手写放大镜效果
vue项目多环境配置(.env)的实现
Vue Element-ui表单校验规则实现
Jul 09 #Vue.js
Vue3.0中Ref与Reactive的区别示例详析
Jul 07 #Vue.js
Vue项目打包、合并及压缩优化网页响应速度
idea编译器vue缩进报错问题场景分析
You might like
广播爱好者需要了解的天线知识
2021/03/01 无线电
将数字格式的计算结果转为汉字格式
2006/10/09 PHP
一个漂亮的php验证码类(分享)
2013/08/06 PHP
PHP基于ICU扩展intl快速实现汉字转拼音及按拼音首字母分组排序的方法
2017/05/03 PHP
Win7环境下Apache连接MySQL提示连接已重置的解决办法
2017/05/09 PHP
JavaScript与C# Windows应用程序交互方法
2007/06/29 Javascript
HTML 自动伸缩的表格Table js实现
2009/04/01 Javascript
jQuery实现字符串按指定长度加入特定内容的方法
2015/03/11 Javascript
jquery实现动画菜单的左右滚动、渐变及图形背景滚动等效果
2015/08/25 Javascript
js实现超简单的展开、折叠目录代码
2015/08/28 Javascript
详解javascript中原始数据类型Null和Undefined
2015/12/17 Javascript
JS组件Bootstrap Table使用实例分享
2016/05/30 Javascript
BootStrap 轮播插件(carousel)支持左右手势滑动的方法(三种)
2016/07/07 Javascript
jQuery简单入门示例之用户校验demo示例
2016/07/09 Javascript
用jQuery实现可输入多选下拉组合框实例代码
2017/01/18 Javascript
vue.js中指令Directives详解
2017/03/20 Javascript
微信小程序开发之麦克风动画 帧动画 放大 淡出
2017/04/18 Javascript
jquery网页加载进度条的实现
2017/06/01 jQuery
vue父组件点击触发子组件事件的实例讲解
2018/02/08 Javascript
使用react实现手机号的数据同步显示功能的示例代码
2018/04/03 Javascript
JavaScript中变量提升与函数提升经典实例分析
2018/07/26 Javascript
浅析js中mvvm模式实现的原理
2018/10/06 Javascript
Python psutil模块简单使用实例
2015/04/28 Python
Python栈算法的实现与简单应用示例
2017/11/01 Python
python实现图片筛选程序
2018/10/24 Python
python实现kmp算法的实例代码
2019/04/03 Python
对python 中re.sub,replace(),strip()的区别详解
2019/07/22 Python
python字符串判断密码强弱
2020/03/18 Python
环法自行车赛官方商店:Le Tour de France
2017/08/27 全球购物
公司董事长职责
2013/12/12 职场文书
农村结婚典礼司仪主持词
2014/03/14 职场文书
家长对学生的评语
2014/04/18 职场文书
关于祖国的演讲稿
2014/05/04 职场文书
授权委托书协议书
2014/10/16 职场文书
2015年财务科工作总结范文
2015/05/13 职场文书
干货:我将这样书写我的演讲稿!
2019/05/09 职场文书