ApiController.php 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Http\Models\SiteTempReport;
  4. use App\Http\Models\User;
  5. use DirkGroenen\Pinterest\Pinterest;
  6. use Illuminate\Http\Request;
  7. use Illuminate\Support\Facades\Log;
  8. use Ramsey\Uuid\Uuid;
  9. class ApiController extends Controller
  10. {
  11. public function table(Request $request)
  12. {
  13. // header("Access-Control-Allow-Origin: *"); // 允许a.com发起的跨域请求
  14. // header("Access-Control-Allow-Origin: *"); // 允许任意域名发起的跨域请求
  15. // header('Access-Control-Allow-Headers: X-Requested-With,X_Requested_With');
  16. $records = User::query()->paginate($request->input('results'));
  17. $items = $records->items();
  18. array_walk($items, function ($item) {
  19. $item->login = (object)[
  20. 'uuid' => Uuid::uuid1()
  21. ];
  22. $item->name = (object)[
  23. 'title' => mt_rand(10, 99) . 'title',
  24. 'first' => mt_rand(10, 99) . 'first',
  25. 'last' => mt_rand(10, 99) . 'first'
  26. ];
  27. });
  28. return response()->json(['total' => $records->total(), 'rows' => $records->items()]);
  29. }
  30. public function reportTemp(Request $request)
  31. {
  32. $inputs = $request->input();
  33. if (!$inputs['old_id'] || $inputs['ym']
  34. || $inputs['month_traffic'] || $inputs['month_inquiry']
  35. || $inputs['month_rank'] || $inputs['month_article']) {
  36. Log::warning(sprintf('reportTemp接口参数请求错误%s', var_export($inputs, 1)));
  37. return;
  38. }
  39. SiteTempReport::query()->updateOrCreate([
  40. 'old_id' => $inputs['old_id'],
  41. 'ym' => $inputs['ym']
  42. ], [
  43. 'month_traffic' => $inputs['month_traffic'],
  44. 'month_inquiry' => $inputs['month_inquiry'],
  45. 'month_rank' => $inputs['month_rank'],
  46. 'month_article' => $inputs['month_article']
  47. ]);
  48. }
  49. public function getPinBoards(Request $request)
  50. {
  51. $inputs = $request->input();
  52. if (empty($inputs['token'])) {
  53. return response()->json([
  54. 'status' => 400,
  55. 'message' => '缺少参数'
  56. ]);
  57. }
  58. $pin = new Pinterest($inputs['app_id'], $inputs['app_secret']);
  59. $pin->auth->setOAuthToken($inputs['token']);
  60. $result = $pin->users->getMeBoards();
  61. return response()->json([
  62. 'status' => 200,
  63. 'boards' => $result
  64. ]);
  65. }
  66. }