uid); if ($res->isEmpty()) { return response()->success(); } $record = ReadRecordService::getReadRecord($this->uid); foreach ($res as &$v) { $bid = $v['bid']; $last_cid = $v['last_cid']; $last_chapter = ChapterService::getChapterNameByID($last_cid, $bid); $v['last_chapter'] = "最后章节:{$last_chapter['name']}"; foreach ($record as $val) { if ($v['bid'] == $val['bid']) { $v['updated_at'] = $val['time']; $recent_reading_cid = $val['cid']; $v['recent_cid'] = $recent_reading_cid; $recent_reading_chapter = ChapterService::getChapterNameById($recent_reading_cid, $bid); $v['recent_reading_chapter'] = "最近阅读:{$recent_reading_chapter['name']}"; break; } } } return response()->collection(new UserShelfBooksTransformer(), $res); } /** * @apiVersion 1.0.0 * @apiDescription 添加书架 * @api {post} userShelfBooks 添加书架 * @apiParam {String} [token] token * @apiHeader {String} [Authorization] token 两个token任选其一 * @apiGroup UserShelfBooks * @apiName addShelf * @apiParam {int} bid bid * @apiSuccess {int} code 状态码 * @apiSuccess {String} msg 信息 * @apiSuccess {object} data 结果集 * @apiSuccessExample {json} Success-Response: * HTTP/1.1 200 OK * { * code: 0, * msg: "", * data: {} */ public function addShelf(Request $request) { $param = $request->except('_url'); if (checkParam($param, ['bid'])) { return response()->error('LACK_PARAM'); } $res = true; try { $param['uid'] = $this->uid; $param['bid'] = Hashids::decode($param['bid'])[0]; $param['distribution_channel_id'] = $this->distribution_channel_id; $res = UserShelfBooksService::create($param); } catch (\Exception $e) { return response()->error('QAPP_PARAM_ERROR'); } if ($res) { return response()->success($res); } return response()->error('QAPP_SYS_ERROR'); } /** * @apiVersion 1.0.0 * @apiDescription 删除书架 * @api {get} userShelfBooks/delete 删除书架 * @apiParam {String} [token] token * @apiHeader {String} [Authorization] token 两个token任选其一 * @apiGroup UserShelfBooks * @apiName delShelf * @apiParam {int} bid bid * @apiSuccess {int} code 状态码 * @apiSuccess {String} msg 信息 * @apiSuccess {object} data 结果集 * @apiSuccessExample {json} Success-Response: * HTTP/1.1 200 OK * { * code: 0, * msg: "", * data: {} */ public function delShelf(Request $request) { $bid = $request->input('bid'); $decodeBid = Utils::getDecodeId($bid); if (empty($bid) || empty($decodeBid)) { return response()->error('LACK_PARAM'); } $param['uid'] = $this->uid; $param['bid'] = $decodeBid; $res = UserShelfBooksService::del($this->uid, $param['bid']); if ($res) { return response()->success(); } return response()->error('QAPP_SYS_ERROR'); } /** * @apiVersion 1.0.0 * @apiDescription 是否在书架上 * @api {get} userShelfBooks/isonshelf 是否在书架上 * @apiParam {String} [token] token * @apiHeader {String} [Authorization] token 两个token任选其一 * @apiGroup UserShelfBooks * @apiName isOnshelf * @apiParam {int} bid bid * @apiSuccess {int} code 状态码 * @apiSuccess {String} msg 信息 * @apiSuccess {object} data 结果集 * @apiSuccess {Int} data.is_on 是否在书架上(0|1) * @apiSuccessExample {json} Success-Response: * HTTP/1.1 200 OK * { * code: 0, * msg: "", * data: { * is_on:0 * } */ public function isOnshelf(Request $request) { $bid = $request->input('bid'); if (!$bid) return response()->error('LACK_PARAM'); $bid = Hashids::decode($bid)[0]; $res = UserShelfBooksService::getUserShelfBooksListByUidAndBid($this->uid, $bid); if ($res) { $data['is_on'] = 1; } else { $data['is_on'] = 0; } return response()->success($data); } }