User.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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. '97admin.com',
  19. 'ss5.xyz',
  20. '08dvd.com',
  21. 'yunboplay.com',
  22. 'meitu.live',
  23. 'a4sky.com',
  24. 'meitu.link',
  25. 'shadowsocks5.com',
  26. 'phplife.net',
  27. 'tailsocks.com',
  28. ];
  29. $domain = $domains[rand(0,count($domains)-1)];
  30. $email = Helper::getStrongCode(6);
  31. $password = md5(uniqid());
  32. $user_key=$this->getRequest()->string("a",$_SESSION['user_key']);
  33. $data = compact("domain", "email", "password","user_key");
  34. $data['expired_time'] = date("Y-m-d H:i:s", time() + 7200);
  35. $data['add_time'] = date("Y-m-d H:i:s");
  36. $exist = Mail::getOne(['email' => $email, 'domain' => $domain, 'status' => 1]);
  37. if (!$exist) {
  38. try {
  39. $result = Vestacp::getInstance()->getModuleMail("admin")->addAccount($domain, $email, $password);
  40. if ($result) {
  41. Mail::insert($data);
  42. $this->render();
  43. }
  44. } catch (ClientException $e) {
  45. $this->showError(400, $e->getMessage());
  46. } catch (ProcessException $e) {
  47. $this->showError(400, $e->getMessage());
  48. }
  49. }
  50. $this->showSuccess();
  51. }
  52. /**
  53. * Post Method|新增数据
  54. * @return void
  55. */
  56. protected function postData()
  57. {
  58. // TODO: 需要实现 postData() 方法.
  59. }
  60. /**
  61. * Put Method|更新数据
  62. * @return void
  63. */
  64. protected function putData()
  65. {
  66. // TODO: 需要实现 putData() 方法.
  67. }
  68. /**
  69. * Delete Method|删除数据
  70. * @return void
  71. */
  72. protected function deleteData()
  73. {
  74. // TODO: 需要实现 deleteData() 方法.
  75. }
  76. }