# course **Repository Path**: durianyang/course ## Basic Information - **Project Name**: course - **Description**: SpringCloud + Vue 前后端分离的在线视频课程系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 2 - **Created**: 2021-04-17 - **Last Updated**: 2024-06-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 项目结构 #### 后端 - eureka注册中心 - server 公共业务模块 - system 系统管理 - gateway 网关 - business 基本业务 #### 前端 - admin 后台管理 - course 课程网站 1. 配饰server.servlet.content-path 的路径必须以/开头 2. yml配置数组、map、list、需要 - 3. 因为配置文件从上往下读取,为了防止公共模块的公共配置文件被引用它的模块的配置文件覆盖,可以使用profile激活,或者将配置文件放入springboot的默认的其他配置文件存放路径中 > 在引用一个有application.yml的公共maven项目的时候,新maven项目的application.yml会覆盖公共项目的配置文件,SpringBoot是由上向下扫描的文件的 [Spring boot maven项目配置文件覆盖问题](https://blog.csdn.net/wangchaox123/article/details/90054056) 4. vue子路由path 不加 `/`前缀 5. vue的mounted钩子函数会在每次页面加载时执行,可以用于控制页面元素等,因为vue的单页面,直接使用``可能会渲染到其他组件,可以将控制条件放入mounted 6. vue/ index.html引入的css、js等的路径前要加<%= BASE_URL %>才能不管是在哪个路径的组件下都是从这个路径引入,否则会将组件的路径作为前缀 7. 注意gateway使用的是webflux,它不遵循servlet规范,跨域配置使用CorsWebFilter而不是CorsFilter 8. 利用切面拦截记录日志,使用日志框架自带的MDC.put("UUID", UuidUtils.getShortUuid()); 在日志输出pattern中配置{UUID}用来操作记录流水号 9. 文件分片上传 思路 前端定义,对文件进行分片传输,后端合并所有分片文件为最终文件 分片大小 、分片索引、分片总数 #### 后端处理 ![image-20210515214158418](http://durianyang.xyz/blog/img/image-20210515214158418.png) ![image-20210515214221301](http://durianyang.xyz/blog/img/image-20210515214221301.png) ![image-20210515214233499](http://durianyang.xyz/blog/img/image-20210515214233499.png) #### 前端处理: ![image-20210515224425798](http://durianyang.xyz/blog/img/image-20210515224425798.png) ![image-20210515224331186](http://durianyang.xyz/blog/img/image-20210515224331186.png) ### 经验 ![image-20210515211721410](http://durianyang.xyz/blog/img/image-20210515211721410.png) ![image-20210530180624580](http://durianyang.xyz/blog/img/image-20210530180624580.png)