ZhiYeJianKang_PeiXun/Song.Site/DefaultController.cs

129 lines
4.2 KiB
C#
Raw Normal View History

2025-02-20 15:41:53 +08:00
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Dynamic;
using System.Text;
using Taurus.Core;
namespace Song.Sites
{
//使用教程地址
//https://www.cnblogs.com/cyq1162/p/6144736.html
/// <summary>
/// 默认控制器此类不要动partial类可以在AriesController文件夹外建立自己的业务类
/// </summary>
public partial class DefaultController : Controller
{
[HttpGet]
public override void Default()
{
Write("Construction...");
}
/* */
//本方法可以在其它文件里实现partial类
public static bool CheckToken(IController controller, string methodName)
{
controller.CheckFormat("token Can't be Empty", "token");
//实现Token验证
//controller.Write(methodName + " NoToken");
return true;
}
public static bool BeforeInvoke(IController controller, string methodName)
{
//if (controller.IsHttpPost)
//{
// //拦截全局处理
// controller.Write(methodName + " NoACK");
//}
return true;
}
}
public partial class DefaultController : Controller
{
#region Token处理
/// <summary>
/// 重写此方法时此CheckToken的优先级>DefaultController中的静态方法CheckToken
/// </summary>
/// <returns></returns>
public override bool CheckToken()
{
string token = Query<string>("token");
bool result = false;
if (!string.IsNullOrEmpty(token))
{
byte[] data = Convert.FromBase64String(token);
string text = System.Text.Encoding.UTF8.GetString(data);
result = text.StartsWith("JYXY:");
}
if (!result)
{
Write("can't find token!", false);
}
return result;
}
//返回数据:
//status10账号错误11密码错误1登陆成功0未知错误
//{status:1;token:”xxxxxxxxxxxxxxxxx”}
public void GetToken()
{
try
{
//CheckFormat("{0}不能为空&{0}格式错误", @"un&用户名&^1[3|4|5|8][0-9]\d{8}$", @"pwd&密码&^[\u0391-\uFFE5]+$");
string userName = Query<string>("un");
string pwd = Query<string>("pwd");
string mac = Query<string>("mac");
mac = mac == null ? "" : mac;
//Common.WriteMyLog("账号:" + userName + "Mac:" + mac);
//int ret = (new SysUserBLL()).Login(userName, pwd);
int ret = 0;
dynamic objx = new ExpandoObject();
if (!string.IsNullOrEmpty(userName) && !string.IsNullOrEmpty(pwd) && ret == 1)
{
byte[] data = System.Text.Encoding.UTF8.GetBytes("LeaderMIS:" + userName);
string base64 = Convert.ToBase64String(data);
objx.status = 1;
objx.token = base64;
objx.memo = "登陆成功";
Write(JsonConvert.SerializeObject(objx));
}
else if (ret == 10)
{
objx.status = 10;
objx.token = "";
objx.memo = "账号错误";
Write(JsonConvert.SerializeObject(objx));
}
else if (ret == 11)
{
objx.status = 11;
objx.token = "";
objx.memo = "密码错误";
Write(JsonConvert.SerializeObject(objx));
}
else
{
objx.status = 0;
objx.token = "";
objx.memo = "登陆异常";
Write(JsonConvert.SerializeObject(objx));
}
}
catch (Exception ex)
{
//Common.WriteMyLog(ex.ToString());
}
}
#endregion
}
}