using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Carton.Client.Unity; using System.Web; using System.Net; using Newtonsoft.Json; using Newtonsoft.Json.Linq; namespace Carton.Client.Service { public interface IClientHttp { Task<string> POST(string apirout, string parameterjson); Task<string> GET(string apirout, Dictionary<string,string> parameters); } public class ClientHttpService :IClientHttp { private System.Net.Http.HttpClient _client = null; public ClientHttpService(System.Net.Http.HttpClient client) { _client = client; _client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); } public Task<string> GET(string apiroute, Dictionary<string,string> parameters) { if (Unity.GlobalModule.AuthStorage != null) { _client.DefaultRequestHeaders.Add("token", Unity.GlobalModule.AuthStorage.Token); } string baseurl = System.Configuration.ConfigurationManager.AppSettings["apiurl"]; foreach(var para in parameters) { apiroute = apiroute.Replace("{"+para.Key+"}",para.Value); } var getresult =_client.GetStringAsync(baseurl + apiroute); var r = getresult.Result; return getresult; } public Task<string> POST(string apiroute, string parameterjson) { if (Unity.GlobalModule.AuthStorage != null) { _client.DefaultRequestHeaders.Add("token", Unity.GlobalModule.AuthStorage.Token); } string baseurl = System.Configuration.ConfigurationManager.AppSettings["apiurl"]; string parastr = string.Empty; System.Net.Http.StringContent content = new System.Net.Http.StringContent(parameterjson); content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json"); var postresult = _client.PostAsync(baseurl + apiroute , content); var msgbody = postresult.Result.Content.ReadAsStringAsync(); return msgbody; } } } public class Auth_UserService : IBll.Sys.IAuth_User { private IClientHttp _client = null; public Auth_UserService(IClientHttp client) { _client = client; } /// <summary> /// 添加用戶(hù) /// </summary> /// <param name="user"></param> /// <returns></returns> public OResult<bool> Add(UserNew user) { var parajson = JsonConvert.SerializeObject(user); var result = _client.POST(Core.APIRoute.auth_addnew, parajson); return JsonConvert.DeserializeObject<OResult<bool>>(result.Result); } } |
|