springboot+mysql+element-plus+vue完整实现汽车租赁系统
目录
一、项目介绍
二、项目截图
1.项目结构图
三、系统详细介绍
管理后台
1.登陆页
2.管理后台主页
3.汽车地点管理
4.汽车类别
5.汽车品牌
6.汽车信息
7.用户管理
8.举报管理
9.订单管理
10.轮播图管理
11.交互界面
12.图表管理
汽车租赁商城
1.首页
2.汽车展厅
3.当前订单
4.历史订单
5.在线沟通
四、源码实现
1.订单
2.汽车
五、总结
一、项目介绍
项目采用前后端分离的方式实现,后端:springboot+mysql+redis实现,前端:vue+element-plus+router+vite等实现。系统其中分为管理后台和游客租赁商城两个端,用户总体分为三种角色:超级管理员、员工、游客,超级管理员和员工登录管理后台进行汽车相关信息管理,主要权限的差别,二游客通过商城端进行注册和登录后,通过充值余额后可以进行汽车的租赁操作。
二、项目截图
1.项目结构图
后端开发工具是 IntelliJ IDEA
前端开发软件是webstorm,当然vscode、hbuilder等都可以,看自己习惯就行。
三、系统详细介绍
管理后台
1.登陆页
用户登陆后会自动根据用户类型跳转管理系统或者用户租赁商城端。
2.管理后台主页
3.汽车地点管理
取车及还车地点进行管理
4.汽车类别
5.汽车品牌
6.汽车信息
对租赁汽车进行相关管理,租赁价格、车牌等信息
7.用户管理
8.举报管理
可对用户进行封禁
9.订单管理
管理员可以对租赁订单进行各个步骤的审核,审核完成后游客才能进行取车、还车等相关操作
10.轮播图管理
11.交互界面
管理员可以与游客之间进行一些简单的在线沟通
12.图表管理
汽车、营收等统计数据
汽车租赁商城
1.首页
首页规则说明就是租赁的价格计算规则,后端代码会根据此规则算出租赁的最终费用。
2.汽车展厅
可查看更多、搜索汽车等
2.汽车详情
租赁汽车、评论等
3.当前订单
填写信息,进行汽车租赁操作,等待管理员审核后进行下一步操作,可追加租赁时间和变更地点等,支付定金后进行订单确认
4.历史订单
5.在线沟通
6.个人信息
可进行信息修改或充值
四、源码实现
1.订单
package wsir.carrental.controller;import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import wsir.carrental.dict.OrderStatus;
import wsir.carrental.entity.dto.OrderDto;
import wsir.carrental.entity.vo.OrderVo;
import wsir.carrental.service.OrderService;
import wsir.carrental.util.Result;import java.net.HttpURLConnection;
import java.util.Map;@RestController
@RequestMapping("/order")
public class OrderController {@Autowiredprivate OrderService orderService;@PostMapping("/rent")public <T> Result<T> generateOrder(@RequestBody OrderVo orderVo) {orderService.generateOrder(orderVo);return Result.success();}@PostMapping("/chargeDeposit")public <T> Result<T> depositToAudit(@RequestBody OrderVo orderVo) {orderService.depositToAudit(orderVo);return Result.success();}@PostMapping("/audit")public <T> Result<T> auditToTakeCar(@RequestBody OrderVo orderVo) {orderService.auditToTakeCar(orderVo);return Result.success();}@PostMapping("/takeCar")public <T> Result<T> takeCarToCheckFile(@RequestBody OrderVo orderVo) {if (orderService.takeCarToCheckFile(orderVo) > 0) {return Result.success();}return Result.error(HttpURLConnection.HTTP_CONFLICT, "用户取车失败");}@PostMapping("/checkFile")public <T> Result<T> checkFileToReturnCar(@RequestBody OrderVo orderVo) {if (orderService.checkFileToReturnCar(orderVo) > 0) {return Result.success();}return Result.error(HttpURLConnection.HTTP_CONFLICT, "工作人员检查文件失败");}@PostMapping("/returnCar")public <T> Result<T> returnCarToWorkerCal(@RequestBody OrderVo orderVo) {orderService.returnCarToWorkerCal(orderVo);return Result.success();}@PostMapping("/calAmount")public <T> Result<T> workerCalToRemaining(@RequestBody OrderVo orderVo) {if (orderService.workerCalToRemaining(orderVo) > 0) {return Result.success();}return Result.error(HttpURLConnection.HTTP_CONFLICT, "工作人员设置总金额失败");}@PostMapping("/chargeRemaining")public <T> Result<T> remainingToFinish(@RequestBody OrderVo orderVo) {orderService.remainingToFinish(orderVo);return Result.success();}@GetMapping("/getOne")public Result<OrderDto> getOne(@RequestParam String userId) {return Result.success(orderService.getOne(userId));}@PostMapping("/cancel")public <T> Result<T> cancel(@RequestBody OrderVo orderVo) {orderService.cancel(orderVo);return Result.success();}@GetMapping("/getPages")public Result<Map<String, Object>> getPages(@RequestParam String userId,@RequestParam OrderStatus status,@RequestParam Long current,@RequestParam Long size) {IPage<OrderDto> pages = orderService.getPages(userId, status, current, size);return Result.success(Map.of("page", pages));}@GetMapping("/getOneDriverMsg")public Result<OrderDto> getOneDriverMsg(@RequestParam String orderId) {return Result.success(orderService.getOneDriverMsg(orderId));}@PostMapping("/changePlace")public <T> Result<T> changePlace(@RequestBody OrderVo orderVo) {if (orderService.chgOrder(orderVo) > 0) {return Result.success();}return Result.error(HttpURLConnection.HTTP_CONFLICT, "用户修改地点失败");}@PostMapping("/changeReturnDate")public <T> Result<T> changeReturnDate(@RequestBody OrderVo orderVo) {if (orderService.chgOrder(orderVo) > 0) {return Result.success();}return Result.error(HttpURLConnection.HTTP_CONFLICT, "用户延长租赁时间失败");}@GetMapping("/getOrderCount")public Result<Map<String, Long>> getuserCount() {return Result.success(orderService.getOrderCount());}
}
2.汽车
package wsir.carrental.controller;import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import wsir.carrental.dict.CarStatus;
import wsir.carrental.entity.domain.Car;
import wsir.carrental.entity.dto.CarDto;
import wsir.carrental.service.CarService;
import wsir.carrental.util.Result;import java.net.HttpURLConnection;
import java.util.List;
import java.util.Map;@RestController
@RequestMapping("/car")
public class CarController {@Autowiredprivate CarService carService;@GetMapping("/getPages")public Result<Map<String, Object>> getPages(@RequestParam String carTypeId,@RequestParam String carNameId,@RequestParam String carSpecificName,@RequestParam String carTag,@RequestParam String licensePlate,@RequestParam String rented,@RequestParam CarStatus status,@RequestParam Long current,@RequestParam Long size) {IPage<CarDto> pages = carService.getPages(carTypeId, carNameId, carSpecificName, carTag, licensePlate, rented, status, current, size);return Result.success(Map.of("page", pages));}@GetMapping("/getOne")public Result<CarDto> getOne(@RequestParam String carId) {return Result.success(carService.getOne(carId));}@GetMapping("/getOneByName")public Result<CarDto> getOneByName(@RequestParam String specificName) {return Result.success(carService.getOneByName(specificName));}@PostMapping("/insertOne")public <T> Result<T> insertOne(@RequestBody Car car) {if (carService.insertOne(car) > 0) {return Result.success();}return Result.error(HttpURLConnection.HTTP_PAYMENT_REQUIRED, "添加汽车信息失败!");}@PostMapping("/delMore")public <T> Result<T> deleteBatch(@RequestBody List<String> ids) {if (carService.deleteBatch(ids) > 0) {return Result.success();}return Result.error(HttpURLConnection.HTTP_PAYMENT_REQUIRED, "删除汽车信息失败!");}@PostMapping("/chgCar")public <T> Result<T> chgCar(@RequestBody Car car) {if (carService.chgCar(car) > 0) {return Result.success();}return Result.error(HttpURLConnection.HTTP_PAYMENT_REQUIRED, "更改汽车信息失败!");}@GetMapping("/getSearchPages")public Result<Map<String, Object>> getSearchPages(@RequestParam String context,@RequestParam Long current,@RequestParam Long size) {IPage<CarDto> pages = carService.getPages(context, current, size);return Result.success(Map.of("page", pages));}@GetMapping("/getRandomFor3Cars")public Result<List<CarDto>> getRandomFor3Cars(@RequestParam String carType) {return Result.success(carService.getRandomFor3Cars(carType));}@GetMapping("/getCarCount")public Result<Map<String, Long>> getCarCount() {return Result.success(carService.getCarCount());}@GetMapping("/getCarTypeChart")public Result<List<Map<String, Object>>> getCarTypeChart() {return Result.success(carService.getCarTypeChart());}@GetMapping("/getCarNameChart")public Result<List<Map<String, Object>>> getCarNameChart() {return Result.success(carService.getCarNameChart());}
}
五、总结
项目页面完整,后续可能将不断升级,完善其他页面。
关注作者,及时了解更多好项目!
更多优质项目请看作者主页!
获取源码或如需帮助,可通过博客后面名片+作者即可!
相关文章:
springboot+mysql+element-plus+vue完整实现汽车租赁系统
目录 一、项目介绍 二、项目截图 1.项目结构图 三、系统详细介绍 管理后台 1.登陆页 2.管理后台主页 3.汽车地点管理 4.汽车类别 5.汽车品牌 6.汽车信息 7.用户管理 8.举报管理 9.订单管理 10.轮播图管理 11.交互界面 12.图表管理 汽车租赁商城 1.首页 2.汽…...
直方图比较
目录 1、直方图比较的概念 2、直方图比较的主要原因 3、典型应用场景 4、基础直方图比较 5、多通道直方图比较 6、实时直方图检测 1、直方图比较的概念 直方图比较是通过数学方法计算两个直方图之间的相似度或差异度的技术。在计算机视觉中,直方图是对图像特征…...
【计算机视觉】3d人体重建:PIFu/PIFuHD:高精度三维人体数字化技术指南
深度解析PIFu/PIFuHD:高精度三维人体数字化技术指南 一、项目概述与技术突破1.1 技术定位与核心价值1.2 性能指标对比1.3 技术演进路线 二、环境配置与模型部署2.1 硬件要求2.2 软件安装基础环境配置附加组件安装 2.3 模型下载 三、核心算法解析3.1 网络架构设计多层…...
HTML05:超链接标签及应用
链接标签 <a href"path" target"目标窗口位置">链接文本或图像</a>文本超链接图像超链接 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>链接标签学习</title&…...
JAVA设计模式——(十一)建造者模式(Builder Pattern)
JAVA设计模式——(十一)建造者模式(Builder Pattern) 介绍理解实现Phone类具体手机类建造者测试 应用 介绍 建造者模式用于将对象的创建和表示进行分离,即对象创建的过程单独提取出来,作为建造者的职能&am…...
JavaScript 笔记 --- part7 --- JS进阶 (part2)
JS进阶(part2) 内置构造函数 Object: 用于创建对象 String: 用于创建字符串 Number: 用于创建数字 Array: 用于创建数组 Boolean: 用于创建布尔值 Function: 用于创建函数 Date: 用于创建日期对象 RegExp: 用于创建正则表达式对象 Error: 用于创建错误对象 Map: 用于…...
JavaScript 笔记 --- part8 --- JS进阶 (part3)
JS 进阶(part3) 深浅拷贝 只针对引用类型 浅拷贝 浅拷贝只拷贝外面一层的属性, 如果对象里面还有对象, 那么这个对象的引用会被拷贝过去, 所以修改其中一个属性会影响到另一个对象 const obj {name: "zhangsan",age: 18,child: {name: "xiaoming",ag…...
LeetCode 热题 100 46. 全排列
LeetCode 热题 100 | 46. 全排列 大家好,今天我们来解决一道经典的算法题——全排列。这道题在 LeetCode 上被标记为中等难度,要求给定一个不含重复数字的数组 nums,返回其所有可能的全排列。全排列是排列组合中的经典问题,通常可…...
双目视觉的核心目标
通过计算左右图像中同一物体的像素点位置差(视差),进而还原出物体在三维空间中的真实位置。 双目视觉的核心流程: 1️⃣ 相机标定(calibration) 获取左右相机的内参、外参和畸变参数。 获取投影矩阵 Q&a…...
《类和对象(上)》
引言: 上次我们学习了C的一些入门基础,但其实还没有入门C,想要入门C,肯定是要把类和对象这部分学透彻,这次先来学习类和对象(上) 一:类的定义 1. 类定义格式: class为…...
强化学习ppo算法在大语言模型上跑通
最近在研究强化学习,目标是想在我的机械臂上跑出效果。ppo算法是强化学习领域的经典算法,在网上检索ppo算法,出现的大部分文章都是互相抄袭,上来都列公式,让人看得云里雾里。偶然间发现一个deepspeed使用的example(链接…...
告别散乱的 @ExceptionHandler:实现统一、可维护的 Spring Boot 错误处理
Spring Boot 的异常处理机制一直都烂得可以。即便到了 2025 年,有了这么多进步和新版本,开发者们发现自己还是在跟 ControllerAdvice、分散各处的 ExceptionHandler 方法以及五花八门的响应结构较劲。这真的是一团糟。 无论你是在构建 REST API、微服务…...
Ubuntu安装编译环境
1. 安装基础编译工具链(GCC, G, Make 等) sudo apt update # 只更新索引信息,不安装软件 sudo apt install build-essential这会安装以下核心组件: • gcc (GNU C 编译器) • g (GNU C 编译器) • make (构建工具) • libc-…...
Scrapy爬虫实战:如何用Rules实现高效数据采集
Scrapy是一个强大的Python爬虫框架,而其中的Rules类则为爬虫提供了更高级的控制方式。本文将详细介绍如何在Scrapy中使用Rules,以及各个参数的具体作用,并结合实际场景说明Rules的必要性。 为什么需要Rules? 在Web爬取过程中&…...
ERP系统源码,有演示,开发文档、数据库文档齐全,支持二次开发
一套开箱即用的云端ERP系统源代码,小型工厂ERP系统源码 SaaS ERP是一套开箱即用的云端ERP系统,有演示,开发文档,数据库文档齐全,自主版权落地实例,适合项目二开。 SaaS ERP具有高度的灵活性和可扩展性&am…...
如何将腾讯云的测试集成到自己的SpringBoot中
1.创建Util 我们将之前测试的test复制过来, 1.将方法里面的固定参数设置出来private 2.将方法里面的变化参数设置作为传入参数 3.返回String类型的URL地址 完整代码如下: package org.huangyingyuan.utils;import com.qcloud.cos.COSClient; import…...
Java后端开发day41--IO流(一)--FileOutputStreamFileInputStream
(以下内容全部来自上述课程) IO流:存储和读取数据的解决方案 I:input O:output 流:像水流一样传输数据 1. 流的分类 纯文本文件:Windows自带的记事本打开就能读懂 2. IO流的体系 3 字节流 3.1 FileOutputStream 操…...
Spring 框架中 @Configuration 注解详解
在 Spring 框架的开发过程中,Configuration注解是一个极为重要的存在,它让开发者能够以一种更加简洁、灵活的方式来管理应用程序的配置信息,极大地提升了开发效率和代码的可维护性。 本文将深入剖析Configuration注解的方方面面,…...
手机打电话时由对方DTMF响应切换多级IVR语音应答(一)
手机打电话时由对方DTMF响应切换多级IVR语音应答(一) --本地AI电话机器人 一、前言 经前面的系列篇章中,我们实现了拦截手机打电话的声音、根据通话对方声音提取DTMF字符。由此,我们通往AI电话机器人的道路就畅通无阻了。 如果…...
GM DC Monitor v2.0 - 平台自定义-使用说明
平台支持对LOGO、登录页背景图、平台名称、小标题名称、网址、告警中心、知识库名称进行自定义,自定义完以后,平台将更加适合您的工作场景! LOGO自定义建议使用100*80的png背景透明图片,大小不超过200k 登录背景建议使用1920*71…...
实验-数字电路设计2-复用器和七段数码管(数字逻辑)
目录 一、实验内容 二、实验步骤 2.1 复用器的设计 2.2 七段数码管的设计 三、调试过程 3.1 复用器调试过程 3.2 七段数码管的调试过程 四、实验使用环境 五、实验小结和思考 一、实验内容 a) 介绍 在这次实验中,你将熟悉 Logisim 的操作流程ÿ…...
HTTP/HTTPS协议(请求响应模型、状态码)
目录 HTTP/HTTPS协议简介 HTTP协议 HTTPS协议 请求 - 响应模型 HTTP请求 (二)HTTP响应 HTTPS协议与HTTP协议在请求 - 响应模型中的区别 HTTP/HTTPS协议简介 HTTP协议 定义 HTTP(HyperText Transfer Protocol)即超文本传输…...
详解RabbitMQ工作模式之路由模式
目录 路由模式 概念介绍 工作原理 特点 应用场景 实现步骤 代码案例 引入依赖 常量类 编写生产者代码 编写消费者1代码 编写消费者2代码 运行代码 路由模式 概念介绍 路由模式是发布订阅模式的变种, 在发布订阅基础上, 增加路由key。 发布订阅模式是⽆条件的将所有…...
青少年编程与数学 02-018 C++数据结构与算法 26课题、数据压缩算法
青少年编程与数学 02-018 C数据结构与算法 26课题、数据压缩算法 一、无损压缩算法1. Huffman编码2. Lempel-Ziv-Welch (LZW) 编码3. Run-Length Encoding (RLE) 二、有损压缩算法1. DEFLATE(ZIP压缩)2. Brotli3. LZMA4. Zstandard (Zstd) 总结 课题摘要…...
Sim Studio 是一个开源的代理工作流程构建器。Sim Studio 的界面是一种轻量级、直观的方式,可快速构建和部署LLMs与您最喜欢的工具连接
一、软件介绍 文末提供程序和源码下载 Sim Studio开源程序 是一个功能强大、用户友好的平台,用于构建、测试和优化代理工作流程,Sim Studio 是一个开源的代理工作流程构建器。Sim Studio 的界面是一种轻量级、直观的方式,可快速构建和部署…...
基于Boost库、Jsoncpp、cppjieba、cpp-httplib等构建Boost搜索引擎
⭐️个人主页:小羊 ⭐️所属专栏:项目 很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~ 目录 项目背景技术栈和项目环境正排索引和倒排索引数据去标签与清洗下载数据源去标签 建立索引构建正排索引构建倒排索引 建立搜索引擎h…...
文本三剑客
目录 1.文本三剑客 2.awk 常见的内置变量 3.sed 选项: 脚本语法: 查找替换: 步进: 1.文本三剑客 awk;sed;grep 读取方式为:vim先将整个文件放入内存中进行编辑;awk是先将文…...
使用 Microsoft 365 Copilot 上传手机图片,实现更高效的信息提取
过去,如果你想从手机上的图片中提取信息或获取洞察,流程往往十分繁琐:需要先把图片发到邮箱,再下载到电脑,最后才能上传到 Copilot 聊天框中。 现在不必如此了!在你熟悉的 Microsoft 365 Windows 应用或网…...
simulink使能子系统的四种配置
目录 前言 一、模型 二、特性 组合1:使能模块为保持,输出为保持 组合2:使能模块为保持,输出为重置 组合3:使能模块为重置,输出为保持 组合4:使能模块为重置,输出为重置 仓库…...
一、Hadoop历史发展与优劣势
引言:大数据浪潮中的“大象”——Hadoop 的足迹与权衡 当数据以前所未有的速度和规模涌现,大数据时代悄然来临,传统的数据处理方式显得力不从心。在这样的背景下,Hadoop 应运而生,如同一头强健而可靠的大象࿰…...
conda配置好的pytorch在jupyter中如何配置
配置 其实不用再配置了 如下图(主要是激活pytorch环境,再jupyter notebook) jupyter运行快捷键shiftenter 新建文件夹folder,新建notebook 使用 帮助文档(两种方式) ctrl/ 注释...
文本三剑客试题
目录 1找出/etc/passwd文件下的root开头的行 2找出/etc/passwd 含有root 的行 3找出/etc/passwd 文件中 root开头或 mail 开头的行 4过滤出 /etc/passwd文件中已bin开头的行,并显示行号 5过滤掉/etc/passwd文件中 root开头的行 6.在当前目录下所有.cc 的文件中…...
vscode docker 调试
目录 启动docker: vscode docker 调试 如果已经安装docker并且启动了。 启动docker: docker exec -it nlf /bin/bash vscode docker 调试 按照图中1 2 3 的顺序,进入,可以加载docker进行调试了。...
【程序人生】“阶段总结“-安危相易
好久没有坐下静下心回顾过去一段时间内发生的事以及经历过后的感想。今天趁着五一假期的机会细细盘一盘过去这段时间内的点点感悟吧...... 记得上一次的阶段总结停留在了24年的11月底。当初计划的是每月月底会抽出时间来进行一次深度的回顾与阶段总结,但是计划总赶…...
【Linux】深入理解Linux基础IO:从文件描述符到缓冲区设计
目录 一、文件理解(复习) 1、理解概念复习 (1)狭义理解 (2)广义理解 (3)文件操作的归类认知 (4)系统角度 2、C语言文件复习 (1࿰…...
【纪念我的365天】我的创作纪念日
机缘 最开始接触csdn时我从没想过我会是博客的创作者,最初我认为它是一个为我解决问题的作业神器,开始接触编程时什么都不懂,为各种问题查阅资料,可偏偏就是无法越过这道坎。于是机遇巧合之下遇到一个人他教我,也是他…...
方法:批量识别图片区域文字并重命名,批量识别指定区域内容改名,基于QT和阿里云的实现方案,详细方法
基于QT和阿里云的图片区域文字识别与批量重命名方案 项目场景 企业档案管理:批量处理扫描合同、发票等文档,根据编号或关键信息自动重命名文件医疗影像管理:识别X光、CT等医学影像中的患者信息,按姓名+检查日期重命名电商订单处理:从订单截图中提…...
民宿管理系统5
管理员管理: 新增管理员信息: 前端效果: 前端代码: <body> <div class"layui-fluid"><div class"layui-row"><div class"layui-form"><div class"layui-form-i…...
AI日报 · 2025年5月05日|雅诗兰黛与微软合作成立 AI 创新实验室,加速美妆产品研发与营销
1、苹果与 Anthropic 深化合作,内部测试 AI 驱动的新版 Xcode 据多方报道,苹果公司正与人工智能初创公司 Anthropic 合作,开发集成 AI 功能的新一代 Xcode 开发平台。该平台旨在利用 Anthropic 强大的 Claude Sonnet 模型,为开发…...
Matlab实现基于CNN-GRU的锂电池SOH估计
Matlab实现基于CNN-GRU的锂电池SOH估计 目录 Matlab实现基于CNN-GRU的锂电池SOH估计效果一览基本介绍程序设计参考资料 效果一览 基本介绍 锂电池SOH估计!基于CNN-GRU的锂电池健康状态估计。CNN-GRU模型通过融合局部特征提取与长期依赖建模,显著提升了锂…...
神经网络在专家系统中的应用:从符号逻辑到连接主义的融合创新
自人工智能作为一个学科面世以来,关于它的研究途径就存在两种不同的观点。一种观点主张对人脑的结构及机理开展研究,并通过大规模集成简单信息处理单元来模拟人脑对信息的处理,神经网络是这一观点的代表。关于这方面的研究一般被称为连接机制…...
【Hive入门】Hive安全管理与权限控制:基于SQL标准的授权GRANT REVOKE深度解析
目录 引言 1 Hive权限模型概述 2 SQL标准授权基础 2.1 核心概念解析 2.2 授权模型工作流程 3 GRANT/REVOKE语法详解 3.1 基础授权语法 3.2 权限回收语法 3.3 参数说明 4 授权场景 4.1 基础授权示例 4.2 列级权限控制 4.3 视图权限管理 5 权限查询与验证 5.1 查看…...
详解RabbitMQ工作模式之发布订阅模式
目录 发布订阅模式 概念 概念介绍 特点和优势 应用场景 注意事项 代码案例 引入依赖 常量类 编写生产者代码 编写消费者1代码 运行代码 发布订阅模式 概念 RabbitMQ的发布订阅模式(Publish/Subscribe)是一种消息传递模式,它允许消…...
JobHistory Server的配置和启动
在 Hadoop 集群里,JobHistory Server(JHS)负责为所有已完成的 MapReduce 作业提供元数据与 Web 可视化;只有它启动并配置正确,开发者才能通过 http://<host>:19888 查看作业的执行详情、计数器和任务日志…...
刷leetcodehot100返航版--哈希表5/5
回顾一下之前做的哈希,貌似只有用到 unordered_set:存储无序元素unordered_map:存储无序键值对 代码随想录 常用代码模板2——数据结构 - AcWing C知识回顾-CSDN博客 1.两数之和5/5【30min】 1. 两数之和 - 力扣(LeetCode&…...
【STM32 学习笔记】GPIO输入与输出
GPIO详解 一、GPIO基本概念 GPIO(通用输入输出)是微控制器与外部设备交互的核心接口,具有以下特性: 可编程控制输入/输出模式支持数字信号的读取与输出集成多种保护机制复用功能支持片上外设连接 二、GPIO位结构解析 2.1 保护二…...
网狐飞云娱乐三端源码深度实测:组件结构拆解与部署Bug复盘指南(附代码分析)
本文基于“网狐系列三网通飞云娱乐电玩”源码包,从项目结构、界面逻辑、三端兼容性、机器人机制、本地部署实践等多维角度进行全面剖析,并附录多个真实报错修复案例与源码片段。本组件适用于本地学习、框架研究与技术测试,不具备线上部署条件…...
HTML5好看的水果蔬菜在线商城网站源码系列模板9
文章目录 1.设计来源1.1 主界面1.2 商品界面1.3 购物车界面1.4 心愿列表界面1.5 商品信息界面1.6 博客界面1.7 关于我们界面1.8 联系我们界面1.9 常见问题界面1.10 登录界面 2.效果和源码2.1 动态效果2.2 源代码 源码下载万套模板,程序开发,在线开发&…...
【ArcGIS Pro微课1000例】0066:多边形要素添加折点,将曲线线段(贝塞尔、圆弧和椭圆弧)替换为线段?
文章目录 增密工具介绍举例1. 圆2. 椭圆3. 折线增密工具介绍 ArcGIS Pro中提供了【增密】工具,作用是: 沿线或多边形要素添加折点。还可将曲线线段(贝塞尔、圆弧和椭圆弧)替换为线段。 原理图如下所示: 用法: 通过距离参数对直线段进行增密。利用距离、最大偏转角或最大…...
虚拟dom是什么,他有什么好处
本编,博主将从虚拟dom是什么引出,为什么需要虚拟dom, 虚拟dom的益处 , 为什么需要Diff算法,for循环中key的作用是什么。 1.虚拟dom是什么 虚拟dom就是以js对象的形式表示真实dom结构 例如 const newVNode {type: di…...