自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

劲枫的博客

疯狂打码中~

  • 博客(177)
  • 资源 (14)
  • 收藏
  • 关注

原创 element-admin后台根据权限生成权限菜单,前端动态生成路由

前言:通过vue-admin-template创建的项目中并没有与权限配置相关的文件和代码,需要手动去vue-emement-admin拷贝部分代码拷贝开始1、对比模板代码就知道Vuex文件管理的文件夹store下面很多内容有更改,所以直接复制过来,权限文件主要是permission,但是在getters和user里面也添加了内容2、然后左侧菜单是动态加载的,需要在菜单pag...

2019-05-29 22:36:01 14373 5

原创 信息摘要算法:HMAC算法分析

1、HMAC概述HMAC算法首先它是基于信息摘要算法的。目前主要集合了MD和SHA两大系列消息摘要算法。其中MD系列的算法有HmacMD2、HmacMD4、HmacMD5三种算法;SHA系列的算法有HmacSHA1、HmacSHA224、HmacSHA256、HmacSHA384、HmacSHA512五种算法。HMAC算法除了需要信息摘要算法外,还需要一个密钥。HMAC的密钥可以是任何长度...

2019-05-14 19:46:23 2766

原创 服务器通过pm2和nginx启动vue项目

1、niginx配置cd /etc/nginx/conf.dvim invoiceadmin-8081.conf2、关于vue项目通过nginx部署远程服务器访问显示Invalid Host header问题通过在webpack.dev.conf下添加disableHostCheck: true3、使用pm管理进程pm2 start npm -- run de...

2019-05-10 22:18:36 1445

原创 JS对象数组通过属性值(value)找到属性名(key)

