自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 资源 (6)
  • 问答 (1)
  • 收藏
  • 关注

原创 JavaScript 笔记

暂停 JavaScript 执行:function sleep(ms) { for(var t = Date.now();Date.now() - t <= ms;); } sleep(200);

2021-07-14 21:53:24 46

原创 新一代 node.js web 开发框架 Koa 零基础入门学习笔记

目录Koa搭建服务器node 初始化 package.json安装 Koa 模块创建应用入口文件 app.js最简实现上下文Request 别名Response 别名启动服务器服务器自动重新部署Node.js 开发辅助工具 nodemon中间件洋葱模型Koa 中间件的实现重点Koa 路由配置Koa新一代 node.js web 开发框架。搭建服务器node 初始化 package.jsonnpm init -y参数:-y 全部使用默认选项设置,不再一步一步确认。{ "name": "Ry

2021-05-13 20:03:12 274 10

原创 asp.net core 修改 HTML 而不需要重新 run 的方法

安装:https://www.nuget.org/packages/Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation/命令:dotnet add package Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation --version 3.1.0然后修改Startuppublic void C...

2020-01-01 09:34:33 750

转载 Markdown编辑器使用方法技巧

这里写自定义目录标题Markdown编辑器使用方法技巧新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入Mark...

2019-03-07 18:13:37 267

原创 JavaScript call,apply,bind 的用法区别

【代码】JavaScript call,apply,bind 的用法区别。

2023-12-22 08:47:43 90

转载 canvas 利用前端技术生成图片相似度 hash (裁剪图片只要图像内容去除四周空白区域)

正常对比,我们会依次对比数组每一个对应的位置,比如200和202做对比,100和102做对比,300和310做对比,正常情况下,如果两个值小于一定的误差比如2,我们就认为是相似的,但是这样计算的话我们需要将数组遍历完才能知道是不是相似的,如果引入突变,假如我们设定突变的临界值为5,如果某族特征值大于5,那么我们直接判定为不相似,直接返回,比如上面的情况,a和b的第一组数字间隔为10大于图标临界值5,数组后面的内容我们就不需要再对比了,直接返回。1、对比特征数组的长度,如果不相等,那么图片不相似,直接返回。

2023-11-03 07:35:18 206

原创 JavaScript 避免全局定义变量和函数

如上所提供的函数表达式的名称的作用域仅仅是该函数自身。这允许引擎去做更多的优化,并且这种实现更可读、友好。该名称也显示在调试器和一些堆栈跟踪中,节省了调试时的时间。

2023-06-07 00:54:42 206 1

原创 vue router 拆分路由 自动导入

vue router 拆分路由 自动导入

2023-05-31 20:03:14 191

原创 vue 3 vite npm run build 空白页

解决 Vue 3 build 后访问页面空白问题

2023-05-27 20:16:53 702

原创 微信小程序加载json文件的两种方法

方法1:使用下载地址。方法2:使用 fileID。

2023-05-17 10:23:25 4644

原创 css 圆形渐变框

【代码】css 圆形渐变框。

2023-05-16 17:46:24 205

原创 微信小程序开发:选择图片并转为base64

如果 data 中包含大数据字段(建议临界值 100KB),建议使用 wx.cloud.CDN 标记大数据字段,标记后在调用云函数时,该字段的内容将会上传至临时 CDN,然后在云函数中接收到的该字段值将是 CDN url,可在云函数中下载访问。通过这种方式,可以避免大数据传输造成的性能问题、及避免触及调用链路的传输大小限制。向自有服务器存储应该没问题,但是如果使用微信云开发,调用云函数传递数据有大小限制(本地云函数调试时总是报错),

2023-05-11 17:16:51 352

原创 网页置灰的方法(兼容IE)

通过 css 滤镜可以非常方便的给网页完成置灰。HTML 添加一个统一的滤镜即可。但为了兼容 IE,就需要借助插件。如果需要保留特殊元素不被置灰,那就使用选择器:其它的几种置灰方式:使用 SVG 滤镜使用 backdrop-filter 实现首屏置灰遮罩借助混合模式实现网站置灰但是,IE 对以上方式无效借助插件:注意,这里又是为了兼容性,最好使用 jquery,用选择器的时候能免去不少麻烦。cd…

2022-12-04 01:27:02 1123

原创 从搜狐的开放的接口里读取数据

【代码】从搜狐的开放的接口里读取数据。

2022-11-11 21:43:19 155

原创 JavaScript 监听页面滚动到元素位置执行 css 动画

🍊使用 JavaScript 监听页面滚动目标元素,添加 css 动画。

2022-07-20 09:14:39 1102

原创 VS Code 终端美化成自己喜欢的样子

美化 VS Code 终端,使用自己喜欢的颜色高亮关键字.

2022-06-16 17:14:24 5508 3

原创 Vue3 起步简单示例

以下是最简单的使用语法:<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width

2022-05-12 22:36:19 636

原创 JavaScript 使用 .replace(正则, 函数) 获取地址参数妙不可言的用法

在阅读一段源码时,看到这么一段代码,可以获取到地址中所有的参数:function getUrlVars(href) { var vars = {}; var parts = href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (m, key, value) { vars[key] = value; }); return vars;}这里重点要说的就是

