Skip to content

chungbinb/ipam

Repository files navigation

IT资产管理系统

一个基于PHP + MySQL的企业级IT资产管理系统,支持多种设备类型管理、权限控制、统计分析等功能。

🌐 在线演示

演示地址: https://ai-ipam.i-522.com/

演示账号:

  • 用户名:admin
  • 密码:123456

💡 提示: 演示环境,您可以自由体验所有功能!

📸 系统预览

登录页面

登录页面

IP段管理

IP段管理界面

IP段详情管理

IP段详情界面

IP地址管理

IP地址管理

设备管理

设备管理

🚀 快速安装

  • 安装时会有环境检测

环境要求

  • PHP >= 7.4 (推荐 8.0+)
  • MySQL >= 5.5 (支持 5.5-8.4.5)
  • Web服务器 (Apache/Nginx)
  • PDO MySQL扩展

核心功能依赖:

  • 基础功能: PDO、JSON、cURL、session扩展
  • IP段扫描: 系统命令 pingfpingnmaparp
  • 文件上传: file_uploads = On,合适的 upload_max_filesize
  • 批量处理: exec() 函数启用,max_execution_time 适当设置
  • 日志记录: storage/logs/ 目录写入权限

网络环境要求:

  • 局域网扫描: 推荐在内网环境使用IP扫描功能
  • 防火墙设置: 确保必要端口开放(HTTP/HTTPS)
  • DNS解析: 建议配置本地DNS或hosts文件

方式一:宝塔面板部署(推荐)

如果您使用宝塔面板,请参考 宝塔面板部署指南 进行快速部署。

安装工具选择

根据您的MySQL版本选择合适的安装工具:

🔍 版本检测工具

  • 如需检测MySQL版本,可查看数据库管理工具
  • 或通过 SELECT VERSION() SQL语句检查

🔧 兼容性修复工具

  • 访问 http://你的域名/mysql8_fix.php
  • 自动适配 MySQL 5.5, 5.7, 8.0, 8.4+ 等版本
  • 智能选择兼容的SQL文件并修复兼容性问题

📋 增强安装向导(推荐)

  • 访问 http://你的域名/install.php
  • 全新响应式界面,完美适配手机、平板、电脑
  • 完整的错误检测和提示
  • 强化的系统环境检测(ping、fping、nmap、arp等工具)
  • 自动处理MySQL保留关键字兼容性
  • 验证所有数据库表是否正确创建
  • 详细的故障排除指南和安装提示

方式二:通用安装步骤

  1. 下载系统文件

    # 将系统文件上传到Web服务器目录
  2. 配置Web服务器

    • 确保Web服务器指向项目根目录
    • 配置URL重写(可选,推荐使用nginx.conf配置)
  3. 运行安装向导

    访问: http://your-domain/install.php
    
  4. 按照安装向导完成配置

    • 响应式环境检测界面,支持多设备访问
    • 强化的系统工具检测(ping、fping、nmap、arp等)
    • 数据库配置和连接测试(优化的两列布局)
    • 自动创建表结构(支持MySQL 5.5-8.4.5)
    • 验证所有13个数据库表创建成功
    • 创建默认管理员账号
    • 详细的错误信息和故障排除建议
  5. 删除安装文件

    rm install.php  # 安装完成后请删除此文件

默认账号

  • 用户名: admin
  • 密码: 123456
  • 重要: 首次登录后请立即修改密码

📋 功能特性

设备管理

  • 🖥️ 笔记本电脑管理 - 型号、配置、状态跟踪
  • 📺 显示器管理 - 品牌、尺寸、接口类型
  • 🖨️ 打印机管理 - 类型、耗材、维护记录、批量导入
  • 🏢 主机管理 - 服务器配置、用途分类
  • 🖥️ 服务器管理 - 远程连接、端口扫描

批量处理功能:

  • 📥 Excel导入 - 支持按列名识别的智能导入
  • 📤 模板导出 - 提供标准Excel模板
  • 🔄 数据同步 - 支持增量更新和全量同步
  • 格式验证 - 自动检查数据格式和完整性

资源管理

  • 📦 耗材管理 - 库存出入库、消耗统计、批量导入导出
  • 🌐 IP地址管理 - 网段规划、地址分配、快速扫描
  • 🏷️ 品牌管理 - 设备品牌统一管理
  • 🏢 部门管理 - 组织架构、资产归属

IP管理增强功能:

  • 高速扫描 - 优化算法,大幅提升扫描速度
  • 📋 扫描日志 - 详细记录扫描历史和结果
  • 🔍 智能检测 - 自动识别设备类型和状态
  • 📊 可视化界面 - 全屏模式、动画效果

