自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 前端面试题

对于 html 的标准属性来说,attribute 和 property 是同步的,是会自动更新的。attribute 是 dom 元素在文档中作为 html 标签拥有的属性。property 就是 dom 元素在 js 中作为对象拥有的属性。attribute 和 property 的区别是什么?但是对于自定义的属性来说,他们是不同步的。script 引入方式?

2022-11-17 11:29:18 475

原创 flutter组件封装技巧

这段代码是一个用于创建一个(GradeTag)组件的类。这个组件可以根据输入的年级和颜色创建一个具有不同颜色和百分比显示的标签。assertGradeTagbuildRowContainerText用途:这个组件可以用于展示不同级别的成绩标签,例如SSR(高级)、SR(中级)和S(初级)等。同时,可以通过传入不同的颜色参数来定制标签的颜色。

2024-05-15 16:30:55 717

原创 这是我见过最全、最强的权限系统设计方案!

本文从易到难非常详细的介绍了权限模型的设计,在工作中需要根据实际情况来定义模型,千人以内的公司使用RBAC模型是完全够用的,没有必要吧权限模型设计的过于复杂。模型的选择要根据具体情况,比如公司体量、业务类型、人员数量等。总之最适合自己公司的模型就是最好的模型,权限模式和设计模式是一样的,都是为了更好的解决问题,不要为了使用模型而使用模型。来源:blog.csdn.net/u010482601/article/details/104989532。

2024-05-14 18:34:58 674

原创 Flutter学习大纲

当你开始学习 Flutter 时,以下是一些基本的学习笔记和建议,帮助你更好地掌握这个强大的跨平台应用开发框架。

2024-05-14 11:56:49 506

原创 管理非结构化数据

据IDC调查,目前企业结构化数据仅占到全部数据量的20%,其余80%都是以文件形式存在的非结构化和半结构化数据,这些非结构化数据每年增长率达60%。如何管理好这80%的数据,是现代化企业数据管理中关键的一环。对于非结构化数据的管理包括步骤包括数据盘点、数据清理、数据丰富、归类和整合数据,分析和应用等。

2024-05-08 17:52:17 477

原创 StatelessWidget处理网络请求

在Flutter中,`StatelessWidget`本身不支持直接进行网络请求,因为它旨在表示没有内部状态且不需要主动发起数据更新的UI组件。借助外部工具(`FutureBuilder`或`provider`库)来处理网络请求并响应数据变化,实现了在不违反`StatelessWidget`原则的情况下展示异步获取的数据。

2024-05-08 09:47:11 141

原创 Flutter中组件Widget的粗解

Flutter 中是通过 Widget 嵌套 Widget 的方式来构建UI和进行事件处理的,所以记住,Flutter 中万物皆为Widget。widget 的功能是“就是说, Widget 其实并不是表示最终绘制在设备屏幕上的显示元素。

2024-04-23 15:27:15 741

原创 学会这些思维框架,提高综合决策能力

用实践来体验真实世界,但这个并不妨碍你对梨子的认知,同时和王阳明在“龙场悟道”所说的“心即理”,要观照自己的心里所想,并做到“知行合一”,在知中行,在行中知。《思考的框架》这本书介绍的9个思考框架,就可以锻炼思维,帮助我们更好地决策。在一阶思维下,我们能预见自己的行动造成的直接后果,二阶思维要求我们考虑结果背后的结果,把长远利益放在短期利益之上。世界是动态的,地图必然有缺 陷,它的价值在于帮助我们预测或解释事物,模型也是如此,现实是复杂的,模型是简化的。跟复杂的解释相比,简单的解释更有可能是正确的。

2024-04-23 10:45:50 782

原创 JavaScript代理模式之四大代理

JavaScript设计模式中有一种模式为代理模式。

2024-03-28 17:58:27 524

原创 husky配置实现代码提交前校验与规范提交信息

husky是一个Git Hook管理工具,主要用于实现提交前eslint校验和commit信息的规范校验。Husky 的原理是让我们在项目根目录中写一个配置文件,然后在安装 Husky的时候把配置文件和 Git Hook 关联起来,这样我们就能在团队中使用 Git Hook 了。首先,确保已经安装了husky和commitlint。在项目中启用husky钩子,事实上是在项目根目录生成配置文件的文件夹(.husky)。查看,可以看到配置中修改了指向为.husky。

2024-03-28 13:40:55 1213

原创 Flutter 绘制原理

综合以上两点,我们可以看到 PictureLayer 的“绘制产物”一开始是一些列“绘图指令”,当第一次绘制完成后,位图信息就会被缓存,绘制指令也就不会再被执行了,所以这时“绘制产物”就是位图了。为了便于理解,后续我们可以认为指的就是绘制好的位图。也应该是树状结构,Flutter 会根据一些“特定的规则”(后面解释)为组件树生成一棵 Layer 树,而容器类Layer就可以组成树状结构(父 Layer 可以包含任意多个子 Layer,子Layer又可以包含任意多个子Layer)。

2024-03-27 18:27:17 623

原创 flutter布局更新

理论上,某个组件的布局变化后,就可能会影响其他组件的布局,所以当有组件布局发生变化后,最笨的办法是对整棵组件树 relayout(重新布局)!但是对所有组件进行 relayout 的成本还是太大,所以我们需要探索一下降低 relayout 成本的方案。实际上,在一些特定场景下,组件发生变化后我们只需要对部分组件进行重新布局即可(而无需对整棵树 relayout )

2024-03-27 16:27:10 1122

原创 Flutter Widgets体系结构

在Flutter的Dart语言中,`this`关键字被用来引用当前对象的实例成员(属性或方法)。当你在类的方法中访问同一个类的另一个方法或变量时,可以使用`this`关键字,尤其是当参数名称与成员变量名相同,从而需要区分作用域时,也可以直接省略。在Flutter widget树构建方法(例如`build`方法)中,你可能需要访问当前widget的属性或调用它的方法。在不考虑整棵树的情况下,几乎不可能精确定义任何 widget 的大小和位置。引用当前对象的属性或方法的关键字widget和this的区别。

2024-03-14 17:13:04 879

原创 flutter环境搭建实践

Dart 是一种客户端和服务器端的编程语言,最早由 Google 提出。它被设计用于构建高性能、高度可伸缩和可靠的应用程序。Dart 可以编译成本地代码或者在虚拟机中直接运行。在移动应用开发中,Dart 主要用于开发 Flutter 应用。

2024-03-14 10:36:31 814

原创 Babel原理

根据配置好的 plugins/presets 把 Parser 生成的 AST 转变为新的 AST。将代码转换成抽象语法树 (AbstractSyntaxTree,简称 AST)词法分析:将字符串形式的代码分割为令牌(token)流,即语法单元成的数组。语法分析:将token流转换成 AST。把新的 AST 生成代码。

2024-03-12 16:22:38 220

原创 弱缓存变强缓存的原因

强缓存就是为了给客户端自给自足用的,在客户端控制。如果资源没过期,就取缓存,如果过期了,则请求服务器。如果资源有更改,返回200,返回最新的资源,如果资源没更改,返回304,浏览器读取本地缓存。协商缓存无论如果,都要向服务端发请求的,只不过,资源未更改时,返回的只是header信息,所以size很小;而资源有更改时,还要返回body数据,所以size会大。用户行为对缓存的影响F5 会跳过强缓存规则,直接走协商缓存Ctrl+F5 跳过所有缓存规则,和第一次请求一样,重新获取资源配置资源的缓存规则。

2024-03-12 10:27:00 825

原创 浏览器进程、线程、线程池解释及使用

线程池是一种用于管理线程的集合,以提高内存和CPU效率。它通过一次性创建一定数量的线程,并当有新的请求到来时,直接使用已创建的线程来处理请求,从而避免了频繁地创建和销毁线程的开销。线程池中的线程可以被多个请求共享,因此可以更有效地利用系统资源。

2024-03-06 15:32:02 1018

原创 数据存储格式

数据存储格式是指数据在存储介质中表示和组织的方式,以便于读取、写入和管理。

2024-03-06 09:43:21 402

原创 js新增的操作元素类名的方法

在不同的环境中,全局对象可能有所不同,例如在浏览器中是 window,在 Node.js 中是 global。globalThis 的出现就是为了解决这个问题,它使得在任何环境中都可以使用统一的接口来访问全局对象。这可以用于操作 class 集合。属性自身是只读的,但是你可以使用。是一个只读属性,返回一个元素。

