# 通用项目模板 **Repository Path**: saulCode/general-project-template ## Basic Information - **Project Name**: 通用项目模板 - **Description**: 一个通用的接口登录token校验模板 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-08 - **Last Updated**: 2026-02-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AdminDemo 后端管理系统 ## 项目简介 基于Spring Boot + MyBatis + JWT的后端管理系统,实现用户认证授权和基础CRUD功能。 ## 技术栈 - Spring Boot 3.5.9 - MyBatis 3.0.3 - MySQL 8.0+ - JWT (jjwt 0.11.5) - Lombok - Jakarta Validation ## 项目结构 ``` com.example.admindemo ├── config/ # 配置类(拦截器配置、MyBatis配置等) ├── controller/ # 控制器(接收前端请求,返回响应) ├── service/ # 服务层(核心业务逻辑) │ └── impl/ # 服务层实现类 ├── mapper/ # 数据访问层(Mapper接口,操作数据库) ├── entity/ # 实体类(对应数据库表结构) ├── dto/ # 数据传输对象(前端入参/后端出参封装) ├── vo/ # 视图对象(给前端返回的格式化数据) ├── interceptor/ # 拦截器(登录认证拦截、权限拦截等) ├── util/ # 工具类(JWT工具、加密工具、返回结果工具等) └── exception/ # 全局异常处理(统一返回错误信息) ``` ## 快速开始 ### 1. 数据库配置 ```sql -- 执行 src/main/resources/sql/init.sql 文件 -- 默认管理员账号: admin / admin123 ``` ### 2. 修改配置文件 修改 `src/main/resources/application.yml` 中的数据库连接信息: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/admin_demo?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai username: root password: your_password ``` ### 3. 运行项目 ```bash mvn spring-boot:run ``` ## API接口文档 POST /user/login - 用户登录 GET /user/info - 获取当前用户信息 GET /user/list - 查询所有用户 GET /user/{id} - 根据ID查询用户 POST /user/add - 新增用户(你应该用这个) PUT /user/update - 更新用户 DELETE /user/delete/{id} - 删除用户 ### 用户登录 **POST** `/user/login` 请求体: ```json { "username": "admin", "password": "admin123" } ``` 响应: ```json { "code": 200, "message": "操作成功", "data": { "token": "eyJhbGciOiJIUzI1NiJ9...", "userInfo": { "id": 1, "username": "admin", "nickname": "系统管理员", "email": "admin@example.com" } } } ``` ### 获取当前用户信息 **GET** `/user/info` 请求头: ``` Authorization: Bearer {token} ``` 响应: ```json { "code": 200, "message": "操作成功", "data": { "id": 1, "username": "admin", "nickname": "系统管理员", "email": "admin@example.com", "phone": "13800138000", "status": 1, "createTime": "2024-01-01T00:00:00" } } ``` ### 查询所有用户 **GET** `/user/list` 请求头: ``` Authorization: Bearer {token} ``` ### 根据ID查询用户 **GET** `/user/{id}` 请求头: ``` Authorization: Bearer {token} ``` ### 新增用户 **POST** `/user/add` 请求头: ``` Authorization: Bearer {token} Content-Type: application/json ``` 请求体: ```json { "username": "newuser", "password": "password123", "nickname": "新用户", "email": "newuser@example.com", "phone": "13800138003", "status": 1 } ``` ### 更新用户 **PUT** `/user` 请求头: ``` Authorization: Bearer {token} Content-Type: application/json ``` 请求体: ```json { "id": 1, "nickname": "更新的昵称", "email": "newemail@example.com", "status": 1 } ``` ### 删除用户 **DELETE** `/user/{id}` 请求头: ``` Authorization: Bearer {token} ``` ## 注意事项 1. 所有需要登录的接口都需要在请求头中携带 `Authorization: Bearer {token}` 2. Token默认有效期为24小时 3. 密码使用MD5加密存储 4. 测试数据中的默认管理员账号为: `admin` / `admin123` 5. 生产环境请修改JWT密钥和数据库密码