# GameShare **Repository Path**: SchwazerKei/GameShare ## Basic Information - **Project Name**: GameShare - **Description**: Spring Boot + monorepo(基于Spring Boot + Spring Security6 + MybatisPlus + Vue3 + JWT + Redis) - **Primary Language**: Java - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-01-19 - **Last Updated**: 2025-08-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # GameShareWebsite ## ———— 一个简单的大学课程设计Web项目 ( 注:README.md于24年8月2日开始更新。) Ratcher增加 第二条 第三条 不可以删哦 号主的增量,第一条 > ### 更新日志 - **更新日期**:2025年03月09日 - **更新内容**: - 调整了前后端代码和SQL代码,使最终能够运行于基于Linux的生产环境。现在可以在公网 http://49.234.30.174/ 访问我们的网站了。 - 后端更改:修复了PathUtil工具类中获取路径的方法不兼容Linux系统的bug;在spring security中放行了生产环境下所需端口。 - 前端更改:调整了部分动态导入的图片文件的方式由原来的路径拼接,更改为现在的import导入,以避免生产环境下无法加载;调整games文件夹到public文件夹下;admin-end项目中:增加了一个简易的登录页,动态路由模块采用了硬编码路径解析的方式来临时适配生产环境下无法正常跳转路由的问题。 > ### 更新日志 - **更新日期**:2025年03月04日 - **更新内容**: - 完成了基于权限的路由侧边栏。拥有不同权限的用户将有不同的侧边栏视觉效果。(仿照若依。例如所有权限为"*:*:*",仅系统权限为"system:*:*",以此类推。) - 鉴于上一次的考虑,删除了位于router-page.js中的动态路由,仅使用数据库中的数据来生成动态路由。 - 不足:动态路由生成的页面刷新时会丢失路由数据。后续将修复。 ##### 演示如下: 基于权限的动态的路由侧边栏 > ### 更新日志 - **更新日期**:2025年03月03日 - **更新内容**: - 完成了基于动态路由的侧边栏。每次路由时,路由守卫调用api访问后端数据库中的路由数据,并与前端自定义的router-page.js中的路由, 用lodash取交集,然后以两种不同的格式分别存到router和store中,供后续调用。其中store中的路由,供给前端用于渲染侧边栏; router中的路由,则用于路由跳转。这种逻辑是基于若依的逻辑。虽然搞不懂为什么要定义两套路由。我觉得冗余,后续将仅保留数据库中路由数据。 - 另附上更新后的SQL文件。现在SQL会自动删除旧的数据库表,所以直接运行覆盖原数据即可,变方便了。 ##### 演示如下: 基于动态路由的侧边栏 > ### 更新日志 - **更新日期**:2025年2月28日 - **更新内容**: - 完成了Layout的基本结构。 ##### 演示如下: layout基本结构 > ### 更新日志 - **更新日期**:2025年2月13日 - **更新内容**: - 抽离出了user-end模块中的某些公共模块,如utils,api,并将其移到了公共common模块中。 - user-end模块中还有部分页面没有严格基于组合式API+ts,这次一并优化。 > ### 更新日志 - **更新日期**:2025年1月20日 - **更新内容**: - 更换前端架构为monorepo架构。细节如下: - 根目录设置三个项目目录,分别是user-end(原gameshare-ui,即原来的前端项目整体)、admin-end(管理系统项目模块。代码尚待编写)、common(公共模块。代码尚待编写)。 > ### 更新日志 - **更新日期**:2024年12月22日 - **更新内容**: - 新增验证码模块,其中使用了Redis。 - 为契合验证码验证功能,对于Spring Security的认证模块,取消了security配置中的loginForm配置,使用了自定义的login控制器;使用了自定义的认证提供者(MyLoginAuthenticationProvider)。 - 为迎合基于json的请求数据传递形式,对于登录、注册等请求,前端调整了请求发送类型为Json,后端新增了一些模型实体类,例如LoginUser。 - 增加了一些异常类、常量接口,例如 CaptchaException、CacheConstants。 - 完成了注册页功能,注册页新增基于element-plus的表单验证。 - 附上更新后的SQL文件。 ##### 注册功能演示如下: 注册功能演示 > ### 更新日志 - **更新日期**:2024年12月11日 - **更新内容**: - 修补了评论区分页查询bug,评论区沙发显示bug。 - 前端vue各页面的API风格由选项式API(Options API)统一更换为组合式API (Composition API)。 - vue版本由原来的3.4.38升级到3.5.13。 > ### 更新日志 - **更新日期**:2024年12月07日 - **更新内容**: - 引入axios的request封装,封装了axios的拦截器,封装了请求api和方法utils。 - 将重写后的download方法挂载到了vue原型链上,方便后续调用。 - 完成了用户订单查询页面。 * 其他: 1. 更换link图标为自定义的小猪ico 2. 新增依赖: file-saver(v2.0.5,用于文件下载),js-cookie(v3.0.5,用于操作cookie)。 3. 调整了前后端部分文件的文件名和代码。 ##### 订单详情页演示如下: 订单详情页 > ### 更新日志 - **更新日期**:2024年12月05日 - **更新内容**: - 模块化了router js代码。 - 简单增加了登出功能(仅去除了本地存储的Token字段,未涉及后端修改Token过期时间的程序)。 - 修改文件上传/下载的静态路径为项目相对路径。 - 补充上一次更新时的遗漏(Token无效时的页面提示优化处理)演示,连同此次登出效果一起演示。 ##### 登录状态无效处理演示如下: 登录状态无效处理演示 > ### 更新日志 - **更新日期**:2024年12月04日 - **更新内容**: - 数据库新增表sign_in。更新后附在 根目录/storage/sql下。 - 完成了签到功能。每日可签到一次,获得不同权重下的积分。 ##### 签到演示如下: 新版本签到演示

