UApp.pas 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375
  1. unit UApp;
  2. interface
  3. uses
  4. mybean.core.objects, Classes, SysUtils, StrUtils, superobject, Dialogs,
  5. DateUtils, InterfaceAppCentre, Graphics,IdHttp,IdHttpEx,EncdDecd,XXTEA;
  6. type
  7. TApp = class(TMyBeanInterfacedObject, IApp)
  8. private
  9. FEmbedded: Boolean;
  10. public
  11. FID: Integer;
  12. FAppID :Integer;
  13. FIcon: AnsiString;
  14. FTitle: AnsiString;
  15. FCode: AnsiString;
  16. FUrl: AnsiString;
  17. FCallBackUri: AnsiString;
  18. FTopmost: Boolean;
  19. FLocked: Boolean;
  20. FAppKey: AnsiString;
  21. FAppSecret: AnsiString;
  22. FStyle: Byte;
  23. FAppStatus: Byte;
  24. FUserID: LongWord;
  25. FAccessToken: AnsiString;
  26. FAccessTokenExpired: AnsiString;
  27. FRefreshToken:AnsiString;
  28. FOpenID: AnsiString;
  29. FOpenKey: AnsiString;
  30. FScope:AnsiString;
  31. FUserStatus: Integer;
  32. FIsAccessTokenValid: Boolean;
  33. /// <remarks>
  34. /// ÊÇ·ñ·ÅÔÚÖ÷Ãæ°åÉÏ.
  35. /// </remarks>
  36. function GetID: Integer; stdcall;
  37. function GetImageUrl:AnsiString; stdcall;
  38. function GetIsHot :Boolean; stdcall;
  39. function GetAppID :Integer; stdcall;
  40. function GetIcon: AnsiString; stdcall;
  41. function GetTitle: AnsiString; stdcall;
  42. function GetCode: AnsiString; stdcall;
  43. function GetUrl: AnsiString; stdcall;
  44. function GetCallBackUri: AnsiString; stdcall;
  45. function GetTopmost: Boolean; stdcall;
  46. function GetLocked: Boolean; stdcall;
  47. function GetAppKey: AnsiString; stdcall;
  48. function GetAppSecret: AnsiString; stdcall;
  49. function GetStyle: Byte; stdcall;
  50. function GetAppStatus: Byte; stdcall;
  51. function GetUserID: LongWord; stdcall;
  52. function GetAccessToken: AnsiString; stdcall;
  53. function GetAccessTokenExpired: AnsiString; stdcall;
  54. function GetRefreshToken:AnsiString; stdcall;
  55. function GetOpenID: AnsiString; stdcall;
  56. function GetOpenKey: AnsiString; stdcall;
  57. function GetScope:AnsiString; stdcall;
  58. function GetUserStatus: Integer; stdcall;
  59. function GetIsAccessTokenValid: Boolean; stdcall;
  60. function GetEmbedded: Boolean; stdcall;
  61. property ID: Integer read GetID write FID;
  62. property AppID :Integer read GetAppID write FAppID;
  63. property Icon: AnsiString read GetIcon write FIcon;
  64. property Title: AnsiString read GetTitle write FTitle;
  65. property Url: AnsiString read GetUrl write FUrl;
  66. property Code: AnsiString read GetCode write FCode;
  67. property CallBackUri: AnsiString read GetCallBackUri write FCallBackUri;
  68. property Topmost: Boolean read GetTopmost write FTopmost;
  69. property Locked: Boolean read GetLocked write FLocked;
  70. property AppKey: AnsiString read GetAppKey write FAppKey;
  71. property AppSecret: AnsiString read GetAppSecret write FAppSecret;
  72. property Style: Byte read GetStyle write FStyle;
  73. property AppStatus: Byte read GetAppStatus write FAppStatus;
  74. property UserID: LongWord read GetUserID write FUserID;
  75. property AccessToken: AnsiString read GetAccessToken write FAccessToken;
  76. property AccessTokenExpired: AnsiString read GetAccessTokenExpired write FAccessTokenExpired;
  77. property RefreshToken:AnsiString read GetRefreshToken write FRefreshToken;
  78. property OpenID: AnsiString read GetOpenID write FOpenID;
  79. property OpenKey: AnsiString read GetOpenKey write FOpenKey;
  80. property Scope:AnsiString read GetScope write FScope;
  81. property UserStatus: Integer read GetUserStatus write FUserStatus;
  82. property IsAccessTokenValid: Boolean read GetIsAccessTokenValid write FIsAccessTokenValid;
  83. property Embedded: Boolean read GetEmbedded write FEmbedded;
  84. destructor Destroy; override;
  85. function IsCSApp: Boolean; stdcall;
  86. function IsBSApp: Boolean; stdcall;
  87. function IsPhoneApp: Boolean; stdcall;
  88. end;
  89. THotApp = class(TMyBeanInterfacedObject, IHotApp)
  90. private
  91. FID,
  92. FUserAppID,
  93. FPosition,
  94. FStatus: Integer;
  95. FOpenID,
  96. FCreateDate: AnsiString;
  97. FUserApp: IApp;
  98. procedure SetCreateDate(const Value: AnsiString);
  99. procedure SetID(const Value: Integer);
  100. procedure SetOpenID(const Value: AnsiString);
  101. procedure SetPosition(const Value: Integer);
  102. procedure SetStatus(const Value: Integer);
  103. procedure SetUserApp(const Value: IApp);
  104. procedure SetUserAppID(const Value: Integer);
  105. public
  106. destructor Destroy; override;
  107. function GetID: Integer; stdcall;
  108. function GetUserAppID: Integer; stdcall;
  109. function GetOpenID: AnsiString; stdcall;
  110. function GetPosition: Integer; stdcall;
  111. function GetStatus: Integer; stdcall;
  112. function GetCreateDate: AnsiString; stdcall;
  113. function GetUserApp: IApp; stdcall;
  114. property ID: Integer read GetID write SetID;
  115. property UserAppID: Integer read GetUserAppID write SetUserAppID;
  116. property Position: Integer read GetPosition write SetPosition;
  117. property Status: Integer read GetStatus write SetStatus;
  118. property OpenID: AnsiString read GetOpenID write SetOpenID;
  119. property CreateDate: AnsiString read GetCreateDate write SetCreateDate;
  120. property UserApp: IApp read GetUserApp write SetUserApp;
  121. end;
  122. implementation
  123. uses
  124. Windows;
  125. { TApp }
  126. destructor TApp.Destroy;
  127. begin
  128. //OutputDebugString(PChar('TApp.Destroy-' + FAppKey + ':' + IntToStr(RefCount)));
  129. inherited;
  130. end;
  131. function TApp.GetAccessToken: AnsiString;
  132. begin
  133. Result := FAccessToken;
  134. end;
  135. function TApp.GetAccessTokenExpired: AnsiString;
  136. begin
  137. Result := FAccessTokenExpired;
  138. end;
  139. function TApp.GetAppID: Integer;
  140. begin
  141. Result := FAppID;
  142. end;
  143. function TApp.GetAppKey: AnsiString;
  144. begin
  145. Result := FAppKey;
  146. end;
  147. function TApp.GetAppSecret: AnsiString;
  148. begin
  149. Result := FAppSecret;
  150. end;
  151. function TApp.GetAppStatus: Byte;
  152. begin
  153. Result := FAppStatus;
  154. end;
  155. function TApp.GetCallBackUri: AnsiString;
  156. begin
  157. Result := FCallBackUri;
  158. end;
  159. function TApp.GetCode: AnsiString;
  160. begin
  161. Result := FCode;
  162. end;
  163. function TApp.GetEmbedded: Boolean;
  164. begin
  165. Result := FEmbedded;
  166. end;
  167. function TApp.GetIcon: AnsiString;
  168. begin
  169. Result := FIcon;
  170. end;
  171. function TApp.GetID: Integer;
  172. begin
  173. Result := FID;
  174. end;
  175. function TApp.getImageUrl: AnsiString;
  176. begin
  177. // Result := FImageUrl;
  178. end;
  179. function TApp.GetIsAccessTokenValid: Boolean;
  180. begin
  181. Result := FIsAccessTokenValid;
  182. end;
  183. function TApp.getIsHot: Boolean;
  184. begin
  185. // Result := FIsHot;
  186. end;
  187. function TApp.GetLocked: Boolean;
  188. begin
  189. Result := FLocked;
  190. end;
  191. function TApp.GetOpenID: AnsiString;
  192. begin
  193. Result := FOpenID;
  194. end;
  195. function TApp.GetOpenKey: AnsiString;
  196. begin
  197. Result := FOpenKey;
  198. end;
  199. function TApp.GetRefreshToken: AnsiString;
  200. begin
  201. Result := FRefreshToken;
  202. end;
  203. function TApp.GetScope: AnsiString;
  204. begin
  205. Result := FScope;
  206. end;
  207. function TApp.GetStyle: Byte;
  208. begin
  209. Result := FStyle;
  210. end;
  211. function TApp.GetTitle: AnsiString;
  212. begin
  213. Result := FTitle;
  214. end;
  215. function TApp.GetTopmost: Boolean;
  216. begin
  217. Result := FTopmost;
  218. end;
  219. function TApp.GetUrl: AnsiString;
  220. begin
  221. Result := FUrl;
  222. end;
  223. function TApp.GetUserID: LongWord;
  224. begin
  225. Result := FUserID;
  226. end;
  227. function TApp.GetUserStatus: Integer;
  228. begin
  229. Result := FUserStatus;
  230. end;
  231. function TApp.IsBSApp: Boolean;
  232. var
  233. AProtocol: string;
  234. begin
  235. Result := False;
  236. if Length(Url) < 4 then
  237. Exit;
  238. AProtocol := Copy(Url, 1, 4);
  239. Result := SameText(AProtocol, 'http');
  240. end;
  241. function TApp.IsCSApp: Boolean;
  242. var
  243. AProtocol: string;
  244. begin
  245. Result := True;
  246. if Length(Url) < 4 then
  247. Exit;
  248. AProtocol := Copy(Url, 1, 4);
  249. Result := not SameText(AProtocol, 'http');
  250. end;
  251. function TApp.IsPhoneApp: Boolean;
  252. begin
  253. Result := (FStyle and $08) <> 0;
  254. end;
  255. { THotApp }
  256. destructor THotApp.Destroy;
  257. begin
  258. //OutputDebugString(PChar('THotApp.Destroy-' + IntToStr(fid) + '('+GetUserApp.GetAppKey+')' + ':' + IntToStr(RefCount)));
  259. inherited;
  260. end;
  261. function THotApp.GetCreateDate: AnsiString;
  262. begin
  263. Result := FCreateDate;
  264. end;
  265. function THotApp.GetID: Integer;
  266. begin
  267. Result := FID;
  268. end;
  269. function THotApp.GetOpenID: AnsiString;
  270. begin
  271. Result := FOpenID;
  272. end;
  273. function THotApp.GetPosition: Integer;
  274. begin
  275. Result := FPosition;
  276. end;
  277. function THotApp.GetStatus: Integer;
  278. begin
  279. Result := FStatus;
  280. end;
  281. function THotApp.GetUserApp: IApp;
  282. begin
  283. Result := FUserApp;
  284. end;
  285. function THotApp.GetUserAppID: Integer;
  286. begin
  287. Result := FUserAppID;
  288. end;
  289. procedure THotApp.SetCreateDate(const Value: AnsiString);
  290. begin
  291. FCreateDate := Value;
  292. end;
  293. procedure THotApp.SetID(const Value: Integer);
  294. begin
  295. FID := Value;
  296. end;
  297. procedure THotApp.SetOpenID(const Value: AnsiString);
  298. begin
  299. FOpenID := Value;
  300. end;
  301. procedure THotApp.SetPosition(const Value: Integer);
  302. begin
  303. FPosition := Value;
  304. end;
  305. procedure THotApp.SetStatus(const Value: Integer);
  306. begin
  307. FStatus := Value;
  308. end;
  309. procedure THotApp.SetUserApp(const Value: IApp);
  310. begin
  311. FUserApp := Value;
  312. end;
  313. procedure THotApp.SetUserAppID(const Value: Integer);
  314. begin
  315. FUserAppID := Value;
  316. end;
  317. end.