IwbCoreModule.cs 2.6 KB

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