> ### 更新日志 - **更新日期**:2024年11月30日 - **更新内容**: - ##### 此次更新了数据库SQL文件。位于 根目录/storage/sql中。 - 写好了评论回复功能。用户现在可以对任一合法评论进行回复,回复实时显示;对于已被删除的评论(这类评论标记为删除,但仍保留数据,且评论区不显示原评论内容),其点赞和评论图标变灰且不可点击。 - 稍微规范了Feedback页的代码。 ##### 演示如下: 评论回复功能 > ### 更新日志 - **更新日期**:2024年11月29日 - **更新内容**: - 写好了评论功能。用户现在可以发表一级评论;评论回复功能尚未完成。具体细节为: 1,修改了game_comment表的表结构。最终持久层的字段数为9个,供给前端的字段数为12个;主要的修改是:cpath字段由持久层字段改为了临时字段,由查询SQL临时生成。 2,多出的字段属CTE(Common Table Expressions,公用表表达式,是用于递归查询的SQL表达式)生成的临时字段,用于前端页面显示等。 ##### 演示如下: 评论区功能 > ### 更新日志 - **更新日期**:2024年11月24日 - **更新内容**: - 写好了评论点赞功能。具体细节为: 1,给某一评论点赞,会实时显示赞数和亮灭图标的变化; 2,用户评论点赞记录持久化记忆。用户进入某一游戏页面后,缓存中会存有过去的评论点赞数据,由此会正确显示评论点赞情况,即点赞图标的亮灭。 ##### 演示如下: 评论区分页 > ### 更新日志 - **更新日期**:2024年11月22日 - **更新内容**: - 新增springdoc文档,并配置了可以在文档页的请求发送时,携带jwt于header中。其路径为:http://localhost:8080/swagger-ui/index.html - 依赖结构变换为DependencyManagement的风格,统一管理子模块依赖版本。 ##### springdoc文档页演示如下: 评论区分页 > ### 更新日志 - **更新日期**:2024年11月19日 - **更新内容**: - 项目结构变换为Spring boot + Vue。翻新了部分代码。 - detail页游戏评论区新增分页功能。前端使用element-plus的分页组件,后端使用MyBatisPlus的Page插件。 ##### 评论区分页模块演示如下: 评论区分页 ----- ----- > > > > > > # 注:下方是基于jsp、servlet的古早技术栈编写的项目的代码更新日志 ----- > ### 更新日志 - **更新日期**:2024年8月13日 - **更新内容**: - 修好了轮播图显示异常的bug。 - 增加了点击指定图片跳转的功能。 ##### 轮播图模块演示如下: 轮播图演示 >### 更新日志 - **更新日期**:2024年8月11日 - **更新内容**: - 新增签到功能。 - 增加了弹窗处理。 - 引入了tld自定义标签和函数功能。 ##### 签到演示如下: 签到演示 >### 更新日志 - **更新日期**:2024年8月9日 - **更新内容**: - 修剪了部分网页的html结构。 - 嵌入了小猪loading加载动画。 ##### 小猪loading示例如下: ![小猪loading演示](storage/README_pictures/24-08-09/小猪loading演示.gif) >### 更新日志 - **更新日期**:2024年8月8日 - **更新内容**: - 完善了评论功能的全部内容,包括游戏评论、评论点赞、评论回复。 - 优化了评论区的排版和显示。 ##### 评论功能演示: 评论演示 >### 更新日志 - **更新日期**:2024年8月2日 - **更新内容**: - 优化了评论区的排版方式,尽管仍需进一步改进。 - 排版规律为:一级评论按点赞量高低排序,多级评论同级间有相同缩进且始终按时间先后顺序排序。 - 剩余功能正在完善中。 ##### 优化后的评论区排版示例: Alt text **注意**:以上内容仅为示例,具体细节和功能应参照实际项目情况。