
知识点
不会秃头
这个作者很懒,什么都没留下…
展开
-
websocket导致的setState不更新页面(useState)
websocket导致的setState不更新页面原创 2022-08-23 16:04:19 · 1001 阅读 · 0 评论 -
nginx部署,可以访问首页,但是不能直接访问其他路径
nginx部署前端项目,访问网站首页没问题,即网站根目录。直接访问其他目录时,报404。原创 2022-07-14 17:45:24 · 2212 阅读 · 0 评论 -
antd组件upload上传xlsx文件,并读取文件内容
前端表格数据内容提取原创 2022-06-15 18:01:25 · 3067 阅读 · 0 评论 -
箭头函数的this指向
声明:call、apply、bind无法改变箭头函数的this指向例如:可以看到箭头函数在这里初始的时候指向,使用apply、bind、call来尝试改变它的指向,都失败了,始终指向结论:箭头函数指向为它的爷爷对象。也就是父级的父级对象。证明:可以看到,我们在中调用箭头函数,为全局函数,它指向的是,然后我们是在对象里面的调用,箭头函数的指向父级的父级,在这里也就是指向了前面说到,我们不能改变箭头函数的指向,但是我们可以改变它父级的父级的指向,由于箭头函数指向父级的父级,也就代表着我们改变了箭头函原创 2022-06-02 18:08:48 · 238 阅读 · 0 评论 -
call和apply和bind的区别
参考链接:区别相同点:call和apply和bind都是用来重新绑定this的指向,并且可以传递参数。普通函数的指向为它的调用者,如果不更改this指向,那么使用得到的为,然后我们分别用apply、call、bind来改变了this的指向。这是他们三者的相同点。不同点:原创 2022-06-02 18:04:37 · 123 阅读 · 0 评论 -
nodemon:无法将“nodemon”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。
解决方法:1. 全局安装nodemonnpm install nodemon -g2. 找到nodemon.cmd所属目录,在你node安装node_global目录下。查看node用户变量目录:npm config get prefix我的nodemon.cmd所在目录为:D:\node\node_global3.将该目录添加到环境变量Path中4.cmd中查看nodemon版本nodemon -v如果显示版本,则说明nodemon全局安装已经成功了。5.打开我们的编辑器内原创 2022-05-06 17:24:19 · 5644 阅读 · 1 评论 -
srs ffmpeg 推视频流记录
推流方式SRS作为视频服务器,使用FFmpeg进行推流。低延迟模式,RTMP转webRTC流进行播放。部署步骤(简略版本)需要先安装docker部署srsdocker run --rm --env CANDIDATE="192.168.215.128" -p 1935:1935 -p 8080:8080 -p 1985:1985 -p 8000:8000/udp -d --name SRS registry.cn-hangzhou.aliyuncs.com/ossrs/srs:4 objs/原创 2022-03-21 14:01:18 · 3149 阅读 · 0 评论 -
函数作为参数时的使用问题
问题原因今天工作时,碰见一个函数A的参数为函数B,然后在A里面,B有被点击事件调用、被作为参数传入另一个函数调用。然后发现了一些问题,特来记录。问题详情函数A:renderSearchFormrenderSearchForm = (onReset) => { return ( <div> <Button style={{ marginLeft: 8 }} onClick={onReset}> 重置原创 2022-03-18 19:16:31 · 434 阅读 · 0 评论 -
Centos7 linux源码方式安装ffmpeg
源码下载:源码下载地址:Download FFmpeg选择最新版本4.4.1的xz 压缩包源码解压:上一步我们下载ffmpeg到我们的windows硬盘了然后我们上传到我们的linux服务器,我选择了SFTP的方式进行上传1。在usr/local下创建ffmpeg文件夹,并进入ffmpeg文件夹下cd /usr/local/mkdir ffmpegcd ffmpeg2。使用SFTP上传 ffmpeg-4.4.1.tar.xz 文件到ffmpeg下..原创 2022-01-14 14:07:00 · 709 阅读 · 1 评论 -
linux安装ffmpeg
sudo rpm --importhttp://li.nux.ro/download/nux/RPM-GPG-KEY-nux.rosudo rpm -Uvhhttp://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpmsudo yum install ffmpeg ffmpeg-devel -y原创 2022-01-13 15:39:51 · 464 阅读 · 0 评论 -
一个鼠标移动特效
特效样式:html代码:<canvas id="canvas" width="" height=""></canvas>JS代码:window.onload = function () {//气泡效果 var canvas=document.getElementById('canvas'); var context=canvas.getContext('2d'); canvas.width=window.innerWid.原创 2022-01-13 14:30:22 · 397 阅读 · 0 评论 -
flv.js: Maximum buffering duration exceeded, suspend transmuxing task
出现这个问题是因为flv.js默认预加载三分钟的视频,如果超过三分钟则会报错。解决办法:this.playbackPlayer = flvjs.createPlayer(mediaDataSource,{lazyLoadMaxDuration:5 * 60})在createPlayer后面多加一个参数lazyLoadMaxDuration5 * 60 代表5分钟...原创 2022-01-06 11:47:22 · 1814 阅读 · 3 评论 -
80端口进不去问题解析
今天啊像往常一样打开我的小网站,发现竟然进不去了。然后使用网站: Open Port Check Tool - Test Port Forwarding on Your Router测了一下80端口ping不通了。这是我心里暗自感叹自由的巨人,墙外的美丽。我这可怜的仅存的缝隙,终于也被夺走了吗?但是贫困的我怎么能如此就放弃,毕竟这是我200多买的!于是我就去找客服理论。并且慢慢发现了事情的真相。好像是我linux服务器的端口没有开发?不会啊,我在阿里云控制台上打开了啊!...原创 2022-01-05 15:12:36 · 4513 阅读 · 0 评论 -
antD form.resetFields();
恢复表单的默认初始值<FormItem label='状态' {...formItemLayout}> {getFieldDecorator('status', { initialValue: '-99', })( <Select placeholder='请选择状态'> {getSelectOptionsFromDict(handleStatus, true, '-99')} <原创 2022-01-04 14:03:26 · 1838 阅读 · 0 评论 -
AntD Select组件 optionFilterProp的用法
AntDesign版本:3.19今天在使用Select组件的时候,发现多选组件自带的了搜索功能。但是他的搜索功能默认的是按照选项的value值来搜索的,而不是选项的内容。解决方法:optionFilterProp='children'指定按照选项的内容来搜索也可以指定Option的属性名,默认是value<Select placeholder="Select a person" optionFilterProp="children" mo.原创 2021-12-29 10:41:43 · 5719 阅读 · 0 评论 -
AntDesign Form表单的自定义校验
项目antD版本:3.19使用antD的form来管理我们的表单的时候,我们有时候需要自定义规则校验某个字段,这个时候就可以在rules里面添加validator属性,指向我们定义的方法。<Form.Item label='下午结束时间'> {getFieldDecorator('pmEndTime', { initialValue: moment('18:00:00', 'HH:mm:ss'), rules: [原创 2021-12-28 17:06:14 · 5591 阅读 · 0 评论 -
鼠标点击特效
onload = function() { var click_cnt = 0; var $html = document.getElementsByTagName("html")[0]; var $body = document.getElementsByTagName("body")[0]; $html.onclick = function(e) { var $elem = document.cre...原创 2021-12-24 14:46:02 · 142 阅读 · 0 评论 -
nginx部署html+css页面 css没有生效
nginx部署html+css页面 css没有生效原创 2021-12-14 10:12:54 · 7613 阅读 · 4 评论 -
npm install -D -S -G 和不加后缀的区别
首先声明:npm install 等价于 npm inpm install --save 等价于 npm install -Snpm install --save-dev 等价于 npm install -Dnpm install --global 等价于 npm install -g后面的只是前面的简写...原创 2021-12-10 15:28:43 · 1734 阅读 · 0 评论 -
echo hello C >> tmp.txt
echo hello C >> tmp.txt将字符串输出追加重定向,当前目录存在tmp.txt,则将tmp.txt的内容后面追加输出的字符串原创 2021-12-07 14:06:36 · 268 阅读 · 0 评论 -
Webpack学习笔记
第一节:webpack简介原创 2021-11-29 23:07:20 · 302 阅读 · 0 评论 -
判断变量是否为数组的两种方式
方式1:a instanceof Array方式2:Array.isArray([1,2,3])原创 2021-11-29 21:45:03 · 114 阅读 · 0 评论 -
umi+dva -- connect数据流向分析(models)
详细概述:首先在组件里使用connect关键字根据命名空间连接models层,获取models层的state状态作为组件的状态。 当组件需要更改state状态的时候,调用action里的方法。action里的方法本质是调用models里的effects(异步请求)或reducers(同步请求)里的方法。 models层里的异步请求,使用yield关键字通过call来发送后台请求,这里的请求是通过services层的request来访...原创 2021-11-25 17:57:22 · 836 阅读 · 0 评论 -
JS - 对象的遍历
前言: 之前了解过数组的遍历,今天听pink老师讲对象的遍历,也是丰富了自己的知识范围,记录一下,可能以后会在工作中用的到。对象的遍历:声明一个对象 personAvar personA = { name:"迪丽热巴", age:"18", sex:"women"}遍历对象personA,这里主要记录遍历结果:for(var k in personA){ console.log(k) // 属性名 console.log...原创 2021-11-25 14:39:32 · 205 阅读 · 0 评论 -
ES6 - 变量的作用域
在说明ES6的作用域之前,先提一下ES5中的规定的作用域:全局作用域和函数作用域但是在ES6中新增了一种作用域:块级作用域那么为什么要新增一种块级作用域呢?这是因为只有全局作用域和函数作用域时,有如下问题:变量提升: ①。在js中用var ,function声明的变量都将被提到函数的最顶部。(但是不会初始化) ②。函数声明的优先级大于变量声明的优先级(function > var)③。在函数内部变量提升的优先级会小于函数参...原创 2021-11-23 22:44:29 · 246 阅读 · 0 评论 -
冒泡排序 -- js实现
冒泡排序 算法的名字由来是因为越小的元素会经由交换慢慢浮到数列的顶端5 4 3 2 1第一趟 : 4 3 2 1 5第二趟 : 3 2 1 4 5第三趟 : 2 1 3 4 5第四趟 : 1 2 3 4 5上述可见:5个元素,一共需要走4趟。每一趟的交换次数: 第一趟 : 交换4次5 - 0 - 1 第二趟 : 交换3次 5 - 1 - 1 第...原创 2021-11-22 22:59:15 · 100 阅读 · 0 评论 -
JS中的prototype、__proto__的区别
①__proto__和constructor属性是对象所独有的;② prototype属性是函数所独有的,因为函数也是一种对象,所以函数也拥有__proto__和constructor属性。③ __proto__属性的作用就是当访问一个对象的属性时,如果该对象内部不存在这个属性,那么就会去它的__proto__属性所指向的那个对象(父对象)里找,一直找,直到__proto__属性的终点null,然后返回undefined,再往上找就相当于在null上取值,会报错。通过__proto__属性将对象连.原创 2021-11-22 11:05:16 · 624 阅读 · 0 评论 -
JS逻辑运算符--逻辑短路(逻辑中断)
逻辑中断原创 2021-11-19 11:24:48 · 888 阅读 · 0 评论 -
数据存储单位
原创 2021-11-17 17:19:56 · 104 阅读 · 0 评论 -
JSON转换
obj : { key1:"first", key2:1, key3:"last"}console.log(obj)// {key1:"first", key2:1, key3:"last"}console.log(typeof(obj))// objectconsole.log(JSON.stringify(obj))// {"key1":"first","key2":1,"key3":"last"}console.log(ty...原创 2021-11-11 21:23:23 · 892 阅读 · 0 评论 -
箭头函数解析
常规函数:function function_name (p1,p2){ // 函数体}箭头函数:const function_name = (p1,p2) => { // 函数体}箭头函数 一个参数形式const function_name = p1 => {}原创 2021-11-11 21:09:33 · 208 阅读 · 0 评论 -
git忽略SSL认证
git config http.sslVerify false原创 2021-11-11 12:26:44 · 1569 阅读 · 0 评论 -
node安装后配置
本配置主要针对的是node安装后包默认位置的修改全局模块路径和缓存路径。它的默认路径为:【C:\Users\用户名\AppData\Roaming\npm】。1。首先正常安装node2。在你的nodejs安装目录下创建创建两个文件夹,名称分别为:node_global和node_cache,在node_global文件夹下再建一个node_modules文件夹,配置环境变量用3。win+R打开运行窗口,输入cmd,再输入以下两条指令npm config set prefix...原创 2021-11-10 16:23:28 · 1318 阅读 · 0 评论 -
bind():绑定方法理解
function f(y, z){ return this.x + y + z;}var m = f.bind({x : 1}, 2);console.log(m(3));// 6这里bind方法会把它的第一个实参绑定给f函数体内的this,所以这里的this即指向{x : 1}对象,从第二个参数起,会依次传递给原始函数,这里的第二个参数2,即是f函数的y参数,最后调用m(3)的时候,这里的3便是最后一个参数z了,所以执行结果为1 + 2 + 3 = 6...原创 2021-07-17 16:29:19 · 1969 阅读 · 0 评论