自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

狼丶宇先生的网络科技空间

开发过程中的笔记和经验分享,文章仅供参考,有不足的地方,请留言指出。qq群:46153838

原创 js/node aes128cbc加解密

1.安装 crypto 模块npm i crypto --save 2. 封装AES128加解密工具类 aes-util.jsimport crypto from 'crypto';const KEY = '21c081ba60f49b07';const IV = 'c4c64d8a21c081ba';/** * 加密方法 * @param data 需要加密的数据 * @param key 加密key * @param iv 向量 * @returns st

2020-08-07 13:55:01

原创 js/javascript获取时间戳的5种方法

1.获取时间戳精确到秒,13位const timestamp = Date.parse(new Date());console.log(timestamp);//输出 1591669256000 13位2.获取时间戳精确到豪秒,13位const timestamp = Math.round(new Date());console.log(timestamp);//输出 1591669961203 13位3.获取时间戳精确到豪秒,13位const timestamp =

2020-06-09 10:59:25 58

原创 解决 vue.draggable 拖拽 点击事件失效无效与拖拽事件冲突的问题

draggable 是个非常不错,而且很方便的拖拽组件,但是你在项目中可能会遇到被包裹的拖拽元素对象的点击事件失效的问题,事件冲突了.先看代码示例,再看解决思路及方法.1. 被拖拽组件的父组件 Warp.vue<template> <draggable v-model="sendData.template" class="app-form-items" @change="handleDraggableFormItemChange"> <t.

2020-05-21 18:23:31 868

原创 vue-editor2 上传图片的坑 @imageAdded 自定义图片上传的时候  @imageAdded 不触发,无效

vue中的富文本编辑器,vue2-editor, 使用use-custom-image-handler 自定义图片上传的时候 @imageAdded 不触发,无效;<!--@imageAdded="handleImageAdded"这里不要使用驼峰,否则不太好使-->要用@image-added="handleImageAdded" 才行...<template> <vue-editor v-model="editorVal...

2020-05-14 18:38:43 344 4

原创 [Vue warn]: Duplicate keys detected: 'true'. This may cause an update error. found in xxx vue 报错

vue中报错[Vue warn]: Duplicate keys detected: 'true'. This may cause an update error.found in xxx可能是的你绑定的key重复了.

2020-05-13 11:11:40 107

转载 分享一个简洁、有趣的无限下拉方案(转载文章)

本文主旨长列表渲染、无限下拉也算是前端开发老生常谈的问题之一了,本文将介绍一种简洁、巧妙、高效的方式来实现。话不多说,看下图,也许你可以发现什么?不知你是否从上面这张图中注意到了什么,比如只是渲染了可视区域的部分 DOM ,滚动过程中只是外层容器的 padding 在改变?前一点很好理解,我们考虑到性能,不可能将一个长列表(甚至是一个无限下拉列表)的所有列表元素都进行渲染;而...

2020-04-30 13:43:40 99

转载 (转载)全面梳理JS引擎的运行机制,从浏览器多进程到JS单线程,JS运行机制最全面的一次梳理

此文章全文均为转载:原文链接:https://juejin.im/post/5a6547d0f265da3e283a1df7前言见解有限,如有描述不当之处,请帮忙及时指出,如有错误,会及时修正。———-超长文+多图预警,需要花费不少时间。———-如果看完本文后,还对进程线程傻傻分不清,不清楚浏览器多进程、浏览器内核多线程、JS单线程、JS运行机制的区别。那么请回复我,一...

2020-04-03 10:35:41 53

原创 vue分页插件nuxt分页算法js支持url跳转分页和ajax参数分页

在vue或者nuxt的项目里可能会用到的分页插件.url分页效果是通过跳转url的形式来传递页面参数,或者url?page=1等的方法,下面是源码部分,别的需要的自行修改即可.AppPager.vue<template> <ul class="app-pagination"> <template v-if="type == ...

2020-03-31 12:57:05 487 2

原创 分享一个好用开源的数据库建模软件工具 pdman

官网地址:http://www.pdman.cn/数据库建模极简易用数据库建模过程精细提炼,化繁为简,省去不必要的操作,只留下最需要的,直截了当的展现给用户。自带案例自带参考案例,以耳熟能详的[学生信息管理]为原型参考,让用户能够快速了解PDMan。...

2020-03-29 20:06:51 208

原创 亲测在vue 3.x中自动引入全局less变量

vue项目开发过程中,每次都引入一次全局变量觉得很麻烦,接下来就可以解决你的麻烦了.首先我们要用到一个工具style-resources-loader执行这个命令安装.npm i style-resources-loader --save-dev然后在vue.config.js中配置const path = require('path');/** * 自动引入全局...

2020-03-26 17:58:36 186

原创 手把手教github授权登录 nodejs koa第三方授权登录
原力计划

可能在你开发的一个网站有这样的一个需求,实现GitHub第三方登录,废话不多说我们先看看具体流程:1.第一步去注册一个github的账号并登录,注册的步骤就省略了,直接往下看登录后点击头像的箭头,然后就会看到以下的一个下拉菜单,然后点击Settings2.第二步点击Developer settings3.第三步 点击OAuth Apps4.第四步点击New...

2020-03-25 15:21:17 350

原创 分享一个nodejs中koa操作redis的工具类 基于 ioredis

分享一个node 操作redis的工具类 基于ioredisredis.jsconst config = require(':config/server.base.config');const { getUCMd5 } = require(':lib/Utils'); //getUCMd5 的实现 MD5(`${str}${config.saltMD5}`).toUpperCas...

2020-03-13 08:47:24 212

原创 解决nodejs koa express以及vue,nuxt项目中使用别名映射vscode不提示的问题,兼容webpack的@和best-require 的:xxx 别名映射,sequelize没提示

nodejs中使用别名映射,兼容webpack的@和best-require 的:xxx 别名映射安装库 best-require 进行别名映射npm i best-require --save映射别名. 实例在本项目中 server/index.js 中const path = require('path');const ROOT_PATH = process.cwd()...

2019-11-30 00:09:30 385

原创 js根据文件的大小,选择合适的单位显示, js格式化文件单位显示,js计算文件字节大小

在做文件管理系统的时候,后台可能只会保存文件的最小字节单位,但是在前端显示的时候,为了方便易读,所以需要根据文件的大小,选择合适的单位显示,存储的计量单位与单位之间的进制一般为 1024,所以只需要一直除就可以计算了.代码如下/** * 格式化文件大小 * @param {*} value */ formatFileSize(size) { ...

2019-11-21 17:30:10 323

原创 vue中使用Alipayer,播放rtmp,m3u8,mp4视频, vue-alipayer-v2.

这是一个基于Alipayer 开发并封装于vue的播放器由于项目需要接入rtmp协议的直播流,用于实时监控,看了网上的几个开源播放器,最后选择了阿里云的开源播放器,Alipayer,但是Alipayer是cdn加载的,且没得一个正式的vue版本,最后还是选择了自己手写吧.废话不多说,直接上代码,如下:项目地址:https://github.com/langyuxiansheng/vue-...

2019-11-14 18:31:13 977 4

原创 sign-canvas 一个基于canvas开发,封装于Vue组件的通用手写签名板(电子签名板),支持pc端和移动端;

写在前面 :在项目的开发过程中可能会涉及到手写签名(电子签名)那些,在前端的思路是使用canvas 来签名,导出成图片进行保存。此轮子是继https://blog.csdn.net/qq_33270001/article/details/81809535之后,用于vue项目中,为了方便自己与众人和复用而开发;相比以前:1. 增加npm 包一件安装并使用,2. 增加v-mode...

2019-11-01 13:55:23 2006 11

原创 nodejs koa2 + koa-body开发文件上传服务(图片,视频,音频....)

代码所在的项目:https://github.com/langyuxiansheng/biu-server-admin已开源在用node开发后端服务的时候,可能会用到fs文件系统.我这里用的koa2+ koa-body做的文件上传服务.废话不多说.直接上源码, 主逻辑在FilesService.js中,代码部分提供思路仅供参考.config里的配置,主要是代码中有staticPath...

2019-09-27 14:25:18 1136

原创 web前端javascript播放H.264/MJPEG视频/支持双码流

最近遇到调试本地的车牌识别相机,需要解码视频编码H.264/MJPEG/支持双码流2格式的视频,解析方法如下<!DOCTYPE html><html lang="en"><head> <meta charset="utf-8" /> <title>WebSocket Test</title> <me...

2019-08-28 17:38:12 566

原创 vue 报错: [Vue warn]: Error in nextTick: "RangeError: Maximum call stack size exceeded" 很可能是你的name错了

当你的vue项目中出现这种报错的时候,页面肯定是显示不出来,找了半天,似乎也没发现有循环引用的呀 为啥会报内存溢出呢?vue.runtime.esm.js?2b0e:619 [Vue warn]: Error in nextTick: "RangeError: Maximum call stack size exceeded"warn @ vue.runtime.esm.js?2b0e:...

2019-08-16 14:34:33 8625

转载 koa框架会用也会写—(koa-view、koa-static)

Koa中常用的中间件:koa-session:让无状态的http拥有状态,基于cookie实现的后台保存信息的session koa-mysql:封装了需要用到的SQL语句 koa-mysql-session:当不想让session存储到内存,而想让session存储到mysql数据库中时使用 koa-router:后台会接受到各种请求的url,路由会根据不同的url来使用不同的处理逻辑...

2019-07-19 08:54:21 71

转载 Node.js 内存管理和 V8 垃圾回收机制

作者:五月君 链接:https://www.imooc.com/article/288799 来源:首发慕课网本文已获作者 "五月君"授权转载,原文首发于"慕课网",可以点击原文查看。对于 Node.js 服务端研发的同学来说,关于垃圾回收、内存释放这块不需要向 C/C++ 的同学那样在创建一个对象之后还需要手动创建一个 delete/free 这样的一个操作进行 GC(垃圾回收), ...

2019-07-10 09:21:06 428

原创 一款基于vue开发的简单图片滑块验证码

有部分项目里会出现这样的一个功能:github:https://github.com/langyuxiansheng/slider-verification-code对的,就是滑块验证码.我做了一个比较简单的,在网上看了一些轮子,居然不是完全适用的,然后借鉴了一部分,然后封装为vue的组件.废话不多说,直接上代码:直接安装使用npm i slider-veri...

2019-07-03 11:33:29 2382 24

原创 基于vue开发的,车牌输入专用键盘, vue车牌输入键盘,vue车牌输入 vue-license-keyboard

没办法,在项目中要求车牌输入的键盘要专门使用一个车牌输入的软键盘项目地址:https://github.com/langyuxiansheng/vue-license-keyboard最近重新写了里面的一部分属性,和方法,现在支持pc和移动端了.如果使用遇到了问题或者发现bug请留言.附上截图PC端展示:移动端展示:使用方法看这里npm i ...

2019-06-18 17:58:48 1116 14

原创 CenterOS linux 下node的安装以及环境配置 linux配置node环境 pm2 常用命令

linux node环境配置 (作者服务器系统为 CenterOS 7.6的版本)1. 使用官方安装包安装创建目录cd /optmkdir nodejscd nodejs2. 下载安装包wget https://nodejs.org/dist/v10.9.0/node-v10.9.0-linux-x64.tar.xz3. 解压安装包x...

2019-05-07 16:30:29 755

原创 vue axios 刷新token 刷新jwt js刷新token http刷新token

前言 在互联网的登陆系统中一般有session cookie 和 jwt token来进行验证用户是否登录的.下面来说一下关于 jwt的坑:1.首先登录成功的返回,其中jwt的有效期为2小时,refreshJwt的有效期为30天如下:2.保存jwt 和refreshJwt在cookie中,当然这里不一定要保存在cookie中,也可以保存在别的地方.这里以cookie为例子:3....

2019-04-23 17:27:58 2564 7

转载 转载 原文标题: NodeJs + koa2 + sequelize-auto + sequelize 搭建项目

1、使用脚手架初始化koa项目  1.1 下载脚手架 (cmd命令行) npm install -g koa-generator 1.2 在当前路径,使用koa-generator生成koa2项目(cmd命令行)koa2 koa-test-sequelize-auto1.3 进入koa-test-sequelize-auto目录(如果没有下载yarn的话,请全局下载...

2019-04-09 10:00:47 307

原创 vue element-ui el-upload组件 上传图片到阿里云OSS

阿里云那边的配置就先不说了.遇到跨域的问题看这里https://help.aliyun.com/document_detail/31870.html?spm=a2c4g.11186623.4.1.4fec49e8JjFWF9直接上代码.1.下载安装ali-ossnpm i ali-oss --save2. 新建一个文件aliyun.oss.client.js 如下...

2019-04-03 17:01:46 4520 19

原创 vuex打印的对象有值,但取用的时候没有值 为undefined

异步获取的对象,打印的时候可以看到有值,但是实际使用的时候是没有值的 ,原因是vuex的state未初始化定义.

2019-03-29 09:20:54 1884

转载 restful 风格常用http请求状态码

常用请求码使用场景,懒人直接看 200、400、401、403、404、500 就可以了。其中 2XX/3XX 其实都是请求成功,但是结果不同。4XX 是请求出错,5XX 是服务器处理出现错误。200这个最容易理解,就是正确的请求返回正确的结果,如果不想细分正确的请求结果都可以直接返回200。201表示资源被正确的创建。比如说,我们 POST 用户名、密码正确创建了一个用户...

2019-03-28 21:28:27 475

原创 前端知识整理:js一些常用的校验 js表单校验(一)

1.校验字符串是否有效(null/空串/undefined);/* * 校验字符串是否有效(null/空串/undefined) */ const isInvalid = (str) => { return str == null || str == "" || str == undefined;} 2.校验是否为纯数字/* * 校验是...

2019-03-17 22:19:55 258

原创 javascript 递归遍历所有的dom节点

<script>let iterator=(els,arr)=>{ arr=[] for (let { localName, innerText, children } of els){ let obj={localName, innerText, children:[]} if (children && chi...

2019-03-10 18:58:16 772

原创 前端基础面试题(一) 无答案 [此文章持续更新]

1.请指出JavaScript宿主对象和原生对象的区别?2.如何实现一个响应式的正方形?3. !!new Boolean(false) 返回什么?4.undefined == false?null==false?undefined==null? 为什么?5. 数组去重的方法有哪些?举个例子?用过Array.form(new Set())吗?用过请解释一下其原理...

2019-03-08 14:07:05 87

转载 Vue 3.0 ?

原文标题:"Vue 3.0对Web开发意味着什么?"18 年 11 月,尤雨溪向外宣布了 Vue 3.0 的关键更新。新版本所带来的优化让 Vue 更加高效、更加模块化且更加易于使用。这篇文章将讨论这些变化,以及我认为这些变化将在 Vue 3.0 发布后给 Web 开发世界带来哪些影响。Vue 的现状Vue 是“一个用于构建用户应用程序的渐进式框架”。它的设计非常灵活,可以将单个 Vu...

2019-02-26 11:44:52 777 1

转载 推荐45个2018年Vue开源项目

原文标题:"2018年最好的45个Vue开源项目汇总"在过去的一年里,我们比较了将近 12,000 个 Vue.js 开源项目和库,从中挑选了最好的 45 个(0.37%)。这些项目和库可以分为 3 类: 用户界面(1~19) Vue.js 工具(20~36) 项目(37~45) 这是一个非常好的清单,精心挑选了 2018 年 1 月至 12 月期间发布的最佳...

2019-02-26 11:25:57 219

转载 推荐一款好用的鉴黄神器NSFW JS

原文标题 "拯救尴尬:鉴黄神器NSFW JS开源了!"近日,GitHub 上开源了一款鉴定不雅内容的 js 库 NSFW JS,你可以使用 NSFW JS 识别不雅内容,所有操作都只在客户端进行,甚至都不需要让文件离开用户的电脑。演示地址:https://nsfwjs.com/项目地址:https://github.com/infinitered/nsfwjs你有没有过这样的经历,...

2019-02-26 10:58:40 1918

转载 原文:《2019 年编写现代 JavaScript 代码的5个小技巧》

1 Array.includes 与条件判断一般我们判断或用 ||// conditionfunction test(fruit) { if (fruit == "apple" || fruit == "strawberry") { console.log("red"); }}如果我们有更多水果function test(fruit) { const r...

2019-01-25 10:15:03 82

原创 封装一个 async / await 风格的 axios 模块拦截器,axios封装,http模块,ajax封装,微信小程序ajax封装,微信小程序请求拦截器封装

在新开始的前端项目里肯定会用到ajax请求,这里手把手的教你封装一个通用的全局http模块首先新建一个文件夹 作为一个"模块",如下:然后继续创建文件:index.js 如下:/** * 在这里导出你需要用到的api方法,apis里面的那些 */import apis from './wrapper';/* 这里是方便看业务模块里有哪些方法,除了就没啥用了var ...

2019-01-23 17:01:39 1164 1

原创 nuxt 设置路由的meta属性,nuxt 怎么设置路由的meta,nuxt 怎么设置router的meta

nuxt 官网说的 专注于UI的渲染,作者想试一下用来写后台管理的界面感觉何如,可以开启 spa模式,或者不改变,也会有不一样的体验哦.基于nuxt.js的管理后台项目,一个项目部署,可以一站式管理数据库和你的业务的增删改查操作,项目暂未完善,待完善后开源于github 一个问题,想了好多种办法,终于用了一个笨方法解决了这个问题如下所示: routes.js 如下:/**...

2019-01-12 20:35:22 4500 7

原创 在vue-cli3.0项目使用proxy跨域 vue项目使用proxy跨域

通过vue-cli3.x版本构建的项目使用proxy和以前的项目不同,而且3.x版本构建的时候可以选用typescript了。下面记录一下如何使用proxy跨域。首先在根目录创建vue.config.js文件,这个配置文件在运行项目的时候自动加载。 // vue.config.jsmodule.exports = { //webpack - dev - server 的配置项...

2018-12-28 17:25:34 1339

转载 JS对象添加getter与setter的5种方法

定义 getter 与 setter1.通过对象初始化器在创建对象的时候指明(也可以称为通过字面值创建对象时声明)(function () { var o = { a : 7, get b(){return this.a +1;},//通过 get,set的 b,c方法间接性修改 a 属性 set c(x){this.a = x/2} }; conso...

2018-12-21 16:05:18 695

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