/** * 承诺用户所期望的点歌要求 * * @param $request * @param $wish * * @return string * @internal param $ \Illuminate\Http\Request $request* \Illuminate\Http\Request $request * @internal param $ array* $wish */ private function promiseUserWish($request, $wish) { // 根据referer拿到当前歌曲的ID, 匹配的数字放入到数组下标为1的项 preg_match('/\\/(\\d+)$/', $request->header('Referer'), $song); if (empty($song)) { /** 此处接收的是JSON格式 */ $msg = \Illuminate\Support\Arr::only($request->json()->all(), ['receiver', 'message']); /* 保存新的点歌信息 */ $song = \App\Song::storeNewSong($request->json('songName'), $request->json('singerName')); } else { if (is_numeric($song[1])) { /** 此处接收的是FORM-DATA */ $msg = $request->only(['receiver', 'message']); $song = intval($song[1]); } else { /* 既不为空,也找不到对应歌曲ID就直接报错 */ abort(405); } } return $this->writeUserWish($wish, $song, $msg); }