using System; using System.Collections.Generic; using System.Linq; using System.Net.Http; using System.Text; using System.Threading.Tasks; using Txgy.EWS.Client.IDAL; namespace Txgy.EWS.Client.DAL { public class WebDataAccess : IWebDataAccess { //protected string domain = "http://101.43.141.10:8090/api/v1/"; protected string domain = "http://localhost:5000/api/v1/"; public WebDataAccess() { domain = System.Configuration.ConfigurationManager.AppSettings["api_domain"].ToString(); } public async Task GetDatas(string url) { using (var client = new HttpClient()) { var resp = await client.GetAsync(url); return await resp.Content.ReadAsStringAsync(); } } public MultipartFormDataContent GetFormData(Dictionary contents) { var postContent = new MultipartFormDataContent(); string boundary = string.Format("--{0}", DateTime.Now.Ticks.ToString("x")); postContent.Headers.Add("ContentType", $"multipart/form-data, boundary={boundary}"); foreach (var item in contents) { postContent.Add(item.Value, item.Key); } return postContent; } public async Task PostDatas(string url, HttpContent content) { using (var client = new HttpClient()) { var resp = await client.PostAsync(url, content); return await resp.Content.ReadAsStringAsync(); } } public async Task GetFileList() { //return await this.GetDatas($"{domain}file/list"); using (var client = new HttpClient()) { var resp = await client.GetAsync($"{domain}file/check"); return await resp.Content.ReadAsStringAsync(); } } /// /// 登录 /// /// userName /// passWord /// public async Task Login(string un, string pwd) { //创建FormData请求 var postContent = new MultipartFormDataContent(); //设置时间格式 string boundary = string.Format("--{0}", DateTime.Now.Ticks.ToString("x")); //添加头信息 postContent.Headers.Add("ContentType", $"multipart/form-data, boundary={boundary}"); //[HttpPost] //[Route("login")] //public IActionResult Login([FromForm] string userName, [FromForm] string pwd) //对应server中LoginController下的Login方法中的userName参数 postContent.Add(new StringContent(un), "username"); //对应server中LoginController下的Login方法中的pwd参数 postContent.Add(new StringContent(pwd), "pwd"); using (var client = new HttpClient()) { //提交Post请求 var resp = await client.PostAsync($"{domain}login/login", postContent); //返回字符串数据 var data = await resp.Content.ReadAsStringAsync(); return data; } } public async Task Login(string un, string pwd,string md5) { //创建FormData请求 var postContent = new MultipartFormDataContent(); //设置时间格式 string boundary = string.Format("--{0}", DateTime.Now.Ticks.ToString("x")); //添加头信息 postContent.Headers.Add("ContentType", $"multipart/form-data, boundary={boundary}"); //[HttpPost] //[Route("login")] //public IActionResult Login([FromForm] string userName, [FromForm] string pwd) //对应server中LoginController下的Login方法中的userName参数 postContent.Add(new StringContent(un), "username"); //对应server中LoginController下的Login方法中的pwd参数 postContent.Add(new StringContent(pwd), "pwd"); postContent.Add(new StringContent(md5), "md5"); using (var client = new HttpClient()) { var resp = await client.PostAsync($"{domain}login/login", postContent); var data = await resp.Content.ReadAsStringAsync(); return data; } } } }