egg-captchas

1.0.18 • Public • Published

egg-captchas

NPM version build status Test coverage David deps Known Vulnerabilities npm download

验证码生成插件,包括:

  • 图片验证码
  • 图片滑动验证码
  • 文字点击验证码

依赖说明

依赖的 egg 版本

egg-captchas 版本 egg 1.x
1.x 😁
0.x

依赖的插件

  • redis 滑块信息缓存

注意 滑块验证码信息缓存时,redis必须开启agent: true,在 agent worker 中连接 redis;因为滑块生成在 agent worker 中

详细配置

请到 config/config.default.js 查看详细配置项说明。

使用说明

图片验证码

// 图片验证码挂载在全局 app 对象上

// 获取验证码
// {String} value 生成的验证码字符串值,应用自己保存到session,用于校验
// {jpegStream} image 生成的验证码图片流
const { value, image } = app.imageCaptcha.generate([options]) // options可以覆盖config配置

// 保存到session,并返回图片
ctx.session.set('image-captcha', value)
ctx.body = image
ctx.set('Cache-Control', 'no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0')
ctx.type = 'image/jpeg'

滑块验证码

// 滑块验证码挂载在全局 app 对象上

// 获取验证码
// {Boolean} success 获取是否成功
// {String} message [option] 错误信息
// {Object} data [option] 验证码信息
// {Number} data.index      获取的滑块图片次序(滑块图片是应用启动时随机生成并进行缓存,通过index来进行校验)
// {String} data.bgImage    背景图片名称(无具体路径,应用自己拼接图片URL)
// {String} data.blockImage 滑块图片名称(无具体路径,应用自己拼接图片URL)
const { success, data, message } = await app.slideCaptcha.get()

// 校验验证码
// {Number} index     滑块图片次序
// {Number} offset    移动偏移量
// {Boolean} success  校验是否成功
// {String} message   失败原因
const { success, message } = await app.slideCaptcha.check(index, offset)

提问交流

请到 egg issues 异步交流。

License

MIT

Package Sidebar

Install

npm i egg-captchas

Weekly Downloads

19

Version

1.0.18

License

MIT

Unpacked Size

29.5 kB

Total Files

12

Last publish

Collaborators

  • chb.wang