CeramicProjectTool/LoginWindow.xaml.cs

117 lines
3.4 KiB
C#

using CeramicProjectTool.Util;
using System.Runtime.Intrinsics.Arm;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace CeramicProjectTool
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class LoginWindow : Window
{
public LoginWindow()
{
InitializeComponent();
Store.Init();
var dbConfig = Store.GetStoreData<Dictionary<string, string>>("dbConfig");
if (dbConfig != null)
{
sourceBox.Text = dbConfig["dbSource"];
dbNameBox.Text = dbConfig["dbName"];
dbUserNameBox.Text = dbConfig["dbUserName"];
dbPwdBox.Password = dbConfig["dbUserPwd"];
DBHelper.SetConnStr(dbConfig);
DBHelper.NewDB();
}
}
private void loginButton_Click(object sender, RoutedEventArgs e)
{
if (!DBHelper.isInit)
{
MessageBox.Show("请先配置数据库连接信息!");
return;
}
var userName = usernameBox.Text;
var passwd = passwdBox.Password;
if (userName != "admin")
{
MessageBox.Show("只允许使用Admin账号登录!");
return;
}
var pwd = getPasswdSha1(passwd);
var loginResult = DBHelper.Login(userName, pwd);
if (loginResult)
{
MessageBox.Show("登录成功!");
new MainWindow().Show();
this.Close();
}
else
{
MessageBox.Show("登录失败!");
}
}
private string getPasswdSha1(string passwd)
{
var buffer = Encoding.UTF8.GetBytes(passwd);
var sha1 = SHA1.Create().ComputeHash(buffer);
var sb = new StringBuilder();
foreach (var b in sha1)
{
sb.Append(b.ToString("x2").ToUpper());
}
return sb.ToString();
}
private void dbConfigButton_Click(object sender, RoutedEventArgs e)
{
var dbConfig = Store.GetStoreData<Dictionary<string, string>>("dbConfig");
if (dbConfig == null)
{
dbConfig = new Dictionary<string, string>();
}
var dbSource = sourceBox.Text;
var dbUserName = dbUserNameBox.Text;
var dbUserPwd = dbPwdBox.Password;
var dbName = dbNameBox.Text;
dbConfig["dbSource"] = dbSource;
dbConfig["dbName"] = dbName;
dbConfig["dbUserName"] = dbUserName;
dbConfig["dbUserPwd"] = dbUserPwd;
var saveResult = Store.SaveOrUpdateDataToFile("dbConfig", dbConfig);
if (saveResult)
{
DBHelper.SetConnStr(dbConfig);
DBHelper.NewDB();
MessageBox.Show("保存成功!");
}
else
{
MessageBox.Show("保存失败!");
}
}
}
}