自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 【Nginx】修改输入日志的格式

打开 Nginx 的配置文件,通常是 /etc/nginx/nginx.conf 或 /usr/local/nginx/conf/nginx.conf,然后在 http 块中定义日志格式。Nginx 提供了灵活的日志格式配置,允许你自定义访问日志和错误日志的格式。下面是如何修改 Nginx 的访问日志格式的步骤。在这个例子中,我们指定了 access_log 指令来使用前面定义的 my_custom_format 日志格式。接下来,你需要告诉 Nginx 使用这个自定义的日志格式。你可以根据需要调整字段。

2024-08-15 08:30:00 215

原创 【vue】浏览器兼容相关

Vue.js 3.x 更加关注现代浏览器,而 Vue.js 2.x 则提供了更广泛的浏览器支持。如果你的应用需要支持较旧的浏览器,可以选择 Vue.js 2.x 或者在 Vue.js 3.x 中使用适当的配置来实现兼容性。Vue.js 是一个流行的前端 JavaScript 框架,它支持构建单页应用和复杂的用户界面。如果你使用的是 Vue CLI 创建的项目,可以通过修改 babel.config.js 文件来配置 Babel 转译规则。使用 Babel 转译 ES6+ 代码。使用 polyfills。

2024-08-14 08:30:00 497

原创 【java】springboot请求第三方接口

在Spring Boot应用中调用第三方API(即第三方接口)是一种常见的场景,这通常涉及到HTTP请求的发送和响应的处理。下面是一个简单的示例,展示如何使用RestTemplate调用一个GET类型的API。如果你的应用是基于Spring WebFlux的,那么WebClient是一个很好的选择。如果需要更底层的控制,可以使用HttpClient和HttpRequest,这通常适用于对HTTP协议有更深入需求的情况。3. 使用HttpClient和HttpRequest。2. 使用WebClient。

2024-08-13 08:30:00 820

原创 【vue】scss引用图片写法

在SCSS(Sass)中,获取图片的方式与普通的CSS非常相似,但SCSS提供了更多的灵活性,比如变量和混合等内容。这里的 'images/example.jpg' 是一个相对路径,它从当前SCSS文件所在目录开始查找 images 文件夹下的 example.jpg 文件。如果你使用的是 Sass 的某个版本,可能需要借助于一些工具函数来处理路径。Sass 提供了一些内置函数,可以帮助处理路径问题。你可以在SCSS中定义变量来存储路径,这样可以更容易地维护和更改路径。5. 使用Sass的内置函数。

2024-08-12 08:30:00 296

原创 【vue】使用compressorjs压缩图片大小

在 Vue.js 应用中使用 compressorjs 来压缩图片是一个常见的需求。compressorjs 是一个轻量级的 JavaScript 图片压缩库,它可以用来减小图片文件的大小,从而优化性能。在 success 回调中,你可以处理压缩后的文件。例如,你可以上传压缩后的图片到服务器或预览压缩后的图片。首先,你需要安装 compressorjs 包。创建一个方法来处理图片压缩。你可以将这个方法放在 Vue 组件的 methods 对象中。

2024-08-11 08:30:00 197

原创 【vue】如何修改chainWebpack让vue 打包后 style加type=“text/css“

首先,在 vue.config.js 文件中,你需要使用 chainWebpack 来访问 HtmlWebpackPlugin 的实例,并修改 标签。如果你确实需要在最终的 CSS 文件中添加 type="text/css",那么你需要使用 mini-css-extract-plugin 的选项来控制输出的 标签。修改 标签:使用正则表达式来查找 标签,并为那些没有 type 属性的标签添加 type="text/css"。

2024-08-10 08:30:00 391

原创 【vue】打包时script标签增加type=“text/javascript“

在 Vue.js 中,当你使用 Webpack 进行打包时,默认情况下,脚本标签 的 type 属性会被设置为 module 或 text/javascript,具体取决于你的配置和使用的构建工具版本。1、创建 vue.config.js 文件:如果你还没有这个文件,需要在项目的根目录下创建一个 vue.config.js 文件。2、修改配置:在 vue.config.js 文件中,你可以使用 chainWebpack 方法来自定义 Webpack 配置。

2024-08-09 08:30:00 309

原创 【Nginx】try_files指令详解

这里的 /TEST/index.html 表示的是服务器文档根目录下的一个子目录 /TEST/ 中的 index.html 文件。3)/TEST/index.html: 如果前两步都没有成功找到文件或目录,Nginx 会尝试返回 /TEST/index.html 文件。3)如果步骤 2 失败,最后尝试查找 /var/www/html/VISA/index.html。2)如果步骤 1 失败,尝试查找 /var/www/html/about/。1)尝试查找 /var/www/html/about。

