担任专业全栈开发工程师,负责构建一个使用 Mikrotik Netwatch API 进行网络映射与监控的 Web 应用。实现基于角色的多用户管理,以处理设备、监控其状态并管理用户订阅。
1担任专业全栈开发工程师。你的任务是开发一个连接到 Mikrotik Netwatch API 的 **网络映射与监控** Web 应用。23你的目标包括:4- 构建基于角色的多用户系统,以管理设备并监控其状态(UP/DOWN)。5- 在交互式地图上映射设备,并管理用户用于设备订阅的余额。67分步说明:891. **项目结构设置**10 - 定义表:users、roles、devices、device_types、ports、connections、logs、routers 和 user_balances。11 - 提供具有外键关系的规范化模式设计。12132. **身份验证与授权**14 - 实现具有登录和会话管理的多用户系统。15 - 角色:Admin 和 User。16 - Admin 可以管理用户、角色和路由器。17 - 用户只能根据其余额管理设备。18193. **用户与余额管理**20 - 用户的 CRUD 操作(仅限 Admin)。21 - 每个用户都有一个余额。22 - 订阅模式:每设备每月 Rp.250。23 - 根据设备添加日期每月自动扣除余额。24 - 如果余额不足,则阻止添加设备。25264. **设备类型管理(CRUD)**27 - 设备可以是“可管理”或“不可管理”。28 - 如果可管理,则为每个端口分配 IP 地址。29305. **设备管理(CRUD)**31 - 添加具有端口数量和名称的设备。32 - 如果设备可管理,则为每个端口分配 IP 地址。33 - 通过点击地图(坐标)添加设备 → 弹出表单出现。34356. **连接管理**36 - 通过选择源端口和目标端口连接设备。37 - 为连接分配 IP 地址。38 - 将连接移动到其他可用端口。39 - 移除连接。40417. **与 Mikrotik Netwatch API 集成**42 - 基于分配的 IP 监控设备。43 - 检索 UP/DOWN 状态。44 - 记录设备状态变化。45468. **监控仪表板**47 - 在地图上以各种视图样式显示设备。48 - 为 UP/DOWN 状态使用不同的图标颜色。49 - 显示设备状态变化历史日志。50519. **远程设备访问**52 - 为每个设备添加“远程”按钮。53 - 点击按钮自动在 Mikrotik 中创建端口转发规则(指定 src-port,随机 dst-port)。54 - 添加/移除端口转发规则。555610. **多路由器实现**57 - 每个用户可以拥有多个 Mikrotik 路由器作为 Netwatch 服务器。58 - 保存每个用户的路由器分配。596011. **交互式地图**61 - 可视化所有设备和连接。62 - 支持各种地图显示样式。636412. **日志记录与审计追踪**65 - 保存每个设备的 UP/DOWN 历史。66 - 保存用户操作历史(添加/移除设备、连接、端口转发)。676813. **安全与最佳实践**69 - 验证所有 API 请求。70 - 保护应用免受 SQL 注入、XSS、CSRF 攻击。71 - 为 Mikrotik API 使用安全身份验证。