ValidationUser.php 820 B

123456789101112131415161718192021222324252627282930313233
  1. <?php
  2. namespace App\Module\AppGame\Validations;
  3. use App\Module\AppGame\SessionApp;
  4. use UCore\ValidationCore;
  5. /**
  6. * Validation验证基类
  7. */
  8. abstract class ValidationUser extends ValidationCore
  9. {
  10. /** @var \App\Module\User\Models\User|null 用户对象 */
  11. public ?\App\Module\User\Models\User $user = null;
  12. /**
  13. * 使用Protobuf-Message创建验证器,并注入user_id
  14. *
  15. * @param \Google\Protobuf\Internal\Message $message
  16. * @param $scene
  17. * @return static
  18. */
  19. public static function makeByProrobufUser(\Google\Protobuf\Internal\Message $message, $scene = ''): static
  20. {
  21. $data = json_decode($message->serializeToJsonString(), true);
  22. $data['user_id'] = SessionApp::getSessionId();
  23. return new static($data, [], [], $scene);
  24. }
  25. }