You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
140 lines
4.4 KiB
C#
140 lines
4.4 KiB
C#
|
|
using System.Windows;
|
|
|
|
using System.Collections.ObjectModel;
|
|
|
|
using System;
|
|
|
|
using System.Windows.Input;
|
|
|
|
using MaterialDesignThemes.Wpf;
|
|
|
|
using HighWayIot.Config;
|
|
using GalaSoft.MvvmLight;
|
|
using HighWayIot.Repository.service;
|
|
using Aucma.Scada.Model.domain;
|
|
using Admin.Core.Common;
|
|
using HighWayIot.Common;
|
|
using System.Text.Json;
|
|
using Aucma.Scada.UI.Page.Model;
|
|
using Aucma.Scada.Business;
|
|
using HighWayIot.Log4net;
|
|
|
|
namespace Aucma.Scada.UI.viewModel
|
|
{
|
|
public partial class LoginPageViewModel : ViewModelBase
|
|
{
|
|
private LogHelper logHelper = LogHelper.Instance;
|
|
private RegisterServices registerServices = RegisterServices.Instance;
|
|
protected readonly IBaseTeamMembersServices _baseTeamMembersServices;
|
|
private AppConfig appConfig = AppConfig.Instance;
|
|
public LoginPageViewModel()
|
|
{
|
|
_baseTeamMembersServices = registerServices.GetService<IBaseTeamMembersServices>();
|
|
AddTeamData();
|
|
}
|
|
|
|
#region 登录
|
|
/// <summary>
|
|
/// 登录
|
|
/// </summary>
|
|
/// <param name="team">选择的班组信息</param>
|
|
/// <param name="userName">用户名</param>
|
|
/// <param name="passWord">密码</param>
|
|
public void Login(BaseTeamMembers team, string userName, string passWord, object parameter)
|
|
{
|
|
try
|
|
{
|
|
//获取Token
|
|
string url = $"http://10.100.72.10:8080/login";
|
|
var content = new
|
|
{
|
|
username = userName,
|
|
password = passWord
|
|
};
|
|
|
|
var loginResult = HttpHelper.Post(url, JsonChange.Instance.ModeToJson(content));//发送用户名密码给API
|
|
Result result = JsonSerializer.Deserialize<Result>(loginResult);
|
|
if (result == null)
|
|
{
|
|
MessageBox.Show("登录失败!", "系统提醒");
|
|
return;
|
|
}
|
|
if (result.code == 200)
|
|
{
|
|
// 存储账号信息
|
|
appConfig.TeamCode = team.TeamCode;
|
|
appConfig.TeamName = team.TeamName;
|
|
appConfig.Account = userName;
|
|
logHelper.Info($"登陆成功,班组代码{appConfig.TeamCode};班组名称:{appConfig.TeamName};用户名{appConfig.Account}");
|
|
//跳转
|
|
var window = parameter as LoginPageView;
|
|
|
|
|
|
if (window == null) return;
|
|
window.Hide();
|
|
|
|
MainWindow mainPage = MainWindow.Instance;
|
|
mainPage.Show();
|
|
|
|
// window.Close();
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show($"登录失败!{result.msg}", "系统提醒");
|
|
logHelper.Error($"班组代码{appConfig.TeamCode};班组名称:{appConfig.TeamName};用户名{appConfig.Account}登录失败!{result.msg}");
|
|
return;
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
// log.Error($"登录异常:{ex.Message}");
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 关闭当前界面
|
|
/// <summary>
|
|
/// 关闭当前界面
|
|
/// </summary>
|
|
/// <param name="parameter"></param>
|
|
|
|
public void CloseWindow(object parameter)
|
|
{
|
|
var window = parameter as Window;
|
|
if (window == null) return;
|
|
|
|
window.Close();
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 班组数据
|
|
/// <summary>
|
|
/// 班组数据
|
|
/// </summary>
|
|
private ObservableCollection<BaseTeamMembers> _teamMembersList = new ObservableCollection<BaseTeamMembers>();
|
|
public ObservableCollection<BaseTeamMembers> TeamMembersList
|
|
{
|
|
get
|
|
{
|
|
return this._teamMembersList;
|
|
}
|
|
|
|
set { _teamMembersList = value; RaisePropertyChanged(); }
|
|
}
|
|
#endregion
|
|
|
|
#region 班组添加到集合中
|
|
public void AddTeamData()
|
|
{
|
|
var baseTeamMembersList = _baseTeamMembersServices.getTeam();
|
|
foreach (var item in baseTeamMembersList)
|
|
{
|
|
TeamMembersList.Add(item);
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
} |