├── src ├── HzyAdminSpa │ ├── HZY.WebHost │ │ ├── wwwroot │ │ │ ├── remark.txt │ │ │ ├── client │ │ │ │ ├── css │ │ │ │ │ ├── chunk-0b50c69e.d988784b.css │ │ │ │ │ ├── chunk-1a215e00.84ad328c.css │ │ │ │ │ ├── chunk-29a07b6b.793cc385.css │ │ │ │ │ ├── chunk-2e8425c2.e429b956.css │ │ │ │ │ ├── chunk-434a94a3.b71fc01e.css │ │ │ │ │ ├── chunk-6252f4d2.2ac718aa.css │ │ │ │ │ ├── chunk-67690985.b71fc01e.css │ │ │ │ │ ├── chunk-6fe96a8d.4950a4dc.css │ │ │ │ │ ├── chunk-70b6e700.6ec33aa1.css │ │ │ │ │ ├── chunk-7298cd76.62e89c82.css │ │ │ │ │ ├── chunk-7337473e.2be6b92e.css │ │ │ │ │ ├── chunk-74ec8b76.6ec33aa1.css │ │ │ │ │ ├── chunk-7e9486cc.2ac718aa.css │ │ │ │ │ ├── chunk-aba65e4e.84ad328c.css │ │ │ │ │ ├── chunk-c75bcc38.2be6b92e.css │ │ │ │ │ ├── chunk-e7813276.62e89c82.css │ │ │ │ │ ├── chunk-f4669088.4950a4dc.css │ │ │ │ │ ├── chunk-f501e236.e429b956.css │ │ │ │ │ ├── chunk-744bea67.5dd1e502.css │ │ │ │ │ ├── chunk-00d25bb6.3eb2309c.css │ │ │ │ │ ├── chunk-33f895ff.df9f3d44.css │ │ │ │ │ ├── chunk-44768535.3f86872b.css │ │ │ │ │ ├── chunk-493a4e82.de25785c.css │ │ │ │ │ ├── chunk-98962384.16c78588.css │ │ │ │ │ ├── chunk-74d14410.cd0c7b85.css │ │ │ │ │ ├── chunk-vendors.902ebb66.css │ │ │ │ │ └── chunk-774d066c.bb3f19af.css │ │ │ │ ├── favicon.ico │ │ │ │ ├── img │ │ │ │ │ ├── hzy.52051518.jpg │ │ │ │ │ └── logo.82b9c7a5.png │ │ │ │ └── js │ │ │ │ │ ├── chunk-743e7090.98701059.js.map │ │ │ │ │ ├── chunk-744bea67.5a78aa8f.js.map │ │ │ │ │ ├── chunk-74d14410.14732f57.js.map │ │ │ │ │ ├── chunk-774d066c.a69c559e.js.map │ │ │ │ │ ├── chunk-744bea67.5a78aa8f.js │ │ │ │ │ ├── chunk-774d066c.a69c559e.js │ │ │ │ │ ├── chunk-743e7090.98701059.js │ │ │ │ │ ├── chunk-74d14410.14732f57.js │ │ │ │ │ ├── chunk-2d22dcf8.67ce1ce5.js │ │ │ │ │ ├── chunk-2d22269e.cd5a85dd.js │ │ │ │ │ ├── chunk-2d208e28.c46f9a4e.js │ │ │ │ │ ├── chunk-2d22269e.cd5a85dd.js.map │ │ │ │ │ ├── chunk-2d22dcf8.67ce1ce5.js.map │ │ │ │ │ ├── chunk-2d208e28.c46f9a4e.js.map │ │ │ │ │ ├── chunk-2d224d2d.b3355585.js │ │ │ │ │ ├── chunk-2d0dd83e.53da076c.js │ │ │ │ │ ├── chunk-2d0ddb36.6cc7df34.js │ │ │ │ │ ├── chunk-2d224d2d.b3355585.js.map │ │ │ │ │ ├── chunk-2d0de1ed.b134da5a.js │ │ │ │ │ ├── chunk-2d229c0f.2adeecc0.js │ │ │ │ │ ├── chunk-2d0dd83e.53da076c.js.map │ │ │ │ │ ├── chunk-2d0b9035.08b44f82.js │ │ │ │ │ ├── chunk-2d0f08cc.54a22150.js │ │ │ │ │ ├── chunk-2d20e884.1f854550.js │ │ │ │ │ ├── chunk-2d2136d8.451d64c9.js │ │ │ │ │ ├── chunk-2d0d3655.ff763491.js │ │ │ │ │ ├── chunk-2d0b21c3.501afd8e.js │ │ │ │ │ ├── chunk-2d0d678c.28280f0f.js │ │ │ │ │ ├── chunk-33f895ff.ac4150ea.js │ │ │ │ │ ├── chunk-44768535.e17874af.js │ │ │ │ │ ├── chunk-493a4e82.f27347ba.js │ │ │ │ │ ├── chunk-2d0ddb36.6cc7df34.js.map │ │ │ │ │ ├── chunk-2d221c51.d381a072.js │ │ │ │ │ ├── chunk-2d0de1ed.b134da5a.js.map │ │ │ │ │ ├── chunk-2d237725.df19f823.js │ │ │ │ │ └── chunk-2d22d3d7.195f992e.js │ │ │ └── upload │ │ │ │ └── files │ │ │ │ └── 20210118 │ │ │ │ ├── time_232747_old_name_hzy.png │ │ │ │ └── time_233310_old_name_hzy.png │ │ ├── Program.cs │ │ ├── appsettings.Development.json │ │ ├── Controllers │ │ │ ├── JumpClientController.cs │ │ │ ├── HomeController.cs │ │ │ └── AccountController.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── appsettings.json │ │ ├── nlog.config │ │ └── Configure │ │ │ └── LifetimeEventsHostedService.cs │ ├── HZY.Infrastructure │ │ ├── ApiVersions.cs │ │ ├── Redis │ │ │ ├── IRedisService.cs │ │ │ └── RedisService.cs │ │ ├── DefaultDatabaseType.cs │ │ ├── ScanDIService │ │ │ ├── Enums │ │ │ │ └── DIType.cs │ │ │ ├── Interface │ │ │ │ ├── IDIScoped.cs │ │ │ │ ├── IDIScopedSelf.cs │ │ │ │ ├── IDISingleton.cs │ │ │ │ ├── IDITransient.cs │ │ │ │ ├── IDISingletonSelf.cs │ │ │ │ └── IDITransientSelf.cs │ │ │ └── Attributes │ │ │ │ └── DIServiceAttribute.cs │ │ ├── Services │ │ │ └── FrameworkBaseService.cs │ │ ├── MessageQueue │ │ │ ├── IMessageQueueProvider.cs │ │ │ └── Models │ │ │ │ └── MessageQueueContext.cs │ │ ├── Controllers │ │ │ └── ApiBaseController.cs │ │ ├── Permission │ │ │ └── Attributes │ │ │ │ ├── ActionDescriptorAttribute.cs │ │ │ │ └── ControllerDescriptorAttribute.cs │ │ ├── HZY.Infrastructure.csproj │ │ ├── ServiceProviderExtensions.cs │ │ ├── Filters │ │ │ └── ApiCheckModelAttribute.cs │ │ ├── ObjectMapper.cs │ │ ├── ApiResultManage │ │ │ └── MessageBox.cs │ │ ├── AppConfiguration.cs │ │ └── TextJson │ │ │ └── DateTimeJsonConverter.cs │ ├── HZY.EFCore │ │ ├── Models │ │ │ ├── EntityInfo.cs │ │ │ ├── PagingViewModel.cs │ │ │ └── TableViewColumn.cs │ │ ├── Interface │ │ │ ├── IUnitOfWork.cs │ │ │ └── ICacheEntity.cs │ │ ├── Impl │ │ │ ├── UnitOfWorkImpl.cs │ │ │ └── CacheEntityImpl.cs │ │ ├── Extensions │ │ │ └── DatabaseFacadeExtensions.cs │ │ ├── Attributes │ │ │ └── TransactionalAttribute.cs │ │ └── HZY.EFCore.csproj │ ├── HZY.Models │ │ ├── DTO │ │ │ ├── SysMenuFormDto.cs │ │ │ ├── SysRoleMenuFunctionFormDto.cs │ │ │ ├── AuthUserFormDto.cs │ │ │ ├── ChangePasswordFormDto.cs │ │ │ ├── SysUserFormDto.cs │ │ │ └── SysDictionaryDto.cs │ │ ├── Entities │ │ │ ├── Framework │ │ │ │ ├── SysUserRole.cs │ │ │ │ ├── SysMenuFunction.cs │ │ │ │ ├── SysRoleMenuFunction.cs │ │ │ │ ├── SysUserPost.cs │ │ │ │ ├── SysRole.cs │ │ │ │ ├── SysFunction.cs │ │ │ │ ├── SysDictionary.cs │ │ │ │ ├── SysPost.cs │ │ │ │ ├── SysUser.cs │ │ │ │ ├── SysOperationLog.cs │ │ │ │ ├── SysOrganization.cs │ │ │ │ └── SysMenu.cs │ │ │ ├── BaseEntitys │ │ │ │ ├── FullBaseEntity.cs │ │ │ │ ├── BaseEntity.cs │ │ │ │ ├── CreateBaseEntity.cs │ │ │ │ ├── UpdateBaseEntity.cs │ │ │ │ ├── DefaultBaseEntity.cs │ │ │ │ └── DeleteBaseEntity.cs │ │ │ └── Member.cs │ │ ├── HZY.Models.csproj │ │ └── BO │ │ │ └── AccountInfo.cs │ ├── HZY.Controllers.App │ │ ├── AppTestController.cs │ │ ├── HZY.Controllers.App.xml │ │ ├── AppBaseController.cs │ │ └── HZY.Controllers.App.csproj │ ├── HZY.Repositories │ │ ├── Framework │ │ │ ├── SysMenuRepository.cs │ │ │ ├── SysUserRepository.cs │ │ │ ├── SysRoleRepository.cs │ │ │ ├── SysFunctionRepository.cs │ │ │ ├── SysPostRepository.cs │ │ │ ├── SysUserRoleRepository.cs │ │ │ ├── SysMenuFunctionRepository.cs │ │ │ ├── SysUserPostRepository.cs │ │ │ ├── SysRoleMenuFunctionRepository.cs │ │ │ ├── SysOrganizationRepository.cs │ │ │ ├── SysDictionaryRepository.cs │ │ │ └── SysOperationLogRepository.cs │ │ ├── MemberRepository.cs │ │ ├── HZY.Repositories.xml │ │ └── HZY.Repositories.csproj │ ├── HZY.Services │ │ ├── Upload │ │ │ └── IUploadService.cs │ │ ├── HZY.Services.csproj │ │ └── Accounts │ │ │ └── IAccountService.cs │ ├── HZY.Repositories.Redis │ │ ├── RepositoryRedisModule.cs │ │ ├── HZY.Repositories.Redis.csproj │ │ ├── HZY.Repositories.Redis.xml │ │ └── BaseRedisRepository.cs │ ├── HZY.Services.Admin │ │ ├── HZY.Services.Admin.csproj │ │ └── ServicesAdmin │ │ │ └── ServicesAdminConsts.cs │ ├── HZY.Controllers │ │ ├── HZY.Controllers.csproj │ │ ├── HZY.Controllers.xml │ │ ├── UploadController.cs │ │ └── PublicController.cs │ ├── HZY.FreeSqlCore │ │ ├── FreeSqlBaseRepository.cs │ │ ├── HZY.FreeSqlCore.csproj │ │ └── HZY.FreeSqlCore.xml │ ├── HZY.Controllers.Admin │ │ ├── ControllersAdmin │ │ │ └── AdminBaseController.cs │ │ ├── RedisController.cs │ │ └── HZY.Controllers.Admin.csproj │ └── .vscode │ │ ├── tasks.json │ │ └── launch.json └── hzy-admin-spa-client-ui │ ├── dist │ ├── css │ │ ├── chunk-0b50c69e.d988784b.css │ │ ├── chunk-1a215e00.84ad328c.css │ │ ├── chunk-29a07b6b.793cc385.css │ │ ├── chunk-2e8425c2.e429b956.css │ │ ├── chunk-434a94a3.b71fc01e.css │ │ ├── chunk-6252f4d2.2ac718aa.css │ │ ├── chunk-67690985.b71fc01e.css │ │ ├── chunk-6fe96a8d.4950a4dc.css │ │ ├── chunk-70b6e700.6ec33aa1.css │ │ ├── chunk-7298cd76.62e89c82.css │ │ ├── chunk-7337473e.2be6b92e.css │ │ ├── chunk-74ec8b76.6ec33aa1.css │ │ ├── chunk-7e9486cc.2ac718aa.css │ │ ├── chunk-aba65e4e.84ad328c.css │ │ ├── chunk-c75bcc38.2be6b92e.css │ │ ├── chunk-e7813276.62e89c82.css │ │ ├── chunk-f4669088.4950a4dc.css │ │ ├── chunk-f501e236.e429b956.css │ │ ├── chunk-744bea67.5dd1e502.css │ │ ├── chunk-00d25bb6.3eb2309c.css │ │ ├── chunk-33f895ff.df9f3d44.css │ │ ├── chunk-44768535.3f86872b.css │ │ ├── chunk-493a4e82.de25785c.css │ │ ├── chunk-98962384.16c78588.css │ │ ├── chunk-74d14410.cd0c7b85.css │ │ ├── chunk-vendors.902ebb66.css │ │ └── chunk-774d066c.bb3f19af.css │ ├── favicon.ico │ ├── img │ │ ├── hzy.52051518.jpg │ │ └── logo.82b9c7a5.png │ └── js │ │ ├── chunk-743e7090.98701059.js.map │ │ ├── chunk-744bea67.5a78aa8f.js.map │ │ ├── chunk-74d14410.14732f57.js.map │ │ ├── chunk-774d066c.a69c559e.js.map │ │ ├── chunk-744bea67.5a78aa8f.js │ │ ├── chunk-774d066c.a69c559e.js │ │ ├── chunk-743e7090.98701059.js │ │ ├── chunk-74d14410.14732f57.js │ │ ├── chunk-2d22dcf8.67ce1ce5.js │ │ ├── chunk-2d22269e.cd5a85dd.js │ │ ├── chunk-2d208e28.c46f9a4e.js │ │ ├── chunk-2d22269e.cd5a85dd.js.map │ │ ├── chunk-2d22dcf8.67ce1ce5.js.map │ │ ├── chunk-2d208e28.c46f9a4e.js.map │ │ ├── chunk-2d224d2d.b3355585.js │ │ ├── chunk-2d0dd83e.53da076c.js │ │ ├── chunk-2d0ddb36.6cc7df34.js │ │ ├── chunk-2d224d2d.b3355585.js.map │ │ ├── chunk-2d0de1ed.b134da5a.js │ │ ├── chunk-2d229c0f.2adeecc0.js │ │ ├── chunk-2d0dd83e.53da076c.js.map │ │ ├── chunk-2d0b9035.08b44f82.js │ │ ├── chunk-2d0f08cc.54a22150.js │ │ ├── chunk-2d20e884.1f854550.js │ │ ├── chunk-2d2136d8.451d64c9.js │ │ ├── chunk-2d0d3655.ff763491.js │ │ ├── chunk-2d0b21c3.501afd8e.js │ │ ├── chunk-2d0d678c.28280f0f.js │ │ ├── chunk-33f895ff.ac4150ea.js │ │ ├── chunk-44768535.e17874af.js │ │ ├── chunk-493a4e82.f27347ba.js │ │ ├── chunk-2d0ddb36.6cc7df34.js.map │ │ ├── chunk-2d221c51.d381a072.js │ │ ├── chunk-2d0de1ed.b134da5a.js.map │ │ ├── chunk-2d237725.df19f823.js │ │ └── chunk-2d22d3d7.195f992e.js │ ├── babel.config.js │ ├── public │ ├── favicon.ico │ └── index.html │ ├── src │ ├── assets │ │ ├── hzy.jpg │ │ ├── logo.png │ │ └── styles │ │ │ ├── hzy-admin-ui-layout.less │ │ │ ├── hzy-admin-ui-antd.less │ │ │ └── hzy-admin-ui-transition.less │ ├── store │ │ └── index.js │ ├── service │ │ ├── system │ │ │ ├── changePassword.js │ │ │ ├── personal_center_service.js │ │ │ ├── loginService.js │ │ │ ├── sys_operation_log_serivce.js │ │ │ ├── rolefunctionService.js │ │ │ ├── functionService.js │ │ │ ├── dictionary_service.js │ │ │ ├── organizationService.js │ │ │ ├── postService.js │ │ │ ├── roleService.js │ │ │ ├── menuService.js │ │ │ └── userService.js │ │ └── base │ │ │ └── memberService.js │ ├── views │ │ ├── redirect.vue │ │ ├── chart │ │ │ ├── base.vue │ │ │ └── more.vue │ │ ├── button.vue │ │ ├── antd_vue_components.vue │ │ ├── system │ │ │ └── swagger.vue │ │ └── editor.vue │ ├── scripts │ │ └── app-consts.js │ ├── main.js │ ├── components │ │ ├── notFoundComponent.vue │ │ ├── layout │ │ │ └── menus │ │ │ │ └── subMenus.vue │ │ └── chart │ │ │ └── index1.vue │ └── App.vue │ ├── jsconfig.json │ ├── .vscode │ └── launch.json │ ├── LICENSE │ ├── package.json │ └── README.md ├── doc └── 后台管理系统开发流程.png └── README.en.md /src/HzyAdminSpa/HZY.WebHost/wwwroot/remark.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/css/chunk-0b50c69e.d988784b.css: -------------------------------------------------------------------------------- 1 | .ant-btn{margin:10px} -------------------------------------------------------------------------------- /doc/后台管理系统开发流程.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hzy-6/HzyAdminSpa/HEAD/doc/后台管理系统开发流程.png -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/css/chunk-0b50c69e.d988784b.css: -------------------------------------------------------------------------------- 1 | .ant-btn{margin:10px} -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/css/chunk-1a215e00.84ad328c.css: -------------------------------------------------------------------------------- 1 | .ant-form-item[data-v-77bcc0b4]{margin-bottom:0} -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/css/chunk-29a07b6b.793cc385.css: -------------------------------------------------------------------------------- 1 | .ant-form-item[data-v-0374523f]{margin-bottom:0} -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/css/chunk-2e8425c2.e429b956.css: -------------------------------------------------------------------------------- 1 | .ant-form-item[data-v-9c628214]{margin-bottom:0} -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/css/chunk-434a94a3.b71fc01e.css: -------------------------------------------------------------------------------- 1 | .ant-form-item[data-v-fd3b4756]{margin-bottom:0} -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/css/chunk-6252f4d2.2ac718aa.css: -------------------------------------------------------------------------------- 1 | .ant-form-item[data-v-1116442a]{margin-bottom:0} -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/css/chunk-67690985.b71fc01e.css: -------------------------------------------------------------------------------- 1 | .ant-form-item[data-v-fd3b4756]{margin-bottom:0} -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/css/chunk-6fe96a8d.4950a4dc.css: -------------------------------------------------------------------------------- 1 | .ant-form-item[data-v-78a7c5d1]{margin-bottom:0} -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/css/chunk-70b6e700.6ec33aa1.css: -------------------------------------------------------------------------------- 1 | .ant-form-item[data-v-080938cf]{margin-bottom:0} -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/css/chunk-7298cd76.62e89c82.css: -------------------------------------------------------------------------------- 1 | .ant-form-item[data-v-33cf38d2]{margin-bottom:0} -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/css/chunk-7337473e.2be6b92e.css: -------------------------------------------------------------------------------- 1 | .ant-form-item[data-v-7613f2a0]{margin-bottom:0} -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/css/chunk-74ec8b76.6ec33aa1.css: -------------------------------------------------------------------------------- 1 | .ant-form-item[data-v-080938cf]{margin-bottom:0} -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/css/chunk-7e9486cc.2ac718aa.css: -------------------------------------------------------------------------------- 1 | .ant-form-item[data-v-1116442a]{margin-bottom:0} -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/css/chunk-aba65e4e.84ad328c.css: -------------------------------------------------------------------------------- 1 | .ant-form-item[data-v-77bcc0b4]{margin-bottom:0} -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/css/chunk-c75bcc38.2be6b92e.css: -------------------------------------------------------------------------------- 1 | .ant-form-item[data-v-7613f2a0]{margin-bottom:0} -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/css/chunk-e7813276.62e89c82.css: -------------------------------------------------------------------------------- 1 | .ant-form-item[data-v-33cf38d2]{margin-bottom:0} -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/css/chunk-f4669088.4950a4dc.css: -------------------------------------------------------------------------------- 1 | .ant-form-item[data-v-78a7c5d1]{margin-bottom:0} -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/css/chunk-f501e236.e429b956.css: -------------------------------------------------------------------------------- 1 | .ant-form-item[data-v-9c628214]{margin-bottom:0} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/css/chunk-1a215e00.84ad328c.css: -------------------------------------------------------------------------------- 1 | .ant-form-item[data-v-77bcc0b4]{margin-bottom:0} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/css/chunk-29a07b6b.793cc385.css: -------------------------------------------------------------------------------- 1 | .ant-form-item[data-v-0374523f]{margin-bottom:0} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/css/chunk-2e8425c2.e429b956.css: -------------------------------------------------------------------------------- 1 | .ant-form-item[data-v-9c628214]{margin-bottom:0} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/css/chunk-434a94a3.b71fc01e.css: -------------------------------------------------------------------------------- 1 | .ant-form-item[data-v-fd3b4756]{margin-bottom:0} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/css/chunk-6252f4d2.2ac718aa.css: -------------------------------------------------------------------------------- 1 | .ant-form-item[data-v-1116442a]{margin-bottom:0} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/css/chunk-67690985.b71fc01e.css: -------------------------------------------------------------------------------- 1 | .ant-form-item[data-v-fd3b4756]{margin-bottom:0} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/css/chunk-6fe96a8d.4950a4dc.css: -------------------------------------------------------------------------------- 1 | .ant-form-item[data-v-78a7c5d1]{margin-bottom:0} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/css/chunk-70b6e700.6ec33aa1.css: -------------------------------------------------------------------------------- 1 | .ant-form-item[data-v-080938cf]{margin-bottom:0} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/css/chunk-7298cd76.62e89c82.css: -------------------------------------------------------------------------------- 1 | .ant-form-item[data-v-33cf38d2]{margin-bottom:0} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/css/chunk-7337473e.2be6b92e.css: -------------------------------------------------------------------------------- 1 | .ant-form-item[data-v-7613f2a0]{margin-bottom:0} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/css/chunk-74ec8b76.6ec33aa1.css: -------------------------------------------------------------------------------- 1 | .ant-form-item[data-v-080938cf]{margin-bottom:0} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/css/chunk-7e9486cc.2ac718aa.css: -------------------------------------------------------------------------------- 1 | .ant-form-item[data-v-1116442a]{margin-bottom:0} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/css/chunk-aba65e4e.84ad328c.css: -------------------------------------------------------------------------------- 1 | .ant-form-item[data-v-77bcc0b4]{margin-bottom:0} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/css/chunk-c75bcc38.2be6b92e.css: -------------------------------------------------------------------------------- 1 | .ant-form-item[data-v-7613f2a0]{margin-bottom:0} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/css/chunk-e7813276.62e89c82.css: -------------------------------------------------------------------------------- 1 | .ant-form-item[data-v-33cf38d2]{margin-bottom:0} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/css/chunk-f4669088.4950a4dc.css: -------------------------------------------------------------------------------- 1 | .ant-form-item[data-v-78a7c5d1]{margin-bottom:0} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/css/chunk-f501e236.e429b956.css: -------------------------------------------------------------------------------- 1 | .ant-form-item[data-v-9c628214]{margin-bottom:0} -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/css/chunk-744bea67.5dd1e502.css: -------------------------------------------------------------------------------- 1 | #hzy-layout .ant-layout-sider-children{overflow-x:hidden} -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/css/chunk-00d25bb6.3eb2309c.css: -------------------------------------------------------------------------------- 1 | .min-height[data-v-ab23646a]{min-height:calc(100vh - 130px)} -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/css/chunk-33f895ff.df9f3d44.css: -------------------------------------------------------------------------------- 1 | iframe[data-v-65fcf995]{width:100%;height:calc(100vh - 200px)} -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/css/chunk-44768535.3f86872b.css: -------------------------------------------------------------------------------- 1 | iframe[data-v-364b87b5]{width:100%;height:calc(100vh - 200px)} -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/css/chunk-493a4e82.de25785c.css: -------------------------------------------------------------------------------- 1 | iframe[data-v-48c0a37e]{width:100%;height:calc(100vh - 200px)} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hzy-6/HzyAdminSpa/HEAD/src/HzyAdminSpa/HZY.WebHost/Program.cs -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/css/chunk-744bea67.5dd1e502.css: -------------------------------------------------------------------------------- 1 | #hzy-layout .ant-layout-sider-children{overflow-x:hidden} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/css/chunk-00d25bb6.3eb2309c.css: -------------------------------------------------------------------------------- 1 | .min-height[data-v-ab23646a]{min-height:calc(100vh - 130px)} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/css/chunk-33f895ff.df9f3d44.css: -------------------------------------------------------------------------------- 1 | iframe[data-v-65fcf995]{width:100%;height:calc(100vh - 200px)} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/css/chunk-44768535.3f86872b.css: -------------------------------------------------------------------------------- 1 | iframe[data-v-364b87b5]{width:100%;height:calc(100vh - 200px)} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/css/chunk-493a4e82.de25785c.css: -------------------------------------------------------------------------------- 1 | iframe[data-v-48c0a37e]{width:100%;height:calc(100vh - 200px)} -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/cli-plugin-babel/preset' 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hzy-6/HzyAdminSpa/HEAD/src/hzy-admin-spa-client-ui/dist/favicon.ico -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hzy-6/HzyAdminSpa/HEAD/src/hzy-admin-spa-client-ui/public/favicon.ico -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/src/assets/hzy.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hzy-6/HzyAdminSpa/HEAD/src/hzy-admin-spa-client-ui/src/assets/hzy.jpg -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hzy-6/HzyAdminSpa/HEAD/src/hzy-admin-spa-client-ui/src/assets/logo.png -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Infrastructure/ApiVersions.cs: -------------------------------------------------------------------------------- 1 | namespace HZY.Infrastructure; 2 | 3 | public enum ApiVersions 4 | { 5 | Admin, 6 | App 7 | } 8 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hzy-6/HzyAdminSpa/HEAD/src/HzyAdminSpa/HZY.WebHost/wwwroot/client/favicon.ico -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/img/hzy.52051518.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hzy-6/HzyAdminSpa/HEAD/src/hzy-admin-spa-client-ui/dist/img/hzy.52051518.jpg -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/img/logo.82b9c7a5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hzy-6/HzyAdminSpa/HEAD/src/hzy-admin-spa-client-ui/dist/img/logo.82b9c7a5.png -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/css/chunk-98962384.16c78588.css: -------------------------------------------------------------------------------- 1 | .ant-form-item[data-v-0374523f]{margin-bottom:0}.min-height[data-v-63eb80bc]{min-height:calc(100vh - 130px)} -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/js/chunk-743e7090.98701059.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":[],"names":[],"mappings":"","file":"js/chunk-743e7090.98701059.js","sourceRoot":""} -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/js/chunk-744bea67.5a78aa8f.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":[],"names":[],"mappings":"","file":"js/chunk-744bea67.5a78aa8f.js","sourceRoot":""} -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/js/chunk-74d14410.14732f57.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":[],"names":[],"mappings":"","file":"js/chunk-74d14410.14732f57.js","sourceRoot":""} -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/js/chunk-774d066c.a69c559e.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":[],"names":[],"mappings":"","file":"js/chunk-774d066c.a69c559e.js","sourceRoot":""} -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/src/assets/styles/hzy-admin-ui-layout.less: -------------------------------------------------------------------------------- 1 | #hzy-layout { 2 | 3 | .ant-layout-sider-children { 4 | overflow-x: hidden; 5 | } 6 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/css/chunk-98962384.16c78588.css: -------------------------------------------------------------------------------- 1 | .ant-form-item[data-v-0374523f]{margin-bottom:0}.min-height[data-v-63eb80bc]{min-height:calc(100vh - 130px)} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/img/hzy.52051518.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hzy-6/HzyAdminSpa/HEAD/src/HzyAdminSpa/HZY.WebHost/wwwroot/client/img/hzy.52051518.jpg -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/img/logo.82b9c7a5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hzy-6/HzyAdminSpa/HEAD/src/HzyAdminSpa/HZY.WebHost/wwwroot/client/img/logo.82b9c7a5.png -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/js/chunk-743e7090.98701059.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":[],"names":[],"mappings":"","file":"js/chunk-743e7090.98701059.js","sourceRoot":""} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/js/chunk-744bea67.5a78aa8f.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":[],"names":[],"mappings":"","file":"js/chunk-744bea67.5a78aa8f.js","sourceRoot":""} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/js/chunk-74d14410.14732f57.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":[],"names":[],"mappings":"","file":"js/chunk-74d14410.14732f57.js","sourceRoot":""} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/js/chunk-774d066c.a69c559e.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":[],"names":[],"mappings":"","file":"js/chunk-774d066c.a69c559e.js","sourceRoot":""} -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/src/store/index.js: -------------------------------------------------------------------------------- 1 | import { createStore } from 'vuex'; 2 | import app from './modules/app'; 3 | 4 | export default createStore({ 5 | modules: { 6 | app, 7 | } 8 | }); -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/js/chunk-744bea67.5a78aa8f.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-744bea67"],{1575:function(n,w,o){}}]); 2 | //# sourceMappingURL=chunk-744bea67.5a78aa8f.js.map -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/js/chunk-774d066c.a69c559e.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-774d066c"],{ff52:function(n,w,c){}}]); 2 | //# sourceMappingURL=chunk-774d066c.a69c559e.js.map -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/upload/files/20210118/time_232747_old_name_hzy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hzy-6/HzyAdminSpa/HEAD/src/HzyAdminSpa/HZY.WebHost/wwwroot/upload/files/20210118/time_232747_old_name_hzy.png -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/upload/files/20210118/time_233310_old_name_hzy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hzy-6/HzyAdminSpa/HEAD/src/HzyAdminSpa/HZY.WebHost/wwwroot/upload/files/20210118/time_233310_old_name_hzy.png -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/js/chunk-743e7090.98701059.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-743e7090"],{"05a5":function(n,w,o){}}]); 2 | //# sourceMappingURL=chunk-743e7090.98701059.js.map -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/js/chunk-74d14410.14732f57.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-74d14410"],{"9aa2":function(n,w,o){}}]); 2 | //# sourceMappingURL=chunk-74d14410.14732f57.js.map -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/js/chunk-744bea67.5a78aa8f.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-744bea67"],{1575:function(n,w,o){}}]); 2 | //# sourceMappingURL=chunk-744bea67.5a78aa8f.js.map -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/js/chunk-774d066c.a69c559e.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-774d066c"],{ff52:function(n,w,c){}}]); 2 | //# sourceMappingURL=chunk-774d066c.a69c559e.js.map -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/js/chunk-743e7090.98701059.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-743e7090"],{"05a5":function(n,w,o){}}]); 2 | //# sourceMappingURL=chunk-743e7090.98701059.js.map -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/js/chunk-74d14410.14732f57.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-74d14410"],{"9aa2":function(n,w,o){}}]); 2 | //# sourceMappingURL=chunk-74d14410.14732f57.js.map -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/js/chunk-2d22dcf8.67ce1ce5.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d22dcf8"],{f8a1:function(p,n,o){p.exports=o.p+"img/hzy.52051518.jpg"}}]); 2 | //# sourceMappingURL=chunk-2d22dcf8.67ce1ce5.js.map -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/js/chunk-2d22269e.cd5a85dd.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d22269e"],{cf05:function(n,o,p){n.exports=p.p+"img/logo.82b9c7a5.png"}}]); 2 | //# sourceMappingURL=chunk-2d22269e.cd5a85dd.js.map -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/js/chunk-2d22dcf8.67ce1ce5.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d22dcf8"],{f8a1:function(p,n,o){p.exports=o.p+"img/hzy.52051518.jpg"}}]); 2 | //# sourceMappingURL=chunk-2d22dcf8.67ce1ce5.js.map -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/js/chunk-2d208e28.c46f9a4e.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d208e28"],{a762:function(n,o,p){n.exports=p.p+"img/background.a568162c.svg"}}]); 2 | //# sourceMappingURL=chunk-2d208e28.c46f9a4e.js.map -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/js/chunk-2d22269e.cd5a85dd.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d22269e"],{cf05:function(n,o,p){n.exports=p.p+"img/logo.82b9c7a5.png"}}]); 2 | //# sourceMappingURL=chunk-2d22269e.cd5a85dd.js.map -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/js/chunk-2d208e28.c46f9a4e.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d208e28"],{a762:function(n,o,p){n.exports=p.p+"img/background.a568162c.svg"}}]); 2 | //# sourceMappingURL=chunk-2d208e28.c46f9a4e.js.map -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.EFCore/Models/EntityInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace HZY.EFCore.Models; 4 | public class EntityInfo 5 | { 6 | public bool IsKey { get; set; } 7 | 8 | public string Name { get; set; } 9 | 10 | public string Remark { get; set; } 11 | 12 | public Type Type { get; set; } 13 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Models/DTO/SysMenuFormDto.cs: -------------------------------------------------------------------------------- 1 | using HZY.Models.Entities.Framework; 2 | using System; 3 | using System.Collections.Generic; 4 | 5 | namespace HZY.Models.DTO; 6 | 7 | public class SysMenuFormDto 8 | { 9 | public SysMenu Form { get; set; } 10 | public List FunctionIds { get; set; } 11 | } -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/js/chunk-2d22269e.cd5a85dd.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["webpack:///./src/assets/logo.png"],"names":["module","exports"],"mappings":"mGAAAA,EAAOC,QAAU,IAA0B","file":"js/chunk-2d22269e.cd5a85dd.js","sourcesContent":["module.exports = __webpack_public_path__ + \"img/logo.82b9c7a5.png\";"],"sourceRoot":""} -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/js/chunk-2d22dcf8.67ce1ce5.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["webpack:///./src/assets/hzy.jpg"],"names":["module","exports"],"mappings":"mGAAAA,EAAOC,QAAU,IAA0B","file":"js/chunk-2d22dcf8.67ce1ce5.js","sourcesContent":["module.exports = __webpack_public_path__ + \"img/hzy.52051518.jpg\";"],"sourceRoot":""} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/js/chunk-2d22269e.cd5a85dd.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["webpack:///./src/assets/logo.png"],"names":["module","exports"],"mappings":"mGAAAA,EAAOC,QAAU,IAA0B","file":"js/chunk-2d22269e.cd5a85dd.js","sourcesContent":["module.exports = __webpack_public_path__ + \"img/logo.82b9c7a5.png\";"],"sourceRoot":""} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/js/chunk-2d22dcf8.67ce1ce5.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["webpack:///./src/assets/hzy.jpg"],"names":["module","exports"],"mappings":"mGAAAA,EAAOC,QAAU,IAA0B","file":"js/chunk-2d22dcf8.67ce1ce5.js","sourcesContent":["module.exports = __webpack_public_path__ + \"img/hzy.52051518.jpg\";"],"sourceRoot":""} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Models/DTO/SysRoleMenuFunctionFormDto.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace HZY.Models.DTO; 5 | 6 | public class SysRoleMenuFunctionFormDto 7 | { 8 | public Guid RoleId { get; set; } 9 | public Guid MenuId { get; set; } 10 | public List FunctionIds { get; set; } 11 | } -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/js/chunk-2d208e28.c46f9a4e.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["webpack:///./src/assets/background.svg"],"names":["module","exports"],"mappings":"mGAAAA,EAAOC,QAAU,IAA0B","file":"js/chunk-2d208e28.c46f9a4e.js","sourcesContent":["module.exports = __webpack_public_path__ + \"img/background.a568162c.svg\";"],"sourceRoot":""} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/js/chunk-2d208e28.c46f9a4e.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["webpack:///./src/assets/background.svg"],"names":["module","exports"],"mappings":"mGAAAA,EAAOC,QAAU,IAA0B","file":"js/chunk-2d208e28.c46f9a4e.js","sourcesContent":["module.exports = __webpack_public_path__ + \"img/background.a568162c.svg\";"],"sourceRoot":""} -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | // "checkJs": true, 4 | "baseUrl": ".", 5 | "paths": { 6 | "@/*": [ 7 | "./src/*" 8 | ] 9 | }, 10 | }, 11 | "include": [ 12 | "./src/**/*", 13 | "node_modules/*" 14 | ], 15 | } -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/js/chunk-2d224d2d.b3355585.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d224d2d"],{e27a:function(n,a,o){"use strict";o.r(a);var e=o("356f"),s="admin/ChangePassword";a["default"]={saveForm:function(n){return Object(e["post"])("".concat(s,"/saveForm"),n)}}}}]); 2 | //# sourceMappingURL=chunk-2d224d2d.b3355585.js.map -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Controllers.App/AppTestController.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Mvc; 2 | 3 | namespace HZY.Controllers.App; 4 | 5 | /// 6 | /// App 接口测试 7 | /// 8 | public class AppTestController : AppBaseController 9 | { 10 | [HttpGet] 11 | public string Get() 12 | { 13 | return "App 接口 测试通过!"; 14 | } 15 | 16 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/js/chunk-2d224d2d.b3355585.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d224d2d"],{e27a:function(n,a,o){"use strict";o.r(a);var e=o("356f"),s="admin/ChangePassword";a["default"]={saveForm:function(n){return Object(e["post"])("".concat(s,"/saveForm"),n)}}}}]); 2 | //# sourceMappingURL=chunk-2d224d2d.b3355585.js.map -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Models/Entities/Framework/SysUserRole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HZY.Models.Entities.BaseEntitys; 3 | 4 | namespace HZY.Models.Entities.Framework; 5 | 6 | /// 7 | /// 用户与角色绑定 8 | /// 9 | public class SysUserRole : DefaultBaseEntity 10 | { 11 | public Guid UserId { get; set; } 12 | public Guid RoleId { get; set; } 13 | } -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/src/service/system/changePassword.js: -------------------------------------------------------------------------------- 1 | import { post } from '@/scripts/request'; 2 | 3 | const controllerName = "admin/ChangePassword"; 4 | 5 | export default { 6 | /** 7 | * 保存表单 8 | * 9 | * @param {表单数据} form 10 | */ 11 | saveForm(form) { 12 | return post(`${controllerName}/saveForm`, form); 13 | } 14 | }; -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Infrastructure/Redis/IRedisService.cs: -------------------------------------------------------------------------------- 1 | using StackExchange.Redis; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Text; 5 | 6 | namespace HZY.Infrastructure.Redis; 7 | public interface IRedisService : IDisposable 8 | { 9 | IDatabase Database { get; } 10 | IConnectionMultiplexer Multiplexer { get; } 11 | 12 | 13 | 14 | 15 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Models/Entities/Framework/SysMenuFunction.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HZY.Models.Entities.BaseEntitys; 3 | 4 | namespace HZY.Models.Entities.Framework; 5 | 6 | /// 7 | /// 菜单与功能绑定 8 | /// 9 | public class SysMenuFunction : DefaultBaseEntity 10 | { 11 | public Guid MenuId { get; set; } 12 | public Guid FunctionId { get; set; } 13 | } 14 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Repositories/Framework/SysMenuRepository.cs: -------------------------------------------------------------------------------- 1 | using HZY.EFCore.DbContexts; 2 | using HZY.EFCore.Repositories; 3 | using HZY.Models.Entities.Framework; 4 | 5 | namespace HZY.Repositories.Framework; 6 | 7 | public class SysMenuRepository : EFCoreBaseRepository 8 | { 9 | public SysMenuRepository(AdminBaseDbContext context) : base(context) 10 | { 11 | } 12 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Repositories/Framework/SysUserRepository.cs: -------------------------------------------------------------------------------- 1 | using HZY.EFCore.DbContexts; 2 | using HZY.EFCore.Repositories; 3 | using HZY.Models.Entities.Framework; 4 | 5 | namespace HZY.Repositories.Framework; 6 | 7 | public class SysUserRepository : EFCoreBaseRepository 8 | { 9 | public SysUserRepository(AdminBaseDbContext context) : base(context) 10 | { 11 | } 12 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Controllers.App/HZY.Controllers.App.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | HZY.Controllers.App 5 | 6 | 7 | 8 | 9 | App 接口测试 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Infrastructure/DefaultDatabaseType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace HZY.Infrastructure; 8 | 9 | /// 10 | /// 默认数据库类型 11 | /// 12 | public enum DefaultDatabaseType 13 | { 14 | SqlServer, 15 | MySql, 16 | PostgreSql 17 | } 18 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Repositories/Framework/SysRoleRepository.cs: -------------------------------------------------------------------------------- 1 | using HZY.EFCore.DbContexts; 2 | using HZY.EFCore.Repositories; 3 | using HZY.Models.Entities.Framework; 4 | 5 | namespace HZY.Repositories.Framework; 6 | 7 | public class SysRoleRepository : EFCoreBaseRepository 8 | { 9 | public SysRoleRepository(AdminBaseDbContext context) : base(context) 10 | { 11 | 12 | } 13 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Models/Entities/BaseEntitys/FullBaseEntity.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace HZY.Models.Entities.BaseEntitys; 8 | 9 | public class FullBaseEntity : DeleteBaseEntity, IDeleteBaseEntity, IUpdateBaseEntity, IBaseEntity 10 | { 11 | 12 | } 13 | 14 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Repositories/Framework/SysFunctionRepository.cs: -------------------------------------------------------------------------------- 1 | using HZY.EFCore.DbContexts; 2 | using HZY.EFCore.Repositories; 3 | using HZY.Models.Entities.Framework; 4 | 5 | namespace HZY.Repositories.Framework; 6 | 7 | public class SysFunctionRepository : EFCoreBaseRepository 8 | { 9 | public SysFunctionRepository(AdminBaseDbContext context) : base(context) 10 | { 11 | } 12 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Repositories/Framework/SysPostRepository.cs: -------------------------------------------------------------------------------- 1 | using HZY.EFCore.DbContexts; 2 | using HZY.EFCore.Repositories; 3 | using HZY.Models.Entities.Framework; 4 | 5 | namespace HZY.Repositories.Framework; 6 | 7 | public class SysPostRepository : EFCoreBaseRepository 8 | { 9 | public SysPostRepository(AdminBaseDbContext context) : base(context) 10 | { 11 | 12 | } 13 | 14 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Repositories/Framework/SysUserRoleRepository.cs: -------------------------------------------------------------------------------- 1 | using HZY.EFCore.DbContexts; 2 | using HZY.EFCore.Repositories; 3 | using HZY.Models.Entities.Framework; 4 | 5 | namespace HZY.Repositories.Framework; 6 | 7 | public class SysUserRoleRepository : EFCoreBaseRepository 8 | { 9 | public SysUserRoleRepository(AdminBaseDbContext context) : base(context) 10 | { 11 | } 12 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Repositories/MemberRepository.cs: -------------------------------------------------------------------------------- 1 | using HZY.EFCore.DbContexts; 2 | using HZY.EFCore.Repositories; 3 | using HZY.Models.Entities; 4 | using HZY.Models.Entities.Framework; 5 | 6 | namespace HZY.Repositories; 7 | 8 | public class MemberRepository : EFCoreBaseRepository 9 | { 10 | public MemberRepository(AdminBaseDbContext context) : base(context) 11 | { 12 | 13 | } 14 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Infrastructure/ScanDIService/Enums/DIType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace HZY.Infrastructure.ScanDIService.Enums; 8 | 9 | /// 10 | /// 依赖注入类型 11 | /// 12 | public enum DIType 13 | { 14 | 15 | Transient, 16 | Scoped, 17 | Singleton 18 | 19 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Services/Upload/IUploadService.cs: -------------------------------------------------------------------------------- 1 | using HZY.Infrastructure.ScanDIService.Interface; 2 | using Microsoft.AspNetCore.Http; 3 | 4 | namespace HZY.Services.Upload; 5 | 6 | public interface IUploadService : IDITransient 7 | { 8 | string HandleUploadFile(IFormFile iFormFile, params string[] format); 9 | 10 | string HandleUploadImageFile(IFormFile iFormFile, string folder = "files"); 11 | } 12 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Infrastructure/ScanDIService/Interface/IDIScoped.cs: -------------------------------------------------------------------------------- 1 | using HZY.Infrastructure.ScanDIService.Enums; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace HZY.Infrastructure.ScanDIService.Interface; 9 | 10 | /// 11 | /// 注册 Scoped 12 | /// 13 | public interface IDIScoped 14 | { 15 | 16 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Repositories/Framework/SysMenuFunctionRepository.cs: -------------------------------------------------------------------------------- 1 | using HZY.EFCore.DbContexts; 2 | using HZY.EFCore.Repositories; 3 | using HZY.Models.Entities.Framework; 4 | 5 | namespace HZY.Repositories.Framework; 6 | 7 | public class SysMenuFunctionRepository : EFCoreBaseRepository 8 | { 9 | public SysMenuFunctionRepository(AdminBaseDbContext context) : base(context) 10 | { 11 | } 12 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/Controllers/JumpClientController.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Mvc; 2 | 3 | namespace HZY.WebHost.Controllers; 4 | 5 | /// 6 | /// 跳转客户端 7 | /// 8 | [ApiExplorerSettings(IgnoreApi = true)] 9 | public class JumpClientController : Controller 10 | { 11 | [Route("")] 12 | public IActionResult Index() 13 | { 14 | return Redirect("/client/index.html"); 15 | } 16 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Infrastructure/ScanDIService/Interface/IDIScopedSelf.cs: -------------------------------------------------------------------------------- 1 | using HZY.Infrastructure.ScanDIService.Enums; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace HZY.Infrastructure.ScanDIService.Interface; 9 | 10 | /// 11 | /// 注册 Scoped 自身实现类 12 | /// 13 | public interface IDIScopedSelf 14 | { 15 | 16 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Infrastructure/ScanDIService/Interface/IDISingleton.cs: -------------------------------------------------------------------------------- 1 | using HZY.Infrastructure.ScanDIService.Enums; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace HZY.Infrastructure.ScanDIService.Interface; 9 | 10 | /// 11 | /// 注册 Singleton 12 | /// 13 | public interface IDISingleton 14 | { 15 | 16 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Infrastructure/ScanDIService/Interface/IDITransient.cs: -------------------------------------------------------------------------------- 1 | using HZY.Infrastructure.ScanDIService.Enums; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace HZY.Infrastructure.ScanDIService.Interface; 9 | 10 | /// 11 | /// 注册 Transient 12 | /// 13 | public interface IDITransient 14 | { 15 | 16 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Repositories/Framework/SysUserPostRepository.cs: -------------------------------------------------------------------------------- 1 | using HZY.EFCore.DbContexts; 2 | using HZY.EFCore.Repositories; 3 | using HZY.Models.Entities.Framework; 4 | 5 | namespace HZY.Repositories.Framework; 6 | 7 | public class SysUserPostRepository : EFCoreBaseRepository 8 | { 9 | public SysUserPostRepository(AdminBaseDbContext context) : base(context) 10 | { 11 | 12 | } 13 | 14 | 15 | 16 | 17 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.EFCore/Interface/IUnitOfWork.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * ******************************************************* 3 | * 4 | * 作者:hzy 5 | * 6 | * 开源地址:https://gitee.com/hzy6 7 | * 8 | * ******************************************************* 9 | */ 10 | namespace HZY.EFCore.Interface; 11 | 12 | public interface IUnitOfWork 13 | { 14 | bool GetSaveState(); 15 | void SetSaveState(bool saveSate); 16 | void CommitOpen(); 17 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Models/Entities/Framework/SysRoleMenuFunction.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HZY.Models.Entities.BaseEntitys; 3 | 4 | namespace HZY.Models.Entities.Framework; 5 | 6 | /// 7 | /// 角色菜单功能绑定 8 | /// 9 | public class SysRoleMenuFunction : DefaultBaseEntity 10 | { 11 | public Guid RoleId { get; set; } 12 | public Guid MenuId { get; set; } 13 | public Guid FunctionId { get; set; } 14 | } 15 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Infrastructure/ScanDIService/Interface/IDISingletonSelf.cs: -------------------------------------------------------------------------------- 1 | using HZY.Infrastructure.ScanDIService.Enums; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace HZY.Infrastructure.ScanDIService.Interface; 9 | 10 | /// 11 | /// 注册 Singleton 自身实现类 12 | /// 13 | public interface IDISingletonSelf 14 | { 15 | 16 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Infrastructure/ScanDIService/Interface/IDITransientSelf.cs: -------------------------------------------------------------------------------- 1 | using HZY.Infrastructure.ScanDIService.Enums; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace HZY.Infrastructure.ScanDIService.Interface; 9 | 10 | /// 11 | /// 注册 Transient 自身实现类 12 | /// 13 | public interface IDITransientSelf 14 | { 15 | 16 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Repositories/Framework/SysRoleMenuFunctionRepository.cs: -------------------------------------------------------------------------------- 1 | using HZY.EFCore.DbContexts; 2 | using HZY.EFCore.Repositories; 3 | using HZY.Models.Entities.Framework; 4 | 5 | namespace HZY.Repositories.Framework; 6 | 7 | public class SysRoleMenuFunctionRepository : EFCoreBaseRepository 8 | { 9 | public SysRoleMenuFunctionRepository(AdminBaseDbContext context) : base(context) 10 | { 11 | 12 | } 13 | } -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/js/chunk-2d0dd83e.53da076c.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0dd83e"],{"825c":function(n,c,e){"use strict";e.r(c);var o=e("356f"),t="admin/PersonalCenter";c["default"]={changePassword:function(n){return Object(o["post"])("".concat(t,"/changePassword"),n)},saveForm:function(n){return Object(o["post"])("".concat(t,"/saveForm"),n)}}}}]); 2 | //# sourceMappingURL=chunk-2d0dd83e.53da076c.js.map -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Repositories/Framework/SysOrganizationRepository.cs: -------------------------------------------------------------------------------- 1 | using HZY.EFCore.DbContexts; 2 | using HZY.EFCore.Repositories; 3 | using HZY.Models.Entities.Framework; 4 | 5 | namespace HZY.Repositories.Framework; 6 | 7 | public class SysOrganizationRepository : EFCoreBaseRepository 8 | { 9 | public SysOrganizationRepository(AdminBaseDbContext context) : base(context) 10 | { 11 | 12 | } 13 | 14 | 15 | 16 | 17 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/js/chunk-2d0dd83e.53da076c.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0dd83e"],{"825c":function(n,c,e){"use strict";e.r(c);var o=e("356f"),t="admin/PersonalCenter";c["default"]={changePassword:function(n){return Object(o["post"])("".concat(t,"/changePassword"),n)},saveForm:function(n){return Object(o["post"])("".concat(t,"/saveForm"),n)}}}}]); 2 | //# sourceMappingURL=chunk-2d0dd83e.53da076c.js.map -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Models/DTO/AuthUserFormDto.cs: -------------------------------------------------------------------------------- 1 | namespace HZY.Models.DTO; 2 | 3 | public class AuthUserFormDto 4 | { 5 | /// 6 | /// 用户名称 7 | /// 8 | public string UserName { get; set; } 9 | 10 | /// 11 | /// 用户密码 12 | /// 13 | public string UserPassword { get; set; } 14 | 15 | /// 16 | /// 验证码(不填) 17 | /// 18 | public string LoginCode { get; set; } 19 | } 20 | -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/src/views/redirect.vue: -------------------------------------------------------------------------------- 1 | 6 | 18 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Repositories/Framework/SysDictionaryRepository.cs: -------------------------------------------------------------------------------- 1 | using HZY.EFCore.DbContexts; 2 | using HZY.EFCore.Repositories; 3 | using HZY.Models.Entities.Framework; 4 | 5 | namespace HZY.Repositories.Framework; 6 | 7 | /// 8 | /// 数据字典仓储 9 | /// 10 | public class SysDictionaryRepository : EFCoreBaseRepository 11 | { 12 | public SysDictionaryRepository(AdminBaseDbContext context) : base(context) 13 | { 14 | 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/src/scripts/app-consts.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 程序常量 3 | */ 4 | const appConsts = { 5 | /** 6 | * token 键值 7 | */ 8 | tokenKey: "Authorization_HZY_ADMIN_Spa", 9 | /** 10 | * 域名 11 | */ 12 | domainName: process.env.NODE_ENV == "production" ? "" : "http://localhost:5600", 13 | 14 | /** 15 | * Guid Empty String 16 | */ 17 | guidEmpty: '00000000-0000-0000-0000-000000000000', 18 | }; 19 | 20 | export default appConsts; -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/src/service/system/personal_center_service.js: -------------------------------------------------------------------------------- 1 | import { post } from '@/scripts/request'; 2 | 3 | const controllerName = "admin/PersonalCenter"; 4 | 5 | export default { 6 | /** 7 | * 修改密码 8 | * 9 | * @param {表单数据} form 10 | */ 11 | changePassword(form) { 12 | return post(`${controllerName}/changePassword`, form); 13 | }, 14 | saveForm(form) { 15 | return post(`${controllerName}/saveForm`, form); 16 | } 17 | }; -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/src/main.js: -------------------------------------------------------------------------------- 1 | import { createApp } from 'vue' 2 | import App from './App.vue' 3 | //vue 路由 4 | import router from './router' 5 | //属性状态管理 6 | import store from './store' 7 | //ant-design-vue 8 | import antd from 'ant-design-vue' 9 | //样式-引入覆盖antd 10 | import '@/assets/styles/hzy-admin-ui-antd.less' 11 | //样式-nprogress 12 | import 'nprogress/nprogress.css'; 13 | 14 | createApp(App) 15 | .use(store) 16 | .use(router) 17 | .use(antd) 18 | .mount('#app') 19 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Models/DTO/ChangePasswordFormDto.cs: -------------------------------------------------------------------------------- 1 | namespace HZY.Models.DTO; 2 | 3 | public class ChangePasswordFormDto 4 | { 5 | /// 6 | /// 旧密码 7 | /// 8 | public string OldPassword { get; set; } 9 | 10 | /// 11 | /// 新密码 12 | /// 13 | public string NewPassword { get; set; } 14 | 15 | /// 16 | /// 确认密码 17 | /// 18 | /// 19 | public string QrPassword { get; set; } 20 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Models/Entities/BaseEntitys/BaseEntity.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace HZY.Models.Entities.BaseEntitys; 9 | 10 | public class BaseEntity : IBaseEntity 11 | { 12 | [Key] 13 | public virtual TKey Id { get; set; } 14 | } 15 | 16 | public interface IBaseEntity 17 | { 18 | TKey Id { get; set; } 19 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Models/Entities/Framework/SysUserPost.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HZY.Models.Entities.BaseEntitys; 3 | 4 | namespace HZY.Models.Entities.Framework; 5 | 6 | /// 7 | /// 用户鱼岗位绑定表 8 | /// 9 | public class SysUserPost : DefaultBaseEntity 10 | { 11 | /// 12 | /// 账户Id 13 | /// 14 | public Guid UserId { get; set; } 15 | 16 | /// 17 | /// 岗位Id 18 | /// 19 | public Guid PostId { get; set; } 20 | } 21 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Repositories/Framework/SysOperationLogRepository.cs: -------------------------------------------------------------------------------- 1 | using HZY.EFCore.DbContexts; 2 | using HZY.EFCore.Repositories; 3 | using HZY.Models.Entities.Framework; 4 | 5 | namespace HZY.Repositories.Framework; 6 | 7 | /// 8 | /// 操作日志 仓储 9 | /// 10 | public class SysOperationLogRepository : EFCoreBaseRepository 11 | { 12 | public SysOperationLogRepository(AdminBaseDbContext context) : base(context) 13 | { 14 | 15 | } 16 | 17 | 18 | 19 | 20 | 21 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Models/DTO/SysUserFormDto.cs: -------------------------------------------------------------------------------- 1 | using HZY.Models.Entities.Framework; 2 | using System; 3 | using System.Collections.Generic; 4 | 5 | namespace HZY.Models.DTO; 6 | 7 | /// 8 | /// 系统账户表单 9 | /// 10 | public class SysUserFormDto 11 | { 12 | public SysUser Form { get; set; } 13 | public List RoleIds { get; set; } 14 | public List AllRoleList { get; set; } 15 | public List PostIds { get; set; } 16 | public List AllPostList { get; set; } 17 | 18 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.EFCore/Interface/ICacheEntity.cs: -------------------------------------------------------------------------------- 1 | using HZY.EFCore.Models; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace HZY.EFCore.Interface; 9 | 10 | /// 11 | /// 缓存实体信息服务 12 | /// 13 | public interface ICacheEntity 14 | { 15 | Dictionary> Gets(); 16 | 17 | List GetEntityInfos(string tableName); 18 | 19 | void Set(Type tyoe); 20 | 21 | void Set(IEnumerable types); 22 | 23 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Models/HZY.Models.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | 6 | 7 | 8 | HZY.Models.xml 9 | 1701;1702;1591 10 | 11 | 12 | 13 | 14 | Always 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Repositories/HZY.Repositories.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | HZY.Repositories 5 | 6 | 7 | 8 | 9 | 数据字典仓储 10 | 11 | 12 | 13 | 14 | 操作日志 仓储 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/css/chunk-74d14410.cd0c7b85.css: -------------------------------------------------------------------------------- 1 | .fade-enter-active,.fade-leave-active{transition:opacity .2s}.fade-enter,.fade-leave-active{opacity:0}.fade-transform-enter-active,.fade-transform-leave-active{transition:all .5s}.fade-transform-enter-from{opacity:0;transform:translateX(-30%)}.fade-transform-leave-to{opacity:0;transform:translateX(30%)}.breadcrumb-enter-active,.breadcrumb-leave-active{transition:all .5s}.breadcrumb-enter,.breadcrumb-leave-active{opacity:0;transform:translateX(20px)}.breadcrumb-move{transition:all .5s}.breadcrumb-leave-active{position:absolute} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/css/chunk-74d14410.cd0c7b85.css: -------------------------------------------------------------------------------- 1 | .fade-enter-active,.fade-leave-active{transition:opacity .2s}.fade-enter,.fade-leave-active{opacity:0}.fade-transform-enter-active,.fade-transform-leave-active{transition:all .5s}.fade-transform-enter-from{opacity:0;transform:translateX(-30%)}.fade-transform-leave-to{opacity:0;transform:translateX(30%)}.breadcrumb-enter-active,.breadcrumb-leave-active{transition:all .5s}.breadcrumb-enter,.breadcrumb-leave-active{opacity:0;transform:translateX(20px)}.breadcrumb-move{transition:all .5s}.breadcrumb-leave-active{position:absolute} -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/src/components/notFoundComponent.vue: -------------------------------------------------------------------------------- 1 | 8 | 20 | -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/js/chunk-2d0ddb36.6cc7df34.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0ddb36"],{8305:function(t,n,c){"use strict";c.r(n);c("99af");var e=c("356f"),o="admin/SysOperationLog";n["default"]={findList:function(t,n){var c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return Object(e["post"])("".concat(o,"/findList/").concat(t,"/").concat(n),c,!1)},deleteAllData:function(){return Object(e["get"])("".concat(o,"/deleteAllData"))},findForm:function(t){return Object(e["get"])("".concat(o,"/findForm").concat(t?"/"+t:""))}}}}]); 2 | //# sourceMappingURL=chunk-2d0ddb36.6cc7df34.js.map -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.EFCore/Impl/UnitOfWorkImpl.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * ******************************************************* 3 | * 4 | * 作者:hzy 5 | * 6 | * 开源地址:https://gitee.com/hzy6 7 | * 8 | * ******************************************************* 9 | */ 10 | 11 | using HZY.EFCore.Interface; 12 | 13 | namespace HZY.EFCore.Impl; 14 | 15 | public sealed class UnitOfWorkImpl : IUnitOfWork 16 | { 17 | private bool _saveState = true; 18 | public bool GetSaveState() => this._saveState; 19 | public void SetSaveState(bool saveSate) => this._saveState = saveSate; 20 | public void CommitOpen() => this._saveState = false; 21 | } 22 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Infrastructure/Services/FrameworkBaseService.cs: -------------------------------------------------------------------------------- 1 | 2 | using HZY.Infrastructure.ScanDIService.Interface; 3 | 4 | namespace HZY.Infrastructure.Services; 5 | 6 | /// 7 | /// 服务层 基类 8 | /// 9 | /// 默认仓储 类型 10 | public class FrameworkBaseService : IDITransientSelf where TRepository : class 11 | { 12 | /// 13 | /// 默认 仓储 14 | /// 15 | protected readonly TRepository Repository; 16 | 17 | public FrameworkBaseService(TRepository repository) 18 | { 19 | Repository = repository; 20 | } 21 | 22 | 23 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/js/chunk-2d0ddb36.6cc7df34.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0ddb36"],{8305:function(t,n,c){"use strict";c.r(n);c("99af");var e=c("356f"),o="admin/SysOperationLog";n["default"]={findList:function(t,n){var c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return Object(e["post"])("".concat(o,"/findList/").concat(t,"/").concat(n),c,!1)},deleteAllData:function(){return Object(e["get"])("".concat(o,"/deleteAllData"))},findForm:function(t){return Object(e["get"])("".concat(o,"/findForm").concat(t?"/"+t:""))}}}}]); 2 | //# sourceMappingURL=chunk-2d0ddb36.6cc7df34.js.map -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/js/chunk-2d224d2d.b3355585.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["webpack:///./src/service/system/changePassword.js"],"names":["controllerName","saveForm","form","post"],"mappings":"gHAAA,uBAEMA,EAAiB,uBAER,cAMXC,SANW,SAMFC,GACL,OAAOC,kBAAK,GAAD,OAAIH,EAAJ,aAA+BE","file":"js/chunk-2d224d2d.b3355585.js","sourcesContent":["import { post } from '@/scripts/request';\r\n\r\nconst controllerName = \"admin/ChangePassword\";\r\n\r\nexport default {\r\n /**\r\n * 保存表单\r\n *\r\n * @param {表单数据} form\r\n */\r\n saveForm(form) {\r\n return post(`${controllerName}/saveForm`, form);\r\n }\r\n};"],"sourceRoot":""} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/js/chunk-2d224d2d.b3355585.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["webpack:///./src/service/system/changePassword.js"],"names":["controllerName","saveForm","form","post"],"mappings":"gHAAA,uBAEMA,EAAiB,uBAER,cAMXC,SANW,SAMFC,GACL,OAAOC,kBAAK,GAAD,OAAIH,EAAJ,aAA+BE","file":"js/chunk-2d224d2d.b3355585.js","sourcesContent":["import { post } from '@/scripts/request';\r\n\r\nconst controllerName = \"admin/ChangePassword\";\r\n\r\nexport default {\r\n /**\r\n * 保存表单\r\n *\r\n * @param {表单数据} form\r\n */\r\n saveForm(form) {\r\n return post(`${controllerName}/saveForm`, form);\r\n }\r\n};"],"sourceRoot":""} -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/js/chunk-2d0de1ed.b134da5a.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0de1ed"],{"83fb":function(n,t,e){"use strict";e.r(t);e("99af");var c=e("356f"),o="admin/SysRoleMenuFunction";t["default"]={findList:function(n,t){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return Object(c["post"])("".concat(o,"/findList/").concat(n,"/").concat(t),e,!1)},saveForm:function(n){return Object(c["post"])("".concat(o,"/saveForm"),n)},getRoleMenuFunctionTree:function(n){return Object(c["get"])("".concat(o,"/getRoleMenuFunctionTree/").concat(n))}}}}]); 2 | //# sourceMappingURL=chunk-2d0de1ed.b134da5a.js.map -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Models/DTO/SysDictionaryDto.cs: -------------------------------------------------------------------------------- 1 | using HZY.Models.Entities.Framework; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace HZY.Models.DTO; 9 | 10 | public class SysDictionaryDto : SysDictionary 11 | { 12 | 13 | public Guid Key 14 | { 15 | get 16 | { 17 | return Id; 18 | } 19 | } 20 | 21 | public string Title 22 | { 23 | get 24 | { 25 | return Name; 26 | } 27 | } 28 | 29 | public List Children { get; set; } 30 | 31 | 32 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/js/chunk-2d0de1ed.b134da5a.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0de1ed"],{"83fb":function(n,t,e){"use strict";e.r(t);e("99af");var c=e("356f"),o="admin/SysRoleMenuFunction";t["default"]={findList:function(n,t){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return Object(c["post"])("".concat(o,"/findList/").concat(n,"/").concat(t),e,!1)},saveForm:function(n){return Object(c["post"])("".concat(o,"/saveForm"),n)},getRoleMenuFunctionTree:function(n){return Object(c["get"])("".concat(o,"/getRoleMenuFunctionTree/").concat(n))}}}}]); 2 | //# sourceMappingURL=chunk-2d0de1ed.b134da5a.js.map -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/src/service/system/loginService.js: -------------------------------------------------------------------------------- 1 | import { post } from '@/scripts/request'; 2 | import tools from "@/scripts/tools"; 3 | 4 | export default { 5 | /** 6 | * 登录账户 7 | * 8 | * @param {*} userName 9 | * @param {*} userPassword 10 | */ 11 | login(userName, userPassword) { 12 | if (!userName) { 13 | return tools.message("用户名不能为空!", "警告"); 14 | } 15 | 16 | if (!userPassword) { 17 | return tools.message("密码不能为空!", "警告"); 18 | } 19 | 20 | return post('account/check', { 21 | userName, 22 | userPassword 23 | }); 24 | } 25 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Infrastructure/MessageQueue/IMessageQueueProvider.cs: -------------------------------------------------------------------------------- 1 | using HZY.Infrastructure.ScanDIService.Interface; 2 | using System; 3 | using System.Threading.Tasks; 4 | 5 | namespace HZY.Infrastructure.MessageQueue; 6 | 7 | /// 8 | /// 消息队列提供者 9 | /// 10 | public interface IMessageQueueProvider : IDISingleton 11 | { 12 | /// 13 | /// 启动运行 14 | /// 15 | /// 16 | Task RunAsync(); 17 | 18 | /// 19 | /// 发布消息队列 20 | /// 21 | /// 22 | Task SendMessageQueueAsync(string key, object message, Action action); 23 | 24 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/Controllers/HomeController.cs: -------------------------------------------------------------------------------- 1 | using HZY.Infrastructure.Controllers; 2 | using HZY.Infrastructure.Permission.Attributes; 3 | using Microsoft.AspNetCore.Mvc; 4 | 5 | namespace HZY.WebHost.Controllers; 6 | 7 | [ApiExplorerSettings(IgnoreApi = true)] 8 | [ControllerDescriptor] 9 | public class HomeController : ApiBaseController 10 | { 11 | [HttpGet("/Home/Error")] 12 | [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)] 13 | public IActionResult Error() 14 | { 15 | //return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier }); 16 | return Content("程序异常,请查看错误日志!"); 17 | } 18 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Controllers.App/AppBaseController.cs: -------------------------------------------------------------------------------- 1 | using HZY.Infrastructure; 2 | using HZY.Infrastructure.Controllers; 3 | using Microsoft.AspNetCore.Mvc; 4 | 5 | namespace HZY.Controllers.App; 6 | 7 | [ApiExplorerSettings(GroupName = nameof(ApiVersions.App))] 8 | [Route("api/app[controller]")] 9 | public class AppBaseController : ApiBaseController where TDefaultService : class 10 | { 11 | public AppBaseController(TDefaultService defaultService) : base(defaultService) 12 | { 13 | 14 | } 15 | } 16 | 17 | [ApiExplorerSettings(GroupName = nameof(ApiVersions.App))] 18 | [Route("api/app/[controller]")] 19 | public class AppBaseController : ApiBaseController 20 | { 21 | 22 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Models/Entities/Framework/SysRole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HZY.Models.Entities.BaseEntitys; 3 | 4 | namespace HZY.Models.Entities.Framework; 5 | 6 | /// 7 | /// 角色 8 | /// 9 | public class SysRole : DefaultBaseEntity 10 | { 11 | /// 12 | /// 编号 13 | /// 14 | public int? Number { get; set; } 15 | 16 | /// 17 | /// 角色名称 18 | /// 19 | public string Name { get; set; } 20 | 21 | /// 22 | /// 备注 23 | /// 24 | public string Remark { get; set; } 25 | 26 | /// 27 | /// 能否删除 28 | /// 29 | public int IsDelete { get; set; } = 1; 30 | } 31 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Models/Entities/Framework/SysFunction.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HZY.Models.Entities.BaseEntitys; 3 | 4 | namespace HZY.Models.Entities.Framework; 5 | 6 | /// 7 | /// 功能 8 | /// 9 | public class SysFunction : DefaultBaseEntity 10 | { 11 | /// 12 | /// 编号 13 | /// 14 | public int? Number { get; set; } 15 | 16 | /// 17 | /// 功能名称 18 | /// 19 | public string Name { get; set; } 20 | 21 | /// 22 | /// 功能标识 23 | /// 24 | public string ByName { get; set; } 25 | 26 | /// 27 | /// 备注 28 | /// 29 | public string Remark { get; set; } 30 | } 31 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Models/Entities/BaseEntitys/CreateBaseEntity.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace HZY.Models.Entities.BaseEntitys; 8 | 9 | public class CreateBaseEntity : BaseEntity, ICreateBaseEntity, IBaseEntity 10 | { 11 | public virtual Guid? CreateUserId { get; set; } 12 | public virtual DateTime CreateTime { get; set; } 13 | } 14 | 15 | public interface ICreateBaseEntity 16 | { 17 | /// 18 | /// 创建用户 19 | /// 20 | Guid? CreateUserId { get; set; } 21 | 22 | /// 23 | /// 创建时间 24 | /// 25 | DateTime CreateTime { get; set; } 26 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Models/Entities/BaseEntitys/UpdateBaseEntity.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace HZY.Models.Entities.BaseEntitys; 8 | 9 | public class UpdateBaseEntity : CreateBaseEntity, IUpdateBaseEntity, ICreateBaseEntity, IBaseEntity 10 | { 11 | public virtual Guid? UpdateUserId { get; set; } 12 | public virtual DateTime? UpdateTime { get; set; } 13 | } 14 | 15 | public interface IUpdateBaseEntity 16 | { 17 | /// 18 | /// 更新用户 19 | /// 20 | Guid? UpdateUserId { get; set; } 21 | /// 22 | /// 更新时间 23 | /// 24 | DateTime? UpdateTime { get; set; } 25 | } -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/src/service/system/sys_operation_log_serivce.js: -------------------------------------------------------------------------------- 1 | import { get,post } from '@/scripts/request'; 2 | 3 | 4 | const controllerName = "admin/SysOperationLog"; 5 | 6 | export default { 7 | /** 8 | * 查询列表 9 | * 10 | * @param {一页显示多少行} rows 11 | * @param {当前页码} page 12 | */ 13 | findList(rows, page, search = {}) { 14 | return post(`${controllerName}/findList/${rows}/${page}`, search, false); 15 | }, 16 | 17 | deleteAllData(){ 18 | return get(`${controllerName}/deleteAllData`); 19 | }, 20 | /** 21 | * 获取表单数据 22 | * 23 | * @param {*} id 24 | */ 25 | findForm(id) { 26 | return get(`${controllerName}/findForm${(id ? '/' + id : '')}`); 27 | }, 28 | 29 | }; -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Infrastructure/Controllers/ApiBaseController.cs: -------------------------------------------------------------------------------- 1 | using HZY.Infrastructure.Filters; 2 | using Microsoft.AspNetCore.Mvc; 3 | 4 | namespace HZY.Infrastructure.Controllers; 5 | 6 | public class ApiBaseController : ApiBaseController where TDefaultService : class 7 | { 8 | /// 9 | /// 默认服务 10 | /// 11 | protected readonly TDefaultService DefaultService; 12 | 13 | public ApiBaseController(TDefaultService defaultService) 14 | { 15 | this.DefaultService = defaultService; 16 | } 17 | 18 | } 19 | 20 | /// 21 | /// 控制器服务 22 | /// 23 | [ApiResultFilter] 24 | [ApiController] 25 | [Route("api/[controller]")] 26 | public class ApiBaseController : ControllerBase 27 | { 28 | 29 | 30 | } -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/js/chunk-2d229c0f.2adeecc0.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d229c0f"],{df90:function(t,n,c){"use strict";c.r(n);c("99af");var e=c("356f"),o=c("79e1"),i="admin/SysFunction";n["default"]={findList:function(t,n){var c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return Object(e["post"])("".concat(i,"/findList/").concat(t,"/").concat(n),c,!1)},deleteList:function(t){return console.log(t),t&&0===t.length?o["default"].message("请选择要删除的数据!","警告"):Object(e["post"])("".concat(i,"/deleteList"),t,!1)},findForm:function(t){return Object(e["get"])("".concat(i,"/findForm").concat(t?"/"+t:""))},saveForm:function(t){return Object(e["post"])("".concat(i,"/saveForm"),t)}}}}]); 2 | //# sourceMappingURL=chunk-2d229c0f.2adeecc0.js.map -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Repositories.Redis/RepositoryRedisModule.cs: -------------------------------------------------------------------------------- 1 | using HZY.Infrastructure.Redis; 2 | using HZY.Repository.Redis; 3 | using Microsoft.Extensions.DependencyInjection; 4 | 5 | namespace HZY.Repositories.Redis; 6 | 7 | /// 8 | /// Redis 模块 9 | /// 10 | public class RepositoryRedisModule 11 | { 12 | /// 13 | /// 注册 Redis 模块 14 | /// 15 | /// 16 | /// 17 | public static void RegisterRedisRepository(IServiceCollection services, string connectionString) 18 | { 19 | services.AddSingleton(serviceProvider => new RedisService(connectionString)); 20 | } 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/js/chunk-2d229c0f.2adeecc0.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d229c0f"],{df90:function(t,n,c){"use strict";c.r(n);c("99af");var e=c("356f"),o=c("79e1"),i="admin/SysFunction";n["default"]={findList:function(t,n){var c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return Object(e["post"])("".concat(i,"/findList/").concat(t,"/").concat(n),c,!1)},deleteList:function(t){return console.log(t),t&&0===t.length?o["default"].message("请选择要删除的数据!","警告"):Object(e["post"])("".concat(i,"/deleteList"),t,!1)},findForm:function(t){return Object(e["get"])("".concat(i,"/findForm").concat(t?"/"+t:""))},saveForm:function(t){return Object(e["post"])("".concat(i,"/saveForm"),t)}}}}]); 2 | //# sourceMappingURL=chunk-2d229c0f.2adeecc0.js.map -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Services.Admin/HZY.Services.Admin.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | 6 | 7 | 8 | HZY.Services.Admin.xml 9 | 1701;1702;1591 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | Always 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/js/chunk-2d0dd83e.53da076c.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["webpack:///./src/service/system/personal_center_service.js"],"names":["controllerName","changePassword","form","post","saveForm"],"mappings":"kHAAA,uBAEMA,EAAiB,uBAER,cAMXC,eANW,SAMIC,GACX,OAAOC,kBAAK,GAAD,OAAIH,EAAJ,mBAAqCE,IAEpDE,SATW,SASFF,GACL,OAAOC,kBAAK,GAAD,OAAIH,EAAJ,aAA+BE","file":"js/chunk-2d0dd83e.53da076c.js","sourcesContent":["import { post } from '@/scripts/request';\r\n\r\nconst controllerName = \"admin/PersonalCenter\";\r\n\r\nexport default {\r\n /**\r\n * 修改密码\r\n *\r\n * @param {表单数据} form\r\n */\r\n changePassword(form) {\r\n return post(`${controllerName}/changePassword`, form);\r\n },\r\n saveForm(form) {\r\n return post(`${controllerName}/saveForm`, form);\r\n }\r\n};"],"sourceRoot":""} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/js/chunk-2d0dd83e.53da076c.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["webpack:///./src/service/system/personal_center_service.js"],"names":["controllerName","changePassword","form","post","saveForm"],"mappings":"kHAAA,uBAEMA,EAAiB,uBAER,cAMXC,eANW,SAMIC,GACX,OAAOC,kBAAK,GAAD,OAAIH,EAAJ,mBAAqCE,IAEpDE,SATW,SASFF,GACL,OAAOC,kBAAK,GAAD,OAAIH,EAAJ,aAA+BE","file":"js/chunk-2d0dd83e.53da076c.js","sourcesContent":["import { post } from '@/scripts/request';\r\n\r\nconst controllerName = \"admin/PersonalCenter\";\r\n\r\nexport default {\r\n /**\r\n * 修改密码\r\n *\r\n * @param {表单数据} form\r\n */\r\n changePassword(form) {\r\n return post(`${controllerName}/changePassword`, form);\r\n },\r\n saveForm(form) {\r\n return post(`${controllerName}/saveForm`, form);\r\n }\r\n};"],"sourceRoot":""} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Controllers/HZY.Controllers.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | 6 | 7 | 8 | HZY.Controllers.xml 9 | 1701;1702;1591 10 | 11 | 12 | 13 | 14 | Always 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Models/Entities/BaseEntitys/DefaultBaseEntity.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.ComponentModel.DataAnnotations; 3 | 4 | namespace HZY.Models.Entities.BaseEntitys; 5 | 6 | /// 7 | /// 基础模型 8 | /// 包含属性 UpdateTime、CreateTime 9 | /// 10 | public class DefaultBaseEntity 11 | { 12 | /// 13 | /// 更新时间 14 | /// 15 | public virtual DateTime UpdateTime { get; set; } 16 | 17 | /// 18 | /// 创建时间 19 | /// 20 | public virtual DateTime CreateTime { get; set; } 21 | } 22 | 23 | /// 24 | /// 基础模型 25 | /// 包含属性 Id、UpdateTime、CreateTime 26 | /// 27 | /// 28 | public class DefaultBaseEntity : DefaultBaseEntity 29 | { 30 | [Key] 31 | public virtual TKey Id { get; set; } = default; 32 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Models/Entities/Framework/SysDictionary.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HZY.Models.Entities.BaseEntitys; 3 | 4 | namespace HZY.Models.Entities.Framework; 5 | 6 | /// 7 | /// 数据字典 8 | /// 9 | public class SysDictionary : DefaultBaseEntity 10 | { 11 | /// 12 | /// 排序号 13 | /// 14 | public int Sort { get; set; } 15 | 16 | /// 17 | /// 编码 18 | /// 19 | public string Code { get; set; } 20 | 21 | /// 22 | /// 分组名称/键 23 | /// 24 | public string Name { get; set; } 25 | 26 | /// 27 | /// 值 28 | /// 29 | public string Value { get; set; } 30 | 31 | /// 32 | /// 父级Id 33 | /// 34 | public Guid? ParentId { get; set; } 35 | 36 | 37 | } 38 | -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/src/assets/styles/hzy-admin-ui-antd.less: -------------------------------------------------------------------------------- 1 | @import "ant-design-vue/dist/antd.less"; 2 | @import "hzy-admin-ui.less"; 3 | @import "hzy-admin-ui-tools.less"; 4 | @import "hzy-admin-ui-layout.less"; 5 | @import "hzy-admin-ui-transition.less"; 6 | 7 | // @primary-color: #1890ff; // 全局主色 8 | // @link-color: #1890ff; // 链接色 9 | // @success-color: #52c41a; // 成功色 10 | // @warning-color: #faad14; // 警告色 11 | // @error-color: #f5222d; // 错误色 12 | // @font-size-base: 14px; // 主字号 13 | // @heading-color: rgba(0, 0, 0, 0.85); // 标题色 14 | // @text-color: rgba(0, 0, 0, 0.65); // 主文本色 15 | // @text-color-secondary: rgba(0, 0, 0, 0.45); // 次文本色 16 | // @disabled-color: rgba(0, 0, 0, 0.25); // 失效色 17 | // @border-radius-base: 4px; // 组件/浮层圆角 18 | // @border-color-base: #d9d9d9; // 边框色 19 | // @box-shadow-base: 0 2px 8px rgba(0, 0, 0, 0.15); // 浮层阴影 -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Controllers.App/HZY.Controllers.App.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | 6 | 7 | 8 | HZY.Controllers.App.xml 9 | 1701;1702;1591 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | Always 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Repositories/HZY.Repositories.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | 6 | 7 | 8 | HZY.Repositories.xml 9 | 1701;1702;1591 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | Always 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/js/chunk-2d0b9035.08b44f82.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0b9035"],{"30ac":function(t,n,e){"use strict";e.r(n);e("99af");var c=e("356f"),o=e("79e1"),a="admin/Member";n["default"]={findList:function(t,n){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return Object(c["post"])("".concat(a,"/findList/").concat(t,"/").concat(n),e,!1)},deleteList:function(t){return console.log(t),t&&0===t.length?o["default"].message("请选择要删除的数据!","警告"):Object(c["post"])("".concat(a,"/deleteList"),t,!1)},findForm:function(t){return Object(c["get"])("".concat(a,"/findForm").concat(t?"/"+t:""))},saveForm:function(t){return Object(c["upload"])("".concat(a,"/saveForm"),t)},exportExcel:function(t){return Object(c["download"])("".concat(a,"/exportExcel"),t)}}}}]); 2 | //# sourceMappingURL=chunk-2d0b9035.08b44f82.js.map -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/js/chunk-2d0f08cc.54a22150.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0f08cc"],{"9d9d":function(t,n,c){"use strict";c.r(n);c("99af");var e=c("356f"),o=c("79e1"),a="admin/SysRole";n["default"]={findList:function(t,n){var c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return Object(e["post"])("".concat(a,"/findList/").concat(t,"/").concat(n),c,!1)},deleteList:function(t){return console.log(t),t&&0===t.length?o["default"].message("请选择要删除的数据!","警告"):Object(e["post"])("".concat(a,"/deleteList"),t,!1)},findForm:function(t){return Object(e["get"])("".concat(a,"/findForm").concat(t?"/"+t:""))},saveForm:function(t){return Object(e["post"])("".concat(a,"/saveForm"),t)},exportExcel:function(t){return Object(e["download"])("".concat(a,"/exportExcel"),t)}}}}]); 2 | //# sourceMappingURL=chunk-2d0f08cc.54a22150.js.map -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/js/chunk-2d20e884.1f854550.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d20e884"],{b088:function(t,n,e){"use strict";e.r(n);e("99af");var c=e("356f"),o=e("79e1"),a="admin/SysPost";n["default"]={findList:function(t,n){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return Object(c["post"])("".concat(a,"/findList/").concat(t,"/").concat(n),e,!1)},deleteList:function(t){return console.log(t),t&&0===t.length?o["default"].message("请选择要删除的数据!","警告"):Object(c["post"])("".concat(a,"/deleteList"),t,!1)},findForm:function(t){return Object(c["get"])("".concat(a,"/findForm").concat(t?"/"+t:""))},saveForm:function(t){return Object(c["post"])("".concat(a,"/saveForm"),t)},exportExcel:function(t){return Object(c["download"])("".concat(a,"/exportExcel"),t)}}}}]); 2 | //# sourceMappingURL=chunk-2d20e884.1f854550.js.map -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Repositories.Redis/HZY.Repositories.Redis.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | 6 | 7 | 8 | HZY.Repositories.Redis.xml 9 | 1701;1702;1591 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | Always 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Services/HZY.Services.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | 6 | 7 | 8 | HZY.Services.xml 9 | 1701;1702;1591 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | Always 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/js/chunk-2d0b9035.08b44f82.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0b9035"],{"30ac":function(t,n,e){"use strict";e.r(n);e("99af");var c=e("356f"),o=e("79e1"),a="admin/Member";n["default"]={findList:function(t,n){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return Object(c["post"])("".concat(a,"/findList/").concat(t,"/").concat(n),e,!1)},deleteList:function(t){return console.log(t),t&&0===t.length?o["default"].message("请选择要删除的数据!","警告"):Object(c["post"])("".concat(a,"/deleteList"),t,!1)},findForm:function(t){return Object(c["get"])("".concat(a,"/findForm").concat(t?"/"+t:""))},saveForm:function(t){return Object(c["upload"])("".concat(a,"/saveForm"),t)},exportExcel:function(t){return Object(c["download"])("".concat(a,"/exportExcel"),t)}}}}]); 2 | //# sourceMappingURL=chunk-2d0b9035.08b44f82.js.map -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/js/chunk-2d0f08cc.54a22150.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0f08cc"],{"9d9d":function(t,n,c){"use strict";c.r(n);c("99af");var e=c("356f"),o=c("79e1"),a="admin/SysRole";n["default"]={findList:function(t,n){var c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return Object(e["post"])("".concat(a,"/findList/").concat(t,"/").concat(n),c,!1)},deleteList:function(t){return console.log(t),t&&0===t.length?o["default"].message("请选择要删除的数据!","警告"):Object(e["post"])("".concat(a,"/deleteList"),t,!1)},findForm:function(t){return Object(e["get"])("".concat(a,"/findForm").concat(t?"/"+t:""))},saveForm:function(t){return Object(e["post"])("".concat(a,"/saveForm"),t)},exportExcel:function(t){return Object(e["download"])("".concat(a,"/exportExcel"),t)}}}}]); 2 | //# sourceMappingURL=chunk-2d0f08cc.54a22150.js.map -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/js/chunk-2d20e884.1f854550.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d20e884"],{b088:function(t,n,e){"use strict";e.r(n);e("99af");var c=e("356f"),o=e("79e1"),a="admin/SysPost";n["default"]={findList:function(t,n){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return Object(c["post"])("".concat(a,"/findList/").concat(t,"/").concat(n),e,!1)},deleteList:function(t){return console.log(t),t&&0===t.length?o["default"].message("请选择要删除的数据!","警告"):Object(c["post"])("".concat(a,"/deleteList"),t,!1)},findForm:function(t){return Object(c["get"])("".concat(a,"/findForm").concat(t?"/"+t:""))},saveForm:function(t){return Object(c["post"])("".concat(a,"/saveForm"),t)},exportExcel:function(t){return Object(c["download"])("".concat(a,"/exportExcel"),t)}}}}]); 2 | //# sourceMappingURL=chunk-2d20e884.1f854550.js.map -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/js/chunk-2d2136d8.451d64c9.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d2136d8"],{ad43:function(t,n,e){"use strict";e.r(n);e("99af");var c=e("356f"),o=e("79e1"),i="admin/SysDictionary";n["default"]={findList:function(t,n){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return Object(c["post"])("".concat(i,"/findList/").concat(t,"/").concat(n),e,!1)},deleteList:function(t){return console.log(t),t&&0===t.length?o["default"].message("请选择要删除的数据!","警告"):Object(c["post"])("".concat(i,"/deleteList"),t,!1)},findForm:function(t){return Object(c["get"])("".concat(i,"/findForm").concat(t?"/"+t:""))},saveForm:function(t){return Object(c["post"])("".concat(i,"/saveForm"),t)},getDictionaryTree:function(){return Object(c["get"])("".concat(i,"/getDictionaryTree"))}}}}]); 2 | //# sourceMappingURL=chunk-2d2136d8.451d64c9.js.map -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.FreeSqlCore/FreeSqlBaseRepository.cs: -------------------------------------------------------------------------------- 1 | using FreeSql; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Linq.Expressions; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | 9 | namespace HC.FreeSqlPlus; 10 | 11 | public class FreeSqlBaseRepository : BaseRepository where TEntity : class 12 | { 13 | public FreeSqlBaseRepository(IFreeSql fsql, Expression> filter, Func asTable = null) : base(fsql, filter, asTable) 14 | { 15 | 16 | } 17 | } 18 | 19 | public class AppBaseRepository : BaseRepository where TEntity : class 20 | { 21 | public AppBaseRepository(IFreeSql fsql, Expression> filter, Func asTable = null) : base(fsql, filter, asTable) 22 | { 23 | 24 | } 25 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/js/chunk-2d2136d8.451d64c9.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d2136d8"],{ad43:function(t,n,e){"use strict";e.r(n);e("99af");var c=e("356f"),o=e("79e1"),i="admin/SysDictionary";n["default"]={findList:function(t,n){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return Object(c["post"])("".concat(i,"/findList/").concat(t,"/").concat(n),e,!1)},deleteList:function(t){return console.log(t),t&&0===t.length?o["default"].message("请选择要删除的数据!","警告"):Object(c["post"])("".concat(i,"/deleteList"),t,!1)},findForm:function(t){return Object(c["get"])("".concat(i,"/findForm").concat(t?"/"+t:""))},saveForm:function(t){return Object(c["post"])("".concat(i,"/saveForm"),t)},getDictionaryTree:function(){return Object(c["get"])("".concat(i,"/getDictionaryTree"))}}}}]); 2 | //# sourceMappingURL=chunk-2d2136d8.451d64c9.js.map -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/js/chunk-2d0d3655.ff763491.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0d3655"],{"5d1a":function(t,n,e){"use strict";e.r(n);e("99af");var o=e("356f"),c=e("79e1"),a="admin/SysOrganization";n["default"]={findList:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object(o["post"])("".concat(a,"/findList/"),t,!1)},deleteList:function(t){return console.log(t),t&&0===t.length?c["default"].message("请选择要删除的数据!","警告"):Object(o["post"])("".concat(a,"/deleteList"),t,!1)},findForm:function(t,n){return Object(o["get"])("".concat(a,"/findForm/").concat(t||c["default"].guidEmpty,"/").concat(n||""))},saveForm:function(t){return Object(o["post"])("".concat(a,"/saveForm"),t)},exportExcel:function(t){return Object(o["download"])("".concat(a,"/exportExcel"),t)}}}}]); 2 | //# sourceMappingURL=chunk-2d0d3655.ff763491.js.map -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Controllers.Admin/ControllersAdmin/AdminBaseController.cs: -------------------------------------------------------------------------------- 1 | using HZY.Infrastructure; 2 | using HZY.Infrastructure.Controllers; 3 | using Microsoft.AspNetCore.Authorization; 4 | using Microsoft.AspNetCore.Mvc; 5 | 6 | namespace HZY.Controllers.Admin.ControllersAdmin; 7 | 8 | [Authorize]//是否授权 Authorize 9 | [ApiExplorerSettings(GroupName = nameof(ApiVersions.Admin))] 10 | [Route("api/admin/[controller]")] 11 | public class AdminBaseController : ApiBaseController where TDefaultService : class 12 | { 13 | public AdminBaseController(TDefaultService defaultService) : base(defaultService) 14 | { 15 | 16 | } 17 | } 18 | 19 | [Authorize]//是否授权 Authorize 20 | [ApiExplorerSettings(GroupName = nameof(ApiVersions.Admin))] 21 | [Route("api/admin/[controller]")] 22 | public class AdminBaseController : ApiBaseController 23 | { 24 | 25 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Infrastructure/MessageQueue/Models/MessageQueueContext.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace HZY.Infrastructure.MessageQueue.Models; 8 | 9 | public class MessageQueueContext 10 | { 11 | public MessageQueueContext(string key, object message, Action call) 12 | { 13 | Key = key; 14 | Message = message; 15 | Call = call; 16 | } 17 | 18 | /// 19 | /// 队列主键 20 | /// 21 | public string Key { get; set; } 22 | 23 | /// 24 | /// 消息 25 | /// 26 | public object Message { get; set; } 27 | 28 | /// 29 | /// 队列回调函数 30 | /// 31 | public Action Call { get; set; } 32 | 33 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/js/chunk-2d0d3655.ff763491.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0d3655"],{"5d1a":function(t,n,e){"use strict";e.r(n);e("99af");var o=e("356f"),c=e("79e1"),a="admin/SysOrganization";n["default"]={findList:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object(o["post"])("".concat(a,"/findList/"),t,!1)},deleteList:function(t){return console.log(t),t&&0===t.length?c["default"].message("请选择要删除的数据!","警告"):Object(o["post"])("".concat(a,"/deleteList"),t,!1)},findForm:function(t,n){return Object(o["get"])("".concat(a,"/findForm/").concat(t||c["default"].guidEmpty,"/").concat(n||""))},saveForm:function(t){return Object(o["post"])("".concat(a,"/saveForm"),t)},exportExcel:function(t){return Object(o["download"])("".concat(a,"/exportExcel"),t)}}}}]); 2 | //# sourceMappingURL=chunk-2d0d3655.ff763491.js.map -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Infrastructure/Permission/Attributes/ActionDescriptorAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace HZY.Infrastructure.Permission.Attributes; 8 | 9 | /// 10 | /// action 功能模块描述 11 | /// 12 | [AttributeUsage(AttributeTargets.Method, AllowMultiple = true, Inherited = true)] 13 | public class ActionDescriptorAttribute : Attribute 14 | { 15 | /// 16 | /// 功能名称 17 | /// 18 | private readonly string _functionName; 19 | 20 | public ActionDescriptorAttribute(string functionName) 21 | { 22 | _functionName = functionName; 23 | } 24 | 25 | /// 26 | /// 获取功能名称 27 | /// 28 | /// 29 | public string GetFunctionName() => this._functionName; 30 | 31 | } -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/js/chunk-2d0b21c3.501afd8e.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0b21c3"],{"235a":function(e,a,n){"use strict";n.r(a);var r=n("7a23"),t={id:"container1"};function s(e,a,n,s,i,c){return Object(r["E"])(),Object(r["k"])("div",t)}var i=n("917c"),c=Object(r["o"])({name:"index1",setup:function(){var e=Object(r["I"])([{year:"1951 年",sales:38},{year:"1952 年",sales:52},{year:"1956 年",sales:61},{year:"1957 年",sales:145},{year:"1958 年",sales:48},{year:"1959 年",sales:38},{year:"1960 年",sales:38},{year:"1962 年",sales:38}]),a=function(){var a=new i["a"]({container:"container1",autoFit:!0,height:500});a.data(e),a.scale("sales",{nice:!0}),a.tooltip({showMarkers:!1}),a.interaction("active-region"),a.interval().position("year*sales"),a.render()};return Object(r["B"])((function(){a()})),{data:e}}});c.render=s;a["default"]=c}}]); 2 | //# sourceMappingURL=chunk-2d0b21c3.501afd8e.js.map -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/src/service/system/rolefunctionService.js: -------------------------------------------------------------------------------- 1 | import { get, post } from '@/scripts/request'; 2 | // import tools from "@/scripts/tools"; 3 | 4 | const controllerName = "admin/SysRoleMenuFunction"; 5 | 6 | export default { 7 | /** 8 | * 查询列表 9 | * 10 | * @param {一页显示多少行} rows 11 | * @param {当前页码} page 12 | */ 13 | findList(rows, page, search = {}) { 14 | return post(`${controllerName}/findList/${rows}/${page}`, search, false); 15 | }, 16 | /** 17 | * 保存表单 18 | * 19 | * @param {表单数据} form 20 | */ 21 | saveForm(form) { 22 | return post(`${controllerName}/saveForm`, form); 23 | }, 24 | /** 25 | * 获取角色菜单功能树 26 | * 27 | * @param {角色Id} roleId 28 | */ 29 | getRoleMenuFunctionTree(roleId) { 30 | return get(`${controllerName}/getRoleMenuFunctionTree/${roleId}`); 31 | } 32 | }; -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/js/chunk-2d0b21c3.501afd8e.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0b21c3"],{"235a":function(e,a,n){"use strict";n.r(a);var r=n("7a23"),t={id:"container1"};function s(e,a,n,s,i,c){return Object(r["E"])(),Object(r["k"])("div",t)}var i=n("917c"),c=Object(r["o"])({name:"index1",setup:function(){var e=Object(r["I"])([{year:"1951 年",sales:38},{year:"1952 年",sales:52},{year:"1956 年",sales:61},{year:"1957 年",sales:145},{year:"1958 年",sales:48},{year:"1959 年",sales:38},{year:"1960 年",sales:38},{year:"1962 年",sales:38}]),a=function(){var a=new i["a"]({container:"container1",autoFit:!0,height:500});a.data(e),a.scale("sales",{nice:!0}),a.tooltip({showMarkers:!1}),a.interaction("active-region"),a.interval().position("year*sales"),a.render()};return Object(r["B"])((function(){a()})),{data:e}}});c.render=s;a["default"]=c}}]); 2 | //# sourceMappingURL=chunk-2d0b21c3.501afd8e.js.map -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Models/Entities/BaseEntitys/DeleteBaseEntity.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace HZY.Models.Entities.BaseEntitys; 8 | 9 | public class DeleteBaseEntity : UpdateBaseEntity, IDeleteBaseEntity, IUpdateBaseEntity, IBaseEntity 10 | { 11 | public virtual bool IsDeleted { get; set; } = false; 12 | public virtual Guid? DeleteUserId { get; set; } 13 | public virtual DateTime? DeleteTime { get; set; } 14 | } 15 | 16 | public interface IDeleteBaseEntity 17 | { 18 | /// 19 | /// 是否删除 20 | /// 21 | bool IsDeleted { get; set; } 22 | /// 23 | /// 删除用户 24 | /// 25 | Guid? DeleteUserId { get; set; } 26 | /// 27 | /// 删除时间 28 | /// 29 | DateTime? DeleteTime { get; set; } 30 | 31 | } -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/js/chunk-2d0d678c.28280f0f.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0d678c"],{7360:function(t,n,e){"use strict";e.r(n);e("99af");var c=e("356f"),o=e("79e1"),u="admin/SysMenu";n["default"]={getMenus:function(){return Object(c["get"])("".concat(u,"/getMenus"))},findList:function(t,n){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return Object(c["post"])("".concat(u,"/findList/").concat(t,"/").concat(n),e,!1)},deleteList:function(t){return console.log(t),t&&0===t.length?o["default"].message("请选择要删除的数据!","警告"):Object(c["post"])("".concat(u,"/deleteList"),t,!1)},findForm:function(t){return Object(c["get"])("".concat(u,"/findForm").concat(t?"/"+t:""))},saveForm:function(t){return Object(c["post"])("".concat(u,"/saveForm"),t)},getMenusFunctionTree:function(){return Object(c["get"])("".concat(u,"/getMenusFunctionTree"))}}}}]); 2 | //# sourceMappingURL=chunk-2d0d678c.28280f0f.js.map -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json.schemastore.org/launchsettings.json", 3 | "iisSettings": { 4 | "windowsAuthentication": false, 5 | "anonymousAuthentication": true, 6 | "iisExpress": { 7 | "applicationUrl": "http://localhost:5600", 8 | "sslPort": 0 9 | } 10 | }, 11 | "profiles": { 12 | "HZY.WebHost": { 13 | "commandName": "Project", 14 | "dotnetRunMessages": true, 15 | "launchBrowser": true, 16 | "launchUrl": "", 17 | "applicationUrl": "http://localhost:5600", 18 | "environmentVariables": { 19 | "ASPNETCORE_ENVIRONMENT": "Development" 20 | } 21 | }, 22 | "IIS Express": { 23 | "commandName": "IISExpress", 24 | "launchBrowser": true, 25 | "launchUrl": "", 26 | "environmentVariables": { 27 | "ASPNETCORE_ENVIRONMENT": "Development" 28 | } 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/js/chunk-2d0d678c.28280f0f.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0d678c"],{7360:function(t,n,e){"use strict";e.r(n);e("99af");var c=e("356f"),o=e("79e1"),u="admin/SysMenu";n["default"]={getMenus:function(){return Object(c["get"])("".concat(u,"/getMenus"))},findList:function(t,n){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return Object(c["post"])("".concat(u,"/findList/").concat(t,"/").concat(n),e,!1)},deleteList:function(t){return console.log(t),t&&0===t.length?o["default"].message("请选择要删除的数据!","警告"):Object(c["post"])("".concat(u,"/deleteList"),t,!1)},findForm:function(t){return Object(c["get"])("".concat(u,"/findForm").concat(t?"/"+t:""))},saveForm:function(t){return Object(c["post"])("".concat(u,"/saveForm"),t)},getMenusFunctionTree:function(){return Object(c["get"])("".concat(u,"/getMenusFunctionTree"))}}}}]); 2 | //# sourceMappingURL=chunk-2d0d678c.28280f0f.js.map -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.2.0", 3 | "configurations": [ 4 | { 5 | "type": "chrome", 6 | "request": "launch", 7 | "name": "vuejs: chrome", 8 | "url": "http://localhost:8080", 9 | "webRoot": "${workspaceFolder}/src", 10 | "breakOnLoad": true, 11 | "sourceMapPathOverrides": { 12 | "webpack:///src/*": "${webRoot}/*" 13 | } 14 | }, 15 | { 16 | "type": "firefox", 17 | "request": "launch", 18 | "name": "vuejs: firefox", 19 | "url": "http://localhost:8080", 20 | "webRoot": "${workspaceFolder}/src", 21 | "pathMappings": [ 22 | { 23 | "url": "webpack:///src/", 24 | "path": "${webRoot}/" 25 | } 26 | ] 27 | } 28 | ] 29 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Repositories.Redis/HZY.Repositories.Redis.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | HZY.Repositories.Redis 5 | 6 | 7 | 8 | 9 | Redis 仓储 10 | 11 | 12 | 13 | 14 | Redis 模块 15 | 16 | 17 | 18 | 19 | 注册 Redis 模块 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Models/Entities/Framework/SysPost.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HZY.Models.Entities.BaseEntitys; 3 | 4 | namespace HZY.Models.Entities.Framework; 5 | 6 | /// 7 | /// 岗位 8 | /// 9 | public class SysPost : DefaultBaseEntity 10 | { 11 | /// 12 | /// 编号 13 | /// 14 | public int? Number { get; set; } 15 | 16 | /// 17 | /// 岗位编码 18 | /// 19 | public string Code { get; set; } 20 | 21 | /// 22 | /// 岗位名称 23 | /// 24 | public string Name { get; set; } 25 | 26 | /// 27 | /// 状态 28 | /// 29 | public StateEnum State { get; set; } = StateEnum.正常; 30 | 31 | /// 32 | /// 备注 33 | /// 34 | public string Remarks { get; set; } 35 | } 36 | 37 | /// 38 | /// 状态 枚举 39 | /// 40 | public enum StateEnum 41 | { 42 | 正常 = 1, 43 | 停用 44 | } 45 | 46 | -------------------------------------------------------------------------------- /README.en.md: -------------------------------------------------------------------------------- 1 | # HzyAdminSpaNet6 2 | 3 | #### Description 4 | HzyAdminSpa .Net6 5 | 6 | #### Software Architecture 7 | Software architecture description 8 | 9 | #### Installation 10 | 11 | 1. xxxx 12 | 2. xxxx 13 | 3. xxxx 14 | 15 | #### Instructions 16 | 17 | 1. xxxx 18 | 2. xxxx 19 | 3. xxxx 20 | 21 | #### Contribution 22 | 23 | 1. Fork the repository 24 | 2. Create Feat_xxx branch 25 | 3. Commit your code 26 | 4. Create Pull Request 27 | 28 | 29 | #### Gitee Feature 30 | 31 | 1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md 32 | 2. Gitee blog [blog.gitee.com](https://blog.gitee.com) 33 | 3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) 34 | 4. The most valuable open source project [GVP](https://gitee.com/gvp) 35 | 5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) 36 | 6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) 37 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.FreeSqlCore/HZY.FreeSqlCore.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | 6 | 7 | 8 | HZY.FreeSqlCore.xml 9 | 1701;1702;1591 10 | 11 | 12 | 13 | 14 | Always 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Controllers.Admin/RedisController.cs: -------------------------------------------------------------------------------- 1 | using HZY.Controllers.Admin.ControllersAdmin; 2 | using HZY.Controllers.Admin.Framework; 3 | using HZY.Infrastructure.Filters; 4 | using HZY.Repositories.Redis; 5 | using Microsoft.AspNetCore.Mvc; 6 | 7 | namespace HZY.Controllers.Admin; 8 | 9 | [ApiResultFilter] 10 | [Route("api/[controller]")] 11 | public class RedisController : AdminBaseController 12 | { 13 | //private readonly BaseRedisRepository _redisRepository; 14 | 15 | //public RedisController(RedisRepository redisRepository) 16 | //{ 17 | // _redisRepository = redisRepository; 18 | //} 19 | 20 | ///// 21 | ///// 测试 消息订阅 22 | ///// 23 | ///// 24 | ///// 25 | //[HttpGet("{key}")] 26 | //public string Test(string key) 27 | //{ 28 | // _redisRepository.Listener(key); 29 | // return "调用成功!"; 30 | //} 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.EFCore/Models/PagingViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using System.Text; 5 | 6 | namespace HZY.EFCore.Models; 7 | 8 | public class PagingViewModel 9 | { 10 | /// 11 | /// 列信息 12 | /// 13 | public List Columns { get; set; } = new List(); 14 | 15 | /// 16 | /// 转换后数据 17 | /// 18 | public List> DataSource { get; set; } = new List>(); 19 | 20 | /// 21 | /// 总数 22 | /// 23 | public long Total { get; set; } 24 | 25 | /// 26 | /// 总页数 27 | /// 28 | public long PageCount { get; set; } 29 | 30 | /// 31 | /// 一页显示多少条 32 | /// 33 | public int Size { get; set; } 34 | 35 | /// 36 | /// 页码 37 | /// 38 | public int Page { get; set; } 39 | } -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/css/chunk-vendors.902ebb66.css: -------------------------------------------------------------------------------- 1 | #nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(1turn)}}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Controllers/HZY.Controllers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | HZY.Controllers 5 | 6 | 7 | 8 | 9 | 公共接口控制器 10 | 11 | 12 | 13 | 14 | 根据编码获取 字典集合 15 | 16 | 17 | 18 | 19 | 20 | 21 | 上传文件控制器 22 | 23 | 24 | 25 | 26 | 上传图片 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Infrastructure/Redis/RedisService.cs: -------------------------------------------------------------------------------- 1 | using HZY.Infrastructure.Redis; 2 | using StackExchange.Redis; 3 | 4 | namespace HZY.Repository.Redis; 5 | 6 | /// 7 | /// Redis 服务类 8 | /// 9 | public class RedisService : IRedisService 10 | { 11 | /// 12 | /// get database 13 | /// 14 | public IDatabase Database { get; } 15 | public IConnectionMultiplexer Multiplexer { get; } 16 | 17 | private readonly ConnectionMultiplexer _connectionMultiplexer; 18 | 19 | public RedisService(string connectionString) 20 | { 21 | this._connectionMultiplexer = ConnectionMultiplexer.Connect(connectionString); 22 | this.Database = _connectionMultiplexer.GetDatabase(); 23 | this.Multiplexer = this.Database.Multiplexer; 24 | } 25 | 26 | public void Dispose() 27 | { 28 | if (this._connectionMultiplexer == null) return; 29 | this._connectionMultiplexer.Close(); 30 | this._connectionMultiplexer.Dispose(); 31 | } 32 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/css/chunk-vendors.902ebb66.css: -------------------------------------------------------------------------------- 1 | #nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(1turn)}}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Infrastructure/ScanDIService/Attributes/DIServiceAttribute.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * ******************************************************* 3 | * 4 | * 作者:hzy 5 | * 6 | * 开源地址:https://gitee.com/hzy6 7 | * 8 | * ******************************************************* 9 | */ 10 | using HZY.Infrastructure.ScanDIService.Enums; 11 | using System; 12 | 13 | namespace HZY.Infrastructure.ScanDIService.Attributes; 14 | 15 | /// 16 | /// 服务标记 用于 程序 启动 扫描到后自动 注册服务 17 | /// 18 | [AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false)] 19 | public class DIServiceAttribute : Attribute 20 | { 21 | private readonly DIType _dIType; 22 | 23 | /// 24 | /// 忽略当前 对象 服务 25 | /// 26 | public bool IgnoreCurrent { get; set; } = false; 27 | 28 | public DIServiceAttribute(DIType dIType = DIType.Transient) 29 | { 30 | this._dIType = dIType; 31 | } 32 | 33 | public DIType GetAppServiceType() 34 | { 35 | return this._dIType; 36 | } 37 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Models/BO/AccountInfo.cs: -------------------------------------------------------------------------------- 1 | using HZY.Models.Entities.Framework; 2 | using System; 3 | using System.Collections.Generic; 4 | 5 | namespace HZY.Model.BO; 6 | 7 | /// 8 | /// 账户 业务对象 9 | /// 10 | public class AccountInfo : SysUser 11 | { 12 | /// 13 | /// 角色 集合 14 | /// 15 | public List SysRoles { get; set; } 16 | 17 | /// 18 | /// 所属岗位 19 | /// 20 | public List SysPosts { get; set; } 21 | 22 | /// 23 | /// 所属组织 24 | /// 25 | public SysOrganization SysOrganization { get; set; } 26 | 27 | /// 28 | /// 是否超级管理员 29 | /// 30 | public bool IsAdministrator { get; set; } 31 | 32 | /// 33 | /// 菜单集合 34 | /// 35 | public List> Menus { get; set; } 36 | 37 | /// 38 | /// 菜单功能集合 39 | /// 40 | public List> MenuPowers { get; set; } 41 | } -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/src/components/layout/menus/subMenus.vue: -------------------------------------------------------------------------------- 1 | 22 | 34 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Controllers.Admin/HZY.Controllers.Admin.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | 6 | 7 | 8 | HZY.Controllers.Admin.xml 9 | 1701;1702;1591 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | Always 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Services/Accounts/IAccountService.cs: -------------------------------------------------------------------------------- 1 | using HZY.Infrastructure.ScanDIService.Interface; 2 | using HZY.Model.BO; 3 | using System.Threading.Tasks; 4 | 5 | namespace HZY.Services.Accounts; 6 | 7 | /// 8 | /// 当前登录账户服务 9 | /// 10 | public interface IAccountService : IDIScoped 11 | { 12 | /// 13 | /// 获取账户信息 14 | /// 15 | /// 16 | AccountInfo GetAccountInfo(); 17 | 18 | /// 19 | /// 检查账户密码信息 20 | /// 21 | /// 22 | /// 23 | /// 24 | /// 25 | Task CheckAccountAsync(string name, string password, string code); 26 | 27 | /// 28 | /// 修改密码 29 | /// 30 | /// 31 | /// 32 | /// 33 | Task ChangePasswordAsync(string oldPassword, string newPassword); 34 | 35 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Controllers/UploadController.cs: -------------------------------------------------------------------------------- 1 | using HZY.Services.Upload; 2 | using Microsoft.AspNetCore.Mvc; 3 | using System.Linq; 4 | 5 | namespace HZY.Controllers; 6 | 7 | /// 8 | /// 上传文件控制器 9 | /// 10 | [Route("api/[controller]")] 11 | public class UploadController : ControllerBase 12 | { 13 | private readonly IUploadService _uploadService; 14 | 15 | public UploadController(IUploadService uploadService) 16 | { 17 | _uploadService = uploadService; 18 | } 19 | 20 | /// 21 | /// 上传图片 22 | /// 23 | /// 24 | [Route("Images")] 25 | [HttpPost, HttpPost] 26 | public JsonResult Images() 27 | { 28 | var files = Request.Form.Files.Where(w => w.Name.Contains("editorFileImages")).ToList(); 29 | var paths = files.Select(item => this._uploadService.HandleUploadFile(item)).ToList(); 30 | 31 | return new JsonResult(new 32 | { 33 | errno = 0, 34 | data = paths 35 | }); 36 | } 37 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Models/Entities/Framework/SysUser.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HZY.Models.Entities.BaseEntitys; 3 | 4 | namespace HZY.Models.Entities.Framework; 5 | 6 | /// 7 | /// 系统账号 8 | /// 9 | public class SysUser : DefaultBaseEntity 10 | { 11 | /// 12 | /// 账户名称 13 | /// 14 | public string Name { get; set; } 15 | 16 | /// 17 | /// 登录账号 18 | /// 19 | public string LoginName { get; set; } 20 | 21 | /// 22 | /// 密码 23 | /// 24 | public string Password { get; set; } 25 | 26 | /// 27 | /// 联系电话 28 | /// 29 | public string Phone { get; set; } 30 | 31 | /// 32 | /// 账户邮件地址 33 | /// 34 | public string Email { get; set; } 35 | 36 | /// 37 | /// 能否删除 38 | /// 39 | public int IsDelete { get; set; } = 1; 40 | 41 | /// 42 | /// 组织Id 43 | /// 44 | public Guid? OrganizationId { get; set; } 45 | } 46 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Infrastructure/Permission/Attributes/ControllerDescriptorAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace HZY.Infrastructure.Permission.Attributes; 4 | 5 | /// 6 | /// 控制器 接口 描述 7 | /// 8 | [AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = true)] 9 | public class ControllerDescriptorAttribute : Attribute 10 | { 11 | /// 12 | /// 用于接口权限鉴定 菜单id 13 | /// 14 | private readonly string _menuId; 15 | 16 | /// 17 | /// 授权检查 默认检查 18 | /// 19 | public bool AuthCheck = true; 20 | 21 | public ControllerDescriptorAttribute() 22 | { 23 | 24 | } 25 | 26 | /// 27 | /// 控制器描述 28 | /// 29 | /// 用于接口权限鉴定 菜单id 30 | public ControllerDescriptorAttribute(string menuId) 31 | { 32 | _menuId = menuId; 33 | } 34 | 35 | /// 36 | /// 获取菜单 Id 37 | /// 38 | /// 39 | public string GetMenuId() => this._menuId; 40 | 41 | } -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/src/App.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 40 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Controllers/PublicController.cs: -------------------------------------------------------------------------------- 1 | using HZY.Infrastructure.Filters; 2 | using HZY.Models.DTO; 3 | using HZY.Services.Admin.Framework; 4 | using Microsoft.AspNetCore.Mvc; 5 | using System; 6 | using System.Collections.Generic; 7 | using System.Linq; 8 | using System.Threading.Tasks; 9 | 10 | namespace HZY.Controllers; 11 | 12 | /// 13 | /// 公共接口控制器 14 | /// 15 | [ApiResultFilter] 16 | [Route("api/[controller]")] 17 | public class PublicController : ControllerBase 18 | { 19 | private readonly SysDictionaryService _sysDictionaryService; 20 | 21 | public PublicController(SysDictionaryService sysDictionaryService) 22 | { 23 | _sysDictionaryService = sysDictionaryService; 24 | } 25 | 26 | /// 27 | /// 根据编码获取 字典集合 28 | /// 29 | /// 30 | /// 31 | [HttpGet("GetDictionary/{code}")] 32 | public Task> GetDictionaryByCodeAsync([FromRoute] string code) 33 | { 34 | return this._sysDictionaryService.GetDictionaryByCodeAsync(code); 35 | } 36 | 37 | 38 | 39 | } -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/js/chunk-33f895ff.ac4150ea.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-33f895ff"],{"6f19":function(e,t,a){"use strict";a.r(t);var n=a("7a23"),c=Object(n["Z"])("data-v-65fcf995");Object(n["H"])("data-v-65fcf995");var r={className:"p-15"},o={src:"https://g2.antv.vision/zh/examples/gallery",frameBorder:"0",id:"iframe_g2"};Object(n["F"])();var i=c((function(e,t,a,c,i,f){var u=Object(n["L"])("a-spin");return Object(n["E"])(),Object(n["k"])("div",r,[e.loading?(Object(n["E"])(),Object(n["k"])(u,{key:0})):Object(n["l"])("",!0),Object(n["X"])(Object(n["n"])("iframe",o,null,512),[[n["T"],!e.loading]])])})),f=Object(n["o"])({name:"chart_more",setup:function(){var e=Object(n["J"])(!0);return Object(n["B"])((function(){var t=document.getElementById("iframe_g2");null!=t&&(Object.prototype.hasOwnProperty.call(t,"attachEvent")?t.addEventListener("onload",(function(){e.value=!1})):t.onload=function(){e.value=!1})})),{loading:e}}});a("7013");f.render=i,f.__scopeId="data-v-65fcf995";t["default"]=f},7013:function(e,t,a){"use strict";a("a9a2")},a9a2:function(e,t,a){}}]); 2 | //# sourceMappingURL=chunk-33f895ff.ac4150ea.js.map -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*", 10 | "AppConfiguration": { 11 | //sqlserver 12 | "AdminConnectionString": "Server=.;Database=HzyAdminSpa;User ID=sa;Password=123456;MultipleActiveResultSets=true", 13 | //mysql 14 | //"AdminConnectionString": "Server=localhost; port=3306; Database=HzyAdminSpa; uid=root; pwd=123456; Convert Zero Datetime=False", 15 | //postgresql 16 | //"AdminConnectionString": "User ID=postgres;Password=123456;Host=localhost;Port=5432;Database=HzyAdminSpa;Pooling=true;", 17 | //redis 18 | "ConnectionStringRedis": "127.0.0.1:6379,password=123456,defaultDatabase=0", 19 | "AppTitle": "HzyAdminSpa", 20 | "JwtKeyName": "JwtKeyName", 21 | "JwtSecurityKey": "1CC76841-F25D-4389-89FE-0F9451163CF1", 22 | "AdminRoleId": "18fa4771-6f58-46a3-80d2-6f0f5e9972e3", 23 | "SysMenuId": "9591f249-1471-44f7-86b5-6fdae8b93888", 24 | "AuthorizationKeyName": "Authorization" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/js/chunk-33f895ff.ac4150ea.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-33f895ff"],{"6f19":function(e,t,a){"use strict";a.r(t);var n=a("7a23"),c=Object(n["Z"])("data-v-65fcf995");Object(n["H"])("data-v-65fcf995");var r={className:"p-15"},o={src:"https://g2.antv.vision/zh/examples/gallery",frameBorder:"0",id:"iframe_g2"};Object(n["F"])();var i=c((function(e,t,a,c,i,f){var u=Object(n["L"])("a-spin");return Object(n["E"])(),Object(n["k"])("div",r,[e.loading?(Object(n["E"])(),Object(n["k"])(u,{key:0})):Object(n["l"])("",!0),Object(n["X"])(Object(n["n"])("iframe",o,null,512),[[n["T"],!e.loading]])])})),f=Object(n["o"])({name:"chart_more",setup:function(){var e=Object(n["J"])(!0);return Object(n["B"])((function(){var t=document.getElementById("iframe_g2");null!=t&&(Object.prototype.hasOwnProperty.call(t,"attachEvent")?t.addEventListener("onload",(function(){e.value=!1})):t.onload=function(){e.value=!1})})),{loading:e}}});a("7013");f.render=i,f.__scopeId="data-v-65fcf995";t["default"]=f},7013:function(e,t,a){"use strict";a("a9a2")},a9a2:function(e,t,a){}}]); 2 | //# sourceMappingURL=chunk-33f895ff.ac4150ea.js.map -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/js/chunk-44768535.e17874af.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-44768535"],{7428:function(t,e,n){},8162:function(t,e,n){"use strict";n("7428")},9429:function(t,e,n){"use strict";n.r(e);var a=n("7a23"),c=Object(a["Z"])("data-v-364b87b5");Object(a["H"])("data-v-364b87b5");var o={class:"p-15"},r={src:"https://2x.antdv.com/components/icon-cn/",frameBorder:"0",id:"iframe_antd_vue"};Object(a["F"])();var d=c((function(t,e,n,c,d,u){var b=Object(a["L"])("a-spin");return Object(a["E"])(),Object(a["k"])("div",o,[t.loading?(Object(a["E"])(),Object(a["k"])(b,{key:0})):Object(a["l"])("",!0),Object(a["X"])(Object(a["n"])("iframe",r,null,512),[[a["T"],!t.loading]])])})),u=Object(a["o"])({name:"antd_vue_components",setup:function(){var t=Object(a["J"])(!0);return Object(a["B"])((function(){var e=document.getElementById("iframe_antd_vue");null!=e&&(Object.prototype.hasOwnProperty.call(e,"attachEvent")?e.addEventListener("onload",(function(){t.value=!1})):e.onload=function(){t.value=!1})})),{loading:t}}});n("8162");u.render=d,u.__scopeId="data-v-364b87b5";e["default"]=u}}]); 2 | //# sourceMappingURL=chunk-44768535.e17874af.js.map -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/src/views/chart/base.vue: -------------------------------------------------------------------------------- 1 | 27 | 28 | 44 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/js/chunk-44768535.e17874af.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-44768535"],{7428:function(t,e,n){},8162:function(t,e,n){"use strict";n("7428")},9429:function(t,e,n){"use strict";n.r(e);var a=n("7a23"),c=Object(a["Z"])("data-v-364b87b5");Object(a["H"])("data-v-364b87b5");var o={class:"p-15"},r={src:"https://2x.antdv.com/components/icon-cn/",frameBorder:"0",id:"iframe_antd_vue"};Object(a["F"])();var d=c((function(t,e,n,c,d,u){var b=Object(a["L"])("a-spin");return Object(a["E"])(),Object(a["k"])("div",o,[t.loading?(Object(a["E"])(),Object(a["k"])(b,{key:0})):Object(a["l"])("",!0),Object(a["X"])(Object(a["n"])("iframe",r,null,512),[[a["T"],!t.loading]])])})),u=Object(a["o"])({name:"antd_vue_components",setup:function(){var t=Object(a["J"])(!0);return Object(a["B"])((function(){var e=document.getElementById("iframe_antd_vue");null!=e&&(Object.prototype.hasOwnProperty.call(e,"attachEvent")?e.addEventListener("onload",(function(){t.value=!1})):e.onload=function(){t.value=!1})})),{loading:t}}});n("8162");u.render=d,u.__scopeId="data-v-364b87b5";e["default"]=u}}]); 2 | //# sourceMappingURL=chunk-44768535.e17874af.js.map -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 HZY 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.EFCore/Extensions/DatabaseFacadeExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Data; 4 | using System.Data.Common; 5 | using Microsoft.Data.SqlClient; 6 | using Microsoft.EntityFrameworkCore; 7 | using Microsoft.EntityFrameworkCore.Infrastructure; 8 | using MySqlConnector; 9 | using Npgsql; 10 | 11 | namespace HZY.EFCore.Extensions; 12 | 13 | /// 14 | /// DatabaseFacade 扩展 15 | /// 16 | public static class DatabaseFacadeExtensions 17 | { 18 | /// 19 | /// 获取连接对象 20 | /// 21 | /// 22 | /// 23 | public static DbConnection GetDataConnection(this DatabaseFacade databaseFacade) 24 | { 25 | if (databaseFacade.IsMySql()) 26 | { 27 | return new MySqlConnection(databaseFacade.GetConnectionString()); 28 | } 29 | 30 | if (databaseFacade.IsNpgsql()) 31 | { 32 | return new NpgsqlConnection(databaseFacade.GetConnectionString()); 33 | } 34 | 35 | return new SqlConnection(databaseFacade.GetConnectionString()); 36 | } 37 | 38 | 39 | } -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/src/assets/styles/hzy-admin-ui-transition.less: -------------------------------------------------------------------------------- 1 | // global transition css 2 | 3 | /* fade */ 4 | .fade-enter-active, 5 | .fade-leave-active { 6 | transition: opacity 0.2s; 7 | } 8 | 9 | .fade-enter, 10 | .fade-leave-active { 11 | opacity: 0; 12 | } 13 | 14 | // .v-enter-from, 15 | // .v-leave-to { 16 | // opacity: 0; 17 | // } 18 | 19 | // .v-leave-from, 20 | // .v-enter-to { 21 | // opacity: 1; 22 | // } 23 | 24 | /* fade-transform */ 25 | .fade-transform-leave-active, 26 | .fade-transform-enter-active { 27 | transition: all .5s; 28 | } 29 | 30 | .fade-transform-enter-from { 31 | opacity: 0; 32 | transform: translateX(-30%); 33 | } 34 | 35 | .fade-transform-leave-to { 36 | opacity: 0; 37 | transform: translateX(30%); 38 | } 39 | 40 | /* breadcrumb transition */ 41 | .breadcrumb-enter-active, 42 | .breadcrumb-leave-active { 43 | transition: all .5s; 44 | } 45 | 46 | .breadcrumb-enter, 47 | .breadcrumb-leave-active { 48 | opacity: 0; 49 | transform: translateX(20px); 50 | } 51 | 52 | .breadcrumb-move { 53 | transition: all .5s; 54 | } 55 | 56 | .breadcrumb-leave-active { 57 | position: absolute; 58 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Infrastructure/HZY.Infrastructure.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | 6 | 7 | 8 | HZY.Infrastructure.xml 9 | 1701;1702;1591 10 | 11 | 12 | 13 | 14 | Always 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/js/chunk-493a4e82.f27347ba.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-493a4e82"],{"0f8c":function(e,a,t){"use strict";t("4d83")},"4d83":function(e,a,t){},b1df:function(e,a,t){"use strict";t.r(a);var n=t("7a23"),c=Object(n["Z"])("data-v-48c0a37e");Object(n["H"])("data-v-48c0a37e");var r={class:"p-15"};Object(n["F"])();var d=c((function(e,a,t,c,d,o){var i=Object(n["L"])("a-spin");return Object(n["E"])(),Object(n["k"])("div",r,[e.loading?(Object(n["E"])(),Object(n["k"])(i,{key:0})):Object(n["l"])("",!0),Object(n["X"])(Object(n["n"])("iframe",{src:e.domainName+"/swagger",frameBorder:"0",id:"iframe_swagger"},null,8,["src"]),[[n["T"],!e.loading]])])})),o=t("d4d1"),i=Object(n["o"])({name:"system_swagger",setup:function(){var e=Object(n["J"])(!0),a=Object(n["J"])(o["default"].domainName);return Object(n["B"])((function(){var a=document.getElementById("iframe_swagger");null!=a&&(Object.prototype.hasOwnProperty.call(a,"attachEvent")?a.addEventListener("onload",(function(){e.value=!1})):a.onload=function(){e.value=!1})})),{loading:e,domainName:a}}});t("0f8c");i.render=d,i.__scopeId="data-v-48c0a37e";a["default"]=i}}]); 2 | //# sourceMappingURL=chunk-493a4e82.f27347ba.js.map -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | <%= htmlWebpackPlugin.options.title %> 11 | 12 | 13 | 14 | 23 | 24 | 25 | 26 | 29 |
30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/src/service/system/functionService.js: -------------------------------------------------------------------------------- 1 | import { get, post } from '@/scripts/request'; 2 | import tools from "@/scripts/tools"; 3 | 4 | const controllerName = "admin/SysFunction"; 5 | 6 | export default { 7 | /** 8 | * 查询列表 9 | * 10 | * @param {一页显示多少行} rows 11 | * @param {当前页码} page 12 | */ 13 | findList(rows, page, search = {}) { 14 | return post(`${controllerName}/findList/${rows}/${page}`, search, false); 15 | }, 16 | /** 17 | * 删除数据 18 | * 19 | * @param {要删除的id 数组} ids 20 | */ 21 | deleteList(ids) { 22 | console.log(ids); 23 | if (ids && ids.length === 0) { 24 | return tools.message("请选择要删除的数据!", "警告"); 25 | } 26 | return post(`${controllerName}/deleteList`, ids, false); 27 | }, 28 | /** 29 | * 获取表单数据 30 | * 31 | * @param {*} id 32 | */ 33 | findForm(id) { 34 | return get(`${controllerName}/findForm${(id ? '/' + id : '')}`); 35 | }, 36 | /** 37 | * 保存表单 38 | * 39 | * @param {表单数据} form 40 | */ 41 | saveForm(form) { 42 | return post(`${controllerName}/saveForm`, form); 43 | } 44 | }; -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/js/chunk-493a4e82.f27347ba.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-493a4e82"],{"0f8c":function(e,a,t){"use strict";t("4d83")},"4d83":function(e,a,t){},b1df:function(e,a,t){"use strict";t.r(a);var n=t("7a23"),c=Object(n["Z"])("data-v-48c0a37e");Object(n["H"])("data-v-48c0a37e");var r={class:"p-15"};Object(n["F"])();var d=c((function(e,a,t,c,d,o){var i=Object(n["L"])("a-spin");return Object(n["E"])(),Object(n["k"])("div",r,[e.loading?(Object(n["E"])(),Object(n["k"])(i,{key:0})):Object(n["l"])("",!0),Object(n["X"])(Object(n["n"])("iframe",{src:e.domainName+"/swagger",frameBorder:"0",id:"iframe_swagger"},null,8,["src"]),[[n["T"],!e.loading]])])})),o=t("d4d1"),i=Object(n["o"])({name:"system_swagger",setup:function(){var e=Object(n["J"])(!0),a=Object(n["J"])(o["default"].domainName);return Object(n["B"])((function(){var a=document.getElementById("iframe_swagger");null!=a&&(Object.prototype.hasOwnProperty.call(a,"attachEvent")?a.addEventListener("onload",(function(){e.value=!1})):a.onload=function(){e.value=!1})})),{loading:e,domainName:a}}});t("0f8c");i.render=d,i.__scopeId="data-v-48c0a37e";a["default"]=i}}]); 2 | //# sourceMappingURL=chunk-493a4e82.f27347ba.js.map -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/js/chunk-2d0ddb36.6cc7df34.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["webpack:///./src/service/system/sys_operation_log_serivce.js"],"names":["controllerName","findList","rows","page","search","post","deleteAllData","get","findForm","id"],"mappings":"iJAGMA,EAAiB,wBAER,cAOXC,SAPW,SAOFC,EAAMC,GAAmB,IAAbC,EAAa,uDAAJ,GAC1B,OAAOC,kBAAK,GAAD,OAAIL,EAAJ,qBAA+BE,EAA/B,YAAuCC,GAAQC,GAAQ,IAGtEE,cAXW,WAYP,OAAOC,iBAAI,GAAD,OAAIP,EAAJ,oBAObQ,SAnBU,SAmBDC,GACN,OAAOF,iBAAI,GAAD,OAAIP,EAAJ,oBAA+BS,EAAK,IAAMA,EAAK","file":"js/chunk-2d0ddb36.6cc7df34.js","sourcesContent":["import { get,post } from '@/scripts/request';\r\n\r\n\r\nconst controllerName = \"admin/SysOperationLog\";\r\n\r\nexport default {\r\n /**\r\n * 查询列表\r\n * \r\n * @param {一页显示多少行} rows \r\n * @param {当前页码} page \r\n */\r\n findList(rows, page, search = {}) {\r\n return post(`${controllerName}/findList/${rows}/${page}`, search, false);\r\n },\r\n\r\n deleteAllData(){\r\n return get(`${controllerName}/deleteAllData`);\r\n },\r\n /**\r\n * 获取表单数据\r\n * \r\n * @param {*} id \r\n */\r\n findForm(id) {\r\n return get(`${controllerName}/findForm${(id ? '/' + id : '')}`);\r\n },\r\n \r\n};"],"sourceRoot":""} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/js/chunk-2d0ddb36.6cc7df34.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["webpack:///./src/service/system/sys_operation_log_serivce.js"],"names":["controllerName","findList","rows","page","search","post","deleteAllData","get","findForm","id"],"mappings":"iJAGMA,EAAiB,wBAER,cAOXC,SAPW,SAOFC,EAAMC,GAAmB,IAAbC,EAAa,uDAAJ,GAC1B,OAAOC,kBAAK,GAAD,OAAIL,EAAJ,qBAA+BE,EAA/B,YAAuCC,GAAQC,GAAQ,IAGtEE,cAXW,WAYP,OAAOC,iBAAI,GAAD,OAAIP,EAAJ,oBAObQ,SAnBU,SAmBDC,GACN,OAAOF,iBAAI,GAAD,OAAIP,EAAJ,oBAA+BS,EAAK,IAAMA,EAAK","file":"js/chunk-2d0ddb36.6cc7df34.js","sourcesContent":["import { get,post } from '@/scripts/request';\r\n\r\n\r\nconst controllerName = \"admin/SysOperationLog\";\r\n\r\nexport default {\r\n /**\r\n * 查询列表\r\n * \r\n * @param {一页显示多少行} rows \r\n * @param {当前页码} page \r\n */\r\n findList(rows, page, search = {}) {\r\n return post(`${controllerName}/findList/${rows}/${page}`, search, false);\r\n },\r\n\r\n deleteAllData(){\r\n return get(`${controllerName}/deleteAllData`);\r\n },\r\n /**\r\n * 获取表单数据\r\n * \r\n * @param {*} id \r\n */\r\n findForm(id) {\r\n return get(`${controllerName}/findForm${(id ? '/' + id : '')}`);\r\n },\r\n \r\n};"],"sourceRoot":""} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/Controllers/AccountController.cs: -------------------------------------------------------------------------------- 1 | using HZY.Infrastructure.Controllers; 2 | using HZY.Infrastructure.Filters; 3 | using HZY.Models.DTO; 4 | using HZY.Services.Accounts; 5 | using Microsoft.AspNetCore.Mvc; 6 | using System.Threading.Tasks; 7 | 8 | namespace HZY.WebHost.Controllers; 9 | 10 | /// 11 | /// 账户控制器 12 | /// 13 | [ApiResultFilter] 14 | [ApiController] 15 | [Route("api/[controller]")] 16 | public class AccountController : ApiBaseController 17 | { 18 | private const string tokenType = "Bearer "; 19 | private readonly IAccountService _accountService; 20 | 21 | public AccountController(IAccountService accountService) 22 | { 23 | _accountService = accountService; 24 | } 25 | 26 | /// 27 | /// 检查帐户并获取 token 28 | /// 29 | /// Dto 30 | /// 31 | [HttpPost("Check")] 32 | public async Task CheckAsync([FromBody] AuthUserFormDto authUserDto) 33 | { 34 | var token = await this._accountService 35 | .CheckAccountAsync(authUserDto.UserName, authUserDto.UserPassword, authUserDto.LoginCode); 36 | return new { token = tokenType + token, tokenType }; 37 | } 38 | } -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/js/chunk-2d221c51.d381a072.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d221c51"],{cc83:function(e,t,n){"use strict";n.r(t);var c=n("7a23"),r={id:"container2"};function i(e,t,n,i,o,a){return Object(c["E"])(),Object(c["k"])("div",r)}var o=n("917c"),a=Object(c["o"])({name:"index2",setup:function(){var e=Object(c["I"])([{item:"事例一",count:40,percent:.4},{item:"事例二",count:21,percent:.21},{item:"事例三",count:17,percent:.17},{item:"事例四",count:13,percent:.13},{item:"事例五",count:9,percent:.09}]),t=function(){var t=new o["a"]({container:"container2",autoFit:!0,height:500});t.data(e),t.coordinate("theta",{radius:.85}),t.scale("percent",{formatter:function(e){return e=100*e+"%",e}}),t.tooltip({showTitle:!1,showMarkers:!1}),t.axis(!1);var n=t.interval().adjust("stack").position("percent").color("item").label("percent",{offset:-40,style:{textAlign:"center",shadowBlur:2,shadowColor:"rgba(0, 0, 0, .45)",fill:"#fff"}}).tooltip("item*percent",(function(e,t){return t=100*t+"%",{name:e,value:t}})).style({lineWidth:1,stroke:"#fff"});t.interaction("element-single-selected"),t.render(),n.elements[0].setState("selected",!0)};return Object(c["B"])((function(){t()})),{}}});a.render=i;t["default"]=a}}]); 2 | //# sourceMappingURL=chunk-2d221c51.d381a072.js.map -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/js/chunk-2d221c51.d381a072.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d221c51"],{cc83:function(e,t,n){"use strict";n.r(t);var c=n("7a23"),r={id:"container2"};function i(e,t,n,i,o,a){return Object(c["E"])(),Object(c["k"])("div",r)}var o=n("917c"),a=Object(c["o"])({name:"index2",setup:function(){var e=Object(c["I"])([{item:"事例一",count:40,percent:.4},{item:"事例二",count:21,percent:.21},{item:"事例三",count:17,percent:.17},{item:"事例四",count:13,percent:.13},{item:"事例五",count:9,percent:.09}]),t=function(){var t=new o["a"]({container:"container2",autoFit:!0,height:500});t.data(e),t.coordinate("theta",{radius:.85}),t.scale("percent",{formatter:function(e){return e=100*e+"%",e}}),t.tooltip({showTitle:!1,showMarkers:!1}),t.axis(!1);var n=t.interval().adjust("stack").position("percent").color("item").label("percent",{offset:-40,style:{textAlign:"center",shadowBlur:2,shadowColor:"rgba(0, 0, 0, .45)",fill:"#fff"}}).tooltip("item*percent",(function(e,t){return t=100*t+"%",{name:e,value:t}})).style({lineWidth:1,stroke:"#fff"});t.interaction("element-single-selected"),t.render(),n.elements[0].setState("selected",!0)};return Object(c["B"])((function(){t()})),{}}});a.render=i;t["default"]=a}}]); 2 | //# sourceMappingURL=chunk-2d221c51.d381a072.js.map -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.FreeSqlCore/HZY.FreeSqlCore.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | HZY.FreeSqlCore 5 | 6 | 7 | 8 | 9 | FreeSql 模块配置 10 | 11 | 12 | 13 | 14 | 注册 仓储层 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 创建 free sql 对象 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/src/views/button.vue: -------------------------------------------------------------------------------- 1 | 17 | 38 | 43 | -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/src/views/antd_vue_components.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 40 | 41 | 47 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Models/Entities/Member.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HZY.Models.Entities.BaseEntitys; 3 | 4 | namespace HZY.Models.Entities; 5 | 6 | /// 7 | /// member 8 | /// 9 | public class Member : DefaultBaseEntity 10 | { 11 | /// 12 | /// 编号 13 | /// 14 | public string Number { get; set; } 15 | 16 | /// 17 | /// 用户名称 18 | /// 19 | public string Name { get; set; } 20 | 21 | /// 22 | /// 电话号码 23 | /// 24 | public string Phone { get; set; } 25 | 26 | /// 27 | /// 性别 28 | /// 29 | public string Sex { get; set; } 30 | 31 | /// 32 | /// 生日 33 | /// 34 | public DateTime Birthday { get; set; } = DateTime.Now; 35 | 36 | /// 37 | /// 头像 38 | /// 39 | public string Photo { get; set; } 40 | 41 | /// 42 | /// 简介 43 | /// 44 | public string Introduce { get; set; } 45 | 46 | /// 47 | /// 文件 48 | /// 49 | public string FilePath { get; set; } 50 | 51 | /// 52 | /// 账户Id 53 | /// 54 | //[Required(ErrorMessage = "请选择账户信息!")] 55 | public Guid? UserId { get; set; } 56 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Infrastructure/ServiceProviderExtensions.cs: -------------------------------------------------------------------------------- 1 | using HZY.Infrastructure.ScanDIService.Interface; 2 | using Microsoft.Extensions.DependencyInjection; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | 9 | namespace HZY.Infrastructure; 10 | 11 | /// 12 | /// 服务提供者扩展 13 | /// 14 | public static class ServiceProviderExtensions 15 | { 16 | private static IServiceProvider _serviceProvider; 17 | 18 | static ServiceProviderExtensions() 19 | { 20 | if (_serviceProvider == null) 21 | { 22 | 23 | } 24 | } 25 | 26 | /// 27 | /// 注册 服务提供者 28 | /// 29 | /// 30 | public static void RegisterServiceProvider(this IServiceProvider serviceProvider) 31 | { 32 | _serviceProvider = serviceProvider; 33 | } 34 | 35 | /// 36 | /// 获取服务提供者 37 | /// 38 | /// 39 | public static IServiceProvider GetServiceProvider() => _serviceProvider; 40 | 41 | /// 42 | /// 创建服务域 43 | /// 44 | /// 45 | public static IServiceScope CreateScope() => _serviceProvider.CreateScope(); 46 | 47 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Models/Entities/Framework/SysOperationLog.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HZY.Models.Entities.BaseEntitys; 3 | 4 | namespace HZY.Models.Entities.Framework; 5 | 6 | /// 7 | /// 操作日志 8 | /// 9 | public class SysOperationLog : DefaultBaseEntity 10 | { 11 | /// 12 | /// 接口地址 13 | /// 14 | public string Api { get; set; } 15 | 16 | /// 17 | /// ip地址 18 | /// 19 | public string Ip { get; set; } 20 | 21 | /// 22 | /// 表单信息 23 | /// 24 | public string Form { get; set; } 25 | 26 | /// 27 | /// json表单信息 28 | /// 29 | public string FormBody { get; set; } 30 | 31 | /// 32 | /// 地址栏信息 33 | /// 34 | public string QueryString { get; set; } 35 | 36 | /// 37 | /// 接口耗时(毫秒) 38 | /// 39 | public long TakeUpTime { get; set; } 40 | 41 | /// 42 | /// 浏览器名称 43 | /// 44 | public string Browser { get; set; } 45 | 46 | /// 47 | /// 系统名称 48 | /// 49 | public string OS { get; set; } 50 | 51 | /// 52 | /// 当前操作人id 53 | /// 54 | public Guid? UserId { get; set; } 55 | 56 | 57 | } 58 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Models/Entities/Framework/SysOrganization.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HZY.Models.Entities.BaseEntitys; 3 | using System.ComponentModel.DataAnnotations.Schema; 4 | using System.Collections.Generic; 5 | 6 | namespace HZY.Models.Entities.Framework; 7 | 8 | /// 9 | /// 组织机构 10 | /// 11 | public class SysOrganization : DefaultBaseEntity 12 | { 13 | /// 14 | /// 组织名称 15 | /// 16 | public string Name { get; set; } 17 | 18 | /// 19 | /// 组织排序号 20 | /// 21 | public int? OrderNumber { get; set; } 22 | 23 | /// 24 | /// 负责人 25 | /// 26 | public string Leader { get; set; } 27 | 28 | /// 29 | /// 联系电话 30 | /// 31 | public string Phone { get; set; } 32 | 33 | /// 34 | /// 邮箱 35 | /// 36 | public string Email { get; set; } 37 | 38 | /// 39 | /// 状态 40 | /// 41 | public StateEnum? State { get; set; } = StateEnum.正常; 42 | 43 | /// 44 | /// 父级Id 45 | /// 46 | public Guid? ParentId { get; set; } 47 | 48 | [ForeignKey(nameof(ParentId))] 49 | public virtual ICollection Children { get; set; } = new List(); 50 | 51 | } 52 | 53 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Services.Admin/ServicesAdmin/ServicesAdminConsts.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace HZY.Services.Admin.ServicesAdmin; 8 | 9 | /// 10 | /// app 常量定义类 11 | /// 12 | public class ServicesAdminConsts 13 | { 14 | /// 15 | /// 功能常量 添加 16 | /// 17 | public const string Function_Insert = "Insert"; 18 | /// 19 | /// 功能常量 修改 20 | /// 21 | public const string Function_Update = "Update"; 22 | /// 23 | /// 功能常量 保存 24 | /// 25 | public const string Function_Save = "Save"; 26 | /// 27 | /// 功能常量 删除 28 | /// 29 | public const string Function_Delete = "Delete"; 30 | /// 31 | /// 功能常量 是否拥有菜单 32 | /// 33 | public const string Function_Display = "Display"; 34 | /// 35 | /// 功能常量 检索 36 | /// 37 | public const string Function_Search = "Search"; 38 | /// 39 | /// 功能常量 导出 40 | /// 41 | public const string Function_Export = "Export"; 42 | /// 43 | /// 功能常量 打印 44 | /// 45 | public const string Function_Print = "Print"; 46 | 47 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Infrastructure/Filters/ApiCheckModelAttribute.cs: -------------------------------------------------------------------------------- 1 | using HZY.Infrastructure.ApiResultManage; 2 | using Microsoft.AspNetCore.Mvc; 3 | using Microsoft.AspNetCore.Mvc.Filters; 4 | using System.Collections.Generic; 5 | using System.Linq; 6 | 7 | namespace HZY.Infrastructure.Filters; 8 | 9 | /// 10 | /// 对接口模型验证 11 | /// 12 | public class ApiCheckModelAttribute : ActionFilterAttribute 13 | { 14 | /// 15 | /// 每次请求Action之前发生,,在行为方法执行前执行 16 | /// 17 | /// 18 | public override void OnActionExecuting(ActionExecutingContext context) 19 | { 20 | base.OnActionExecuting(context); 21 | 22 | if (context.ModelState.IsValid) return; 23 | var messages = new List(); 24 | var keys = context.ModelState.Keys; 25 | var values = context.ModelState.Values; 26 | foreach (var item in keys) 27 | { 28 | var value = context.ModelState.FirstOrDefault(w => w.Key == item).Value; 29 | foreach (var err in value.Errors) 30 | { 31 | messages.Add($"{err.ErrorMessage}"); 32 | } 33 | } 34 | 35 | var apiResult = ApiResult.Warn(string.Join("

