- 博客(24)
- 收藏
- 关注
原创 大文件分片上传(批量并发,自动上传)vue组件封装-按钮组件
一般上传文件时会因为ngnix对上传文件大小进行了限制、文件过大接口请求超时导致上传失败,此时可以考虑分片上传,分片就是说将文件拆分来进行上传,将各个文件的切片传递给后台,然后后台再进行合并(合并操作可由前端触发,也可由后端触发,本文由后端触发,前端触发可参考),切片就是文件切分字节(类似于字符串的截取)。上传文件时需要一个文件的唯一标识,在上传文件过程中需要将文件的唯一标识()传递给后端,后端会通过该标识返回给我们该上传文件目前的上传状态:1、文件已存在,文件已经上传,此时我们无需再进行任何操作。
2023-03-30 14:52:37
1171
原创 大文件分片上传(批量并发,手动上传)vue组件封装-form组件
一般上传文件时会因为ngnix对上传文件大小进行了限制、文件过大接口请求超时导致上传失败,此时可以考虑分片上传,分片就是说将文件拆分来进行上传,将各个文件的切片传递给后台,然后后台再进行合并(合并操作可由前端触发,也可由后端触发,本文由前端触发),切片就是文件切分字节(类似于字符串的截取)。上传文件时需要一个文件的唯一标识,在上传文件过程中需要将文件的唯一标识()传递给后端,后端会通过该标识返回给我们该上传文件目前的上传状态:1、文件已存在,文件已经上传并且合并完成,此时我们无需再进行任何操作。
2023-03-30 14:38:44
870
原创 Nginx的location路径匹配规则
Nginx的location路径匹配规则1、 语法2、 语法说明3、匹配规则(先后顺序)4、测试示例5、【uri】正则路径5、路径替换1、 语法[ = |~ | ~* | ^~ | @ ] /uri/ 注:uri是指匹配路径, [ =| ~ | ~* | ^~ | @ ] 是指匹配规则(可选) location ^~/uri/{ ... } location =/uri/{ ... } ...2、 语法说明
2021-12-16 16:32:06
628438
2
原创 闭包及应用
闭包1、 闭包1、 闭包当一个嵌套的内部(子)函数引用了嵌套的外部(父)函数的变量(函数)时,就产生了闭包闭包是嵌套的内部函数、包含被引用变量(函数)对对象,闭包存在于嵌套的内部函数中产生条件:函数嵌套、内部函数引用了外部函数的数据(变量、函数)// fn() 输出undefinedvar a = 3function fn (){ console.log(a) // 下方使用var声明了a,出现变量提升,故此时的a是可以找到的,只不过a的值为undefined var a
2021-11-25 21:26:27
614120
原创 页面操作权限-vue
页面增加操作权限,不同权限的用户看到页面不同。具体用户权限由服务端持久化,前端页面根据拿到的权限标识进行判断是否展示实现目标:封装全局的变量及方法通过全局参数直接控制模块是否显示无需引入,在使用vue的页面可直接使用实现方式新建JS文件,单独封装方法在main.js中引入该JS文件,进行全局注入 (或者直接在main.js中注入方法)在vue页面使用在js中使用1、在main.js中注入方法/** * 操作权限 * v-permission可直接控制模块是否显示 * 全局
2021-09-16 20:39:51
15412
原创 取消当前请求-vue
在某些特殊的场景业务下,需要手动停止未完成的Ajax请求,或在快速切换页面时,停止上一页面未完成的请求,减少资源浪费实现目标:封装全局的变量及方法通过全局方法的引入,在页面直接调用该方法取消当前为完成的请求无需引入,在使用vue的页面可直接使用实现方式新建JS文件,将代码(代码见下页)复制到JS文件中在main.js中引入该JS文件,进行全局注入 (或者直接在main.js中注入)在单个请求中单独添加cancelToken标识全部请求(axios封装位置)发起时添加cancelTok
2021-09-16 20:22:05
17650
原创 程序执行上下文
1、 变量提升变量 声明 提升通过var定义(声明)的变量,在定义语句之前就可以访问到值:undefined// fn() 输出undefinedvar a = 3function fn (){ console.log(a) // 下方使用var声明了a,出现变量提升,故此时的a是可以找到的,只不过a的值为undefined var a = 4 // var定义声明的变量会提升,最终相当于下方效果 // var a // console.log(a) /
2021-09-16 19:48:04
15022
原创 js-原型链
js-原型链1、 原型链1、 原型链访问一个对象的属性时,先在自身属性中查找,找到返回如果没有,再沿着_proto_这条链向上查找。找到返回如果最终没有找到,返回undefined别名: 原型链本质上是隐式原型链,故别名叫隐式原型链作用:查找对象的属性(方法) console.log(fn.test3) //undefined console.log(fn.test3()) //fn.test3()有这个()表示在执行,会报错说没有定义声明这个test3这个方法...
2021-09-15 11:13:27
15333
原创 ngnix配置及实例
1、 nginx常用命令使用nginx操作命令的前提条件就是:必须进入nginx的目录 cd /user/local/nginx/sbin查看版本号 ./nginx-v启动nginx ./nginx关闭nginx ./nginx-s stop重新加载nginx-----不重启服务器,重新加载配置文件,配置生效 ./nginx-s reload2、 nginx配置文件nginx配置文件位置:/user/local/nginx/conf/
2021-09-09 14:42:28
15412
原创 vue生命周期
vue生命周期1、 vue生命周期1.1生命周期1.2主要的生命周期函数分类1、 vue生命周期1.1生命周期生命周期:从vue实例创建、运行、到销毁期间,总是伴随着各种各样的事件,这些事件,统称为生命周期生命周期钩子就是生命周期事件的别名1.2主要的生命周期函数分类(1)创建期间的生命周期函数beforeCreate:实例刚在内存中被创建出来。此时,还没初始化好data和methods属性created:实例已经在内存中创建ok,data和methods已经创建好,此时还没有开
2021-09-06 11:25:53
14895
原创 RSA秘钥生成方式
vue-前端加密、RSA算法-JSEncrypt、SM4算法-gm-crypto1、 Mac系统内置OpenSSL(开源加密库),所以可以直接在终端上使用命令。2、 Windows系统可以使用git命令行工具(前提已安装git)3、利用工具网站在线生成秘钥1、 Mac系统内置OpenSSL(开源加密库),所以可以直接在终端上使用命令。2、 Windows系统可以使用git命令行工具(前提已安装git)单击鼠标右键——git bash here 调出git bash生成私钥,密钥长度为1024bit
2021-08-25 19:41:56
20998
原创 vue-前端加密
pubKey: ‘MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1QQRl0HlrVv6kGqhgonD6A9SU6ZJpnEN+Q0blT/ue6Ndt97WRfxtSAs0QoquTreaDtfC4RRX4o+CU6BTuHLUm+eSvxZS9TzbwoYZq7ObbQAZAY+SYDgAA5PHf1wNN20dGMFFgVS/y0ZWvv1UNa2laEz0I8Vmr5ZlzIn88GkmSiQIDAQAB’,priKey: ‘MIICXAIBAAKBgQC1QQR
2021-08-24 19:59:54
20266
原创 js基础 - 函数中this及语句中分号
函数中的this、语句中分号等相关知识1、函数中的this2、语句中分号问题1、函数中的this什么是对象?多个数据的封装体;用来保存多个数据的容器;一个对象代表现实中一个事物为什么要用对象?可以统一管理多个数据对象的组成属性:属性名(字符串)和属性值(任意类型)组成方法:一种特别的属性(属性值是函数)如何访问对象内部数据:. 属性名:编码简单,有时不能用[‘属性名’]:编码麻烦,但能通用。var p = { name:'tom', age:14, setnam
2021-08-23 20:37:35
18703
原创 js基础 - 对象、函数、回调函数
对象、函数、回调函数、IIFE等相关知识1、对象2、函数3、回调函数4、js引擎管理内存1、对象什么是对象?多个数据的封装体;用来保存多个数据的容器;一个对象代表现实中一个事物为什么要用对象?可以统一管理多个数据对象的组成属性:属性名(字符串)和属性值(任意类型)组成方法:一种特别的属性(属性值是函数)如何访问对象内部数据:. 属性名:编码简单,有时不能用[‘属性名’]:编码麻烦,但能通用。var p = { name:'tom', age:14, setnam
2021-08-19 16:06:02
19610
原创 js基础 - 变量、内存、数据
1、变量、内存、数据栈:变量存在栈中内存:数据存在内存中,内存中有两种数据(1内部存储的基本数据,2地址值数据(表示该内存,可被多个对象指向))对象变量中存的是对象内存地址值,通过地址值找到该地址中存储的地址值数据代码加载到内存中–>编译–>解析执行内存:栈:全局变量、局部变量,用来标识数据的名堆:对象(数组、函数(函数本身在堆中,标识函数的函数名在栈中)、对象)var object(变量----栈中) = { name:‘name’}(对象----堆中)https://blo
2021-08-17 21:30:05
19749
原创 jsonSchema(vue)
生成jsonschema插件: vue-json-schema-editor-visual.解析jsonschema至form表单插件: @lljj/vue-json-schema-forml.
2021-07-23 18:23:31
19997
原创 js基础 - 数据类型
js数据类型,获取数据类型1、js数据类型分类2、js数据类型判断1、js数据类型分类基本类型(值类型)字符串(String)、数字(Number)、布尔(Boolean)、空(Null)、未定义(Undefined)、Symbol。注:Symbol 是 ES6 引入了一种新的原始数据类型,表示独一无二的值。对象类型(数据类型)对象(Object–任意对象)、数组(Array—特殊的对象,数值下标、内部是有序的)、函数(Function—特殊的对象,可以执行)2、js数据类型判断【typeo
2021-07-22 20:43:25
19669
1
原创 vue+elementui-国际化(vue-i18n)
vue-i18n安装、vue文件国际化、纯js文件国际化、语言切换1、安装2、创建多语言配置(vue-i18n)相应文件夹3、在main.js引入i18n(language文件夹)4、vue页面引用i18n5、添加多语言切换功能6、纯js文件引用i18n1、安装npm install vue-i18n --save2、创建多语言配置(vue-i18n)相应文件夹在src目录下创建language文件夹(文件夹名可自定义,建议使用language);|——src|——|——languege
2021-07-21 16:07:55
21140
原创 Node.js安装
Nodejs的安装本文是基于Windows 10系统环境,安装和使用NodejsWindows 10node-v10.15.3-x64(可根据需要安装,本次以该版本为例)(1) 官网下载node-v10.15.3-x64.msi(2) 双击安装即可如果以前安装过nodejs,默认安装下去即可,环境变量无需再次配置,此次安装将会覆盖以前的安装。下面以没有安装过nodejs为例。(3) 验证是否安装成功# 命令行终端输入node -v # 查看node版本npm -v # 查看npm
2021-07-16 21:41:05
20779
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人