'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(); // const { ctx, app } = this; // // 目标链接 吉林省人事考试网第一页 // const targetUrl = 'http://www.jlzkb.com/cms/root/ksbmList.vm?dir=L-iAg-ivleaKpeWQjS_kuovkuJrljZXkvY3mi5vogZjogIPor5U&page=1&rows=8'; // const columnTitle = '吉林省事业单位招聘'; // // 查看是否有这个栏目,没有则创建一个 // let column = await this.service.column.model.find({ news_type: '0', title: columnTitle }); // if (column.length === 0) { // column = await this.service.column.model.create({ site: '99991', news_type: '0', title: columnTitle, type: '', parent_id: '', parent: '', is_use: '' }); // } // await this.service.tool.creeper(targetUrl, column); // // console.log(column.length); // ctx.body = { errcode: 1, errmsg: 'error', data: column }; } } module.exports = VerifyController;