自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vue3(h5适配)做个记录,避免自己以后忘了哈哈

原文出自:https://blog.csdn.net/qq1195566313/article/details/132526254。自己做了一个实现和调整,希望对大家有用。rem根据html的font-size进行缩放,可以自适应,缺点就是需要计算每个屏幕的font-size。vw,vh是相对viewport视口单位,配合meate可以直接使用无需计算。这样就可以适配了··自己经过实验可是适配很多机型了,目前还没有发现bug。1.px是相对单位固定的,无法自适应,不会随着屏幕尺寸的改变而改变.

2023-10-18 10:42:41 268

原创 call、apply、bind的使用方法和原理

1.原理:根据隐式的绑定规则obj.fn 当中的this指向的就是obj,那么我们只需要在调用call 方法时候,将当前的this赋值给要改变的对象身上,那么this的指向就根据隐式规则,绑定到了新的对象上,从而达到改变this指向的问题。在js中有三种办法改变this的调用指向,ccall、apply、bind。

2023-08-04 10:07:10 141

原创 记录前端踩坑·····不定时更新

只要是浏览器能识别的文件就会在可直接打开,其他无法识别的文件可以下载 ,如.zip。也就是说如果你的图片地址和当前的地址不一样download不起作用,会直接打开。上面的代码可以实现下载所有的文件,但是这里面有坑啊!1.如果是图片,则可以用canvas方式保存图片在下载。2.使用file-saver导出文件。3.其他处理方法待补充。

2023-07-10 10:21:43 279

原创 axios请求失败重试请求

axios请求失败后重新发起http请求

2022-11-11 17:04:09 473 1

原创 node环境下写入json文件时出现的nul问题

示例## 原因再写入数据时没有对数据进行字符串转化。代码利用JSON.stringify转成字符串const fs = require('fs')let buf = Buffer.allocUnsafe(20).fill(0)fs.writeFileSync("./111.json",JSON.stringify(buf))buffer在写入文件时,如果用JSON.stringify转化成字符串时{"type":"Buffer","data":[0,0,0,0,0,0,0,0,0,0,0

2021-11-19 09:07:11 548

原创 依靠代码的node启停功能

