毕业设计项目流程

技术选型

2021年9月12日 放弃微服务架构.

前端

VUE,NEXT,ElementUI

后端

Springboot Springcloud(TODO) MbatisPlus

项目模块

总体基于咖啡厅(模块进行扩展

权限管理模块-RenrenFast 3

通讯模块

负责项目通讯似于QQ,提供通讯服务

TODO 模块

  1. 添加任务

    1. 设置任务类型 : 类型包括 一次,重复
      2. 设置截止时间
      3. 设置所属任务
      4. 设置是否星标
      5. 设置备注
      6. 设置关联文章
      7. 添加子任务
  2. 筛选/检索

    1. 按标记筛选

    2. 按任务组筛选

    3. 标题

    4. 是否关联文章

其他:

​ CRUD

项目待完善

网盘模块

基于阿里云OSS 实现简单的CRUD

咖啡厅

动态

展示 日记 动态

博客

个人的博客园

image-20211012083056186image-20211012083056186

数据库表设计:

日记模块

是否公开

可设置文章标题默认为文章前几个字

添加日记

设置日期

心情

添加日记 可设置类型 日记/总结

时间轴

可以单独查看 日记 和 总结 也可以合并

ID,创建日期,content,是否公开,副标题,类型

image-20210707214539419image-20210707214539419

影院

休闲娱乐

无需数据库

一起看

小工具

神奇的工具箱

前端开发

基本框架

image-20210602144146078image-20210602144146078

数据格式

左侧Navbar功能菜单

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
funList: [
{
icon: 'http://q1.qlogo.cn/g?b=qq&nk=2513356652&s=640',
title: '待办',
routeTo: {path: '/todo'} // 路由跳转
},
{
icon: 'http://q1.qlogo.cn/g?b=qq&nk=2513356652&s=640',
title: '项目',
routeTo: {path: '/project'}
},
{
icon: 'http://q1.qlogo.cn/g?b=qq&nk=2513356652&s=640',
title: '日历',
routeTo: {path: '/calendar'}
},
{
icon: 'http://q1.qlogo.cn/g?b=qq&nk=2513356652&s=640',
title: '网盘',
routeTo: {path: '/files'}
}
]

页面

登录第一屏

image-20210601204429116image-20210601204429116

登录第二屏

首页

image-20210602155054422image-20210602155054422

TODO代办

image-20210601204521467image-20210601204521467

项目

image-20210601204532211image-20210601204532211

image-20210601204550982image-20210601204550982

image-20210601204634121image-20210601204634121

image-20210601204641372image-20210601204641372

image-20210601204657054image-20210601204657054

image-20210609144828321image-20210609144828321

日历

image-20210601204718115image-20210601204718115

网盘

image-20210601204843548image-20210601204843548

// Alibaba

咖啡厅

影视,社区,娱乐

image-20210609153437979image-20210609153437979

后端开发

数据库设计

  • 博客

  • 论坛

    • 优化表结构

    • 关注表

      image-20210902111440563image-20210902111440563

## 功能模块列表

权限管理模块

ToDO

功能列表:

添加CRUD,

项目规划

文件系统

咖啡厅模块

社区

影视

日记

影视模块

功能需求

网络资源采集 360影视

社区模块

TODO待办模块

网盘

项目待办

数据库设计

基本架构

功能

CRUD,异常处理,权限认证Token,

协同办公,通讯模块

  • 及基本架构

    • 权限管理
    • 用户认证
    • 后台系统
  • 社区模块

    • 基本功能开发
      • 日记
  • 通讯模块

    创建聊天组

    用户通讯

流程记录

项目准备(BUG)

数据库

CRUD

  • MybatisPlus

    1. Springboot Pom 2种方式

    2. 默认错误Error - 未导入thymeleaf 依赖无法解析

    3. SpringBoot测试空指针异常 - 导错junit4,SpringBootTest 指定

      异常:

1
Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=...) with your test

​ @SpringBootTest(classes = Application.class) 指定启动类

项目结构

依赖参考:

1
2
3
4
5
6
7
8
  <modelVersion>4.0.0</modelVersion>

<groupId>org.example</groupId>
<artifactId>Test</artifactId>
<version>1.0-SNAPSHOT</version>

<module>ToDoProject</module>
</modules>
1
2
3
4
5
6
7
<parent>
<artifactId>TeamProjectEnd</artifactId>
<groupId>com.xxhoz</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>ToDoProject</artifactId>

异常处理

  • Common模块

    切面日志

    异常处理

    字段验证

    Utils工具类

搭建项目结构解决依赖

分布式服务搭建-认证服务

后端技术

  • SpringBoot
  • Spring Security
  • JWT
  • MyBatis
  • Druid
  • Fastjson

前端技术

  • Vue
  • Vuex
  • Element-ui
  • Axios
  • Sass
  • Quill

后台系统

博客模块

ToDo模块

影视模块

通讯模块

随手记

社区,影视,TODO,通讯

image-20210909152356191image-20210909152356191

