2025-03-27 15:05:14 +08:00

114 lines
4.3 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using System.Web.Http.Description;
namespace GSYWApi.Controllers
{
/// <summary>
/// 系统登录相关接口
/// </summary>
public class LoggingController : BaseController
{
#region ->
/// <summary>
/// 用户登录参数登录账号【UserPassport】登录密码【UserPassWord】用户登录token【accessToken】
/// </summary>
/// <returns>
/// 100登录成功
/// 200登录失败
/// 300token失效
/// </returns>
[Route("Logging/UserLogin")]
[AcceptVerbs("POST")]
[ResponseType(typeof(Models.JsonMsg<Model.PassportInfo>))]
public IHttpActionResult UserLogin()
{
string accessToken = Helper.Pub.Request("accessToken");
string UserPassport = Helper.Pub.Request("UserPassport");
string UserPassWord = Helper.Pub.Request("UserPassWord");
try
{
//定义错误提示内容
string FailureString = "";
//定义登录用户对象,返回给前端
Model.PassportInfo passportInfo = new Model.PassportInfo();
//验证用户登录信息
if (!string.IsNullOrWhiteSpace(accessToken))
{
if (Helper.LoggingHelper.UserLogin(transaction, accessToken, ref passportInfo, ref FailureString))
{
return Ok(Models.JsonMsg<Model.PassportInfo>.Success(passportInfo, 100, "登录成功"));
}
else
{
return Ok(Helper.Common.ReturnJson(300, FailureString));
}
}
else
{
bool LoginFlag = Helper.LoggingHelper.UserLogin(transaction,
UserPassport, UserPassWord, ref passportInfo, ref FailureString);
if (LoginFlag)
{
return Ok(Models.JsonMsg<Model.PassportInfo>.Success(passportInfo, 100, "登录成功"));
}
else
{
return Ok(Helper.Common.ReturnJson(200, FailureString));
}
}
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
Helper.LogUtil.WriteLog(null, "登录失败!失败原因:" + ex.Message + "\r\n",
DateTime.Now.ToString("yyyyMMdd") + "_UserLogin");
return Ok(Helper.Common.ReturnJson(999, "登录失败" + ex.Message));
}
}
#endregion
#region ->
/// <summary>
/// 用户登出参数用户登录token【accessToken】
/// </summary>
/// <returns></returns>
[Route("Logging/UserLogout")]
[AcceptVerbs("POST")]
[ResponseType(typeof(Models.JsonMsg<Model.PassportInfo>))]
public IHttpActionResult UserLogout()
{
string accessToken = Helper.Pub.Request("accessToken", Helper.Pub.Request("token"));
Helper.LogUtil.WriteLog(null, "用户登录token" + accessToken,
DateTime.Now.ToString("yyyyMMdd") + "_UserLogout");
try
{
Helper.RedisHelper redisHelper = new Helper.RedisHelper();
if (Helper.LoggingHelper.LogoutPlatform(redisHelper, accessToken))
{
return Ok(Helper.Common.ReturnJson(100, "登出成功"));
}
else
{
return Ok(Helper.Common.ReturnJson(200, "登出失败"));
}
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
Helper.LogUtil.WriteLog(null, "登录失败!失败原因:" + ex.Message,
DateTime.Now.ToString("yyyyMMdd") + "_UserLogout");
return Ok(Helper.Common.ReturnJson(999, "登录失败" + ex.Message));
}
}
#endregion
}
}