前端学习week8——vue.js

Vue.js 基础

  • Vue 核心概念 :了解 Vue 的响应式系统、组件、指令(如 v-ifv-forv-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 的单页面应用,用于管理和监控物联网设备的任务,帮助用户实时查看设备状态、分配任务、并记录设备运行日志。


功能点

  1. 设备管理

    • 查看物联网设备列表,包括设备名称、状态(在线/离线)、任务数量等。

    • 支持添加、删除或编辑设备信息。

  2. 任务分配

    • 为设备分配任务,例如定时采集数据、发送警报等。

    • 每个任务包括任务名称、开始时间、结束时间、任务描述等字段。

    • 可查看任务执行状态(进行中/已完成/失败)。

  3. 实时状态监控

    • 实时展示设备状态(在线/离线)。

    • 使用 Vue 的响应式系统,更新设备的运行状态和任务完成情况。

  4. 设备日志

    • 记录设备运行的任务日志,包括时间、任务内容、状态等。

    • 支持按时间范围和设备名称筛选日志。

  5. 页面跳转

    • 使用 Vue Router 实现页面切换。

      • 首页:设备总览。

      • 设备详情页:展示单个设备的任务和状态。

      • 日志页:展示所有设备的运行日志。

  6. 状态管理

    • 使用 Pinia 管理设备和任务数据。

    • 实现跨组件的全局状态同步,例如设备状态的更新会自动同步到任务页。

  7. 用户交互

    • 表单动态添加设备或任务,表单验证是否完整。

    • 使用搜索功能快速找到设备或任务。


任务点

  1. 基础任务

    • 学习和使用 Vue CLI 或 Vite 创建项目。

    • 使用 Vue 组件化开发构建设备列表和任务表单。

    • 使用 v-for 动态渲染设备列表,v-if 控制在线/离线状态显示。

  2. 路由管理

    • 使用 Vue Router 创建三个主要页面:设备总览、设备详情、日志页面。

    • 配置动态路由,根据设备 ID 渲染不同的详情页面。

  3. 状态管理

    • 使用 Pinia 管理设备和任务的全局状态。

    • 创建 deviceStore 管理设备状态,taskStore 管理任务数据。

  4. 模拟数据

    • 使用模拟数据(如 JSON 文件)生成设备列表和任务记录。

    • 实现任务和日志的随机生成逻辑,模拟物联网设备的运行情况。

  5. 优化展示

    • 响应式设计,确保在移动端和桌面端都有良好的显示效果。

    • 使用 Element Plus 为表单、表格等组件添加交互和美观样式。


最终效果

  1. 首页:展示设备总览,设备列表带有实时状态显示。

  2. 设备详情页:查看单个设备的任务列表,支持添加/编辑任务。

  3. 日志页:查看设备运行日志,可按时间范围和设备筛选日志。

  4. 实时交互:设备状态和任务完成情况实时更新。


物联网设备任务管理系统工作流程分为五个步骤:


步骤 1:项目初始化与基础框架搭建

目标:为项目打好基础,搭建前端框架,配置路由和组件结构。

  • 任务点
    1. 使用 Vue CLI 或 Vite 初始化项目。

      • 创建项目:npm create vite@latest iot-task-manager --template vue
      • 安装依赖:npm install vue-router pinia element-plus
    2. 配置基础目录结构:

      src/
      ├── components/
      │   ├── DeviceList.vue        // 设备列表组件
      │   ├── TaskForm.vue          // 任务表单组件
      │   └── Header.vue            // 顶部导航栏组件
      ├── views/
      │   ├── Home.vue              // 首页(设备总览)
      │   ├── DeviceDetails.vue     // 设备详情页面
      │   └── Logs.vue              // 日志页面
      ├── stores/
      │   ├── deviceStore.js        // 管理设备状态
      │   └── taskStore.js          // 管理任务状态
      ├── App.vue
      ├── main.js
      
    3. 配置 Vue Router:

      • 创建路由规则,实现导航到首页、详情页和日志页。
      • 动态路由匹配设备详情页面。

输出

一个基本的前端项目骨架,页面间可自由跳转。


步骤 2:设备管理模块开发

目标:实现设备的增删查改功能和设备状态显示。

  • 任务点
    1. 设备列表展示
      • 使用 v-for 渲染设备列表。
      • 每个设备显示名称、状态(在线/离线)、任务数。
    2. 添加设备
      • 创建一个模态框或表单,填写设备信息。
      • 使用 Pinia 管理设备状态,将新设备数据添加到设备列表。
    3. 删除设备
      • 在每个设备后添加一个删除按钮,点击后从设备列表中移除。
    4. 状态显示
      • 根据设备的状态显示不同样式(绿色表示在线,红色表示离线)。

输出

设备管理功能完成,用户可查看、添加、删除设备。


步骤 3:任务分配模块开发

目标:为设备分配任务并展示任务进度。

  • 任务点
    1. 任务表单
      • 创建表单输入任务名称、开始时间、结束时间、任务描述。
      • 使用 v-model 双向绑定表单数据。
      • 提交后将任务分配给指定设备。
    2. 任务列表
      • 在设备详情页展示任务列表。
      • 使用 v-for 渲染任务,显示任务名称、状态、时间范围。
    3. 任务状态更新
      • 使用 v-ifv-else 切换任务状态(进行中/完成)。
      • 添加"完成任务"按钮,点击后更新任务状态。

输出

任务分配和管理功能完成,用户可为设备添加任务并更新任务状态。


步骤 4:日志模块开发

目标:记录设备的运行日志,支持筛选和搜索。

  • 任务点
    1. 日志记录
      • 每当设备执行任务时,生成一条日志记录。
      • 日志内容包括时间、设备名称、任务名称、状态。
    2. 日志表格
      • 使用 v-for 渲染日志数据,展示为表格。
      • 表格字段包括时间、设备、任务、状态。
    3. 日志筛选
      • 创建筛选控件,可按时间范围、设备名、状态筛选日志。
      • 实现动态更新表格内容。

输出

日志模块完成,用户可查看和筛选设备运行日志。


步骤 5:优化与部署

目标:优化用户体验,增加额外功能,完成项目部署。

  • 任务点
    1. UI 优化
      • 使用 Element Plus 提升表单和表格样式。
      • 为任务状态、设备状态等添加颜色和图标标识。
    2. 响应式设计
      • 使用媒体查询优化页面在移动设备上的布局。
    3. 数据模拟
      • 使用 JSON 文件模拟设备和任务数据。
      • 实现设备状态随机更新(例如,每隔 5 秒随机更改状态)。
    4. 部署
      • 使用 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.

效果:

相关推荐
顽疲1 分钟前
从零用java实现 小红书 springboot vue uniapp (6)用户登录鉴权及发布笔记
java·vue.js·spring boot·uni-app
bug丸7 分钟前
v8引擎垃圾回收
前端·javascript·垃圾回收
安全小王子8 分钟前
攻防世界web第三题file_include
前端
神经网络的应用9 分钟前
C++程序设计例题——第三章程序控制结构
c++·学习·算法
&活在当下&10 分钟前
ref 和 reactive 的用法和区别
前端·javascript·vue.js
百事老饼干13 分钟前
VUE前端实现防抖节流 Lodash
前端
web Rookie17 分钟前
React 高阶组件(HOC)
前端·javascript·react.js
南宫生21 分钟前
力扣-数据结构-3【算法学习day.74】
java·数据结构·学习·算法·leetcode
挥剑决浮云 -25 分钟前
STM32学习之 按键/光敏电阻 控制 LED/蜂鸣器
c语言·经验分享·stm32·单片机·嵌入式硬件·学习
云白冰31 分钟前
hiprint结合vue2项目实现静默打印详细使用步骤
前端·javascript·vue.js