javascript
狼丶宇先森
前端领域博主,Nodejs与Web前端及Flutter领域开发!尽微薄之力,让社会更美好!有朋自远方来,不亦乐乎
展开
-
记录一下reverse回文字符串的对比与二叉树的对比
记录一下reverse回文字符串的对比。原创 2022-08-10 16:58:07 · 481 阅读 · 0 评论 -
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 · 1375 阅读 · 0 评论 -
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 · 5952 阅读 · 3 评论 -
解决 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 · 24018 阅读 · 8 评论 -
分享一个简洁、有趣的无限下拉方案(转载文章)
本文主旨长列表渲染、无限下拉也算是前端开发老生常谈的问题之一了,本文将介绍一种简洁、巧妙、高效的方式来实现。话不多说,看下图,也许你可以发现什么?不知你是否从上面这张图中注意到了什么,比如只是渲染了可视区域的部分 DOM ,滚动过程中只是外层容器的 padding 在改变?前一点很好理解,我们考虑到性能,不可能将一个长列表(甚至是一个无限下拉列表)的所有列表元素都进行渲染;而...转载 2020-04-30 13:43:40 · 334 阅读 · 0 评论 -
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 · 2648 阅读 · 18 评论 -
原生js彩色星星喷射特效,canvas特效,超简单的原生js
<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title>原生js彩色星星喷射特效</title> </head> <style type="text/css"> * { padding: 0; margi...原创 2017-06-24 12:46:28 · 3930 阅读 · 3 评论 -
js根据文件的大小,选择合适的单位显示, js格式化文件单位显示,js计算文件字节大小
在做文件管理系统的时候,后台可能只会保存文件的最小字节单位,但是在前端显示的时候,为了方便易读,所以需要根据文件的大小,选择合适的单位显示,存储的计量单位与单位之间的进制一般为 1024,所以只需要一直除就可以计算了.代码如下/** * 格式化文件大小 * @param {*} value */ formatFileSize(size) { ...原创 2019-11-21 17:30:10 · 1595 阅读 · 0 评论 -
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 · 6910 阅读 · 16 评论 -
原文:《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 · 199 阅读 · 0 评论 -
封装一个 async / await 风格的 axios 模块拦截器,axios封装,http模块,ajax封装,微信小程序ajax封装,微信小程序请求拦截器封装
在新开始的前端项目里肯定会用到ajax请求,这里手把手的教你封装一个通用的全局http模块首先新建一个文件夹 作为一个"模块",如下:然后继续创建文件:index.js 如下:/** * 在这里导出你需要用到的api方法,apis里面的那些 */import apis from './wrapper';/* 这里是方便看业务模块里有哪些方法,除了就没啥用了var ...原创 2019-01-23 17:01:39 · 2205 阅读 · 1 评论 -
推荐一款好用的鉴黄神器NSFW JS
原文标题 "拯救尴尬:鉴黄神器NSFW JS开源了!"近日,GitHub 上开源了一款鉴定不雅内容的 js 库 NSFW JS,你可以使用 NSFW JS 识别不雅内容,所有操作都只在客户端进行,甚至都不需要让文件离开用户的电脑。演示地址:https://nsfwjs.com/项目地址:https://github.com/infinitered/nsfwjs你有没有过这样的经历,...转载 2019-02-26 10:58:40 · 11685 阅读 · 0 评论 -
vuex打印的对象有值,但取用的时候没有值 为undefined
异步获取的对象,打印的时候可以看到有值,但是实际使用的时候是没有值的 ,原因是vuex的state未初始化定义.原创 2019-03-29 09:20:54 · 8052 阅读 · 5 评论 -
nuxt 设置路由的meta属性,nuxt 怎么设置路由的meta,nuxt 怎么设置router的meta
nuxt 官网说的 专注于UI的渲染,作者想试一下用来写后台管理的界面感觉何如,可以开启 spa模式,或者不改变,也会有不一样的体验哦.基于nuxt.js的管理后台项目,一个项目部署,可以一站式管理数据库和你的业务的增删改查操作,项目暂未完善,待完善后开源于github 一个问题,想了好多种办法,终于用了一个笨方法解决了这个问题如下所示: routes.js 如下:/**...原创 2019-01-12 20:35:22 · 12307 阅读 · 11 评论 -
KOA2 + MongoDB 和 MySQL混用的项目 nodejs restful API框架
有时候因项目需要.在koa中需要使用多个数据库和多种数据库此以 MongoDB 和 MySQL为例 此项目中用到了2个MySQL 和 多个MongoDB,其中MongoDB的库名生成是由时间生成的如2018_11_09,这种采用动态库名链接的方式进行连接.具体的配置文档和接口文档在github上面github地址: https://github.com/langyuxianshe...原创 2018-11-09 10:52:06 · 1347 阅读 · 2 评论 -
在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 · 2252 阅读 · 0 评论 -
关于浏览器响应数据long型超长自动转换精度丢失的坑
同样的接口和响应数据 这里是浏览器响应的: 这是postman响应的: postman的id就是正确的..... 浏览器的返回数据的id就不对,浏览器将long型的id超出部分转换为00, 由于JavaScript中Number类型的自身原因,并不能完全表示Long型的数字,在Long长度大于17位时会出现精度丢失的问题。解决方法:让后端...原创 2018-09-28 17:09:00 · 9122 阅读 · 2 评论 -
vue.js 核心知识点(一)
此篇文件仅仅作为笔记分享,不用于其他用途!!! 看了许多关于vue的书籍和学习材料之类的,稍微做个总结吧先打开官网的首页:https://cn.vuejs.org/ 官网里说的是Vue 是渐进式框架的:渐进式含义:没有多做职责之外的事。 你可以在原有大系统的上面,把一两个组件改用它实现,当jQuery用; 也可以整个用它全家桶开发,当Angular用;...原创 2018-09-21 16:30:33 · 2014 阅读 · 0 评论 -
npm的镜像替换成淘宝
1.得到原本的镜像地址npm get registry > https://registry.npmjs.org/设成淘宝的npm config set registry http://registry.npm.taobao.org/ 2.换成原来的npm config set registry https://registry.npmjs.org/...原创 2018-09-21 14:21:19 · 192 阅读 · 0 评论 -
分享一个axios的通用配置
分享一个axios的通用配置在项目开发中,可能会用到这个/*** * Created by Simple on 2018/1/14 0014. * Http请求控制器模块 */import axios from 'axios';import store from '@/store/index';import types from '@/store/types';impor...原创 2018-09-21 14:19:09 · 1714 阅读 · 0 评论 -
推荐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 · 646 阅读 · 0 评论 -
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 · 1014 阅读 · 1 评论 -
浏览器内核检测 获取当前浏览器的内核
很多时候做兼容性的时候都要用到获取当前浏览器的版本和内核类型if (!browser.ie && !browser.mac) {var UA = navigator.userAgent.toLowerCase().toString();//判断是不是IE内核下的非IE版本if ((UA.indexOf('360ee') > -1) || (UA.indexOf('...原创 2018-08-18 15:10:29 · 4318 阅读 · 0 评论 -
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 · 3418 阅读 · 3 评论 -
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 · 239 阅读 · 0 评论 -
Node.js 内存管理和 V8 垃圾回收机制
作者:五月君 链接:https://www.imooc.com/article/288799 来源:首发慕课网本文已获作者 "五月君"授权转载,原文首发于"慕课网",可以点击原文查看。对于 Node.js 服务端研发的同学来说,关于垃圾回收、内存释放这块不需要向 C/C++ 的同学那样在创建一个对象之后还需要手动创建一个 delete/free 这样的一个操作进行 GC(垃圾回收), ...转载 2019-07-10 09:21:06 · 1151 阅读 · 0 评论 -
一款基于vue开发的简单图片滑块验证码
有部分项目里会出现这样的一个功能:github:https://github.com/langyuxiansheng/slider-verification-code对的,就是滑块验证码.我做了一个比较简单的,在网上看了一些轮子,居然不是完全适用的,然后借鉴了一部分,然后封装为vue的组件.废话不多说,直接上代码:直接安装使用npm i slider-veri...原创 2019-07-03 11:33:29 · 5207 阅读 · 30 评论 -
基于vue开发的,车牌输入专用键盘, vue车牌输入键盘,vue车牌输入 vue-license-keyboard
没办法,在项目中要求车牌输入的键盘要专门使用一个车牌输入的软键盘项目地址:https://github.com/langyuxiansheng/vue-license-keyboard最近重新写了里面的一部分属性,和方法,现在支持pc和移动端了.如果使用遇到了问题或者发现bug请留言.附上截图PC端展示:移动端展示:使用方法看这里npm i ...原创 2019-06-18 17:58:48 · 6262 阅读 · 19 评论 -
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 · 7945 阅读 · 18 评论 -
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 · 12320 阅读 · 31 评论 -
前端知识整理:js一些常用的校验 js表单校验(一)
1.校验字符串是否有效(null/空串/undefined);/* * 校验字符串是否有效(null/空串/undefined) */ const isInvalid = (str) => { return str == null || str == "" || str == undefined;} 2.校验是否为纯数字/* * 校验是...原创 2019-03-17 22:19:55 · 767 阅读 · 0 评论 -
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 · 1897 阅读 · 0 评论 -
文件图片转base64 原生js
在项目开发或者插件开发的时候需要将文件或者图片转成base64格式编码的.下面写了个小小的demo 可以参考一下如果bug请留言指出.<!DOCTYPE html><html><head> <meta charset="utf-8" /> <title>文件图片转base64</title&原创 2018-09-11 10:56:46 · 830 阅读 · 0 评论 -
jQuery插件开发的两种方法及$.fn.extend的详解
jQuery插件开发的两种方法及$.fn.extend的详解 jQuery插件开发的两种方法及$.fn.extend的详解.Query插件开发分为两种: 1 类级别 类级别你可以理解为拓展jquery类,最明显的例子是$.ajax(...),相当于静态方法。 开发扩展其方法时使用$.extend方法,即jQuery.extend(object); 复制...原创 2018-08-19 11:11:33 · 225 阅读 · 0 评论 -
常用的前端网页命名规范
前端网页命名规范 CSS样式命名 说明网页公共命名#wrapper 页面外围控制整体布局宽度#container或#content 容器,用于最外层#layout 布局#head, #header 页头部分#foot, #footer 页脚部分#nav 主导航#subnav 二级导航#menu 菜单#submenu 子菜单#sideBar 侧栏...原创 2018-08-19 11:10:39 · 1961 阅读 · 0 评论 -
原生js拖拽特效
饭后茶余.闲心之作 <!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title>JQuery UI</title> </head> <style type="text/css"原创 2018-08-20 16:25:12 · 356 阅读 · 0 评论 -
常用的时间类查询方法
所有时间类查询方法//获取当前时间function getNowTime(){ var dt = new Date(); var month = dt.getMonth()+1; var day = dt.getDate(); var time = dt.getHours() + ":" + dt.getMinutes() + ":" + dt.getSeconds(); r...原创 2018-08-20 16:24:12 · 346 阅读 · 0 评论 -
HTML5 Canvas爱心飘动动画特效 转载
<!doctype html> <html> <head> <title>HTML5 Canvas爱心飘动动画特效</title><meta charset="UTF-8"> </head> <body> <c原创 2018-08-21 10:53:28 · 7134 阅读 · 0 评论 -
原生js手机相册制作 原创
饭后茶余.写着玩的,适用于初学者做参考的<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,max原创 2018-08-21 10:53:45 · 814 阅读 · 0 评论 -
websocket 连接方法
WebSocket协议支持(在受控环境中运行不受信任的代码的)客户端与(选择加入该代码的通信的)远程主机之间进行全双工通信。用于此的安全模型是Web浏览器常用的基于原始的安全模式。 协议包括一个开放的握手以及随后的TCP层上的消息帧。 该技术的目标是为基于浏览器的、需要和服务器进行双向通信的(服务器不能依赖于打开多个HTTP连接(例如,使用XMLHttpRequest或<iframe>...原创 2018-08-21 10:53:21 · 1841 阅读 · 0 评论