Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

弱电施工现场管理台(团队协作版)

面向弱电智能化工程现场的团队协同系统:后端 RESTful API + Web 管理控制台 + 微信小程序。 支持多工地、多成员协作,管理施工任务 / 进度 / 人员 / 设备,现场拍照上传、进度更新,含登录与站点级权限控制。

技术栈

  • 后端:Python 标准库 http.server + sqlite3,零第三方依赖,单进程即可运行
  • 前端控制台:单文件 public/index.html(内联 CSS/JS,localStorage 存 Token,同源托管)
  • 小程序:微信小程序原生(WXML/WXSS/JS),通过 wx.request / wx.uploadFile 与后端通信
  • 鉴权:Bearer Token(登录签发,API 走 Authorization 头);密码用 PBKDF2-HMAC-SHA256 加盐哈希
  • 权限:站点级 admin / member / viewer 三角色

目录结构

weakcurrent_site_mgmt/
├── server.py              # 后端 API(零依赖)
├── public/index.html      # Web 管理控制台(同端口托管)
├── test_api.py            # 后端端到端联调脚本
├── miniprogram/           # 微信小程序源码
│   ├── config.js          # ⚠️ 改成你的公网 HTTPS 域名
│   ├── utils/api.js       # 请求封装(含照片上传)
│   ├── app.js/json/wxss
│   └── pages/             # login / sites / tasks / task-detail / equipment / profile
├── deploy/                # 服务器部署包
│   ├── Dockerfile
│   ├── docker-compose.yml
│   ├── nginx.conf
│   ├── weakcurrent-site-mgmt.service   # systemd 单元
│   └── DEPLOY.md          # 上线运行手册
└── uploads/               # 运行时生成的现场照片(已在 .gitignore 排除)

本地运行(开发)

cd weakcurrent_site_mgmt
PYTHONIOENCODING=utf-8 python server.py 8000
# 浏览器打开 http://127.0.0.1:8000  → Web 控制台

小程序用微信开发者工具打开 miniprogram/ 目录,先把 config.js 的 BASE_URL 指向本机 (开发时可在开发者工具勾选「不校验合法域名」)。

联调测试

python test_api.py      # 注册/登录/工地/成员/任务/进度/拍照/设备/权限 全流程 21 项断言

权限模型

角色 能力
admin(工地创建者自动获得) 管理成员、改角色、删成员、改工地信息、增删设备
member 建任务、更新进度、上传照片、增删设备
viewer 只读(看任务/设备/成员/统计)

未登录访问任何 /api/*(除 register/login)返回 401;非工地成员访问返回 403。

RESTful API 速查

方法 路径 说明 权限
POST /api/register 注册用户 公开
POST /api/login 登录拿 Token 公开
POST /api/logout 注销 登录
GET /api/me 当前用户+我的工地 登录
GET/POST /api/sites 工地列表 / 新建 登录 / 登录
GET/PUT /api/sites/<id> 工地详情 / 改信息 member / admin
GET/POST /api/sites/<id>/members 成员列表 / 邀请 成员 / admin
PUT/DELETE /api/sites/<id>/members/<uid> 改角色 / 移除 admin
GET/POST /api/sites/<id>/tasks 任务列表 / 新建 成员 / member
GET/PUT /api/tasks/<id> 任务详情 / 改 成员 / member
POST /api/tasks/<id>/progress 更新进度(可带照片) member
GET/POST /api/sites/<id>/equipment 设备列表 / 新建 成员 / member
PUT /api/equipment/<id> 改设备状态 member
GET /api/sites/<id>/stats 统计 成员
POST /api/upload 现场照片上传(multipart) member

数据格式:请求/响应均为 JSON(除 /api/upload 为 multipart/form-data)。 小程序与控制台共用同一套接口与字段命名,无需任何转换。

About

弱电施工现场管理台(团队协作版):后端API + Web控制台 + 微信小程序

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages