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 { /// /// 验证码 /// [Route("api/UT/VerificationCode")] public partial class VerificationCodeController :CommonApiController { /// /// 数字验证码 /// /// [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(); CsRedisManager.StringSet(SessionKey.VERIFY_CODE + random, code,300); return File(codeImage, @"image/jpeg"); } /// /// 手机验证码 /// /// [HttpGet, Route("PhoneVerifyCode")] public JsonActionResult PhoneNumberVerifyCode(string uid,string random) { return SafeExecute(() => { string code = VerifyCodeHelper.GetSingleObj().CreateVerifyCode(VerifyCodeHelper.VerifyCodeType.NumberVerifyCode, 6); Dictionary dicNCode = new Dictionary(); dicNCode.Add("time", DateTime.Now.AddSeconds(120).ToString()); dicNCode.Add("code", code); //var redisManage = ServiceLocator.Instance.GetService(); CsRedisManager.StringSet(SessionKey.VERIFY_MESSAGE_CODE + uid, dicNCode); return true; }); } /// /// 字母验证码 /// /// [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(); CsRedisManager.StringSet(SessionKey.VERIFY_CODE + random, code); MemoryStream stream = new MemoryStream(); bitmap.Save(stream, ImageFormat.Png); return File(stream.ToArray(), "image/png"); } /// /// 混合验证码 /// /// [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(); CsRedisManager.StringSet(SessionKey.VERIFY_CODE + random, code); MemoryStream stream = new MemoryStream(); bitmap.Save(stream, ImageFormat.Gif); return File(stream.ToArray(), "image/gif"); } } }