# account_system_master **Repository Path**: liwencai_java/account_system_master ## Basic Information - **Project Name**: account_system_master - **Description**: 家庭账单微服务系统。 - **Primary Language**: Unknown - **License**: WTFPL - **Default Branch**: dev - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2021-11-02 - **Last Updated**: 2025-02-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: SpringCloud, SpringBoot, MyBatis, Redis, Nginx ## README # account_system_master(仿随手记) #### 介绍 该项目基于SpringCloud开发,该项目共有网关微服务、账单微服务、家庭微服务、用户微服务、图片资源微服务、消息微服务、家庭关系微服务等模块和一个VUE前端项目。 实现了一个简单的家庭账单系统。 能实现对家庭成员账单的记录和统计、家庭成员和普通用户管理。 #### 模块部分介绍 ##### 用户微服务: 登录模块,数据库中的密码是密文存储,使用的加密算法是Spring Security的Bcrypt,为了保证密码的安全性,我选择给密码加盐,增加了密码被破解的难度。 注册模块,用户在前端填写用户信息,后端在处理有用户图片上传时时还要使用Ribbon+RestTemplate远程调用图片资源微服务,为用户添加图片关系。 验证码生成模块,验证的生成使用了char数组随机截取四位的方式生成密码,然后使用redis的String数据结构以手机号为Key,验证码为Value的方式存储在redis中。 邮箱发送模块,使用了Spring Boot Mail实现了邮件发送功能。 密码修改模块,使用了邮箱模块和验证码模块,实现用户密码的修改。 用户更新和用户注册类似,只是使用的SQL语句略有不同,查询模块由于其他微服务需要,有不同功能的接口,比如批量查询,模糊查询和嵌套查询用户信息,和远程调用其他服务的接口如图片资源微服务的查询用户图像URL的接口。 ##### 网关微服务: 网关路由模块:本项目使用了Nacos实现对微服务的注册发现和管理,本项目使用两种网关路由配置方式,一种是项目内的yml配置方式,另一种是从Nacos中读取路由配置的方式。 网关限流和降级模块,使用了Sentinel中间件,其中的限流和熔断策略都能在Sentinel客户端中进行配置和管理。日志模块使用了,SpringBoot的LogBack实现日志记录。Token生成。 ... #### 部分截图示例 ![](source_image/images_md/1.jpg) ![](source_image/images_md/2.jpg) ![](source_image/images_md/3.jpg) ![](source_image/images_md/4.jpg) ![](source_image/images_md/5.jpg) ![](source_image/images_md/6.jpg) #### 使用说明 1、使用的Nacos、Nginx、Sentinel、Redis中间件需安装到本地或使用特定服务器。 2、数据库文件位置位于account子工程下的sql文件夹中,每个SQL文件对应一个数据库(分库)。 #### 技术栈 SpringCloud、SpringBoot+Mybatis+Mysql、SpringBoot-Mail、Mybatis-Generator、MapStruct、Dozer、Pag eHelper、Validator、OpenFeign、EasyPOI、JWT、Logback、Nacos、Sentinel、Nginx、Redis #### 说明 如有您发现有图片资源侵权等行为请为我留言,本人将及时改正。