IwbCoreModule.cs 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. using System.Reflection;
  2. using Abp.EntityFramework.Repositories;
  3. using Abp.Modules;
  4. using WeOnlineApp.Authorization;
  5. using WeOnlineApp.Authorization.Roles;
  6. using WeOnlineApp.Authorization.Users;
  7. using WeOnlineApp.BaseInfo;
  8. using WeOnlineApp.Configuration;
  9. using WeOnlineApp.MultiTenancy;
  10. using IwbZero;
  11. using IwbZero.Zero.Configuration;
  12. using WeOnlineApp.MqttClient;
  13. using WeOnlineApp.Configuration.Cache;
  14. namespace WeOnlineApp
  15. {
  16. [DependsOn(typeof(IwbZeroModule))]
  17. public class WeOnlineAppCoreModule : AbpModule
  18. {
  19. public override void PreInitialize()
  20. {
  21. Configuration.Auditing.IsEnabledForAnonymousUsers = true;
  22. CacheMangerEx.HasLoadPackageCache = true;
  23. // Declare entity types
  24. Configuration.Modules.Zero().EntityTypes.Tenant = typeof(Tenant);
  25. Configuration.Modules.Zero().EntityTypes.Role = typeof(Role);
  26. Configuration.Modules.Zero().EntityTypes.User = typeof(User);
  27. Configuration.Modules.Zero().EntityTypes.Function = typeof(SysFunction);
  28. Configuration.Modules.Zero().EntityTypes.State = typeof(SysState);
  29. Configuration.Modules.Zero().EntityTypes.AttachFile = typeof(SysAttachFile);
  30. Configuration.Modules.Zero().EntityTypes.Help = typeof(SysHelp);
  31. //Remove the following line to disable multi-tenancy.
  32. Configuration.MultiTenancy.IsEnabled = IwbConsts.MultiTenancyEnabled;
  33. Configuration.MultiTenancy.TenantIdResolveKey = IwbZeroConsts.MultiTenancyCookieName;
  34. Configuration.MultiTenancy.IgnoreFeatureCheckForHostUsers = true;
  35. AppRoleConfig.Configure(Configuration.Modules.Zero().RoleManagement);
  36. Configuration.Authorization.Providers.Add<IwbAuthorizationProvider>();
  37. Configuration.Notifications.Providers.Add<IwbNotificationProvider>();
  38. Configuration.Settings.Providers.Add<IwbSettingProvider>();
  39. IocManager.Register<IRepositoryWithDbContext>();
  40. IocManager.Register<WeOnlineAppMsgClientManager>();
  41. }
  42. public override void Initialize()
  43. {
  44. IocManager.RegisterAssemblyByConvention(Assembly.GetExecutingAssembly());
  45. }
  46. public override void PostInitialize()
  47. {
  48. MsgClientRegister();
  49. }
  50. private void MsgClientRegister()
  51. {
  52. var MsgClient = IocManager.Resolve<WeOnlineAppMsgClientManager>();
  53. MsgClient.SendMessage(IwbConsts.ClientName, $"客户端{MsgClient.ClientId}已注册");
  54. MsgClient.SendMessage("WeEngine", $"客户端{MsgClient.ClientId}已注册");
  55. }
  56. }
  57. }