Example #1
0
 /**
  * 承诺用户所期望的点歌要求
  *
  * @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);
 }