前后端分离项目的验证码实现(前端Vue,后端TP)

本文介绍了在前后端分离项目中,如何使用ThinkPHP(TP)生成验证码并将其发送给Vue前端。在后端,通过Composer安装验证码依赖,并配置验证码参数。前端使用fetch API获取验证码,将响应类型设置为'arraybuffer',然后转换为图片URL。然而,由于跨域问题,验证码验证会失败,因为默认情况下session_id无法传递。为解决此问题,需要在后端设置Access-Control-Allow-Origin,并在前端进行相应的处理。
摘要由CSDN通过智能技术生成

1.TP安装依赖

composer require topthink/think-captcha=2.0.*

2.生成验证码返回给前端

// 生成验证码

  public function getCaptcha()

  {

    $config =    [

      // 验证码字符集合  

      'codeSet' => '0123456789',

      // 验证码字体大小

      'fontSize' => 30,

      //字体

      'fontttf' => '5.ttf',

      // 验证码位数

      'length' => 4,

      // 背景颜色

      'bg' => [119, 136, 153]

    ];

    $captcha  = new Captcha($config);

    return $captcha->entry();

  }

3.前端接收

前端调接口获取验证码时请求方法的responseType要设置成'arraybuffer'

export function getCaptcha (data, responseType = 'arraybuffer') {

  return fetch({

    url: 'login/getCaptcha',

    method: 'get',

    data,

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值