摘要:使用開(kāi)發(fā)小說(shuō)接口服務(wù)三線上訪問(wèn)地址之前發(fā)現(xiàn)追書(shū)神器詳情頁(yè)竟然沒(méi)有下一章和上一章的返回值,只能自己動(dòng)手封裝一下。
使用Express開(kāi)發(fā)小說(shuō)API接口服務(wù)1.0(三)
線上訪問(wèn)地址https://api.langpz.com/
之前發(fā)現(xiàn)追書(shū)神器API詳情頁(yè)竟然沒(méi)有下一章和上一章的返回值,只能自己動(dòng)手封裝一下。
app.js 增加錯(cuò)誤處理// catch 404 and forward to error handler app.use(function (req, res, next) { const err = new Error("Not Found"); err.status = 404; next(err); }); // error handler app.use(function (err, req, res, next) { // set locals, only providing error in development res.locals.message = err.message; res.locals.error = req.app.get("env") === "development" ? err : {}; // render the error page res.status(err.status || 500); res.render("error"); });
這些代碼放到module.exports = app; 上面就可以了。
列表頁(yè)增加返回ID找到routes/chapter.js 29行替換
res.send(JSON.stringify({ "flag": 1,"id": body._id, "chapters": body.chapters, "msg": "OK" }));詳情頁(yè)增加上一章和下一章的返回值
let express = require("express"); let request = require("request"); let common = require("../common/common.json"); // 引用公共文件 let router = express.Router(); /** 獲取小說(shuō)文章內(nèi)容 返回小說(shuō)文章內(nèi)容 param link {String} 是小說(shuō)文章列表接口 chapters[0].link http://chapter2.zhuishushenqi.com/chapter/${link} */ router.get("/", function (req, res, next) { if (!req.query.link) { res.send(JSON.stringify({ "flag": 0, "msg": "請(qǐng)傳入link..." })); } // req.query.link 編碼轉(zhuǎn)義 let link = encodeURIComponent(req.query.link); request.get(`${common.CHAPTER}/chapter/${link}`, function (err, response, body) { if (err) { res.send(JSON.stringify({ "flag": 0, "msg": "請(qǐng)求出錯(cuò)了..." })); } // 解析返回的數(shù)據(jù) body = JSON.parse(body); if (body.ok){ // 再次請(qǐng)求列表頁(yè)獲取上一頁(yè)和下一頁(yè) if(req.query.id){ // req.query.id 編碼轉(zhuǎn)義 let id = encodeURIComponent(req.query.id); let n = parseInt(req.query.n); if (isNaN(n)){ n = 0; } request.get(`${common.API}/atoc/${id}?view=chapters`, function (err, response, body2) { if (err) { res.send(JSON.stringify({ "flag": 0, "msg": "請(qǐng)求出錯(cuò)了..." })); } if (body2 == "wrong param"){ res.send(JSON.stringify({ "flag": 0, "msg": "傳入錯(cuò)誤的ID..." })); }else{ // 解析返回的數(shù)據(jù) body2 = JSON.parse(body2); // 檢查頁(yè)碼是否超過(guò)小說(shuō)的章節(jié)數(shù) if(n > body2.chapters.length - 1){ res.send(JSON.stringify({ "flag": 0, "msg": "傳入的頁(yè)碼過(guò)大" })); }else{ // 如果有上一頁(yè)或者下一頁(yè)就返回link否則返回false let prev,next; body2.chapters[n - 1] ? prev = body2.chapters[n - 1].link : prev = false; body2.chapters[n + 1] ? next = body2.chapters[n + 1].link : next = false; if (body2.chapters.length > 0) { res.send(JSON.stringify({ "flag": 1,"id": id, "chapter": body.chapter, "prev": prev,"next": next, "msg": "OK" })); } } } }); }else{ res.send(JSON.stringify({ "flag": 1, "chapter": body.chapter, "msg": "OK" })); } }else{ res.send(JSON.stringify({ "flag": 0, "msg": "傳入link有錯(cuò)誤" })); } }); }); module.exports = router;
訪問(wèn)http://localhost:3000/article?link=http://www.69shu.com/txt/1463...
新增n和id參數(shù)。
n 代表是第幾頁(yè)。
id 是書(shū)籍ID。
https://github.com/lanpangzhi/novel-api
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/103420.html
摘要:使用開(kāi)發(fā)小說(shuō)接口服務(wù)二線上訪問(wèn)地址之前完成了首頁(yè)和搜索的接口,現(xiàn)在就開(kāi)始寫(xiě)剩下的接口。獲取小說(shuō)源因?yàn)樽窌?shū)神器正版源是收費(fèi)加密的,所以只能使用盜版源,所以要封裝一個(gè)獲取小說(shuō)源的接口。小說(shuō)源接口返回的。版本的開(kāi)發(fā)就告于段落了。 使用Express開(kāi)發(fā)小說(shuō)API接口服務(wù)1.0(二) 線上訪問(wèn)地址https://api.langpz.com/ 之前完成了首頁(yè)和搜索的接口,現(xiàn)在就開(kāi)始寫(xiě)剩下的接口...
摘要:使用開(kāi)發(fā)小說(shuō)接口服務(wù)一版本技術(shù)棧使用。接口用追書(shū)神器。目前接口設(shè)計(jì)有首頁(yè),小說(shuō)詳情頁(yè),搜索,小說(shuō)文章列表頁(yè),排行。搜索接口版本的搜索接口只取前條數(shù)據(jù),可以模糊查詢(xún)。取前條,并添加圖片鏈接請(qǐng)求出錯(cuò)了請(qǐng)傳入?yún)?shù)訪問(wèn)遮天就可以看到返回的數(shù)據(jù)了。 使用Express開(kāi)發(fā)小說(shuō)API接口服務(wù)1.0(一) 1.0版本技術(shù)棧使用express-generator、express、request、mor...
摘要:一點(diǎn)閱讀器源自追書(shū)神器,免費(fèi)使用目前已初步開(kāi)發(fā)完成項(xiàng)目地址歡迎,,推薦一個(gè)之前用文章類(lèi)閱讀寫(xiě)的一點(diǎn)閱讀微信小程序一點(diǎn)文章已上線,可以再微信搜索一點(diǎn)文章體驗(yàn)在線體驗(yàn)地址點(diǎn)擊這里體驗(yàn)服務(wù)器太,渲染慢部分效果截圖一點(diǎn)閱讀器優(yōu)勢(shì)一點(diǎn)閱讀器追書(shū)神 vue-reader 一點(diǎn)閱讀器!API源自追書(shū)神器,免費(fèi)使用!目前已初步開(kāi)發(fā)完成! Github項(xiàng)目地址:https://github.com/An...
摘要:一點(diǎn)閱讀器源自追書(shū)神器,免費(fèi)使用目前已初步開(kāi)發(fā)完成項(xiàng)目地址歡迎,,推薦一個(gè)之前用文章類(lèi)閱讀寫(xiě)的一點(diǎn)閱讀微信小程序一點(diǎn)文章已上線,可以再微信搜索一點(diǎn)文章體驗(yàn)在線體驗(yàn)地址點(diǎn)擊這里體驗(yàn)服務(wù)器太,渲染慢部分效果截圖一點(diǎn)閱讀器優(yōu)勢(shì)一點(diǎn)閱讀器追書(shū)神 vue-reader 一點(diǎn)閱讀器!API源自追書(shū)神器,免費(fèi)使用!目前已初步開(kāi)發(fā)完成! Github項(xiàng)目地址:https://github.com/An...
摘要:一點(diǎn)閱讀器源自追書(shū)神器,免費(fèi)使用目前已初步開(kāi)發(fā)完成項(xiàng)目地址歡迎,,推薦一個(gè)之前用文章類(lèi)閱讀寫(xiě)的一點(diǎn)閱讀微信小程序一點(diǎn)文章已上線,可以再微信搜索一點(diǎn)文章體驗(yàn)在線體驗(yàn)地址點(diǎn)擊這里體驗(yàn)服務(wù)器太,渲染慢部分效果截圖一點(diǎn)閱讀器優(yōu)勢(shì)一點(diǎn)閱讀器追書(shū)神 vue-reader 一點(diǎn)閱讀器!API源自追書(shū)神器,免費(fèi)使用!目前已初步開(kāi)發(fā)完成! Github項(xiàng)目地址:https://github.com/An...
閱讀 967·2021-11-24 09:39
閱讀 3396·2021-10-27 14:20
閱讀 2326·2019-08-30 14:08
閱讀 3368·2019-08-29 16:34
閱讀 2182·2019-08-26 12:14
閱讀 2110·2019-08-26 11:54
閱讀 2779·2019-08-26 11:44
閱讀 2480·2019-08-26 11:38