简单实现滑动滑块完成验证

偶尔会遇到PM提的需求,要加入滑动验证,但是不想使用付费的第三方验证,想就在前端实现滑块验证即可(zuozuoyangzi),
这一段时间遇到两次要求加滑动验证了,就整理一下构思和部分伪代码逻辑。

本例只是一个面子工程,不会牵扯到复杂的人机验证部分,所以如果需要考虑人机校验,还是推荐你选择靠谱的第三方行为验证,不要自己瞎折腾。

阅读全文

Caddy单域名部署Vue与Laravel项目

之前是想写一篇 Nginx 关于配置前后端项目公用一个域名笔记的,可是后来客户提供的是已经是由其它项目的服务器,他们是使用的 Caddy 作为 web 服务器,所以也就变成了这篇文章。

我对于服务器环境配置可以说是一无所知,勉勉强强完成这次的项目部署,各位将就看看…😖

阅读全文

记录单独配置内网路由和外网路由的办法

由于公司刚刚搬迁,本地服务器还没有连上网络,所以并不能在外网访问到公司的服务器,只能使用局域网访问到。
所以想连接手机热点来连外网,并且通过插网线来访问内网,想实现同时访问外网和内网的效果。

单独连热点或者单独连内网都是可以的,但是同时就不行了,会默认使用本地连接也就是插的网线来访问网络,所以只能从一下选择其中一个:

  1. 可以访问外网,但是不能访问内部服务器;
  2. 不可以访问内网,但可以使用内网服务器。

然而每次都要切换网络来完成需求,我觉得有点蠢,肯定有更加优雅的方式来实现的需求。

所以就记一下这个办法。

阅读全文

谈一谈 JavaScript 中的闭包

函数和对其周围状态(lexical environment,词法环境)的引用捆绑在一起构成闭包(closure)。也就是说,闭包可以让你从内部函数访问外部函数作用域。在 JavaScript 中,每当函数被创建,就会在函数生成时生成闭包。

先拿 MDN 上的一个简单的 🌰 来说:

1
2
3
4
5
6
7
8
function init() {
var name = "Mozilla"; // name 是一个被 init 创建的局部变量
function displayName() { // displayName() 是内部函数,一个闭包
alert(name); // 使用了父函数中声明的变量
}
displayName();
}
init();

init() 创建了一个局部变量 name 和一个名为 displayName() 的函数。
displayName() 是定义在 init() 里的内部函数(仅在 init() 函数体内可用),它没有自己的局部变量,
然而它可以访问到外部函数的变量,所以 displayName() 可以使用父函数 init() 中声明的变量 name

阅读全文

DigitalOcean向已经创建的Droplets实例添加SSH_key

这几天心态崩溃的有些厉害,几近一周没有写过代码了,今天实在感觉不能再颓下去了,就准备远程配置一下客户服务器的环境。

这次客户邀请我加入了他们 DigitalOcean 的 Team 中,但是他们不想提供 Droplet 实例 Root 密码, 看了一下控制台大概找到了一个添加 SSH_Key 登陆的地方,所以使用了 PuTTYGen 创建了一对 Key,但是添加之后使用 SSH 连接时提示我: 远程服务器拒绝此密钥,让我重新输入Root账户的密码。

大概找了一下国内的相关问题并没有找到解决的方法,Google 出来也差不多,基本都是添加 Key 之后,需要创建新的实例才可以使用新添加的 Key。
那我需要对 已经创建了的 Droplet 实例 添加 Key 怎么办呢?

相信大家在搜索该问题时已经添加好了自己的 SSH Key,具体添加创建 key 的过程我就不详述了,大家在官方 文档 中查找即可。

阅读全文

Jeecg-boot 中台挖坑日记12 自定义登陆界面

这次的项目需要在Jeecg-boot的基础上修改整一个的布局和样式,今天就把登陆界面的样式自定义举例。

Jeecg-boot 中台挖坑日记11 查询过滤器整理

如果不配置默认查询条件是全匹配,想实现模糊查询需求在查询值的前后加: *

Jeecg-boot支持不编码通过配置实现 模糊查询匹配查询范围查询不匹配查询 等规则,
但是页面查询字段,需跟后台 ControllerPage 的字段对应一致,就可以不需写后台代码自动生成查询条件SQL。

例如:想实现模糊查询需求在查询值的前后加: *

阅读全文

关于 ES6 Class 继承中 Constructor 的整理

今天在和小伙伴聊天时, 发现对于 ES6 中的 Class 继承的理解我其实还是只是一个模棱两可的状态, 其实也不只是 constructor 有问题其它的部分其实也有问题, 这次先写类的继承之后再看有没有其它没理解的地方

整篇文章搭配食用 阮一峰老师的 ECMAScript 6 入门 - Class的继承 更佳

Class 可以通过extends关键字实现继承,这比 ES5 的通过修改原型链实现继承,要清晰和方便很多。

阅读全文

「 ReactJS 笔记 」 L01 井字棋

学习新东西的时候只看肯定是不够的, 所以既然 ReactJS 官方提供了一个学习的案例, 那么就一边写Demo, 一边读文档.

Tips: 我是直接看案例然后按照自己的理解去写的, 并没有按照官方案例亦步亦趋, 所以可能流程会不一样.

井字棋这个 demo 主要分为两部分:

棋盘

  • 点击棋盘空白格子可以落子, 落子之后交换棋手.
  • 棋格已经落子 / 有棋手获胜时不可落子
阅读全文

「 ReactJS 笔记 」 L00 起步

Vue 3.0 Beta版本已经更新很久了,不出意外正式的 Release 应该如约在第三季度发布,然而我还没有开始学习 TypeScript 以及 Composition API,趁着这几天项目还没开始,就抓紧了解了一下 React

阅读全文