Fivk博客 - 资源教程
type: channel
link: https://blog.fivk.cn/category/resources/
items: 【开发工具】IDEA新版本新建SpringBoot项目JDK版本选择问题
items: Dolby Vision 杜比视界插件
items: 【Tool】Docker部署青龙面板
items: 【开发技巧】Java定时任务的选择与应用
items: Ubuntu安装Docker
items: 【开发工具】SpringFox：构建和文档化RESTful Web服务的强大工具
items: 【开发工具】Zabbix3监控中心进阶
items: 【开发工具】zabbix3监控工具
items: 【开发技巧】使用TS定义Interface在其他TS文件或者Vue文件中使用
items: 【实用技巧】CSDN、掘金、简书博客文章内容转为Markdown语法?

【开发工具】IDEA新版本新建SpringBoot项目JDK版本选择问题
type: item
date: 2024-11-12T22:12:00+08:00
description: [scode type="blue" size="simple"]今天在使用新版本idea遇到新建SpringBoot项目只能使用JDK17、JDK21、JDK23，但是目前国内大多数企业都是使用JDK8，所以寻找了一下方法。[/scode]推荐方法将服务器URL改成阿里云的链接。https://start.aliyun.com

Dolby Vision 杜比视界插件
type: item
date: 2024-08-12T22:10:00+08:00
description: 1、首先在Store中下载HEVC需要7￥，不想付费看下面我网盘分享。二、下载Dolby VisionBolby Vision链接：点击打开有时候商店里面搜不到或者下载不了，可以打开下面链接https://store.rg-adguard.net/在连接中填写地址并下载，看图片三、安装扩展插件Dolby Vision Extensions链接：点击打开四、软件下载地址链接：https://pan.baidu.com/s/1N_L0CmM_UU22YiJ8eiGZDg提取码：fivk

【Tool】Docker部署青龙面板
type: item
date: 2023-11-23T08:58:07+08:00
description: 首先官网地址：https://github.com/whyour/qinglong我以ubuntu为例如果你的主机是Ubuntu系统，并且没有特殊需求需要使用Alpine不支持的依赖，我建议你下载whyour/qinglong:debian镜像。docker pull whyour/qinglong:debiandocker 部署我这是按照官网教程，官网很详细，改成自己习惯的配置即可，我的配置如下mkdir -p /docker/ql/datadocker run -dit \ -v /docker/ql/data:/ql/data \ -p 5700:5700 \ -e QlBaseUrl="/" \ -e QlPort="5700" \ --name qinglong \ --hostname qinglong \ --restart unless-stopped \ whyour/qinglong:debian命令解释 #curl -sSL get.docker.com | sh docker run -dit \ -v /docker/ql/data:/ql/data \ # 冒号后面的 5700 为默认端口，如果设置了 QlPort, 需要跟 QlPort 保持一致 -p 5700:5700 \ # 部署路径非必须，比如 /test -e QlBaseUrl="/" \ # 部署端口非必须，当使用 host 模式时，可以设置服务启动后的端口，默认 5700 -e QlPort="5700" \ --name qinglong \ --hostname qinglong \ --restart unless-stopped \ whyour/qinglong:debian启动docker后开放5700端口，直接前端页面访问即可使用脚本案例（小米社区全自动签到涨积分，轻松到五段）我是基于这个项目：miui-auto-tasks（https://github.com/0-8-4/miui-auto-tasks）里面也有详细教程进入到青龙面板后台，转到依赖管理，右上角新建依赖，依赖类型选python3添加以下四个依赖。requests python-dotenv PyYAML onepush等待安装完成任务添加确保你已安装并配置好青龙面板在青龙面板的订阅管理中点击 新建订阅 ，将下方命令参数复制到新建订阅窗口的 名称 中后手动设置定时规则，指定类型为 interval 每 1 天 后点击确定，然后运行订阅并禁用订阅的自动运行，如不禁用将导致配置文件被覆盖。ql repo https://github.com/0-8-4/miui-auto-tasks.git miuitask|firstrun utils|init utils|config master py|yaml|sh在青龙面板的定时任务中运行名称为 MIUI-Auto-Task 环境配置 的任务，查看日志检查确定成功后即可禁用然后进行下一步在青龙面板的脚本管理中点击 0-8-4_miui-auto-tasks_master 文件夹，选中位于 data 下的 config.yaml 文件，参照官网Wiki的配置文件释义进行编辑并保存在青龙面板的定时任务中运行名称为 MIUI-Auto-Task 的任务，查看日志检查确定成功运行即可配置账号信息进入脚本管理，选择项目中的config.yaml文件，再点击右上角的编辑按钮，编辑配置文件，我这里给出示例，请自行更改，编辑完成后保存。accounts: - uid: 1000000 # 小米账户ID 非小米账户用户名 password: abcde # 小米账户密码或其MD5哈希 user-agent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36' # 登录小米社区时所用浏览器的 User-Agent # 可在此工具查看：https://tool.chinaz.com/useragent # 功能开关 check-in: true # 社区成长值签到，启用功能意味着你愿意自行承担相关风险 browse-user-page: true # 社区浏览个人主页10秒，启用功能意味着你愿意自行承担相关风险 browse-post: true # 社区浏览帖子10秒，启用功能意味着你愿意自行承担相关风险 thumb-up: true # 点赞帖子，启用功能意味着你愿意自行承担相关风险 browse-specialpage: true # 社区在活动期间可能会…

