Browse Source

甘肃紫光平台,嵌入计量支付软件,无密码通过网页登陆。

Chenshilong 9 năm trước cách đây
mục cha
commit
a445cde591

+ 5 - 3
DataModules/PHPWebDm.pas

@@ -85,7 +85,8 @@ type
     function Search(AURL: string; AInFields, AInValues: array of string; var AOutRecords: TOVArr): Integer; overload;
     function Search(AURL: string; AInFields, AInValues: array of string; var AOutStrs: array of string ; var AOutRecords: TOVArr): Integer; overload;
     function Search(AURL: string; AInFields, AInValues: array of string; AResultType: Integer; var AOutStrs: array of string ; var AOutRecords: TOVArr): Integer; overload;
-    function Login(AAccount, APW: string; var AInfo, ANewExeURL: string): TLoginType;
+    // ALoginType, 登录类型,1 正常情况下的用户名密码;2 紫光平台调用仅用户名无密码
+    function Login(AAccount, APW: string; ALoginType: Integer; var AInfo, ANewExeURL: string): TLoginType;
     function ConnectServer(AIP: string; var ACompanyName: string): Integer;  // 新装软件,先弹出设置IP窗口
     function UpDataFile(AUserID, ATenderID, APhaseNo: Integer; AFile, AMD5_JL: string;
       AIsSubmit: Boolean; var AResultStr: string; ACheckPassed: Boolean; ACheckerMemo: string): Boolean;
@@ -158,11 +159,12 @@ begin
   Result := 'JLZF';
 end;
 
-function TPHPWeb.Login(AAccount, APW: string; var AInfo, ANewExeURL: string): TLoginType;
+function TPHPWeb.Login(AAccount, APW: string; ALoginType: Integer; var AInfo, ANewExeURL: string): TLoginType;
 var vArr: array of string;
 begin
   vArr := VarArrayOf(['uid', 'name', 'email', 'ucompany', 'jobtitle', 'avatar', 'msg']);
-  case Search(FMeasureURL + 'signin', ['v4name', 'v4pass', 'version'], [AnsiToUtf8(AAccount), APW, {'0.0.0.0'}GetVersion], vArr) of
+  case Search(FMeasureURL + 'signin', ['v4name', 'v4pass', 'version', 'logintype'],
+    [AnsiToUtf8(AAccount), APW, GetVersion{'0.0.0.0'}, IntToStr(ALoginType)], vArr) of
     -1: Result := ltDisCon;
     0:
     begin

+ 1 - 1
Dprs/CSL/Measure_Cloud.cfg

@@ -35,7 +35,7 @@
 -N"D:\Work\DelphiTemp"
 -LE"c:\program files (x86)\borland\delphi7\Projects\Bpl"
 -LN"c:\program files (x86)\borland\delphi7\Projects\Bpl"
--D_mCloud;_mEncrypt1;_Test
+-D_mCloud;_mEncrypt1;_Test;_mLoginNoPW
 -w-UNSAFE_TYPE
 -w-UNSAFE_CODE
 -w-UNSAFE_CAST

+ 7 - 6
Dprs/CSL/Measure_Cloud.dof

@@ -96,7 +96,7 @@ PackageDLLOutputDir=
 PackageDCPOutputDir=
 SearchPath=
 Packages=vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOfficeXP;ZjGridD7;DPanel;ExTree;JimComboBoxs;JimTab;PrintComRep;XPMenu_tom;ZjGridFereD7;ZjCommon;SmartDataSet;ZjGridActns
-Conditionals=_mCloud;_mEncrypt1;_Test
+Conditionals=_mCloud;_mEncrypt1;_Test;_mLoginNoPW
 DebugSourceDirs=
 UsePackages=0
 [Parameters]
@@ -115,7 +115,7 @@ AutoIncBuild=1
 MajorVer=3
 MinorVer=1
 Release=3
-Build=1101
+Build=1106
 Debug=0
 PreRelease=0
 Special=0
