JNPF已经是一套成熟的快速开发框架,并在不断升级更新;JNPF快速开发能提高企业的竞争能力,包括降低开发成本、提高产品质量、改善客户满意程度、控制开发进度等。
private MethodInfo _noAttributes = typeof(C).GetMethod("NoAttributes");
private PropertyInfo _hasAttributes = typeof(C).GetProperty("HasAttributes");
[Benchmark]
public IList<CustomAttributeData> GetCustomAttributesData() => _noAttributes.GetCustomAttributesData();
[Benchmark]
public bool IsDefined() => Attribute.IsDefined(_hasAttributes, typeof(ObsoleteAttribute));
[Benchmark]
public Attribute[] GetCustomAttributes() => Attribute.GetCustomAttributes(_hasAttributes, inherit: true);
class A { }
class C : A
{
public void NoAttributes() { }
[Obsolete]
public bool HasAttributes { get; set; }
}
大屏设计介绍:
画布采用网格系统,自动吸附每个控件的布局,做到整齐划一;
大量可视化控件效果,零编码拖拽式操作,支持自定义样式,自定义数据库;
拖拽式自由布局,多种图表、控件、表格等组件任你摆放,想怎么放就怎么放;
数十种可视化图表示例,满足各类的阅读偏好,为您展示全面的数据可视化报告;
打破信息孤岛问题,实时为你展示数据的变化,让你随时查看公司的业务情况;
内置大量专业、酷炫的可视化动效组件、满足您对各种数据场景的动态需求。
<h1>Hashing</h1>
<p>Time: @_time</p>
<button class="btn btn-primary" @onclick="Hash">Click me</button>
@code {
private const string Sonnet18 =
@"Shall I compare thee to a summer’s day?
Thou art more lovely and more temperate:
Rough winds do shake the darling buds of May,
And summer’s lease hath all too short a date;
Sometime too hot the eye of heaven shines,
And often is his gold complexion dimm'd;
And every fair from fair sometime declines,
By chance or nature’s changing course untrimm'd;
But thy eternal summer shall not fade,
Nor lose possession of that fair thou ow’st;
Nor shall death brag thou wander’st in his shade,
When in eternal lines to time thou grow’st:
So long as men can breathe or eyes can see,
So long lives this, and this gives life to thee.";
private TimeSpan _time;
private void Hash()
{
byte[] bytes = Encoding.UTF8.GetBytes(Sonnet18);
var sw = Stopwatch.StartNew();
for (int i = 0; i < 2000; i++)
{
_ = SHA256.HashData(bytes);
}
_time = sw.Elapsed;
}
}
平台设计灵活可扩展、可移植、可应对高并发需求。同时兼顾本地化、私有云、公有云部署,支持SaaS模式应用。
采用前后端分离的模式:前端基于vue-element-admin框架定制开发,后端采用Spring Cloud Alibaba全家桶;
服务注册&发现与调用:基于Nacos来实现的服务注册与发现,使用Open Feign/Dubbo RPC来实现服务互调;
统一授权认证:基于 Spring Security、Spring OAuth2、JWT 实现的统一认证服务中心,登录基于 spring security 的标准登录流程。客户端授权支持 oauth2.0 的四种授权模式:授权码模式、简化模式、密码模式、客户端模式,授权流程跟标准的 oauth2 流程一致。web 端采用简化模式(implicit)登录系统,移动端可使用密码模式(password)登录系统。同时还支持基于 Spring Social 的三方账号登录方式,如微信、QQ等。
业务熔断:采用Sentinel实现业务流量控制、熔断降级、系统负载等多个维度保护服务的稳定性;
应用监控:利用Spring Boot Admin来监控各个服务的运行状态;
链路调用监控:基于SkyWalking作为项目的全链路性能监控, 从整体维度到局部维度展示各项指标,将跨应用的所有调用链性能信息集中展现,可方便度量整体和局部性能,并且方便找到故障产生的源头,生产上可极大缩短故障排除时间;
灵活的权限控制:基于RBAC权限管理,该功能模块下的功能用于维护企业的组织架构信息以及员工信息。主要包含了组织架构管理、部门管理、分级管理员、角色管理、岗位管理、企业通讯录、通信录同步等功能。用户可在此功能模块下维护公司的组织架构信息(组织/部门/角色/岗位)和用户信息,也可以通过第三方应用(钉钉/企业微信)将组织架构信息一键导入到系统中,也可以使用组织架构和员工信息的导入功能将数据导入到系统中;
支持多租户:简单配置即可转为多租户模式,实现数据隔离;
支持多种数据库:支持MySQL、Oracle、SQL Server、达梦数据库、人大金仓数据库、PostgreSQL,您无需关心不同类型数据库间的语法区别;
统一接口管理:基于Swagger拓展的API文档服务,主要提供在平台开发阶段的API文档管理和API调试等功能。