# ViazyNetCore **Repository Path**: clarum/viazy-net-core ## Basic Information - **Project Name**: ViazyNetCore - **Description**: .net6 的一个业务框架 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 63 - **Created**: 2023-09-25 - **Last Updated**: 2023-09-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

Viazy NetCore 业务项目

> 这目前只是一个简单的 .Net6 后台管理项目。不闭门造车,希望融合流行框架项目。 ## 🚩 项目介绍 - ViazyNetCore.Data.FreeSql 引入 FreeSql 作为数据ORM框架 - ViazyNetCore.Auth 权限管理模块 - ViazyNetCore.Caching 缓存模块 - ViazyNetCore.Redis Redis及缓存管理 - ViazyNetCore.Swagger Swagger管理及Knife4jUI - ViazyNetCore.EventBus 事件推送模块 - ViazyNetCore.EventBus.RabbitMQ RabbitMQ分布式EventBus - ViazyNetCore.EventBus.Redis Redis分布式EventBus - ViazyNetCore.Formmatter.Response 公共处理返回业务模块。 - ViazyNetCore.Formmatter.Excel 数据转Excel文件下载模块 - ViazyNetCore.Web.DevServer ViteNode Spa处理模块。 - ViazyNetCore.TaskScheduler 基于Quartz.Net的任务管理。 - ViazyNetCore.RabbitMQ RabbitMQ消息队列 - ViazyNetCore.TaskScheduler.RabbitMQ RabbitMQ Quartz任务消费者 - ViazyNetCore.AttachmentProvider 附件上传处理 - ViazyNetCore.OSS OSS 文件存储基类 - ViazyNetCore.OSS.Minio MinIO 文件存储 - ViazyNetCore.MultiTenancy 多租户模块 - ViazyNetCore.Dapr Dapr边车应用 - - fontend/ele-admin-ui vue3 管理后台-前端UI - fontend/shopmall-uniapp 前端商城小程序 uni-app项目 ## 🚀 快速入门 > 前端管理后台使用 Vite + Vue3 + TypeScript + ElementUI > 前端商城使用 uni-app vue3 > SwaggerUI 项目采用 knife4j-vue 并添加 TypeScript 文档生成 > 示范 ``` csharp // 模块注入 builder.Services.AddCaching() // 缓存注入 .UseDistributedMemoryCache() // 内存缓存 .UseStackExchangeRedisCaching(options => // 基于 StackExchangeRedis 的缓存 { options.ConfigurationOptions = new StackExchange.Redis.ConfigurationOptions { EndPoints = { { redisConfig.Host, redisConfig.Port } }, Password = redisConfig.Password, ChannelPrefix = "ViazyNetCore" }; }); await builder.Services.AddApplicationAsync(); // Api 返回全局拦截及处理 app.UseApiResponseWrapper(option => { option.IsApiOnly = false; option.EnableResponseLogging = true; option.EnableExceptionLogging = true; }); ``` ## InjectionModule 的使用 > dotnet add package ViazyCoreNet.Core ``` [DependsOn(typeof(AutoMapperModule) , typeof(IdentityModule) , typeof(AspNetCoreMvcModule) , typeof(AuthorizationModule) , typeof(AuthApplicationModule) , typeof(BloggingModulsModule) )] public class BloggingManageHostModule : InjectionModule { … } ``` ### 在 **Program** 启动项中添加 ``` await builder.Services.AddApplicationAsync(); ``` ### **IOC** 支持 > 通过 **InjectionAttribute** 特性注入,默认生命周期为 **Scoped** ```csharp [Injection] public class CategoryService { } [Injection(Lifetime = ServiceLifetime.Singleton)] //更改生命周期 public class CategoryService { } ``` ### Spa 前端应用快速启动。 ```csharp app.UseSpa(spa => { spa.Options.SourcePath = "client"; //启用的前端项目的路径 相对于当前项目路径 //spa.Options.PackageManagerCommand = "npm"; // 执行的 command命令 // 开发阶段, 启用 ViteNode 监听端口,前后端可单端口运行,F5 一键启动调试。 spa.UseDevServer(new ViteNodeServerOptions() // dotnet add package ViazyNetCore.Web.DevServer { //Host= "172.0.0.1", }); }); ``` ![xmind](./docs/ViazyNetCore.Core.png)