# other-project **Repository Path**: suogg/other-project ## Basic Information - **Project Name**: other-project - **Description**: 综合项目 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-10-26 - **Last Updated**: 2025-05-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: SpringBoot, React, Yolo, SpringSecurity, java网络编程 ## README # other-project 原为other-project 现在文件改名other-project-01 #### 介绍 ##### 综合项目 - SpringBoot - redis缓存、mybatis缓存 - 安全机制---认证、鉴权 - React - redux状态管理----传统、进阶(拆分) - 路由守卫、动态菜单 前后端分离交互 爬虫 定时任务 Spring Security安全框架 JWT Redis 登录验证 redux状态管理、token持久化 token管理 时效性 注册\注销 授权 动态路由 (菜单) 文件上传下载预览 layout页面,自定义主题 动态路由/动态菜单 #### 进度 爬虫、定时爬 登录、注册 Spring Security安全框架 JWT Redis 手机号、验证码、微信授权 token 的自动刷新、超时退出登录完成 ```text 前端,在App.js中,通过useEffect()钩子函数,每次刷新页面,执行 checkTokenExpiry() 方法,通过jwtDecode检验token超时时间,并作出反应。 后端,"/refresh-token"接口,通过请求体传回的token参数,是否能被JWT解析来判断token是否非法,再通过解析得到的id值,在redis中获取用户信息,之后反向获取token,并返回给前端。 ``` 计算机视觉----图片识别--yolov8---java调python脚本 ```text python脚本,通过调用yolov8模型,识别图片中的物体,并返回识别结果。 java后端,通过调用python脚本,并接收返回结果,将识别结果返回给前端。 python,用Flame框架,开启5000端口的服务器,设置接口为"/pythonImage" java 后端,创建请求实体,发出网络请求,调用python脚本,并接收返回结果。 ``` 路由守卫、请求拦截器 ```text react路由守卫,通过路由配置,设置路由守卫,在路由跳转前,判断用户是否登录,如果未登录,则跳转到登录页面,如果已登录,则跳转到目标页面。 axios请求拦截器,在请求发出前,判断用户是否登录,如果未登录,则跳转到登录页面,如果已登录,则继续请求。 ``` 完善登录,加入,手机号登录、微信登录 简单注册,图片验证码…… -------------------------------------------------------------------------------------------- 在Spring Security中自定义登录(手机号验证码) ```text 1. 自定义登录方式,自定义实现一个AstartentAuthenticationFilter接口。 在AstartentAuthenticationFilter接口中,重写attemptAuthentication方法,将登录信息封装成authentication对象。 2. 在……Token自定义实现类中进行将autentication对象在数据库中检验,实现手机号验证码的登录逻辑。 ``` 阿里云短信服务----手机号发送验证码 ```yaml #参考:https://blog.csdn.net/Zq215106/article/details/140170639 # ??? 有的方法需要的阿里云参数不同,不知为什么,------------<-????-----<------ # 依赖、HttpClient、阿里云短信服务、阿里云短信服务工具类 # ‘短信’Http工具类与‘爬虫’时相似----后期整合 # 短信服务工具类 --- 需要阿里云 参数 sendCode: host: https://gyytz.market.alicloudapi.com path: /sms/smsSend appcode: 2637acf15aa24e72a6cdca5d8470421e method: POST ``` 注册---图片验证码 ```text SpecCaptcha类,生成图片验证码、将其有效的字符验证码(当再次获取验证码是上一个验证码销毁)存入redis ``` 动态菜单 ```text 原想:在用户登录后,根据用户角色后端向前端返回路由信息 但是,路由应该先创建才能正常运行项目,所以说动态菜单就是动态路由 参考:https://blog.csdn.net/weixin_44786530/article/details/126904999 ``` 打包部署、docker、nginx 问题: 1.打包后,图片无法显示(404、错误页) 2.上传后端代码到Linux,报错 3.打包后,还没加入到nginx 后期一定: 1. 添加一个角色(管理员变客服,加一个系统管理员) 2. 改图片识别(识别花朵改为识别虫害) #### 软件架构 软件架构说明 #### 安装教程 1. xxxx 2. xxxx 3. xxxx #### 使用说明 1. xxxx 2. xxxx 3. xxxx #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) ```qute logback-spring.xml文件: ${CONSOLE_LOG_PATTERN} UTF-8 ${LOG_PATH}/spring.log %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n UTF-8 ${LOG_PATH}/spring-%d{yyyy-MM-dd}.%i.log.gz 30MB 15 ${LOG_PATH}/error.log %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n UTF-8 ${LOG_PATH}/error-%d{yyyy-MM-dd}.%i.log.gz 30MB 15 ERROR