PushController.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. namespace App\Http\Controllers\QuickApp\Push;
  3. use App\Consts\ErrorConst;
  4. use App\Http\Controllers\QuickApp\BaseController;
  5. use App\Libs\ApiResponse;
  6. use App\Libs\Utils;
  7. use App\Modules\Push\Services\PushMessageService;
  8. use Illuminate\Http\Request;
  9. use App\Exceptions\ApiException;
  10. class PushController extends BaseController
  11. {
  12. use ApiResponse;
  13. /**
  14. * @param Request $request
  15. * @return mixed
  16. * @throws ApiException
  17. * @throws \GuzzleHttp\Exception\GuzzleException
  18. */
  19. public function pushToUser(Request $request)
  20. {
  21. $all = $request->all();
  22. $uid = (int)getProp($all, 'uid');
  23. $title = trim(getProp($all, 'title'));
  24. $content = trim(getProp($all, 'content'));
  25. $url = trim(getProp($all, 'url'));
  26. $sign = trim(getProp($all, 'sign'));
  27. if (empty($uid) || empty($title) || empty($content) || empty($url)) {
  28. Utils::throwError(ErrorConst::PARAM_ERROR_CODE);
  29. }
  30. // 签名校验
  31. if ($sign !== 'dqu7nsNZY&A8AEzwNQ*WpbjHMd6bUt@V') {
  32. Utils::throwError(ErrorConst::SIGN_NOT_ACCESS);
  33. }
  34. myLog('pushToUser')->info('1', $all);
  35. // 更新用户reg_id
  36. $result = PushMessageService::pushMessageToUser($uid, $title, $content, $url);
  37. return $this->success($result);
  38. }
  39. /**
  40. * @param Request $request
  41. * @return mixed
  42. */
  43. public function vivoCallback(Request $request)
  44. {
  45. myLog('push-callback')->info('vivo', $request->all());
  46. return response()->success();
  47. }
  48. }