讨论数量:
@liyu001989 谢谢已经解决
<?php
namespace App\Http\Controllers\Api\V1;
use Illuminate\Http\Request;
use Gregwar\Captcha\CaptchaBuilder;
use Gregwar\Captcha\PhraseBuilder;
use App\Http\Requests\Api\CaptchaRequest;
class CaptchaController extends Controller
{
public function store(CaptchaRequest $request)
{
$phraseBuilder = new PhraseBuilder(5, '0123456789');
$captchaBuilder = new CaptchaBuilder(null, $phraseBuilder);
$captcha = $captchaBuilder->build();//创建验证码图片
$key = 'captcha-'.str_random(15);
$expiredAt = now()->addMinutes(10);//10分钟后过期
// getPhrase 获取验证码文本,跟手机号一同存入缓存。
\Cache::put($key, ['mobile' => $request->mobile, 'code' => $captcha->getPhrase()], $expiredAt);
$result = [
'captcha_key' => $key,
'expired_at' => $expiredAt->toDateTimeString(),
//获取 base64 图片验证码
'captcha_image_content' => $captcha->inline()
];
return $this->response->array($result);
}
}
推荐文章: