container->get(\Hyperf\Redis\Redis::class); $config = new \EasySwoole\VerifyCode\Conf(); $code = new \EasySwoole\VerifyCode\VerifyCode($config); //系统验证码 $result = $code->DrawCode(); // 获取自定义配置 $config = config('verify_code.'.$scene); $isNoise = isset($config['noise'])? $config['noise'] : false; if($isNoise){ $result->setUseNoise(); } $img_code = $result->getImageCode(); //写入缓存 用于其他方法验证 并且设置过期时间 $expire = isset($config['expire'])? intval($config['expire']) : 0; $redis->set("codes:{$scene}_".session_id(), $img_code, $expire? $expire : 180); // 返回类型 if($dataType == 2){ return ['url'=> $result->getImageBase64(), 'scene'=> $scene]; }else{ return $result->getImageByte(); } } /** * 验证码校验 */ public static function checkCode($code, $scene='default'){ $redis = $this->container->get(\Hyperf\Redis\Redis::class); $cacheCode = $redis->get("codes:{$scene}_".session_id()); return $cacheCode == $code? true : false; } }