var arr = { 1267: '成都大学附属医院', 1272: '成都军区机关医院', 1206: '成都市第二人民医院', 1256: '成都市第六人民医院',}function findKey(obj, value, compare = (a, b) => a === b) { return Object.keys(obj).find(k => ...

2019-05-06 14:03:09 13266 6

原创 关于mpvue使用Vant组件库的Field输入框组件自动唤起手机软键盘问题分析

前言:问题场景:需要在本页面点击一个div,动态show一个遮罩层,遮罩层里面有一个输入框,输入框使用Vant的Field组件写的。过程中并没有页面跳转。(本问题场景出现在mpvue中,在vue、H5等其他场景同样可以借鉴。)解决方法:在template里面引入对应组件(本文用的Vant,可以用原生Input,或者其他组件)在data()里面设置聚焦初始为false...

2019-05-04 02:19:11 11356 2

原创 mpvue中使用vuex爬坑过程

1、辅助函数不能使用vuex的辅助函数有mapState、mapGetters、mapMutations、mapActions。我们在子组件经常用到很多状态量,为了避免过分的使用this.$store.state.xxx、this.$store.dispatch导致的冗余问题,我们用辅助函数来使代码变得简洁易读,它就相当于语法糖似的,实际上还会映射为this.$store.xxx。在一...

2019-05-02 22:20:57 1841

原创 NodeJS总的module.exports、require和ES6中的export、import

目录NodeJS,require时代的模块ES6中的模块化export和importexport导出模块接口import导入模块as关键字default关键字*符号该用require还是import?ES6标准发布后,module成为标准,标准的使用是以export指令导出接口,以import引入模块,但是在我们一贯的node模块中,我们采用的是CommonJS...

2019-04-30 17:00:04 1548 1

原创 PHPStorm、WebStorm下格式化代码,微信小程序rpx出现空格问题

格式化出现空格问题,通过sed命令来处理,//windows系统sed -i s/"\ rpx"/rpx/g $FilePath$ //MacOS系统sed -i "" s/"\ rpx"/rpx/g $FilePath$windows需要下载sed软件windows系统下配置如下图所示Mac系统配置如下...

2019-04-30 01:34:37 2874 3

原创 Nginx反向代理&&Node服务器部署发布流程

目录一、生产环境所需要素二、域名三、远程登录服务器1、windows用户可以下载putty、xshell等工具2、使用zsh配置登录别名3、添加用户,不再用root登陆4、实现无密码登陆(重点)5、端口安全性6、关闭root方式登陆7、配置iptables8、安装Fail2Ban四、搭建node生产环境1、首先更新源2、安装包文件3、安装...

2019-04-24 03:15:27 2919

原创 windows下Git详细安装教程&&环境配置教程&&配置公私钥上传码云和github

1、下载git进入git官网选择对应版本2、详细安装过程step1:Please read the following important information before continuing(继续之前,请阅读以下重要信息)Step 2 Select Destination Location(选择安装位置)Step 3 Select Componen...

2019-04-23 17:59:03 2519

原创 微信小程序授权腾讯云

前言:如果之前没有授权过腾讯云,现在在开发者工具页面已经没有腾讯云选项,只有一个腾讯位置服务。在开发者工具里面也没有腾讯云按钮(我这是己经授权才出现的,之前并没有)但是目前的项目并不想使用云开发,因为小程序上传的数据需要外部web项目使用,所以我现在想使用wafer2解决方案就需要先授权腾讯云,将腾讯云按钮调出来。下面介绍如何使用官方已经放弃了的wafer2方案:1、授...

2019-04-09 18:24:17 3302

原创 Object.keys()遍历对象

Object.keys()方法的运用与数组遍历Object.keys()用于获得由对象属性名组成的数组,可与数组遍历相结合使用,用起来效果杠杠滴。数组遍历可以用for()或forEach()来实现,forEach()方法是ECMAScript5定义的遍历数组的一个新方法,按照索引的顺序挨个传递给定义的函数;接下来就Object.keys()分别结合for()和forEach()使用进行运用,用...

2019-04-06 12:50:23 7737

原创 Promise中通过.then第二个回调和通过.catch获取reject()方法解析

一、reject后的东西,一定会进入then中的第二个回调,如果then中没有写第二个回调,则进入catch var p1=new Promise((resolve,rej) => { console.log('没有resolve') //throw new Error('手动返回错误') rej('失败了') }) p1.then(data =>...

2019-03-24 18:09:47 8314 2

原创 Promise语法和回调函数基本格式

一、回调函数案例一function add(a,b,callback) { var total = a+b; if(typeof(a)=='number'){ callback&callback(total)//if callback{callback(total)}短路运算符 }else ( callback("不是数字") )}a...

2019-03-24 17:15:36 1371

原创 在没有QQ、微信时局域网共享文件方法

1、首先开启共享2、将要共享文件的电脑做同样操作查看局域网下电脑点击要访问的电脑输入该电脑的账号密码进行登录。3、选择要共享的文件和访问权限在要共享文件的电脑选择要共享的文件右键-授予访问权限-家庭组然后选特定用户-everyone即可。之后就是在这个文件里面添加要共享得内容,然后去另外一台电脑就可以获取到。...

2019-03-13 12:54:52 1717

原创 采用js实现轮盘赌算法

function RWS(selectionProbability) { var sum = 0; var rand = Math.random(); for (var i = 0; i < selectionProbability.length; i++) { sum += selectionProbability[i]; if (...

2019-02-27 19:10:32 1470

原创 position:fixed的top:0与bottom:0配合的妙用

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><div cla

2019-02-08 18:16:40 3771

原创 【VUE音乐播放器】获取QQ音乐播放源地址

前言:在学习慕课网课程制作企业级音乐app中,发现之前的qq音乐播放地址均不可用了。于是折腾了一下,重新抓包获取地址。 1、获取分类歌单里面的歌曲列表在之前的代码里,如下红色圆中的歌单-歌曲列表显示不出来,因为之前qq音乐改变了源地址,现在只能通过node来做接入层转发一下。原来获取歌单列表的代码:发现不能获取了,如果发现报错Uncaught ReferenceError:...

2019-02-01 15:06:46 7874 27

原创 apply()和call()的区别及应用

一直都没太明白apply()与call()的具体使用原理,今日闲来无事,决定好好研究一番。JavaScript中的每一个Function对象都有一个apply()方法和一个call()方法,它们的语法分别为:/* apply()方法 */function.apply(thisObj[, argArray])function.call(thisObj[, arg1[, arg2[, ...

2019-01-29 13:54:19 420

原创 PHPStorm配置ESlint检查代码

1、首先启动ESLint,这样编辑器就可以直接提示哪里有问题2、ALT+Ctrl+L是PHPstorm自带的快速格式化的缩进量,我们需要配置eslint格式化快捷键。如图添加快捷键ALT+L即可,以后就可以用Alt+L格式化成符合eslint规则的格式代码。...

2019-01-27 16:33:15 5469

原创 vue中使用H5的audio

H5audio标签有许多事件 在应用到vue中后的使用如下:比如在使用onplay时,要去掉on,用@play派发时间,在methods中定义方法执行体<template> <div> <audio src="../../static/1.mp3" @play="ready" @pause="pause" controls&g..

2019-01-27 15:26:43 5620

原创 CSS3简单实现360deg旋转

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><style> .stage{

2019-01-27 13:37:46 2774

原创 利用解构赋值快速提取对象参数

var arr = { a:1, b:{ b1:11, b2:22, }, c:3}var {b} = arrconsole.log(b);//{ b1: 11, b2: 22 }var arr = { a:1, b:{ b1:11, b2:22, }, ...

2019-01-25 16:23:40 1597

原创 ES5和ES6中的类定义区别

ES6中的类只是语法糖,它并没有改变类实现的本质。举个例子,在ES5中定义一个类:function Person(name) {    this.name = name;}Person.prototype.sayHello = function(){    return 'Hi, I am ' + this.name;}而用ES6的写法重写一下,检测类型发现Perso...

2019-01-22 19:59:55 2955 1

原创 vue中无缝轮播简单实现

<template> <div> <div class="slider-stage"> <ul ref='sli' class="slider"> <li> <img src="stat

2019-01-21 13:17:07 5635 1

原创 Promise简单实践

demo1 // 这个 get 是 callback 方式的 API // 可以使用 Promise 来解决这个问题 function get(url, callback) { var oReq = new XMLHttpRequest() // 当请求加载成功之后要调用指定的函数 oReq.onload = funct...

2019-01-20 13:19:39 341

原创 【笔记】vue实现音乐播放器

1、eslintrc.js中添加符合编辑器的规则,参照这里2、在build/webpack.base.conf.js中找到resolve设置别名,方便在引用路径的时候使用3、安装依赖:babel-runtime(转移es6语法),fastclick(消除移动端300ms点击延迟),babel-polyfill(可以用es6的api)4、npm install jsonp再封装成pr...

2019-01-17 17:15:51 2287

原创 webpack-dev-server的热更新问题

webpack配置如下 目前dist下面的bundle.js是webpack打包的,但是热更新所引用的bundle.js虽然名字一样,但是并不是看到的那个bundle.js,而是在当前路径下不可见的一个bundle.js下面实验,证明index.html引用的不是可见的bundle.js可以看到index.html下面没有bundle.js但是引用成功了 说...

2019-01-09 13:29:54 2458

原创 【VUE】金额格式化工具

currency.js const digitsRE = /(\d{3})(?=\d)/gexport function currency (value, currency, decimals) { value = parseFloat(value) if (!isFinite(value) || (!value && value !== 0)) return '...

2018-12-26 14:46:14 4002

原创 node.express+vue+mongoDB+adminMongo启动日志

1、vuenpm run devhttp://localhost:8080/2、express安装express项目生成器npm install express-generator -g生成项目express server方式一:启动项目node bin/www方式二:如果在PHPstrom中可以直接启动方式三:pm2安装:npm ins...

2018-12-21 11:25:05 388

原创 module.exports---require案例export--import案例

module.exports---require案例//config.jsmodule.exports = { userName:'zhangdan', say:function () { return 'hello'; }}exports.userName = "tom";exports.say = function () { r...

2018-12-20 16:19:45 854

原创 linux卸载apache安装nginx

sudo service apache2 stopupdate-rc.d -f apache2 removesudo apt-get remove apache2sudo apt-get updatesudo apt-get install nginxnginx流量拆分、端口映射、静态资源代理

2018-12-18 19:59:54 2152

原创 用nrm一键切换npm源

当使用官方npm源安装各种包比较慢的时候,建议修改npm源地址查看npm源地址,在终端输入以下命令npm config list会看到官方的npm源metrics-registry = "https://registry.npmjs.org/"国内常用的镜像地址如淘宝npm:https://registry.npm.taobao.org/修改registry地址很简单,在...

2018-12-17 15:03:12 399

原创 PHPstorm开启node.js代码提示

2018-11-29 19:47:25 3281

原创 node版本控制工具nvm在linux、win10下的安装使用

一、nvm的安装和使用  nvm全称Node Version Manager是 Nodejs 版本管理器,它让我们能方便的对 Nodejs 的版 本进行切换。 nvm 的官方版本只支持 Linux 和 Mac。contos下一键安装即可curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install....

2018-11-29 16:37:05 2166

原创 mysql多表查询(两张独立表,一张关系表)

首先建立表如下:1、查询目标:查出地址为“成都”的所有教师名字  2、使用连接查询,显示所有教师的信息对应的课程信息,语句如下:意思是,先将teacher表和teacher_address表连接,在将连接后的表与address表连接 可以这样理解先查询所有得到的表如下再select选择想要的字段 ...

2018-11-28 18:04:41 3795

原创 Js中克隆对象,Js中Sleep休眠

//克隆一function cloneObj(obj) { var str, newobj = obj.constructor === Array ? [] : {}; if (typeof obj !== 'object') { return; } else if (window.JSON) {//mpvue不行就用JSON str =...

2018-11-22 15:03:25 294

原创 Chorme浏览器中for循环里面console.log打印二维数组,展开后数据全部一样,出现value below was evaluated just now问题

前言之前在做蚁群算法研究时,遇到数据爆炸,想打印查看js数据极限点,于是设置迭代次数为5,预期是每次迭代就打印一次信息数矩阵,5次迭代打印5组不同的二维数组,好来查看每次循环中信息素的变化情况。但是console.log出来的所有数据是一样的,点击右上角的感叹号,出现Value below was evaluated just now。与预期不符。(说明:开始猜想for循环打印的东西都一样...

2018-11-22 14:59:02 13448 1

原创 phpstorm操作数据库建立外键

前言总觉得手写sql没有提示很不方便,终于找到PHPstorm中操作数据库的方法,记录如下正文 创建两张表 如果要设置SET NULL,那么久必须允许为null,不能勾选not null...

2018-11-22 00:50:04 793

原创 Navicat添加外键详细操作

前言用Navicat为mysql数据库的两个表之间建立外键关系,出现“cannot add foreign key constraint”错误,操作了很久不知道怎么回事,发现竟然是。。。。正文想要建立class表与student表之间的外键连接,class为父表,student为子表打开student的设计表。  如果c_id不允许为空则当,选择删除时--&...

2018-11-22 00:41:59 64583 6

node-sass和sass-loader下载.zip

直接下载node-sass和sass-loader下载,然后拷贝到node-modules下即可,再次npm install就不会报错了

2020-02-18

tornado项目模板

一个用tornado写项目,包含基本的目录结构,对数据库的基本操作,对模板的基本操作,可仿造这个项目搭建自己的项目

2018-04-28

全国各高校学科、专业的json数据

通过网络爬虫爬取的某高考网站里面的学科专业的数据,有一级学科,二级学科,三级具体专业,我已经处理成json格式,方便直接做三级联动效果,我也已经用这个数据实现了三级联动

2018-04-24

liveReload for mac

LiveReload for mac是一款跨平台的软件,在 OS X、Windows 以及 Linux 下都能使用。运行LiveReload for mac后载入网站源代码所在的文件夹,这样它就会开始识别。

2018-05-21

php操作kafka的扩展包php-rdkafka

php操作kafka的扩展包,php直接操作kafka所必须安装的扩展

2018-08-27

js实现三级联动选择大学专业

三级联动实现选择全国专业效果,数据来源于scrapy爬取的某高考网站,内含数据文件。采用了JavaScript的重载功能

2018-04-24

php操作kafka的扩展包librdkafka

php操作kafka的扩展包librdkafka,在使用kafka的时候必须先安装librdkafka

2018-08-27

js需要的通过省选学校数据

js通过省选择学校需要的全部数据,数据格式为json,提供我csdn里面“Jquery+Bootstrap通过省选择学校”一文中的数据

2018-04-24

nvm安装node

已经配置好的nvm文件!

2018-09-20

node版本控制nvm

node版本控制工具nvm的安装包!

2018-09-20

nvm_setup1.1.7

2019/04/29 最近因工作需要学习node.js技术,使用nvm能更好的管理node版本,此版本为1.1.7版本

2019-04-29

移动端适配+响应式开发参考代码

设计稿的宽度:designWidth 允许自适应的最大宽度(超过这个值屏幕元素不在自适应增大):maxWidth 页面顶部加上:<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" > 这段js的传入两个参数:一个为设计稿实际宽度,一个为显示的最大宽度(允许的屏幕最大宽度,用来限制屏幕过大之后元素还会自适应增大的) 例如设计稿为750,最大宽度为600,则为(750,600),屏幕大于600之后就不会自适应变大了,也相当于在用@media属性时min-width只设置到了600,没有后面的屏幕尺寸,就不会再变化了 公式:1rem = 浏览器屏幕宽(width) * 100 / 设计稿宽(designWidth) (750,750)含义1rem = clientWidth * 100 / 750 (750,2160)含义1rem = clientWidth * 100 / 750 clientWidth是动态获取的 后

2018-06-26

vue中vuex模板

一个简单的自用的vuex模板,定义好了层级目录关系store(actions,getters,mutation-types,mutations,state,index)

2019-05-02

菜单显隐切换终极版

包含一个基本的菜单显隐切换和一个我具体项目中用到的完整样式版本

2018-05-21

空空如也

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

TA关注的人

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