using HH.AutoBom.Core; using HH.WMS.Common; using HH.WMS.Entitys.Func; using HH.WMS.Utils; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web; namespace HH.WMS.WebUI.AppCode { public class sys_userService { #region 登录方法 /// /// 登录方法 /// /// /// /// /// /// public object Login(JObject request, string appCode) { var UserCode = request.Value("usercode"); var Password = request.Value("password"); //用户名密码验证 AccountEntity acEntity = Login(UserCode, Password, appCode); if (acEntity != null) { if (acEntity.Code == "0") { return SaveUserEntity(UserCode, acEntity); } else { return new { status = "1", message = acEntity.Data, flag = "" }; } } else { return new { status = "1", message = "登录失败!", flag = "" }; } } #endregion #region 保存用户信息 /// /// 保存用户信息 /// /// /// /// /// /// public static object SaveUserEntity(string UserCode, AccountEntity acEntity) { ////调用框架中的登陆机制 var loginer = new LoginerBase { UserCode = acEntity.Login, UserName = acEntity.UserName, Flag = acEntity.Flag, OrgFlag = acEntity.userExt.OrgFlag,//组织机构标识 DepartCode = acEntity.userExt.OrgCode,//所属组织机构 ParentOrgCode = acEntity.userExt.Parent_OrgCode_Public,//上级组织机构是否发布为Y的 OrgRank = acEntity.userExt.OrgRank, //组织机构价格等级 Extend1 = acEntity.Token,//扩展字段 -token Token = acEntity.Token }; //var effectiveHours = ZConfig.GetConfigInt("LoginEffectiveHours"); //定加密cookie的有效时长 FormsAuth.SignIn(loginer.UserCode, loginer, 3600); //返回登陆状态 return new { status = acEntity.Code, message = acEntity.Data, flag = acEntity.Flag }; } #endregion #region 默认用户的界面设计 /// /// 默认用户的界面设计 /// /// public Dictionary GetDefaultUserSetttins() { var defaults = new Dictionary(); defaults.Add("theme", "default"); defaults.Add("navigation", "accordion"); defaults.Add("gridrows", "20"); return defaults; } #endregion #region 验证登录 /// /// 验证登录 /// /// /// /// /// private AccountEntity Login(string userName, string userPwd, string appCode) { //用于返回 AccountEntity accEntity = new AccountEntity(); //验证当前系统权限 MsgEntity msgEntity = new MsgEntity() { Success = true };// VisionLic(); if (msgEntity.Success)//如果验证成功 { accEntity = VisionLogin(userName, userPwd, appCode); } else { accEntity.Code = "1"; accEntity.Data = msgEntity.Msg; } return accEntity; } #endregion #region 验证当前系统硬件权限 /// /// 验证当前系统硬件权限 /// /// private MsgEntity VisionLic() { MsgEntity msgEntity = new MsgEntity() { Success = true }; try { string path = System.Web.HttpContext.Current.Server.MapPath("bin\\license.lic"); if (System.IO.File.Exists(path)) { string desString = System.IO.File.ReadAllText(path, Encoding.Default); string jsonString = "{\"EncryText\":\"" + desString + "\"}"; string result = HH.WMS.Common.WebApiManager.HttpAutoBom_Post(jsonString, "api/Account/DecryptLic"); msgEntity = Newtonsoft.Json.JsonConvert.DeserializeObject(result); } else { msgEntity.Success = false; msgEntity.Msg = "未找到加密文件"; } } catch (Exception ex) { msgEntity.Success = false; msgEntity.Msg = ex.Message; } return msgEntity; } #endregion #region 验证当前登录用户 /// /// 验证当前登录用户 /// /// /// /// /// private AccountEntity VisionLogin(string userName, string userPwd, string appCode) { string ip = System.Web.HttpContext.Current.Request.UserHostAddress; var entity = new { userName = userName, userPwd = userPwd, appCode = appCode, ip = ip }; string jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(entity);//"{\"userName\": \"" + userName + "\", \"userPwd\": \"" + userPwd + "\", \"appCode\": \"" + appCode + "\",\"ip\":\"" + ip + "\"}"; Log.Info("jsonString", jsonString); string result = HH.WMS.Common.WebApiManager.HttpAutoBom_Post("api/Account/Login", jsonString); Log.Info("result", result); AccountEntity accEntity = Newtonsoft.Json.JsonConvert.DeserializeObject(result); return accEntity; } #endregion } }