添加登录按钮,点击基础数据验证账号权限
This commit is contained in:
parent
6f47fbc9b2
commit
824e596b9c
@ -5,6 +5,7 @@
|
||||
#include "aike.h"
|
||||
#include "afxdialogex.h"
|
||||
#include "LogInDlg.h"
|
||||
#include "aikeDlg.h"
|
||||
|
||||
|
||||
// LogInDlg 对话框
|
||||
@ -14,52 +15,113 @@ IMPLEMENT_DYNAMIC(LogInDlg, MyDialog)
|
||||
LogInDlg::LogInDlg(CWnd* pParent /*=nullptr*/)
|
||||
: MyDialog(IDD_LOGINDLG, pParent)
|
||||
{
|
||||
|
||||
m_Parent = pParent;
|
||||
}
|
||||
|
||||
LogInDlg::~LogInDlg()
|
||||
{
|
||||
}
|
||||
|
||||
//void LogInDlg::DoDataExchange(CDataExchange* pDX)
|
||||
//{
|
||||
// MyDialog::DoDataExchange(pDX);
|
||||
//}
|
||||
|
||||
|
||||
BEGIN_MESSAGE_MAP(LogInDlg, MyDialog)
|
||||
ON_WM_PAINT()
|
||||
ON_NOTIFY(BCN_HOTITEMCHANGE, IDC_CHECK1, &LogInDlg::OnBnHotItemChangeCheck1)
|
||||
ON_NOTIFY(NM_THEMECHANGED, IDC_CHECK1, &LogInDlg::OnNMThemeChangedCheck1)
|
||||
ON_BN_CLICKED(IDC_CHECK1, &LogInDlg::OnBnClickedCheck1)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
|
||||
// LogInDlg 消息处理程序
|
||||
|
||||
|
||||
//BOOL LogInDlg::PreTranslateMessage(MSG* pMsg)
|
||||
//{
|
||||
// // TODO: 在此添加专用代码和/或调用基类
|
||||
// myDlg->PTMessage(pMsg);
|
||||
// return __super::PreTranslateMessage(pMsg);
|
||||
//}
|
||||
//
|
||||
//
|
||||
//void LogInDlg::OnPaint()
|
||||
//{
|
||||
// myDlg->PaintDlg();
|
||||
// MyDialog::OnPaint();
|
||||
//}
|
||||
|
||||
|
||||
BOOL LogInDlg::OnInitDialog()
|
||||
{
|
||||
__super::OnInitDialog();
|
||||
//CImage img;
|
||||
//img.Load(_T("../aike/res/background.jpg"));
|
||||
//myDlg->SetBackground(img);
|
||||
//myDlg->PaintDlg();
|
||||
CImage img;
|
||||
img.Load(_T("../aike/res/background.jpg"));
|
||||
//SetBackground(img);
|
||||
PaintDlg();
|
||||
// TODO: 在此添加额外的初始化
|
||||
//PaintDlg();
|
||||
FixedSize();
|
||||
CRect rt = {0,0,90,30};
|
||||
/*480,325*/
|
||||
rt.MoveToXY(120, 240);
|
||||
AddButton(1, rt);
|
||||
SetLClick(1, [this](int i) {LoginClick(i); });
|
||||
rt.MoveToXY(270, 240);
|
||||
AddButton(2, rt);
|
||||
SetLClick(2, [this](int i) {CloseClick(i); });
|
||||
return TRUE; // return TRUE unless you set the focus to a control
|
||||
// 异常: OCX 属性页应返回 FALSE
|
||||
}
|
||||
|
||||
VOID LogInDlg::LoginClick(int id)
|
||||
{
|
||||
CString Name, Pass, tmp;
|
||||
GetDlgItemText(IDC_EDIT1, Name);
|
||||
GetDlgItemText(IDC_EDIT2, Pass);
|
||||
BOOL sys = ((CButton*)GetDlgItem(IDC_CHECK1))->GetCheck();
|
||||
if (!sys)
|
||||
{
|
||||
if (Name == _T(""))
|
||||
{
|
||||
MessageBox(_T("请输入要登陆的账号"), _T("温馨提示"));
|
||||
return;
|
||||
}
|
||||
}
|
||||
CaikeDlg* dlg = (CaikeDlg*)m_Parent;
|
||||
switch (dlg->CheckUser(Name, Pass, sys))
|
||||
{
|
||||
case 0:
|
||||
MessageBox(_T("账号不存在"), _T("温馨提示"));
|
||||
break;
|
||||
case 1:
|
||||
if(sys)
|
||||
{
|
||||
dlg->LogName = _T("系统管理员");
|
||||
}
|
||||
else
|
||||
{
|
||||
dlg->LogName = Name;
|
||||
}
|
||||
MyDialog::OnOK();
|
||||
break;
|
||||
case 2:
|
||||
MessageBox(_T("密码输入错误"), _T("温馨提示"));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
VOID LogInDlg::CloseClick(int id)
|
||||
{
|
||||
MyDialog::OnCancel();
|
||||
//return VOID();
|
||||
}
|
||||
|
||||
|
||||
void LogInDlg::OnBnHotItemChangeCheck1(NMHDR* pNMHDR, LRESULT* pResult)
|
||||
{
|
||||
// 此功能要求 Internet Explorer 6 或更高版本。
|
||||
// 符号 _WIN32_IE 必须是 >= 0x0600。
|
||||
LPNMBCHOTITEM pHotItem = reinterpret_cast<LPNMBCHOTITEM>(pNMHDR);
|
||||
// TODO: 在此添加控件通知处理程序代码
|
||||
|
||||
*pResult = 0;
|
||||
}
|
||||
|
||||
|
||||
void LogInDlg::OnNMThemeChangedCheck1(NMHDR* pNMHDR, LRESULT* pResult)
|
||||
{
|
||||
// 该功能要求使用 Windows XP 或更高版本。
|
||||
// 符号 _WIN32_WINNT 必须 >= 0x0501。
|
||||
// TODO: 在此添加控件通知处理程序代码
|
||||
*pResult = 0;
|
||||
}
|
||||
|
||||
|
||||
void LogInDlg::OnBnClickedCheck1()
|
||||
{
|
||||
GetDlgItem(IDC_EDIT1)->EnableWindow(!((CButton*)GetDlgItem(IDC_CHECK1))->GetCheck());
|
||||
// TODO: 在此添加控件通知处理程序代码
|
||||
}
|
||||
|
@ -18,11 +18,14 @@ public:
|
||||
#endif
|
||||
|
||||
protected:
|
||||
// virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
|
||||
|
||||
DECLARE_MESSAGE_MAP()
|
||||
|
||||
public:
|
||||
//virtual BOOL PreTranslateMessage(MSG* pMsg);
|
||||
//afx_msg void OnPaint();
|
||||
CWnd* m_Parent = NULL;
|
||||
virtual BOOL OnInitDialog();
|
||||
VOID LoginClick(int id);
|
||||
VOID CloseClick(int id);
|
||||
afx_msg void OnBnHotItemChangeCheck1(NMHDR* pNMHDR, LRESULT* pResult);
|
||||
afx_msg void OnNMThemeChangedCheck1(NMHDR* pNMHDR, LRESULT* pResult);
|
||||
afx_msg void OnBnClickedCheck1();
|
||||
};
|
||||
|
BIN
aike/aike.rc
BIN
aike/aike.rc
Binary file not shown.
@ -350,6 +350,21 @@ VOID CaikeDlg::MoveAllWin()
|
||||
tt.MoveToX(rt.Width() - 25);
|
||||
MoveButton(4, tt);
|
||||
|
||||
tt = { 0,0,180,180 };
|
||||
CPoint pt = { (rt.Width() - 600) / 2,100 };
|
||||
tt.MoveToXY(pt);
|
||||
MoveButton(1000, tt);
|
||||
tt.MoveToXY(pt.x + 200, pt.y);
|
||||
MoveButton(2000, tt);
|
||||
tt.MoveToXY(pt.x + 400, pt.y);
|
||||
MoveButton(3000, tt);
|
||||
tt.MoveToXY(pt.x, pt.y + 200);
|
||||
MoveButton(4000, tt);
|
||||
tt.MoveToXY(pt.x + 200, pt.y + 200);
|
||||
MoveButton(5000, tt);
|
||||
tt.MoveToXY(pt.x + 400, pt.y + 200);
|
||||
MoveButton(6000, tt);
|
||||
|
||||
GetWindowRect(rt);
|
||||
rt.MoveToXY(-50, -50);
|
||||
rt.left = 150;
|
||||
@ -385,11 +400,9 @@ BOOL CaikeDlg::CheckAuthority(CString Authority)
|
||||
if (LogName == _T(""))
|
||||
{
|
||||
//MessageBox(_T("请先登录账号"), _T("温馨提示"));
|
||||
ttttt = FALSE;
|
||||
LogInDlg dlg;
|
||||
dlg.DoModal();
|
||||
ttttt = TRUE;
|
||||
return FALSE;
|
||||
LogInDlg dlg(this);
|
||||
if (dlg.DoModal() != IDOK)
|
||||
return FALSE;
|
||||
}
|
||||
if (LogName == _T("系统管理员"))
|
||||
{
|
||||
@ -412,12 +425,66 @@ BOOL CaikeDlg::CheckAuthority(CString Authority)
|
||||
|
||||
if (tmp.Find(_T("$") + Authority + _T("$")) == -1)
|
||||
{
|
||||
MessageBox(_T("该账号权限不足"), _T("温馨提示"));
|
||||
MessageBox(_T("该用户没有此权限"), _T("温馨提示"));
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
INT CaikeDlg::CheckUser(CString Name, CString Pass, BOOL isSystem)
|
||||
{
|
||||
CString tmp;
|
||||
_RecordsetPtr m_pRecor;
|
||||
_variant_t var;
|
||||
if (Pass != _T(""))
|
||||
{
|
||||
string str = (CStringA)Pass;
|
||||
AES aes;
|
||||
Pass = (CStringA)(aes.EncryptionAES(str, "aikehotel1998092")).c_str();
|
||||
}
|
||||
if (isSystem)
|
||||
{
|
||||
AdoSql.QuerySql(_T("select * from config where vkey = 'passwords'"), m_pRecor);
|
||||
int i = 0;
|
||||
if (!m_pRecor->GetadoEOF())
|
||||
{
|
||||
var = m_pRecor->GetCollect("value");
|
||||
if (var.vt != VT_NULL)
|
||||
{
|
||||
tmp = (LPCTSTR)_bstr_t(var);
|
||||
}
|
||||
}
|
||||
if (tmp == Pass)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
return 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
tmp.Format(_T("select Passwords from staff where JobID = '%s' and Computer = '1'"), Name);
|
||||
AdoSql.QuerySql(tmp, m_pRecor);
|
||||
if (!m_pRecor->GetadoEOF())
|
||||
{
|
||||
var = m_pRecor->GetCollect("Passwords");
|
||||
if (var.vt != VT_NULL)
|
||||
{
|
||||
tmp = (LPCTSTR)_bstr_t(var);
|
||||
}
|
||||
if (tmp == Pass)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
return 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
//设置按钮
|
||||
VOID CaikeDlg::SetUpClick(int id)
|
||||
{
|
||||
|
@ -49,7 +49,7 @@ public:
|
||||
CString UserName; //数据库用户名
|
||||
CString AdoPass; //数据库密码
|
||||
CString LogName; //当前登录的账号
|
||||
BOOL ttttt = TRUE;
|
||||
char AesKey[18] = "aikehotel19980921"; //AES密钥
|
||||
RoomSetUpDlg m_RoomSetUpDlg; //房间设置界面
|
||||
CommodityDlg m_CommodityDlg; //商品信息界面
|
||||
PaymentDlg PaymentDlg; //付款方式界面
|
||||
@ -59,7 +59,6 @@ public:
|
||||
PrintSetUpDlg PrintSetUpDlg; //打印设置界面
|
||||
CouponDlg m_CouponDlg; //票券设置界面
|
||||
ParameterDlg m_ParameterDlg; //参数设置界面
|
||||
|
||||
//MFC回调函数
|
||||
// virtual BOOL PreTranslateMessage(MSG* pMsg); //截获窗口消息
|
||||
afx_msg void OnSize(UINT nType, int cx, int cy); //窗口大小发生改变
|
||||
@ -80,6 +79,7 @@ public:
|
||||
VOID MoveAllWin(); //移动所有窗口和按钮
|
||||
VOID HideAllBt(BOOL Hide = TRUE); //隐藏所有按钮
|
||||
BOOL CheckAuthority(CString Authority); //检查权限
|
||||
INT CheckUser(CString Name, CString Pass, BOOL isSystem); //检查账号密码
|
||||
VOID SetUpClick(int id); //设置按钮
|
||||
VOID HomepageClick(int id); //回到主页
|
||||
VOID RoomSetUpClick(int id); //点击房间设置
|
||||
|
@ -14,11 +14,13 @@
|
||||
#define IDD_COUPONDLG 139
|
||||
#define IDD_DISCOUNTDLG 140
|
||||
#define IDD_PARAMENTERDLG 141
|
||||
#define IDD_DIALOG1 142
|
||||
#define IDD_LOGINDLG 142
|
||||
#define IDC_LIST1 1000
|
||||
#define IDC_BUTTON1 1001
|
||||
#define IDC_BUTTON2 1002
|
||||
#define IDC_EDIT1 1002
|
||||
#define IDC_EDIT2 1003
|
||||
#define IDC_CHECK1 1004
|
||||
#define ID_32771 32771
|
||||
#define ID_32772 32772
|
||||
#define ID_SHOW_MENU 32773
|
||||
@ -30,7 +32,7 @@
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 144
|
||||
#define _APS_NEXT_COMMAND_VALUE 32775
|
||||
#define _APS_NEXT_CONTROL_VALUE 1002
|
||||
#define _APS_NEXT_CONTROL_VALUE 1005
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user