Vue.js 基础
- Vue 核心概念:了解 Vue 的响应式系统、组件、指令(如
v-if
、v-for
、v-model
等)。 - Vue 项目管理:学习 Vue CLI 或 Vite,掌握项目创建、管理和打包。
- 推荐学习顺序:Vue 基础 → 组件化开发 → Vue Router(页面跳转)→ Vuex/Pinia(状态管理)。
- 目标:能够构建单页面应用并理解 Vue 的核心思想。
阶段性目标:物联网设备任务管理系统
1.1 课程介绍_3小时速成 Vue2.x 核心技术-慕课网
学习方法:
- 看:看目录、背书看、重点看
- 记:记笔记、集中点、记讨论
- 连:随堂练、作业练、实战练
1.2 课程安排_3小时速成 Vue2.x 核心技术-慕课网
重点:
第二章、常用知识点
- hello vue应用
- 末班语法、v-bind属性绑定、事件绑定
- 条件渲染、列表渲染、Class与Style绑定
第三章、核心技术
- vue代码规范
- 组建的调试方法
- vue-router、vuex
第四章、集成
- 工作流
- 单页面、动态表单、列表动态展示
- cli工具、开发场景的应用组件
1.3 前置学习环境_3小时速成 Vue2.x 核心技术-慕课网
...
...
vue官网:计算属性 | Vue.js
6.显示和隐藏 v-show_哔哩哔哩_bilibili
...
15.自动侦听器 watchEffect_哔哩哔哩_bilibili
阶段性目标:物联网设备任务管理系统
项目目标:
构建一个基于 Vue.js 的单页面应用,用于管理和监控物联网设备的任务,帮助用户实时查看设备状态、分配任务、并记录设备运行日志。
功能点:
-
设备管理:
-
查看物联网设备列表,包括设备名称、状态(在线/离线)、任务数量等。
-
支持添加、删除或编辑设备信息。
-
-
任务分配:
-
为设备分配任务,例如定时采集数据、发送警报等。
-
每个任务包括任务名称、开始时间、结束时间、任务描述等字段。
-
可查看任务执行状态(进行中/已完成/失败)。
-
-
实时状态监控:
-
实时展示设备状态(在线/离线)。
-
使用 Vue 的响应式系统,更新设备的运行状态和任务完成情况。
-
-
设备日志:
-
记录设备运行的任务日志,包括时间、任务内容、状态等。
-
支持按时间范围和设备名称筛选日志。
-
-
页面跳转:
-
使用 Vue Router 实现页面切换。
-
首页:设备总览。
-
设备详情页:展示单个设备的任务和状态。
-
日志页:展示所有设备的运行日志。
-
-
-
状态管理:
-
使用 Pinia 管理设备和任务数据。
-
实现跨组件的全局状态同步,例如设备状态的更新会自动同步到任务页。
-
-
用户交互:
-
表单动态添加设备或任务,表单验证是否完整。
-
使用搜索功能快速找到设备或任务。
-
任务点:
-
基础任务:
-
学习和使用 Vue CLI 或 Vite 创建项目。
-
使用 Vue 组件化开发构建设备列表和任务表单。
-
使用
v-for
动态渲染设备列表,v-if
控制在线/离线状态显示。
-
-
路由管理:
-
使用 Vue Router 创建三个主要页面:设备总览、设备详情、日志页面。
-
配置动态路由,根据设备 ID 渲染不同的详情页面。
-
-
状态管理:
-
使用 Pinia 管理设备和任务的全局状态。
-
创建
deviceStore
管理设备状态,taskStore
管理任务数据。
-
-
模拟数据:
-
使用模拟数据(如 JSON 文件)生成设备列表和任务记录。
-
实现任务和日志的随机生成逻辑,模拟物联网设备的运行情况。
-
-
优化展示:
-
响应式设计,确保在移动端和桌面端都有良好的显示效果。
-
使用 Element Plus 为表单、表格等组件添加交互和美观样式。
-
最终效果:
-
首页:展示设备总览,设备列表带有实时状态显示。
-
设备详情页:查看单个设备的任务列表,支持添加/编辑任务。
-
日志页:查看设备运行日志,可按时间范围和设备筛选日志。
-
实时交互:设备状态和任务完成情况实时更新。
物联网设备任务管理系统工作流程分为五个步骤:
步骤 1:项目初始化与基础框架搭建
目标:为项目打好基础,搭建前端框架,配置路由和组件结构。
- 任务点:
- 使用 Vue CLI 或 Vite 初始化项目。
- 创建项目:
npm create vite@latest iot-task-manager --template vue
- 安装依赖:
npm install vue-router pinia element-plus
- 配置基础目录结构:
src/ ├── components/ │ ├── DeviceList.vue // 设备列表组件 │ ├── TaskForm.vue // 任务表单组件 │ └── Header.vue // 顶部导航栏组件 ├── views/ │ ├── Home.vue // 首页(设备总览) │ ├── DeviceDetails.vue // 设备详情页面 │ └── Logs.vue // 日志页面 ├── stores/ │ ├── deviceStore.js // 管理设备状态 │ └── taskStore.js // 管理任务状态 ├── App.vue ├── main.js
- 配置 Vue Router:
- 创建路由规则,实现导航到首页、详情页和日志页。
- 动态路由匹配设备详情页面。
输出:
一个基本的前端项目骨架,页面间可自由跳转。
步骤 2:设备管理模块开发
目标:实现设备的增删查改功能和设备状态显示。
- 任务点:
- 设备列表展示:
- 使用
v-for
渲染设备列表。- 每个设备显示名称、状态(在线/离线)、任务数。
- 添加设备:
- 创建一个模态框或表单,填写设备信息。
- 使用 Pinia 管理设备状态,将新设备数据添加到设备列表。
- 删除设备:
- 在每个设备后添加一个删除按钮,点击后从设备列表中移除。
- 状态显示:
- 根据设备的状态显示不同样式(绿色表示在线,红色表示离线)。
输出:
设备管理功能完成,用户可查看、添加、删除设备。
步骤 3:任务分配模块开发
目标:为设备分配任务并展示任务进度。
- 任务点:
- 任务表单:
- 创建表单输入任务名称、开始时间、结束时间、任务描述。
- 使用
v-model
双向绑定表单数据。- 提交后将任务分配给指定设备。
- 任务列表:
- 在设备详情页展示任务列表。
- 使用
v-for
渲染任务,显示任务名称、状态、时间范围。- 任务状态更新:
- 使用
v-if
和v-else
切换任务状态(进行中/完成)。- 添加“完成任务”按钮,点击后更新任务状态。
输出:
任务分配和管理功能完成,用户可为设备添加任务并更新任务状态。
步骤 4:日志模块开发
目标:记录设备的运行日志,支持筛选和搜索。
- 任务点:
- 日志记录:
- 每当设备执行任务时,生成一条日志记录。
- 日志内容包括时间、设备名称、任务名称、状态。
- 日志表格:
- 使用
v-for
渲染日志数据,展示为表格。- 表格字段包括时间、设备、任务、状态。
- 日志筛选:
- 创建筛选控件,可按时间范围、设备名、状态筛选日志。
- 实现动态更新表格内容。
输出:
日志模块完成,用户可查看和筛选设备运行日志。
步骤 5:优化与部署
目标:优化用户体验,增加额外功能,完成项目部署。
- 任务点:
- UI 优化:
- 使用 Element Plus 提升表单和表格样式。
- 为任务状态、设备状态等添加颜色和图标标识。
- 响应式设计:
- 使用媒体查询优化页面在移动设备上的布局。
- 数据模拟:
- 使用 JSON 文件模拟设备和任务数据。
- 实现设备状态随机更新(例如,每隔 5 秒随机更改状态)。
- 部署:
- 使用 Vite 打包项目:
npm run build
。- 将项目部署到 Vercel 或 Netlify 等静态托管平台。
输出:
一个完整的、优化的物联网设备任务管理系统,用户可使用核心功能,并且项目已上线。
项目总结:
通过这五个步骤,逐步攻克功能难点,完成一个功能齐全的物联网设备任务管理系统。最终项目不仅能够检测 Vue.js 的核心知识点,还可以作为物联网管理场景的展示样例。
ps:
windows10-EMQX与MQTTX的安装及配置使用教程_emqx安装-CSDN博客
仓库:hejiahua007/IoT-Device-Task-Management-System: Learn VUE's staged quiz assignments. Build a single-page Vue.js-based application for managing and monitoring tasks for IoT devices, helping users view device status, assign tasks, and record device operation logs in real time.
效果: