89 lines
3.5 KiB
C#
89 lines
3.5 KiB
C#
|
|
using APT.Infrastructure.Api;
|
|||
|
|
using APT.Infrastructure.Api.Redis;
|
|||
|
|
using APT.Infrastructure.Core;
|
|||
|
|
using APT.PF.WebApi.Models;
|
|||
|
|
using APT.Utility;
|
|||
|
|
using Microsoft.AspNetCore.Mvc;
|
|||
|
|
using System;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using System.DrawingCore.Imaging;
|
|||
|
|
using System.IO;
|
|||
|
|
namespace APT.UT.WebApiControllers.Api.UT
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 验证码
|
|||
|
|
/// </summary>
|
|||
|
|
[Route("api/UT/VerificationCode")]
|
|||
|
|
public partial class VerificationCodeController :CommonApiController
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 数字验证码
|
|||
|
|
/// </summary>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
[HttpGet, Route("Number")]
|
|||
|
|
public FileContentResult NumberVerifyCode(string random)
|
|||
|
|
{
|
|||
|
|
string code = VerifyCodeHelper.GetSingleObj().CreateVerifyCode(VerifyCodeHelper.VerifyCodeType.NumberVerifyCode);
|
|||
|
|
byte[] codeImage = VerifyCodeHelper.GetSingleObj().CreateByteByImgVerifyCode(code, 100, 40);
|
|||
|
|
//var redisManage = ServiceLocator.Instance.GetService<RedisManager>();
|
|||
|
|
CsRedisManager.StringSet(SessionKey.VERIFY_CODE + random, code,300);
|
|||
|
|
return File(codeImage, @"image/jpeg");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 手机验证码
|
|||
|
|
/// </summary>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
[HttpGet, Route("PhoneVerifyCode")]
|
|||
|
|
public JsonActionResult<bool> PhoneNumberVerifyCode(string uid,string random)
|
|||
|
|
{
|
|||
|
|
return SafeExecute<bool>(() =>
|
|||
|
|
{
|
|||
|
|
string code = VerifyCodeHelper.GetSingleObj().CreateVerifyCode(VerifyCodeHelper.VerifyCodeType.NumberVerifyCode, 6);
|
|||
|
|
Dictionary<string, string> dicNCode = new Dictionary<string, string>();
|
|||
|
|
dicNCode.Add("time", DateTime.Now.AddSeconds(120).ToString());
|
|||
|
|
dicNCode.Add("code", code);
|
|||
|
|
//var redisManage = ServiceLocator.Instance.GetService<RedisManager>();
|
|||
|
|
CsRedisManager.StringSet(SessionKey.VERIFY_MESSAGE_CODE + uid, dicNCode);
|
|||
|
|
return true;
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 字母验证码
|
|||
|
|
/// </summary>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
[HttpGet, Route("Abc")]
|
|||
|
|
public FileContentResult AbcVerifyCode(string random)
|
|||
|
|
{
|
|||
|
|
string code = VerifyCodeHelper.GetSingleObj().CreateVerifyCode(VerifyCodeHelper.VerifyCodeType.AbcVerifyCode);
|
|||
|
|
var bitmap = VerifyCodeHelper.GetSingleObj().CreateBitmapByImgVerifyCode(code, 100, 40);
|
|||
|
|
//var redisManage = ServiceLocator.Instance.GetService<RedisManager>();
|
|||
|
|
CsRedisManager.StringSet(SessionKey.VERIFY_CODE + random, code);
|
|||
|
|
MemoryStream stream = new MemoryStream();
|
|||
|
|
bitmap.Save(stream, ImageFormat.Png);
|
|||
|
|
return File(stream.ToArray(), "image/png");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 混合验证码
|
|||
|
|
/// </summary>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
[HttpGet, Route("Mix")]
|
|||
|
|
public FileContentResult MixVerifyCode(string random)
|
|||
|
|
{
|
|||
|
|
string code = VerifyCodeHelper.GetSingleObj().CreateVerifyCode(VerifyCodeHelper.VerifyCodeType.MixVerifyCode);
|
|||
|
|
var bitmap = VerifyCodeHelper.GetSingleObj().CreateBitmapByImgVerifyCode(code, 100, 40);
|
|||
|
|
//var redisManage = ServiceLocator.Instance.GetService<RedisManager>();
|
|||
|
|
CsRedisManager.StringSet(SessionKey.VERIFY_CODE + random, code);
|
|||
|
|
MemoryStream stream = new MemoryStream();
|
|||
|
|
bitmap.Save(stream, ImageFormat.Gif);
|
|||
|
|
return File(stream.ToArray(), "image/gif");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|