ZhiYeJianKang_PeiXun/Song.Site/DefaultController.cs
2025-02-20 15:41:53 +08:00

129 lines
4.2 KiB
C#
Raw Permalink 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 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
}
}