2022-05-10 21:34:38 1307

原创 常用 CSS 笔记

css grid 常用属性用法记录display: grid;grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));grid-template-rows: 140px 140px;gap: 10px;overflow: hidden;grid-template-areas:“a b c d e”“f f g h i”;

2022-04-21 09:39:32 117

原创 node.js 遍历目录

var fs = require("fs")var path = require("path");// 当前路径var root = path.join(__dirname)let parentObj = { title: "目录", children: []}// 调用readDir(root, "", parentObj);// console.log(JSON.stringify(parentObj, null, 2));fs.writeFileSync(path

2022-04-19 20:21:14 723

原创 JavaScript 字符串 split 使用技巧(如何保留分割符)

// 不保留分隔符"A、B、C".split("、") == ["1", "2", "3"]// 保留分割符"A、B、C".split(/(、)/g) == ["1", "、", "2", "、", "3"]"A、B、C".split(/(?=、)/g) == ["1", "、2", "、3"]"A、B、C".split(/(?!、)/g) == ["1、", "2、", "3"]"A、B、C".split(/(.*?、)/g) == ["", "1、", "", "2、", "3"]//

2022-03-27 09:40:27 3781

原创 如何在微信小程序中实现文本换行?

description: “如何在微信小程序中\n实现文本换行?” <text class="text-white" space="ensp" decode="{{true}}">{{description}}</text>

2022-02-15 15:42:16 2042

原创 JavaScript 创建下载

