You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

39 lines
925 B

  1. <?php
  2. namespace App\Controller;
  3. use App\Service\ParamsTokenServiceInterface;
  4. use Hyperf\Di\Annotation\Inject;
  5. /**
  6. * 参数token控制器
  7. * Class ParamsTokenController
  8. * @package App\Controller
  9. */
  10. class ParamsTokenController extends BaseController
  11. {
  12. /**
  13. * @Inject
  14. * @var ParamsTokenServiceInterface
  15. */
  16. protected $paramsTokenService;
  17. /**
  18. * 生成token存储对应参数数据
  19. * @return \Psr\Http\Message\ResponseInterface
  20. */
  21. public function generate()
  22. {
  23. $token = $this->paramsTokenService->generate($this->request->all());
  24. return $this->success(['token' => $token]);
  25. }
  26. /**
  27. * 解析token获取对应参数数据
  28. * @return \Psr\Http\Message\ResponseInterface
  29. */
  30. public function analyze()
  31. {
  32. $params = $this->paramsTokenService->analyze($this->request->input('token'));
  33. return $this->success($params);
  34. }
  35. }