用代码控制程序启停的几种实现方式一、pm2方式​ 1.1原理:利用pm2模块启动node服务,有进程守护的功能,保证程序进程在死亡时可以自动重启。并且可以利用配置文件监听某重要文件修改时重启服务。​ 1.2 代码const express = require("express");const fs =require('fs');const api = express();let fsread = fs.readFileSync('./1.txt')api.use('/get',func

2021-11-08 15:49:39 288

原创 多层嵌套对象得取值和赋值问题

1.多层嵌套对象得取值。let obj ={ core:{ sys_model:55 }, detector:{ conv:11, gap_width:15 }}取值obj.core.sys_model ==>552.多层嵌套对象得赋值let obj ={ core:{ sys_model:55 }, detector:{ conv:11,

2021-11-03 15:28:35 1959

原创 node环境下的全局变量

node环境下的几种全局变量写法一、global二、模块导出三、利用闭包一、globalglobal是node环境下的全局变量,可以在任意的代码块内使用,比较常用的变量有__dirname,__filename,exports,module,equire();使用方法: 赋值:global.aaa =5;(任意模块内都可使用) 获取:global.aaa (任意模块内都可使用) 优点:使用简单。 缺点:相当于给全局多挂载属性,容易造成互相覆盖等问题。二、模块导出 新建一个test文件,并

2021-10-11 14:54:22 3732

原创 十六进制的浮点数转化为十进制

这里写自定义目录标题转化公式新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入转化公式/** -------负数* 二进制 11000001011110101010011111101111* 十进制 -15.666

2021-08-26 09:10:12 11001 1

原创 Javascript异步编程(总结)

一、Generator异步编程的方法回调函数事件监听发布/订阅promise对象什么是异步?当前操作A执行一半时候去,操作b事件,一段时间后在操作A事件。(存在中断操作)Generator 函数Generator在ES6实现,可以交出函数的执行权(让函数暂时停止)function* gen(x){ var y = yield x + 2; return y;}整个Generator 函数就是一个异步容器,在异步操作需要暂停的时候,用yield 标记var g = g

2021-05-14 17:00:32 179

原创 利用策略模式实现表单验证

普通表单验证<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><form action="http:// xxx.com/register" id="registerForm" method="post"> 请输入用户名:<

2021-05-12 10:46:19 329

原创 前端处理后端返回文件问题

标题 axios({ method: 'GET', url: 'http://localhost:3000/log/down', responseType: 'blob' }).then((res) => { if (res.data.type == 'application/json') { //错误返回

2021-05-11 16:11:45 369

原创 MomentJs 常用api总结

从 MomentJs 到 DayJsMomentJshttp://momentjs.cn/Moment.js是一个轻量级的JavaScript时间库,它方便了日常开发中对时间的操作。如:获取时间,设置时间,格式化时间,比较时间等等MomentJs 常用 API获取时间获取当前时间moment()获取今天0时0分0秒moment().startOf('day')获取本周第一天(周日)0时0分0秒moment().startOf('week')获取本周周一0时0分0秒m

2021-05-07 08:57:22 362

原创 Node实现8位bmp图

Bmp是什么?BMP是英文Bitmap(位图)的简写,它是Windows操作系统中的标准图像文件格式,能够被多种Windows应用程序所支持。随着Windows操作系统的流行与丰富的Windows应用程序的开发,BMP位图格式理所当然地被广泛应用。这种格式的特点是包含的图像信息较丰富,几乎不进行压缩,但由此导致了它与生俱来的缺点–占用磁盘空间过大。所以,目前BMP在单机上比较流行。(来自百度百科的粘贴)Bmp图片说明Bmp有2,4,8,16,24,32位图,24以上图位真彩色,位表示图片可生成的颜色

2021-04-28 17:30:14 735

原创 仿写部分JavaScriptApi

call实现/** * call 实现 * * 本质就是拿到传递的参数进行调用 * 利用this 指向来改变调用者 * */Function.prototype.hjhCall = function (){ var rst = null, obj = arguments[0] || window, //拿到第一个参数 len = arguments.length, //拿到arguments长度 argArr = []; //

2021-04-25 17:28:59 71

原创 仿写Promise(详细解释每一步的作用)

Promse基本用法function testPrm (){ let promise = new Promise((resolve, reject) =>{ let r = parseInt(Math.random()*10) if(r%2 ==0){ resolve("成功") }else { reject('失败') } } ) return promise

2021-04-23 17:59:54 227

原创 nodejs 环境下使用opencv处理图像(三)

一、感兴趣区域const {imread,imshow,Rect,waitKey,COLOR_RGB2GRAY,COLOR_GRAY2BGR} = require('opencv4nodejs');let src = imread('./imge/1.jpg') //原始图imshow('first',src) //展示let region = src.getRegion(new Rect(200, 200, 200, 200)); //在图像200,200的位置截取图像长度为200*200的图像

2021-04-15 16:03:14 1188 2

原创 Node环境压缩文件和解压文件

一、压缩文件1.1压缩文件需要用到得模块是 archiver(下载量蛮高得几百万每周)文档地址:https://www.npmjs.com/package/archiver1.2 安装npm install archiver --save1.3示例代码const archiver = require('archiver')const fs = require('fs')const archive = async (path) => { return new Promise(

2021-04-09 08:39:17 1216 7

原创 基于python的大米粒分割(本文适合两个凹点的粘连物体)

一、参考下面的文章,本文对该文章未实现的地方进行补充https://blog.csdn.net/m0_37968030/article/details/112847031二、项目原图(本文的环境是opencv4.5版本)三、处理流程 图像输入-->二值化-->形态学运算-->轮廓提取-->凸包检测-->消除粘连-->标记四、代码实现在这里插入代码片 #cv2.cv2 用于代码提示import cv2.cv2 as cvimport numpy as

2021-03-31 19:33:39 3368 11

原创 js判断是否是同一局域网

一、原理让ip地址和子网掩码进行与操作,如果最后得到的结果相同代表是同一局域网如:let ip1 = '172.18.2.200'; let zw1 = '255.255.255.0';---> 172&255 , 18&255 , 2&255 , 200&0,let ip2 = '172.18.3.139';let zw2 = '255.255.255.0'--->172&255 , 18&255 , 3&255 , 1

2021-03-29 17:18:13 843

原创 nodejs 环境下使用opencv处理图像(二)

一、通道分离合并修改//通道的分离与合并以及某个通道值的修改const {imread,imshow,waitKey,Mat,imwrite,COLOR_RGB2GRAY,COLOR_BGR2GRAY, COLOR_BGR2HSV,COLOR_RGB2YUV, COLOR_RGB2YCrCb,Vec,CV_8UC1} =require('opencv4nodejs')//三通道分离形成单通道图片const src = imread("./imge/1.jpg") let [b,g,r]

2021-03-29 16:11:04 1738

原创 nodejs 环境下使用opencv处理图像(一)

一、图片读取const {imread,imshow,imwrite,waitKey,destroyWindow} =require('opencv4nodejs');const src = imread('./imge/1.jpg') //读取图片console.log(src) //表示矩阵的大小(就是长宽)console.log(src.sizes) //表示矩阵的大小(就是长宽)console.log(src.elemSize) //表示三种颜色console.log(src.el

2021-03-29 16:04:16 3147

原创 工业相机的曝光时间和帧率的关系

一、首先上一张图这张图来自http://www.360doc.com/content/21/0223/14/8181015_963545525.shtml这篇文章下面介绍几个相机中常用到的概念1.1帧率指的是单位之间内采集的图片数量,1秒八百帧,也是就是一秒传输八百张图片(单位是:fps)1.2曝光时间曝光时间是为了将光投射到照相感光材料的感光面上,快门所要打开的时间二、帧率和曝光时间的关系工业相机的曝光时间和实际的帧率成反比,也就是曝光时间越长,实际的采集帧率会越低...

2021-03-29 15:50:12 6546

原创 循环中中异步处理的几种解决办法

forEach中异步处理的几种解决办法 arr = [1,2,3] arr2 = [] async function bbb() { /*一、 for of 可行*/ // for (let item of arr) { // console.log('item', item) // let result = await time(item)

2021-01-18 19:24:09 1361

原创 express使用中base64编码和解码

express使用中base64编码和解码一、问题描述:前端传递base64数据是,使用express-validator 中isbase64参数验证时,被服务端拒绝。二、问题原因:前端参数并没有进行base64编码,导致被服务器拒绝。三、介绍两个方法名称:3.1 btoa()解释:用于创建一个 base-64 编码的字符串。文档地址: https://www.runoob.com/jsref/met-win-btoa.html3.2. atob()解释:用于解码使用 base-64 编

2020-11-20 15:15:00 590

原创 node-ffmpeg生成直播流

一、node-media-server 媒体流服务器 //媒体流服务器const NodeMediaServer = require('node-media-server'); const config = { rtmp: { port: 1940, chunk_size: 60000, gop_cache: true, ping: 60, ping_time

2020-08-28 16:11:34 1050

原创 node前后端通讯问题

一、后端一般解析的两种格式1.表单格式 urlencoded:又叫from格式,x-www-form-urlencoded,是一种表单格式 组成:键值对 ==> a=b a为名字,b为对应值, 多键值: 用‘&’链接 ==》a=b&c=d 例子:http://127.0.0.1:8080?a=b&c=d2.JSON格式 用 {} 表示对象 对象是由属性组成的 属性是由键值对组成的 键和值之间用 ; 隔开 属性之间用

2020-08-26 13:19:48 134

原创 express文件上传,参数验证

一、multerMulter 会添加一个 body 对象 以及 file 或 files 对象 到 express 的 request 对象中。 body 对象包含表单的文本域信息,file 或 files 对象包含对象表单上传的文件信息。安装 npm i multer文档地址https://github.com/expressjs/multer/blob/master/doc/README-zh-cn.md二、在express中使用2.1全局使用const multer = requir

2020-07-29 14:36:37 554

原创 数组中相同id进行分组,并把对应的值求和

一、 原数组let list = [ {"id": 1300, "data": {"time": "13:00", "y1": 35, "y2": 40}}, {"id": 1330, "data": {"time": "13:05", "y1": 10, "y2": 15}}, {"id": 1330, "data": {"time": "13:10", "y1": 15, "y2": 20}}, {"id": 1330, "data": {"time": "13:15"

2020-07-28 14:37:08 1487

原创 node利用canvas处理图像,返回给前端,

1.安装 canvasnpm i canvas -s2.引入const { createCanvas, loadImage } = require('canvas');const canvas = createCanvas(width, height);const context = canvas.getContext('2d')3.处理//这里是因为传入多个坐标,所以进行了循环//imag 要加载的图片,0,0,分别代表x,坐标,后两个参数分别代表宽度和高度context.drawI

2020-07-20 17:05:00 2755

原创 最近在使用express,关于路由多级嵌套问题,在这里做个记录!以便以后查看

一、创建一个新项目1.由于app.js文件过多,我把路由单独拿出来放在router里面。 新建目录router,并创建index.js文件,导出一个方法 module.exports = function(app){}2.app.js导入var app = express();const router = require('./routes')router(app)3.创建new文件夹,创建index.js,name.js,age.js文件,并在index页面中引入name.js,ag

2020-07-16 15:14:24 1269

翻译 js函数防抖和节流

函数防抖节流原文地址:https://www.cnblogs.com/youma/p/10559331.html函数防抖当持续事件发生时,一定时间内没有触发事件,时间函数才会执行一次,如果在规定的时间内,再次触发了该事件,则重新计时。也就是说,用户在规定时间内多次请求,最后只执行一次。函数防抖function debounce(fn, wait) { //设置 timeout var timeout = null; return function () {

2020-07-01 18:36:36 76

原创 Node解压文件

在node中批量解压文件,并解压到对应的单独文件夹内const fs =require('fs-extra')const unzip = require("unzip-stream");const path=require( 'path') //定义自己的读取的文件路径 let url =`${think.ROOT_PATH}/www/img/`; //获取文件夹所在的路径的所有下的所有文件 let imglist = fs.readdirSync(url);

2020-06-29 13:56:19 1008 4

原创 websocket发送文字,图片及语音(thinkjs-TS项目)

一、基本配置可参考官方文档进行https://thinkjs.org/zh-cn/doc/3.0/websocket.html二、文字2.1 发送文字 socket.emit('send', "要发送的文字");2.2 后端接收 this.ctx.wsData 文字不用处理直接接收即可三、图片3.1. 图片发送 为了做演示,直接在电脑上拿到图片发送 let Imginput = document.getElementById('tupian');

2020-06-14 16:04:43 1637 1

空空如也

空空如也

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

TA关注的人

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