代码拉取完成,页面将自动刷新
不闭门造车,希望融合流行框架项目。
前端管理后台使用 Vite + Vue3 + TypeScript + ElementUI 前端商城使用 uni-app vue3 SwaggerUI 项目采用 knife4j-vue 并添加 TypeScript 文档生成
示范
// 模块注入
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<TestModule>();
// Api 返回全局拦截及处理
app.UseApiResponseWrapper(option =>
{
option.IsApiOnly = false;
option.EnableResponseLogging = true;
option.EnableExceptionLogging = true;
});
dotnet add package ViazyCoreNet.Core
[DependsOn(typeof(AutoMapperModule)
, typeof(IdentityModule)
, typeof(AspNetCoreMvcModule)
, typeof(AuthorizationModule)
, typeof(AuthApplicationModule)
, typeof(BloggingModulsModule)
)]
public class BloggingManageHostModule : InjectionModule
{
…
}
await builder.Services.AddApplicationAsync<BloggingManageHostModule>();
通过 InjectionAttribute 特性注入,默认生命周期为 Scoped
[Injection]
public class CategoryService
{
}
[Injection(Lifetime = ServiceLifetime.Singleton)] //更改生命周期
public class CategoryService
{
}
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",
});
});
QQ 群: 107129971
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。