unit UApp; interface uses mybean.core.objects, Classes, SysUtils, StrUtils, superobject, Dialogs, DateUtils, InterfaceAppCentre, Graphics,IdHttp,IdHttpEx,EncdDecd,XXTEA; type TApp = class(TMyBeanInterfacedObject, IApp) private FEmbedded: Boolean; public FID: Integer; FAppID :Integer; FIcon: AnsiString; FTitle: AnsiString; FCode: AnsiString; FUrl: AnsiString; FCallBackUri: AnsiString; FTopmost: Boolean; FLocked: Boolean; FAppKey: AnsiString; FAppSecret: AnsiString; FStyle: Byte; FAppStatus: Byte; FUserID: LongWord; FAccessToken: AnsiString; FAccessTokenExpired: AnsiString; FRefreshToken:AnsiString; FOpenID: AnsiString; FOpenKey: AnsiString; FScope:AnsiString; FUserStatus: Integer; FIsAccessTokenValid: Boolean; /// /// 是否放在主面板上. /// function GetID: Integer; stdcall; function GetImageUrl:AnsiString; stdcall; function GetIsHot :Boolean; stdcall; function GetAppID :Integer; stdcall; function GetIcon: AnsiString; stdcall; function GetTitle: AnsiString; stdcall; function GetCode: AnsiString; stdcall; function GetUrl: AnsiString; stdcall; function GetCallBackUri: AnsiString; stdcall; function GetTopmost: Boolean; stdcall; function GetLocked: Boolean; stdcall; function GetAppKey: AnsiString; stdcall; function GetAppSecret: AnsiString; stdcall; function GetStyle: Byte; stdcall; function GetAppStatus: Byte; stdcall; function GetUserID: LongWord; stdcall; function GetAccessToken: AnsiString; stdcall; function GetAccessTokenExpired: AnsiString; stdcall; function GetRefreshToken:AnsiString; stdcall; function GetOpenID: AnsiString; stdcall; function GetOpenKey: AnsiString; stdcall; function GetScope:AnsiString; stdcall; function GetUserStatus: Integer; stdcall; function GetIsAccessTokenValid: Boolean; stdcall; function GetEmbedded: Boolean; stdcall; property ID: Integer read GetID write FID; property AppID :Integer read GetAppID write FAppID; property Icon: AnsiString read GetIcon write FIcon; property Title: AnsiString read GetTitle write FTitle; property Url: AnsiString read GetUrl write FUrl; property Code: AnsiString read GetCode write FCode; property CallBackUri: AnsiString read GetCallBackUri write FCallBackUri; property Topmost: Boolean read GetTopmost write FTopmost; property Locked: Boolean read GetLocked write FLocked; property AppKey: AnsiString read GetAppKey write FAppKey; property AppSecret: AnsiString read GetAppSecret write FAppSecret; property Style: Byte read GetStyle write FStyle; property AppStatus: Byte read GetAppStatus write FAppStatus; property UserID: LongWord read GetUserID write FUserID; property AccessToken: AnsiString read GetAccessToken write FAccessToken; property AccessTokenExpired: AnsiString read GetAccessTokenExpired write FAccessTokenExpired; property RefreshToken:AnsiString read GetRefreshToken write FRefreshToken; property OpenID: AnsiString read GetOpenID write FOpenID; property OpenKey: AnsiString read GetOpenKey write FOpenKey; property Scope:AnsiString read GetScope write FScope; property UserStatus: Integer read GetUserStatus write FUserStatus; property IsAccessTokenValid: Boolean read GetIsAccessTokenValid write FIsAccessTokenValid; property Embedded: Boolean read GetEmbedded write FEmbedded; destructor Destroy; override; function IsCSApp: Boolean; stdcall; function IsBSApp: Boolean; stdcall; function IsPhoneApp: Boolean; stdcall; end; THotApp = class(TMyBeanInterfacedObject, IHotApp) private FID, FUserAppID, FPosition, FStatus: Integer; FOpenID, FCreateDate: AnsiString; FUserApp: IApp; procedure SetCreateDate(const Value: AnsiString); procedure SetID(const Value: Integer); procedure SetOpenID(const Value: AnsiString); procedure SetPosition(const Value: Integer); procedure SetStatus(const Value: Integer); procedure SetUserApp(const Value: IApp); procedure SetUserAppID(const Value: Integer); public destructor Destroy; override; function GetID: Integer; stdcall; function GetUserAppID: Integer; stdcall; function GetOpenID: AnsiString; stdcall; function GetPosition: Integer; stdcall; function GetStatus: Integer; stdcall; function GetCreateDate: AnsiString; stdcall; function GetUserApp: IApp; stdcall; property ID: Integer read GetID write SetID; property UserAppID: Integer read GetUserAppID write SetUserAppID; property Position: Integer read GetPosition write SetPosition; property Status: Integer read GetStatus write SetStatus; property OpenID: AnsiString read GetOpenID write SetOpenID; property CreateDate: AnsiString read GetCreateDate write SetCreateDate; property UserApp: IApp read GetUserApp write SetUserApp; end; implementation uses Windows; { TApp } destructor TApp.Destroy; begin //OutputDebugString(PChar('TApp.Destroy-' + FAppKey + ':' + IntToStr(RefCount))); inherited; end; function TApp.GetAccessToken: AnsiString; begin Result := FAccessToken; end; function TApp.GetAccessTokenExpired: AnsiString; begin Result := FAccessTokenExpired; end; function TApp.GetAppID: Integer; begin Result := FAppID; end; function TApp.GetAppKey: AnsiString; begin Result := FAppKey; end; function TApp.GetAppSecret: AnsiString; begin Result := FAppSecret; end; function TApp.GetAppStatus: Byte; begin Result := FAppStatus; end; function TApp.GetCallBackUri: AnsiString; begin Result := FCallBackUri; end; function TApp.GetCode: AnsiString; begin Result := FCode; end; function TApp.GetEmbedded: Boolean; begin Result := FEmbedded; end; function TApp.GetIcon: AnsiString; begin Result := FIcon; end; function TApp.GetID: Integer; begin Result := FID; end; function TApp.getImageUrl: AnsiString; begin // Result := FImageUrl; end; function TApp.GetIsAccessTokenValid: Boolean; begin Result := FIsAccessTokenValid; end; function TApp.getIsHot: Boolean; begin // Result := FIsHot; end; function TApp.GetLocked: Boolean; begin Result := FLocked; end; function TApp.GetOpenID: AnsiString; begin Result := FOpenID; end; function TApp.GetOpenKey: AnsiString; begin Result := FOpenKey; end; function TApp.GetRefreshToken: AnsiString; begin Result := FRefreshToken; end; function TApp.GetScope: AnsiString; begin Result := FScope; end; function TApp.GetStyle: Byte; begin Result := FStyle; end; function TApp.GetTitle: AnsiString; begin Result := FTitle; end; function TApp.GetTopmost: Boolean; begin Result := FTopmost; end; function TApp.GetUrl: AnsiString; begin Result := FUrl; end; function TApp.GetUserID: LongWord; begin Result := FUserID; end; function TApp.GetUserStatus: Integer; begin Result := FUserStatus; end; function TApp.IsBSApp: Boolean; var AProtocol: string; begin Result := False; if Length(Url) < 4 then Exit; AProtocol := Copy(Url, 1, 4); Result := SameText(AProtocol, 'http'); end; function TApp.IsCSApp: Boolean; var AProtocol: string; begin Result := True; if Length(Url) < 4 then Exit; AProtocol := Copy(Url, 1, 4); Result := not SameText(AProtocol, 'http'); end; function TApp.IsPhoneApp: Boolean; begin Result := (FStyle and $08) <> 0; end; { THotApp } destructor THotApp.Destroy; begin //OutputDebugString(PChar('THotApp.Destroy-' + IntToStr(fid) + '('+GetUserApp.GetAppKey+')' + ':' + IntToStr(RefCount))); inherited; end; function THotApp.GetCreateDate: AnsiString; begin Result := FCreateDate; end; function THotApp.GetID: Integer; begin Result := FID; end; function THotApp.GetOpenID: AnsiString; begin Result := FOpenID; end; function THotApp.GetPosition: Integer; begin Result := FPosition; end; function THotApp.GetStatus: Integer; begin Result := FStatus; end; function THotApp.GetUserApp: IApp; begin Result := FUserApp; end; function THotApp.GetUserAppID: Integer; begin Result := FUserAppID; end; procedure THotApp.SetCreateDate(const Value: AnsiString); begin FCreateDate := Value; end; procedure THotApp.SetID(const Value: Integer); begin FID := Value; end; procedure THotApp.SetOpenID(const Value: AnsiString); begin FOpenID := Value; end; procedure THotApp.SetPosition(const Value: Integer); begin FPosition := Value; end; procedure THotApp.SetStatus(const Value: Integer); begin FStatus := Value; end; procedure THotApp.SetUserApp(const Value: IApp); begin FUserApp := Value; end; procedure THotApp.SetUserAppID(const Value: Integer); begin FUserAppID := Value; end; end.