12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- '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;
|