nodejs系列:77.原生node之图形验证码-中

92 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第23天,点击查看活动详情

系列介绍

该系列主要是介绍一些nodejs相关的基础知识,没有什么特别难的知识点,都是一些比较基础知识点。大家学习起来,也会比较容易理解和接收。

这些知识点,也是以前自己学习nodejs的时候,学习过的知识点。有些知识点,可能是由于学习的时间比较久了,也有可能是平时工作中用到的机会比较少,也差不多快把它们都忘记掉了。现在把它们都写下来,写成文章,一方面是记录下自己以前学习的nodejs知识点,一方面也是复习巩固自己以前学习的nodejs知识点。不要学着学着,就把以前的知识点都忘光了。

环境安装

实现之前,你首先需要安装nodejs环境。因为我们写的代码需要在node环境上运行,如果你没有,那么文件会运行不了。

以下是nodejs的安装地址,如果你没有安装的话,可以先把它安装上。安装了可以忽略这一步,跳到下面一步。

nodejs安装

前言

在上一篇文章里nodejs系列:76.原生node之图形验证码-上,主要是完成了客户端页面代码

接下来,我们将继续完成服务器端代码。

示例

创建文件

创建一个index.js文件,我们的服务器端代码,将在这个文件里完成。

引入http模块
const http = require("http");
const server = http.createServer();

引入http模块,调用http的createServer方法, 创建服务器实例对象

安装svg-captcha

node里做图形验证码的图形库有很多,这里,我使用的图形库是svg-captcha

要使用svg-captcha图形库,需要先安装图形库

npm install svg-captcha
引入svg-captcha
const svgCaptcha = require("svg-captcha");
使用svg-captcha
server.on("request", (req, res) => {
  if (req.url == "/image") {
    const verification = svgCaptcha.create({
      size: 4,
      background: "#eee",
    });
    res.end(verification);
  }
});

使用服务器实例对象server,监听请求事件。判断请求的url为/image时,返回图形验证码。

这里,使用svgCaptcha的create方法,创建一个图片出来。

介绍一下我们使用到的create方法的配置参数:

  • size:图片里可以出现多少个字数(包括字母和数字)
  • background:图片的背景颜色

svgCaptcha的create方法的配置参数还有很多,可以自己查询svg-captcha仓库的说明文档,来了解更多参数的详细情况以及用法。

监听端口
server.listen(3000, () => {
  console.log("服务器启动了");
});

小结

本小节,主要是完成了示例里要用到的服务器端代码逻辑,为后续的前后端联调做好准备工作。

最后,放上自己比较喜欢的一句诗句:

千淘万漉虽辛苦,吹尽狂沙始到金 - 唐 刘禹锡《浪淘沙》