Giter Site home page Giter Site logo

iamoldli / netmodular Goto Github PK

View Code? Open in Web Editor NEW
1.4K 90.0 438.0 24.57 MB

NetModular 是基于.Net Core 和 Vue.js 的业务模块化以及前后端分离的快速开发框架

License: MIT License

C# 91.76% Vue 6.45% JavaScript 1.78% PowerShell 0.01%
netmodular

netmodular's Introduction

NetModular
NetModular

广告

NetModular的下一个版本,基于.Net 6+Vue3+Vite开发,欢迎star:https://github.com/17MKH/Mkh

NetModular 是什么

NetModular 是一款为中小型企业而生的基于.Net Core 3.1 开发的业务模块化快速开发解决方案,最终目的是能够让中小团队快速搭建公司内部开发平台。

演示截图

NetModular NetModular NetModular NetModular

后端框架结构说明

框架模块 说明 版本
00_Host 主机库
01_Utils 通用基础库
02_Data 轻量级 ORM 库(基于 Dapper 扩展)
03_Logging 日志库(基于 Serilog 扩展)
04_Mapper 对象映射库(基于 AutoMapper 扩展)
05_Swagger 接口文档库(基于 Swashbuckle 扩展)
06_Cache 缓存库,支持内存缓存和 Redis
07_Validation 模型验证库(基于 FluentValidation 扩展)
08_Auth 身份认证库,已实现 JWT 认证方式
09_Module 业务模块化核心库
10_MQ 消息通讯库,实现对 RabbitMQ 的封装
11_Quartz 基于 Quartz.Net 封装的任务调度库
12_Excel Excel 扩展库
13_Config 通用配置库
14_Pdf PDF 扩展库
15_MQTT MQTT 扩展库(未实现)
16_OSS 对象存储库,内含七牛云 SDK 的 Core 版本

文档

文档也是开源的,你可以获取源码在本地启动:https://github.com/iamoldli/NetModular.Docs

开发环境

开发工具

Visual Studio 2019+Visual Studio Code

后端

.Net Core 3.1DapperSerilogAutoMapperFluentValidationSwagger、RabbitMQ、Redis、EPPlus

前端

Node.js 10+Vue.js 2.6+Vue CLIVuexVueRouterElement-UI

前端框架 NetModular.UI

前端采用 Vue.js 全家桶+Element UI 开发,也是基于模块化**设计,源码不在本仓库,请移步 NetModular.UI

前端皮肤

前端支持自定义皮肤功能,框架本身提供了两套皮肤,其中一套已经内置作为默认皮肤,另外一套需要单独安装,源码如下:

编码 版本 仓库地址
Classics NetModular.Skins.Classics

视频教程

NetModular 的正确打开方式~

模块列表

本仓库只包含基础框架以及权限管理(Admin)模块代码,其它模块请点击以下链接查看~

编号 编码 说明 版本 仓库地址
00 Admin 权限管理 本仓库
01 Common 通用模块 NetModular.Module.Common
02 CodeGenerator 模块创建(又名代码生成器) NetModular.Module.CodeGenerator
03 Quartz 任务调度 NetModular.Module.Quartz
04 PersonnelFiles 人事档案 NetModular.Module.PersonnelFiles

netmodular's People

Contributors

380138129 avatar alasai avatar autukill avatar bgrainger avatar chylove1982 avatar dependabot[bot] avatar hajiuxbz avatar hd2y avatar iamoldli avatar jtone123 avatar mumumi avatar mymuse77 avatar yuanyc-cityfun avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

netmodular's Issues

bug host

开发模式和线上运营模式的host.josn 端口号不同但是并没有生效。
host.josn
{
//地址
"Urls": "http://:8093",
//开启Swagger
"Swagger": true
}
host.Development.json
{
//地址
"Urls": "http://
:6220",
//开启Swagger
"Swagger": true
}

建议

建议在模块管理和岗位管理中填加“新增”按钮

前端运行出错

nodejs版本 12.14.0 运行前端出错
代码 刚下载的,日期2019 /12/19
到第三个命令 npm run serve 出错
ERROR Failed to compile with 2 errors 15:33:19
This relative module was not found:

  • ../components/save in ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/account/index/index.vue?vue&type=script&lang=js&, ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/role/index/index.vue?vue&type=script&lang=js&

丰富Cloud.QiNiu