系统功能

  • 👥 多级权限 - 系统管理员/管理员/网管
  • 📊 统计分析 - 资产统计、使用率分析
  • 📝 操作日志 - 完整的操作记录
  • 🔐 安全认证 - 登录验证、会话管理
  • 🛡️ 错误调试 - 详细的日志记录和错误追踪
  • 📱 响应式设计 - 完美适配各种设备和屏幕尺寸
  • 🎨 现代化界面 - 流畅的动画效果和交互体验

🛠️ 技术架构

  • 后端: PHP 7.4+, PDO MySQL
  • 前端: HTML5, CSS3, JavaScript (原生,无jQuery依赖),响应式设计
  • 数据库: MySQL 5.5-8.4.5(完全兼容)
  • 架构: MVC模式, RESTful API
  • 部署: 支持宝塔面板、Apache、Nginx等多种环境
  • 安全: 密码哈希加密、会话管理、防SQL注入
  • UI/UX: CSS Grid、Flexbox布局,平滑动画过渡

📁 目录结构

├── index.php           # 主入口文件(支持路径重写)
├── install.php         # 增强安装向导
├── mysql8_fix.php      # MySQL兼容性修复工具
├── public/            # 静态资源和页面
│   ├── css/           # 样式文件
│   ├── js/            # JavaScript文件
│   ├── login.html     # 登录页面(已优化UI和错误处理)
│   └── *.html         # 功能页面(已修复API路径)
├── src/               # 源代码
│   ├── controllers/   # 控制器(含详细错误日志)
│   ├── models/        # 数据模型
│   ├── config/        # 配置文件
│   ├── middleware/    # 中间件(认证等)
│   └── services/      # 服务层
├── sql/               # 数据库结构文件(MySQL多版本兼容)
└── storage/           # 存储目录
    ├── sessions/      # 会话文件
    └── logs/          # 日志文件

🔧 配置说明

数据库配置

配置文件: src/config/database.php

Web服务器配置

推荐使用提供的 nginx.conf 配置文件

权限说明

  • 系统管理员: 完全权限,管理所有功能
  • 管理员: 管理网管账号和设备资产
  • 网管: 只能查看和修改自己的信息

📞 技术支持

新功能与修复 (v1.5.1)-(2025-09-08)

🎨 UI界面精细化优化

  • 优化搜索框圆角设计,从25px调整为10px,视觉更加精致
  • 更新扫描按钮图标,使用自定义SVG扫描框图标替换emoji
  • 统一顶部搜索区域的设计语言,提升界面一致性
  • 增强按钮视觉效果,改进扫描框角落标识的可识别性

📷 扫码功能重磅上线

  • 手机版新增条码/二维码扫描功能,支持快速查找和编辑资产
  • 智能识别资产类型:主机(PC-)、显示器(MONITOR-)、打印机(PRINT-)、耗材(其他)
  • 扫描已存在资产编号可直接编辑,扫描新编号可快速新增
  • 支持摄像头切换、闪光灯控制等高级功能
  • 兼容条形码和二维码多种格式扫描

📱 手机版界面全面重构

  • 移除冗余的移动端访问提示,简化界面结构
  • 修复资产概览数据加载问题,实时显示准确统计
  • 新增专业的扫码界面,包含扫描框和动画效果
  • 添加顶部搜索功能,支持模糊搜索所有资产类型
  • 优化表单设计,提供更好的移动端输入体验
  • 增强触摸交互和视觉反馈

🔧 扫码技术特性

  • 专用QuaggaJS条码检测引擎,专注Code 128条码识别
  • 优化iOS Safari兼容性,稳定高效的检测性能
  • 智能扫描框设计:320x120px横条形状,适配Code 128条码
  • 创新的随机点动画系统,替代传统扫描线
  • 自动选择最佳摄像头(优先后置环境摄像头)
  • 提供手动输入备选方案,确保兼容性
  • 实时扫描检测,响应迅速,85%置信度阈值

🛠️ 资产管理增强

  • 扫码结果智能分类和路由到对应资产类型
  • 统一的资产编辑表单,支持所有字段修改
  • 完善的API集成,确保数据一致性
  • 新增和编辑操作的无缝切换
  • 实时数据验证和错误处理
  • 全局资产搜索功能,支持跨类型模糊查找

📱 移动端搜索系统

  • 实现顶部搜索框,支持模糊匹配资产编号、名称、部门等
  • 智能加载所有资产类型数据进行统一搜索
  • 搜索结果分类显示,清晰展示资产类型和关键信息
  • 支持搜索结果直接跳转到资产详情编辑
  • 优化搜索性能,提供流畅的交互体验

历史版本更新 (v1.5.0)-(2025-09-08)

📷 扫码功能重磅上线

  • 手机版新增条码/二维码扫描功能,支持快速查找和编辑资产
  • 智能识别资产类型:主机(PC-)、显示器(MONITOR-)、打印机(PRINT-)、耗材(其他)
  • 扫描已存在资产编号可直接编辑,扫描新编号可快速新增
  • 支持摄像头切换、闪光灯控制等高级功能
  • 兼容条形码和二维码多种格式扫描

