'use strict'; const Controller = require('egg').Controller; const stringRandom = require('string-random'); class VerifyController extends Controller { async index() { const { ctx } = this; ctx.body = { errcode: 0, errmsg: 'ok', data: { id: '1', name: '222' } }; } // 生成验证码并存入到redis中 async verify() { const { ctx, app } = this; const captcha = await this.service.tool.captcha(); // 服务里面的方法 ctx.response.type = 'image/svg+xml'; // 返回的类型 await app.redis.set('randomcodeimg' + ctx.query.code, captcha.text.toLowerCase(), 'Ex', '1800'); // ctx.body = captcha.data; // 返回一张图片 this.ctx.ok({ data: captcha.data }); } // 验证验证码是否正确 async check_verify() { const { ctx, app } = this; const body = ctx.request.body; const code_id = body.code_id; const randomcode = await app.redis.get('randomcodeimg' + code_id); if (body.code.toLowerCase() === randomcode) { ctx.ok({ data: [] }); } else { ctx.body = { errcode: 1, errmsg: 'error', data: [] }; } } // 发送短信验证码 async sendmessage() { const { ctx, app } = this; const randomstr = stringRandom(6, { letters: false }); await this.service.tool.sendmessage(ctx, app, randomstr); // 服务里面的方法 await app.redis.set('randomcodephone' + ctx.query.mobile, randomstr, 'Ex', '1800'); ctx.ok({ data: [] }); } // 验证短信验证码 async check_message() { const { ctx, app } = this; const body = ctx.request.body; const mobile = body.mobile; const randomcode = await app.redis.get('randomcodephone' + mobile); if (body.code === randomcode) { ctx.ok({ data: [] }); } else { await app.redis.set('randomcodephone' + mobile, randomcode, 'Ex', '1500'); ctx.body = { errcode: 1, errmsg: 'error', data: [] }; } } async creeper() { // this.service.creeperjlsy.creeper();// 吉林省事业招聘 this.service.creeperjljs.creeper();// 吉林省教师招聘 } } module.exports = VerifyController;