当前位置: 首页 > news >正文

vue 中实现音视频播放进度条(可拖拽,满足常见开发需求)

由于开发需要,作者封装了一个音视频播放进度条的组件,支持 vue2 及 vue3 ,有需要的朋友后台私信作者获取组件源码哦(工作日每天都在线),下面是对该款组件的介绍。

组件默认样式👇(组件提供了多个配置选项,可根据自身需求进行个性化配置,详情请往下看)

在这里插入图片描述
效果演示(只展示部分,更多效果请往下看👇):
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

目录

  • 一、介绍
    • 1、用法概述
    • 2、模式
  • 二、使用
    • 1、基础配置
      • 1.1、模式(必传)
      • 1.2、是否播放
      • 1.3、播放开始的时间(必传)
      • 1.4、播放倍速
      • 1.5、禁用进度条
      • 1.6、是否显示最左侧当前播放时间文本
      • 1.7、是否显示播放暂停及启动按钮
      • 1.8、是否显示倍速选择器
      • 1.9、是否显示进度条提示
    • 2、样式配置
      • 2.1、组件的宽高设置
      • 2.2、进度条中端点样式配置
      • 2.3、进度条背景色
      • 2.4、开始暂停按钮
      • 2.5、进度条提示框出现位置
      • 2.6、组件背景色
    • 3、特殊配置
      • 3.1、连续播放模式:
        • 3.1.1、播放总时长(必传,非连续播放模式下请勿传递)
      • 3.2、非连续播放模式
        • 3.2.1、播放数据(必传)
        • 3.2.2、进度条的开始及结束时间(必传)
        • 3.2.3、跨度时间
        • 3.2.4、进度条中的标识样式
        • 3.2.5、是否显示刻度
        • 3.2.6、刻度间隔时间
        • 3.2.7、时间格式(左侧提示时间、刻度时间、进度条提示时间)
    • 4、传出的进度条数据
      • 4.1、进度条当前播放进度的时间
      • 4.2、拖动进度条时触发的回调
      • 4.3、拖动进度条后触发的回调
    • 5、配置参数总结
      • 基础配置
      • 样式配置
      • 特殊配置
        • 连续播放模式:
        • 非连续播放模式:
      • 组件传出数据
    • 6、用法示例
  • 三、总结

一、介绍

该款组件可作为音频、视频播放的进度条,用于控制音频、视频的播放(播放进度、暂停开始、播放倍速、自定义刻度 等)。同时,组件提供了多方面的配置选项,使用者可以通过个性化配置来达到自己想要的效果(下面会对配置项进行详解),拓展性极高。

1、用法概述

在播放的过程中组件会返回当前播放的播放信息(如当前播放到的秒(进度)、进度条被拖拽时的回调、进度条拖拽后的回调等),根据这些返回信息,我们拿到后根据实际的需求来做不同处理就可以实现控制播放的效果。

2、模式

组件分为两种模式: 连续播放模式非连续播放模式

❓ 连续和非连续分别表示什么意思呢 ❓

连续与非连续指的是播放是否是连续的。比如我们平时常见的音频、视频的播放是以秒作为单位,逐秒进行播放的,这就是连续播放。而非连续播放出现的情况可能比较少,指的是根据传入组件的数据,有数据的时间节点则进行播放,如果下一个数据的时间节点与当前数据时间节点间隔超过指定秒,则直接跳到下一个有数据的时间节点,若间隔不超过指定秒数则逐秒播放至下一数据时间节点,这样跳着播放的就是非连续播放。(有不懂的可联系作者)

二、使用

接下来对组件的 配置项 以及 能够获取到的进度条信息 进行详细说明:

1、基础配置

1.1、模式(必传)

参数类型默认值描述
typeStringcontinuous上面介绍中说到组件分为连续播放和非连续播放两种模式 (连续播放:continuous,非连续播放:discontinuous )

连续播放演示:

请添加图片描述
非连续播放演示:

请添加图片描述

1.2、是否播放

关于播放倍速有以下两个参数:

参数类型默认值描述
isActivateBooleantrue通过该参数可以控制播放的开始与暂停,初始值赋值为 true 则默认播放

演示(以连续播放为例,非连续播放效果相同):

请添加图片描述

1.3、播放开始的时间(必传)

