CSFramework.WebApi开发框架模拟Web用户端登录、调用WebApi接口增删改查数据
CSFramework.WebApi开发框架模拟Web用户端登录、调用WebApi接口增删改查数据
本文简介 Web前端(如Web站点、门户网站、论坛等)调用后端WebApi服务接口,必须把Token作为重要参数传入WebApi接口,WebApi后端服务器验证Token有效性确保系统安全。因此,实现前后端接口数据交互,用户必须先登录系统获取用户令牌(Token),然后调用后端WebApi服务。 CSFramework.WebApi开发框架集成完整的Token机制解决方案,为用户提供成熟、稳定、快速开发的后端服务基础开发平台,快速搭建APP、B/S、C/S、微信小程序、公众号、Web站点等后端应用服务程序。 本文将讲解前端模拟Web用户端登录、调用WebApi接口增、删、改、查数据操作。 Console测试结果 Console测试程序 C# Code: static void Main(string[] args) { string result = ""; Console.WriteLine("##########################################"); Console.WriteLine("模拟Web用户端登录、调用WebApi业务接口增删改查数据"); Console.WriteLine("www.csframework.com | C/S框架网"); Console.WriteLine("##########################################"); Console.WriteLine(""); //模拟Web用户端登录 ModelUser userToken = TestWebLogin.Test(); Console.WriteLine("登录成功,Token:" + userToken.Token); Console.WriteLine(""); Console.WriteLine(""); Console.WriteLine("测试新增客户信息"); Entity_Customer customer = TestWeb_Customer.Add(userToken, ref result); Console.WriteLine(result); Console.WriteLine(""); Console.WriteLine("测试修改客户信息"); Console.WriteLine(TestWeb_Customer.Edit(userToken, customer)); Console.WriteLine("测试获取客户的详情信息"); Console.WriteLine(TestWeb_Customer.View(userToken, customer.CustomerCode)); Console.WriteLine(""); Console.WriteLine("测试删除客户信息"); Console.WriteLine(TestWeb_Customer.Delete(userToken, customer.CustomerCode)); Console.ReadLine(); } //来源:C/S框架网 | www.csframework.com | QQ:23404761 模拟用户登录 C# Code: /// <summary> /// 模拟Web端登录 /// </summary> /// <returns></returns> public static ModelUser Test() { string url1 = "http://localhost:19893/api/gate/loginweb"; //登录请求对象 ModelRequestLogin4Web requestToken = new ModelRequestLogin4Web { ApiKey = PrivateData.API_KEY, UserID = "1388888888", Password = "cf79ae6addba60ad018347359bd144d2", Timestamp = DateTime.Now.ToString("yyyyMMddHHmmssfff"), }; string json2 = JsonConvert.SerializeObject(requestToken); //POST string result3 = WebApiTools.Post(url1, json2); ModelResponse response1 = JsonConvert.DeserializeObject<ModelResponse>(result3); if (response1.DataIsEncrypted) { response1.Data = System.Web.HttpUtility.UrlDecode(response1.Data); response1.Data = CryptoHelper.DESDecrypt(response1.Data, PrivateData.DES_Key, PrivateData.DES_iv); } //返回的用户令牌数据 ModelUser user = JsonConvert.DeserializeObject<ModelUser>(response1.Data); return user; } //来源:C/S框架网 | www.csframework.com | QQ:23404761 ModelUser模型 C# Code: /// <summary> /// 用户令牌数据模型 /// </summary> public class ModelUser { /// <summary> /// 用户编号,或APP系统唯一账号(对应手机号码) /// </summary> public string Account { get; set; } /// <summary> /// 令牌 /// </summary> public string Token { get; set; } /// <summary> /// 手机号码 /// </summary> public string Phone { get; set; } /// <summary> /// 客户端信息 /// </summary> public string Client { get; set; } /// <summary> /// 版本 /// </summary> public string Version { get; set; } /// <summary> /// 设备编码 /// </summary> public string MID { get; set; } /// <summary> /// 生成Token时间 /// </summary> public DateTime TS { get; set; } /// <summary> /// 过期时间 /// </summary> public int TokenExpires { get; set; } } //来源:C/S框架网 | www.csframework.com | QQ:23404761 测试【新增-Add】客户信息 C# Code: internal static Entity_Customer Add(ModelUser userToken, ref string result) { //实例化客户对象 Entity_Customer customer = new Entity_Customer { CustomerCode = DateTime.Now.ToString("yyyyMMddHHmmss"), NativeName = "客户名称:珠海市喜鹊信息技术有限公司", Address1 = "客户地址:珠海市", }; string url = "http://localhost:19893/api/do/WebClientCall"; //动态令牌方式传入WebApi接口的参数模型 ModelRequestToken M = new ModelRequestToken { Timestamp = DateTime.Now.ToString("yyyyMMddHHmmss"),//时间戳 Action = 820000, Operation = "Add",//操作指令, Add=新增 Token = userToken.Token,//令牌 UserID = userToken.Account,//用户账号 Data = JsonConvert.SerializeObject(customer),//客户实体对象,转JOSN格式 }; //请求转换为JSON string json = JsonConvert.SerializeObject(M, JsonSettings.Current); result = WebApiTools.Post(url, json); return customer; } //来源:C/S框架网 | www.csframework.com | QQ:23404761 测试【修改-Edit】客户信息 C# Code: internal static string Edit(ModelUser userToken, Entity_Customer customer) { customer.NativeName = "修改后名称:" + customer.NativeName; customer.Address1 = "修改后地址:" + customer.Address1; string url = "http://localhost:19893/api/do/WebClientCall"; //动态令牌方式传入WebApi接口的参数模型 ModelRequestToken M = new ModelRequestToken { Timestamp = DateTime.Now.ToString("yyyyMMddHHmmss"),//时间戳 Action = 820000, Operation = "Edit",//操作指令, Edit=修改 Token = userToken.Token,//令牌 UserID = userToken.Account,//用户账号 Data = JsonConvert.SerializeObject(customer),//客户实体对象,转JOSN格式 }; //请求转换为JSON string json = JsonConvert.SerializeObject(M, JsonSettings.Current); string result = WebApiTools.Post(url, json); return result; } //来源:C/S框架网 | www.csframework.com | QQ:23404761 测试【查询-View】客户信息 C# Code: public static string View(ModelUser userToken, string customerCode) { string url = "http://localhost:19893/api/do/WebClientCall"; //动态令牌方式传入WebApi接口的参数模型 ModelRequestToken M = new ModelRequestToken { Timestamp = DateTime.Now.ToString("yyyyMMddHHmmss"),//时间戳 Action = 820000, Operation = "View", Token = userToken.Token,//令牌 UserID = userToken.Account,//用户账号 Data = customerCode//客户编码 }; string json = JsonConvert.SerializeObject(M, JsonSettings.Current); string result = WebApiTools.Post(url, json); return result; } //来源:C/S框架网 | www.csframework.com | QQ:23404761 测试【删除-Delete】客户信息 C# Code: internal static string Delete(ModelUser userToken, string customerCode) { string url = "http://localhost:19893/api/do/WebClientCall"; //动态令牌方式传入WebApi接口的参数模型 ModelRequestToken M = new ModelRequestToken { Timestamp = DateTime.Now.ToString("yyyyMMddHHmmss"),//时间戳 Action = 820000, Operation = "Delete",//操作指令, Delete=删除 Token = userToken.Token,//令牌 UserID = userToken.Account,//用户账号 Data = customerCode,//客户编码 }; string json = JsonConvert.SerializeObject(M, JsonSettings.Current); string result = WebApiTools.Post(url, json); return result; } //来源:C/S框架网 | www.csframework.com | QQ:23404761 ASP.NET WebApi快速开发框架|APP后端框架-标准版V1.0 适用开发:快速搭建APP、B/S、C/S、微信小程序、公众号、Web站点等后端应用服务程序。 运行平台:Windows + .NET Framework 4.5 开发工具:Visual Studio 2015+,C#语言 数据库:Microsoft SQLServer 2008R2+(支持多数据库:Oracle/MySql) 产品介绍 CSFramework.WebApi是服务端快速开发框架(后端框架),借助ASP.NET WebAPI底层架构的强大编程能力,封装成为可复用的以及可定制开发的服务端软件模板,CSFramework.WebApi提供可复用的软件架构和开发包,为用户快速轻松搭建基于HTTP协议、HTTPS协议以及支持多种客户端(如:APP、B/S、C/S、微信公众号、微信小程序等)各种跨平台移动终端的服务端应用程序。 服务端应用开发、后端接口开发是软件项目重要工作环节,服务端注重业务逻辑、数据处理和数据分析、算法等方面的设计和服务,前端主要体现在用户体验、界面操作和数据采集方面。前端软件系统和后端服务架构共同搭建跨平台大型数据管理应用系统。 参考文章: 基于Web前端用户调用CSFramework.WebApi服务端登录登出接口实现 CSFramework.WebApi令牌管理器(Token Provider)实现添加、删除、刷新令牌过期控制 CSFramework.WebApi后端服务器框架:客户端调用WebApi接口方式(签名+Token令牌) 扫一扫加微信
参考文档:
WebApi开发框架DES加解密工具|Base64String转换工具JAVA源码下载 C# WebAPI开发平台与C# WebAPI开发框架 C#.NET WebApi开发框架成功案例-私蜜管家APP项目截图 C#.NET WebApi开发框架成功案例-智运天下TMS系统APP项目截图 C/S框架网提供基于C#.NET前端Winform开发框架及后端WebApi开发框架 .NET WebApi开发框架精简高效架构及用户体验 WebApi开发框架增加Timestamp参数提升系统安全级别 WebApi开发框架成功案例:车货匹配类微信小程序 原创产品-微信小程序APP服务端WebApi开发框架 WebApi开发框架应用电商微信小程序成功案例 C#.NET WebApi开发框架成功案例-物流行业TMS系统+APP+微信小程序 C#.NET WebApi开发框架成功案例-物流行业系统对接|满帮集团|中交兴路|福佑卡车 【原创】WebApi开发框架:Token生成、Token缓存原理、Token验证、令牌机制与原理 CSFramework WebApi开发框架日志管理(系统日志、接口日志) WebApi开发框架:使用HttpGet方式调用WebAPI接口
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 | |