thinkphp6.0.9 验证码扩展使用配置

首先使用 Composer 安装 think-captcha 扩展包

composer require topthink/think-captcha

在文件 config / captcha.php 中进行相关配置

return [
    //验证码位数
    'length' => 4,
    // 验证码字符集合
    'codeSet' => '1234567890',
    // 验证码过期时间
    'expire' => 1800,
    // 是否使用中文验证码
    'useZh' => false,
    // 是否使用算术验证码
    'math' => false,
    // 是否使用背景图
    'useImgBg' => false,
    //验证码字符大小
    'fontSize' => 25,
    ......

html 模版页面添加验证码的显示代码

	<img src="{:captcha_src()}" id="captcha" onclick="captcha();"/>

JavaScript 代码控制刷新

//验证码刷新
	function captcha(){
		$('#captcha').attr('src','{:captcha_src()}?code='+Math.random())
	}

JavaScript Math.random() 函数用法

Math.random() ---------------------------------- 返回 0 和 1 之间的伪随机数,可能为 0,但总是小于1,[0,1]
document.write(Math.random()) ------------------ 返回随机数
document.write(Math.random()*(20-10) 10) ------- 返回 10 - 20 的随机数
document.write(Math.random()*(n-m) m) ---------- 返回指定范围的随机数 (m-n之间) 的公式

打开 app / middleware.php 中间件,去掉 Session初始化 注释



// 全局中间件定义文件
return [
    // 全局请求缓存
    // \think\middleware\CheckRequestCache::class,
    // 多语言加载
    // \think\middleware\LoadLangPack::class,
    // Session初始化
    \think\middleware\SessionInit::class,
];

控制器代码

// 检测输入的验证码是否正确,$code为用户输入的验证码字符串
	if (!captcha_check($code)) {
		return json(['code' => '0', 'msg' => '验证码错误!']);
	exit;
}

你可能感兴趣的:(thinkphp6,javascript,thinkphp)