user_info; $res = ReadRecordService::getReadRecord($this->uid); if ($res) { $id_arr = []; foreach ($res as $key => $value) { $id_arr[] = $value['bid']; } $book = BookConfigService::getBooksByIds($id_arr, [], false);//下架图书最近阅读可看到 foreach ($res as $key => &$value) { $value['cover'] = ''; $value['last_chapter'] = 0; $value['intro'] = ''; $value['status'] = ''; $value['size'] = 0; $value['author'] = ''; foreach ($book as $val) { if ($value['bid'] == $val->bid) { $value['book_name'] = $val->book_name; $value['cover'] = $val->cover; $value['last_chapter'] = $val->last_chapter; $value['intro'] = $val->intro; $value['status'] = $val->status; $value['size'] = $val->size; $value['author'] = $val->author; break; } } } } usort($res, function ($a, $b) { if ($a['time'] >= $b['time']) return -1; return 1; }); return response()->collection(new ReadRecordTransformer(), array_to_object($res)); } /** * @apiVersion 1.0.0 * @apiDescription 添加阅读记录 * @api {post} readrecord 添加阅读记录 * @apiGroup ReadRecord * @apiName addReadRecord * @apiHeader {String} [Authorization] token * @apiParam {Int} book_name 书名 * @apiParam {String} chapter_name 章节名 * @apiParam {Int} bid bid * @apiParam {Int} cid 章节id * @apiSuccess {int} code 状态码 * @apiSuccess {String} msg 信息 * @apiSuccess {object} data 结果集 * @apiSuccessExample {json} Success-Response: * HTTP/1.1 200 OK * { * code: 0, * msg: "", * data:{} * */ public function addReadRecord(Request $request) { $param = $request->except('_url'); if (checkParam($param, ['bid', 'cid', 'chapter_name'])) { return response()->error('LACK_PARAM'); } $param['uid'] = $this->uid; $param['bid'] = BookService::decodeBidStatic($param['bid']); Redis::hget('book_read:' . $this->uid, $param['bid']); $param['book_name'] = ''; ReadRecordService::addReadRecord($param); return response()->success(); } /** * @apiVersion 1.0.0 * @apiDescription 删除阅读记录 * @api {get} readrecord/delete 删除阅读记录 * @apiGroup ReadRecord * @apiHeader {String} [Authorization] token * @apiName delReadRecord * @apiParam {String} 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 delReadRecord(Request $request) { $param = $request->except('_url'); if (checkParam($param, ['bid'])) { return response()->error('LACK_PARAM'); } $bids = explode(',', $param['bid']); array_walk($bids, function (&$item) { $item = BookService::decodeBidStatic($item); }); ReadRecordService::delReadRecordStatic($this->uid, $bids); return response()->success(); } }