项目目录层次
建议使用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代码