@@ -126,7 +126,7 @@ CodePage=936
 [Version Info Keys]
 CompanyName=珠海纵横创新软件有限公司
 FileDescription=纵横结算决算计量一体化云版
-FileVersion=3.1.3.1101
+FileVersion=3.1.3.1106
 InternalName=
 LegalCopyright=
 LegalTrademarks=
@@ -134,9 +134,10 @@ OriginalFilename=
 ProductName=
 ProductVersion=1.0.0.0
 [HistoryLists\hlConditionals]
-Count=2
-Item0=_mCloud;_mEncrypt1;_Test
-Item1=_mCloud;_mEncrypt;_Test
+Count=3
+Item0=_mCloud;_mEncrypt1;_Test;_mLoginNoPW
+Item1=_mCloud;_mEncrypt1;_Test
+Item2=_mCloud;_mEncrypt;_Test
 [HistoryLists\hlUnitAliases]
 Count=1
 Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;

+ 43 - 2
Dprs/CSL/Measure_Cloud.dpr

@@ -204,13 +204,17 @@ uses
   ExcelImport_Bills in '..\..\Units\ExcelImport_Bills.pas',
   ExcelImport_GclBills in '..\..\Units\ExcelImport_GclBills.pas',
   FileDownLoadFrm in '..\..\Forms\FileDownLoadFrm.pas' {FileDownLoadForm},
-  DebugUsers in '..\..\Units\DebugUsers.pas';
+  DebugUsers in '..\..\Units\DebugUsers.pas',
+  DbTreeImport in '..\..\Units\DbTreeImport.pas',
+  DbTreeDm in '..\..\DataModules\DbTreeDm.pas' {DbTreeData: TDataModule};
 
 {$R *.res}
 
 var
   Mutex: THandle;
   IPForm: TIPForm;
+  sInfo, sURL: string;
+  vFDForm: TFileDownLoadForm;
 
 begin
   Mutex := CreateMutex(nil, True, G_AppHandleName);
@@ -238,17 +242,54 @@ begin
         IPForm.Free;
       end;
 
+      {$IFDEF _mLoginNoPW}
+      if ParamStr(1) = '' then         // 表示手工运行的
+      begin
+        Application.MessageBox('本软件只能通过紫光平台打开!', '系统提示', MB_OK + MB_ICONINFORMATION);
+        Application.Terminate;
+      end
+      else
+      begin
+        case PHPWeb.Login(ParamStr(1), '', 2, sInfo, sURL) of
+          ltUpdate:  // 升级
+          begin
+            if Application.MessageBox(PChar(sInfo), '系统提示', MB_OKCANCEL + MB_ICONQUESTION) = ID_OK then
+            begin
+              vFDForm := TFileDownLoadForm.Create(nil);
+              try
+                vFDForm.URL := sURL;
+                vFDForm.ShowModal;
+              finally
+                vFDForm.Free;
+              end;
+            end;
+          end;
+
+          ltDisCon:
+          begin
+            Application.MessageBox('网络错误,请稍后重试!', '操作提醒', MB_OK + MB_ICONWARNING);
+            Application.Terminate;
+          end;
+
+        else
+          ;
+        end;  
+      end;
+
+      {$ELSE}
       if not LoginForm then
       begin
         Application.Terminate;
         Exit;
       end;
+      {$ENDIF}
+      
     {$ENDIF}
 
     if CheckDogExists then
     begin
       Application.CreateForm(TMainForm, MainForm);
-  end;
+    end;
     Application.Run;
   end;
 

BIN
Dprs/CSL/Measure_Cloud.res


+ 1 - 1
Forms/LoginFrm.pas

@@ -188,7 +188,7 @@ begin
     Exit;
   end;
 
-  case PHPWeb.Login(cbUser.Text, edtPW.Text, sInfo, sURL) of
+  case PHPWeb.Login(cbUser.Text, edtPW.Text, 1, sInfo, sURL) of
     ltCon:
     begin
       ModalResult := mrOk;