⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 home.pas

📁 关于利用DELPHI来进行企业级方案解决的著作的附书源码
💻 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 + -