2024-02-01 18:48:34 254

原创 小程序跳转:云开发之h5跳小程序

经过测试,发现中转的h5页面也可以放在自己公司的静态服务器上面,但带来的问题是在手机端微信内通过链接打开h5页,wx-open-launch-weapp开放标签按钮不显示,没有办法去到小程序。后面想到改用a标签,此种方式可以实现跳转,但是在一些机器上面(特别是安卓),会直接跳转到微信并打开目标小程序。配置的wx-open-launch-weapp开放标签按钮,需要主动点击才会打开目标小程序,避免了无感知和某些政策审核问题。wx-open-launch-weapp开放标签按钮不显示,下面是一些参考文章。

2024-02-01 17:58:29 336

原创 外链跳转微信小程序的几种实现

第一种方法:通过公众号文章来实现,公众号文章页面,可以插入小程序 公众号 视频号的功能,发布一篇图文,发布后,用短链接生成一个短链就可以做短信发送了;第二种方法:通过第三方工具,比如 小月外链 虾果 可以搜索引擎搜索一下,有全部的解决方案,就是支持微信外部一键唤醒微信进入相应的内容;第三种方法:通过微信客服(需要有企业微信申请)的链接可以设置跳转微信小程序 以及第三方链接,功能很强,有空的朋友可以去了解一下。以上三种方法操作都很简单。

2024-01-22 18:56:16 939

原创 玩转正则表达式

正则学了忘忘了学。。。秃头,特此记录。

2024-01-22 11:18:56 633

原创 通过浏览器判断是否安装APP

求在分享出来的h5页面中,有一个立即打开的按钮,如果本地安装了我们的app,那么点击就直接唤本地app,如果没有安装,则跳转到下载。

2024-01-15 18:04:53 1314

原创 tap“点透”

click换成了tap事件,tap会出现点透现象。

2024-01-15 10:16:20 330

原创 JsonPath

JsonPath是一种用于处理JSON数据的查询语言,它允许你通过路径表达式在JSON文档中查找和访问节点。JsonPath还支持函数和过滤器,函数可以在JsonPath表达式执行后进行调用,其输入值为表达式的结果。过滤器是用于过滤数组的逻辑表达式,可以通过逻辑表达式&&或||组合多个过滤器表达式。JsonPath的路径表达式由节点名组成,节点之间以"."分割,且路径必须是从根节点开始的完全绝对路径,并提供类似正则表达式的功能,能够满足各种复杂的查询需求。

2024-01-12 16:19:57 597

原创 HTTP的Content-type 和 responseType

后端返回字节流,前端进行图片下载时遇到了问题,定位花了不少时间,本文再次记录梳理下。

2024-01-12 14:46:14 1814

原创 前端moa gif json显示动画

使用requestAnimationFrame()方法创建一个动画函数,将JSON文件的数据传递给该函数,使用Web动画API创建一个SVG动画,并将JSON数据渲染到SVG动画中。

2024-01-11 17:15:34 662

原创 后端返回文件流乱码,responseType:‘blob‘无效的问题

项目中使用的mock.js模拟数据,http请求库使用的是axios,业务场景是请求后台接口,返回二进制数据,展示为图片。此时使用的是正式数据,仅仅是引入了mock并没有使用,结果前端展示不出来。开始漫长的网上找跳坑大法之路,发现了一篇文章,mock模块会修改原生ajax,使得responseType的值变成‘’空字符串。后来考虑axios设置content-type:blob和arraybuffer不同的问题,发现也不是。首先想到的是后台返回的格式本身是错误的,通过在后台打开发现没问题。

2024-01-11 16:14:48 721

原创 浮点数计算

为什么 0.1 + 0.2!== 0.3, 而 0.05 + 0.25 === 0.3js在计算浮点数时可能不够准确,会产生舍入误差的问题,这是使用基于二进制数值的浮点计算的通病,并非ECMAScript一家,其他使用相同数值格式的语言也存在这个问题。Number。使用 64 位固定长度来表示,也就是标准的。这样的存储结构优点是可以归一化处理整数和小数,节省存储空间。这64第1位: 是符号的标志位(S), 0代表正数,1代表负数第1-11位。

2024-01-09 15:19:59 478

