EIP权限工作流平台总结-2前端框架
1.预览地址:www.eipflow.com
(1) 权限工作流:www.demo.eipflow.com/Account/Login
(2) 基础权限版:www.auth.eipflow.com/Account/Login
(3) Net4.5开源版:http://www.open.eipflow.com/Account/Login
2.Adminlte(https://adminlte.io/)
Adminlte是国外一款开源免费的Bootstrap后台模板,集成了大多数后台系统需要的控件,如Tab,Table,Checkbox,报表等
学习参考地址:
https://gitee.com/zhougaojun/KangarooAdmin
https://blog.csdn.net/jrn1012/article/details/54096408
https://www.cnblogs.com/roy-blog/p/8280933.html?utm_source=debugrun&utm_medium=referral
https://www.jianshu.com/p/e80b1f5001eb
多标签模式:
https://gitee.com/weituotian/AdminLTE-With-Iframe
Vue模式
https://devjin0617.github.io/vue2-admin-lte/
https://github.com/r0r1/vuejs-AdminLTE
3.Asp.Net Core2.1 Mvc区域,使用区域,可以有效的对业务进行隔离,各种业务及分工可以更灵活
wwwroot:放置系统需要的静态资源如js,css,图片等
app:所有区域模块使用的Js
build:所有自动化压缩后的文件存放目录,生产环境全部使用压缩后的js,css,主要使用bundleconfig.json进行配置,安装功能插件
参考:https://www.cnblogs.com/tdfblog/p/bundling-and-minification-in-asp-net-core.html
css:系统中需要用到的Css文件
lIb:使用的第三方组件
upload:一些上传的文件存放目录,也可单独放到文件服务器上
areas:区域,根据功能模块进行划分,基于此套系统开发时,新系统即可开一个新的区域进行隔离,如Oa,Crm,PDM等等,区域里面只会有控制器和页面
baseController:所有前端页面的基类,主要实现页面的缓存
using Microsoft.AspNetCore.Mvc;
namespace EIP
{
/// <summary>
/// 添加缓存
/// </summary>
[ResponseCache(CacheProfileName = "EipCacheProfiles")]
public class BaseController : Controller
{
}
}
Startup:系统启动项配置,可配置缓存相关参数,BaseController中的缓存名即从此文件进行配置
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http.Features;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
namespace EIP
{
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
//添加缓存策略
services.AddMvc(option => option.CacheProfiles.Add("EipCacheProfiles", new CacheProfile
{
Duration = 86400
}));
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
services.Configure<FormOptions>(x => {
x.ValueLengthLimit = int.MaxValue;
x.MultipartBodyLengthLimit = int.MaxValue;
});
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseCookiePolicy();
//添加区域支持
app.UseMvc(routes =>
{
routes.MapRoute(
name: "areas",
template: "{area:exists}/{controller=Home}/{action=Index}/{id?}"
);
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
}
}