factory->getCacheInstance(); $wordImage = $this->factory->makeWordImage(); //执行创建 $wordImage->run(); $data = [ 'originalImageBase64' => $wordImage->response(), 'secretKey' => RandomUtils::getRandomCode(16, 3), 'token' => RandomUtils::getUUID(), 'wordList' => $wordImage->getWordList() ]; //缓存 $cacheEntity->set($data['token'], [ 'secretKey' => $data['secretKey'], 'point' => $wordImage->getPoint() ],7200); return $data; } /** * 验证 * @param $token * @param $pointJson * @param null $callback */ public function validate($token, $pointJson, $callback = null) { //获取并设置 $this->originData $this->setOriginData($token); //数据实例 $wordData = $this->factory->makeWordData(); //解码出来的前端坐标 $pointJson = $this->encodePoint($this->originData['secretKey'], $pointJson); $targetPointList = $wordData->array2Point($pointJson); //检查 $wordData->check($this->originData['point'], $targetPointList); if ($callback instanceof \Closure) { $callback(); } } }