using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Hh.Mes.POJO.ViewModel; using Hh.Mes.Service; using Hh.Mes.Service.SystemAuth; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using MySqlX.XDevAPI.Common; using NetTaste; using SqlSugar; namespace Hh.Mes.Api.Controllers { /// <summary> /// 系统公共的接口 /// </summary> [Route("api/[controller]/[action]")] [ApiController] public class SystemController : BaseController { private readonly SystemService service; public SystemController(SystemService systemService, IHttpContextAccessor accessor) { service = systemService; context = accessor.HttpContext; var sysUserApi = base.GetUser(context); this.service.sysUserApi = sysUserApi; } #region 登入 ,退出,检查版本,获取枚举 /// <summary> /// app检查 /// </summary> /// <returns></returns> [HttpGet] [ActionName("Mes/V1/base/AppCheckVer")] public string AppCheckVer(string appType, double versionCode) { var result = service.AppCheck(appType, versionCode); return Serialize(result); } /// <summary> /// 登入退出 【删除redis,删除 sys_user_online】 /// </summary> /// <returns></returns> [HttpPost] [ActionName("Mes/V1/Login/Logout")] public string Logout() { var token = GetToken(HttpContext); return Serialize(service.Logout(token)); } /// <summary> /// 登入 /// </summary> /// <returns></returns> [HttpPost] [ActionName("Mes/V1/Login")] public string Login() { string userName = Request.Form["username"].ToString().Trim(); var password = Request.Form["password"].ToString().Trim(); //登录 var result = service.Login(userName, password, Program.AppKey, Program.AppSecret); //写入cookies //https://www.cnblogs.com/land/archive/2009/04/10/1433074.html Response.Cookies.Append(Program.tokens, result.Token); return Serialize(result); } /// <summary> /// 判断token是否存在,过期 /// </summary> [HttpPost] [ActionName("Mes/V1/AppCheckToken")] public string AppCheckToken() { var token = GetToken(context); return Serialize(service.AppCheckToken(token)); } /// <summary> /// 枚举对象 /// </summary> /// <returns></returns> [HttpGet] [ActionName("Mes/V1/GetState")] public string GetState() { return service.GetState(); } /// <summary> /// 获取PDA用户可访问的模块列表 /// </summary> [HttpPost] [ActionName("Mes/V1/GetPDAModules")] public string GetPDAModules() { var token = GetToken(context); return Serialize(service.GetPDAModules(token)); } #endregion /// <summary> /// 第3方登入 /// </summary> /// <returns></returns> [HttpGet] [ActionName("Mes/V1/Login/OtherLogin")] public string OtherLogin(string token) { //登录 var result = service.OtherLogin(token); //写入cookies //https://www.cnblogs.com/land/archive/2009/04/10/1433074.html Response.Cookies.Append(Program.tokens, result.Token); return Serialize(result); } } }