一、系统架构
共享汽车管理系统采用B/S(Browser/Server)架构,主要由以下几部分组成:
- 前端界面:使用Vue.js框架开发,提供用户友好的界面,支持多种浏览器。
- 后端服务:使用Spring Boot框架开发,负责业务逻辑处理和数据管理。
- 数据库:使用MySQL数据库存储系统数据,包括用户信息、汽车信息、订单信息等。
- API接口:提供RESTful API,供前端调用,实现前后端分离。
二、功能模块
共享汽车管理系统主要包括以下功能模块:
-
用户管理
- 用户注册、登录、信息修改
- 用户权限管理
-
汽车信息管理
- 汽车信息录入、修改、删除
- 汽车状态查询
-
投放地区管理
- 投放地区信息录入、修改、删除
- 投放地区查询
-
汽车投放管理
- 汽车投放信息录入、修改、删除
- 投放状态查询
-
汽车入库管理
- 汽车入库信息录入、修改、删除
- 入库状态查询
-
使用订单管理
- 订单创建、查询、修改、删除
- 订单状态管理
-
汽车归还管理
- 归还信息录入、查询、修改、删除
- 归还状态管理
-
管理员管理
- 管理员账户管理
- 权限分配
三、数据库设计
数据库设计是系统设计的核心部分,以下是主要的数据库表设计:
-
用户表(Users)
- 用户ID(UserID)
- 用户名(Username)
- 密码(Password)
- 邮箱(Email)
- 手机号(Phone)
- 注册时间(RegTime)
- 权限级别(Role)
-
汽车表(Cars)
- 汽车ID(CarID)
- 汽车名称(CarName)
- 汽车类型(CarType)
- 品牌(Brand)
- 车牌号(LicensePlate)
- 车身颜色(Color)
- 座位数量(Seats)
- 状态(Status)
-
投放地区表(Locations)
- 地区ID(LocationID)
- 地区名称(LocationName)
-
汽车投放表(CarPlacements)
- 投放ID(PlacementID)
- 汽车ID(CarID)
- 地区ID(LocationID)
- 投放时间(PlacementTime)
- 状态(Status)
-
汽车入库表(CarStorages)
- 入库ID(StorageID)
- 汽车ID(CarID)
- 入库时间(StorageTime)
- 回收地点(StorageLocation)
-
使用订单表(Orders)
- 订单ID(OrderID)
- 用户ID(UserID)
- 汽车ID(CarID)
- 订单时间(OrderTime)
- 总价格(TotalPrice)
- 状态(Status)
-
汽车归还表(CarReturns)
- 归还ID(ReturnID)
- 汽车ID(CarID)
- 用户ID(UserID)
- 归还时间(ReturnTime)
- 审核状态(ApprovalStatus)
-
管理员表(Admins)
- 管理员ID(AdminID)
- 用户名(Username)
- 密码(Password)
四、用户界面设计
用户界面设计应简洁明了,易于操作。以下是主要的用户界面设计:
-
首页
- 显示系统的主要功能模块入口
- 提供搜索功能
-
用户管理
- 用户列表显示
- 新增、修改、删除用户功能
-
汽车信息管理
- 汽车列表显示
- 新增、修改、删除汽车信息功能
-
投放地区管理
- 地区列表显示
- 新增、修改、删除地区信息功能
-
汽车投放管理
- 投放列表显示
- 新增、修改、删除投放信息功能
-
汽车入库管理
- 入库列表显示
- 新增、修改、删除入库信息功能
-
使用订单管理
- 订单列表显示
- 新增、修改、删除订单功能
-
汽车归还管理
- 归还列表显示
- 新增、修改、删除归还信息功能
-
管理员管理
- 管理员列表显示
- 新增、修改、删除管理员功能
五、安全性设计
系统的安全性设计至关重要,以下是主要的安全性设计:
-
用户认证
- 实现用户登录认证,确保只有合法用户才能访问系统。
- 使用JWT(JSON Web Token)进行用户身份验证。
-
权限控制
- 实现基于角色的访问控制(RBAC),不同角色具有不同的权限。
- 管理员可以分配和修改用户权限。
-
数据加密
- 对用户密码进行加密存储,使用bcrypt算法。
- 对敏感数据进行加密传输,使用HTTPS协议。
-
日志记录
- 记录用户操作日志,便于审计和追踪。
- 记录系统错误日志,便于问题排查。
-
输入验证
- 对用户输入进行验证,防止SQL注入和XSS攻击。
- 使用正则表达式验证输入格式。
-
错误处理
- 实现统一的错误处理机制,避免敏感信息泄露。
- 提供友好的错误提示信息。
六、部分实现界面