主要功能
七牛空间图片上传(主要还是图片吧,其他大文件的可以不需要);
提供图片样式接口(可能描述的不好),根据自己在七牛空间定义的样式,组装图片URL,比如原图或者指定大小的图片。
兼容好各区域的上传接口(之前七牛上传的不同地域的sdk不一样,比如华南的sdk不能用于华东的空间上传,不知道现在这个兼容问题七牛有没有完善好)

权限管理和断点调试问题

image

如图,我已经是管理员了,但是查询的时候显示没有权限,403错误,并且我swagger调试附加了token仍然进不去断点,但是有返回信息
image
返回信息还是报告403错误
image

前端页面项目启动失败

前端项目到第三步run时,提示失败,有这三个错误,node.js版本v12.14

  • ./custom in ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/config/index/index.vue?vue&type=script&lang=js&
  • ./form in ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/config/index/module/index.vue?vue&type=script&lang=js&
  • ./system in ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/config/index/index.vue?vue&type=script&lang=js&

你好,请教两个问题

dotnet watch run 是运行接口端
npm run serve 是运行vue界面
有两个问题请教:
1.如果我想对本地netcore程序调试,应该怎么操作
2.vue开发是在vs2017里还是单独用vscode打开开发

希望提供一个token的维护扩展

admin提供token维护的接口;业务模块实现。
目的是让所有能拿到token的用户都能访问相关接口,且拿到token的方式不仅局限于账号密码/手机验证码等方式;还包括微信扫码登录,第三方授权登录(后期可以用id4实现,不过和本扩展并不矛盾),各种登录的主要目的就是拿到token;所以希望admin能提供token维护的扩展。

建议增加”新增模型“功能

建议“视图模型”,除了“查询模型、添加模型、编辑模型“之外,增加”新增模型“功能,辛苦啦,谢谢!

自带的字典功能问题

我把通用模块的字典管理 配置上了,超级管理员也绑定了菜单及权限,但是在页面中提示没有权限,这是啥情况

页面启动问题

在serve模式下 提示css和js文件的mime类型为“text/html”,发布后正常,
我尝试把css和js放到根目录下面的static里面也不好用
这是啥情况

无法找到项目引用的包

我建立了一个如图所示的项目,然后点击生成image

生成的项目中的csproj里边有大量的
image
这些包因为nuget上边没有因此我也无法运行我新建的代码,天呐,这可真是太糟糕了

单文件发布,运行出错

dotnet publish "./src\WebHost\WebHost.csproj" -r win-x64 -c Release -o Deploy /p:PublishSingleFile=true

Unhandled exception. System.InvalidOperationException: Unable to resolve service for type 'NetModular.Module.Admin.Domain.Config.IConfigRepository' while attempting to activate 'NetModular.Module.Admin.Infrastructure.SystemConfigResolver'.
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.CreateArgumentCallSites(Type serviceType, Type implementationType, CallSiteChain callSiteChain, ParameterInfo[] parameters, Boolean throwIfCallSiteNotFound)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.CreateConstructorCallSite(ResultCache lifetime, Type serviceType, Type implementationType, CallSiteChain callSiteChain)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.TryCreateExact(ServiceDescriptor descriptor, Type serviceType, CallSiteChain callSiteChain, Int32 slot)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.TryCreateExact(Type serviceType, CallSiteChain callSiteChain)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.CreateCallSite(Type serviceType, CallSiteChain callSiteChain)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.<>c__DisplayClass7_0.<GetCallSite>b__0(Type type)
   at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.GetCallSite(Type serviceType, CallSiteChain callSiteChain)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngine.CreateServiceAccessor(Type serviceType)
   at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngine.GetService(Type serviceType, ServiceProviderEngineScope serviceProviderEngineScope)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngine.GetService(Type serviceType)
   at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(Type serviceType)
   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetService[T](IServiceProvider provider)
   at NetModular.Module.Admin.Infrastructure.ModuleServicesConfigurator.Configure(IServiceCollection services, IModuleCollection modules, IHostEnvironment env)
   at NetModular.Lib.Module.AspNetCore.ServiceCollectionExtensions.AddModuleServices(IServiceCollection services, IModuleCollection modules, IHostEnvironment env)
   at NetModular.Lib.Host.Web.ServiceCollectionExtensions.AddWebHost(IServiceCollection services, HostOptions hostOptions, IHostEnvironment env)
   at NetModular.Lib.Host.Web.StartupAbstract.ConfigureServices(IServiceCollection services)
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at Microsoft.AspNetCore.Hosting.ConfigureServicesBuilder.InvokeCore(Object instance, IServiceCollection services)
   at Microsoft.AspNetCore.Hosting.ConfigureServicesBuilder.<>c__DisplayClass9_0.<Invoke>g__Startup|0(IServiceCollection serviceCollection)
   at Microsoft.AspNetCore.Hosting.ConfigureServicesBuilder.Invoke(Object instance, IServiceCollection services)
   at Microsoft.AspNetCore.Hosting.ConfigureServicesBuilder.<>c__DisplayClass8_0.<Build>b__0(IServiceCollection services)
   at Microsoft.AspNetCore.Hosting.GenericWebHostBuilder.UseStartup(Type startupType, HostBuilderContext context, IServiceCollection services)
   at Microsoft.AspNetCore.Hosting.GenericWebHostBuilder.<>c__DisplayClass12_0.<UseStartup>b__0(HostBuilderContext context, IServiceCollection services)
   at Microsoft.Extensions.Hosting.HostBuilder.CreateServiceProvider()
   at Microsoft.Extensions.Hosting.HostBuilder.Build()
   at NetModular.Lib.Host.Web.HostBuilder.Run[TStartup](String[] args)
   at NetModular.Demo.WebHost.Program.Main(String[] args)

