当前位置: 首页 > news >正文

铜仁网站网站建设网站开发个人感想

铜仁网站网站建设,网站开发个人感想,外国网站的浏览器下载,58同城泰安开发环境#xff1a;C##xff0c;VS2019#xff0c;.NET Core 3.1#xff0c;ASP.NET Core API 1、建立一个验证码控制器 新建两个方法Create和Check#xff0c;Create用于创建验证码#xff0c;Check用于验证它是否有效。 声明一个静态类变量存放列表#xff0c;列…开发环境C#VS2019.NET Core 3.1ASP.NET Core API 1、建立一个验证码控制器 新建两个方法Create和CheckCreate用于创建验证码Check用于验证它是否有效。 声明一个静态类变量存放列表列表中存放包含令牌和验证码的对象。 private static ListVCodeCalculateModel _list new ListVCodeCalculateModel();/// summary/// 返回一个图形验证码和令牌./// /summary/// returns/returns[HttpGet]public string Create(){VCodeCalculateModel model new VCodeCalculateModel();model.id Guid.NewGuid().ToString(); // 生成令牌var codes VCodeCalculateModel.GetVCode();var num1 codes.Item1;var num2 codes.Item2;var bool_operator codes.Item3;if (bool_operator){// 加法运算生成验证码model.code Convert.ToString(num1 num2);}else{// 减法运算生成验证码model.code Convert.ToString(num1 - num2);}_list.Add(model);// 返回对象VCodeCalculateController_Create_Receive result new VCodeCalculateController_Create_Receive();result.code 0;result.data new VCodeCalculateController_Create_Receive.Data();result.data.id model.id;var image VCodeCalculateModel.DrawImage(num1, num2, bool_operator);var base64 Utils.BitmapToBase64Str(image);result.data.img base64;var json JsonConvert.SerializeObject(result);return json;}/// summary/// 检查验证码是否有效/// /summary/// param nameid令牌./param/// param namecode验证码./param/// returns/returns[HttpGet]public string Check(string id, string code){try{var index _list.FindIndex(m {if (m.id.Equals(id) m.code.Equals(code)){return true;}return false;});ReceiveObject result new ReceiveObject();if (index 0){_list.RemoveAt(index);result.code 0;result.msg 验证成功;var json JsonConvert.SerializeObject(result);return json;}else{result.code 1;result.msg 验证失败;var json JsonConvert.SerializeObject(result);return json;}}catch (Exception ex){_logger.LogError(exception: ex, message: ex.Message);ReceiveObject result new ReceiveObject();result.code 999999;result.msg 系统异常;var json JsonConvert.SerializeObject(result);return json;}} 2、建立一个验证码模型 验证码模型类包括令牌和验证码属性。 再创建一个类存放Create方法返回的对象包括令牌验证码图片。 创建用于生成2个随机数和运算法的方法。 创建将2个随机数和运算法绘制成图片的方法。 /// summary/// 令牌./// /summarypublic string id { get; set; }/// summary/// 验证码./// /summarypublic string code { get; set; }/// summary/// 计算数字列表./// /summarystatic readonly int[] list new int[50]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11, 12, 13, 14, 15, 16, 17, 18, 19, 20,21, 22, 23, 24, 25, 26, 27, 28, 29, 30,31, 32, 33, 34, 35, 36, 37, 38, 39, 40,41, 42, 43, 44, 45, 46, 47, 48, 49, 50,};/// summary/// 获取随机验证码./// /summary/// returnsitem1 - 第一个数字item2 - 第二个数字item3 - 运算符true - 加法 false - 减法/returnspublic static Tupleint, int, bool GetVCode(){Random random new Random();var index random.Next(0, list.Length);int num1 list[index];var index2 random.Next(0, list.Length);int num2 list[index2];bool bool_operator random.Next(0, 2) 1 ? true : false;return new Tupleint, int, bool(num1, num2, bool_operator);}/// summary/// 绘制验证码的图片./// /summary/// param namecode/param/// returns/returnspublic static Bitmap DrawImage(int num1, int num2, bool isAdd){Color[] list_color {Color.FromArgb(240, 230, 140), // 黄褐色亮Color.FromArgb(138, 54, 15), // 黄褐色暗Color.FromArgb(51, 161, 201), // 蓝色亮Color.FromArgb(25, 25, 112), // 蓝色暗Color.FromArgb(192, 192, 192), // 灰白亮Color.FromArgb(128, 128, 105), // 灰白暗};Random random new Random();// 创建画板Bitmap bitmap new Bitmap(150, 50);// 创建画笔Graphics grp Graphics.FromImage(bitmap);grp.Clear(Color.White); // 设置背景色为白色// 绘制噪点for (int i 0; i random.Next(60, 80); i){int x random.Next(bitmap.Width);int y random.Next(bitmap.Height);grp.DrawLine(new Pen(Color.LightGray, 1), x, y, x 1, y);}// 绘制随机的线条grp.DrawLine(new Pen(list_color[random.Next(list_color.Length)], random.Next(3)),new Point(random.Next(bitmap.Width / 2), random.Next(bitmap.Height / 2)),new Point(bitmap.Width / 2 random.Next(bitmap.Width / 2), bitmap.Height / 2 random.Next(bitmap.Height / 2)));// 绘制验证码string code string.Format({0}{1}{2}, num1, isAdd ? : -, num2);for (int i 0; i code.Length; i){var item code[i];grp.DrawString(item.ToString(),new Font(FontFamily.GenericSansSerif, 25, FontStyle.Bold),new SolidBrush(list_color[random.Next(list_color.Length)]),x: (150 / 5) * i,y: random.Next(5));}// 在验证码上绘制噪点for (int i 0; i random.Next(30, 50); i){int x random.Next(bitmap.Width);int y random.Next(bitmap.Height);grp.DrawLine(new Pen(list_color[random.Next(list_color.Length)], 1), x, y, x 1, y);}// 绘制随机的线条grp.DrawLine(new Pen(list_color[random.Next(list_color.Length)], random.Next(3)),new Point(random.Next(bitmap.Width / 2), random.Next(bitmap.Height / 2)),new Point(bitmap.Width / 2 random.Next(bitmap.Width / 2), bitmap.Height / 2 random.Next(bitmap.Height / 2)));return bitmap;}/// summary/// VCodeCalculateController控制器中Create方法的返回对象./// /summarypublic class VCodeCalculateController_Create_Receive : ReceiveObject{public Data data { get; set; }public class Data{/// summary/// 令牌./// /summarypublic string id { get; set; }/// summary/// Base64的验证码图片./// /summarypublic string img { get; set; }}} 运行效果
http://www.hkea.cn/news/14310874/

