Files
thinkyu/報到系統客戶端/Services/LoginService.cs
T
sryang 577060bc78 chore: 首次簽入 Thinkyu ASP.NET 專案
- 加入 Visual Studio / ASP.NET .gitignore
- 排除建置輸出、IDE 設定、NuGet packages、大型 MSI 安裝檔
2026-09-10 09:42:37 +08:00

102 lines
3.0 KiB
C#

using System;
using System.Threading.Tasks;
using 報到系統客戶端.Models;
namespace 報到系統客戶端.Services
{
/// <summary>
/// 登入服務客戶端
/// 呼叫後端 Services/LoginService.asmx
/// </summary>
public class LoginService
{
private const string SERVICE_PATH = "/Services/LoginService.asmx";
/// <summary>
/// 登入
/// </summary>
/// <param name="username">使用者名稱</param>
/// <param name="password">密碼</param>
/// <param name="rememberMe">是否記住密碼</param>
/// <returns>登入結果</returns>
public static BaseResponse Login(string username, string password, bool rememberMe = false)
{
var parameters = new
{
username = username,
password = password,
rememberMe = rememberMe
};
return ApiService.Instance.Post(SERVICE_PATH, "Login", parameters);
}
/// <summary>
/// 登入(非同步版本)
/// </summary>
public static async Task<BaseResponse> LoginAsync(string username, string password, bool rememberMe = false)
{
var parameters = new
{
username = username,
password = password,
rememberMe = rememberMe
};
return await ApiService.Instance.PostAsync(SERVICE_PATH, "Login", parameters);
}
/// <summary>
/// 登出
/// </summary>
/// <returns>登出結果</returns>
public static BaseResponse Logout()
{
return ApiService.Instance.Post(SERVICE_PATH, "Logout", null);
}
/// <summary>
/// 登出(非同步版本)
/// </summary>
//public static async Task<BaseResponse> LogoutAsync()
//{
// return await ApiService.Instance.PostAsync(SERVICE_PATH, "Logout", null);
//}
/// <summary>
/// 檢查 Session(當作心跳使用)
/// </summary>
/// <returns>檢查結果</returns>
public static BaseResponse CheckSession()
{
return ApiService.Instance.Post(SERVICE_PATH, "CheckSession", null);
}
/// <summary>
/// 檢查 Session(非同步版本)
/// </summary>
//public static async Task<BaseResponse> CheckSessionAsync()
//{
// return await ApiService.Instance.PostAsync(SERVICE_PATH, "CheckSession", null);
//}
/// <summary>
/// 清除 Session
/// </summary>
public static void ClearSession()
{
ApiService.Instance.ClearSession();
}
/// <summary>
/// 測試是否能連線
/// </summary>
/// <returns></returns>
public static bool Ping()
{
var pingResult = ApiService.Instance.Post(SERVICE_PATH, "Ping", null);
return pingResult != null;
}
}
}