自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 前端实现rsa加密功能

一般项目的登录密码、身份证号以及一些用户敏感信息等在传输的时候需要使用加密传输,一般来说,前端只会得到后端给的公钥,而rsa加密,可以用公钥加密,也可以用私钥加密,即可以用一个公钥进行加密,也可以去解密后端经过私钥加密的数据,在我的项目中,我只需要把用户输入的信息进行加密传输给后端,所以只需要使用到公钥(这个公钥后端会提供)

2025-02-26 18:53:19 1003

原创 TS二次封装axios学习总结

Record 是 TS 内置的一个高级类型,是通过映射类型的语法来生成索引类型的,Record<string, any> 也就是 key 为 string 类型,value 为任意类型的索引类型,可以代替 object 来用,用来指定object内部的key value的数据类型。.PUT通常指定了资源的存放位置,而POST则没有,POST的数据存放位置由服务器自己决定。.PUT请求:如果两个请求相同,后一个请求会把第一个请求覆盖掉。(所以PUT用来改资源)Post请求:后一个请求不会把第一个请求覆盖掉。

2025-02-26 18:28:51 362

原创 vue3 el-pagination 将 英文 修改 为 中文

这个时候样式已经转化为中文了 但import zhCn from 'element-plus/dist/locale/zh-cn.mjs’这行代码飘红了 ,说是找不到位置, 于是我在src下面新建了一个文件夹用来导出中文包 解决飘红问题。然后 使用 ElConfigProvider 组件绑定 locale 语言环境 将 内容写在 ElConfigProvider 里 包裹起来就可以了。element-plus.d.ts 文件内容。//引入中文包 把分页组件文字转化为中文。

2024-11-23 15:53:52 979

原创 后台通用tag面包屑

addVisitedView:去和现在项目配置的路由数组做匹配(path),获取点击过的路由信息,存入tag内,然后判断 如果访问过的路由中已经存在该路由,则更新当前路由,不重复添加标签,return掉,如果没有存在该路由,则添加新路由再更新当前路由,加超过5个时,自动移除最早的标签。使用watch去监听路由的改变,来动态添加路由,调用store里面的addVisitedView和deleteVisitedView来进行增加删除,然后这里的业务逻辑只处理页面的路由跳转。如果删除的选中的标签。

2024-11-22 14:13:09 343

原创 精简代码小技巧

上面代码中,foo是匹配的模式,baz才是变量。真正被赋值的是变量baz,而不是模式foo。返回错误的处理结果;阻止执行默认的行为。尤其是循环,若是匹配寻找逻辑,找到匹配的,处理完逻辑及时return跳出循环。从一个函数调用另一个有返回值的函数 减少全局变量的使用(造成变量污染)return true;返回正常的处理结果;把控制权返回给页面。

2024-11-04 17:29:43 334

原创 vue3 ref和reactive踩坑

起因:开发时做一个列表状态筛选,遇到了数据更新但视图层没有更新的情况,把数据改为ref去操作即完成响应式数据的更新。ref 和 reactive 是 Vue3 中实现响应式数据的核心 API。ref 用于包装基本数据类型,而 reactive 用于处理对象和数组。尽管 reactive 似乎更适合处理对象,但 Vue3 官方文档更推荐使用 ref。

2024-10-30 10:12:43 678

原创 前端面试题(兴盛优选实习版)

4.有没有了解过自定义指令 如何使用 步骤是什么 自定义指令命名可以用内置的吗 比如v-mount 如果用了会有问题吗 是报错还是警告 报的错或者警告会是什么。返回的是什么 如果我中间出现了false 后面的还会继续返回吗 如果我在进行的时候把数组长度修改了 会怎么样。13.讲一下参加的大赛 主要是什么项目 你做了什么 有什么成绩。2.如果要实现主题切换的网站和组件有哪些方法,越多越好。12.vue2和vue3的区别有什么提升表现在什么方面。2.vue的生命周期 常用的是哪两个 用于做什么。

2024-10-29 13:46:14 414

原创 初级前端面试(2)

后续的就是对公司情况的一些了解,以及直接和老板谈薪了,其实一开始还做了一轮笔试,但是题目已经记不太清了,目前已经顺利入职啦(对于一年多没从事开发行业的我来说,已经很满意了~~),接下来就是技术沉淀 沉淀 再沉淀 最后也祝各位读者也能顺利入职!原型:在js中,每一个对象(函数也是对象)都有一个特殊的属性叫做原型(prototype),它指向另一个对象,这个对象(Test.prototype)被称为原型对象, 原型对象是用来共享属性和方法的。闭包的弊端:内层函数引用外层函数变量,内层函数占用内存。

