仿B站web,APP,后台

体验地址

web端:http://82.157.168.147/
安卓端:http://82.157.168.147:7000/bilibili/phone/app.html
测试账号:17627286393 密码:123456
仅测试使用,推荐使用自己的手机号,否则部分功能部分使用,请不要用该账户搞破坏,一经查实永久封ip

web端

详情地址:https://blog.csdn.net/weixin_43974265/article/details/122156697

安卓端

后台

使用MyBatis自定义对象工厂支持注解默认值处理为了面对后面特殊的默认值需求(收藏默认封面),编写MyBatis插件监听对象封装属性完毕事件,通过泛型分发给支持处理的处理器

封装爬虫API使用接口方法映射请求,注解标识信息,支持对json,xml自动封装为对象,支持路径.[]表达式,支持方法参数填充到路径,类型转换器,对请求方法定制,封装为SpringBootStart,支持使用GUI工具根据请求选择字段自动生成对应实体类及其对应注解,主要用于爬取直播信息项目直播信息太少,或爬取B站视频作为初始资源

使用数据库注释对实体类,Service,Controller,Mapper等文件自动生成,支持实体类字段与对象存储绑定,增加,修改,删除同时修改对象存储(实际Java注解也只是标注信息,使用动态代理返回信息包装类)

为了解决新版谷歌浏览器无法使用session问题,自定义BSession用于存储会话信息,前端,安卓端使用拦截器使支持自定义session
使用Spring事件机制进行解耦,通过方法调用栈定向监听指定方法调用实现历史记录,稍后再看是否已看,每日奖励等(可以使用消息中间键进行替换)

通过Redis作为缓存优化部分频繁变化的字段(例如播放数),监听对象属性封装完毕事件把Redis中的缓存加上,监听对象更新事件(对与热字段的更新会写入Redis不会更新到数据库)清除Redis对应缓存每天也会通过定时任务把Redis缓存写入数据库

点赞,关注等优化处理,使用Redis set存储不会立即修改数据库,方便查询是否关注,点赞等,每分钟把数据同步到数据库(支持查询最近点赞,投币视频)

扫码登录,短信登录,密码登录多种登录渠道,自定义滑动验证码组件

使用websocket实现多端实时弹幕,观看人数

对输出代理,搜集日志信息每日通过邮件发送

自搭建对象存储,直播服务,直播方法回调,api等,在线人数

码云开源地址

安卓端: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

因为开发时间较短,还有部分功能没有实现,会再后面全部实现
安卓使用FragmentPagerAdapter请求数据没有做懒加载处理,容易对后台数据库造成冲击
最后送上BiliBiliAPP资源拆包文件
https://test-1302807021.cos.ap-nanjing.myqcloud.com/BiliBiliApp%E7%B4%A0%E6%9D%90%E8%A7%A3%E5%8C%85%E8%B5%84%E6%BA%90.zip

你可能感兴趣的:(前端,缓存,redis,安卓,java)