📱 手机版界面全面优化

  • 移除冗余的移动端访问提示,简化界面
  • 修复资产概览数据加载问题,实时显示准确统计
  • 新增专业的扫码界面,包含扫描框和动画效果
  • 优化表单设计,提供更好的移动端输入体验
  • 增强触摸交互和视觉反馈

🔧 扫码技术特性

  • 专用QuaggaJS条码检测引擎,专注Code 128条码识别
  • 优化iOS Safari兼容性,稳定高效的检测性能
  • 支持Code 128、EAN-13、EAN-8、Code 39等主流条码格式
  • 自动选择最佳摄像头(优先后置环境摄像头)
  • 提供手动输入备选方案,确保兼容性
  • 实时扫描检测,响应迅速

🛠️ 资产管理增强

  • 扫码结果智能分类和路由到对应资产类型
  • 统一的资产编辑表单,支持所有字段修改
  • 完善的API集成,确保数据一致性
  • 新增和编辑操作的无缝切换
  • 实时数据验证和错误处理

历史版本更新 (v1.4.2)-(2025-09-08)

📱 手机版界面全新发布

  • 自动检测移动设备,智能重定向到手机版页面
  • 响应式设计,支持各种屏幕尺寸和设备类型
  • 手机版提供核心功能的简化操作界面
  • 支持手机版和桌面版之间的无缝切换

🔧 移动设备优化

  • 优化触摸交互体验,适配手指操作
  • 简化操作流程,专为移动设备设计
  • 优化加载速度和网络请求效率
  • 新增设备检测测试页面,便于调试

🎨 用户体验提升

  • 在桌面版添加"手机版"切换按钮
  • 在手机版添加"完整版"访问按钮
  • 统一的登录体验,自动选择合适的界面
  • 改进的导航和操作提示

🛠️ 技术架构增强

  • 完善的移动设备检测机制
  • 灵活的重定向逻辑,支持强制指定版本
  • 优化的API认证处理,确保移动端安全性
  • 新增设备检测调试工具

历史版本更新 (v1.4.1)-(2025-09-04)

🔧 主机管理功能增强

  • 修复Excel导入时空日期字段导致的数据库错误
  • 优化批量导入逻辑,改为顺序处理避免并发问题
  • 增强导入数据验证,自动处理空的必填字段
  • 改进错误提示,显示详细的失败原因和行号
  • 添加导入进度显示和结果统计

🎨 用户界面优化

  • 优化高级搜索区域按钮排版和视觉效果
  • 为搜索和重置按钮添加图标和悬停效果
  • 改进按钮布局,使用右对齐和统一样式
  • 增加阴影效果和渐变过渡,提升用户体验

🛠️ 技术架构改进

  • 强化异常处理机制,防止辅助功能影响主流程
  • 优化数据库插入逻辑,自动处理空值和无效数据
  • 改进API错误响应,提供更准确的错误描述
  • 增强日志记录,便于问题诊断和调试

历史版本更新 (v1.4)-(2025-09-01)

🔐 身份验证系统全面修复

  • 修复用户访问某些页面时反复提示登录的问题
  • 统一所有管理页面的API请求处理机制
  • 添加自动身份验证检测和401错误处理
  • 实现会话状态自动维持,确保登录状态持久化
  • 覆盖14个核心管理页面的认证修复

📋 日志管理界面优化

  • 修复日志表格行多行显示问题,改为单行显示
  • 优化表格单元格样式,长内容自动截断并显示省略号
  • 改进表格行高度一致性和视觉效果
  • 增强日志查看的用户体验

🔧 技术架构改进

  • 统一API请求函数实现,支持自动Cookie传递
  • 现代化异步请求处理,从jQuery转换为原生async/await
  • 增强错误处理机制,提供更准确的错误提示
  • 优化前端代码结构,提高维护性

历史版本更新 (v1.3)-(2025-08-31)

🎨 安装程序界面优化

  • 全面响应式布局设计,完美适配各种屏幕尺寸
  • 移除固定宽度限制,最大宽度扩展至1400px
  • 新增响应式断点:1600px+、1200px、1024px、768px、600px、480px
  • 环境检测结果采用多列网格布局,信息展示更清晰
  • 数据库配置表单优化为两列网格布局
  • 增强的移动端适配,改善小屏幕设备体验

🔧 IP段管理功能增强

  • 添加平滑的全屏切换动画效果
  • 优化全屏按钮样式和交互体验
  • 改进网格布局转换的视觉效果
  • 增强按钮状态管理和图标变化