2024-10-12 16:01:58 784

原创 uniapp开发 使用vscode代替hbuilderx开发工具

前言:最近接手了一个uniapp项目,很久没有使用hbuilderx了,用着实在难受,并且还总报奇奇怪怪的错误,首次运行要下载很多插件,搜索文件也用不习惯,加上很多鼠标操作,实在是太影响开发效率,最后还有第二次从桌面打开都无法启动,直接报错app.reportinvalid.title,官方请求也无果,最后决定用回我的vscode。看到node 大概猜测自己的node版本是不是过高,因为直接在官方下载的最高版本的20.18.4,最后nvm切换了个低一点的版本,运行完成!然后就开始一系列配置。

2024-10-10 11:37:34 1539

原创 前端新机部署

Node版本管理工具。git可视化管理工具。编辑器:vscode。

2024-10-09 15:47:51 401

原创 nvm切换版本失败踩坑

安装后,开始下载所需要的node版本,使用nvm use 进行切换,提示切换成功,结果切换后node- v查看,发现还是之前的node版本,于是开始了踩坑之路。最后,用一个最简单的办法解决了,当时看的时候觉得很荒谬,也不知道原理,但是已经尝试了全网可以解决的办法了,所以抱着最后一丝的希望去尝试,结果就成功了!于是便去排查第二种情况,排查nvm切换的node环境和我们运行的node是否一致,因为在安装nvm之前就已经全局安装过node环境了。去官网下载了nvm,用于管理node版本。结果发现仍然无法解决。

2024-09-21 18:45:19 1700 7

原创 初级前端面试

3、computed是计算一个新的属性,并将该属性挂载到vm(Vue实例)上,而watch是监听已经存在并且已挂载到vm上的数据,所以用watch同样可以监听computed计算属性的变化(其它还有data,props)4、computed本质是一个惰性求值的观察者,具有缓存性,只有当依赖变化后,第一次访问computed属性,才会计算新的值,而watch则是当数据发生变化便会调用执行函数。(1)自己位置的微调。通常在这个阶段可以用来进行一些初始的数据操作,比如对 data 中的数据进行修改。

2024-09-21 15:59:01 843

原创 微派前端一面

需要注意的是,强制缓存和协商缓存都可以减少 HTTP 请求的数量和提高网页加载速度,但也存在一些缺点。总的来说,ES Module相对于CommonJS有更好的性能和静态分析能力,但是由于它的语法和加载方式比较新,一些旧的浏览器和Node.js版本可能不支持。而CommonJS中的变量绑定是静态的,即导入模块的变量只是导出模块变量的一个副本,不会随着导出模块的变化而改变。Proxy本质是一个构造函数,用于创建一个对象的代理,从而实现对被代理对象操作的的拦截和自定义(如属性查找,赋值,枚举,函数调用等)。

2023-07-18 14:36:00 900 2

原创 vue3和element plus踩坑

在main.js里面引入element plus 使用这种use方式会报错,虽然也不知道为什么。1.有说vue版本有两个,但检查之后发现只有一个,且为vue3的版本。现在还是不知道是什么原因 如果有大佬知道可以指点一下。过后很久又改回之前的那种写法 不仅没有报错也没有报下面这种警告。2.也有说是因为命名的问题,组件名和页面名一致。但改为这种写法却引入失败 使用组件并不能生效。改为以下这种写法之后就没有报错了。

2023-07-01 19:30:32 1459

原创 前端设计模式学习

前端常用的设计模式

2023-06-30 23:58:43 502

原创 webpack踩坑

仍然报错,说明webpack并没有安装成功,提示是否install ‘webpack-cli’ 选择yes,已经done后,仍然无法运行项目,webpack还是安装失败。1.首先去node.js官网下载了node,node下载后对应的npm版本也会自动下载好。后续重新安装webpack,发现安装成功,项目终于可以正常启动了。重新查看报错,发现好像是没有给用户添加权限,导致安装失败。2.想要成功跑通项目,还需要下载webpack。3.使用npm安装yarn。查看webpack 版本。全局安装webpack。

2023-06-13 21:49:04 1215

原创 Git学习第一天

