添加登录按钮,点击基础数据验证账号权限
This commit is contained in:
parent
6f47fbc9b2
commit
824e596b9c
@ -5,6 +5,7 @@
|
|||||||
#include "aike.h"
|
#include "aike.h"
|
||||||
#include "afxdialogex.h"
|
#include "afxdialogex.h"
|
||||||
#include "LogInDlg.h"
|
#include "LogInDlg.h"
|
||||||
|
#include "aikeDlg.h"
|
||||||
|
|
||||||
|
|
||||||
// LogInDlg 对话框
|
// LogInDlg 对话框
|
||||||
@ -14,52 +15,113 @@ IMPLEMENT_DYNAMIC(LogInDlg, MyDialog)
|
|||||||
LogInDlg::LogInDlg(CWnd* pParent /*=nullptr*/)
|
LogInDlg::LogInDlg(CWnd* pParent /*=nullptr*/)
|
||||||
: MyDialog(IDD_LOGINDLG, pParent)
|
: MyDialog(IDD_LOGINDLG, pParent)
|
||||||
{
|
{
|
||||||
|
m_Parent = pParent;
|
||||||
}
|
}
|
||||||
|
|
||||||
LogInDlg::~LogInDlg()
|
LogInDlg::~LogInDlg()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
//void LogInDlg::DoDataExchange(CDataExchange* pDX)
|
|
||||||
//{
|
|
||||||
// MyDialog::DoDataExchange(pDX);
|
|
||||||
//}
|
|
||||||
|
|
||||||
|
|
||||||
BEGIN_MESSAGE_MAP(LogInDlg, MyDialog)
|
BEGIN_MESSAGE_MAP(LogInDlg, MyDialog)
|
||||||
ON_WM_PAINT()
|
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()
|
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()
|
BOOL LogInDlg::OnInitDialog()
|
||||||
{
|
{
|
||||||
__super::OnInitDialog();
|
__super::OnInitDialog();
|
||||||
//CImage img;
|
CImage img;
|
||||||
//img.Load(_T("../aike/res/background.jpg"));
|
img.Load(_T("../aike/res/background.jpg"));
|
||||||
//myDlg->SetBackground(img);
|
//SetBackground(img);
|
||||||
//myDlg->PaintDlg();
|
PaintDlg();
|
||||||
// TODO: 在此添加额外的初始化
|
// TODO: 在此添加额外的初始化
|
||||||
//PaintDlg();
|
//PaintDlg();
|
||||||
FixedSize();
|
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
|
return TRUE; // return TRUE unless you set the focus to a control
|
||||||
// 异常: OCX 属性页应返回 FALSE
|
// 异常: 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
|
#endif
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
|
|
||||||
|
|
||||||
DECLARE_MESSAGE_MAP()
|
DECLARE_MESSAGE_MAP()
|
||||||
|
|
||||||
public:
|
public:
|
||||||
//virtual BOOL PreTranslateMessage(MSG* pMsg);
|
CWnd* m_Parent = NULL;
|
||||||
//afx_msg void OnPaint();
|
|
||||||
virtual BOOL OnInitDialog();
|
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);
|
tt.MoveToX(rt.Width() - 25);
|
||||||
MoveButton(4, tt);
|
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);
|
GetWindowRect(rt);
|
||||||
rt.MoveToXY(-50, -50);
|
rt.MoveToXY(-50, -50);
|
||||||
rt.left = 150;
|
rt.left = 150;
|
||||||
@ -385,10 +400,8 @@ BOOL CaikeDlg::CheckAuthority(CString Authority)
|
|||||||
if (LogName == _T(""))
|
if (LogName == _T(""))
|
||||||
{
|
{
|
||||||
//MessageBox(_T("请先登录账号"), _T("温馨提示"));
|
//MessageBox(_T("请先登录账号"), _T("温馨提示"));
|
||||||
ttttt = FALSE;
|
LogInDlg dlg(this);
|
||||||
LogInDlg dlg;
|
if (dlg.DoModal() != IDOK)
|
||||||
dlg.DoModal();
|
|
||||||
ttttt = TRUE;
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
if (LogName == _T("系统管理员"))
|
if (LogName == _T("系统管理员"))
|
||||||
@ -412,12 +425,66 @@ BOOL CaikeDlg::CheckAuthority(CString Authority)
|
|||||||
|
|
||||||
if (tmp.Find(_T("$") + Authority + _T("$")) == -1)
|
if (tmp.Find(_T("$") + Authority + _T("$")) == -1)
|
||||||
{
|
{
|
||||||
MessageBox(_T("该账号权限不足"), _T("温馨提示"));
|
MessageBox(_T("该用户没有此权限"), _T("温馨提示"));
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
return TRUE;
|
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)
|
VOID CaikeDlg::SetUpClick(int id)
|
||||||
{
|
{
|
||||||
|
@ -49,7 +49,7 @@ public:
|
|||||||
CString UserName; //数据库用户名
|
CString UserName; //数据库用户名
|
||||||
CString AdoPass; //数据库密码
|
CString AdoPass; //数据库密码
|
||||||
CString LogName; //当前登录的账号
|
CString LogName; //当前登录的账号
|
||||||
BOOL ttttt = TRUE;
|
char AesKey[18] = "aikehotel19980921"; //AES密钥
|
||||||
RoomSetUpDlg m_RoomSetUpDlg; //房间设置界面
|
RoomSetUpDlg m_RoomSetUpDlg; //房间设置界面
|
||||||
CommodityDlg m_CommodityDlg; //商品信息界面
|
CommodityDlg m_CommodityDlg; //商品信息界面
|
||||||
PaymentDlg PaymentDlg; //付款方式界面
|
PaymentDlg PaymentDlg; //付款方式界面
|
||||||
@ -59,7 +59,6 @@ public:
|
|||||||
PrintSetUpDlg PrintSetUpDlg; //打印设置界面
|
PrintSetUpDlg PrintSetUpDlg; //打印设置界面
|
||||||
CouponDlg m_CouponDlg; //票券设置界面
|
CouponDlg m_CouponDlg; //票券设置界面
|
||||||
ParameterDlg m_ParameterDlg; //参数设置界面
|
ParameterDlg m_ParameterDlg; //参数设置界面
|
||||||
|
|
||||||
//MFC回调函数
|
//MFC回调函数
|
||||||
// virtual BOOL PreTranslateMessage(MSG* pMsg); //截获窗口消息
|
// virtual BOOL PreTranslateMessage(MSG* pMsg); //截获窗口消息
|
||||||
afx_msg void OnSize(UINT nType, int cx, int cy); //窗口大小发生改变
|
afx_msg void OnSize(UINT nType, int cx, int cy); //窗口大小发生改变
|
||||||
@ -80,6 +79,7 @@ public:
|
|||||||
VOID MoveAllWin(); //移动所有窗口和按钮
|
VOID MoveAllWin(); //移动所有窗口和按钮
|
||||||
VOID HideAllBt(BOOL Hide = TRUE); //隐藏所有按钮
|
VOID HideAllBt(BOOL Hide = TRUE); //隐藏所有按钮
|
||||||
BOOL CheckAuthority(CString Authority); //检查权限
|
BOOL CheckAuthority(CString Authority); //检查权限
|
||||||
|
INT CheckUser(CString Name, CString Pass, BOOL isSystem); //检查账号密码
|
||||||
VOID SetUpClick(int id); //设置按钮
|
VOID SetUpClick(int id); //设置按钮
|
||||||
VOID HomepageClick(int id); //回到主页
|
VOID HomepageClick(int id); //回到主页
|
||||||
VOID RoomSetUpClick(int id); //点击房间设置
|
VOID RoomSetUpClick(int id); //点击房间设置
|
||||||
|
@ -14,11 +14,13 @@
|
|||||||
#define IDD_COUPONDLG 139
|
#define IDD_COUPONDLG 139
|
||||||
#define IDD_DISCOUNTDLG 140
|
#define IDD_DISCOUNTDLG 140
|
||||||
#define IDD_PARAMENTERDLG 141
|
#define IDD_PARAMENTERDLG 141
|
||||||
#define IDD_DIALOG1 142
|
|
||||||
#define IDD_LOGINDLG 142
|
#define IDD_LOGINDLG 142
|
||||||
#define IDC_LIST1 1000
|
#define IDC_LIST1 1000
|
||||||
#define IDC_BUTTON1 1001
|
#define IDC_BUTTON1 1001
|
||||||
#define IDC_BUTTON2 1002
|
#define IDC_BUTTON2 1002
|
||||||
|
#define IDC_EDIT1 1002
|
||||||
|
#define IDC_EDIT2 1003
|
||||||
|
#define IDC_CHECK1 1004
|
||||||
#define ID_32771 32771
|
#define ID_32771 32771
|
||||||
#define ID_32772 32772
|
#define ID_32772 32772
|
||||||
#define ID_SHOW_MENU 32773
|
#define ID_SHOW_MENU 32773
|
||||||
@ -30,7 +32,7 @@
|
|||||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||||
#define _APS_NEXT_RESOURCE_VALUE 144
|
#define _APS_NEXT_RESOURCE_VALUE 144
|
||||||
#define _APS_NEXT_COMMAND_VALUE 32775
|
#define _APS_NEXT_COMMAND_VALUE 32775
|
||||||
#define _APS_NEXT_CONTROL_VALUE 1002
|
#define _APS_NEXT_CONTROL_VALUE 1005
|
||||||
#define _APS_NEXT_SYMED_VALUE 101
|
#define _APS_NEXT_SYMED_VALUE 101
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user