体验地址
安卓端:http://82.157.168.147:7000/bilibili/phone/app.html
web端:http://82.157.168.147/
安卓端

web端
TODO(查看常大佬)
后台
-
使用MyBatis自定义对象工厂支持注解默认值处理
为了面对后面特殊的默认值需求(收藏默认封面),编写MyBatis插件
监听对象封装属性完毕事件,通过泛型分发给支持处理的处理器 -
封装爬虫API使用接口方法映射请求,注解标识信息,
支持对json,xml自动封装为对象,支持路径.[]表达式,
支持方法参数填充到路径,类型转换器,对请求方法定制,
封装为SpringBootStart,支持使用GUI工具根据请求选择字段
自动生成对应实体类及其对应注解,主要用于爬取直播信息
项目直播信息太少,或爬取B站视频作为初始资源 -
使用数据库注释对实体类,Service,Controller,Mapper
等文件自动生成,支持实体类字段与对象存储绑定,增加,修改,删除
同时修改对象存储 -
为了解决新版谷歌浏览器无法使用session问题,自定义BSession
用于存储会话信息,前端,安卓端使用拦截器使支持自定义session -
使用Spring事件机制进行解耦,通过方法调用栈定向监听指定方法调用
实现历史记录,稍后再看是否已看,每日奖励等 -
通过Redis作为缓存优化部分频繁变化的字段(例如播放数),监听对象
属性封装完毕事件把Redis中的缓存加上,监听对象更新事件
(对与热字段的更新会写入Redis不会更新到数据库)清除Redis对应缓存
每天也会通过定时任务把Redis缓存写入数据库 -
点赞,关注等优化处理,使用Redis set存储不会立即修改数据库,方便
查询是否关注,点赞等,每分钟把数据同步到数据库(支持查询最近点赞
,投币视频) -
扫码登录,短信登录,密码登录多种登录渠道,自定义滑动验证码组件
-
使用websocket实现多端实时弹幕,观看人数
-
自定义方法参数类型解析器
码云开源地址
安卓端:https://gitee.com/shaokang123/bilibili-android
Java后端:https://gitee.com/shaokang123/bilibili-web
web前端:不是我开发的请找https://blog.csdn.net/weixin_43974265?spm=1001.2014.3001.5509
TODO
因为开发时间较短,还有部分功能没有实现,会再后面全部实现