参数类型默认值描述
scheduleStartTimeNumber0连续播放模式下传入播放开始的秒数,非连续播放模式传入播放开始的毫秒时间戳
//连续播放模式
const scheduleStartTime = 10 //表示从第10秒开始播放//非连续播放模式
const scheduleStartTime = 1679988534000 //1679988534000是一个毫秒时间戳,表示从1679988534000这个时间点开始播放

1.4、播放倍速

关于播放倍速有以下两个参数:

参数类型默认值描述
multipleListArray[64,32,16,8,4,2,1]提供的倍速选项,默认提供默认值中的播放倍速选项
multipleNumber1当前的播放倍速,默认为1倍速

演示(以连续播放为例,非连续播放效果相同):
请添加图片描述

1.5、禁用进度条

参数类型默认值描述
disabledBooleanfalsetrue 禁用,false 启用

演示(以连续播放为例,非连续播放效果相同):
请添加图片描述

1.6、是否显示最左侧当前播放时间文本

参数类型默认值描述
showTimeTextBooleantruetrue 显示,false 隐藏

演示(以连续播放为例,非连续播放效果相同):

在这里插入图片描述

1.7、是否显示播放暂停及启动按钮

参数类型默认值描述
showPlayBtnBooleantruetrue 显示,false 隐藏

演示(以连续播放为例,非连续播放效果相同):

在这里插入图片描述

1.8、是否显示倍速选择器

参数类型默认值描述
showMultipleBooleantruetrue 显示,false 隐藏

演示(以连续播放为例,非连续播放效果相同):

在这里插入图片描述

1.9、是否显示进度条提示

参数类型默认值描述
showTooltipBooleantruetrue 显示,false 隐藏

演示(以连续播放为例,非连续播放效果相同):
在这里插入图片描述

2、样式配置

2.1、组件的宽高设置

需要设置了宽度组件才会显示,组件的宽度100%自适应包裹它的元素,通过修改其父元素的宽高来设置其宽度,组件自带高度不需要设置其高度,代码如下:

   <div style="width:100%;"><ProgressBar :type="type":dataList="dataList":startTimestamp="startTimestamp":endTimestamp="endTimestamp"...@afterInput="afterInput" @afterChange="afterChange"@getCurrentProgress="getCurrentProgress"></ProgressBar></div>

2.2、进度条中端点样式配置

在这里插入图片描述

参数类型默认值描述
schedulePointConfigObject{width: ‘20px’,height: ‘20px’ }设置端点的样式

可配置的属性有:

属性类型描述例子
widthString宽度15px
heightString高度15px
borderColorString边框颜色red
borderWidthString边框宽度2px
borderRadiusString边框弧度10%
bgColorString背景色red
bgImgUrlString背景图片https://…png

演示(以连续播放为例,非连续播放效果相同):

请添加图片描述

实现上方效果,schedulePointConfig 的配置为(可供参考):

import testImg from './assets/images/test_img.png'const schedulePointConfig = {width: '30px',height: '30px',bgImgUrl: testImg,borderColor: 'transparent',bgColor:'transparent',borderRadius: '0px'
}

2.3、进度条背景色

参数类型默认值描述
progressBarColorString#409eff设置进度条背景色

演示(以连续播放为例,非连续播放效果相同):

在这里插入图片描述

2.4、开始暂停按钮

开始暂停按钮可替换替换图片和设置大小,其它样式未提供配置,如有其他需求可隐藏自带按钮,根据自身需求个性化实现,组件提供控制播放开始及暂停的配置参数。

参数类型默认值描述
activateImgUrlString开始按钮
stopImgUrlString暂停按钮
startStopBtnConfigObject{width: ‘15px’,height: ‘15px’,}样式配置,只提供宽高的配置

注意: 这里的图片并不像上文进度条端点可以使用本地图片,只能使用线上地址图片。

演示(以连续播放为例,非连续播放效果相同):

请添加图片描述

2.5、进度条提示框出现位置

参数类型默认值描述
placementStringtop(vue2版本不能使用) 可选值有:‘top’ / ‘top-start’ / ‘top-end’ / ‘bottom’ / ‘bottom-start’ / ‘bottom-end’ / ‘left’ / ‘left-start’ / ‘left-end’

演示(以连续播放为例,非连续播放效果相同):

在这里插入图片描述

2.6、组件背景色

参数类型默认值描述
scheduleBgColorStringtransparent设置组件背景色

演示(以连续播放为例,非连续播放效果相同):

在这里插入图片描述

3、特殊配置

特殊配置指的是区分模式的一些配置。