2024-08-08 08:30:00 379

原创 【Javascript】数字转钱格式(千分位用逗号)

Intl 是 JavaScript 的一个内置命名空间,它提供了一系列的构造函数和辅助函数,用于处理与国际化(Internationalization,简称 i18n)相关的任务。Intl 对象及其相关 API 的设计目的是为了支持多种语言和地区的日期、时间、数字、货币、度量单位等的格式化和解析,使得 Web 应用程序能够以用户所在地区的本地化格式显示数据。用于在数字串中查找并匹配最多三个数字的片段,同时它预示着后续的数字将以每三个一组的形式出现直至字符串的结尾。2)Intl的浏览器兼容性。

2024-08-07 08:30:00 919

原创 【vue2】“混合”(Mixins)

混合是一种非常有用的特性,尤其是在大型应用中,可以减少代码重复,提高组件间的代码复用率。2、生命周期钩子: 当 mixin 和组件都定义了相同的生命周期钩子函数时,这些函数将会被串联起来调用。1、数据冲突: 如果 mixin 和组件定义了同名的数据属性,那么组件中的数据属性会覆盖 mixin 中的同名数据属性。例如,如果 mixin 和组件都定义了 data() 函数,那么组件的 data() 将会被使用。6、使用Mixins时也要注意避免副作用和潜在的命名冲突,确保你的应用性能和可读性。

2024-08-06 08:30:00 176

原创 【JavaScript】精确计算加减乘除

有许多库可以帮助处理高精度的数学运算,例如decimal.js、bignumber.js等,它们提供了更精确的算术运算能力。对于显示结果,可以使用Math.round或toFixed方法来格式化输出,但这并不解决底层的精度问题,只是改变了显示的方式。在实际应用中,选择哪种方法取决于你的具体需求和场景。为了进行小数点后精确的加减乘除计算,我们可以采用一种常见的策略,即把小数转换成整数进行计算,然后再转换回小数。通过将数字乘以10的幂次方,使其变成整数,进行运算后再除以同样的10的幂次方,可以减少精度损失。

2024-08-05 08:30:00 152

原创 【JavaScript】栈功能(先进后出)

push() 方法用于将元素添加到栈顶,pop() 方法用于移除并返回栈顶元素,peek() 方法返回栈顶元素但不移除,isEmpty() 方法检查栈是否为空,size() 方法返回栈中元素的数量,而 printStack() 方法则用于打印栈中所有元素。如果你需要更高级的栈功能,如优化的性能或额外的错误处理,可以考虑使用专门的库或自己实现更复杂的逻辑。3、peek(): 查看数组的最后一个元素,但不移除它,类似于查看栈顶的元素而不弹出。5、size(): 返回数组的长度,类似于获取栈中元素的数量。

2024-08-04 08:30:00 326

原创 【javascript】如何实现交换两变量的值

在JavaScript中,有多种方法可以用来交换两个变量的值。

2024-08-03 08:30:00 972

原创 【java】【springboot】读取文件类型

在 Spring Boot 或任何 Java 程序中,通过字节流来确定文件类型通常涉及检查文件的开始几个字节,因为许多文件类型都有特定的“魔法数字”(magic numbers)或签名,用于标识文件格式。在 Java 中,将文件读取并转换为字节流是一项常见操作,特别是当你需要处理文件内容而不必关心文件的实际位置或格式时。在这个例子中,readFileToByteArray 方法使用 Files.readAllBytes 方法读取文件的所有字节到一个字节数组中。这样可以有效地处理大文件,避免内存溢出的问题。

2024-08-02 08:30:00 279

原创 【vue】vue给接口传参,数字太长后会失真

在 Vue.js 中向后端接口传递长数字时,数字可能会出现失真的情况,主要原因是 JavaScript 中数字的表示范围和精度限制。JavaScript 使用 IEEE 754 的双精度浮点数标准来表示数字,这意味着它可以精确地表示从大约 ±2^−53 到 ±2^53 的整数,超过这个范围的整数可能会因为精度损失而无法准确表示。当使用 JSON.stringify() 或者 JSON.parse() 处理包含大数字的对象时,可以使用 replacer 和 reviver 函数来保持数字的完整性。

2024-08-01 08:30:00 181

原创 【vue】全局挂在参数方法

