仿b站微服务项目前后端完全运行环境与接口的文档

仿b站前后端分离微服务项目

实现了以下功能:

视频的上传、查看与上传时获取封面

视频的点赞、评论、可同时新增和删除多个收藏记录的收藏、多功能的弹幕

用户的个人信息查看编辑、用户之间的关注

用户的个人主页权限修改、查看、由个人主页权限动态决定的用户个人主页内容的获取

手机号、邮箱、图形验证码的多种方式登录

支持临时会话的服务器为代理的一对一实时私聊

基于讯飞星火的文生文、文生图、(全网首发)智能PPT

关注up动态视频、评论、点赞、私聊消息的生成与推送

基于es实现的视频和用户的聚合搜索、推荐视频

网关的路由和统一鉴权与授权

基于双token的七天内无感刷新token

防csrf、xss、抓包、恶意上传脚本攻击

统一处理异常和泛型封装响应体、自定义修改响应序列化值

简易的仿redis缓存读取与数据过期剔除实现

xxl-job+ redis+ rocketmq+ es+ 布隆过滤器的自定义es与mysql数据同步

slueth+zipkin的多服务间请求链路追踪

集中多服务日志到一个文件目录下与按需添加特定内容入日志

多服务的详细接口文档

前后端完全运行步骤:

1.运行中间件环境本机部署:

参考之前文章https://www.nowcoder.com/discuss/640368532730990592?sourceSSR=users

2.前后端项目本机启动

参考之前文章https://www.nowcoder.com/discuss/640865638906384384?sourceSSR=users

3.拉取项目后必要创建工作

修改配置

将连接MySQL的密码用户名密码改成实际密码,Redis默认连接无用户名密码,若未对Redis做出修改则不需修改springboot配置,es同Redis,Rocketmq同理,minio默认用户名密码minioadmin,未做minio修改则无需修改配置

创建MySQL数据库

执行github上的sql脚本(注意最好在远程连接软件如navicat、dbeaver上执行,直接在idea中连接MySQL作者并未测试且有人直接idea连接MySQL执行该脚本未成功)

创建ElasticSearch索引

启动搜索服务后在Postman中发送请求创建视频和用户的es索引

post请求:http://localhost:8201/search/createIndex

参数如下

{
    "indexName": "video",
    "properties": {
        "video_id": "integer",
        "video_name": "text",
        "intro": "text",
        "cover":"text",
        "length":"text",
        "create_time":"date",
        "author_name":"text",
        "author_id":"integer",
        "url":"text",
        "play_count":"integer",
        "danmaku_count":"integer",
        "collect_count":"integer"
    }
}

和post请求http://localhost:8201/search/createIndex

{
    "indexName": "user",
    "properties": {
        "id": "integer",
        "nickname": "text",
        "intro": "text",
        "cover":"text",
        "fans_count":"integer",
        "video_count":"integer"

    }
}


或将搜索服务中创建索引的接口createIndex上的@ApiIgnore注解去掉后浏览器输入localhost:8201/doc.html进入接口文档创建

package ljl.bilibili.search.controller;
import com.fasterxml.jackson.core.JsonProcessingException;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import ljl.bilibili.client.pojo.RecommendVideo;
import ljl.bilibili.search.service.SearchService;
import ljl.bilibili.search.vo.request.EsKeywordRequest;
import ljl.bilibili.search.vo.response.UserKeyWordSearchResponse;
import ljl.bilibili.search.handler.MysqlToEsHandler;
import ljl.bilibili.search.vo.response.TotalCountSearchResponse;
import ljl.bilibili.search.vo.response.VideoKeywordSearchResponse;
import ljl.bilibili.search.vo.request.EsIndexRequest;
import ljl.bilibili.util.Result;
i

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

该专栏存放前后端分离仿b站微服务项目相关教程与简历话术

全部评论
体育生哥有两下子
点赞 回复 分享
发布于 2024-08-06 16:22 北京
有没有交流群
点赞 回复 分享
发布于 2024-08-07 21:48 香港
佬 ,先给你送几朵花 ,再去hub点星星
点赞 回复 分享
发布于 2024-08-09 21:58 湖南
那个点赞功能有sql报错
点赞 回复 分享
发布于 2024-08-16 17:42 湖南
前端点击个人主页之后,这样 :
点赞 回复 分享
发布于 2024-08-16 21:38 湖南
chat哪里报错
点赞 回复 分享
发布于 2024-08-23 12:22 湖南
chat哪里配置好了zipkin,然后和那个ai发个消息 , chat就直接寄了 , 图片是报错 :
点赞 回复 分享
发布于 2024-08-23 23:25 湖南
那个查询视频评论哪里 , 对评论的评论是查不到的 ,只能查到top_id=null的评论 , 你哪里处理子评论的时候,没有放进map中 , 哪里应该需要改一下 , 然后查评论点赞数量的sql是不是写错了 , 对于查询子评论放入map修改如下 :
点赞 回复 分享
发布于 2024-08-24 16:03 湖南
就是video哪里edit的这一段代码是啥意思啊?佬
点赞 回复 分享
发布于 2024-08-30 11:27 湖南
这个错误是因为数据库中的某个对象(例如视图或存储过程)定义了一个特定的用户作为“definer”,而该用户('root'@'%')在当前数据库中不存在。要解决这个问题,你可以尝试以下步骤: 检查用户权限:确认数据库中是否存在'root'@'%'用户,或考虑使用其他用户来定义该对象。 修改对象的定义者:如果可以,修改相关视图或存储过程,使用存在的用户作为definer。 重新创建对象:如果适用,删除并重新创建这些对象,确保使用正确的用户。 #### #### 佬,我连接本地数据库,root 123456,然后把触发器的xxx改成root,还是报这个错误
点赞 回复 分享
发布于 2024-10-23 09:39 江西
佬,我这一直有这个问题,视频播放不能够,追进去发现是404,但是我的服务已经启动了,其他的诸如上传、评论都可以,但是视频无法播放,我在postman把路径中的usercenter去掉就能否得到一个200响应,搞不明白为啥,我想去修改前端,又没有找到video.js
点赞 回复 分享
发布于 2024-10-24 16:06 江西
为什么我上传视频直接上传失败啊
点赞 回复 分享
发布于 2024-12-04 13:59 江苏
这个前端nginx启动之后打开的localhost的前端vue代码在哪里找来修改debug呢,有点陌生
点赞 回复 分享
发布于 01-25 13:57 广西

相关推荐

评论
13
30
分享

创作者周榜

更多
牛客网
牛客企业服务