IwbCoreModule.cs 2.6 KB

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