仿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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1383173.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

使用 LangChain 构建 LLM 应用详细教程(附python代码演练)

介绍 欢迎来到语言处理的未来!在一个语言是连接人与技术的桥梁的世界中,自然语言处理(NLP)的进步为我们带来了令人难以置信的机会。其中一个重要的进步是革命性的语言模型,即大型语言模型(LLM)&…

仿B站APP

模仿B站开发的安卓APP(个人非美工,对颜色,图标搭配较懒都使用的一些占位图标,只完成了部分功能) 多图预警 侧边栏只做了效果使用的假数据 直播界面只有直播数据是实时爬取的,其他没有做爬取,只做了效果(轮播图的数据…

使用fusion app制作b站app

使用fusion app(以下简称FA)将b站网页版做成app 项目创建 打开FA,首页是已经创建过的项目,点击右下角的加号新建一个项目 创建一个标签栏模板 创建后就会进入我们的项目编辑页面 点击右上角的三角形就可以预览项目 现在我们的项…

LeetCode--HOT100题(28)

目录 题目描述:2. 两数相加(中等)题目接口解题思路代码 PS: 题目描述:2. 两数相加(中等) 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且…

【C语言】小游戏-三字棋

大家好,我是深鱼~ 目录 一、游戏介绍 二、文件分装 三、代码实现步骤 1.制作简易游戏菜单 2.初始化棋盘 3.打印棋盘 4.玩家下棋 5.电脑随机下棋 6.判断输赢 7.判断棋盘是否满了 四、完整代码 game.h(相关函数的声明,整个代码要引用的头文件以及宏…

Apache Paimon 在同程旅行的实践进展

摘要:本文整理自同程旅行大数据计算组负责人吴祥平,在 Apache Paimon Meetup 的分享。本篇内容主要分为四个部分: 1. Apache Paimon 引入 2. Apache Paimon 应用建设 3. Apache Paimon 优化实践 4. 未来规划和期待 Tips:点击「阅读…

Linux运维

目录 第一章、Linux概述 一、Linux的概念 二、Linux的特点 三、Linux VS Windows ​四、Linux的发展优势与存在问题-------不足 五、Linux常用发行版 六、CentOS简介 七、VMWare虚拟机简介 第二章、Linux初示 一、虚拟控制台 二 、Linux启动 (1&#xf…

Linux极客汇总常用运维大全

一、基础篇 1、Linux版本 内核版本 发行版本 RedHat Enterprise Linux-(公司级别,付费) Fedora(组建一个社区,免费) CentOS(基于红帽源代码编译的,免费) Debian(华丽界面&#xf…

Linux云服务器的使用,以及运行Python程序、相关Linux指令

目录 1、使用Linux云服务器的软件 1.1、MobaXterm_Personal 1.2、WindTerm 1.3、FileZilla FTP 2、Linux系统运行Python程序 3、Linux系统查看包、虚拟环境、安装包等 以下几个深度学习服务器都不错:智星云、AutoDL、恒源云 1、使用Linux云服务器的软件 1.1…

linux运维21

linux运维篇21 一、简述redis集群的实现原理二、基于redis5的redis cluster部署 一、简述redis集群的实现原理 工作原理:虽然redis有主从结构,但是无法解决只能单机写入数据的问题,无法实现分布式数据保存。而redis集群会预先分配16384个槽位…

linux运维15

linux运维篇15 一、实现基于MYSQL验证的vsftpd虚拟用户访问二、配置samba共享,实现/www目录共享三、使用rsyncinotify实现/www目录实时同步四、LVS调度算法总结五、LVS的跨网络DR实现 一、实现基于MYSQL验证的vsftpd虚拟用户访问 FTP服务器搭建: 数据库…

linux运维19

linux运维篇19 一、haproxy https实现二、总结tomcat的核心组件以及根目录结构三、tomcat实现多虚拟主机四、nginx实现后端tomcat的负载均衡调度五、简述memcached的工作原理 一、haproxy https实现 路由拓扑 后台web服务器搭建 LAMP架构看这个:LAMP yum install…

收集的 Linux VPS 在线重装系统脚本

因为 VPS 上预装的操作系统我并不习惯,所以打算重装一个。有的 VPS 服务商提供了较多种类的系统选择,有的却没有。如果你发现你希望重装的系统服务商没有提供,可以考虑自己安装。 本文内容 重装脚本 - 来自萌咖CentOS -> Debian 重装脚本 …

【运维】——服务器装Linux系统

一、用软碟通刻录系统光盘 1打开软碟通软件,打开文件-------选择Linux系统 2选择启动----写入硬盘映像 3开始写入硬盘映像,静等进度条走完即可。 二、开始安装Linux系统 1给主机插上刚刚刻录好的系统光盘,选择启动项 2设置信息:…

Linux入门---环境搭建(腾讯云服务器)、XShell远程登陆Linux

Linux环境搭建和远程登陆Linux Linux环境搭建XShell远程登陆Linux Linux环境搭建 主要有三种方式: 1.直接安装在物理机上,但是由于Linux桌面使用起来非常不友好,不推荐。 2.使用虚拟机软件,将Linux搭建在虚拟机上,但是…

Linux系统运维1 运维 项目研发 网站 服务器 计算机基础 Linux操作系统

运维的基本概念 运维行业前景 企业运作模式 四大部门 项目研发流程 职责描述&#xff1a; 运维的作用&#xff1a; 网站的相关概念 网站运行流程&#xff1a; IP<–>域名 重要概念&#xff1a; 服务器图片&#xff1a; 服务器&#xff1a;为用户提供服务的机器&…

linux运维14

linux运维篇14 一、简述CGI与FASTCGI区别二、 编译安装基于fastcgi模式的多虚拟主机的wordpress和discuz的LAMP架构三、通过loganalyzer展示数据库中的日志&#xff08;cgi模式&#xff09; 一、简述CGI与FASTCGI区别 CGI模式&#xff1a;当用户访问网站的动态资源时&#xff…

【从零开始学习JAVA | 第四十五篇】动态代理

目录 前言&#xff1a; 动态代理&#xff1a; 动态代理实现步骤&#xff1a; 动态代理的应用场景&#xff1a; 总结&#xff1a; 前言&#xff1a; 动态代理作为一种强大的编程技术&#xff0c;不仅为我们提供了灵活性和可扩展性&#xff0c;还为软件开发和系统设计带来了…

布隆过滤器在缓存系统中的实践

一. 背景 在业务开发中&#xff0c;在并发量很高的情况下&#xff0c;通常会使用缓存对系统查询性能进行优化&#xff0c;在缓存命中率很高的情况下&#xff0c;缓存的使用能够大幅提升系统查询性能。但是在缓存命中率非常低场景下&#xff0c;如果采用传统缓存读取模式&#…

Redisson_布隆过滤器

应用场景 去重 诞生背景 Java应用一般通过JDK自身提供的HashSet去重&#xff0c;通过contains()方法判断当前元素是否存在于Set中。该方式要求在调用contains()前&#xff0c;已经将数据列表加载到内存中&#xff08;即该方法基于内存存储实现判断功能&#xff09;。 缺点: 1.满…