/** * 绑定设备,用户尚未绑定用户 * @return \Illuminate\Http\JsonResponse */ public function bind() { $token = Input::get('token'); $data = Input::all(); /** * @var Token $token */ $token = Token::whereValue($token)->valid()->first(); if (!$token) { return Response::error(Lang::get("errors.expired_token"), 403); } $device = Device::whereUniqueId(Input::get('unique_id'))->with('user')->whereUserId($token->owner)->first(); if ($device) { $device->fill($data); } else { $validator = Validator::make($data, Device::create_rules($token->owner), Device::messages()); if ($validator->fails()) { return Response::errors($validator->errors(), 400); } $device = new Device($data); $device->token = Token::generateValue(); $device->user_id = $token->owner; } $device->save(); return Response::json(['device' => $device, 'user' => $device->user, 'token' => $device->token]); }