/** * 生成下载 * @param {string} fileName 文件名 * @param {string} fileType 文件后缀名 * @param {string} content 文件内容 */makeDownload(fileName, fileType, content) { var pom = document.createElement('a'); pom.setAttribute('href', 'data:text/plain;charset=u

2021-10-09 15:04:57 297

原创 正则表达式笔记

获取文件名需要注意:文件名的命名是以字母、数字或下划线组成的\w*(?=\.(png|jpg|jpeg|mp3))获取文件名及后缀\w*\.(png|jpg|jpeg|mp3)

2021-09-25 10:55:02 107

原创 jQuery 获取页面地址参数

// 获取页面 url 参数$.getUrlParam = function (name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return null;}// 使用$.getUrlPar

2021-09-13 12:48:54 1001

原创 推荐音频转文字、字幕制作软件

字幕制作Beslyric这东东,除了可以制作字幕打点时间线,居然可以用来下载歌曲!音频转文字网易见外工作台https://jianwai.youdao.com/在线制作,完全免费,除了音频转文字,也可以自动转歌词(带有时间打点)...

2021-09-03 21:48:12 493

原创 配置 Koa 静态资源支持断点续传 Accept-Ranges 和 Content-Range

Koa 入门请访问:新一代 node.js web 开发框架 Koa 零基础入门学习笔记需求情景有一些内容作为静态资源,被其它程序访问,比如微信小程序。比较特殊的资源就是音频和视频,用户端通常不会一次全部下载完成后播放,都是边看边加载,这时我们就需要配置静态资源支持断点续传。微信小程序对不支持断点续传的音频文件,使用时有两个问题:不能顺利获取音频长度:InnerAudioContext.duration使用 InnerAudioContext.seek 跳转会失效Koa 服务器配置断点

2021-09-02 22:23:22 770

原创 JavaScript 计算相隔日期之间的天数、小时数、分钟数、秒数

// 起始日期到现在相差秒数let second = parseInt(new Date().getTime() / 1000) - parseInt(new Date('2021-08-4').getTime() / 1000)// 相差天数let day = parseInt(second / 60 / 60 / 24); // 相差小时let hour = parseInt(second / 60 / 60); // 相差分钟数let minutes = parseInt(second

2021-08-11 21:15:02 1756

原创 JavaScript 如何复制数组而不是引用

方法1const arr1 = ['a', 'b', 'c']const arr2 = arr1.concat()console.log(arr2) // ['a', 'b', 'c']arr2.push('d')console.log(arr1) // ['a', 'b', 'c']console.log(arr2) // ['a', 'b', 'c', 'd']方法2const arr1 = ['a', 'b', 'c']// 写法一const arr2 = [...a

2021-07-11 18:27:43 191

原创 微信小程序开发:动态预加载 swiper-item 中的图片(延迟加载)

在使用 swiper 时,有些场景需要一次载入的图片太多,消耗资源的同时也会影响用户体验。自己的解决方法是这样的:创建图片【地址数组】根据需要展示图片的总数创建一个空的数组,即用来页面绑定的【页面数组】初始化【页面数组】,为第 1、2 项赋值当向右滑动时,接着为【页面数组】的第 3 项赋值直到全部展示完毕如果用户提前离开,就能避免未展示项图片的加载。代码如下:<view class="s-page"> <swiper class="s-swiper"

2021-07-07 14:42:49 2432 1

原创 解决小程序搜索框输入时的闪动问题

解决思路:由于在用户不断输入的同时,会不断的触发搜索事件。所以设置一个定时器,延缓搜索的执行,等待用户停止输入的时候再进行查询。let timer = null// 搜索框searchContentChange: function (e) { let keyWords = e.detail.value ? e.detail.value : null let that = this // 清除,定时器 if (timer) { clearTimeout(t

2021-07-05 14:07:33 692

原创 mac os 禁用 Spotlight

聚焦功能禁用:sudo mdutil -a -i off如果需要再次使用,可以通过以下命令重新开启。sudo mdutil -a -i on

2021-07-02 16:02:29 2210

原创 Node.js 使用 got.stream 下载文件

got 是 node.js 完成 HPPT request 的模块。要对 API 完成一次请求非常简单:const got = require("got");got(url) .then(response => console.log(response.body)) .catch(error => console.log(error.response.body));下载文件可以使用 got.stream 方法,或设置 got 请求参数 isStream: truegot.s

2021-06-13 10:18:10 2189 2

原创 NodeJS stream.pipeline 读写文件那些事

Node 最简单的 stream 用法就像下边这样:const fs = require('fs')const zlib = require('zlib')fs.createReadStream(inputPath).pipe(zlib.createGzip()).pipe(fs.createWriteStream(outputPath))更好的方式是使用 stream.pipelineconst stream = require('stream')const util = requir

2021-06-10 17:42:07 788 1

原创 一个示例「run」清楚 JavaScript 的 async 和 await

看不少教程,也一直在用,就是云里雾里的。借鉴别人的一段代码,自己跑跑看,终于清爽很多。async 和 await 都一个修饰符,都是获取返回的 promise 内容。async 修饰的函数会返回一个 promise 对象await 放在调用返回值为 promise 对象的函数前使用await 关键字仅在 async 函数中有效。如果在 async 函数体外使用 await ,你只会得到一个语法错误。如果在循环中使用 await 语句,就要使用 for 循环,其它的如 each 中不起作用as

2021-06-09 20:00:18 144

原创 Node.js 初学者入门学习笔记

安装 Node.js使用 nvm 安装 Node.js,可以方便的管理 Node.js 版本并切换https://github.com/nvm-sh/nvmVS code 编辑器智能提示安装:cnpm install @types/node --save-dev安装成功之后,在使用 VS code 时就会有相关代码提示:创建第一个 Node.js 应用:// 文件 server.jsvar http = require("http");http.createServer( fu

2021-04-17 19:00:33 118

原创 Chrome Unable to add filesystem: <permission denied>

我是向在本地重写 CSS 的时候,添加本地文件夹,控制台提示:Chrome Unable to add filesystem: 如图:解决方法是在地址栏输入:chrome://inspect/#devices允许即可

2021-03-15 19:16:11 2508

原创 微信小程序云开发:云函数实现简单的路由

内容比较简单,直接上代码。使用很方便,免得安装依赖。// 云函数入口文件const cloud = require('wx-server-sdk')cloud.init()// 云函数入口函数exports.main = async (event, context) => { const wxContext = cloud.getWXContext() // 定义简单的路由 if (event.action && routeHelper[even

2021-03-06 13:23:11 506

转载 JS数组reduce()方法详解及应用技巧

目录1、语法2、实例解析 initialValue 参数2.1 例2.2 例3、reduce的简单用法4、reduce的高级用法4.1 计算数组中每个元素出现的次数4.2 数组去重4.3 将二维数组转化为一维4.4 将多维数组转化为一维4.5 对象里的属性求和reduce()方法可以搞定的东西,for循环,或者forEach方法有时候也可以搞定,那为啥要用reduce()?这个问题,之前我也想过,要说原因还真找不到,唯一能找到的是:通往成功的道路有很多,但是总有一条路是最捷径的,亦或许reduce()逼

2021-01-05 22:32:48 197

转载 JavaScript 判断对象属性是否存在(对象是否包含某个属性)

JS 判断对象属性是否存在,判断是否包含某个属性,是否为自身属性判断是否包含某对象我们知道访问对象属性有两种形式,如下:var obj = { name:'听风是风'};obj.name; //听风是风obj['name']; //听风是风那么马上有同学就想到用这两种形式判断对象是否包含某个属性,因为原型链上如果某个属性不存在就会返回undefined,比如:if(!obj.age){ console.log('obj没有age属性');}这么做行不行,行,但是存

2021-01-04 10:28:14 35466 2

GNU-make-cygwin-setup-x86_64.zip

如果你想在Windows上使用Linux上的环境和命令,比如make,那么使用cygwin-setup-x86_64会非常方便,缺什么就装什么!

2020-04-21

SQLite3 Tool and Browser3(含Windows和Mac)

谁去下载谁知道,那叫一个痛苦! 内容(含Windows和Mac): SQLite3和SQLite3 Browser

2020-02-09

CheatEngine(CE修改器)修改版本

CE修改器(Cheat Engine)一款专门修改内存、修改编辑游戏的工具,它包括16进制编辑,反汇编程序,内存查找工具。修改软件的倒计时 O_<

2020-02-03

cheate3_135967.dmg

Cheat Engine 修改版本,用于解决官方 Cheat Engine 6.2 在mac新系统中无法正常安装的问题

2019-10-13

WinSetupFromUSB U盘安装系统 0.2.3 最新版

节省光驱,使用U盘制作安装系统! 方便,快捷,安全!

2010-11-14

多附件批量上传,很好的代码

通过点击按钮,动态添加游览按钮,实现批量上传!

2009-04-24

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

TA关注的人

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