using HH.WMS.BLL; using HH.WMS.Common; using HH.WMS.Entitys; using HH.WMS.Entitys.Basic; using HH.WMS.Entitys.Common; using HH.WMS.Entitys.Sys; using HH.WMS.WebApi.Areas.Common.Controllers; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Net.Http; using System.Text; using System.Threading; using System.Web.Http; namespace HH.WMS.WebApi.Controllers { /// /// 登录 /// public class LoginController : BaseController { //[HttpGet] //public OperateResult InitConfig() //{ // try // { // return OperateResult.Succeed("", Constants.config); // } // catch (Exception ex) // { // return OperateResult.Error(ex.Message); // } //} #region 登录接口 /// /// 登录调用人员模型 /// /// 用户名 /// 密码 /// /// /// /// /// [HANHE(XDL)] CREATED BY 2018-11-13 [HttpPost] public string Login(JObject json) { string jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(json); string result = HH.WMS.Common.WebApiManager.HttpAutoBom_Post("api/Account/Login", jsonString); return result; } #endregion #region 版本更新代码 [HttpGet] public string GetPDAUpdateInfo() { StringBuilder strJson = new StringBuilder(); try { UpdateInfoEntity updateEntity = new UpdateInfoEntity(); if (System.Configuration.ConfigurationManager.AppSettings["AppName"] != null) { updateEntity.appName = System.Configuration.ConfigurationManager.AppSettings["AppName"].ToString(); } if (System.Configuration.ConfigurationManager.AppSettings["PdaServerVersion"] != null) { updateEntity.serverVersion = System.Configuration.ConfigurationManager.AppSettings["PdaServerVersion"].ToString(); } updateEntity.serverFlag = "1"; if (System.Configuration.ConfigurationManager.AppSettings["PdalastForce"] != null) { updateEntity.lastForce = System.Configuration.ConfigurationManager.AppSettings["PdalastForce"].ToString(); } if (System.Configuration.ConfigurationManager.AppSettings["PdaUpdateUrl"] != null) { updateEntity.updateUrl = System.Configuration.ConfigurationManager.AppSettings["PdaUpdateUrl"].ToString(); } updateEntity.upGradeInfo = "WMS有新版本,是否需要更新?"; if (System.Configuration.ConfigurationManager.AppSettings["WmsPdaApiUrl"] != null) { updateEntity.wmsAPiUrl = System.Configuration.ConfigurationManager.AppSettings["WmsPdaApiUrl"].ToString(); } if (System.Configuration.ConfigurationManager.AppSettings["AmsPdaApiUrl"] != null) { updateEntity.amsApiUrl = System.Configuration.ConfigurationManager.AppSettings["AmsPdaApiUrl"].ToString(); } strJson.Append(JsonConvert.SerializeObject(OperateResult.Succeed("", updateEntity))); } catch (Exception ex) { strJson.Append(JsonConvert.SerializeObject(OperateResult.Error("请检查web.config中pda升级配置参数是否正确," + ex.Message.ToString()))); } return strJson.ToString(); } #endregion #region 版本更新 [HttpGet] public OperateResult GetApkUpdateInfo() { var PdaServerVersionName = string.Empty; string path = System.Web.HttpContext.Current.Server.MapPath("/Program"); DirectoryInfo folder = new DirectoryInfo(path); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } foreach (FileInfo file in folder.GetFiles("*.apk").OrderByDescending(b => b.CreationTime)) { PdaServerVersionName = file.Name; break; } try { UpdateInfoEntity updateEntity = new UpdateInfoEntity(); if (string.IsNullOrEmpty(Constants.SysConfig.PdaUpdateUrl)) { return OperateResult.Error("请检查web.config中是否配置pda下载更新地址"); } if (Constants.SysConfig.APP_NAME != null) { updateEntity.appName = Constants.SysConfig.PdaTitle; } else { updateEntity.appName = ""; } updateEntity.serverVersionName = PdaServerVersionName; updateEntity.updateUrl = Constants.SysConfig.PdaUpdateUrl; updateEntity.upGradeInfo = "系统有新版本,是否需要更新"; return OperateResult.Succeed("", updateEntity); } catch (Exception ex) { return OperateResult.Error("GetApkUpdateInfo方法异常" + ex.Message); } } #endregion #region 获得有权限的菜单 /// /// 获得有权限的菜单 /// /// /// /// /// [HANHE(XDL)] CREATED BY 2018-11-13 [HttpPost] public string GetUserMenu(JObject json) { string jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(json); string ReturnJson = HH.WMS.Common.WebApiManager.HttpAutoBom_Post("api/Menu/GetMenuByUser", jsonString); return ReturnJson; } #endregion #region 获得当前用户有权限的按钮 /// /// 获得当前用户有权限的按钮 /// /// 菜单ID /// public OperateResult GetPower(string menuid) { return ValidateToken(t => { var entity = new { userName = t.CN_S_LOGIN, appCode = Constants.appCode, menuid = menuid }; string jsonString = JsonConvert.SerializeObject(entity); string result = WebApiManager.HttpAutoBom_Post("api/Account/GetBottonCode", jsonString); PowerEntity power = JsonConvert.DeserializeObject(result); if (power != null) if (power.listButtonCode != null) power.listButtonCode.ForEach(f => { f = f.Trim(); }); return OperateResult.Succeed(null, power); }); } #endregion #region 测试登录接口 /// /// 登录调用人员模型 /// /// 用户名 /// 密码 /// /// /// /// /// [HANHE(XDL)] CREATED BY 2018-11-13 [HttpGet] public OperateResult LoginPad(string userName, string password) { string maxauth = ""; byte[] bytes = Encoding.GetEncoding("utf-8").GetBytes(userName + ":" + password); try { maxauth = Convert.ToBase64String(bytes); } catch { return OperateResult.Error("Base64加密失败"); } string result = ""; try { result = HH.WMS.Common.WebApiManager.HttpK3_Get("maximo/oslc/login?MAXAUTH=" + maxauth); AutobomResult autobomRes = JsonConvert.DeserializeObject(result); } catch(Exception ex) { return OperateResult.Error("调用ERP接口失败" + ex.Message); } return OperateResult.Succeed("", result); } #endregion } }