相关文章:

  • 英文网站设计哪里好优设
  • 广东旅游网站建设网站宣传推广方案
  • 做购物网站用什么应用sem优化托管公司
  • 网站被百度惩罚放弃海外商城网站建设
  • 如何做高校的网站版面设计公司网站建设中恒建设集团有限公司
  • 米 建设网站网站设置受信任
  • 科技公司手机端网站苏州专门网站
  • 网站开发商城app网站如何做绿标
  • 广州 网站建设网络推广网页设计润滑油东莞网站建设
  • 如何做更改网站的图片免费给我推广
  • 网站建设销售话术文本格式第三方网站做app
  • 人才招聘网网站策划方案网络营销与策划实务
  • 第一次开票网站建设怎么开wordpress评论定制
  • WordPress移动站建立网站的相关信息
  • iis网站物理路径宁波seo如何做推广平台
  • 怎样租用个人网站空间林业网站模板
  • 个人做电影网站网站开发工资多少
  • 电脑软件下载网站wordpress app怎么登录
  • 十一冶建设集团有限责任公司网站公司logo在线设计
  • 网站建设可行性方案深圳贸易网站开发
  • 政务网站的建设时期的概述微信小程序官网下载
  • 对京东网站建设的总结网络服务商在哪
  • 外贸网站适合用数字域名吗开发个微网站多少钱
  • 建设企业银行网站dns可以将网站域名解析
  • 网站建设 怎么跑业务最专业的网站制作公司
  • 网站的要素是什么意思自适应网站功能
  • 网站建设的硬件平台python做网站的案例
  • 网站建设收费标准好么怎么免费注册域名
  • 企业网站如何做推广网站建设论文标题
  • 临沂网站优化公司刷抖音一天赚四五百块