Known是一个基于.NET开发的快速开发框架,前后端分离,使用极少的第三方组件,开发简单快速,大部分代码可通过代码生成工具自动生成,非常适合单兵作战和小团队开发。前端UI是一个基于JQuery开发的框架,支持单页和多Tab页的iframe应用程序,有PC端和移动端两个版本,支持目前主流的基于Chromium项目的浏览器。后端使用ASP.NET MVC框架,三层(Controller、Service、Repository)。

主界面预览
前端主要组件
后端主要组件
增删改查示例代码
中后台功能界面
移动端界面



  1. Layer:弹出层,支持Modal对话框、alert、confirm、tips、loading等。
  2. Router:路由,支持多级路由,回退等。
  3. ListBox:列表框,支持data和url绑定和单击回调等。
  4. Tree:树,依赖ztree,支持data和url绑定,支持简单list数据等。
  5. Tabs:标签页。
  6. Query:查询组件,支持查询条件字段绑定和查询按钮等。
  7. Form:表单组件,支持普通表单和多Tab页表单、栏位字段绑定、非空栏位验证和操作按钮等。
  8. Input:输入组件,支持hidden、text、textarea、select、date、radio、checkbox、editor、picker等,其中date依赖datepicker,editor依赖wangEditor。
  9. Picker:弹出选择组件,支持查询和选择回调等。
  10. Grid:网格组件,支持toolbar、query、import、export等,支持编辑。
  11. Chart:图表组件,依赖echarts。
  12. View:视图组件,支持左右布局,栏位一次定义,多处使用(Query、Grid、Form)。

  1. Database:数据库访问组件,支持MySql、SQLite、SqlServer、Oracle等。
  2. Container:对象容器,用于缓存注册的对象实例。
  3. Config:配置组件,提供App相关配置信息。
  4. Logger:日志组件,提供Info、Error和远传运维api。
  5. Platform:平台组件,提供用户登录、日志、数据字典、配置、编号生成、产品激活等功能。
  6. Flow:工作流组件,提供提交、通过、退回、撤回、指派等流程功能。
  7. Job:定时作业组件,提供多线程和Timer作业,定时作业调度。
  8. IoT:IoT组件,提供物联网设备在线实时数据监测。

前端代码

  1. function SysDemo() {
  2. //fields
  3. var url = {
  4. QueryModels: baseUrl + \'/System/QueryDemos\',
  5. DeleteModels: baseUrl + \'/System/DeleteDemos\',
  6. SaveModel: baseUrl + \'/System/SaveDemo\'
  7. };
  8. var view = new View(\'Demo\', {
  9. url: url,
  10. columns: [
  11. { field: \'Id\', type: \'hidden\' },
  12. { title: \'隐藏字段\', field: \'Hidden\', type: \'hidden\', required: true },
  13. { title: \'文本字段\', field: \'Text\', query: true, sort: true, import: true, export: true, type: \'text\', required: true },
  14. { title: \'整型字段\', field: \'IntVal\', import: true, export: true, type: \'text\', required: true },
  15. { title: \'数值字段\', field: \'DecVal\', import: true, export: true, type: \'text\' },
  16. { title: \'日期字段\', field: \'Date\', placeholder: \'yyyy-MM-dd HH:mm:ss\', import: true, export: true, type: \'date\' },
  17. { title: \'单选字段\', field: \'Radio\', import: true, export: true, type: \'radio\', code: \'YesNo\' },
  18. { title: \'复选字段\', field: \'Check\', import: true, export: true, type: \'checkbox\', code: \'YesNo\' },
  19. { title: \'下拉字段\', field: \'Select\', import: true, export: true, type: \'select\', code: [\'暂存\',\'已发布\'] },
  20. { title: \'备注字段\', field: \'Note\', import: true, export: true, type: \'textarea\' }
  21. ]
  22. });
  23. //methods
  24. this.render = function(dom) {
  25. view.render().appendTo(dom);
  26. }
  27. this.mounted = function() {
  28. view.load();
  29. }
  30. }

后端代码

  1. //Controller
  2. public class DemoController : BaseController
  3. {
  4. private DemoService Service => new DemoService();
  5. [HttpPost]
  6. public ActionResult QueryDemos(CriteriaData data)
  7. {
  8. return QueryPagingData(data, c => Service.QueryDemos(c));
  9. }
  10. [HttpPost]
  11. public ActionResult DeleteDemos(string data)
  12. {
  13. return PostAction<string[]>(data, d => Service.DeleteDemos(d));
  14. }
  15. [HttpPost]
  16. public ActionResult SaveDemo(string data)
  17. {
  18. return PostAction<dynamic>(data, d => Service.SaveDemo(d));
  19. }
  20. }
  21. //Service
  22. class DemoService : BaseService
  23. {
  24. private IDemoRepository Repository => Container.Resolve<IDemoRepository>();
  25. internal PagingResult<SysDemo> QueryDemos(PagingCriteria criteria)
  26. {
  27. return Repository.QueryDemos(Database, criteria);
  28. }
  29. internal Result DeleteDemos(string[] ids)
  30. {
  31. var entities = Database.QueryListById<SysDemo>(ids);
  32. if (entities == null || entities.Count == 0)
  33. return Result.Error("请至少选择一条记录进行操作!");
  34. return Database.Transaction("删除", db =>
  35. {
  36. foreach (var item in entities)
  37. {
  38. db.Delete(item);
  39. }
  40. });
  41. }
  42. internal Result SaveDemo(dynamic model)
  43. {
  44. var entity = Database.QueryById<SysDemo>((string)model.Id);
  45. if (entity == null)
  46. entity = new SysDemo();
  47. entity.FillModel(model);
  48. var vr = entity.Validate();
  49. if (!vr.IsValid)
  50. return vr;
  51. Database.Save(entity);
  52. return Result.Success("保存成功!", entity.Id);
  53. }
  54. }
  55. //Repository
  56. public interface IDemoRepository
  57. {
  58. PagingResult<SysDemo> QueryDemos(Database db, PagingCriteria criteria);
  59. }
  60. class DemoRepository : IDemoRepository
  61. {
  62. public PagingResult<SysDemo> QueryDemos(Database db, PagingCriteria criteria)
  63. {
  64. var sql = "select * from SysDemo";
  65. db.SetQuery(ref sql, criteria, QueryType.Contain, "Text");
  66. return db.QueryPage<SysDemo>(sql, criteria);
  67. }
  68. }

个人中心

资源管理

代码生成

数据字典

组织架构

角色管理

用户管理

编号规则


版权声明:本文为known原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/known/p/14175640.html