3.1、连续播放模式:

3.1.1、播放总时长(必传,非连续播放模式下请勿传递)
参数类型默认值描述
maxNumber0(单位:秒)连续播放模式下播放的总时长

3.2、非连续播放模式

3.2.1、播放数据(必传)
参数类型默认值描述
dataListArray[]非连续播放的播放数据 (传入数据时间必须从小到大进行排序)

数据格式为:

let dataList = [{loc:{time: 1679981334000},alarm:{text:'我是标识1',style:{'color': 'red'}}},{loc:{time: 1679988534000},},{loc:{time: 1679992134000},alarm:{text:'我是标识2',style:{'color': 'red'}}},{loc:{time: 1679995734000},},{loc:{time: 1679998434000},},
]

结构说明: dataList 中的每一个元素表示一个有数据的时间节点,在播放的过程中会对这些点进行播放,两点间的时间间隔如果超过指定的跨度时间(跨度时间配置说明在下方 3.2.3 )则直接跳到下一个节点进行播放,如果不超过跨度时间则逐秒播放到下一个时间节点。loc 中的 time 属性就是该数据所处时间,而 alarm 表示该事件节点是否需要进行标注,存在 alarm 属性的节点会在进度条中进行标注。alarm 中的 text 表示标注的文本,通过 style 中的属性可以配置 text 文本的样式。

演示(该演示所使用数据就是上方的数据格式中的数据):

请添加图片描述

3.2.2、进度条的开始及结束时间(必传)
参数类型描述
startTimestampNumber(毫秒时间戳,如:1679980393000)进度条开始时间
endTimestampNumber(毫秒时间戳,如:1679998698000)进度条结束时间

演示:在这里插入图片描述

