# village-manage-system **Repository Path**: strivezhangp/village-manage-system ## Basic Information - **Project Name**: village-manage-system - **Description**: 一个村民信息权限分配管理系统 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: web - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-04-01 - **Last Updated**: 2024-06-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 基于SpringBoot和Vue3的村民乡村信息在线管理系统 ## 1 项目简介 该系统旨在为乡村信息管理提供全面的权限控制和信息管理功能,主要面向村委会和相关管理者,旨在提升村庄管理的效率、透明度和服务水平,支持乡村现代化建设和社区发展。 在线体验地址:http://120.27.131.98/login - admin—111111 - user—123 ![image-20240628005152100](./README-IMGS/image-20240628005152100.png) ![image-20240628005430332](./README-IMGS/image-20240628005430332.png) ![image-20240628005502438](./README-IMGS/image-20240628005502438.png) ## 2 功能 - 实现用户登录功能: 采用SpringBoot+Security认证,实现了登录验证功能。后又配合JWT生成工具和Security实现请求的Token认证。验证码图片采用谷歌验证码生成工具配合Securtiy过滤器和Redis缓存实现。 - 权限分配系统: 权限认证是基于SpringSecurity和Redis实现,数据库中间表存储权限信息,在前端全局方法根据权限确定某功能是否可有效点击,后端通过请求前的权限判定,配合Redis缓存实现用户的权限获取和认证。 - 数据库管理: 数据库使用的是Mysql,ORM工具采用的是MybatisPlus,完整了DAO层的CRUD操作,其中使用Redis作为缓存数据库,提高系统数据访问效率。 - 数据一键导入导出: 配合阿里Excel工具包EasyExcel,以及文件流的处理 - 前端界面设计: 基于Vue 3.0和ElementPlus实现了用户友好的界面设计。HTTP请求采用封装后的Axios,配合router实现动态路由,一些常用会话的存储配合状态管理工具VueX实现。 - 部署上线: 结合阿里云服务器,配合宝塔面板实现项目部署 ## 3 技术栈 ### 3.1 前端 - **Vue 3**: 主框架,用于构建用户界面。 - **Vue Router**: 用于处理SPA中的路由。 - **Vuex**: 用于状态管理。 - **Element Plus**: 基于Vue 3的UI组件库。 - **Axios**: 用于处理HTTP请求。 - **ECharts**: 一个图表库,用于数据可视化。 - **Mockjs**: 用于生成假数据。 - **Sass**: CSS预处理器,用于编写可维护的CSS。 - **QS**: 一个用于解析和序列化URL查询字符串的库。 - **SVG Sprite Loader**: 用于处理SVG图标。 **开发工具** - **Webpack**: 一个现代的模块打包工具。 - **@vue/cli-service**: Vue CLI的核心服务,提供了项目的构建和开发环境。 - **@vue/cli-plugin-babel**: Babel插件,用于转译ES6+代码。 - **@vue/cli-plugin-router**: Vue CLI的路由插件。 - **@vue/cli-plugin-vuex**: Vue CLI的Vuex插件。 ### 3.2 后端 - **Spring Boot 2.4.0**:官网链接:[Spring Boot](https://spring.io/projects/spring-boot),主要功能:快速构建基于 Spring 的应用程序,简化配置,提供开箱即用的功能。 - **Java 8**:主要功能:基础的编程语言环境,支持项目的开发和运行。 - **Project Lombok 1.18.24**:官网链接:[Project Lombok](https://projectlombok.org/),主要功能:通过注解自动化生成 Java Bean 的 getter、setter、toString 等方法,简化 Java 开发。 - **MyBatis Plus 3.4.1**:官网链接:[MyBatis Plus](https://baomidou.com/) 主要功能:MyBatis 的增强工具包,简化 MyBatis 的使用,提供更强大的 CRUD 功能和代码生成器。 - **MySQL Connector/J**:主要功能:MySQL 的 JDBC 驱动,用于连接和操作 MySQL 数据库。 - **Spring Boot Starter Validation**:主要功能:提供数据验证的支持,用于校验请求数据的有效性。 - **Spring Security**:主要功能:提供基本的安全认证和授权功能。 - **Spring Boot Starter Data Redis**:主要功能:集成 Redis,提供对 Redis 的支持,如缓存、消息队列等功能。 - **JWT (JSON Web Token) 0.9.1**:主要功能:实现基于 token 的用户认证机制。 - **Kaptcha 0.0.9**:主要功能:生成验证码的工具库。 - **JAXB API 2.3.1**:主要功能:Java 的 XML 绑定技术,用于 XML 和 Java 对象之间的映射。 - **Hutool 5.3.3**:官网链接:[Hutool](https://hutool.cn/) 主要功能:Java 工具集,提供各种常用的工具方法和类库。 - **Apache Commons Lang 3.11**:官网链接:[Apache Commons Lang](https://commons.apache.org/proper/commons-lang/) 主要功能:Apache 组织提供的常用工具类库,提供字符串操作、数据处理等功能。 - **EasyExcel 3.3.4**:主要功能:阿里巴巴开源的 Excel 文件读写工具,支持大数据量的 Excel 文件操作。 ## 4 项目结构 ``` // 前端 WEB ├── .vscode ├── node_modules ├── public ├── README-IMGS ├── src │ ├── api │ ├── assets │ ├── components │ ├── icons │ ├── layout │ ├── router │ ├── store │ ├── utils │ └── views ├── App.vue ├── main.js ├── .gitignore ├── .npmrc ├── babel.config.js ├── jsconfig.json ├── package.json ├── pnpm-lock.yaml ├── README.md └── vue.config.js // 后端 village-manager-system ├── .idea ├── logs ├── src │ └── main │ ├── java │ │ └── com.strive.village │ │ ├── common │ │ ├── config │ │ ├── controller │ │ ├── entity │ │ ├── exception │ │ ├── mapper │ │ ├── security │ │ ├── service │ │ └── utils │ └── resources │ ├── mapper │ └── application.yml ├── test ├── target ├── .gitignore ├── db_village.sql └── pom.xml ``` ## 5 安装和运行 **前端部分** ```bash // 克隆远程仓库 git clone https://gitee.com/strivezhangp/village-manage-system.git // 打开克隆的目录 cd village-manage-system // 选择当前分支 git checkout web // 拉取当前分支代码 git pull // 安装相关依赖 pnpm install // 运行 pnpm run serve ``` **后端部分** ```bash // 克隆远程仓库 git clone https://gitee.com/strivezhangp/village-manage-system.git // 打开克隆的目录 cd village-manage-system // 选择当前分支 git checkout java // 拉取当前分支代码 git pull ``` 1. 导入项目到IDE,导入sql文件到数据库 2. 配置数据库连接信息、redis信息等,基本都在 `application.yml`文件中 3. 运行SpringBoot应用