📄 home.pas
字号:
unit home;
interface
uses
Windows, Messages, SysUtils, DateUtils,Classes, HTTPApp, WebModu, HTTPProd, ReqMulti,
WebUsers, WebSess, WebDisp, WebAdapt, WebComp, CompProd, PagItems,
SiteProd, MidItems, WebForm;
type
THrHome = class(TWebAppPageModule)
AdapterPageProducer: TAdapterPageProducer;
WebAppComponents: TWebAppComponents;
ApplicationAdapter: TApplicationAdapter;
PageDispatcher: TPageDispatcher;
AdapterDispatcher: TAdapterDispatcher;
WebDispatcher: TWebDispatcher;
SessionsService: TSessionsService;
WebUserList: TWebUserList;
EndUserSessionAdapter1: TEndUserSessionAdapter;
AdaptDisplayName: TAdapterEndUserDisplayNameField;
AdaptLoggedIn: TAdapterEndUserLoggedInField;
AdaptGrp: TAdapterField;
AdaptName: TAdapterField;
AdapterForm1: TAdapterForm;
AdapterFieldGroup1: TAdapterFieldGroup;
procedure WebUserListBeforeValidateUser(Strings: TStrings;
var UserID: Variant; var Handled: Boolean);
procedure AdaptGrpGetValue(Sender: TObject; var Value: Variant);
procedure AdaptNameGetValue(Sender: TObject; var Value: Variant);
procedure PageDispatcherCanViewPage(Sender: TObject;
const PageName: String; var CanView, AHandled: Boolean);
procedure WebAppComponentsBeforeDispatch(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
private
{ Private declarations }
public
FEmpId,FGrpId:string;
end;
function HrHome: THrHome;
implementation
{$R *.dfm} {*.html}
uses WebReq, WebCntxt, WebFact, Variants, wdmDB;
function HrHome: THrHome;
begin
Result := THrHome(WebContext.FindModuleClass(THrHome));
end;
procedure THrHome.WebUserListBeforeValidateUser(Strings: TStrings;
var UserID: Variant; var Handled: Boolean);
var UserItem:TWebUserItem;
begin
//从basicinfo,enduser和usergroup表中联合查询出登录用户信息.
wdm.adqTmp.SQL.Clear;
wdm.adqTmp.SQL.Add('select b.Empid,a.name,b.password,b.groupid,c.grouptype ');
wdm.adqTmp.SQL.Add('from basicinfo a,enduser b,usergroup c ');
wdm.adqTmp.SQL.Add('where a.empid=b.empid and b.groupid=c.groupid and ');
wdm.adqTmp.SQL.Add('b.empid='+#39+Strings.Values['UserName']+#39);
wdm.adqTmp.SQL.Add(' and b.password='+#39+Strings.Values['Password']+#39);
wdm.adqTmp.Open;
if wdm.adqTmp.RecordCount > 0 then
begin
UserID:=Strings.Values['UserName'];
UserItem:=WebUserList.UserItems.Add as TWebUserItem;
UserItem.UserName:=Strings.Values['UserName'];
UserItem.Password:=Strings.Values['Password'];;
UserItem.AccessRights:=wdm.adqTmp.FieldValues['groupid'];
FEmpId:=Strings.Values['UserName'];
FGrpId:=wdm.adqTmp.FieldValues['groupid'];
Session.Values['groupid']:=wdm.adqTmp.FieldValues['groupid'];
Session.Values['empid']:=wdm.adqTmp.FieldValues['empid'];
Session.Values['name']:=wdm.adqTmp.FieldValues['name'];
Session.Values['grp']:=wdm.adqTmp.FieldValues['grouptype'];
Session.Values['EmailID'] := Session.Values['name'];
Session.Values['EmailPassword'] := UserItem.Password;
Session.Values['EmailHost'] := '26.29.240.3';
Session.Values['EmailTo']:='';
Session.Values['EmailFrom']:=Session.Values['name'];
Handled:=True;
end
else Handled:=False;
end;
procedure THrHome.AdaptGrpGetValue(Sender: TObject;
var Value: Variant);
begin
if not VarIsEmpty(Session.Values['grp']) then
Value:=Session.Values['grp']
else Value:='';
end;
procedure THrHome.AdaptNameGetValue(Sender: TObject; var Value: Variant);
begin
if not VarIsEmpty(Session.Values['Name']) then
Value:=Session.Values['Name']
else Value:='';
end;
procedure THrHome.PageDispatcherCanViewPage(Sender: TObject;
const PageName: String; var CanView, AHandled: Boolean);
begin
if pageName='QryPageB2' then
if FGrpID<>'B1' then canview:=False;
end;
procedure THrHome.WebAppComponentsBeforeDispatch(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
var i:integer;
begin
for i:=0 to webcontext.Response.Cookies.Count-1 do
begin
if SameText(webcontext.Response.Cookies.Items[i].Name,'WebBrokerSessionID') then
begin
if webcontext.Response.Cookies.Items[i].Expires=-1 then
webcontext.Response.Cookies.Items[i].Expires:=IncDay(Date);
end;
end;
end;
initialization
if WebRequestHandler <> nil then
WebRequestHandler.AddWebModuleFactory(TWebAppPageModuleFactory.Create(THrHome, TWebPageInfo.Create([wpPublished {, wpLoginRequired}], '.html', '', '首页'), caCache));
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -