EntityModel 系列之 C#项目概述

项目目录层次

建议使用GITHUB风格的目录层次
在这里插入图片描述

文件夹 说明
desinger 保存设计器的内容
db 保存数据库脚本等内容
doc 保存项目文档
src 源代码目录
publish 项目发布目录,建议下级按版本号分级

解决方案

在这里插入图片描述

Project说明

项目 类型 说明
Demo.Api 控制台 Api的实现代码(ApiControl类的代码)
Demo.DataModel 类库 实体、数据访问、业务逻辑代码

引用的Nuget包:Agebull.Zero.ModelApi

DataModel的目录结构关系

  • 第一级为代码的归类
名称 说明
Entity 代码生成器生成实体定义、实体校验代码保存目录
DataAccess 代码生成器生成的数据库对象、数据访问对象的保存目录
Business 代码生成器生成的与API相关的业务逻辑类的保存目录
  • 第二级为分类:名称与设计器的分类对应,如上的None

  • *.Designer.cs :代码生成的主要内容,尽量不去更改

  • *.cs : 代码生成的扩展内容,建议在此书写你的扩展

  • DataAccess\DataBase:数据库对象代码

  • Entity\Model:生成的实体代码

  • Entity\Validate:生成的实体校验代码

代码生成的文件头部有一个写入标识内容“此标记表明此文件可被设计器更新,如果不允许此操作,请删除此行代码”,如果你修改了代码,请及时删除这段内容,否则下次生成代码时会无情地覆盖你的修改。

前端代码说明

前端代码已实现前后分离,但因提供了两个服务器功能而使用了C#Project的形式提供,如不需要使用扩展,可直接使用其它开发环境(包含wwwroot目录下的文件即可)

服务器扩展功能:

  • 文件管理
    支持UEditor的附件管理,代码目录 UEditor
  • WebSocket广播
    将Zeronet的Notify消息以WebSocket转发以便前端使用。代码目录 WebSocket

前端目录说明:

wwwroot目录下,如果部署在Linux下,请严格保持相同的大小写

前端目录说明

目录或文件 说明
images index.html与login.html使用的图本文件
styles 非第三方组件使用的样式文件
ueditor 百度开源的一个在线编辑器,本项目剥离了附件引用的功能而用于图片编辑
scripts 一些第三方组件与系统扩展的Js代码

使用的第三方组件

  • vue
  • element(饿了吗的开源VUE组件,仅在首页使用)
  • jquery
  • easyUi(编辑界面)
  • highcharts(图形报表)

扩展组件

在这里插入图片描述

chart.js

简化highChart的使用的扩展.

ws.js

对WebSocket使用进行了简单封装

ueditor_ex.js

对ueditor对应功能的使用进行了简化处理

vue_ex.js

对VUE的一些简单扩展

ajax.js

对Jquery的Ajax进行的扩展。

修改服务器的连接地址,在此文件中修改

button.js

对EasyUi的按钮功能进行简单的扩展,方便代码生成器生成代码之用。

card_extend.js 与 dialog.js

对EasyUi的Form与Dialog进行简单的扩展,方便代码生成器生成代码。

core.js

浏览器对应功能的一些简单封装

grid_extend.js 与 tree.js

表格对象深度封装,方便代码生成器生成代码。

page.js

对页面装载流程的一些封装,方便代码生成器生成代码。

type.js

常用枚举类型的定义,方便 Combobox 使用,提供grid的format方法。

生成的代码

目录结构

[项目名称][实体名称]

  • 项目名称:对应设计器中项目的名称
  • 实体名称:对应设计器中的实体名称
文件说明
  • form.js
    代码生成器生成的实体编辑界面的Html代码片断(from部分)
  • script.js
    代码生成器生成的实体相关的JS脚本
  • index.html
    代码生成器生成的主页面的html代码

猜你喜欢

转载自blog.csdn.net/longhutian/article/details/88126696