SmmAddAccount.php 2.0 KB

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