verify.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. 'use strict';
  2. const Controller = require('egg').Controller;
  3. const stringRandom = require('string-random');
  4. class VerifyController extends Controller {
  5. async index() {
  6. const { ctx } = this;
  7. ctx.body = { errcode: 0, errmsg: 'ok', data: { id: '1', name: '222' } };
  8. }
  9. // 生成验证码并存入到redis中
  10. async verify() {
  11. const { ctx, app } = this;
  12. const captcha = await this.service.tool.captcha(); // 服务里面的方法
  13. ctx.response.type = 'image/svg+xml'; // 返回的类型
  14. await app.redis.set('randomcodeimg' + ctx.query.code, captcha.text.toLowerCase(), 'Ex', '1800');
  15. // ctx.body = captcha.data; // 返回一张图片
  16. this.ctx.ok({ data: captcha.data });
  17. }
  18. // 验证验证码是否正确
  19. async check_verify() {
  20. const { ctx, app } = this;
  21. const body = ctx.request.body;
  22. const code_id = body.code_id;
  23. const randomcode = await app.redis.get('randomcodeimg' + code_id);
  24. if (body.code.toLowerCase() === randomcode) {
  25. ctx.ok({ data: [] });
  26. } else {
  27. ctx.body = { errcode: 1, errmsg: 'error', data: [] };
  28. }
  29. }
  30. // 发送短信验证码
  31. async sendmessage() {
  32. const { ctx, app } = this;
  33. const randomstr = stringRandom(6, { letters: false });
  34. await this.service.tool.sendmessage(ctx, app, randomstr); // 服务里面的方法
  35. await app.redis.set('randomcodephone' + ctx.query.mobile, randomstr, 'Ex', '1800');
  36. ctx.ok({ data: [] });
  37. }
  38. // 验证短信验证码
  39. async check_message() {
  40. const { ctx, app } = this;
  41. const body = ctx.request.body;
  42. const mobile = body.mobile;
  43. const randomcode = await app.redis.get('randomcodephone' + mobile);
  44. if (body.code === randomcode) {
  45. ctx.ok({ data: [] });
  46. } else {
  47. await app.redis.set('randomcodephone' + mobile, randomcode, 'Ex', '1500');
  48. ctx.body = { errcode: 1, errmsg: 'error', data: [] };
  49. }
  50. }
  51. async creeper() {
  52. // this.service.creeperjlsy.creeper();// 吉林省事业招聘
  53. this.service.creeperjljs.creeper();// 吉林省教师招聘
  54. }
  55. }
  56. module.exports = VerifyController;