using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Linq; using System.Security.Claims; using System.Threading.Tasks; using Microsoft.AspNetCore.Authorization; using Model.ModelVm; using Newtonsoft.Json; using Utility.Tools; using WMS.Entity.Context; using WMS.IBLL.ISysServer; using Wms.Tools; using Utility; namespace Wms.Controllers { [Route("api/[controller]/[action]")] [ApiController] [ServiceFilter(typeof(ApiResponseActionFilter))] public class WeatherForecastController : ControllerBase { private static readonly string[] Summaries = new[] { "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" }; private readonly ITokenHelper tokenHelper = null; private readonly ILogger _logger; private readonly IUserInforServer _userMan; private readonly DataContext Db = new DataContext(); public WeatherForecastController(ITokenHelper _tokenHelper, ILogger logger, IUserInforServer userMan) { tokenHelper = _tokenHelper; _logger = logger; _userMan = userMan; } //[HttpGet] //public IEnumerable Get() //{ // var rng = new Random(); // var data = Enumerable.Range(1, 5).Select(index => new WeatherForecast // { // Date = DateTime.Now.AddDays(index), // TemperatureC = rng.Next(-20, 55), // Summary = Summaries[rng.Next(Summaries.Length)] // }) // .ToArray(); // var list = JsonConvert.SerializeObject(data); // _logger.LogWarning("接收物料转移任务:(" + list + "),"); // return data; //} /// /// 登录 /// /// 登录名 /// [HttpPost] public async Task Login(LoginVm model) { if (ModelState.IsValid) { var userId = await _userMan.LoginAdmin(model.LoginName, model.LoginPwd); if (userId != -1) // { if (userId != 0) //正确返回 { Dictionary keyValuePairs = new Dictionary { {"loginID", userId.ToString()}, {"LoginName", model.LoginName} }; var tnToken = tokenHelper.CreateToken(keyValuePairs); return tnToken.TokenStr; } else //当前账号被禁用 { //return this.ErrorData($"当前账号已被禁用"); throw Oops.Bah("当前账号已被禁用"); } } else //账号密码错误 { throw Oops.Bah("当前账号或密码错误"); } } else //数据格式错误 { throw Oops.Bah("数据格式错误"); } } /// /// 登录 /// /// //[HttpPost] //public IActionResult ceshi() //{ // //if (ModelState.IsValid) // //{ // try // { // //获取当前登录的用户ID // var claimsIdentity = this.User.Identity as ClaimsIdentity; // var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value; // var bolls = _userMan.CeShi(); // return Ok(new { code = 200, data = bolls }); // } // catch (Exception e) // { // return Ok(new { code = 400, ErrorMsg = "请联系管理员/" + e.Message }); // } // //} // //else //数据格式错误 // //{ // // return Ok(new { code = 400, ErrorMsg = "数据格式错误" }); // //} //} } }