73 lines
2.3 KiB
C#
73 lines
2.3 KiB
C#
using System;
|
|
using Newtonsoft.Json;
|
|
|
|
namespace GSYWApi.Helper
|
|
{
|
|
/// <summary>
|
|
/// 公共方法
|
|
/// </summary>
|
|
public class Common
|
|
{
|
|
/// <summary>
|
|
/// 判断是否是偶数
|
|
/// </summary>
|
|
/// <param name="n"></param>
|
|
/// <returns></returns>
|
|
public static bool IsOdd(int n)
|
|
{
|
|
return Convert.ToBoolean(n % 2 == 0);
|
|
}
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="code"></param>
|
|
/// <param name="msg"></param>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public static object ReturnJson(int code, string msg, object data = null)
|
|
{
|
|
Models.Result result = new Models.Result();
|
|
result.Result_Data = data;
|
|
result.Result_Code = code;
|
|
result.Result_Desc = msg;
|
|
return result;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 创建登录秘钥
|
|
/// </summary>
|
|
/// <param name="UserID">session_key是微信服务器生成的针对用户数据加密的秘钥</param>
|
|
/// <param name="UserName"></param>
|
|
/// <param name="LoggingTime"></param>
|
|
/// <returns>返回加密串</returns>
|
|
public static string CreateAccessToken(int? UserID, string UserName, DateTime? LoggingTime)
|
|
{
|
|
Model.AccessToken accessToken = new Model.AccessToken();
|
|
accessToken.UserID = UserID;
|
|
accessToken.UserName = UserName;
|
|
accessToken.LoggingTime = LoggingTime == null ? DateTime.Now : LoggingTime.Value;
|
|
|
|
return JsonConvert.SerializeObject(accessToken).ToEncrypt();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 验证加密串中的LoggingTime是否过期
|
|
/// </summary>
|
|
/// <param name="accessToken">第一次登录生成的加密串</param>
|
|
/// <returns></returns>
|
|
public static bool CheckSession(string accessToken)
|
|
{
|
|
Model.AccessToken accessTokenModel = JsonConvert.DeserializeObject<Model.AccessToken>(accessToken.ToDecrypt());
|
|
|
|
TimeSpan ts = DateTime.Now - accessTokenModel.LoggingTime.Value;
|
|
int validSecond = 2 * 60 * 60;//设置2小时过期
|
|
if (ts.TotalSeconds >= validSecond)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
}
|
|
} |