【开发技巧】Java定时任务的选择与应用
type: item
date: 2023-10-20T15:10:00+08:00
description: 在Java开发中，经常会遇到需要在预定的时间间隔或特定时间点执行任务的需求。为了满足这一需求，Java提供了多种定时任务的方式。本文将介绍几种常见的定时任务方式，并给出详细的举例和使用场景。1. Timer和TimerTaskTimer和TimerTask是Java提供的最简单的定时任务工具。通过Timer类和TimerTask类，我们可以快速实现基本的定时任务。import java.util.Timer; import java.util.TimerTask; public class MyTask extends TimerTask { @Override public void run() { // 执行任务的逻辑 System.out.println("任务执行中..."); } public static void main(String[] args) { Timer timer = new Timer(); TimerTask task = new MyTask(); // 安排任务在指定延迟之后执行 timer.schedule(task, 5000); // 也可以按照固定的时间间隔重复执行任务 // timer.scheduleAtFixedRate(task, 0, 1000); } }上述代码中，创建了一个继承自TimerTask的任务类MyTask。通过Timer类的schedule()方法，我们安排了任务在5秒后执行。如果我们使用scheduleAtFixedRate()方法，该任务将以每秒钟一次的频率重复执行。Timer和TimerTask的使用简单方便，适用于一些简单的定时任务需求。然而，Timer存在一些问题，例如不支持并发执行、对异常处理不友好等。2. ScheduledExecutorService为了解决Timer的一些问题，Java提供了ScheduledExecutorService接口。它是一个高度灵活和可扩展的定时任务调度器。import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; public class MyTask implements Runnable { @Override public void run() { // 执行任务的逻辑 System.out.println("任务执行中..."); } public static void main(String[] args) { ScheduledExecutorService executor = Executors.newScheduledThreadPool(1); Runnable task = new MyTask(); // 安排任务在指定延迟之后执行 executor.schedule(task, 5, TimeUnit.SECONDS); // 也可以按照固定的时间间隔重复执行任务 // executor.scheduleAtFixedRate(task, 0, 1, TimeUnit.SECONDS); } }上述代码中，我们使用了ScheduledExecutorService接口实现了一个定时任务。通过Executors类的静态方法创建了一个ScheduledExecutorService实例，并通过schedule()方法安排任务在5秒后执行。如果使用scheduleAtFixedRate()方法，则任务会以每秒钟一次的频率重复执行。ScheduledExecutorService相比于Timer，具有更好的性能和可靠性。它支持并发执行多个定时任务，并且提供了更多的配置选项，例如设定任务超时时间、设定线程池大小等。3.@Scheduled注解方式在Spring Boot项目中，使用@Scheduled来实现定时任务非常简单。下面是一些在Spring Boot项目中配置和使用定时任务的步骤：添加依赖：在pom.xml文件中添加@Scheduled的依赖。<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency>创建定时任务类：创建一个类，并在需要执行定时任务的方法上添加@Scheduled注解。例如：import org.springframework.scheduling.annotation.Scheduled; imp…

Ubuntu安装Docker
type: item
date: 2023-10-11T15:42:00+08:00
description: 安装Docker在 Ubuntu 上安装 Docker 的流程相对简单，以下是详细的安装步骤：1.检查卸载老版本Dockersudo apt-get remove docker docker-engine docker.io containerd runc2. 更新现有的包首先，确保系统的包索引是最新的：sudo apt update sudo apt-get upgrade3. 安装必要的依赖sudo apt-get install ca-certificates curl gnupg lsb-release4. 添加 Docker 的官方 GPG 密钥接着，添加 Docker 官方的 GPG 密钥，用于验证 Docker 包的合法性：curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -5. 添加阿里云docker软件源sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"6. 安装 Docker 引擎使用下面的命令安装 Docker：apt-get install docker-ce docker-ce-cli containerd.iodocker-ce：Docker 社区版（Community Edition）docker-ce-cli：Docker 命令行客户端containerd.io：容器运行时，它是 Docker 的基础组件7. 启动 Docker 服务安装完成后，启动 Docker 服务并设置开机自启：sudo systemctl start docker sudo systemctl enable docker8. 验证 Docker 安装可以通过运行以下命令来检查 Docker 是否成功安装：docker --version你应该会看到类似于以下内容的输出：Docker version 20.10.17, build 100c7019. 运行 Docker 示例你可以通过运行 Docker 官方提供的 hello-world 容器来验证 Docker 是否工作正常：sudo docker run hello-world如果安装成功，Docker 会下载并运行 hello-world 镜像，并输出一条欢迎信息。10. （可选）非 root 用户使用 Docker默认情况下，Docker 需要使用 sudo 来执行。如果你希望以非 root 用户运行 Docker 命令，可以将用户添加到 Docker 组：sudo usermod -aG docker $USER添加用户后，你需要退出并重新登录，或者运行下面的命令来应用更改：newgrp docker之后，你可以直接运行 Docker 命令而无需使用 sudo。11.配置国内镜像加速编辑或创建 /etc/docker/daemon.json 文件，配置镜像源。sudo nano /etc/docker/daemon.json添加以下内容：{ "registry-mirrors": ["https://hub-mirror.c.163.com"] }ubuntu安装DockerCompose1.执行命令sudo curl -L "https://github.com/docker/compose/releases/download/v2.23.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose提示：如果是普通用户，没有权限，需要切换到root用户：sudo -i可以修改url切换版本如果上面链接失效，请尝试使用下面命令curl -L https://get.daocloud.io/docker/compose/releases/download/v2.23.3/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose2.授权执行权限sudo chmod +x /usr/local/bin/docker-compose3.查看是否安装正确docker-compose -v4.Docker-compose命令大全# 默认使用docker-compose.yml构建镜像 $ docker-compose build $ docker-compose build --no-cache # 不带缓存的构建…

【开发工具】SpringFox：构建和文档化RESTful Web服务的强大工具
type: item
date: 2023-10-10T10:52:00+08:00
description: [scode type="blue" size="simple"]随着RESTful Web服务的普及，如何创建和文档化这些服务成为了一个重要的问题。SpringFox是一个开源的API文档框架，旨在帮助开发者解决这一问题。本篇文章将介绍SpringFox的功能、使用方法以及一些常见的注解。[/scode]一、SpringFox简介SpringFox是一个基于Spring框架的API文档工具，它的前身是swagger-springmvc。通过使用SpringFox，开发者可以自动生成直观可视的接口文档，从而帮助后端开发人员脱离写接口文档的痛苦。此外，SpringFox还支持在线测试，可以实时检查参数和返回值。二、SpringFox的主要功能自动生成OAS文档：SpringFox可以自动生成符合OAS（OpenAPI Specification）规范的文档。OAS是一个用于描述RESTful Web服务的规范，它定义了一种用于描述API的标准格式。可视化API文档：通过Swagger UI，可以将生成的OAS文档可视化为可读的API文档。Swagger UI提供了一个交互式的界面，使开发者能够轻松查看和理解API的详细信息。在线测试：SpringFox支持在线测试功能，开发者可以在Swagger UI中直接发送请求并查看响应结果。注解驱动：SpringFox使用注解来自动生成文档。通过在Controller和方法上添加注解，可以方便地描述API的信息。集成Spring：SpringFox与Spring框架紧密集成，支持Spring MVC、Spring WebFlux等多种Spring技术。三、SpringFox的常见注解@Api：用于类，表示一个API资源。可以用它来描述API的主要信息和一些通用设置。@ApiOperation：用于方法，表示一个HTTP请求的操作。可以用它来为API定义一个简短的描述，这将出现在生成的API文档中。@ApiParam：用于方法参数，表示一个请求参数。可以用它来描述参数的名称、数据类型、是否必须等信息。@ApiResponse：用于方法，表示一个HTTP响应。可以用它来描述响应的状态码、响应头和响应体等信息。@ApiResponses：用于方法，表示多个HTTP响应。可以用它来描述不同的响应状态码和响应信息。@ApiIgnore：用于类、方法或属性，表示忽略该元素，不生成相关的API文档。@ApiModel：用于类，表示一个请求或响应的数据模型。可以用它来描述数据的属性、数据类型和其他信息。@ApiModelProperty：用于类的属性，表示一个数据模型的属性。可以用它来描述属性的名称、数据类型、是否必须等信息。@ApiImplicitParams：用于描述API接口的额外参数。四、使用SpringFox的步骤使用SpringFox来构建和文档化RESTful Web服务的步骤如下：添加依赖：在Maven项目的pom.xml文件中，添加SpringFox的依赖。例如，要添加SpringFox Swagger 2和Swagger UI的依赖，可以添加以下代码：<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.9.2</version> </dependency>请注意，依赖的版本可能会有所不同，根据你的项目需求和SpringFox的版本进行选择。配置Swagger：创建一个Swagger的配置类，并在其中配置Swagger的基本信息和扫描的包路径等。例如，可以创建一个名为SwaggerConfig的类，并使用@Configuration和@EnableSwagger2注解来启用Swagger。然后，可以使用@Bean注解来创建一个Docket对象，并配置Swagger的基本信息和扫描的包路径等。@Configuration @EnableSwagger2 public class SwaggerConfig { @Bean public Docket api() { return new Docket(DocumentationType.SWAGGER_2) .select() .apis(RequestHandlerSelectors.basePackage("com.example.pr…

【开发工具】Zabbix3监控中心进阶
type: item
date: 2023-09-27T10:32:00+08:00
description: 一、Zabbix 基于SNMP监控1、介绍SNMP：简单网络管理协议；（非常古老的协议）三种通信方式：读（get, getnext）、写（set）、trap（陷阱）；端口： 161/udp 162/udpSNMP协议：年代久远 v1: 1989 v2c 1993 v3: 1998监控网络设备：交换机、路由器MIB：Management Information Base 信息管理基础OID：Object ID 对象ID2、Linux 启用 snmp[root@node1 ~]# yum install net-snmp net-snmp-utils配置文件：定义ACL[root@node1 ~]# vim /etc/snmp/snmpd.conf启动服务：[root@node1 ~]# systemctl start snmpd # 被监控端开启的服务 [root@node1 ~]# systemctl start snmptrapd # 监控端开启的服务（如果允许被监控端启动主动监控时启用）3、配置文件的介绍开放数据：4步1、定义认证符，将社区名称"public"映射为"安全名称"2、将安全名称映射到一个组名3、为我们创建一个视图，让我们的团队有权利掩码：我列出一些注释，有很多，可以再网上查询.1.3.6.1.2.1. 1.1.0：系统描述信息，SysDesc 1.3.0：监控时间， SysUptime 1.5.0：主机名，SysName 1.7.0：主机提供的服务，SysService.1.3.6.1.2.2. 2.1.0：网络接口数目 2.2.1.2:网络接口的描述信息 2.2.1.3:网络接口类型 ……4、授予对systemview视图的只读访问权4、测试工具[root@node1 ~]# snmpget -v 2c -c public HOST OID [root@node1 ~]# snmpwalk -v 2c -c public HOST OID # 通过这个端口查询到的数据，全列出了4、配置SNMP监控1、下载，修改配置文件[root@node1 ~]# vim /etc/snmp/snmpd.conf view systemview included .1.3.6.1.2.1.1 view systemview included .1.3.6.1.2.1.2 # 网络接口的相关数据 view systemview included .1.3.6.1.4.1.2021 # 系统资源负载，memory, disk io, cpu load view systemview included .1.3.6.1.2.1.252、在 agent 上测试[root@node1 ~]# snmpget -v 2c -c public 192.168.30.2 .1.3.6.1.2.1.1.3.0 [root@node1 ~]# snmpget -v 2c -c public 192.168.30.2 .1.3.6.1.2.1.1.5.03、在监控页面，给node2加一个snmp的接口4、在 node2 上加一个 Template OS Linux SNMPv2 模板模板添加成功，生成一系列东西点开一个item 看一下5、生成一些最新数据的图形 graph了5、设置入站出站packets 的SNMP监控1、监控网络设备：交换机、路由器的步骤：把交换机、路由器的SNMP 把对应的OID的分支启用起来了解这些分支下有哪些OID，他们分别表示什么意义我们要监控的某一数据：如交换机的某一个接口流量、报文，发送、传入传出的报文数有多少个；传入传出的字节数有多少个，把OID取出来，保存2、定义入站出站的item监控项interface traffic packets(in)interface traffic packets(out)二、基于JVM接口监控1、介绍Java虚拟机(JVM)具有内置的插件，使您能够使用JMX监视和管理它。您还可以使用JMX监视工具化的应用程序。1、配置设置介绍1、zabbix-java-gateway主机设置安装 zabbix-java-gateway程序包，启动服务；[root@qfedu.com ~]# yum -y install zabbix-java-gateway2、zabbix-server端设置（需要重启服务）JavaGateway=172.16.0.70 #即 zabbix server IP地址 JavaGatewayPort=10052 StartJavaPollers=5 #监控项3、tomcat主机设置监控tomcat：[root@qfedu.com ~]# vim /etc/sysco…

【开发工具】zabbix3监控工具
type: item
date: 2023-09-27T10:07:00+08:00
description: 一、监控介绍你用过哪些监控软件？zabbix 和 nagios、cacti、ganglia 有什么区别？zabbix 有那些好处？zabbix 的监控流程是什么？zabbix 常见监控项有那些？1、CactiCacti 是一套基于 PHP、MySQL、SNMP 及 RRD Tool 开发的监测图形分析工具,Cacti 是使用轮询的方式由主服务器向设备发送数据请求来获取设备上状态数据信息的,如果设备不断增多,这个轮询的过程就非常的耗时,轮询的结果就不能即时的反应设备的状态了。Cacti 监控关注的是对数据的展示,却不关注数据异常后的反馈。如果凌晨 3 点的时候设备的某个数据出现异常,除非监控人员在屏幕前发现这个异常变化,否则是没有任何报警机制能够让我们道出现了异常。2、NagiosNagios 是一款开源的免费网络监控报警服务,能有效监控 Windows、Linux 和 Unix 的主机状态,交换机、路由器和防火墙等网络设置,打印机、网络投影、网络摄像等设备。在系统或服务状态异常时发出邮件或短信报警第一时间通知运维人员,在状态恢复后发出正常的邮件或短信通知。Nagios 有完善的插件功能,可以方便的根据应用服务扩展功能。Nagios 已经可以支持由数万台服务器或上千台网络设备组成的云技术平台的监控,它可以充分发挥自动化运维技术特点在设备和人力资源减少成本。只是 Nagios 无法将多个相同应用集群的数据集合起来,也不能监控到集群中特殊节点的迁移和恢复。3、GangliaGanglia 是 UC Berkeley 发起的一个开源集群监视项目,设计用于测量数以千计的节点。Ganglia 的核心包含 gmond、gmetad 以及一个 Web 前端。主要是用来监控系统性能,如:CPU 、内存、硬盘利用率, I/O 负载、网络流量情况等,通过曲线很容易见到每个节点的工作状态,对合理调整、分配系统资源,提高系统整体 性能起到重要作用,目前是监控HADOOP 的官方推荐服务。4、ZabbixZabbix 是一个基于 WEB 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。Zabbix 是由 Alexei Vladishev 创建，目前由 Zabbix SIA 在持续开发和支持。Zabbix 是一个企业级的分布式开源监控方案。Zabbix 是一款能够监控各种网络参数以及服务器健康性和完整性的软件。Zabbix 使用灵活的通知机制，允许用户为几乎任何事件配置基于邮件的告警。这样可以快速反馈服务器的问题。基于已存储的数据，Zabbix提供了出色的报告和数据可视化功能。这些功能使得Zabbix成为容量规划的理想方案。Zabbix 支持主动轮询和被动捕获。Zabbix所有的报告、统计信息和配置参数都可以通过基于Web的前端页面进行访问。基于Web的前端页面可以确保您从任何方面评估您的网络状态和服务器的健康性。Zabbix是免费的。Zabbix是根据GPL通用公共许可证第2版编写和发行的。这意味着它的源代码都是免费发行的，可供公众任意使用, 商业支持 由Zabbix公司提供。二、监控区别nagios 图形不是特别好，也可以安装图形插件，但是也不怎么好看nagios 一般情况下如果需要图形可以和 cacti 配合使用cacti 的监控是轮询监控,效率低，图形相对 nagios 比较好看zabbix 和 nagios 因为是并发监控，对 cpu 的要求更高zabbix 在性能和功能上都强大很多zabbix 的图形相当漂亮支持多种监控方式 zabbix-agent snmp 等等支持分布式监控,能监控的 agent 非常多zabbix 有图形的 web 配置界面，配置简洁zabbix 支持自动发现功能三、Zabbix 监控介绍1、Zabbix 监控架构3、Zabbix 优点开源,无软件成本投入Server 对设备性能要求低支持设备多,自带多种监控模板支持分布式集中管理,有自动发现功能,可以实现自动化监控开放式接口,扩展性强,插件编写容易当监控的 item 比较多服务器队列比较大时可以采用主动状态,被监控客户端主动 从server 端去下载需要监控的 item 然后取数据上传到 server 端。 这种方式对服务器的负载比较小。Api 的支持,方便与其他系统结合4、Zabbix 缺点需在被监控主机上安装 agent,所有数据都存在数据库里, 产生的数据据很大,瓶颈主要在数据库。项目批量修改不方便社区虽然成熟，但是中文资料相对较少，服务支持有限；入门容易，能实现基础的监控，但是深层次需求需要非常熟悉Zabbix并进行大量的二…

【开发技巧】使用TS定义Interface在其他TS文件或者Vue文件中使用
type: item
date: 2023-08-07T15:17:39+08:00
description: 要在其他 TypeScript 文件和 Vue 文件中使用接口（interface），你可以按照以下步骤进行操作：创建一个新的 TypeScript 文件，例如 myInterface.ts，并在其中定义你的接口。例如：// myInterface.ts export interface MyInterface { // 接口属性和方法的定义 name: string; age: number; greet(): void; }在需要使用该接口的文件中，使用 import 关键字将接口引入。例如：// otherFile.ts import { MyInterface } from './myInterface'; const obj: MyInterface = { name: 'John', age: 25, greet() { console.log(`Hello, my name is ${this.name} and I'm ${this.age} years old.`); } }; obj.greet(); // 输出：Hello, my name is John and I'm 25 years old.如果你想在 Vue 文件中使用接口，可以按照类似的方式进行导入。例如： {{ obj.name }} {{ obj.age }} 这样，你就可以在其他 TypeScript 文件和 Vue 文件中使用定义的接口了。确保在导入接口时使用正确的路径，并根据需要进行适当的类型注解。

【实用技巧】CSDN、掘金、简书博客文章内容转为Markdown语法?
type: item
date: 2023-06-14T18:30:00+08:00
description: 我这里以Google浏览器和CSDN为例1.首先在CSDN文章页面点击“检查”2.在HTML源码中找到“article_content”（可以直接搜索），如图：右键->复制为outerHTML。3.打开https://tool.lu/markdown/