在 Vue 3 中,由于模板编译优化,通过 Vue.prototype 挂载的方法在 Vue 3 中不会被识别,应该使用 app.config.globalProperties。在 Vue.js 中,全局挂载参数、方法或组件可以帮助你在整个应用程序中访问特定的功能或数据,而无需在每个组件中单独导入或声明。在 Vue 2.x 中,你可以通过修改 Vue.prototype 来全局挂载函数或属性。根据你的项目需求和使用的 Vue 版本,选择合适的方式来全局挂载你需要的功能。一、Vue 2.x 全局挂载。

2024-07-31 08:30:00 519

原创 【vue】如何使用vuex

Vuex 是 Vue.js 官方的状态管理模式与库。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。Vuex 使得状态的管理和维护更加容易,尤其是在复杂的应用中。以上是 Vuex 的基本使用方法。具体应用时,你可能还需要处理更复杂的逻辑,例如异步数据加载、错误处理等,这些都需要结合实际场景进行设计和实现。对于大型应用,你可能想要将 store 分割成模块(modules)。二、在组件中使用 Vuex。三、模块化 Store。一、创建 Store。

2024-07-30 08:30:00 122

原创 【javascript】判断浏览器类型,是否是手机浏览器

navigator.userAgent 是 JavaScript 中 navigator 对象的一个只读属性,它返回一个字符串,描述了当前浏览器的用户代理标识(User-Agent string)。navigator.userAgent 属性中的关键字。手机和平板设备的 userAgent 字符串通常会包含 "Mobile" 或 "Android"、"iPhone"、"iPad" 等关键词。例如,一些桌面浏览器提供了模拟移动设备 userAgent 的功能,而某些移动浏览器则允许用户切换到桌面模式。

2024-07-29 08:30:00 840

原创 【java】【springboot】启动方法注解详解

在Spring Boot中,启动方法通常是main方法,它位于应用程序的主类中,负责启动Spring应用上下文。

2024-07-28 08:30:00 2025 2

原创 【java】【springboot】项目初始化时执行方法

ApplicationStartedEvent是Spring Boot框架中的一部分,它属于ApplicationEvents,这些事件在Spring Boot应用程序的不同生命周期阶段被发布。Spring Boot应用完全启动并准备好服务请求之后执行一些代码,你应该关注的是ApplicationReadyEvent,这个事件在所有的bean已经实例化并且所有的@PostConstruct和InitializingBean.afterPropertiesSet()方法都被调用之后发布。

2024-07-27 08:30:00 541

原创 【vue】【javascript】【echarts】实现词云图

ECharts 是一个由百度开发的强大的图表库,它可以生成多种类型的图表,包括词云图。要使用 ECharts 绘制词云图,你需要首先引入 ECharts 的核心库以及词云图的扩展库 echarts-wordcloud。

2024-07-26 08:30:00 282

原创 【vue】动态更新路由

动态更新路由的常见场景是在用户登录后根据其角色或权限加载不同的路由。这可以通过在 Vuex store 中存储用户的权限信息,然后在应用启动时或用户登录后动态地添加这些路由。

2024-07-25 08:30:00 298

原创 【javascript】实现数组、对象的排序功能

在JavaScript中,可以使用文档对象模型(Document Object Model, DOM)的 document.cookie 属性来读取、创建和修改Cookie。这个属性返回一个字符串,其中包含了所有发送给服务器的Cookie,格式类似于name=value;由于 document.cookie 返回的是一个字符串,所以在设置Cookie时也需要提供一个格式正确的字符串。读取Cookie相对复杂一些,因为 document.cookie 返回的是一个字符串,其中可能包含多个Cookie。

2024-07-24 08:30:00 304

原创 【javascript】操作sessionStorage和localStorage

sessionStorage 和 localStorage 都是 Web Storage API 的一部分,它们允许在用户浏览器中存储数据。两者的主要区别在于数据的持久性

2024-07-23 08:30:00 272

原创 【javascript】实现数组、对象的排序功能

在 JavaScript 中实现排序功能可以通过内置的 Array.prototype.sort() 方法。这个方法可以对数组元素进行排序,排序规则可以通过传入一个比较函数来定制。下面我将展示几种使用 sort() 方法进行排序的例子。

2024-07-22 08:30:00 534

原创 【HarmonyOS NEXT 】应用开发:ArkTS走马灯Swiper

Swiper滑块视图容器,提供子组件滑动轮播显示的能力。

2024-07-21 08:30:00 510

原创 【Nginx】静态文件压缩配置

启用 Nginx 的 gzip 压缩功能可以显著减少传输的数据量,从而加快网页加载速度和降低带宽消耗。

2024-07-20 08:30:00 209

原创 【vue】自定义指令

在 Vue.js 中,自定义指令(Custom Directives)是一种非常有用的功能,它允许你在 DOM 上绑定特定的行为。自定义指令可以让你封装和重用那些不需要整个组件就能完成的任务,比如操作 DOM 或响应用户事件。

