Skip to content

Latest commit

 

History

History
287 lines (209 loc) · 8.24 KB

File metadata and controls

287 lines (209 loc) · 8.24 KB

物品复活系统 - GUI 版本使用说明

项目概述

物品复活系统是一个面向大学生群体的闲置物品交易平台,支持物品信息管理、用户权限管理、动态物品类型管理等功能。本版本提供了完整的图形用户界面(GUI),使用 Qt 框架开发。

功能特性

1. 用户系统

  • 用户注册:新用户可以注册账户,需要填写用户名、密码、住址、电话、邮箱等信息
  • 用户登录:已注册且被管理员批准的用户可以登录系统
  • 用户审批:管理员可以审批待注册用户的申请
  • 权限管理:系统支持管理员和普通用户两种角色

2. 物品管理

  • 添加物品:用户可以选择物品类型并添加物品信息(名称、说明、地址等)
  • 删除物品:用户可以删除自己添加的物品
  • 查看物品:用户可以查看所有物品的详细信息
  • 搜索物品:支持按类型和关键字搜索物品,可以搜索所有类型或指定类型

3. 物品类型管理(管理员功能)

  • 添加物品类型:管理员可以创建新的物品类型
  • 添加属性:为物品类型添加自定义属性(支持字符串、整数、浮点数三种类型)
  • 修改属性:修改现有属性的名称和类型
  • 删除属性:删除物品类型的属性

4. 用户审批(管理员功能)

  • 查看待审批用户:管理员可以查看所有待审批的用户列表
  • 批准用户:管理员可以批准用户的注册申请

系统要求

编译环境

  • 操作系统:macOS / Linux / Windows
  • 编译器:支持 C++17 的编译器(g++ / clang++)
  • Qt 版本:Qt 5.x 或 Qt 6.x
  • 构建工具:make

依赖安装

macOS (使用 Homebrew)

brew install qt make

Linux (Ubuntu/Debian)

sudo apt-get install qt5-default build-essential

Windows

需要安装 Qt 开发环境,推荐使用 Qt Creator 或手动配置 Qt 环境变量。

编译和运行

编译项目

make clean    # 清理之前的编译文件
make          # 编译项目

运行程序

make run      # 编译并运行
# 或者
./output/main  # 直接运行编译好的程序

使用指南

首次使用

  1. 启动程序后,会显示主窗口
  2. 默认管理员账户
    • 用户名:admin
    • 密码:admin123
    • 注意:首次使用后请及时修改密码

用户注册

  1. 点击主窗口右上角的 "登录/注册" 按钮
  2. 在弹出的对话框中点击 "切换到注册"
  3. 填写以下信息:
    • 用户名(必填)
    • 密码(必填)
    • 住址(必填)
    • 电话(必填)
    • 邮箱(必填)
  4. 点击 "确定" 完成注册
  5. 注册成功后,需要等待管理员审批

用户登录

  1. 点击主窗口右上角的 "登录/注册" 按钮
  2. 在登录模式下输入:
    • 用户名
    • 密码
  3. 点击 "确定" 登录
  4. 只有被管理员批准的用户才能成功登录

添加物品

  1. 登录后,点击左侧的 "添加物品" 按钮
  2. 在弹出的对话框中填写:
    • 物品名称(必填)
    • 物品说明
    • 物品地址
    • 选择物品类型(从下拉列表中选择)
  3. 点击 "确定" 完成添加
  4. 系统会自动使用当前登录用户的联系信息作为物品的联系人信息

查看物品详情

  1. 在左侧物品列表中点击任意物品
  2. 右侧会显示该物品的详细信息,包括:
    • 物品名称、说明、地址
    • 物品类型及其属性定义
    • 联系人信息(姓名、电话、邮箱)

搜索物品

  1. 点击 "搜索物品" 按钮
  2. 在弹出的对话框中:
    • 输入搜索关键字(必填)
    • 选择物品类型(可选,选择"全部类型"可搜索所有类型)
  3. 点击 "确定" 开始搜索
  4. 搜索结果会在物品列表中高亮显示,并自动显示第一个匹配物品的详情

删除物品

  1. 在左侧物品列表中点击要删除的物品
  2. 点击 "删除物品" 按钮
  3. 确认删除操作

管理员功能

管理物品类型

  1. 以管理员身份登录后,点击 "管理员功能" 按钮
  2. 在打开的对话框中选择 "物品类型管理" 标签页
  3. 可以执行以下操作:
    • 添加类型:创建新的物品类型
    • 添加属性:为选中的物品类型添加新属性
    • 修改属性:修改现有属性的名称和类型
    • 删除属性:删除物品类型的属性
    • 刷新:刷新类型列表显示

审批用户

  1. 在管理员功能对话框中选择 "用户审批" 标签页
  2. 查看待审批用户列表
  3. 选择要批准的用户
  4. 点击 "批准选中用户" 按钮
  5. 用户被批准后即可登录使用系统

退出登录

点击 "退出登录" 按钮,退出当前用户会话。

界面说明

主窗口布局

  • 左侧区域

    • 物品列表:显示所有物品的名称和类型
    • 操作按钮:添加、删除、搜索、刷新
  • 右侧区域

    • 用户信息:显示当前登录用户信息
    • 状态信息:显示登录状态
    • 物品详情:显示选中物品的详细信息
    • 用户操作按钮:登录/注册、退出登录、管理员功能

对话框说明

  • 登录/注册对话框:支持在登录和注册模式之间切换
  • 添加物品对话框:用于输入新物品信息
  • 搜索对话框:用于输入搜索条件
  • 管理员功能对话框:包含两个标签页(物品类型管理、用户审批)

默认物品类型

系统初始化时自动创建以下默认物品类型:

  1. 食品

    • 属性:保质期(字符串)、数量(整数)
  2. 书籍

    • 属性:作者(字符串)、出版社(字符串)
  3. 工具

    • 属性:工具状态(字符串)
  4. 其他

    • 无特定属性

管理员可以根据需要创建新的物品类型并定义自定义属性。

注意事项

  1. 用户权限

    • 普通用户需要管理员批准后才能登录
    • 只有管理员可以管理物品类型和审批用户
  2. 物品操作

    • 所有物品操作(添加、删除、搜索)都需要先登录
    • 物品名称用于唯一标识物品
  3. 搜索功能

    • 搜索关键字会在物品名称、说明和联系人名称中进行匹配
    • 匹配是不区分大小写的
    • 可以选择搜索所有类型或指定类型
  4. 数据持久化

    • 当前版本的数据存储在内存中,程序关闭后数据不会保存
    • 如需数据持久化,需要添加文件存储功能

故障排除

编译问题

  1. 找不到 Qt 库

    • 确保已正确安装 Qt
    • 检查 Makefile 中的 Qt 路径设置
    • macOS 上使用 brew --prefix qt 查看 Qt 安装路径
  2. MOC 错误

    • 确保系统中有 MOC(Meta-Object Compiler)工具
    • Makefile 会自动查找 MOC 工具
  3. 链接错误

    • 检查 Qt 框架是否正确链接
    • 确保所有必要的 Qt 库都已安装

运行时问题

  1. 程序无法启动

    • 检查 Qt 库是否正确安装
    • 确保有执行权限:chmod +x output/main
  2. 界面显示异常

    • 检查 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 功能实现

许可证

本项目为课程作业项目,仅供学习和研究使用。

联系方式

如有问题或建议,请联系项目维护者。


祝使用愉快!