自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 PM2 ecosystem 服务器自动化部署

一:准备工作1.1 :将项目上传至代码管理库(github,gitlab,bitbucket,等)1.2 :Windows 和 服务器 都安装SSH,Git 工具。二:开始2.1 本地生成ssh key连接服务器//根据邮箱生成ssh keyssh-keygen -t rsa -C "..........@163.com"//仔细看注释//1.如果生成过一次ssh key,就别一路回车了。中间有一步是需要确认覆盖ssh key的。2.2 将本地id_rsa.pub里面的内

2020-07-30 17:46:33 43

原创 crontab+Shell 定时切割服务器日志

一:编译Shell脚本切割任务。1.1在任意地方创建一个sh脚本文件。(以service.sh为例)sudo touch service.sh1.2编辑脚本任务#!/bin/bash# 第一行必须是 #!/bin/bash 开头。#!/bin/bashecho "日志开始切割"echo $(date -d "yesterday" +"%Y")-$(date -d "yesterday" +"%m")-$(date -d "yesterday" +"%d") $(date -

2020-07-29 17:19:42 39

原创 SSH Tunneling (SSH隧道)远程连接服务器

由于工作原因,总是要连接到各种不能直接访问的环境,所以大部分环境必须要使用ssh隧道进行访问。理解:本质上就是端口转发。它能够将其他 TCP 端口的网络数据通过 SSH 链接来转发,并且自动提供了相应的加密及解密服务。这一过程也被叫做“隧道”(tunneling),这是因为 SSH 为其他 TCP 链接提供了一个安全的通道来进行传输而得名。SSH 端口转发能够提供两大功能:1.加密 SSH Client 端至 SSH Server 端之间的通讯数据。2.突破防火墙的限制完成一些之前无法建立的

2020-07-17 14:38:32 69

原创 Node.js 搭建邮件发送服务

在日常的登录,注册中经常会使用到邮件服务,这里记录一个邮件发送服务。以163为例第一步:下载依赖npm install nodemailer --save第二步:去163网站获取邮件授权码。第三步:配置configuration文件。module.exports = { Email: { service: '163', //邮箱 163 secureConnection: true, //是否使用了ssl证书验证 user

2020-06-01 15:06:09 136

原创 WebSocket消息推送接收-(微仿滴滴打车业务场景)-(node.js-Vue.js)

年终结尾最后一次更新,在不写一次估计年前就没机会再写了(保证一月一次)。突然想起之前一个朋友问起实时订单推送如何实现。在年尾没啥事自己也比较感兴趣,简单实现了一下。1.开始准备工作就不写了哈~,直接梭。安装websocket依赖库。//安装 websocket依赖npm install websocket //安装 hashMap依赖npm install hashmap2...

2020-01-16 14:58:49 303

原创 微信小程序:高德API-PoI地址搜索

在开始开发前有几步必要步骤:1.进入高德地图API官网,登陆,开发支持-微信小程序SDK,控制台,应用管理,创建开发需要的key。注意:服务平台,必须是微信小程序。key用于什么开发就创建什么平台Key。2.下载 amap-wx.js开发包,https://lbs.amap.com/api/wx/download3.登录微信公众平台,在 "设置"->"开发设置" 中设置 requ...

2018-08-23 16:53:18 1406 6

原创 微信小程序:高德API之定位。

在开始开发前有几步必要步骤:1.进入高德地图API官网,登陆,开发支持-微信小程序SDK,控制台,应用管理,创建开发需要的key。注意:服务平台,必须是微信小程序。key用于什么开发就创建什么平台Key。2.下载 amap-wx.js开发包,https://lbs.amap.com/api/wx/download3.登录微信公众平台,在 "设置"->"开发设置" 中设置 requ...

2018-08-23 15:52:22 2007 2

原创 微信小程序:登陆获取用户信息,包括维护3rdSession。(Node.js-Koa)

前两三个月最常见的问题就是登陆模块的问题了。自己也改了好几次登陆的问题,从普通登陆,一直改到维护3rdSession。(token)普通登陆:用户数据包括appid,secret全部暴露在外,相对来说不安全。上前台代码块:wxml<button open-type='getUserInfo' lang='zh_CN' bindgetuserinfo='onGetUserIn...

2018-08-22 15:41:20 2152

原创 微信小程序:wx.request请求封装工具类

修改过的封装请求:header: {'Content-Type': 'application/json'}, 防止参数中敏感字符丢失的问题header: {'Content-Type': 'application/x-www-form-urlencoded'},function Requests(url, data) { return new Promise((resolv...

2018-07-04 14:55:41 1666

原创 PayPal支付开发之退款处理(node.js---Koa2)

应该也有人跟我一样拿回调的PaymentID去退款的。然后就报错。找不到订单。第一步:获取saleid,这个是支付成功之后在execute方法里返回的参数。(payment.transactions[0].related_resources[0].sale.id)业务层:async function MerchantsArefund_PayPal(ctx) { var saleid = ctx.request.body.PayerID //退款ID var data = {

2020-06-30 15:20:19 65

原创 Vue:加入百度地图经纬度选取。(Ant design pro vue)

需求描述:1.使用百度地图选取地理经纬度位置,结合mongodb 2d索引检索距离。2.可手动输入经纬度地址,和唤起地图选取。3.根据用户信息把用户经纬度传给百度地图组件,回显坐标。4.把获取的经纬度地址截取成数组让mongodb识别。var locations = this.storeLocation.split(',')StoreLocation = [Number(locations[0]), Number(locations[1])]准备工作:申请百度地图开放平台Key(

2020-05-30 15:28:43 208

原创 Vue:文件上传(原生)

UI框架不满足使用场景。需要点击头像上传头像!H5部分<van-cell-group> <input type="file" id="updateAvatar" style="display: none" multiple @change="handleFile"/> <div style="display: flex; height: 50px; margin-top: 10px;" @click="selectAvatar"> &.

2020-05-16 09:58:00 152

原创 JS:获取时间格式utils工具包。

1:生成普通时间格式数据.//生成时间格式function getTime() { var date = new Date(); var seperator1 = "-"; var seperator2 = ":"; var month = date.getMonth() + 1; var strDate = date.getDate(); ...

2020-04-18 10:14:24 65

原创 MongoDB:连接用户名密码校验

今天服务器被黑了,估计是服务器端口27017端口开放导致mongodb被劫持(服务器一切正常只有数据库被黑,原有库消失,多出来一个劫持让我支付比特币的通告库),测试数据库直接消失。还好是准备上线之前跑线上环境测试库,不然就要跑路了。(开放27017端口是因为需要使用工具查看数据源,并修改)解决方案:1.使用用户名密码权限连接校验。修改mongod.conf配置文件//打开...

2020-04-15 17:42:19 74

原创 Ubuntu 18.04服务器安装MongoDB

1.导入包管理系统使用的公钥。wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -执行此命令,如果收到的是OK就是正常的。但是,如果收到指示gnupg未安装的错误,则可以://如果反馈不是OK 则执行这步sudo apt-get install gnupg //在执行...

2020-03-28 14:46:56 106

原创 node.js爬取目标网站数据。(cheerio-Koa2)

最近受疫情影响迟迟不能复工,在家时与朋友寒暄聊到最近在做什么对方说起了爬虫这个东西,加上自己一时兴起,花了2个多小时简单研究了一下,简单入个门。在此记录一下。1.开发环境,所需依赖库。//搭建koa2 脚手架npm install -g koa-generator//新建项目koa2 -e ReptileDemo//安装基础依赖库cd ReptileDemonpm insta...

2020-03-24 18:04:59 102

原创 Mongodb设置数据过期自动删除

1.今天要做一个验证码一样的东西,让用户通过校验。下面这段是设置以createTime为过期时间的索引,意思就是一条数据以其中createTime的字段时间为准,超过该字段时间将这条数据删除。{expireAfterSeconds:0} 设置为0 时间一到立马删除。{ expireAfterSeconds: 60*2 } 设置延时秒,以设置的延时秒为准,到时间以设置的延时为基准删除数...

2019-12-20 11:38:07 54

原创 PayPal支付开发(Vue.js -- node.jsKoa2)

补充一下:想选择Paypal做支付的,慎选,由于网络服务器网速原因访问部分网站网速极其的慢,他的支付网站还设置timeout过时,导致跳转到他的支付页 资源都没全部拉取下来就timeout掉了。有段时间情况好一点,有段时间完全不能访问!注:找了个韩国的VPN网络测速正常。可能跟国内外网络封锁有很大关系!开发者中心地址:https://developer.paypal.com/develop...

2019-11-26 16:23:45 706

原创 Node.js(Koa2)图片上传--Nginx配置访问代理服务

注意:mychen.vip 是我的域名,这里配置各自的域名或是IP地址配置http接口访问服务:/** * 文件上传 */router.post('/upload', FileImplementation.fileUpload);/** * 文件删除 */router.post('/DeleteFile', FileImplementation.DeleteFile);...

2019-10-24 13:50:50 166

原创 MongoDB4.2安装及启动

时隔4个月更新,由于需要使用到4.2版本的分布式事务特性。需要将MongoDB重装。过程中遇到很多坑,记录一下。避免下次再踩坑,同时帮助一下其他人。MongoDB版本4.2:下载地址 (Windows下载msi)测试环境Windows7 / 64安装路径 D:\MongoDB下载完成之后,安装,选择Custom安装,选择安装路径。之后一路nextfinish。安...

2019-09-16 15:11:31 4297

原创 MongoDB分片集群命令

#添加分片db.runCommand( {addshard : "shardWlinkRep1/127.0.0.1:37017,127.0.0.1:37017,127.0.0.1:37017",name:"shard1"} )#删除分片db.runCommand( { removeShard : "shard2"} )(1)如果balance开始,查看是否正在有数据...

2019-05-30 09:31:45 233

原创 MongoDB集群搭建详细过程!

一:环境1.服务器操作系统:ubuntu16.042.mongodb版本:mongdb3.6.12 (注意:MongoDB版本可能跟配置文件有一些细节差异,需自行调节,下面会详细指明)二:开始安装MongoDB。第一步 - 安装公钥Ubuntu软件包管理器apt(高级软件包工具)需要软件分销商的GPG密钥来确保软件包的一致性和真实性。 运行此命令将MongoDB密钥导入到您的...

2019-05-28 18:20:43 369

原创 MongoDB集群(Mongodb集群如何工作)

使用分片优势:MongoDB自带了一个叫做Mongos的专有路由进程,mongos就是掌握统一路口的路由器,它会将客户端发来的请求准确无误的路由到集群中的一个或者一组服务器上,同时会把接收到的响应拼装起来发回到客户端。 MongoDB通过多种途径来确保集群的可用性和可靠性,将MongoDB的分片和复制功能结合使用,在确保数据分片到多台服务器的同时,也确保了每份数据都有相应的备份,这样就可以确...

2019-05-28 10:21:07 157

原创 webapp商城:实现购物车模块(Vue+Aant)

此文,只涉及视图层面。业务数据自信设计。效果图:注:金额计算,全选,取消单个商品移除此金额Code:<template> <div> <div v-show="!data" style=" width: 100%; border: 0px solid black;" align="center"> <img ...

2019-03-23 16:04:54 314

原创 Vue:Tag标签选中(类型选择,分类选择)

使用三元表达式为类选择器给值。当变量active被点击赋值时则,引用active样式。无点击使用Classification样式。往往就是简单的操作,就把自己玩懵逼了!写半天报找不到Classification,还在想诶?Classification不是变量啊。一脸懵逼。最后发现'active':'Classification'。没加''。(日常自己坑自己)效果图:<...

2019-03-19 17:46:01 5545

原创 Android:webview取消滚动条

webView.setHorizontalScrollBarEnabled(false);//水平不显示webView.setVerticalScrollBarEnabled(false); //垂直不显示​​​​​​​

2019-03-05 15:44:23 703

原创 关于Vue打包过后样式丢失的问题!

给丢失样式前后加上:/*! autoprefixer: off*/ -webkit-box-orient:vertical;/* autoprefixer: on */即可

2019-03-05 09:18:36 2660 4

原创 MongoDB $lookup联表查询

入手MongoDB第一天,发现跟关系型数据库差别也不算太大。比较有意思的是$lookup联表查询。自己总结了一下,比较土,但是易于理解。(好多资料都是直接复制官方文档原话。){$lookup: { from:'products', //关联你需要查询的表2 localField:'product_id', //指定表1中的一个关...

2019-02-13 11:22:06 1096 1

原创 Vuex:生命周期

vuex中,第一次打开页面,刷新都会进行初始化,他是一个响应式数据驱动源。例如:state:{ data:'abc' }。父级页面改变这个值时,在引用的子级页面同时发生改变,并且改变之后不受路由跳转的影响而进行初始化。只会受页面第一次加载,刷新,Windows.location.href的影响而进入初始化!...

2019-01-07 17:50:10 2500 1

转载 浅谈12306核心模型设计思路和架构设计(转载)

前言春节期间,无意中看到一篇文章,文章中讲到12306的业务复杂度远远比淘宝天猫这种电商网站要复杂。后来自己想想,也确实如此。所以,很想挑战一下12306这个系统的核心领域模型的设计。一般的电商网站,购买都是基于商品的概念,每个商品有一定量的库存,用户的购买行为是针对商品的。当用户发起购买行为时,系统只需要生成订单并对用户要购买的商品减库存即可。但是,12306就不是那么简单了,具体复杂在哪里...

2019-01-05 15:39:16 202

原创 关于Ant Design Pro Vue引入Viser图表不响应或超出的问题!

问题1:Viser在响应式布局中,会导致图表超出的问题,或者跟随导航栏伸缩导致图表过窄或过长。可能出现的原因!1.由于图表是Canvas画布,在他加载时只确定栅格布局的宽度,当导航栏再次伸缩,就出超出,溢出。解决办法:先render其他父级标签,确定父级宽高,在图表外层包裹的DIV上加v-if ,先让栅格布局加载完成,使用nextTick方法调用状态再让他显示出来!<templ...

2019-01-03 16:17:03 1430

原创 Vue:嵌套路由[子级路由]--(个人理解)

描述一下:由于之前一直使用Vue都是配置单页面,导致只需要路由跳转就可以了。而今天做跳转时,一头懵。每次都是切换页面,导致我的导航栏每次都是初始化状态。还傻里傻气的每个子级都引用布局组件。(真他妈蠢,想想都醉了)在做单页面路由时,只需要配置一个跳转路由方式,name或者path (router-link,this.$router.push())等方式。而在非单页里面:其他内容保持一致,只需...

2018-12-27 14:17:11 421

原创 Vue:页面加载进度条

这段时间在踩Ant design pro Vue的坑,发现了个在手机端页面上经常出现的,加载进度条,效果蛮不错的!记录下来。 cnpm install --save nprogressimport NProgress from 'nprogress'import 'nprogress/nprogress.css'NProgress.configure({ showSpinn...

2018-12-25 14:19:15 2806 2

原创 Vue:i18n国际化语言加载

不废话,直接开始!第一步:cnpm install vue-i18n第二步:min.js中import VueI18n from 'vue-i18n'Vue.use(VueI18n)const i18n = new VueI18n({ locale: 'en', messages: { 'zh': require('@/assets/internatio...

2018-12-12 16:00:47 527 1

原创 Android-IOS :webview localStorage本地缓存

APP中嵌套H5时,很多H5原生态的功能会被默认屏蔽掉。类似于浏览器的无痕模式。所以在安卓中需要webview支持localStorage缓存就需要在安卓中设置 如下:webView.getSettings().setDomStorageEnabled(true);webView.getSettings().setAppCacheMaxSize(1024*1024*8);String...

2018-12-07 13:54:26 630

原创 Node.js --加密

关于Node.js接触最多的就是加密了吧!各种用户信息加密,请求加密权限。推荐两个比较好用的加密方式:1:crypto加密npm install cryptoconst crypto = import ('crypto')//MD5加密方式,解密密匙var encryption=crypto.createHmac("md5","bfc5bb571c9aedcae5cd9ee9e...

2018-12-01 09:35:14 192

原创 Vue :npm run build打包全家桶

enmmm~~第一个自己写的Vue项目快要上线了,踩坑太多。有点真实!直接开始:第一步:在build之前需要配置一下,进入Vue项目中的Config下的index.js文件打开。找到build代码块,找到assetsPublicPath,在未修改前assetsPublicPath:"/",需要把它修改为:assetsPublicPath:"./"。即可。(第一步解决了打包后访问路径的问题)...

2018-11-30 16:05:07 707

原创 Vue:页面缓存

在Vue中页面缓存是个特别好用的模块。当你的页面不需要实时更新时,进入页面他会把这个页面加载入内存中,减少了不必要的后台请求,减轻后台压力。上代码:App.vue<template> <div id="app"> <keep-alive> <router-view v-if="$route.meta.keepAlive"&gt...

2018-11-20 09:23:14 1097

原创 webview轮播图与Android滑动冲突的解决办法

在Android中我们经常需要左右滑动,其中内嵌的web页面也有滑动动作。轮播图举例:需要左右翻页时,会触发Android中的ViewPager导致翻页到另一个页面轮播图翻页翻不动,或失效。但是由于安卓是父,而Web是子。在Web中不论你做什么处理,都管不了父窗口的事情,所以需要Android做处理,而前端最好能给Android传递轮播图的位置,让这块区域的viewPager失效。上代码:...

2018-11-19 18:01:19 623

原创 Node.js处理 Access-Control-Allow-Origin (Vue)

第一步:安装cors库npm install koa2-cors  第二步:进入APP.JS文件const cors=require('koa2-cors')   //引入第三步:USEapp.use(cors());   如果遇到这样的情况:前台需要请求三方接口,请求时出现 Access-Control-Allow-Origin 或者 报错 被CORS拦截。...

2018-11-13 11:56:43 883

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