【前端】Vue中导出表格数据到Excel
前言在前端开发中,将表格数据导出为Excel文件是一个常见的需求,方便用户离线查看和分析数据。本文将介绍如何在Vue项目中使用 exceljs 库来实现前端导出表格数据的功能,并参考您项目中已有的实现方式。 一、准备工作(一)安装依赖首先,确保您的Vue项目中已经安装了 exceljs 和 file-saver (用于在浏览器端保存文件)。 1npm install exceljs file-saver --save exceljs 是一个功能强大的库,可以创建、读取和修改Excel文件。file-saver 则可以帮助我们将生成的文件流保存到用户的本地设备。 (二)创建工具方法(或在组件中直接实现)您可以将导出逻辑封装成一个可复用的工具方法,或者直接在需要导出功能的组件中实现。参考您项目 source/_drafts/前台功能.md 中的 tableOutputMethod 方法,这是一个很好的实践。 二、实现导出功能下面我们将详细步骤分解,并结合您项目中的代码示例进行说明。 (一)引入库在您的工具文件或Vue组件中,首先需要引入 exceljs 和 file-saver。 ...
【前端】Vue中集成FullCalendar日历功能
前言在前端项目开发中,日历功能是常见的需求,例如日程展示、事件预约等。FullCalendar 是一款功能强大且高度可定制的 JavaScript 日历库,可以很好地与 Vue.js 集成。本文将详细介绍如何在 Vue 项目中集成和使用 FullCalendar。 一、准备环境在开始之前,请确保您的 Vue 项目已经创建并正常运行。 (一)安装 FullCalendar 相关依赖首先,我们需要安装 FullCalendar 的核心包、Vue 适配器以及您需要使用的插件。FullCalendar 提供了不同版本的 Vue 适配器,请根据您的 Vue 版本进行选择。 对于 Vue 2 项目: 1npm install --save @fullcalendar/core @fullcalendar/vue 对于 Vue 3 项目: 1npm install --save @fullcalendar/core @fullcalendar/vue3 接下来,安装您计划使用的 FullCalendar 插件。常用的插件包括: @fullcalendar/daygrid:提供月视图、周视...
【前端】JavaScript定时任务与轮询机制详解
前言在前端开发中,我们经常需要执行定时任务,比如延时操作、周期性更新数据(轮询)、执行动画等。JavaScript 提供了多种实现定时机制的方法,从基础的 setTimeout、setInterval 到针对动画优化的 requestAnimationFrame,以及更高级的如 Web Workers, Server-Sent Events (SSE) 和 WebSockets 等技术来实现更复杂的轮询和实时通信。本文将详细介绍这些技术的用法、优缺点及适用场景。 一、基本的定时器JavaScript 中最基础的两个定时器是 setTimeout 和 setInterval。 (一)setTimeout: 单次定时器setTimeout 用于在指定的延迟时间后执行一次回调函数。 1234567// 延迟2秒后执行const timeoutId = setTimeout(() => { console.log('2秒后执行的操作');}, 2000);// 如果需要取消定时器// clearTimeout(timeoutId); 特...
【前端】JavaScript中的核心:理解和使用Document对象
前言在Web前端开发中,JavaScript扮演着至关重要的角色,而document对象则是JavaScript与HTML文档进行交互的核心桥梁。无论是动态修改页面内容、响应用户操作,还是创建新的页面元素,都离不开对document对象的理解和运用。本文将作为一篇技术笔记,详细介绍document对象的概念、常用属性和方法,帮助开发者更好地掌握这一Web开发的基石。 一、什么是Document对象?当浏览器加载一个HTML页面时,它会创建一个表示该页面的树状结构,这个结构被称为文档对象模型(Document Object Model,简称DOM)。document对象就是这个DOM树的根节点,它代表了整个HTML文档。 我们可以将document对象视为: DOM的入口点:通过document对象,我们可以访问和操作HTML文档中的任何元素、属性和文本内容。 window对象的属性:document对象是全局window对象的一个属性,因此我们可以直接在JavaScript代码中使用document(或者window.document)来访问它。 理解document对象是进...
【前端】CSS媒体查询详解与响应式设计实践
前言在现代Web开发中,用户通过各种不同尺寸和能力的设备访问网页,从桌面显示器到平板电脑再到智能手机。为了确保在所有这些设备上都能提供优秀的用户体验,响应式网页设计(Responsive Web Design, RWD)应运而生。CSS媒体查询(Media Queries)是实现响应式设计的核心技术之一,它允许我们根据设备的特性(如视口宽度、屏幕方向、分辨率等)来应用特定的CSS样式。本文将详细介绍CSS媒体查询的用法、重要概念以及如何在实践中应用它们来构建自适应的网页布局。 一、什么是媒体查询?媒体查询是CSS3引入的一项重要功能,它允许内容的呈现根据用户设备的特定参数进行调整,例如屏幕分辨率、视口宽度、方向(横屏或竖屏)、色彩能力等。通过使用媒体查询,开发者可以为不同类型的设备和环境提供定制化的样式表,从而创建更加灵活和用户友好的界面。 媒体查询主要由两部分组成: 媒体类型(Media Type):指定样式适用的设备类型。 媒体特性(Media Feature):描述设备的具体特征,可以是一个或多个表达式,这些表达式会被解析为真或假。 当媒体类型与设备匹配,并且所有媒体特...
【MySQL】查询组织结构表中所有子组织
【MySQL】查询组织结构表中所有子组织一、需求背景在企业应用系统中,组织结构通常采用树形结构存储,一个常见的需求是查询某个组织及其所有下级组织的信息。例如,查询某部门及其所有子部门的ID列表,或者查询某区域及其所有下辖区域的数据。 本文将介绍在MySQL中查询组织结构表中某个组织及其所有子组织的几种方法,特别是使用MySQL 8.0引入的CTE(公共表表达式)和递归查询功能。 二、表结构介绍以下是组织结构表的DDL定义: 12345678910111213141516171819202122CREATE TABLE `sys_stru` ( `STRU_ID` bigint(20) NOT NULL COMMENT '机构编码', `STRU_TYPE` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '机构类型', `ORGAN_ID` bigint(20) DEFAULT NULL COMMENT '组织...
【MySQL】常用函数总结
【MySQL】常用函数总结一、字符串处理函数1. 字符串连接函数CONCAT()将多个字符串连接成一个字符串: 123456789-- 基本用法SELECT CONCAT('Hello', ' ', 'World') AS greeting;-- 结果: Hello World-- 连接列值SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM employees;-- 与其他表达式混用SELECT CONCAT('ID: ', id, ', Name: ', name) FROM products; CONCAT_WS()使用指定的分隔符连接多个字符串,比CONCAT更方便: 123456789101112-- 基本语法: CONCAT_WS(separator, string1, string2, ...)-- 使用逗号连接SELECT CONCAT_WS(',', &#x...
【LINUX】通过JumpServer访问远程Web应用
【LINUX】通过JumpServer访问远程Web应用一、前言在企业环境中,我们经常需要通过堡垒机(如JumpServer)连接和管理客户的远程服务器。在部署完Web应用后,由于网络隔离或安全策略限制,我们常常无法直接从本地浏览器访问这些应用。本文将介绍几种通过JumpServer访问远程Web应用的方法,帮助运维人员和开发者解决此类问题。 二、基本原理要通过JumpServer访问远程Web应用,本质上是建立一个从本地机器到远程服务器的安全通道,主要依靠以下技术: (一)SSH端口转发SSH端口转发(又称SSH隧道)是最常用的方法,分为以下几种: 本地端口转发:将本地端口的流量转发到远程服务器 远程端口转发:将远程端口的流量转发到本地服务器 动态端口转发:创建一个SOCKS代理服务器 (二)JumpServer的Web文件管理器一些JumpServer版本提供了文件管理器功能,可以下载远程服务器上的文件到本地。 三、通过SSH端口转发访问远程Web应用(一)本地端口转发本地端口转发是最常用的方法,适用于需要从本地访问远程Web应用的场景。 1. 命令格式1ssh -L [...
【LINUX】服务器数据库自动备份脚本实现
【LINUX】服务器数据库自动备份脚本实现一、前言在服务器运维过程中,数据库备份是一项至关重要的工作。数据是企业的核心资产,一旦数据丢失或损坏,可能会造成不可估量的损失。因此,建立一个可靠的自动备份机制是保障数据安全的基础措施。本文将详细介绍如何在Linux服务器上创建一个自动备份数据库的脚本,并通过crontab设置定时任务,实现数据库的自动备份。 二、准备工作(一)环境要求在开始之前,请确保您的服务器环境满足以下条件: Linux操作系统(本文以Ubuntu/CentOS为例) 已安装数据库服务(MySQL/MariaDB/PostgreSQL等) 具有数据库管理员权限 足够的磁盘空间用于存储备份文件 (二)备份策略规划在创建备份脚本前,笔者建议先规划好备份策略: 备份频率:每天、每周或自定义周期 备份时间:选择服务器负载较低的时间段 备份保留期:决定保留多少天的备份文件 备份存储位置:本地存储、远程服务器或云存储 备份方式:全量备份或增量备份 三、创建备份脚本(一)MySQL/MariaDB备份脚本以下是一个完整的MySQL&...
【LINUX】服务器重启后自动启动应用脚本
【LINUX】服务器重启后自动启动应用脚本一、前言服务器重启后,通常需要手动启动各种应用服务,如Nginx、Java应用、数据库等。这不仅繁琐,而且可能因为人为疏忽导致某些服务未能及时启动。本文将介绍如何编写一个自动启动脚本,使服务器重启后能自动启动所需的各种应用服务,提高系统的可用性和运维效率。 二、实现方式在Linux系统中,有多种方式可以实现应用的自动启动: (一)systemd服务方式这是现代Linux发行版(如CentOS 7+、Ubuntu 16.04+)推荐的方式。 为每个应用创建systemd服务单元文件 启用服务自启动 (二)crontab定时任务方式使用@reboot指令,在系统重启时执行指定脚本。 (三)rc.local方式在/etc/rc.d/rc.local或/etc/rc.local文件中添加启动命令。 本文将重点介绍这几种方式的具体实现。 三、systemd服务方式systemd是现代Linux系统的初始化系统和服务管理器,是实现应用自启动的首选方式。 (一)systemd服务单元文件详解systemd服务单元文件通常由三个主要部分组成:[Uni...