后台管理系统快速启动指南.md 5.9 KB

后台管理系统快速启动指南

一、数据库初始化

1. 执行数据库脚本

# 在MySQL中执行以下脚本
mysql -u root -p books_db < book/src/main/resources/db/admin_schema.sql

2. 验证管理员账号

-- 查看管理员账号
SELECT id, username, nickname, role, status FROM users WHERE role = 'admin';

默认管理员账号:

  • 用户名:admin
  • 密码:admin123
  • 角色:admin

二、启动后端服务

1. 启动Spring Boot应用

cd book
mvn spring-boot:run

或者使用IDE启动 BookApplication.java

2. 验证后端服务

访问以下URL验证服务是否启动:

  • http://localhost:8081/api/admin/login (应该返回405或需要POST请求)

三、打开前端页面

1. 使用浏览器打开

直接双击打开 book-admin/pages/login.html 文件,或使用本地服务器:

# 使用Python启动本地服务器(Python 3)
cd book-admin
python -m http.server 8000

# 然后访问
# http://localhost:8000/pages/login.html

2. 登录

使用默认管理员账号登录:

  • 用户名:admin
  • 密码:admin123

四、功能测试

1. 登录测试

  • ✅ 使用管理员账号登录(应该成功)
  • ✅ 使用普通用户账号登录(应该失败,提示"您不是管理员")
  • ✅ 使用错误的密码登录(应该失败)

2. 书籍管理测试

  • ✅ 查看书籍列表
  • ✅ 搜索书籍
  • ✅ 筛选书籍(按状态、分类)
  • ✅ 添加书籍
  • ✅ 编辑书籍
  • ✅ 删除书籍
  • ✅ 上架/下架书籍
  • ✅ 批量操作

五、常见问题

1. 无法登录

问题:提示"用户名或密码错误"

解决方法

  1. 检查数据库中的管理员账号是否存在
  2. 检查密码是否正确(MD5加密后应为:0192023a7bbd73250516f069df18b500
  3. 检查用户角色是否为 admin
  4. 检查用户状态是否为 1(启用)

2. 提示"未授权,请先登录"

问题:访问书籍管理接口时返回401错误

解决方法

  1. 检查是否已登录(localStorage中是否有 admin_token
  2. 检查token是否正确传递到请求头
  3. 检查后端拦截器配置是否正确

3. 前端页面无法加载

问题:页面显示空白或错误

解决方法

  1. 检查浏览器控制台是否有错误
  2. 检查Vue.js是否加载成功
  3. 检查API地址是否正确(默认:http://localhost:8081
  4. 检查后端服务是否启动

4. CORS错误

问题:浏览器控制台显示CORS错误

解决方法

  1. 检查后端是否配置了CORS(已配置 @CrossOrigin(origins = "*")
  2. 检查前端API地址是否正确
  3. 检查浏览器是否允许跨域请求

六、创建新的管理员账号

方法1:使用SQL

-- 创建新管理员账号
INSERT INTO `users` (`username`, `nickname`, `password`, `role`, `status`, `created_at`, `updated_at`)
VALUES ('newadmin', '新管理员', '0192023a7bbd73250516f069df18b500', 'admin', 1, NOW(), NOW());

-- 注意:密码需要MD5加密,admin123的MD5值为:0192023a7bbd73250516f069df18b500

方法2:将现有用户设置为管理员

-- 将现有用户设置为管理员
UPDATE `users` SET `role` = 'admin' WHERE `username` = 'your_username';

七、API接口测试

1. 使用Postman测试

管理员登录

POST http://localhost:8081/api/admin/login

请求体:

{
  "username": "admin",
  "password": "admin123"
}

查询书籍列表(需要token)

GET http://localhost:8081/api/admin/book/list?page=1&size=10

请求头:

Authorization: admin_token_1

2. 使用curl测试

# 登录
curl -X POST http://localhost:8081/api/admin/login \
  -H "Content-Type: application/json" \
  -d '{"username":"admin","password":"admin123"}'

# 查询书籍列表(需要token)
curl -X GET "http://localhost:8081/api/admin/book/list?page=1&size=10" \
  -H "Authorization: admin_token_1"

八、项目结构

book/
├── src/main/java/com/yu/book/
│   ├── admin/                    # 后台管理模块
│   │   ├── controller/           # 控制器
│   │   │   ├── AdminController.java
│   │   │   └── AdminBookController.java
│   │   ├── service/              # 服务层
│   │   │   ├── AdminService.java
│   │   │   └── AdminBookService.java
│   │   ├── dto/                  # 数据传输对象
│   │   │   ├── AdminLoginDTO.java
│   │   │   └── BookManageDTO.java
│   │   ├── vo/                   # 视图对象
│   │   │   ├── AdminLoginVO.java
│   │   │   └── AdminBookVO.java
│   │   ├── interceptor/          # 拦截器
│   │   │   └── AdminInterceptor.java
│   │   └── config/               # 配置类
│   │       └── AdminWebConfig.java
│   └── ...
└── src/main/resources/
    └── db/
        └── admin_schema.sql      # 数据库脚本

book-admin/
├── pages/
│   ├── login.html                # 登录页面
│   └── books.html                # 书籍管理页面
└── utils/
    └── api.js                    # API接口文件

九、下一步

  1. ✅ 数据库初始化完成
  2. ✅ 后端服务启动
  3. ✅ 前端页面打开
  4. ✅ 登录测试
  5. ✅ 功能测试

现在可以开始使用后台管理系统管理书籍了!

十、注意事项

  1. 密码安全:生产环境中应该使用更强的密码加密方式(如BCrypt)
  2. Token管理:当前使用模拟token,生产环境应该使用JWT Token
  3. 权限控制:可以根据需要细化权限控制(如不同管理员有不同的权限)
  4. 数据备份:定期备份数据库,防止数据丢失
  5. 日志记录:建议添加操作日志,记录管理员的各项操作