", messages), null); 36 | context.Result = new JsonResult(apiResult); 37 | } 38 | } 39 | 40 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.EFCore/Attributes/TransactionalAttribute.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Mvc.Filters; 2 | using System; 3 | using System.Data; 4 | using System.Threading.Tasks; 5 | 6 | namespace HZY.EFCore.Attributes; 7 | 8 | /// 9 | /// 通过标记 自动 事务 适用于 控制器 Action 上标记 10 | /// 自动档 事务 11 | /// 12 | [AttributeUsage(AttributeTargets.Method)] 13 | public class TransactionalAttribute : Attribute, IActionFilter 14 | { 15 | //public Propagation Propagation { get; set; } = Propagation.Required; 16 | public IsolationLevel? IsolationLevel { get; set; } 17 | //IUnitOfWork _uow; 18 | 19 | public void OnActionExecuting(ActionExecutingContext context) => 20 | OnBefore(); 21 | 22 | public void OnActionExecuted(ActionExecutedContext context) => 23 | OnAfter(context.Exception); 24 | 25 | Task OnBefore() 26 | { 27 | //_uow = uowm.Begin(this.Propagation, this.IsolationLevel); 28 | //return Task.FromResult(false); 29 | return Task.CompletedTask; 30 | } 31 | 32 | Task OnAfter(Exception ex) 33 | { 34 | //try 35 | //{ 36 | // if (ex == null) _uow.Commit(); 37 | // else _uow.Rollback(); 38 | //} 39 | //finally 40 | //{ 41 | // _uow.Dispose(); 42 | //} 43 | 44 | return Task.FromResult(false); 45 | } 46 | } -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/src/service/system/dictionary_service.js: -------------------------------------------------------------------------------- 1 | import { get, post } from '@/scripts/request'; 2 | import tools from "@/scripts/tools"; 3 | 4 | const controllerName = "admin/SysDictionary"; 5 | 6 | export default { 7 | /** 8 | * 查询列表 9 | * 10 | * @param {一页显示多少行} rows 11 | * @param {当前页码} page 12 | */ 13 | findList(rows, page, search = {}) { 14 | return post(`${controllerName}/findList/${rows}/${page}`, search, false); 15 | }, 16 | /** 17 | * 删除数据 18 | * 19 | * @param {要删除的id 数组} ids 20 | */ 21 | deleteList(ids) { 22 | console.log(ids); 23 | if (ids && ids.length === 0) { 24 | return tools.message("请选择要删除的数据!", "警告"); 25 | } 26 | return post(`${controllerName}/deleteList`, ids, false); 27 | }, 28 | /** 29 | * 获取表单数据 30 | * 31 | * @param {*} id 32 | */ 33 | findForm(id) { 34 | return get(`${controllerName}/findForm${(id ? '/' + id : '')}`); 35 | }, 36 | /** 37 | * 保存表单 38 | * 39 | * @param {表单数据} form 40 | */ 41 | saveForm(form) { 42 | return post(`${controllerName}/saveForm`, form); 43 | }, 44 | /** 45 | * 获取字典树 46 | */ 47 | getDictionaryTree() { 48 | return get(`${controllerName}/getDictionaryTree`); 49 | } 50 | 51 | } -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/src/service/system/organizationService.js: -------------------------------------------------------------------------------- 1 | import { get, post, download } from '@/scripts/request'; 2 | import tools from "@/scripts/tools"; 3 | 4 | const controllerName = "admin/SysOrganization"; 5 | 6 | export default { 7 | /** 8 | * 查询列表 9 | * 10 | */ 11 | findList(search = {}) { 12 | return post(`${controllerName}/findList/`, search, false); 13 | }, 14 | /** 15 | * 删除数据 16 | * 17 | * @param {要删除的id 数组} ids 18 | */ 19 | deleteList(ids) { 20 | console.log(ids); 21 | if (ids && ids.length === 0) { 22 | return tools.message("请选择要删除的数据!", "警告"); 23 | } 24 | return post(`${controllerName}/deleteList`, ids, false); 25 | }, 26 | /** 27 | * 获取表单数据 28 | * 29 | * @param {*} id 30 | */ 31 | findForm(id, parentId) { 32 | return get(`${controllerName}/findForm/${(id ? id : tools.guidEmpty)}/${(parentId ? parentId : '')}`); 33 | }, 34 | /** 35 | * 保存表单 36 | * 37 | * @param {表单数据} form 38 | */ 39 | saveForm(form) { 40 | return post(`${controllerName}/saveForm`, form); 41 | }, 42 | /** 43 | * 导出 excel 44 | * @param {*} search 45 | */ 46 | exportExcel(search) { 47 | return download(`${controllerName}/exportExcel`, search); 48 | } 49 | }; -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/js/chunk-2d0de1ed.b134da5a.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["webpack:///./src/service/system/rolefunctionService.js"],"names":["controllerName","findList","rows","page","search","post","saveForm","form","getRoleMenuFunctionTree","roleId","get"],"mappings":"mJAGMA,EAAiB,4BAER,cAOXC,SAPW,SAOFC,EAAMC,GAAmB,IAAbC,EAAa,uDAAJ,GAC1B,OAAOC,kBAAK,GAAD,OAAIL,EAAJ,qBAA+BE,EAA/B,YAAuCC,GAAQC,GAAQ,IAOtEE,SAfW,SAeFC,GACL,OAAOF,kBAAK,GAAD,OAAIL,EAAJ,aAA+BO,IAO9CC,wBAvBW,SAuBaC,GACpB,OAAOC,iBAAI,GAAD,OAAIV,EAAJ,oCAA8CS","file":"js/chunk-2d0de1ed.b134da5a.js","sourcesContent":["import { get, post } from '@/scripts/request';\r\n// import tools from \"@/scripts/tools\";\r\n\r\nconst controllerName = \"admin/SysRoleMenuFunction\";\r\n\r\nexport default {\r\n /**\r\n * 查询列表\r\n * \r\n * @param {一页显示多少行} rows \r\n * @param {当前页码} page \r\n */\r\n findList(rows, page, search = {}) {\r\n return post(`${controllerName}/findList/${rows}/${page}`, search, false);\r\n },\r\n /**\r\n * 保存表单\r\n * \r\n * @param {表单数据} form \r\n */\r\n saveForm(form) {\r\n return post(`${controllerName}/saveForm`, form);\r\n },\r\n /**\r\n * 获取角色菜单功能树\r\n * \r\n * @param {角色Id} roleId \r\n */\r\n getRoleMenuFunctionTree(roleId) {\r\n return get(`${controllerName}/getRoleMenuFunctionTree/${roleId}`);\r\n }\r\n};"],"sourceRoot":""} -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/src/views/system/swagger.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 44 | 45 | 51 | -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/js/chunk-2d237725.df19f823.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d237725"],{fac7:function(e,a,n){"use strict";n.r(a);var t=n("7a23"),o={class:"p-15"};function s(e,a,n,s,c,r){var d=Object(t["L"])("a-table");return Object(t["E"])(),Object(t["k"])("div",o,[Object(t["n"])(d,{"row-selection":e.rowSelection,columns:e.columns,"data-source":e.data},{name:Object(t["W"])((function(e){var a=e.text;return[Object(t["n"])("a",null,Object(t["O"])(a),1)]})),_:1},8,["row-selection","columns","data-source"])])}var c=n("5530"),r=(n("b0c0"),[{title:"Name",dataIndex:"name",slots:{customRender:"name"}},{title:"Age",dataIndex:"age"},{title:"Address",dataIndex:"address"}]),d=[{key:"1",name:"John Brown",age:32,address:"New York No. 1 Lake Park"},{key:"2",name:"Jim Green",age:42,address:"London No. 1 Lake Park"},{key:"3",name:"Joe Black",age:32,address:"Sidney No. 1 Lake Park"},{key:"4",name:"Disabled User",age:99,address:"Sidney No. 1 Lake Park"}],l=Object(t["o"])({name:"base_list",setup:function(){var e=Object(t["I"])({columns:r,data:d}),a={onChange:function(e,a){console.log("selectedRowKeys: ".concat(e),"selectedRows: ",a)},getCheckboxProps:function(e){return{disabled:"Disabled User"===e.name,name:e.name}}};return Object(c["a"])(Object(c["a"])({},Object(t["R"])(e)),{},{rowSelection:a})}});l.render=s;a["default"]=l}}]); 2 | //# sourceMappingURL=chunk-2d237725.df19f823.js.map -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/js/chunk-2d0de1ed.b134da5a.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["webpack:///./src/service/system/rolefunctionService.js"],"names":["controllerName","findList","rows","page","search","post","saveForm","form","getRoleMenuFunctionTree","roleId","get"],"mappings":"mJAGMA,EAAiB,4BAER,cAOXC,SAPW,SAOFC,EAAMC,GAAmB,IAAbC,EAAa,uDAAJ,GAC1B,OAAOC,kBAAK,GAAD,OAAIL,EAAJ,qBAA+BE,EAA/B,YAAuCC,GAAQC,GAAQ,IAOtEE,SAfW,SAeFC,GACL,OAAOF,kBAAK,GAAD,OAAIL,EAAJ,aAA+BO,IAO9CC,wBAvBW,SAuBaC,GACpB,OAAOC,iBAAI,GAAD,OAAIV,EAAJ,oCAA8CS","file":"js/chunk-2d0de1ed.b134da5a.js","sourcesContent":["import { get, post } from '@/scripts/request';\r\n// import tools from \"@/scripts/tools\";\r\n\r\nconst controllerName = \"admin/SysRoleMenuFunction\";\r\n\r\nexport default {\r\n /**\r\n * 查询列表\r\n * \r\n * @param {一页显示多少行} rows \r\n * @param {当前页码} page \r\n */\r\n findList(rows, page, search = {}) {\r\n return post(`${controllerName}/findList/${rows}/${page}`, search, false);\r\n },\r\n /**\r\n * 保存表单\r\n * \r\n * @param {表单数据} form \r\n */\r\n saveForm(form) {\r\n return post(`${controllerName}/saveForm`, form);\r\n },\r\n /**\r\n * 获取角色菜单功能树\r\n * \r\n * @param {角色Id} roleId \r\n */\r\n getRoleMenuFunctionTree(roleId) {\r\n return get(`${controllerName}/getRoleMenuFunctionTree/${roleId}`);\r\n }\r\n};"],"sourceRoot":""} -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/src/service/base/memberService.js: -------------------------------------------------------------------------------- 1 | import { get, post, upload, download } from '@/scripts/request'; 2 | import tools from "@/scripts/tools"; 3 | 4 | const controllerName = "admin/Member"; 5 | 6 | export default { 7 | /** 8 | * 查询列表 9 | * 10 | * @param {一页显示多少行} rows 11 | * @param {当前页码} page 12 | */ 13 | findList(rows, page, search = {}) { 14 | return post(`${controllerName}/findList/${rows}/${page}`, search, false); 15 | }, 16 | /** 17 | * 删除数据 18 | * 19 | * @param {要删除的id 数组} ids 20 | */ 21 | deleteList(ids) { 22 | console.log(ids); 23 | if (ids && ids.length === 0) { 24 | return tools.message("请选择要删除的数据!", "警告"); 25 | } 26 | return post(`${controllerName}/deleteList`, ids, false); 27 | }, 28 | /** 29 | * 获取表单数据 30 | * 31 | * @param {*} id 32 | */ 33 | findForm(id) { 34 | return get(`${controllerName}/findForm${(id ? '/' + id : '')}`); 35 | }, 36 | /** 37 | * 保存表单 38 | * 39 | * @param {表单数据} form 40 | */ 41 | saveForm(form) { 42 | return upload(`${controllerName}/saveForm`, form); 43 | }, 44 | /** 45 | * 导出 excel 46 | * @param {*} search 47 | */ 48 | exportExcel(search) { 49 | return download(`${controllerName}/exportExcel`, search); 50 | } 51 | }; -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/src/service/system/postService.js: -------------------------------------------------------------------------------- 1 | import { get, post, download } from '@/scripts/request'; 2 | import tools from "@/scripts/tools"; 3 | 4 | const controllerName = "admin/SysPost"; 5 | 6 | export default { 7 | /** 8 | * 查询列表 9 | * 10 | * @param {一页显示多少行} rows 11 | * @param {当前页码} page 12 | */ 13 | findList(rows, page, search = {}) { 14 | return post(`${controllerName}/findList/${rows}/${page}`, search, false); 15 | }, 16 | /** 17 | * 删除数据 18 | * 19 | * @param {要删除的id 数组} ids 20 | */ 21 | deleteList(ids) { 22 | console.log(ids); 23 | if (ids && ids.length === 0) { 24 | return tools.message("请选择要删除的数据!", "警告"); 25 | } 26 | return post(`${controllerName}/deleteList`, ids, false); 27 | }, 28 | /** 29 | * 获取表单数据 30 | * 31 | * @param {*} id 32 | */ 33 | findForm(id) { 34 | return get(`${controllerName}/findForm${(id ? '/' + id : '')}`); 35 | }, 36 | /** 37 | * 保存表单 38 | * 39 | * @param {表单数据} form 40 | */ 41 | saveForm(form) { 42 | return post(`${controllerName}/saveForm`, form); 43 | }, 44 | /** 45 | * 导出 excel 46 | * @param {*} search 47 | */ 48 | exportExcel(search) { 49 | return download(`${controllerName}/exportExcel`, search); 50 | } 51 | }; -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/src/service/system/roleService.js: -------------------------------------------------------------------------------- 1 | import { get, post, download } from '@/scripts/request'; 2 | import tools from "@/scripts/tools"; 3 | 4 | const controllerName = "admin/SysRole"; 5 | 6 | export default { 7 | /** 8 | * 查询列表 9 | * 10 | * @param {一页显示多少行} rows 11 | * @param {当前页码} page 12 | */ 13 | findList(rows, page, search = {}) { 14 | return post(`${controllerName}/findList/${rows}/${page}`, search, false); 15 | }, 16 | /** 17 | * 删除数据 18 | * 19 | * @param {要删除的id 数组} ids 20 | */ 21 | deleteList(ids) { 22 | console.log(ids); 23 | if (ids && ids.length === 0) { 24 | return tools.message("请选择要删除的数据!", "警告"); 25 | } 26 | return post(`${controllerName}/deleteList`, ids, false); 27 | }, 28 | /** 29 | * 获取表单数据 30 | * 31 | * @param {*} id 32 | */ 33 | findForm(id) { 34 | return get(`${controllerName}/findForm${(id ? '/' + id : '')}`); 35 | }, 36 | /** 37 | * 保存表单 38 | * 39 | * @param {表单数据} form 40 | */ 41 | saveForm(form) { 42 | return post(`${controllerName}/saveForm`, form); 43 | }, 44 | /** 45 | * 导出 excel 46 | * @param {*} search 47 | */ 48 | exportExcel(search) { 49 | return download(`${controllerName}/exportExcel`, search); 50 | } 51 | }; -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/src/views/editor.vue: -------------------------------------------------------------------------------- 1 | 29 | 30 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/nlog.config: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 15 | 16 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/js/chunk-2d237725.df19f823.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d237725"],{fac7:function(e,a,n){"use strict";n.r(a);var t=n("7a23"),o={class:"p-15"};function s(e,a,n,s,c,r){var d=Object(t["L"])("a-table");return Object(t["E"])(),Object(t["k"])("div",o,[Object(t["n"])(d,{"row-selection":e.rowSelection,columns:e.columns,"data-source":e.data},{name:Object(t["W"])((function(e){var a=e.text;return[Object(t["n"])("a",null,Object(t["O"])(a),1)]})),_:1},8,["row-selection","columns","data-source"])])}var c=n("5530"),r=(n("b0c0"),[{title:"Name",dataIndex:"name",slots:{customRender:"name"}},{title:"Age",dataIndex:"age"},{title:"Address",dataIndex:"address"}]),d=[{key:"1",name:"John Brown",age:32,address:"New York No. 1 Lake Park"},{key:"2",name:"Jim Green",age:42,address:"London No. 1 Lake Park"},{key:"3",name:"Joe Black",age:32,address:"Sidney No. 1 Lake Park"},{key:"4",name:"Disabled User",age:99,address:"Sidney No. 1 Lake Park"}],l=Object(t["o"])({name:"base_list",setup:function(){var e=Object(t["I"])({columns:r,data:d}),a={onChange:function(e,a){console.log("selectedRowKeys: ".concat(e),"selectedRows: ",a)},getCheckboxProps:function(e){return{disabled:"Disabled User"===e.name,name:e.name}}};return Object(c["a"])(Object(c["a"])({},Object(t["R"])(e)),{},{rowSelection:a})}});l.render=s;a["default"]=l}}]); 2 | //# sourceMappingURL=chunk-2d237725.df19f823.js.map -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Models/Entities/Framework/SysMenu.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HZY.Models.Entities.BaseEntitys; 3 | 4 | namespace HZY.Models.Entities.Framework; 5 | 6 | /// 7 | /// 菜单 8 | /// 9 | public class SysMenu : DefaultBaseEntity 10 | { 11 | /// 12 | /// 编号 13 | /// 14 | public int? Number { get; set; } 15 | 16 | /// 17 | /// 菜单名称 18 | /// 19 | public string Name { get; set; } 20 | 21 | /// 22 | /// Vue组件名称 23 | /// 24 | public string ComponentName { get; set; } 25 | 26 | /// 27 | /// 菜单物理路径 28 | /// 29 | public string Url { get; set; } 30 | 31 | /// 32 | /// 路由地址 33 | /// 34 | public string Router { get; set; } 35 | 36 | /// 37 | /// 默认跳转地址 38 | /// 39 | public string JumpUrl { get; set; } 40 | 41 | /// 42 | /// 菜单图标 43 | /// 44 | public string Icon { get; set; } 45 | 46 | /// 47 | /// 父级Id 48 | /// 49 | public Guid? ParentId { get; set; } 50 | 51 | /// 52 | /// 是否显示菜单 53 | /// 54 | public int Show { get; set; } = 1; 55 | 56 | /// 57 | /// 是否可关闭 58 | /// 59 | public int Close { get; set; } = 1; 60 | 61 | 62 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Repositories.Redis/BaseRedisRepository.cs: -------------------------------------------------------------------------------- 1 | using HZY.Infrastructure.Redis; 2 | using HZY.Infrastructure.ScanDIService.Interface; 3 | using Microsoft.Extensions.Logging; 4 | using Newtonsoft.Json; 5 | 6 | namespace HZY.Repositories.Redis; 7 | 8 | /// 9 | /// Redis 仓储 10 | /// 11 | public class BaseRedisRepository : IDITransientSelf 12 | { 13 | //private readonly IRedisService _redisService; 14 | //private readonly ILogger _logger; 15 | 16 | //public RedisRepository(IRedisService redisService, ILogger logger) 17 | //{ 18 | // _redisService = redisService; 19 | // _logger = logger; 20 | //} 21 | 22 | ///// 23 | ///// 设置 plc 原数据 24 | ///// 25 | ///// 26 | ///// 27 | //public void SetPlcOriginalData(string key, string data) 28 | //{ 29 | // _redisService.Database.Publish(key, data); 30 | //} 31 | 32 | ///// 33 | ///// 监听器 34 | ///// 35 | ///// 36 | //public void Listener(string key) 37 | //{ 38 | // _redisService.Multiplexer.GetSubscriber().Subscribe(key, (message, data) => 39 | // { 40 | // _logger.LogInformation($"Message={message} Data={JsonConvert.SerializeObject(data)}"); 41 | // }); 42 | //} 43 | 44 | } 45 | -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hzy-admin-spa-client-ui", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "serve": "vue-cli-service serve", 7 | "build": "vue-cli-service build", 8 | "lint": "vue-cli-service lint" 9 | }, 10 | "dependencies": { 11 | "@antv/g2": "^4.1.16", 12 | "ant-design-vue": "2.2.4", 13 | "axios": "^0.21.1", 14 | "core-js": "^3.11.2", 15 | "less": "^3.13.1", 16 | "less-loader": "^7.3.0", 17 | "moment": "^2.29.1", 18 | "nprogress": "^0.2.0", 19 | "screenfull": "^5.1.0", 20 | "vue": "^3.2.1", 21 | "vue-router": "^4.0.11", 22 | "vuex": "^4.0.0", 23 | "wangeditor": "^4.7.6" 24 | }, 25 | "devDependencies": { 26 | "@vue/cli-plugin-babel": "~4.5.0", 27 | "@vue/cli-plugin-eslint": "~4.5.0", 28 | "@vue/cli-service": "~4.5.0", 29 | "@vue/compiler-sfc": "^3.0.0", 30 | "babel-eslint": "^10.1.0", 31 | "eslint": "^6.7.2", 32 | "eslint-plugin-vue": "^7.0.0-0" 33 | }, 34 | "eslintConfig": { 35 | "root": true, 36 | "env": { 37 | "node": true 38 | }, 39 | "extends": [ 40 | "plugin:vue/vue3-essential", 41 | "eslint:recommended" 42 | ], 43 | "parserOptions": { 44 | "parser": "babel-eslint" 45 | }, 46 | "rules": {} 47 | }, 48 | "browserslist": [ 49 | "> 1%", 50 | "last 2 versions", 51 | "not dead" 52 | ] 53 | } -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/src/views/chart/more.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | 46 | 47 | 53 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.0.0", 3 | "tasks": [ 4 | { 5 | "label": "build", 6 | "command": "dotnet", 7 | "type": "process", 8 | "args": [ 9 | "build", 10 | "${workspaceFolder}/HZY.WebHost/HZY.WebHost.csproj", 11 | "/property:GenerateFullPaths=true", 12 | "/consoleloggerparameters:NoSummary" 13 | ], 14 | "problemMatcher": "$msCompile" 15 | }, 16 | { 17 | "label": "publish", 18 | "command": "dotnet", 19 | "type": "process", 20 | "args": [ 21 | "publish", 22 | "${workspaceFolder}/HZY.WebHost/HZY.WebHost.csproj", 23 | "/property:GenerateFullPaths=true", 24 | "/consoleloggerparameters:NoSummary" 25 | ], 26 | "problemMatcher": "$msCompile" 27 | }, 28 | { 29 | "label": "watch", 30 | "command": "dotnet", 31 | "type": "process", 32 | "args": [ 33 | "watch", 34 | "run", 35 | "${workspaceFolder}/HZY.WebHost/HZY.WebHost.csproj", 36 | "/property:GenerateFullPaths=true", 37 | "/consoleloggerparameters:NoSummary" 38 | ], 39 | "problemMatcher": "$msCompile" 40 | } 41 | ] 42 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Infrastructure/ObjectMapper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using AutoMapper; 5 | 6 | namespace HZY.Infrastructure; 7 | 8 | /// 9 | /// 对象映射类 10 | /// 11 | public static class ObjectMapper 12 | { 13 | /// 14 | /// copy object 15 | /// 16 | /// 旧对象类型 17 | /// 新复制对象类型 18 | /// 19 | /// 20 | public static TNew MapTo(this TOld source) 21 | { 22 | if (source == null) return default; 23 | 24 | var config = new MapperConfiguration(cfg => cfg.CreateMap()); 25 | var mapper = config.CreateMapper(); 26 | 27 | return mapper.Map(source); 28 | } 29 | 30 | /// 31 | /// copy list 32 | /// 33 | /// 旧对象类型 34 | /// 新复制对象类型 35 | /// 36 | /// 37 | public static List MapToList(this IEnumerable source) 38 | { 39 | if (source == null) return default; 40 | 41 | var config = new MapperConfiguration(cfg => cfg.CreateMap()); 42 | var mapper = config.CreateMapper(); 43 | 44 | return mapper.Map>(source); 45 | } 46 | } -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/src/components/chart/index1.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.EFCore/Impl/CacheEntityImpl.cs: -------------------------------------------------------------------------------- 1 | using HZY.EFCore.Extensions; 2 | using HZY.EFCore.Interface; 3 | using HZY.EFCore.Models; 4 | using HZY.Infrastructure; 5 | using System; 6 | using System.Collections.Generic; 7 | using System.Linq; 8 | 9 | namespace HZY.EFCore.Impl; 10 | 11 | /// 12 | /// 缓存实体信息服务 13 | /// 14 | public class CacheEntityImpl : ICacheEntity 15 | { 16 | private readonly Dictionary> _container; 17 | 18 | public CacheEntityImpl() 19 | { 20 | _container ??= new Dictionary>(); 21 | } 22 | 23 | public List GetEntityInfos(string tableName) 24 | { 25 | return _container.ContainsKey(tableName) ? _container[tableName] : default; 26 | } 27 | 28 | public Dictionary> Gets() 29 | { 30 | return _container; 31 | } 32 | 33 | public void Set(Type type) 34 | { 35 | var entityInfos = type.GetProperties().Select(w => new EntityInfo 36 | { 37 | Name = w.Name, 38 | Remark = ReadXmlSummary.XmlForMember(w)?.InnerText?.Trim()?.Split("=>")?[0], 39 | IsKey = HzyRepositoryExtensions.HasKey(w), 40 | Type = w.PropertyType 41 | }); 42 | 43 | _container[type.Name] = entityInfos.ToList(); 44 | } 45 | 46 | public void Set(IEnumerable types) 47 | { 48 | types.ToList().ForEach(w => this.Set(w)); 49 | } 50 | } -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/README.md: -------------------------------------------------------------------------------- 1 | # hzy-antdv-admin 2 | 3 | ## Project setup 4 | ``` 5 | npm install 6 | ``` 7 | 8 | ### Compiles and hot-reloads for development 9 | ``` 10 | npm run serve 11 | ``` 12 | 13 | ### Compiles and minifies for production 14 | ``` 15 | npm run build 16 | ``` 17 | 18 | ### Lints and fixes files 19 | ``` 20 | npm run lint 21 | ``` 22 | 23 | ### Customize configuration 24 | See [Configuration Reference](https://cli.vuejs.org/config/). 25 | 26 | ![输入图片说明](https://images.gitee.com/uploads/images/2021/0111/183718_e86369d3_1242080.png "屏幕截图.png") 27 | ![输入图片说明](https://images.gitee.com/uploads/images/2021/0111/183820_a87a7136_1242080.png "屏幕截图.png") 28 | ![输入图片说明](https://images.gitee.com/uploads/images/2021/0111/183847_84586efb_1242080.png "屏幕截图.png") 29 | ![输入图片说明](https://images.gitee.com/uploads/images/2021/0118/194532_dce99375_1242080.png "屏幕截图.png") 30 | ![输入图片说明](https://images.gitee.com/uploads/images/2021/0118/194500_5fd460dd_1242080.png "屏幕截图.png") 31 | ![输入图片说明](https://images.gitee.com/uploads/images/2020/1205/134903_d32fc5b2_1242080.png "IMG_3981.PNG") 32 | ![输入图片说明](https://images.gitee.com/uploads/images/2020/1205/134915_8f22f7c7_1242080.png "IMG_3982.PNG") 33 | ![输入图片说明](https://images.gitee.com/uploads/images/2020/1205/134923_63421b1f_1242080.png "IMG_3983.PNG") 34 | ![输入图片说明](https://images.gitee.com/uploads/images/2020/1205/134931_974e1be7_1242080.png "IMG_3985.PNG") 35 | ![输入图片说明](https://images.gitee.com/uploads/images/2020/1205/134940_1cb61ed7_1242080.png "IMG_3986.PNG") 36 | -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/src/service/system/menuService.js: -------------------------------------------------------------------------------- 1 | import { get, post } from '@/scripts/request'; 2 | import tools from "@/scripts/tools"; 3 | 4 | const controllerName = "admin/SysMenu"; 5 | 6 | export default { 7 | /** 8 | * 获取菜单 9 | * 10 | * @returns {Promise} 11 | */ 12 | getMenus() { 13 | return get(`${controllerName}/getMenus`); 14 | }, 15 | /** 16 | * 查询列表 17 | * 18 | * @param {一页显示多少行} rows 19 | * @param {当前页码} page 20 | */ 21 | findList(rows, page, search = {}) { 22 | return post(`${controllerName}/findList/${rows}/${page}`, search, false); 23 | }, 24 | /** 25 | * 删除数据 26 | * 27 | * @param {要删除的id 数组} ids 28 | */ 29 | deleteList(ids) { 30 | console.log(ids); 31 | if (ids && ids.length === 0) { 32 | return tools.message("请选择要删除的数据!", "警告"); 33 | } 34 | return post(`${controllerName}/deleteList`, ids, false); 35 | }, 36 | /** 37 | * 获取表单数据 38 | * 39 | * @param {*} id 40 | */ 41 | findForm(id) { 42 | return get(`${controllerName}/findForm${(id ? '/' + id : '')}`); 43 | }, 44 | /** 45 | * 保存表单 46 | * 47 | * @param {表单数据} form 48 | */ 49 | saveForm(form) { 50 | return post(`${controllerName}/saveForm`, form); 51 | }, 52 | /** 53 | * 获取菜单树 54 | * 55 | */ 56 | getMenusFunctionTree() { 57 | return get(`${controllerName}/getMenusFunctionTree`); 58 | } 59 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Infrastructure/ApiResultManage/MessageBox.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace HZY.Infrastructure.ApiResultManage; 4 | 5 | /// 6 | /// 警告消息 7 | /// 8 | [Serializable] 9 | public class MessageBox : Exception 10 | { 11 | private ApiResult ApiResult { get; set; } 12 | 13 | public MessageBox(ApiResult apiResult) : base(string.Empty) 14 | { 15 | this.ApiResult = apiResult; 16 | } 17 | 18 | public MessageBox(string message) : base(message) 19 | { 20 | this.ApiResult = ApiResult.WarnMessage(message); 21 | } 22 | 23 | public MessageBox(string message, object data) : base(message) 24 | { 25 | this.ApiResult = ApiResult.Warn(message, data); 26 | } 27 | 28 | /// 29 | /// 获取 ApiResult 30 | /// 31 | /// 32 | public ApiResult GetApiResult() => ApiResult; 33 | 34 | /// 35 | /// 输出消息 36 | /// 37 | /// 38 | public static void Show(string message) => throw new MessageBox(message); 39 | 40 | /// 41 | /// 输出消息和数据 42 | /// 43 | /// 44 | /// 45 | public static void Show(string message, object data) => throw new MessageBox(message, data); 46 | 47 | /// 48 | /// 支持传入 ApiResult 对象 49 | /// 50 | /// 51 | public static void Show(ApiResult apiResult) => throw new MessageBox(apiResult); 52 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.2.0", 3 | "configurations": [ 4 | { 5 | // Use IntelliSense to find out which attributes exist for C# debugging 6 | // Use hover for the description of the existing attributes 7 | // For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md 8 | "name": ".NET Core Launch (web)", 9 | "type": "coreclr", 10 | "request": "launch", 11 | "preLaunchTask": "build", 12 | // If you have changed target frameworks, make sure to update the program path. 13 | "program": "${workspaceFolder}/HZY.WebHost/bin/Debug/net6.0/HZY.WebHost.dll", 14 | "args": [], 15 | "cwd": "${workspaceFolder}/HZY.WebHost", 16 | "stopAtEntry": false, 17 | // Enable launching a web browser when ASP.NET Core starts. For more information: https://aka.ms/VSCode-CS-LaunchJson-WebBrowser 18 | "serverReadyAction": { 19 | "action": "openExternally", 20 | "pattern": "\\bNow listening on:\\s+(https?://\\S+)" 21 | }, 22 | "env": { 23 | "ASPNETCORE_ENVIRONMENT": "Development" 24 | }, 25 | "sourceFileMap": { 26 | "/Views": "${workspaceFolder}/Views" 27 | } 28 | }, 29 | { 30 | "name": ".NET Core Attach", 31 | "type": "coreclr", 32 | "request": "attach" 33 | } 34 | ] 35 | } -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/js/chunk-2d22d3d7.195f992e.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d22d3d7"],{f73c:function(t,e,n){"use strict";n.r(e);var c=n("7a23"),r={class:"p-15"},o=Object(c["n"])("a",{target:"_blank",href:"https://doc.wangeditor.com/"},"查看示例",-1);function a(t,e,n,a,u,i){var d=Object(c["L"])("a-alert"),l=Object(c["L"])("WangEditor"),b=Object(c["L"])("a-col"),s=Object(c["L"])("a-card"),j=Object(c["L"])("a-row");return Object(c["E"])(),Object(c["k"])("div",r,[Object(c["n"])(d,{message:"富文本编辑器 WangEditor",type:"success"},{description:Object(c["W"])((function(){return[o]})),_:1}),Object(c["n"])(j,{gutter:[15,15],class:"mt-15"},{default:Object(c["W"])((function(){return[Object(c["n"])(b,{xs:24,sm:12,md:12,lg:12,xl:12},{default:Object(c["W"])((function(){return[Object(c["n"])(l,{el:"editor",html:t.text,"onUpdate:html":e[1]||(e[1]=function(e){return t.text=e}),domainName:"https://localhost:5601",previewDomainName:"https://localhost:5601",height:560,onInitConfig:e[2]||(e[2]=function(t){return t.config.zIndex=0})},null,8,["html"])]})),_:1}),Object(c["n"])(b,{xs:24,sm:12,md:12,lg:12,xl:12},{default:Object(c["W"])((function(){return[Object(c["n"])(s,{hoverable:"",bordered:!1},{default:Object(c["W"])((function(){return[Object(c["n"])("div",{innerHTML:t.text},null,8,["innerHTML"])]})),_:1})]})),_:1})]})),_:1})])}var u=n("3019"),i=Object(c["o"])({name:"editor",components:{WangEditor:u["default"]},setup:function(){var t=Object(c["J"])("");return t.value="测试6666!!!",{text:t}}});i.render=a;e["default"]=i}}]); 2 | //# sourceMappingURL=chunk-2d22d3d7.195f992e.js.map -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/js/chunk-2d22d3d7.195f992e.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d22d3d7"],{f73c:function(t,e,n){"use strict";n.r(e);var c=n("7a23"),r={class:"p-15"},o=Object(c["n"])("a",{target:"_blank",href:"https://doc.wangeditor.com/"},"查看示例",-1);function a(t,e,n,a,u,i){var d=Object(c["L"])("a-alert"),l=Object(c["L"])("WangEditor"),b=Object(c["L"])("a-col"),s=Object(c["L"])("a-card"),j=Object(c["L"])("a-row");return Object(c["E"])(),Object(c["k"])("div",r,[Object(c["n"])(d,{message:"富文本编辑器 WangEditor",type:"success"},{description:Object(c["W"])((function(){return[o]})),_:1}),Object(c["n"])(j,{gutter:[15,15],class:"mt-15"},{default:Object(c["W"])((function(){return[Object(c["n"])(b,{xs:24,sm:12,md:12,lg:12,xl:12},{default:Object(c["W"])((function(){return[Object(c["n"])(l,{el:"editor",html:t.text,"onUpdate:html":e[1]||(e[1]=function(e){return t.text=e}),domainName:"https://localhost:5601",previewDomainName:"https://localhost:5601",height:560,onInitConfig:e[2]||(e[2]=function(t){return t.config.zIndex=0})},null,8,["html"])]})),_:1}),Object(c["n"])(b,{xs:24,sm:12,md:12,lg:12,xl:12},{default:Object(c["W"])((function(){return[Object(c["n"])(s,{hoverable:"",bordered:!1},{default:Object(c["W"])((function(){return[Object(c["n"])("div",{innerHTML:t.text},null,8,["innerHTML"])]})),_:1})]})),_:1})]})),_:1})])}var u=n("3019"),i=Object(c["o"])({name:"editor",components:{WangEditor:u["default"]},setup:function(){var t=Object(c["J"])("");return t.value="测试6666!!!",{text:t}}});i.render=a;e["default"]=i}}]); 2 | //# sourceMappingURL=chunk-2d22d3d7.195f992e.js.map -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/dist/css/chunk-774d066c.bb3f19af.css: -------------------------------------------------------------------------------- 1 | html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent;--antd-wave-shadow-color:#1890ff;--scroll-bar:0}body{margin:0;color:rgba(0,0,0,.85);font-size:14px;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif,apple color emoji,segoe ui emoji,segoe ui symbol,noto color emoji;font-variant:tabular-nums;line-height:1.5715;background-color:#fff;font-feature-settings:"tnum";width:100%;height:100%;overflow:hidden;overflow-y:auto}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{width:6px;background:rgba(16,31,28,.1);border-radius:2em}::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.5);background-clip:padding-box;min-height:28px;border-radius:2em}::-webkit-scrollbar-thumb:hover{background-color:#101f1c}.ant-spin-nested-loading{min-height:350px}.ant-spin-nested-loading div .ant-spin{max-height:100%!important}.hzy-logo{text-align:center;font-size:16px;font-weight:700;color:#fff;padding:16px}.ant-layout-sider-light .hzy-logo{color:#000;border-bottom:1px solid #f0f2f5}.ant-table-body{overflow:auto}.btn-success{color:#fff;background-color:#67c23a;border-color:#67c23a}.btn-success:focus,.btn-success:hover{background:#85ce61;border-color:#85ce61;color:#fff}.btn-info{color:#fff;background-color:#909399;border-color:#909399}.btn-info:focus,.btn-info:hover{background:#a6a9ad;border-color:#a6a9ad;color:#fff}.btn-warning{color:#fff;background-color:#e6a23c;border-color:#e6a23c}.btn-warning:focus,.btn-warning:hover{background:#ebb563;border-color:#ebb563;color:#fff} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/wwwroot/client/css/chunk-774d066c.bb3f19af.css: -------------------------------------------------------------------------------- 1 | html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent;--antd-wave-shadow-color:#1890ff;--scroll-bar:0}body{margin:0;color:rgba(0,0,0,.85);font-size:14px;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif,apple color emoji,segoe ui emoji,segoe ui symbol,noto color emoji;font-variant:tabular-nums;line-height:1.5715;background-color:#fff;font-feature-settings:"tnum";width:100%;height:100%;overflow:hidden;overflow-y:auto}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{width:6px;background:rgba(16,31,28,.1);border-radius:2em}::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.5);background-clip:padding-box;min-height:28px;border-radius:2em}::-webkit-scrollbar-thumb:hover{background-color:#101f1c}.ant-spin-nested-loading{min-height:350px}.ant-spin-nested-loading div .ant-spin{max-height:100%!important}.hzy-logo{text-align:center;font-size:16px;font-weight:700;color:#fff;padding:16px}.ant-layout-sider-light .hzy-logo{color:#000;border-bottom:1px solid #f0f2f5}.ant-table-body{overflow:auto}.btn-success{color:#fff;background-color:#67c23a;border-color:#67c23a}.btn-success:focus,.btn-success:hover{background:#85ce61;border-color:#85ce61;color:#fff}.btn-info{color:#fff;background-color:#909399;border-color:#909399}.btn-info:focus,.btn-info:hover{background:#a6a9ad;border-color:#a6a9ad;color:#fff}.btn-warning{color:#fff;background-color:#e6a23c;border-color:#e6a23c}.btn-warning:focus,.btn-warning:hover{background:#ebb563;border-color:#ebb563;color:#fff} -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.WebHost/Configure/LifetimeEventsHostedService.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Extensions.Hosting; 2 | using Microsoft.Extensions.Logging; 3 | using System.Threading; 4 | using System.Threading.Tasks; 5 | 6 | namespace HZY.WebHost.Configure; 7 | 8 | /// 9 | /// 生命周期监听 10 | /// 11 | public class LifetimeEventsHostedService : IHostedService 12 | { 13 | 14 | private readonly ILogger _logger; 15 | private readonly IHostApplicationLifetime _appLifetime; 16 | 17 | public LifetimeEventsHostedService( 18 | ILogger logger, 19 | IHostApplicationLifetime appLifetime) 20 | { 21 | _logger = logger; 22 | _appLifetime = appLifetime; 23 | } 24 | 25 | public Task StartAsync(CancellationToken cancellationToken) 26 | { 27 | _appLifetime.ApplicationStarted.Register(OnStarted); 28 | _appLifetime.ApplicationStopping.Register(OnStopping); 29 | _appLifetime.ApplicationStopped.Register(OnStopped); 30 | 31 | return Task.CompletedTask; 32 | } 33 | 34 | public Task StopAsync(CancellationToken cancellationToken) 35 | { 36 | return Task.CompletedTask; 37 | } 38 | 39 | private void OnStarted() 40 | { 41 | _logger.LogInformation("应用启动."); 42 | 43 | // Perform post-startup activities here 44 | } 45 | 46 | private void OnStopping() 47 | { 48 | _logger.LogInformation("应用停止中."); 49 | 50 | // Perform on-stopping activities here 51 | } 52 | 53 | private void OnStopped() 54 | { 55 | _logger.LogInformation("应用已停止."); 56 | 57 | // Perform post-stopped activities here 58 | } 59 | 60 | } 61 | 62 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.EFCore/Models/TableViewColumn.cs: -------------------------------------------------------------------------------- 1 | namespace HZY.EFCore.Models; 2 | 3 | /// 4 | /// 列头信息 5 | /// 6 | public class TableViewColumn 7 | { 8 | public TableViewColumn(string fieldName, string title) 9 | { 10 | this.FieldName = fieldName; 11 | this.Title = title; 12 | if (fieldName.ToLower() == "Id".ToLower()) 13 | { 14 | this.Show = false; 15 | } 16 | else 17 | { 18 | this.Show = !fieldName.StartsWith("_"); 19 | } 20 | } 21 | 22 | public TableViewColumn(string fieldName, string title, int width) 23 | { 24 | this.FieldName = fieldName; 25 | this.Title = title; 26 | if (fieldName.ToLower() == "Id".ToLower()) 27 | { 28 | this.Show = false; 29 | } 30 | else 31 | { 32 | this.Show = !fieldName.StartsWith("_"); 33 | } 34 | 35 | this.Width = width.ToString(); 36 | } 37 | 38 | public TableViewColumn(string fieldName, string title, bool show, int width) 39 | { 40 | this.FieldName = fieldName; 41 | this.Title = title; 42 | this.Show = show; 43 | this.Width = width.ToString(); 44 | } 45 | 46 | /// 47 | /// 字段名称 48 | /// 49 | public string FieldName { get; set; } 50 | 51 | /// 52 | /// 标题名称 53 | /// 54 | public string Title { get; set; } 55 | 56 | /// 57 | /// 是否显示 58 | /// 59 | public bool Show { get; set; } = true; 60 | 61 | /// 62 | /// 列宽度 63 | /// 64 | public string Width { get; set; } = string.Empty; 65 | } -------------------------------------------------------------------------------- /src/hzy-admin-spa-client-ui/src/service/system/userService.js: -------------------------------------------------------------------------------- 1 | import { get, post, download } from '@/scripts/request'; 2 | import tools from "@/scripts/tools"; 3 | 4 | const controllerName = "admin/SysUser"; 5 | 6 | export default { 7 | /** 8 | * 获取用户和菜单信息 9 | * 10 | * @returns {Promise} 11 | */ 12 | getUserInfo() { 13 | return get(`${controllerName}/info`); 14 | }, 15 | /** 16 | * 查询列表 17 | * 18 | * @param {一页显示多少行} rows 19 | * @param {当前页码} page 20 | */ 21 | findList(rows, page, search = {}) { 22 | return post(`${controllerName}/findList/${rows}/${page}`, search, false); 23 | }, 24 | /** 25 | * 删除数据 26 | * 27 | * @param {要删除的id 数组} ids 28 | */ 29 | deleteList(ids) { 30 | console.log(ids); 31 | if (ids && ids.length === 0) { 32 | return tools.message("请选择要删除的数据!", "警告"); 33 | } 34 | return post(`${controllerName}/deleteList`, ids, false); 35 | }, 36 | /** 37 | * 获取表单数据 38 | * 39 | * @param {*} id 40 | */ 41 | findForm(id) { 42 | return get(`${controllerName}/findForm${(id ? '/' + id : '')}`); 43 | }, 44 | /** 45 | * 保存表单 46 | * 47 | * @param {表单数据} form 48 | */ 49 | saveForm(form) { 50 | return post(`${controllerName}/saveForm`, form); 51 | }, 52 | /** 53 | * 导出 excel 54 | * @param {*} search 55 | */ 56 | exportExcel(search) { 57 | return download(`${controllerName}/exportExcel`, search); 58 | }, 59 | /** 60 | * search 61 | * @param {*} search 62 | */ 63 | sysOrganizationTree() { 64 | return post(`${controllerName}/sysOrganizationTree`); 65 | } 66 | }; -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.EFCore/HZY.EFCore.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | 6 | 7 | 8 | HZY.EFCore.xml 9 | 1701;1702;1591 10 | 11 | 12 | 13 | 14 | Always 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | all 25 | runtime; build; native; contentfiles; analyzers; buildtransitive 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Infrastructure/AppConfiguration.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using HZY.Infrastructure; 3 | using HZY.Infrastructure.ScanDIService.Attributes; 4 | using HZY.Infrastructure.ScanDIService.Enums; 5 | using Microsoft.Extensions.Configuration; 6 | 7 | namespace HZY.Infrastructure; 8 | 9 | /// 10 | /// 程序配置信息映射类 appsettings.json 11 | /// 12 | [DIService(DIType.Singleton)] 13 | public class AppConfiguration 14 | { 15 | private readonly IConfiguration _configuration; 16 | 17 | public AppConfiguration(IConfiguration configuration) 18 | { 19 | this._configuration = configuration; 20 | //AppConfig 21 | this.Mapping(nameof(AppConfiguration)); 22 | } 23 | 24 | /// 25 | /// 映射数据 到 属性 26 | /// 27 | /// 28 | private void Mapping(string key) 29 | { 30 | var properties = this.GetType().GetProperties(); 31 | foreach (var item in properties) 32 | { 33 | var value = _configuration[$"{key}:{item.Name}"]; 34 | 35 | if (item.PropertyType == typeof(Guid)) 36 | { 37 | item.SetValue(this, value.ToGuid()); 38 | } 39 | else if (item.PropertyType == typeof(int)) 40 | { 41 | item.SetValue(this, value.ToInt32()); 42 | } 43 | else 44 | { 45 | item.SetValue(this, value); 46 | } 47 | } 48 | } 49 | 50 | public string AppTitle { get; set; } 51 | public string JwtKeyName { get; set; } 52 | public string JwtSecurityKey { get; set; } 53 | public Guid AdminRoleId { get; set; } 54 | public Guid SysMenuId { get; set; } 55 | public string AuthorizationKeyName { get; set; } 56 | } -------------------------------------------------------------------------------- /src/HzyAdminSpa/HZY.Infrastructure/TextJson/DateTimeJsonConverter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Text.Json; 6 | using System.Text.Json.Serialization; 7 | using System.Threading.Tasks; 8 | 9 | namespace HZY.Infrastructure.TextJson; 10 | 11 | /// 12 | /// Json时间转化器 13 | /// 14 | public class DateTimeJsonConverter : JsonConverter 15 | { 16 | public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) 17 | { 18 | var value = reader.GetString(); 19 | if (string.IsNullOrWhiteSpace(value)) 20 | { 21 | return default; 22 | } 23 | 24 | return DateTime.Parse(value); 25 | } 26 | 27 | public override void Write(Utf8JsonWriter writer, DateTime value, JsonSerializerOptions options) 28 | { 29 | writer.WriteStringValue(value.ToString("yyyy-MM-dd HH:mm:ss")); 30 | } 31 | } 32 | 33 | /// 34 | /// Json时间转化器 35 | /// 36 | public class DateTimeNullJsonConverter : JsonConverter 37 | { 38 | public override DateTime? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) 39 | { 40 | var value = reader.GetString(); 41 | if (string.IsNullOrWhiteSpace(value)) 42 | { 43 | return default; 44 | } 45 | 46 | return DateTime.Parse(value); 47 | } 48 | 49 | public override void Write(Utf8JsonWriter writer, DateTime? value, JsonSerializerOptions options) 50 | { 51 | if (value == null) 52 | writer.WriteNullValue(); 53 | else 54 | writer.WriteStringValue(value.Value.ToString("yyyy-MM-dd HH:mm:ss")); 55 | } 56 | } 57 | 58 | --------------------------------------------------------------------------------