1.版本控制版本控制软件:优势:分类:4.1 本地版本控制系统4.2 集中化的基本控制系统4.3 分布式的基本控制系统4.4 GitSVN差异比较:

2023-06-08 12:12:18 73

原创 定位和伪类选择器踩坑

在父元素position:relative相对定位后对子元素position:absolute绝对定位,如果没有指定width,会显示空白,如果同时设置left和right,相当于默认计算一个width,则可以正常显示微信小程序::first-child踩坑这样选择无效 改成下面这种形式可正常选择

2022-11-17 17:13:50 188

原创 git学习心得

每一次将自己代码push上去之前,需要先将自己的代码stash,再pull下来的代码拉到本地,再将自己的push上去。

2022-09-29 14:58:01 144

原创 onPageNotFound踩坑

在app.js中配置onPageNotFound,自测时选择在另一个页面绑定一个事件去跳转一个不存在的页面,onPageNotFound在app.js和index.js的回调都没有执行到,只报了路由找不到的错误。原因:在路由层还未成功跳转,直接报错,路由没有到不存在的页面,所以没有触发onPageNotFound,想验证是否生效,直接在小程序编译模式中添加一个不存在的页面路由进行跳转即可。小程序要打开的页面不存在时触发。}) // 如果是 tabbar 页面,请使用 wx.switchTab。

2022-09-20 17:53:06 1235

原创 深入搞懂Mixin

Vuex公共状态管理,如果在一个组件中更改了Vuex中的某个数据,那么其它所有引用了Vuex中该数据的组件也会跟着变化。Mixin中的data数据与组件中的data数据冲突时,组件中的data数据会覆盖mixin中数据。当Mixin和组件中都有某个同名的方法时,在组件中调用时,最后实际调用的是组件中的方法。生命周期函数合并后执行顺序:先执行mixin中的,后执行组件的。先执行Mixin中生命周期函数中的代码,然后在执行组件内部的代码。mixin中的生命周期函数会和组件的生命周期函数一起合并执行。...

2022-08-09 14:43:01 1122

原创 小程序开发笔记

小程序开发

2022-07-15 16:17:17 82

原创 人脸微笑识别

aistudio上传文件夹 把整个文件压缩 在主文件里面 添加代码行import os!unzip genki4k.zip(压缩包文件名)

2022-06-06 18:26:03 285

原创 手写体识别

机器学习模型:调用第三方库sklearn进行运行,划分数据集为训练集:测试集=7:31.决策树2.支持向量机3.逻辑回归神经网络模型:使用的pytorch包,用官方经典cnn网络模型,效果非常不错,可以到达99%多,构建了一个新的网络结构,用了两个卷积层,第一个卷积层输出通道改为了10,卷积核改为了5,第二个卷积层输入改为了10,输出修改为20,两个全连接层第一个输入通道改为了2000,,输出通道改为了500,第二个输入通道改为了500,输出通道改为了10,识别率也能达到98%,,99%。图

2022-05-15 16:07:25 410 1

原创 Vue2学习第六天(路由)

路由理解: 一个路由(route)就是一组映射关系(key - value),多个路由需要路由器(router)进行管理。前端路由:key是路径,value是组件

2022-04-02 21:37:38 84

原创 Vue2学习第五天(vuex)

Vuex1.概念​ 在Vue中实现集中式状态(数据)管理的一个Vue插件,对vue应用中多个组件的共享状态进行集中式的管理(读/写),也是一种组件间通信的方式,且适用于任意组件间通信。2.何时使用?​ 多个组件需要共享数据时3.搭建vuex环境1.创建文件:src/store/index.js//引入Vue核心库import Vue from 'vue'//引入Vueximport Vuex from 'vuex'//应用Vuex插件Vue.use(Vuex)//准备acti

2022-04-01 22:00:22 84

原创 Vue2学习第四天

1.组件的自定义事件一种组件间通信的方式,适用于:子组件 ===> 父组件使用场景:A是父组件,B是子组件,B想给A传数据,那么就要在A中给B绑定自定义事件(事件的回调在A中)。绑定自定义事件:第一种方式,在父组件中:<Demo @atguigu="test"/>或 <Demo v-on:atguigu="test"/>第二种方式,在父组件中:<Demo ref="demo"/>......mounted(){ this.$

2022-03-31 15:22:34 85

原创 Vue2学习第三天

第一次使用脚手架报错:Component name “School” should always be multi-word vue/multi-word-component-names 、解决方法:修改配置项,关闭语法检查在vue.config.js文件里加上如下代码const { defineConfig } = require('@vue/cli-service')module.exports = defineConfig({ lintOnSave:false})...

2022-03-29 18:30:26 208

原创 Vue2学习第二天

1.条件渲染1.v-if(1).v-if=“表达式”(2).v-else-if=“表达式”(3).v-else=“表达式”适用于:切换频率较低的场景。特点:不展示的DOM元素直接被移除。注意:v-if可以和:v-else-if、v-else一起使用,但要求结构不能被“打断”。2.v-show写法:v-show=“表达式”适用于:切换频率较高的场景。特点:不展示的DOM元素未被移除,仅仅是使用样式隐藏掉 3.备注:使用v-if的时,元素可能无法获取到,而使用v-show一定可以获

2022-03-16 11:49:44 107

原创 Vue2学习第一天

搭建Vue开发环境的注意点

2022-03-16 10:48:13 98

原创 Ajax学习第四天

1.同源策略概念:2.跨域实现原理:实现过程:缺点:3.Jquery中的JSONP实现过程:4.防抖和节流4.1 防抖4.2 节流节流阀:区别:5.HTTP协议5.1 通信5.2 通信协议5.3 HTTP协议5.4 交互模型5.5 请求消息5.6 组成部分5.6.1 请求行5.6.2 请求头部5.6.3 请求体请求方法:5.6.4 总结5.7 响应消息5.7.1 状态行5.7.2 响应头部

2022-03-09 19:41:13 93

原创 Ajax学习第三天

1.XMLHttpRequest1.1 概念1.2 发起get请求带参数的:1.3 发起post请求1.4 readyStage1.5 查询字符串1.6 Url编码2.数据交换格式区别:Json:语法注意事项:和JS对象的互转:序列化和反序列化:3.封装自己的Ajax函数效果展示:4.新特性4.1 旧版缺点4.2新版新功能4.3 设置请求时限4.4 FormData4.5 上传文件验证是否选择了文件:

2022-03-05 19:20:49 72

原创 Ajax学习第二天

1.form表单的使用1.1什么是表单1.2表单的组成部分表单有三个基本部分组成:表单标签、表单域、表单按钮表单域包括:文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文件上传框1.3表单的属性1.3.1 属性-action1.3.2 属性-target1.3.3 属性-method1.3.4 属性-enctype1.4 表单的同步提交1.4.1 概念1.4.2 缺点1.4.3 解决方案2.提交表单注意点3.模板引擎4.art-t

2022-03-05 18:53:32 120

原创 Ajax学习第一天

1.客户端和服务器2.URL地址3.通信过程4.请求数据5.Ajax6.接口

2022-03-02 20:01:05 83

原创 js学习第十三天

ES6新增语法1.let2.const区别:3.解构赋值4.箭头函数5.剩余参数ES6内置对象扩展1.数组的扩展方法![在这里插入图片描述](https://img-blog.csdnimg.cn/2ecb88ea706d4716b3d7b1649b75994a.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAcXFfNDY0MzU3MDE=,size_20,col

2022-02-28 19:18:07 161 2

原创 js学习第十二天

js高级基础31.正则表达式例:

2022-02-28 17:30:54 134

原创 js学习第十一天

js高级基础21.ES5新增的方法1.1数组方法some和filter区别:1.2对象方法2.函数1.1函数的定义方式函数的使用:2.1 this3.严格模式4.高阶函数5.闭包6.递归

2022-02-28 17:04:39 84

原创 js学习第十天

js高级基础

2022-02-28 15:30:31 99

原创 js学习第九天

jQuery1.基本使用2.选择器3.样式操作4.jQuery效果5.属性操作6.尺寸、位置操作8.对象拷贝和多库共存9.插件使用

2022-01-22 00:14:27 439

原创 js学习第八天

1.动画函数 function animate(obj, target) { clearInterval(obj.timer); obj.timer = setInterval(function () { var step = (target - obj.offsetLeft) / 10; if (obj.offsetLeft >= target) {

2022-01-11 21:41:04 226

前端微信小程序rsa加密兼容处理

微信小程序引入JSEncrypt和Encrypt出现报错,rsa无法使用,不使用npm方式引入,直接修改引入库的源码,再在项目里引入使用,解决兼容性问题

2025-02-27

空空如也

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

TA关注的人

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