XcJob.php 4.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <?php
  2. namespace app\extra\tools;
  3. use yzh52521\EasyHttp\Http;
  4. class XcJob
  5. {
  6. /**
  7. * 默认header
  8. * @var string[]
  9. */
  10. protected array $header = [
  11. "content-type" => "application/json"
  12. ];
  13. public function token(): static
  14. {
  15. $this->header = [
  16. "cookie" => $this->getCookie()
  17. ];
  18. return $this;
  19. }
  20. /**
  21. * 获取达人投稿视频消耗数据
  22. * https://www.xingtu.cn/gw/api/task/provider_get_star_task_item_list
  23. * POST
  24. * {"page":1,"limit":10,"query":{"provider_confirmed":false,"task_search_key":"7628487095040311348","qc_metrics_time_range_param":{"start_time":"1762963200000","end_time":"1778687999000"}}}
  25. * @return array
  26. */
  27. public function getAuthorVideo(string $jobId = "",int $page = 1,int $size = 10): array
  28. {
  29. $param = [
  30. "page" => $page,
  31. "limit" => $size,
  32. "query" => [
  33. "provider_confirmed" => false,
  34. "task_search_key" => $jobId,
  35. "qc_metrics_time_range_param" => [
  36. "start_time" => strtotime(date("Y-m-d 00:00:00",strtotime("-180 day"))) * 1000,
  37. "end_time" => strtotime(date("Y-m-d 23:59:59")) * 1000,
  38. ]
  39. ]
  40. ];
  41. $resp = Http::withHeaders($this->header)->post("https://www.xingtu.cn/gw/api/task/provider_get_star_task_item_list",$param)->array();
  42. if ($resp['base_resp']['status_code'] <> 0) return [0,'获取数据失败'];
  43. return [1,['total' => $resp['pagination']['total_count'],'has_more' => $resp['pagination']['has_more'],'list' => $resp['item_list']]];
  44. }
  45. /**
  46. * 生成邀约达人参与任务二维码
  47. * @param string $jobId
  48. * @return array
  49. */
  50. public function createJobQrcode(string $jobId = ""): array
  51. {
  52. $param = [
  53. "template_id" => "7550880075256709158",
  54. "placeholder_params" => [
  55. "challenge_id" => $jobId,
  56. "provider_id" => "1829709687645195",
  57. "utm_medium" => "xingtu_provider_star_qc_unite_invite"
  58. ],
  59. "expired_time" => strtotime("+1 year"), // 有效期1年
  60. "event_id" => $jobId,
  61. "share_type" => 4
  62. ];
  63. $resp = Http::withHeaders($this->header)->post("https://www.xingtu.cn/gw/api/fe_common_service/share/info",$param)->array();
  64. if ($resp['base_resp']['status_code'] <> 0) return [0,'生成失败'];
  65. return [1,"https://www.xingtu.cn/share/{$resp['share_id']}?hide_nav_bar=1&hide_status_bar=1&should_full_screen=1&utm_source=share_4&session_track_id={$resp['share_id']}"];
  66. }
  67. /**
  68. * 星川任务详情
  69. * @param string $jobId
  70. * @return array
  71. */
  72. public function getJobDetail(string $jobId = ""): array
  73. {
  74. return Http::withHeaders($this->header)->get("https://www.xingtu.cn/gw/api/task/provider_get_project_detail",['project_id' => $jobId])->array();
  75. }
  76. protected function getCookie(): string
  77. {
  78. return "passport_csrf_token=dc2c5075e29c15785b2433afb8d9dd10; passport_csrf_token_default=dc2c5075e29c15785b2433afb8d9dd10; is_staff_user=false; has_biz_token=false; x-web-secsdk-uid=f676fb7e-81a3-42e2-b9e1-73c0ea919aea; csrf_session_id=5499e75e3f1f76a628c1efa81b7c89b3; tt_webid=7637860647254296090; Hm_lvt_5d77c979053345c4bd8db63329f818ec=1778328034; HMACCOUNT=DE9169EBCCD81810; passport_auth_status=93b289d15b8bb4866b32877a48a3b4b6%2C3a1cc997a270fa7b4f4fb3c3a79939fd; passport_auth_status_ss=93b289d15b8bb4866b32877a48a3b4b6%2C3a1cc997a270fa7b4f4fb3c3a79939fd; uid_tt=b918d45f40210fd4799129be8d1e7ae1; uid_tt_ss=b918d45f40210fd4799129be8d1e7ae1; sid_tt=2cf53e24db19ce7e1d9094d82a7e0a15; sessionid=2cf53e24db19ce7e1d9094d82a7e0a15; sessionid_ss=2cf53e24db19ce7e1d9094d82a7e0a15; Hm_lpvt_5d77c979053345c4bd8db63329f818ec=1778501158; sid_guard=2cf53e24db19ce7e1d9094d82a7e0a15%7C1778501177%7C5184000%7CFri%2C+10-Jul-2026+12%3A06%3A17+GMT; session_tlb_tag=sttt%7C14%7CLPU-JNsZzn4dkJTYKn4KFf_________UDv5aLsuhDiFj6DTslfpmqljmlqIjrEWo6QWJ6REal5U%3D; sid_ucp_v1=1.0.0-KDMyOTUxMzAzNDFkZjFjMzBmYzYyNWJjNGU3YTFiYTcwODYyOGJjZjAKFwiUv5Cvv8yyBxC5jIfQBhj6EzgCQPEHGgJscSIgMmNmNTNlMjRkYjE5Y2U3ZTFkOTA5NGQ4MmE3ZTBhMTU; ssid_ucp_v1=1.0.0-KDMyOTUxMzAzNDFkZjFjMzBmYzYyNWJjNGU3YTFiYTcwODYyOGJjZjAKFwiUv5Cvv8yyBxC5jIfQBhj6EzgCQPEHGgJscSIgMmNmNTNlMjRkYjE5Y2U3ZTFkOTA5NGQ4MmE3ZTBhMTU; star_sessionid=485fed1891a1b504a23ee3ce76ccd568";
  79. }
  80. }