15313670163 3 месяцев назад
Родитель
Сommit
415eb96c4a
2 измененных файлов с 23 добавлено и 1 удалено
  1. 22 0
      app/Controller/IndexController.php
  2. 1 1
      config/api/public.php

+ 22 - 0
app/Controller/IndexController.php

@@ -63,5 +63,27 @@ class IndexController extends AbstractController
 //        return $result->getImageBase64();
 
     }
+    /**
+     * 获取验证码
+     */
+    public function getverifyCode(){
+        $comm = new CommonService();
+        $ip = $comm->userIp();
+        $redis = $this->container->get(\Hyperf\Redis\Redis::class);
 
+        $config = new \EasySwoole\VerifyCode\Config();
+        $code = new \EasySwoole\VerifyCode\VerifyCode($config);
+        $img_code = '';
+        $characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
+        $charLength = strlen($characters);
+        for ($i = 0; $i < 4; $i++) {
+            $img_code .= $characters[rand(0, $charLength - 1)];
+        }
+        //重写验证码
+        $result = $code->DrawCode((string)$img_code);
+        $img_code = $result->getImageCode();
+        //写入缓存 用于其他方法验证 并且设置过期时间
+        $redis->set('code'.$ip,$img_code,60000);
+        return $result?Result::success($img_code):Result::error('失败');
+    }
 }

+ 1 - 1
config/api/public.php

@@ -6,7 +6,7 @@ use App\Middleware\Auth\FooMiddleware;
 use Hyperf\HttpServer\Router\Router;
 
 Router::addRoute(['GET', 'POST'], '/verifyCode', 'App\Controller\IndexController@verifyCode');
-
+Router::addRoute(['GET', 'POST'], '/getverifyCode', 'App\Controller\IndexController@getverifyCode');
 Router::addGroup(
     '/public', function () {
         Router::get('/getDistrictList', [PublicController::class, 'getDistrictList']);