原创 微信小程序web分析

为了便于定位生产环境的小程序漏洞和问题,我们可以在微信公众平台‘We分析’开启实时日志。

2024-01-09 15:13:36 309

原创 css中的变量和辅助函数

两个破折号加变量名称(可以在当前的选择器内定义)var(--*)

2024-01-06 16:00:37 1119

原创 git常用命令及概念对比

git config --list 查看git的配置git status 查看暂存区和工作区的变化内容(查看工作区和暂存区有哪些修改)git log 查看当前分支的commit 记录git log -p commitID详细查看commitID的具体内容git log -L :funcName:fileName 查看fileName文件中funcName函数的修改历史。

2024-01-06 12:49:04 1096

原创 html渲染优先级

在前端开发中,优先布局是指在设计和构建页面时,将页面的各个部分按照其重要性和优先级进行排序,并依次进行布局和开发。这种方法可以帮助开发团队在项目初期就确定页面结构的核心部分,从而更好地掌控项目的整体进度和优先级。且确保在网络环境差的情况下,优先渲染重要内容在CSS中,元素的渲染优先级是由决定的。一般来说,块级元素的渲染优先级高于行内元素,而行内元素的渲染优先级又高于浮动元素和定位元素。

2024-01-02 15:32:20 1343

原创 层叠上下文(Stacking Context)和包含块(Containing Block)

层叠上下文(Stacking Context)是HTML中的一个三维概念,它影响着元素的堆叠顺序和显示效果。在同一层叠上下文中,如果两个元素的层叠级别相同,则后面的元素在前面的元素的上面,遵循后来者居上的原则。在不同的层叠上下文中,我们比较的是“父级元素层叠级别”。

2024-01-02 15:19:42 329

原创 uniapp问题总结

通过`background-image`设置背景图片,超过30k左右就会报错。通过`image`的src设置图片,超过50k左右就会报错。将图片文件托管到oss,请求云端的图片数据。

2023-12-22 14:52:39 345

原创 小程序分享携带参数,被覆盖问题

子组件中写了‘onShareAppMessage’和‘onShareTimeLine’,父组件中也写了这两个函数,并且在url中携带了参数,发现分享后在分享页‘onLoad’中取不到参数。

2023-12-22 14:39:06 1009

原创 uniapp怎么获取微信步数

微信步数是指用户在微信运动中记录的步数数据。微信提供了开放能力,允许第三方应用获取用户授权后的微信步数数据,以便进行进一步的数据分析和展示。使用时报错:fail api scope is not declared in the privacy agreement。出现这些问题是因为需要更新!!!

2023-12-17 22:10:36 866

原创 小程序商城活动页面怎么生成二维码

小程序商城某些页面需要做成活动推广页,或需要某一个页面做成二维码进行推广。比如某些非公开的商品做成一个活动,发送指定部分用户,这个活动页面可以做成二维码。

2023-12-17 21:42:12 54

原创 vue.config.js文件重写打包工具配置信息

是一个可选的配置文件,可以在其中定义一些自定义的配置选项,以覆盖 Vite 的默认配置。你可以在这个文件中引入 Vite 的相关模块,然后使用 Vite 的 API 来修改或扩展默认配置。你还可以根据需要添加其他的自定义配置选项,例如别名(alias)和构建选项(build options)。文件生效,确保将其放置在项目的根目录下,并在 Vite 的配置中引用它。例如,如果你使用的是 Vite 的。在构建过程中,Vite 将使用这个新的输出目录来生成构建结果。是的,你可以在 Vue 项目中使用。

2023-12-05 18:54:44 271

原创 浅谈ArrayBuffer、Blob和File、FileReader

ArrayBuffer、Blob和File之间的关系是,你可以通过File对象获取到Blob对象,然后通过Blob对象获取到ArrayBuffer对象。反过来,你可以通过创建一个新的Blob对象,然后使用它来创建一个新的File对象,从而将ArrayBuffer对象转换为File对象。ArrayBuffer对象用于表示一个通用的、固定长度的原始二进制数据缓冲区。它通常用于读取用户上传的文件内容,或者用于构建FileList对象,后者可以用于元素的multiple属性。

2023-12-05 18:53:57 617

空空如也

空空如也

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

TA关注的人

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