Skip to content

About

相机管理系统 一个简易版的记录相机的相关信息,方便安防集成商以及大中型企事业单位管理和运维效率,支持地址的增删改查等管理操作。

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

相机地址管理系统 - 简易版

技术栈

  • 后端框架:Flask
  • 数据库:SQLite
  • 前端框架:Bootstrap 5.3.0
  • Excel处理:openpyxl
  • 日志记录:Python logging模块

项目结构

camera_manager/
├── app.py              # Flask 主应用
├── models.py           # 数据库模型
├── utils.py            # 工具函数
├── templates/
│   ├── base.html       # 基础模板
│   ├── index.html      # 首页(列表展示)
│   ├── add.html        # 添加页面
│   └── edit.html       # 编辑页面
└── requirements.txt    # 依赖

网站目的

一个简易版的记录相机的相关信息,方便安防集成商以及大中型企事业单位管理和运维效率,支持地址的增删改查等管理操作。

首页展示:

首页展示

首页显示

  1. 可现实所有列数据
  2. 可定制显示的列数据
  3. 可导出Excel文件
  4. 可导入Excel文件
  5. 可查看或编辑相机的详细信息
  6. 默认显示相机编码、相机名称(751-2024)、IP地址、经纬度、地理位置、所属辖区

实现的功能

1. 核心数据字段

相机地址记录包含以下字段:

  1. 相机类型:枪机、球机、人像、结构化、微卡、双舱、全局、高点、全景
  2. 相机编码:(必填,唯一)
  3. 相机名称(751-2024):(必填)
  4. 相机名称(751-2008):(必填)
  5. 经纬度
  6. 地理位置
  7. 所属辖区
  8. IP地址
  9. 运营商
  10. 运维单位
  11. 运维人员
  12. 运维人员电话
  13. 运维单位责任人
  14. 单位责任人电话
  15. 更新日期:年月日(必填,默认当前日期)
  16. 备注

2. 核心功能

  • 相机编码增删改查
  • 相机编码唯一性验证:确保不会添加重复编码
  • 相机编码排序:按编码从小到大自动排序(SQLite兼容实现)
  • 批量添加功能:输入编码号(如:09-157-01)时,自动计算并添加所有可用编码(取消批量添加待完善)
  • 经纬度:经纬度保持小数点后六位(如:118.794058,37.264498)
  • 自动补全功能:常用字段支持自动补全,提高录入效率
  • 分页功能:每页显示300行数据,提高大数据量下的页面加载速度
  • Excel导入导出:支持批量导出相机列表和从Excel文件导入数据
  • 搜索功能:支持按IP地址、相机名称、相机编码、运维单位、运维人员、所属辖区进行搜索

3. 技术实现要点

  • Bootstrap引入:使用CDN加载,无需本地文件
  • 响应式设计:使用Bootstrap栅格系统,适配不同屏幕尺寸
  • 分页实现:使用SQLAlchemy的paginate方法实现数据库级分页
  • 排序:SQLite默认序列排序
  • 日志记录:实现了请求日志和错误日志记录
  • Excel处理:使用openpyxl库实现Excel文件的导入导出功能

4. 界面功能

  • 首页:相机列表展示,支持分页、搜索、批量删除和批量导出
  • 添加页面:表单式添加相机名称,支持单个添加和批量添加(相机名称)
  • 编辑页面:修改已有相机名称信息
  • 消息提示:操作结果反馈(成功/失败/警告信息)
  • Excel导入:支持从Excel文件批量导入相机名称信息
  • 动态加载:表格数据分页加载,提高大数据量下的性能

wind版本dist 目录结构:

dist
├── 相机管理系统.exe    ← 主程序(74MB)
├── camera.db           ← SQLite 数据库(含现有数据)
└── templates\          ← HTML 模板目录
├── base.html
├── index.html
├── add.html
└── edit.html

使用方法:

python:

pip install -r requirements.txt
python app.py

在浏览器打开 http://localhost:5000

创建 systemd 服务(推荐生产环境)

创建服务文件 /etc/systemd/system/myapp.service

[Unit]
Description=My Python App
After=network.target

[Service]
User=你的用户名
WorkingDirectory=/path/to/your/app
ExecStart=/usr/bin/python3 /path/to/your/app/app.py
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

wind版本:

将 dist 文件夹整体复制到任意 Windows 电脑

双击运行 相机管理系统.exe

在浏览器打开 http://localhost:5000

数据库文件 camera.db 会随程序运行自动生成到同目录

演示地址:相机管理

注意事项:

程序使用 Flask 内置开发服务器

如需后台运行,可以双击图标后最小化窗口

数据库文件默认存放在 .exe 同目录下,如需重置可删除 camera.db 后重新启动程序

About

相机管理系统 一个简易版的记录相机的相关信息,方便安防集成商以及大中型企事业单位管理和运维效率,支持地址的增删改查等管理操作。

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages