react 仿追书神器-支持小说搜索、阅读、换源等主要功能 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ShanaMaid
V2EX    React

react 仿追书神器-支持小说搜索、阅读、换源等主要功能

  •  
  •   ShanaMaid
    ShanaMaid 2017-04-11 12:18:58 +08:00 6821 次点击
    这是一个创建于 3117 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前言

    都知道追书神器从某个版本开始就不支持换源了,开始实行收费制度,虽然老版追书神器依然可以使用,但是指不定那天就挂掉了。再加上最近想熟悉一下react,所以本项目哦豁阅读器就诞生了。

    Github 项目地址:https://github.com/ShanaMaid/oho-reader

    欢迎issueprstar or follow!我将继续开源更多有趣的项目

    推荐一个之前用 Vue 全家桶写的 网易云音乐 PC 端 web 版本

    项目的博客地址

    哦豁阅读器(oho-reader)介绍

    哦豁阅读器! API 源自追书神器,免费使用!

    实现追书神器核心功能,做到小说阅读的极简体验,把每一分流量都用到刀刃上!

    在线版:http://www.shanamaid.top:3001 服务器带宽较小,初次加载比较慢,请谅解!建议clone到本地进行体验!

    Github 项目地址:https://github.com/ShanaMaid/oho-reader

    Oho 阅读器的优势

    | | oho 阅读器 | 追书神器 |

    |--------|-----------|-------------------|

    |收费 | 免费 |部分章节免费,其余收费 |

    |广告 |绿色无广告 | 定时刷广告 |

    |体积 | 4MB | 16.2MB |

    |章节大小 | 每章 5kb 左右| 掺杂广告,大于 5kb |

    oho 阅读器初次打开时候加载比较慢,一部分原因是服务器带宽较小,另一部分是因为初次需要下载700kb左右的文件,建议初次下载在 wifi 下进行。初次下载后 oho 阅读器会自动进行缓存,以后每次打开页面基本是秒开,消耗流量约在1KB不到。

    同时 oho 器抛弃所有与小说阅读无关的信息,真正做到极简!保证每一分流量都用到小说内容的阅读上,真正做到每章内容加载所用的流量集中在小说章节内容上,视章节字数而定,一般在5kb左右。

    oho 阅读器目前由于服务器配置、带宽过小原因暂不支持章节内容缓存。

    效果 Gif 图

    点这里

    实现功能

    • 小说搜索
    • 小说详情
    • 小说换源
    • 小说阅读
    • 阅读字体大小变化
    • 阅读背景色变化
    • 阅读设置本地缓存
    • 阅读进度本地缓存
    • 搜索历史本地缓存

    使用

    git clone https://github.com/ShanaMaid/oho-reader.git cd oho-reader npm install # 开发环境 npm run serve 访问 http://localhost:8080/ # 打包 npm run dist # 实际环境 cd server node app.js 访问 http://localhost:3001/ 

    目录结构

    | | api 追书神器 API 说明 | cfg webpack 配置 | dist 服务端 | | app.js 服务端启动入口文件 | | assets 打包后的资源文件 | | static 静态资源 | |__ index.html 网页入口 | | src 资源文件 | | images 图片资源 | | components 组件库 | | method 一些自定义方法,目前是过滤器 | | filters 自定义过滤器 | | redux | | | action | | | reducer | | |__ store | | router 路由管理 | | styles 样式文件 | |__ index.jsx 入口 |_________________________________________________ 

    一些注意事项

    项目中使用追书神器的接口,需要使用http-proxy-middleware进行转发,开发环境下需要在cfg/base.js中的dev中添加下列配置即可

    proxy: { '/api': { target: 'http://api.zhuishushenqi.com/', pathRewrite: {'^/api' : '/'}, changeOrigin: true }, '/chapter': { target: 'http://chapter2.zhuishushenqi.com/', pathRewrite: {'^/chapter' : '/chapter'}, changeOrigin: true } } 

    实际环境中,服务器端配置

    var express = require('express'); var proxy = require('http-proxy-middleware'); var app = express(); app.use('/static', express.static('static')); app.use('/assets', express.static('assets')); app.use('/api', proxy({ target: 'http://api.zhuishushenqi.com/', pathRewrite: {'^/api' : '/'}, changeOrigin: true } )); app.use('/chapter', proxy({ target: 'http://chapter2.zhuishushenqi.com/', pathRewrite: {'^/chapter' : '/chapter'}, changeOrigin: true } )); app.get('/*', function (req, res) { res.sendFile(__dirname + '/index.html'); }); app.listen(3001); 

    支持

    BUG 提交请发送邮箱: [email protected]

    Github 项目地址:https://github.com/ShanaMaid/oho-reader

    欢迎issueprstar or follow!我将继续开源更多有趣的项目

    你的支持将有助于项目维护以及提高用户体验,感谢各位的支持!

    后续计划

    过段时间计划把oho-reader迁移到react-native,具体时间可能要看什么时候有空了。

    总结

    最近粗略使用了一下vuereact,大致感觉就是前者是在html里面写js,后者是在js里面写html,就目前来看两者现在基本上是势均力敌、各有千秋,未来的具体走向如何谁都说不准,当然这是我的个人见解。如果你有什么好的建议或者说值得探讨的话题,可以在下方留言。

    9 条回复    2017-05-25 20:16:43 +08:00
    pepsihumen
        1
    pepsihumen  
       2017-04-11 13:23:48 +08:00 via Android
    请问下怎么学习 react?特别是 redux 和 route ,谢谢
    kingwrcy
        2
    kingwrcy  
       2017-04-11 13:24:57 +08:00
    safari 里打开小说好像不能很好的分段落,目前是一屏幕密密麻麻的文字.
    yangg
        3
    yangg  
       2017-04-11 13:57:45 +08:00
    @pepsihumen redux 就是一个全局的对象,你要用什么数据就自己指定,然后它还会将数据的更改推送过来
    具体可以多试试 https://github.com/reactjs/redux/tree/master/examples ,一步步的来
    ShanaMaid
        4
    ShanaMaid  
    OP
       2017-04-11 14:33:08 +08:00
    @pepsihumen 我是直接看的官方文档,这是最直接的,现在 redux 文档已经有中文的了, route 的话我是直接看的 4.0 的英文文档。
    ufo22940268
        5
    ufo22940268  
       2017-04-11 14:35:28 +08:00
    追书神器前工程师在此
    ShanaMaid
        6
    ShanaMaid  
    OP
       2017-04-11 14:46:51 +08:00
    @ufo22940268 ┗(TT)┛[举手投降]
    ShanaMaid
        7
    ShanaMaid  
    OP
       2017-04-11 14:47:13 +08:00
    @kingwrcy 所有小说都是这样吗?
    xifengzhu
        8
    xifengzhu  
       2017-04-11 15:12:55 +08:00
    赞一个
    kookpua
        9
    kookpua  
       2017-05-25 20:16:43 +08:00 via iPhone
    有 app 下载嘛
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2801 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 20ms UTC 13:24 PVG 21:24 LAX 06:24 JFK 09:24
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86