物品复活系统是一个面向大学生群体的闲置物品交易平台,支持物品信息管理、用户权限管理、动态物品类型管理等功能。本版本提供了完整的图形用户界面(GUI),使用 Qt 框架开发。
- 用户注册:新用户可以注册账户,需要填写用户名、密码、住址、电话、邮箱等信息
- 用户登录:已注册且被管理员批准的用户可以登录系统
- 用户审批:管理员可以审批待注册用户的申请
- 权限管理:系统支持管理员和普通用户两种角色
- 添加物品:用户可以选择物品类型并添加物品信息(名称、说明、地址等)
- 删除物品:用户可以删除自己添加的物品
- 查看物品:用户可以查看所有物品的详细信息
- 搜索物品:支持按类型和关键字搜索物品,可以搜索所有类型或指定类型
- 添加物品类型:管理员可以创建新的物品类型
- 添加属性:为物品类型添加自定义属性(支持字符串、整数、浮点数三种类型)
- 修改属性:修改现有属性的名称和类型
- 删除属性:删除物品类型的属性
- 查看待审批用户:管理员可以查看所有待审批的用户列表
- 批准用户:管理员可以批准用户的注册申请
- 操作系统:macOS / Linux / Windows
- 编译器:支持 C++17 的编译器(g++ / clang++)
- Qt 版本:Qt 5.x 或 Qt 6.x
- 构建工具:make
brew install qt makesudo apt-get install qt5-default build-essential需要安装 Qt 开发环境,推荐使用 Qt Creator 或手动配置 Qt 环境变量。
make clean # 清理之前的编译文件
make # 编译项目make run # 编译并运行
# 或者
./output/main # 直接运行编译好的程序- 启动程序后,会显示主窗口
- 默认管理员账户:
- 用户名:
admin - 密码:
admin123 - 注意:首次使用后请及时修改密码
- 用户名:
- 点击主窗口右上角的 "登录/注册" 按钮
- 在弹出的对话框中点击 "切换到注册"
- 填写以下信息:
- 用户名(必填)
- 密码(必填)
- 住址(必填)
- 电话(必填)
- 邮箱(必填)
- 点击 "确定" 完成注册
- 注册成功后,需要等待管理员审批
- 点击主窗口右上角的 "登录/注册" 按钮
- 在登录模式下输入:
- 用户名
- 密码
- 点击 "确定" 登录
- 只有被管理员批准的用户才能成功登录
- 登录后,点击左侧的 "添加物品" 按钮
- 在弹出的对话框中填写:
- 物品名称(必填)
- 物品说明
- 物品地址
- 选择物品类型(从下拉列表中选择)
- 点击 "确定" 完成添加
- 系统会自动使用当前登录用户的联系信息作为物品的联系人信息
- 在左侧物品列表中点击任意物品
- 右侧会显示该物品的详细信息,包括:
- 物品名称、说明、地址
- 物品类型及其属性定义
- 联系人信息(姓名、电话、邮箱)
- 点击 "搜索物品" 按钮
- 在弹出的对话框中:
- 输入搜索关键字(必填)
- 选择物品类型(可选,选择"全部类型"可搜索所有类型)
- 点击 "确定" 开始搜索
- 搜索结果会在物品列表中高亮显示,并自动显示第一个匹配物品的详情
- 在左侧物品列表中点击要删除的物品
- 点击 "删除物品" 按钮
- 确认删除操作
- 以管理员身份登录后,点击 "管理员功能" 按钮
- 在打开的对话框中选择 "物品类型管理" 标签页
- 可以执行以下操作:
- 添加类型:创建新的物品类型
- 添加属性:为选中的物品类型添加新属性
- 修改属性:修改现有属性的名称和类型
- 删除属性:删除物品类型的属性
- 刷新:刷新类型列表显示
- 在管理员功能对话框中选择 "用户审批" 标签页
- 查看待审批用户列表
- 选择要批准的用户
- 点击 "批准选中用户" 按钮
- 用户被批准后即可登录使用系统
点击 "退出登录" 按钮,退出当前用户会话。
-
左侧区域:
- 物品列表:显示所有物品的名称和类型
- 操作按钮:添加、删除、搜索、刷新
-
右侧区域:
- 用户信息:显示当前登录用户信息
- 状态信息:显示登录状态
- 物品详情:显示选中物品的详细信息
- 用户操作按钮:登录/注册、退出登录、管理员功能
- 登录/注册对话框:支持在登录和注册模式之间切换
- 添加物品对话框:用于输入新物品信息
- 搜索对话框:用于输入搜索条件
- 管理员功能对话框:包含两个标签页(物品类型管理、用户审批)
系统初始化时自动创建以下默认物品类型:
-
食品
- 属性:保质期(字符串)、数量(整数)
-
书籍
- 属性:作者(字符串)、出版社(字符串)
-
工具
- 属性:工具状态(字符串)
-
其他
- 无特定属性
管理员可以根据需要创建新的物品类型并定义自定义属性。
-
用户权限:
- 普通用户需要管理员批准后才能登录
- 只有管理员可以管理物品类型和审批用户
-
物品操作:
- 所有物品操作(添加、删除、搜索)都需要先登录
- 物品名称用于唯一标识物品
-
搜索功能:
- 搜索关键字会在物品名称、说明和联系人名称中进行匹配
- 匹配是不区分大小写的
- 可以选择搜索所有类型或指定类型
-
数据持久化:
- 当前版本的数据存储在内存中,程序关闭后数据不会保存
- 如需数据持久化,需要添加文件存储功能
-
找不到 Qt 库:
- 确保已正确安装 Qt
- 检查 Makefile 中的 Qt 路径设置
- macOS 上使用
brew --prefix qt查看 Qt 安装路径
-
MOC 错误:
- 确保系统中有 MOC(Meta-Object Compiler)工具
- Makefile 会自动查找 MOC 工具
-
链接错误:
- 检查 Qt 框架是否正确链接
- 确保所有必要的 Qt 库都已安装
-
程序无法启动:
- 检查 Qt 库是否正确安装
- 确保有执行权限:
chmod +x output/main
-
界面显示异常:
- 检查 Qt 版本兼容性
- 尝试重新编译项目
- GUI 框架:Qt (Qt5/Qt6)
- 编程语言:C++17
- 构建系统:Makefile
- 架构模式:MVC(Model-View-Controller)
-
项目结构:
include/:头文件目录src/:源文件目录output/:编译输出目录lib/:库文件目录
-
主要文件:
mainwindow.h/cpp:主窗口和对话框实现interface.h/cpp:业务逻辑接口inventory.h/cpp:物品管理user.h/cpp:用户管理itemtype.h/cpp:物品类型管理
- ✅ 完善了搜索功能,支持搜索所有类型
- ✅ 增强了管理员功能,支持修改和删除物品类型属性
- ✅ 改进了物品详情显示,显示物品类型的属性信息
- ✅ 修复了所有编译错误和警告
- ✅ 添加了完整的 GUI 功能实现
本项目为课程作业项目,仅供学习和研究使用。
如有问题或建议,请联系项目维护者。
祝使用愉快!