SmmAddAccount.php 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <?php
  2. namespace App\Distributor\Actions;
  3. use App\Distributor\Forms\ImportProduct;
  4. use App\Distributor\Repositories\SmmUserAccount;
  5. use App\Services\SmmService;
  6. use Dcat\Admin\Grid\RowAction;
  7. use Dcat\Admin\Grid\Tools\AbstractTool;
  8. use Dcat\Admin\Widgets\Modal;
  9. use App\Distributor\Forms\SmmAddAccount as SmmAddAccountForm;
  10. use Illuminate\Http\Request;
  11. class SmmAddAccount extends RowAction
  12. {
  13. protected $title = null;
  14. //媒体名称
  15. protected $mediaName = null;
  16. /**
  17. * 返回字段标题
  18. *
  19. * @return string
  20. */
  21. public function title()
  22. {
  23. if ($this->title) {
  24. return $this->title;
  25. }
  26. return admin_trans_label('add_platform_account');
  27. }
  28. public function setData($title,$mediaName)
  29. {
  30. $this->title = $title;
  31. $this->mediaName = $mediaName;
  32. }
  33. // public function confirm()
  34. // {
  35. // $click_privacy = "<a href='/privacy_policy.html' target='_blank'>".admin_trans_label('click_privacy')."</a>";
  36. // return [
  37. // // 确认弹窗 title
  38. // admin_trans_label('read_privacy'),
  39. // // 确认弹窗 content
  40. // $click_privacy
  41. // ];
  42. // }
  43. /**
  44. * 处理请求
  45. *
  46. */
  47. public function handle(Request $request)
  48. {
  49. // 获取 parameters 方法传递的参数
  50. $name = $request->get('name');
  51. if ($name) {
  52. //转小写
  53. $row = SmmUserAccount::getAccountByName($name);
  54. $url = $row->login_url;
  55. return $this->response()->script(
  56. "window.open('{$url}', '_blank')"
  57. );
  58. //跳转到媒体受权页面
  59. /*
  60. $ssmService = new SmmService($name);
  61. $result = $ssmService->login();
  62. if ($result['status']) {
  63. // 返回 JS 代码触发新窗口打开
  64. $url = $result['data']['url'];
  65. return $this->response()->script(
  66. "window.open('{$url}', '_blank')"
  67. );
  68. }
  69. return $this
  70. ->response()
  71. ->error('获取授权失败,请检查媒体名称是否正确!');
  72. */
  73. } else {
  74. return $this
  75. ->response()
  76. ->error('媒体名称不能为空');
  77. }
  78. }
  79. public function parameters()
  80. {
  81. if ($this->mediaName) {
  82. return [
  83. 'name' => $this->mediaName,
  84. ];
  85. } else {
  86. return [
  87. // 发送当前行 username 字段数据到接口
  88. 'name' => $this->row->name,
  89. ];
  90. }
  91. }
  92. }