这篇文章主要介绍了Laravel8.5是怎么添加验证码mews/captcha的,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

1、通过composer安装验证码包

在Composer里执行以下命令

composer require mews/captcha

2、配置

在 config/app.php 中 找到 aliases数组加入以下代码

'Captcha' => Mews\Captcha\CaptchaServiceProvider::class,

3、生成配置文件

在Composer里执行以下命令,如果弹出选项,选择到config,我的config的tag是11,输入11后回车,然后就会在config文件夹里生成配置文件;配置文件里的length是生成验证码多少位;

 php artisan vendor:publish

4、前端使用验证码

在需要的地方加入

<img src="{{captcha_src()}}">

如果是用的vue.js。可以这样

/*html部分*/
<img class="codeImg" :src="urlCode" style="cursor: pointer" @click="getCode">

/*js部分*/
<script>
new Vue({
    el: '.main',
    data: {
        urlCode:"",
    },
    created(){
        this.getCode();
    },
    methods: {
        getCode(){
            let domain = document.domain;
            $.get('http://'+domain+'/getCode',(res)=>{
                this.urlCode =res.code;
            })
        },
        goLogin(){
            document.onkeyup = (event) => {
                let e = event || window.event;
                if(e && e.keyCode==13){
                    //执行登录
                }
            };
        },
    }
})
</script>

5、控制器生成验证码

public function codes()
    {
        return response()->json([
            'code' => \captcha_src() //返回前端图像验证码
        ]);
    }

6、验证码验证

if(!captcha_check($params['code'])){
   return Response()->json(['code' => 201, 'msg' => '验证码有误']);
  }