User.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <?php
  2. namespace Heanup\App\Api\Controller\User;
  3. use Heanup\App\Api\Package\Database\Mail;
  4. use Heanup\App\Api\RestfulController;
  5. use Heanup\Frame\Helper;
  6. use Heanup\Library\Vestacp;
  7. use ProfiCloS\VestaCP\ClientException;
  8. use ProfiCloS\VestaCP\ProcessException;
  9. class User extends RestfulController
  10. {
  11. /**
  12. * Get Method|获取数据
  13. * @return void
  14. */
  15. protected function getData()
  16. {
  17. $domains=[
  18. 'heanup.me',
  19. 'a4sky.com',
  20. '08dvd.com'
  21. ];
  22. $domain = $domains[rand(0,count($domains)-1)];
  23. $email = Helper::getStrongCode(6);
  24. $password = md5(uniqid());
  25. $user_key=$_SESSION['user_key'];
  26. $data = compact("domain", "email", "password","user_key");
  27. $data['expired_time'] = date("Y-m-d H:i:s", time() + 7200);
  28. $data['add_time'] = date("Y-m-d H:i:s");
  29. $exist = Mail::getOne(['email' => $email, 'domain' => $domain, 'status' => 1]);
  30. if (!$exist) {
  31. try {
  32. $result = Vestacp::getInstance()->getModuleMail("admin")->addAccount($domain, $email, $password);
  33. if ($result) {
  34. Mail::insert($data);
  35. $this->render();
  36. }
  37. } catch (ClientException $e) {
  38. $this->showError(400, $e->getMessage());
  39. } catch (ProcessException $e) {
  40. $this->showError(400, $e->getMessage());
  41. }
  42. }
  43. $this->showSuccess();
  44. }
  45. /**
  46. * Post Method|新增数据
  47. * @return void
  48. */
  49. protected function postData()
  50. {
  51. // TODO: 需要实现 postData() 方法.
  52. }
  53. /**
  54. * Put Method|更新数据
  55. * @return void
  56. */
  57. protected function putData()
  58. {
  59. // TODO: 需要实现 putData() 方法.
  60. }
  61. /**
  62. * Delete Method|删除数据
  63. * @return void
  64. */
  65. protected function deleteData()
  66. {
  67. // TODO: 需要实现 deleteData() 方法.
  68. }
  69. }