🛠️ 系统环境检测强化

  • 新增系统工具检测(ping、fping、nmap、arp)
  • 增强exec函数可用性检查
  • 完善PHP扩展和配置检测
  • 添加详细的安装提示和错误指导
  • 实现强制环境检查,确保所有依赖满足后才能继续安装

历史版本更新 (v1.2)

🔐 登录系统优化

  • 全新的登录界面设计,美观易用
  • 增强的错误处理和调试信息
  • 详细的登录日志记录
  • 改进的密码验证机制(支持明文密码自动转换)
  • 智能错误提示,便于问题诊断

🛠️ 系统稳定性提升

  • 完善的异常处理机制
  • 分段错误检测,精确定位问题
  • 增强的调试模式,便于开发和维护
  • 优化的会话管理

🎨 UI/UX 改进

  • 响应式登录界面,支持各种设备
  • 优化的加载状态和错误提示
  • 改进的图标和视觉效果
  • 解决favicon 404问题

常见问题解决

登录问题

  • 系统提供详细的错误日志,便于定位问题
  • 支持密码自动哈希转换
  • 改进的错误消息提示
  • 完善的会话验证机制

API 404错误

  • 系统已修复前端API路径问题
  • 支持宝塔面板等子目录部署
  • 使用相对路径确保兼容性

MySQL兼容性问题

  • 自动处理MySQL保留关键字(function, manual等)
  • 支持MySQL 5.5到8.4.5所有版本
  • 智能SQL模式设置

故障排除

如遇到问题,请按以下顺序检查:

  1. 环境检查

    • PHP版本 >= 7.4
    • PDO MySQL扩展已启用
    • 数据库连接正常
    • 系统工具可用性(ping、fping、nmap、arp)
    • exec函数是否启用
    • 文件上传功能是否正常
  2. 安装检查

    • 所有13个数据库表是否创建成功
    • 配置文件是否正确生成
    • 目录权限是否设置正确(特别是storage/logs/和storage/uploads/)
    • 安装向导的环境检测是否全部通过
  3. 部署检查

    • Web服务器配置是否正确
    • URL重写规则是否生效
    • 静态资源是否可以访问
    • 响应式布局在不同设备上是否正常显示
  4. 功能验证

    • 登录功能是否正常
    • 各功能模块页面是否加载正常
    • API接口是否响应正常
    • 全屏模式和动画效果是否工作正常
    • IP扫描功能是否可用
    • 批量导入导出是否正常
  5. 性能检查

    • IP扫描速度是否符合预期(几十秒内完成)
    • 批量导入处理是否正常
    • 日志记录是否正常写入
  6. 日志检查

    • 查看PHP错误日志
    • 检查系统登录日志
    • 查看详细的调试信息

开发者支持

调试模式

  • 在开发环境中,系统会返回详细的错误信息
  • 完整的堆栈跟踪信息
  • 请求详情记录

日志系统

  • 详细的操作日志记录
  • 登录/登出日志追踪
  • 错误日志和异常记录

版本: 1.5.1
更新时间: 2025-09-08
重要更新:

  • ✅ 新增专业的条码扫描功能,支持QuaggaJS Code 128专用检测
  • ✅ 全面重构手机版界面,添加顶部搜索和扫码功能
  • ✅ 优化iOS Safari扫码兼容性,创新随机点动画系统
  • ✅ 实现全局资产搜索,支持跨类型模糊查找
  • ✅ 精细化UI优化,搜索框圆角和扫描按钮图标优化
  • ✅ 智能资产编号识别和分类路由系统
  • ✅ 完善的扫码错误处理和手动输入备选方案

环境要求增强:

  • IP扫描功能: 需要系统支持 pingfpingnmaparp 命令
  • 批量导入: 需要PHP支持文件上传和CSV处理
  • 日志记录: 需要 storage/logs/ 目录写入权限
  • 网络扫描: 建议在局域网环境中使用,外网扫描可能受防火墙限制
  • 会话管理: 确保PHP会话功能正常,session.cookie_httponly = 1 建议启用

历史版本:

  • v1.5.0 (2025-09-08): 扫码功能重磅上线、手机版界面全面重构、QuaggaJS专用条码检测
  • v1.4.2 (2025-09-08): 手机版界面全新发布、移动设备检测优化
  • v1.4.1 (2025-09-04): 主机管理功能增强、用户界面优化
  • v1.4 (2025-09-01): 身份验证系统全面修复、日志管理界面优化
  • v1.3 (2025-08-31): 全面优化安装程序响应式布局、增强IP段管理全屏动画效果、强化系统环境检测
  • v1.2 (2025-08-31): 优化登录系统、优化UI/UX、增强错误处理
  • v1.1: 基础功能完善、权限系统优化
  • v1.0: 初始版本发布

About

在公司里面做IT资产管理还在用表格,于是萌生了用AI生成这个IT资产管理的项目

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages