自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

...

...

  • 博客(207)
  • 收藏
  • 关注

原创 #Vue3篇:透传 Attributes---$attrs&&插槽&&prop&&emit

本文介绍了Vue组件开发的关键概念:props声明支持数组和对象两种形式,可进行数据校验;自定义事件通过$emit触发,父组件用@监听;透传attributes用于传递未声明的属性;插槽分为默认、具名和作用域三种类型;依赖注入通过provide/inject实现跨层级数据共享,provide提供数据,inject注入使用。这些特性共同构成了Vue组件间通信的完整体系。

2025-06-09 14:21:35 371

原创 #名词区别篇:Nest.js、Next.js 和 Nuxt.js 框架深度对比

​​React 18 集成​​:支持 Suspense、流式渲染等。​​多种传输层​​:支持 HTTP、WebSocket、微服务等。​​ORM 集成​​:良好支持 TypeORM、Prisma 等。​​渲染模式​​:支持 CSR、SSR、SSG 和 ISR。​​渲染模式​​:支持 CSR、SSR 和 SSG。​​企业级功能​​:认证、授权、日志、监控等。​​API 路由​​:内置 API 路由功能。​​文件路由​​:基于文件系统的路由。​​图像优化​​:自动图像优化组件。Next.js 特性。

2025-06-09 09:20:46 288

原创 #Uniapp篇:chrome调试&&unapp适配

本文介绍了移动端开发的调试方法和uniapp单位适配方案。调试部分提供了两种方案:1)使用Android模拟机通过chrome://inspect调试移动端页面;2)利用MuMu模拟器配合Edge浏览器定位H5页面元素。适配方案详细说明了uniapp项目中postcss配置,通过postcss-pxtorpx-pro插件将px转换为rpx单位,并给出完整的配置参数说明,包括设计稿换算比例(如375设计稿对应37.5)、转换精度、最小转换值等关键设置。

2025-06-09 09:04:52 480

原创 #Vue3篇:预览文件获取input的file对象以及url转file对象

本文展示了一个Vue文件上传组件,主要功能包括:1)通过input选择文件上传;2)支持钉钉环境文件选择;3)将网络URL转换为文件对象上传;4)上传进度显示。组件使用FormData封装文件数据,设置请求头包含token和userid,通过axios与后端接口通信。上传成功后返回文件URL等信息,同时提供了文件预览功能路由跳转。代码还包含文件类型MIME映射和基础样式设置,实现了文件上传的完整流程控制。

2025-06-06 15:31:53 142

原创 #Vue3篇:vue-router4.x中api相关

本文介绍了Vue Router的核心概念和使用方法。内容包括:创建路由器实例,定义路由映射;RouterView和RouterLink组件的使用;命名视图的实现方式;路由元信息meta的访问;导航守卫的组合式API实现;自定义RouterLink组件的useLink用法;RouterView插槽的使用;滚动行为的自定义配置;以及路由懒加载的实现方式。文章详细讲解了router和route的区别,并通过代码示例展示了如何配置路由、访问路由信息、实现多视图渲染等实用功能。

2025-06-05 11:06:01 369

原创 #Java篇:学习node后端之sql常用操作

/ 增加 这条 SQL 语句的作用是 将一个 JavaScript 对象直接插入到数据库的 users 表中,并且字段和值会自动匹配。events: 事件机制(EventEmitter)http / https: 创建服务器或发起请求。util: 工具方法(如 promisify)静态资源托管(express.static)请求与响应对象(req, res)—ok。路由定义(GET、POST 等)—ok。Passport.js(第三方登录)中间件(应用级、错误处理)// app.js里面。

2025-06-04 17:25:21 597 1

原创 #开发环境篇:postMan可以正常调通,但是浏览器里面一直报403

本文介绍了如何在本地开发环境中配置API代理,主要针对文件接口的跨域请求处理。配置使用devServer的proxy功能,将/file路径的请求转发至目标服务器,同时设置必要的请求头(Host、Origin、Referer)以匹配服务端要求。关键配置包括:开启changeOrigin跨域支持、禁用secure证书验证、保留WebSocket连接、以及路径重写规则。通过此代理设置,开发者可以方便地在本地调试时访问远程API服务,同时保证请求头信息符合服务端验证要求。

2025-06-04 16:05:56 381

原创 #Js篇:Blob&&File对象&&URL.createObjectURL()&&fetch&location&navigator&new URl

fetch() 是现代浏览器中用于发起网络请求(如 HTTP 请求)的内置 API,常用于从服务器获取或发送数据。它比传统的 XMLHttpRequest 更加简洁、强大,并且基于 Promise,支持异步编程。.then(response => response.json()) // 或 text(), blob() 等URLSearchParams 是 JavaScript 提供的用于处理 URL 查询字符串的 APInew URL() 是 JavaScript 中用于创建 URL 对象的构造函数。

2025-05-30 11:13:48 861

原创 #Js篇:两个前端应用通过postMessage传递file对像&& URL.createObjectURL+fetch

文章摘要:本文展示了前端页面间通过window.postMessage进行跨窗口通信的代码示例。A页面使用window.open打开B页面后,延迟500毫秒发送selectedFile数据;B页面通过message事件监听接收数据并打印/弹窗显示。关键点包括:1) 使用postMessage实现跨域通信;2) 延迟确保目标窗口加载完成;3) 处理浏览器拦截弹窗的情况。代码演示了前端跨窗口数据传输的典型实现方式。(149字)

2025-05-29 16:15:19 223

原创 #Vue篇:环境变量process.env.VUE_APP_API_URL&import.meta.env.VITE_API_URL

环境变量文件同样需要以 .env 开头。

2025-03-11 10:07:50 692

原创 #vue3篇:dependencies 生产依赖&devDependencies 开发依赖

在使用 npm run build 进行项目打包时,只有 dependencies 中的依赖会被打包进去,而 devDependencies 中的依赖不会被打包。只在开发环境(本地开发、CI/CD)中使用,不参与生产代码运行。仅在开发阶段需要的工具,用于构建、测试、优化或格式化代码。项目运行时必须的依赖,直接参与代码逻辑或功能实现。在生产环境(如服务器、用户浏览器)中需要这些依赖。

2025-02-19 09:49:55 455

原创 #名词区别篇:Debug& Info&Warn&Error&Fatal日志级别

在前端开发中,日志级别用于区分日志信息的重要性和紧急程度。

2025-02-17 13:08:07 395

原创 #HarmonyOS篇:build-profile.json5里面配置products&&oh-package.json5里面dependencies依赖引入

工程配置信息,包括签名signingConfigs、产品配置Products等。其中products中可配置当前运行环境,默认HarmonyOS.文件记录了项目中所有依赖包的确切版本号,确保在不同环境中安装的依赖版本一致,避免因版本差异导致的问题。用于描述包名、版本、入口文件和依赖项等信息。

2025-01-21 17:04:06 860

原创 #HarmonyOs篇: 管理应用拥有的状态LocalStorage AppStorage

支持与 AppStorage 或 LocalStorage 中的属性建立单向或双向绑定。AppStorage应用全局的UI状态存储@StorageProp单向@StorageLink双向@Builder—自定义构造函数@LocalBuilder—维持组件父子关系@Componentbuild() {Row() {@Entry@ComponentRow() {Column() {build() {Column() {})

2025-01-21 16:41:10 1259

原创 #Vue3:hooks使用两种示例

【代码】#Vue3:hooks使用两种示例。

2025-01-15 08:47:06 208

原创 #Uniapp: 订阅requestSubscribeMessage

【代码】#Uniapp: 订阅requestSubscribeMessage。

2025-01-15 08:34:32 934

原创 #Uniapp: uniapp国际化适配vue-i18n@9.1.9

【代码】#Uniapp: uniapp国际化适配vue-i18n@9.1.9。

2025-01-09 10:51:55 601

原创 #Vue3篇: 无感刷新token的原理JSESSIONID无感刷新和JWT接口刷新

= 基于这个后端是怎么更新token的==为了理解后端是如何更新 Token 的,我们需要考虑一个典型的基于 Token 的身份验证流程,特别是涉及 JSESSIONID 和自定义 Token(如 JWT, JSON Web Token)的情况。下面我将介绍两种常见的更新 Token 的机制:一种是基于会话的(使用 JSESSIONID),另一种是无状态的(使用 JWT>

2024-12-30 15:50:16 1318

原创 #Java篇:java项目init和写接口流程步骤详细

service(impl)—RoleServiceImpl 实现IRoleService。controller—RoleController 实现接口返回前端。service----IRoleService 继承Role。mapper—RoleMapper 继承Role。

2024-12-20 17:26:59 428

原创 #Js篇:pubilc protected private var let 的区别和联系

public、private 和 protected 是用来修饰类成员(属性或方法)的访问控制符。----classvar、let 和 const 则是用于声明变量的关键字。

2024-12-20 17:26:41 438

原创 #Java篇:@TableName @Data @Service @RestController 和 @RequestMapping @Autowired注解的理解

通过结合依赖注入和事务管理等功能,可以构建出高效且易于维护的服务层代码。@Mapper 是 MyBatis 和 MyBatis-Plus 框架中常用的注解,用于标识接口为 MyBatis 的映射器(Mapper)。Model 和 Mapper 之间的关系,Mapper层负责将来自数据库的结果集转换为Model对象实例,或者反过来将Model对象的数据保存到数据库中。HTTP 请求映射:通过 @GetMapping 注解,将特定的 HTTP GET 请求映射到控制器的方法上,简化了请求处理逻辑。

2024-12-20 17:25:27 358

原创 #Js篇:map结构转普通js普通对象

以上方法都可以将 Map 转换为普通的 JavaScript 对象。选择哪种方法主要取决于你的个人偏好和具体需求。Object.fromEntries 方法是最简洁和直接的方式,推荐在现代浏览器和环境中使用。

2024-12-17 20:15:00 556

原创 #UI框架篇:常用插件

docx文件预览/xlsx文件预览/pdf文件预览。

2024-12-17 12:14:44 562

原创 #Java篇:非常火热的Spring Boot典型项目结构

│ ├── config/ (配置类)│ ├── controller/ (控制器)│ ├── entity/ (实体类)│ ├── mapper/ (持久化映射器及DAO层)│ ├── service/ (业务逻辑接口)│ └── service/impl/ (业务逻辑实现)├── application.yml (应用配置文件)└── mapper/ (MyBatis Mapper XML 文件)|_annotation:放置项目自定义注解|_aspect:放置切面代码。

2024-12-17 11:27:38 393

原创 #UI框架篇:针对 ant-design-vue 版本 3.2.6 中 <a-select> 组件使用 mode=“combobox“ 时模式不生效的问题

如果你的应用程序正在开发或维护阶段,建议考虑迁移至 AutoComplete,以确保未来的兼容性和稳定性。在执行迁移的过程中,请务必仔细阅读官方文档,了解 AutoComplete 的所有特性和配置选项,以便充分利用其提供的功能。此外,考虑到用户体验的一致性,还应该对新组件的行为进行全面测试,确保它能够满足业务需求并且不会引入新的问题。这不仅符合官方推荐的方向,而且 AutoComplete 提供了更强大的功能集,例如更好的搜索体验和支持远程数据源等特性。迁移到 AutoComplete。

2024-12-12 21:38:14 677

原创 #Ts篇: Record<string, number> 是 TypeScript 中的一种类型定义,它表示一个键值对集合

因此,当你需要定义一个对象类型,并且该对象的所有键都遵循相同的模式(例如,都是字符串),并且所有值也遵循相同的模式(例如,都是数字),那么 Record 就是一个非常适合的选择。这为你的代码提供了更强的类型安全性,因为 TypeScript 编译器会在编译期间帮助你捕获非法的键或不匹配的值类型。综上所述,Record 是一种强大的工具,允许开发者精确地控制对象的结构,确保键和值符合预期的数据类型,这对于编写类型安全的应用程序非常重要。

2024-12-12 21:37:51 793

原创 #HarmonyOS篇:装饰器&LocalStorage&AppStorage

在功能层面上,依据@Prop单向绑定的特性,@State+@Prop适合用于非实时修改的场景,如编辑电话薄联系人信息时,展示编辑界面的子组件信息的修改要求不实时同步回父组件,需要等到编辑完成后点击“确认”按钮时才会以事件驱动的方式修改父组件的状态。被@Component装饰的组件最多可以访问一个LocalStorage实例和AppStorage,未被@Entry装饰的组件不可被独立分配LocalStorage实例,只能接受父组件通过@Entry传递来的LocalStorage实例。,两者指向同一个地址。

2024-12-12 21:37:28 926

原创 #Uniapp篇:路由pages.json里配置&路由跳转&组件的引入&样式引入

非h5端(包含小程序和App),Android平台运行在v8引擎中,iOS平台运行在iOS自带的jscore引擎中,都没有运行在浏览器或webview里。安装在uni_modules下,路径为uni_modules/插件ID/components/组件名称/组件名称.vue。安装在项目根目录的components目录下,并符合components/组件名称/组件名称.vue。传统vue组件,需要安装、引用、注册,三个步骤后才能使用组件。uni-app的js代码,h5端运行于浏览器中。

2024-12-11 20:36:34 476

原创 #Vue3篇:static 和 assets区别

总的来说,static 目录用于存放不会被 webpack 处理的静态资源,而 assets 目录用于存放可能会被 webpack 处理的静态资源。在实际开发中,可以根据需要选择使用哪个目录来存放静态资源。可以通过相对路径访问这些资源,但在某些情况下,可能需要使用 webpack 的一些特殊配置来处理这些资源。这是一个放置可能会被 webpack 处理的静态资源的目录。这是一个放置不会被 webpack 处理的静态资源的目录。可以存放字体文件、图片等。可以存放字体文件、图片等。

2024-12-11 20:36:13 339

原创 #Js篇:相对路径和绝对路径的解释

便于代码移植,因为路径是相对于当前文件的,不会因为文件位置的变化而失效。适用于需要固定引用的情况,例如网站的 logo 或导航栏等全局资源。在大型项目中,使用绝对路径可以避免因文件结构调整而导致的路径错误。定义:相对于当前文件位置的路径。定义:从根目录开始的完整路径。路径始终以斜杠 / 开始。更灵活,适合模块化开发。取决于当前文件的位置。不依赖于当前工作目录。不以斜杠 / 开始。

2024-12-11 20:35:47 351

原创 #HarmonyOS篇: 学习资料

https://developer.huawei.com/consumer/cn/training/https://developer.huawei.com/consumer/cn/doc/start/training-introduction-0000001181392655https://developer.huawei.com/consumer/cn/doc/start/guidebook-0000001056335559https://developer.huawei.com/consumer/cn

2024-12-10 21:27:15 712

原创 #Vue3篇:组合式函数hooks

如果参数是 ref,它会返回 ref 的值;如果参数是函数,它会调用函数并返回其返回值。否则,它会原样返回参数。类似于 unref,但它更加通用,不仅可以解包 ref,还可以处理其他类型的响应式对象(如 computed)。对于 reactive 对象,它不会递归解包内部的 ref。尝试解包一个 ref。如果传入的是一个 ref,它将返回 ref.value;如果是普通值或 reactive 对象,则直接返回该值本身。从组合式函数返回一个响应式对象会导致在对象解构过程中丢失与组合式函数内状态的响应性连接。

2024-12-10 21:06:36 505

原创 #Vue3篇:生命周期简洁

setup() 钩子是在组件中使用组合式 API 的入口。缓存keep-alive。

2024-12-10 21:05:49 333

原创 #Vue3篇:defineOptions&vueUse

从 3.3 开始你可以直接通过defineOptions 来设置组件名或 inheritAttrs 属性。

2024-12-10 21:05:25 1227

原创 #Js篇:class用法梳理

类clss

2024-11-29 19:00:00 377

原创 #Js篇: 链式判断运算符 ?.和Null判断运算符 ??和逻辑赋值运算符||= &&= ??=

上面代码中,如果response.settings是null或undefined,或者response.settings.animationDuration是null或undefined,就会返回默认值300。上面的三行代码都通过||运算符指定默认值,但是这样写是错的。开发者的原意是,只要属性的值为null或undefined,默认值就会生效,但是属性的值如果为空字符串或false或0,默认值也会生效。上面例子中,字符串的match()方法,如果没有发现匹配会返回null,如果发现匹配会返回一个数组,?

2024-11-29 18:30:00 599

原创 #Ts篇:类型断言!&any unkown void never & 泛型

上面示例中,最后一行的foo as T表示告诉编译器,变量foo的类型断言为T,所以这一行不再需要类型推断了,编译器直接把foo的类型当作T,就不会报错了。变量x的类型是never,就不可能赋给它任何值,否则都会报错。unknown是any的严格版 不允许再赋值给别的变量。函数名getFirst后面的尖括号就是类型参数。void 函数没有返回值,如果有返回值就报错。any 关闭类型校验 变量赋值污染问题。函数调用时,需要提供类型参数。

2024-11-29 15:35:54 235

原创 #HarmonyOs篇:布局梳理

布局容器。

2024-11-28 21:04:22 1121

原创 #Vue3篇:v-for&组合式函数&自定义指令

指令钩子指令钩子 https://cn.vuejs.org/guide/reusability/custom-directives.html// 在绑定元素的 attribute 前// 或事件监听器应用前调用// 下面会介绍各个参数的细节},// 在元素被插入到 DOM 前调用// 在绑定元素的父组件// 及他自己的所有子节点都挂载完成后调用// 绑定元素的父组件更新前调用// 在绑定元素的父组件// 及他自己的所有子节点都更新后调用// 绑定元素的父组件卸载前调用。

2024-11-22 21:45:00 922

原创 #Vue3篇: vue3梳理 :&ref自动解包&key使用

在这种情况下我们可以在一个 元素上使用 v-if,这只是一个不可见的包装器元素,最后渲染的结果并不会包含这个 元素。有限的值类型:它只能用于对象类型 (对象、数组和如 Map、Set 这样的集合类型)。因为两个模板使用了相同的元素, 不会被替换掉——仅仅是替换了它的 placeholder。幸运的是,我们可以通过使用单文件组件 (SFC) 来避免这种情况。如果 attribute 的名称与绑定的 JavaScript 值的名称相同,那么可以进一步简化语法,省略 attribute 值。

2024-11-21 21:45:00 857

空空如也

空空如也

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

TA关注的人

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