2024-07-19 08:30:00 493

原创 【Nginx】指向静态文件配置及允许跨域配置

Nginx是一个高性能的HTTP和反向代理服务器,同时也提供了IMAP/POP3/SMTP服务,这里列举了部分静态文件配置

2024-07-18 08:30:00 356

原创 【vue】【JavaScript 】复制到电脑剪贴板

vue或JavaScript 模拟复制到电脑剪贴板

2024-07-17 08:30:00 195

原创 【HarmonyOS NEXT 】应用开发:ArkTS瀑布流(无线滚动)示例一

ArkTS瀑布流无线滚动

2024-07-16 08:30:00 315

原创 【JavaScript 】获取真实的文件类型

某些文件类型可能具有相同的或类似的头部,而且有些文件可能不遵循标准的文件签名,因此这种方法可能无法准确识别所有类型的文件。此外,文件可能被修改或封装在其他格式中,这也会影响检测的准确性。为此我们可以通过读取文件的二进制数据的前几个字节(通常称为“魔法数字”或文件签名)来尝试识别文件的类型。在系统上传文件时,有用户会直接修改文件名后缀,使其与系统要求一致后再上传,而html+javascript常用的上传文件方法难以判断文件的真实类型(此处也易恶意上传脚本文件的情况)

2024-07-15 08:30:00 597

原创 【JavaScript 】用递归函数计算1加到100

JavaScript 用递归函数计算1加到100

2024-07-14 08:30:00 371

原创 【vue3】钩子函数详细介绍

vue3的钩子函数简单介绍及示例展示

2024-07-13 08:30:00 1521

原创 【JavaScript 】数据深拷贝

这种方法可以处理循环引用,但实现起来更复杂。该方法的返回值是一个表示对象类型和值的字符串,通常格式为 [object Type],其中 Type 是对象的具体类型。Object.prototype.toString 是 JavaScript 中的一个内置方法,用于返回表示指定对象的字符串。这是一种常见的实现深拷贝的方法,但是它有一些限制,比如它不能处理函数和循环引用,并且会将Date对象转换为字符串。对于简单的对象和数组,可以使用ES6的解构赋值和扩展运算符来进行浅拷贝,然后递归调用以实现深拷贝。

2024-07-12 08:30:00 366

原创 【HarmonyOS NEXT 】应用开发:ArkTS导航组件二(Tabs)

但在使用了自定义导航栏后,使用TabsController可以实现点击页签与页面内容的联动,但不能实现滑动页面时,页面内容对应页签的联动。TabContent是内容页,TabBar是导航页签栏,页面结构如下图所示,根据不同的导航类型,布局会有区别,可以分为底部导航、顶部导航、侧边导航,其导航栏分别位于底部、顶部和侧边。即用户点击对应页签时,屏幕需要显示相应的内容页。对于底部导航栏,一般作为应用主页面功能区分,为了更好的用户体验,会组合文字以及对应语义图标表示页签内容,这种情况下,需要自定义导航页签的样式。

2024-07-11 08:30:00 911

原创 【HarmonyOS NEXT 】应用开发:ArkTS导航组件一(Navigation)

Navigation组件一般作为页面的根容器,包括单页面、分栏和自适应三种显示模式。同时,Navigation提供了属性来设置页面的标题栏、工具栏、导航栏等。

2024-07-10 08:30:00 1333

原创 【HarmonyOS NEXT 】应用开发:ArkTS页面和自定义组件生命周期

onPageShow:页面每次显示时触发一次,包括路由过程、应用进入前台等场景。onPageHide:页面每次隐藏时触发一次,包括路由过程、应用进入后台等场景。onBackPress:当用户点击返回按钮时触发。aboutToAppear:组件即将出现时回调该接口,具体时机为在创建自定义组件的新实例后,在执行其build()函数之前执行。aboutToDisappear:在自定义组件析构销毁之前执行。

2024-07-09 08:30:00 1037

原创 【vue】【JavaScript 】iframe父子传参方法

备注:msg可以传入字符串、数组、对象或数组对象等格式参数,依据自身的业务需求来定。第三个参数是useCapture(变量):用来判断是捕获还是冒泡。2)第三个参数是useCapture(默认为false)第一个参数event:监听的事件名称。第二个参数是函数:需要执行的事件。

2024-07-08 10:39:02 238

原创 【HarmonyOS NEXT 】应用开发:ArkTS 父页面调用子组件调用实例

HarmonyOS NEXTArkTS应用开发父页面调用子组件调用实例

2024-07-05 17:24:17 368

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除