FluentValidation判断返回结果BUG

image

发现一只BUG。。这里用直接用.fisrt()可能存在第一项不是验证错误项的可能..需要First(m=>m.ValidationState!=ModelValidationState.Valid) 判断一下才能得到 第一个错误信息....

项目运行正常,登录时一直转圈

大佬您好,我在github下载了代码,运行项目,登录时登录一直在转圈,也没看到报什么错,API时没问题的,已经测试了,可以返回token。db用的时sqlserver,求指教谢谢

sqlserver 2008 分页问题

根据你的指示,修改了SqlServerAdapter.cs里面的代码
sql = string.Format("select * from (select row_number() over(order by {0}) as Rownum,{1} from {2} where {3}) as T where T.Rownum between {4} and {5}", sort, select, table, where, skip, take);

运行查询分页就会报错,
order by id 字段不明确
比如生成代码如下
图片
这个是程序字段生成的,我怎么控制呢

代码生成器生成的代码

icon: 'add',
    action: api.add,
    model: {

这部分没有数据
},
rules: {
这部分没有数据 }
},

在api中没有相应的addimport { http } from 'nm-lib-utils'
const root = 'Blog/Article/'
const crud = http.crud(root)

export default {
没有调用
...crud
}
后面也没有post等方法

666星了,替你记录下~文档速度跟不上了,加油啊

在NetModular中,约定所有的配置信息按照其功能放到不同的文件中,所有配置文件放到 config 目录下,而不是把所有配置信息都放在 appsettings.json 文件里面。而且每个配置文件都包括生产环境(db.json)和开发环境(db.Development.json)两个文件。

沙发

希望楼主能够提供一个系列的教程,刚才各种瞅了瞅,感觉有些卡,不确定是不是服务器原因,如果是的话,我这边倒是有一个自用的,目前还没有用,有需要的话可以直接联系[email protected]。为.net core 的开源贡献自己的一份力!

why

项目可否出个启动步骤 以及更项目的详细介绍?

How configure on SqlServer

Great project !

How configure on SqlServer ?
Have a migration procedure ?
PS: it would be great if it had language management

模块问题

我使用页面中的开发工具创建模块后,模块文件夹更名为nm开头的,放到node_module中,运行serve
点击同步模块,在创建菜单的时候,先创建了节点菜单,然后再创建子节点,选择路由菜单的时候,选择新模块,但是选择路由里面没有内容

orm查询问题

query.Where(m => m.id==123)
.LeftJoin((x, y) => x.pid== y.Id)
.Select((t1,t2)=> new { t1, t1.p = t2})
.ToListAsync();

class t1{
id
string xxx
t2 ddd
}

class t2{
id
string name
}

这两个实体是关联的 在关联查询时不能直接把t2 加在t1的ddd吗 我测试普通属性是支持的但是换为对象就不支持了

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.