社区模块

基于人人fast快速开发,添加一个注册功能.权限管理由renren-fast接管,专注开发业务.

用户注册

用户配置

发布文章

分类区分板块:

​ 博客,日记,

将博客系统改造为多人

用户通讯 TODO

  • TODO

  • 按需开发

Video

  • 通用解析模块

通讯模块

2021年9月12日

​ 放弃微服务架构.

2021年9月14日:

​ 新环境搭建 - 依赖BUG

2021年9月15日:

​ 无依赖问题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.3.2.RELEASE</version>
<type>pom</type> <!-- 没加这两行!!!!!! -->
<scope>import</scope>
<!-- import只能用在dependencyManagement块中,它将spring-boot-dependencies 中 dependencyManagement下的dependencies插入到当前工程的dependencyManagement中,所以不存在依赖传递。
当没有<scope>import</scope>时,意思是将spring-boot-dependencies 的dependencies全部插入到当前工程的dependencies中,并且会依赖传递。
-->
</dependency>
</dependencies>
</dependencyManagement>

奇奇怪怪的依赖问题

搞了三个小时项目结构~! 细节问题

2021年9月16日:

​ 搞项目结构第三天遇到奇奇怪怪的BUG折磨不同包下出现Bean异常,放到相同路径就没问题.捣鼓最后还是吧fast包路劲改成com.xxhoz浪费几天时间项目还没开始业务逻辑编写~

2021年9月18日:

​ 这两天还是浪了~知识忘了,依赖循环IDEA小BUG

​ mybatisplus @TableField(exist = false) 自定义map可用

2021年9月20日:

​ 社区基本CRUD完成,Mybatsi-Plus 就是方便~

​ 开始编写TODO板块

2021年9月22日:

​ 编写影视爬虫部分

​ 通用爬取工具

2021年9月23日:

​ 抽离公共用户注册登录接口 …..

2021年9月27日:

​ Websoket stomp!! 网上文章乱七八糟~还是得看看源码

1
2
3
4
5
6
7
8
9
@SendTo@SendToUser 是Spring的STOMP协议中注解的标签。
@SendTo
会将接收到的消息发送到指定的路由目的地,所有订阅该消息的用户都能收到,属于广播。

@SendToUser
消息目的地有UserDestinationMessageHandler来处理,会将消息路由到发送者对应的目的地。默认该注解前缀为/user。如:用户订阅/user/hi ,在@SendToUser('/hi')查找目的地时,会将目的地的转化为/user/{name}/hi, 这个name就是principal的name值,该操作是认为用户登录并且授权认证,使用principal的name作为目的地标识。发给消息来源的那个用户。(就是谁请求给谁,不会发给所有用户,区分就是依照principal-name来区分的)。

此外该注解还有个broadcast属性,表明是否广播。就是当有同一个用户登录多个session时,是否都能收到。取值true/false.

2021年9月28日:

​ websocket token认证 由后端携带用户ID生成 token websocket连接中cookie携带token进行认证 websocket握手前认证 http阶段进行

2021年9月29日:

​ 捣鼓前端页面之前创建了一个是ts项目发现用不到,Parameter ‘XXX’ implicitly has an ‘any’ type,

1
2
3
4
配置文件:
"strict": false,
或添加
"noImplicitAny": false,
axios 使用配置~~忘了搞了老久~ 突然又从新理解了promise和async await~ 忘得差不多

2021年9月30日:

Vue style里面使用@import引入外部css, 作用域是全局的解决方案 - 宝,卡粉了 - 博客园 (cnblogs.com)

2021年10月3日:

​ 这几天啥也没干~

​ 项目待办:前端完善,TODO,社区,影视,后端优化,全局弹窗提示

​ 前端优化:路由优化,依赖优化,结构,页面优化

​ 计划:

​ 前端小优化:路由 ,页面调整, 熟悉配置,前端复习 1天

​ TODO后端完善后台联调 2天

​ 社区功能开发-包括前端页面 5天

​ 影视功能开发 2天

​ 通讯功能

​ 系统监控,完善日志系统

​ 网站首页

​ 文本编辑器

2021年10月9日:

​ 前端小优化: 路由 , 页面调整, 熟悉配置, 前端复习 1天

​ TODO 后端完善后台联调 2天

2021年10月10日:

​ 值传递报错 TODO

​ 修改TODO状态 mybatis-plus构造器

​ 传值~ 提交组件BUG

​ 无法父子传值原因:

1
2
3
props: {
msg:String
},

​ TODO基本完成,添加注册页面

​ 通讯界面基本框架

2021年10月11日:

注册功能完成 - 修改页面浪费时间

添加SQL拦截权限校验

重复校验 实现分析

.

系统监控

影视通用爬虫

博客页面

2021年10月13日 :

​ 博客前端页面编写

2021年10月14日:

​ 用户数据权限认证 通过MybatisPlus拦截无法获取到userId… 解决: 未登录获取不到!! 添加异常处理

2021年10月15日:

END