3.2.3、跨度时间
参数类型默认值描述
spanTimeNumber30(单位:秒)两个节点如果间隔时间超过该跨度时间则直接跳转到下一节点,如果不大于该跨度时间则逐秒播放到下一个时间节点
3.2.4、进度条中的标识样式
参数类型默认值描述
marksConfigObject{color: ‘#e8405e’, width: ‘3px’}width:宽度(String),color:颜色(String)

演示:
在这里插入图片描述

3.2.5、是否显示刻度
参数类型默认值描述
showScaleBooleanfalsetrue:显示,false:隐藏

演示:
请添加图片描述

3.2.6、刻度间隔时间
参数类型默认值描述
scaleIntervalTimeNumber30(单位:分钟,当刻度时间格式(scaleTextFormat)属性设置为 m:s 格式时单位自动变为秒刻度的间隔时间
3.2.7、时间格式(左侧提示时间、刻度时间、进度条提示时间)

在这里插入图片描述

参数类型默认值描述
timeTipFormatStringh:m设置左侧时间的格式
scaleTextFormatStringh:m设置刻度时间的格式
tooltipFormatStringh:m设置进度条提示时间的格式

能够设置的时间格式有(Y:年,M:月,D:日,h:时,m:分,s:秒):

h:m | Y-M-D h:m:s | M-D h:m:s | M-D h:m | Y-M-D | 
Y/M/D h:m:s | M/D h:m:s | M/D h:m | Y/M/D | h:m:s | m:s(特殊)

注意: 当 scaleTextFormat 设置为 m:s 时,scaleIntervalTime(刻度间隔时间)属性的单位就会变为秒

4、传出的进度条数据

组件中传出的数据及钩子函数,通过传出的数据可以对外部的音视频播放进行控制。通过传出的钩子函数可以在相应的时机做自身需要的处理。

4.1、进度条当前播放进度的时间

函数参数描述
getCurrentProgressnowTime(当前的进度时间,连续播放模式下返回进度的秒,非连续播放模式下返回进度的毫秒时间戳函数用户获取当前的播放进度

演示:

  • 连续播放模式:
    在这里插入图片描述
  • 非连续播放模式:
    在这里插入图片描述

4.2、拖动进度条时触发的回调

函数参数描述
afterInputvalue(Number类型,当前拖动到的进度)拖拽时触发

4.3、拖动进度条后触发的回调

函数参数描述
afterChangevalue(Number类型,当前拖动到的进度)拖拽后或者点击进度条某个点时触发

5、配置参数总结

基础配置

参数类型默认值描述是否必传
typeStringcontinuous上面介绍中说到组件分为连续播放和非连续播放两种模式(连续播放:continuous,非连续播放:discontinuous )
isActivateBooleantrue通过该参数可以控制播放的开始与暂停,初始值赋值为 true 则默认播放
scheduleStartTimeNumber0连续播放模式下传入播放开始的秒数,非连续播放模式传入播放开始的毫秒时间戳
multipleListArray[64,32,16,8,4,2,1]提供的倍速选项,默认提供默认值中的播放倍速选项
multipleNumber1当前的播放倍速,默认为1倍速
disabledBooleanfalsetrue 禁用,false 启用
showTimeTextBooleantruetrue 显示,false 隐藏
showPlayBtnBooleantruetrue 显示,false 隐藏
showMultipleBooleantruetrue 显示,false 隐藏
showTooltipBooleantruetrue 显示,false 隐藏

样式配置

参数类型默认值描述是否必传
schedulePointConfigObject{width: ‘20px’,height: ‘20px’ }设置端点的样式
progressBarColorString#409eff设置进度条背景色
activateImgUrlString开始按钮
stopImgUrlString暂停按钮
startStopBtnConfigObject{width: ‘15px’,height: ‘15px’,}设置开始暂停按钮样式
placementStringtop设置进度条提示的出现位置
scheduleBgColorStringtransparent设置组件背景色

特殊配置

连续播放模式:
参数类型默认值描述是否必传
maxNumber0(单位:秒)连续播放模式下播放的总时长,非连续播放模式下请勿传递
非连续播放模式:
参数类型默认值描述是否必传
dataListArray[]非连续播放的播放数据 (传入数据时间必须从小到大进行排序)
startTimestampNumber(毫秒时间戳,如:1679980393000)进度条开始时间
endTimestampNumber(毫秒时间戳,如:1679998698000)进度条结束时间
spanTimeNumber30(单位:秒)跨度时间
marksConfigObject{color: ‘#e8405e’, width: ‘3px’}设置进度条中标注样式
showScaleBooleanfalse是否显示刻度
scaleIntervalTimeNumber30(单位:分钟,当刻度时间格式(scaleTextFormat)属性设置为 m:s 格式时单位自动变为秒刻度的间隔时间
timeTipFormatStringh:m设置左侧时间的格式
scaleTextFormatStringh:m设置刻度时间的格式
tooltipFormatStringh:m设置进度条提示时间的格式

组件传出数据

函数参数描述
getCurrentProgressnowTime(当前的进度时间,连续播放模式下返回进度的秒,非连续播放模式下返回进度的毫秒时间戳)函数用户获取当前的播放进度
afterInputvalue(Number类型,当前拖动到的进度)拖拽时触发
afterChangevalue(Number类型,当前拖动到的进度)拖拽后或者点击进度条某个点时触发

6、用法示例

<ProgressBar :type="discontinuous":isActivate="isActivate" @getCurrentProgress=getCurrentProgress...
></ProgressBar>

三、总结

组件包含了日常常见的进度条需求,基本能满足大部分进度条的使用环境。感兴趣的朋友可以后台私信作者获取组件(工作日每天都在线)。如有其他功能组件中未实现的,欢迎留言,作者会持续更新,感谢!

👇觉得有帮助的朋友可以支持下作者哦,您的鼓励是我创作的最大动力,如有开发问题可联系作者
请添加图片描述

相关文章:

vue 中实现音视频播放进度条(可拖拽,满足常见开发需求)

由于开发需要&#xff0c;作者封装了一个音视频播放进度条的组件&#xff0c;支持 vue2 及 vue3 &#xff0c;有需要的朋友后台私信作者获取组件源码哦&#xff08;工作日每天都在线&#xff09;&#xff0c;下面是对该款组件的介绍。 组件默认样式&#x1f447;&#xff08;组…...

[免费]SpringBoot+Vue企业OA自动化办公管理系统【论文+源码+SQL脚本】

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的SpringBootVue企业OA自动化办公管理系统&#xff0c;分享下哈。 项目视频演示 【免费】SpringBootVue企业OA自动化办公管理系统 Java毕业设计_哔哩哔哩_bilibili 项目介绍 随着信息技术在管理上越来越深入…...

笔记:在WPF中BitmapSource都有哪些派生类,他们主要功能,使用方法,使用场景

一、目的&#xff1a;在WPF中BitmapSource都有哪些派生类&#xff0c;他们主要功能&#xff0c;使用方法&#xff0c;使用场景 BitmapSource 是 WPF 中图像处理的基类&#xff0c;提供了许多派生类来处理不同类型的图像源。以下是一些常见的 BitmapSource 派生类、它们的主要功…...

JAVA基础学习笔记_多线程

文章目录 多线程并发和并行多线程的实现方式Thread类实现Runnable接口方式实现callable接口和Future接口实现 常用的成员方法线程的生命周期线程的安全问题同步代码块同步方法lock锁死锁 生产者和消费者(等待唤醒机制)阻塞队列实现等待唤醒机制线程的6种状态线程池自定义线程池…...

什么是自动化办公

自动化办公是指使用技术工具或软件&#xff0c;通过预设流程或脚本&#xff0c;自动执行日常办公任务&#xff0c;从而提升效率、减少错误、节约时间的办公模式。它适用于需要重复性、规则明确的工作流程&#xff0c;让员工将精力集中在更具创造性和战略性的工作上。 自动化办公…...

数据库系统

数据库模式 3个阶段以及各自的产物&#xff1a; 1、需求分析&#xff08;数据流图、数据字典、需求说明书&#xff09;&#xff1b; 2、概念结构设计&#xff08;ER模型&#xff09;&#xff1b; 3、逻辑结构设计&#xff08;关系模式&#xff09;&#xff09;&#xff1b; 关…...

文件系统--底层架构(图文详解)

一、文件系统的底层存储与寻址 当我们谈到文件系统的底层结构时&#xff0c;最关键的问题是&#xff1a;文件的数据与元数据&#xff08;属性&#xff09;如何存储在磁盘上&#xff0c;以及系统是如何定位这些数据的&#xff1f;在谈及文件系统之前&#xff0c;我们要先对储存…...

【OCR】——端到端文字识别GOT-OCR2.0不香嘛?

代码&#xff1a;https://github.com/Ucas-HaoranWei/GOT-OCR2.0?tabreadme-ov-file 在线demo&#xff1a;https://huggingface.co/spaces/stepfun-ai/GOT_official_online_demo 0.前言 最早做ocr的时候&#xff0c;就在想如何能做一个端到端的模型&#xff0c;就不用先检测再…...

SkyWalking 和 ELK 链路追踪实战

一、背景 最近在给项目搭建日志平台的时候&#xff0c;采用的方案是 SkyWalking ELK 日志平台&#xff0c;但发现 ELK 日志平台中的日志没有 Trace ID&#xff0c;导致无法追踪代码报错的整体链路。 空哥提示&#xff1a;Trace ID 是分布式追踪中用来唯一标识一个服务请求或事…...

ETCD的封装和测试

etcd是存储键值数据的服务器 客户端通过长连接watch实时更新数据 场景&#xff1a; 当主机A给服务器存储 name&#xff1a; 小王 主机B从服务器中查name ,得到name-小王 当主机A更改name 小李 服务器实时通知主机B name 已经被更改成小李了。 应用&#xff1a;服务注册与发…...

基于大数据爬+数据可视化的民族服饰数据分析系统设计和实现(源码+论文+部署讲解等)

博主介绍&#xff1a;CSDN毕设辅导第一人、全网粉丝50W,csdn特邀作者、博客专家、腾讯云社区合作讲师、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术范围…...

torch.optim.lr_scheduler.ReduceLROnPlateau

torch.optim.lr_scheduler.ReduceLROnPlateau 是 PyTorch 中的一种学习率调度器&#xff0c;主要用于在模型训练过程中根据某些指标&#xff08;如验证损失&#xff09;动态调整学习率。它是一种基于性能指标动态调整学习率的策略&#xff0c;而不是预定义的固定时间调整。 主要…...

Linux 搭建ftp服务

FTP是什么&#xff1f; FTP&#xff08;文件传输协议&#xff0c;File Transfer Protocol&#xff09;是一种用于在计算机之间传输文件的网络协议。它基于客户端-服务器模型&#xff0c;允许用户从远程服务器上传、下载和管理文件。 FTP的主要作用 文件传输&#xff1a;FTP最基…...

阳光电源嵌入式面试题及参考答案

讲一讲声明变量的时候应该注意哪些内容。 在声明变量时,首先要考虑变量的类型。不同的数据类型有不同的用途和占用的存储空间大小。例如,基本数据类型如整型(int)通常占用 4 个字节,用来存储整数;而浮点型(float)用于存储带有小数部分的数字,占用 4 个字节,双精度浮点…...

PS的功能学习(形状、文字、图层)

关于图层 如果是在一个已经有其他图层的文档界面下&#xff0c;拉一张新图进来&#xff0c;就会自动转换成智能对象 注意&#xff0c;放大之后再栅格化&#xff0c;是会根据原本的防矢量图规则放大之后&#xff0c;再变回像素图层&#xff0c;这个变回来的像素图层是“在原像素…...

项目实例_FashionMNIST_CNN

前言 提醒&#xff1a; 文章内容为方便作者自己后日复习与查阅而进行的书写与发布&#xff0c;其中引用内容都会使用链接表明出处&#xff08;如有侵权问题&#xff0c;请及时联系&#xff09;。 其中内容多为一次书写&#xff0c;缺少检查与订正&#xff0c;如有问题或其他拓展…...

Ubuntu 安装 web 服务器

安装 apach sudo apt install apache2 -y 查看 apach2 版本号 apache2 -v 检查是否启动服务器 sudo service apache2 status 检查可用的 ufw 防火墙应用程序配置 sudo ufw app list 关闭防火墙 sudo ufw disable 更改允许通过端口流量 sudo ufw allow Apache Full 开启…...

burp的编解码,日志,比较器

声明&#xff01; 学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下&#xff0c;如涉及侵权马上删除文章&#xff0c;笔记只是方便各位师傅的学习和探讨&#xff0c;文章所提到的网站以及内容&#xff0c;只做学习交流&#xff0c;其他均与本人以及泷羽sec团队无关&a…...

2.1、模版语法

2.1.1、插值语法 1、代码示例 <body><!-- 准备容器 --><div id"app"><!-- 在data中声明的 --><!--1、 data中声明的变量 --><h1>{{msg}}</h1><h1>{{sayHello()}}</h1><!-- 不在data中的变量不可以 -->…...

最小二乘法拟合出二阶响应面近似模型

背景&#xff1a;根据样本试验数据拟合出二阶响应面近似模型&#xff08;正交二次型&#xff09;&#xff0c;并使用决定系数R和调整的决定系数R_adj来判断二阶响应面模型的拟合精度。 1、样本数据&#xff08;来源&#xff1a;硕士论文《航空发动机用W形金属密封环密封性能分析…...

网络编程(Modbus进阶)

思维导图 Modbus RTU&#xff08;先学一点理论&#xff09; 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议&#xff0c;由 Modicon 公司&#xff08;现施耐德电气&#xff09;于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

【磁盘】每天掌握一个Linux命令 - iostat

目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat&#xff08;I/O Statistics&#xff09;是Linux系统下用于监视系统输入输出设备和CPU使…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​&#xff1a; 下载安装DevEco Studio 4.0&#xff08;支持HarmonyOS 5&#xff09;配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​&#xff1a; ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序&#xff0c;以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务&#xff0c;提供稳定高效的数据处理与业务逻辑支持&#xff1b;利用 uniapp 实现跨平台前…...

初学 pytest 记录

安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配

目录 一、C 内存的基本概念​ 1.1 内存的物理与逻辑结构​ 1.2 C 程序的内存区域划分​ 二、栈内存分配​ 2.1 栈内存的特点​ 2.2 栈内存分配示例​ 三、堆内存分配​ 3.1 new和delete操作符​ 4.2 内存泄漏与悬空指针问题​ 4.3 new和delete的重载​ 四、智能指针…...

虚拟电厂发展三大趋势:市场化、技术主导、车网互联

市场化&#xff1a;从政策驱动到多元盈利 政策全面赋能 2025年4月&#xff0c;国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》&#xff0c;首次明确虚拟电厂为“独立市场主体”&#xff0c;提出硬性目标&#xff1a;2027年全国调节能力≥2000万千瓦&#xff0…...

搭建DNS域名解析服务器(正向解析资源文件)

正向解析资源文件 1&#xff09;准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2&#xff09;服务端安装软件&#xff1a;bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...

代码规范和架构【立芯理论一】(2025.06.08)

1、代码规范的目标 代码简洁精炼、美观&#xff0c;可持续性好高效率高复用&#xff0c;可移植性好高内聚&#xff0c;低耦合没有冗余规范性&#xff0c;代码有规可循&#xff0c;可以看出自己当时的思考过程特殊排版&#xff0c;特殊语法&#xff0c;特殊指令&#xff0c;必须…...