PushController.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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. // 更新用户reg_id
  35. $result = PushMessageService::pushMessageToUser($uid, $title, $content, $url);
  36. return $this->success($result);
  37. }
  38. /**
  39. * @param Request $request
  40. * @return mixed
  41. */
  42. public function vivoCallback(Request $request)
  43. {
  44. myLog('push-callback')->info('vivo', $request->all());
  45. return response()->success();
  46. }
  47. }