YbSoftwareFactory 代码生成插件【二十三】:集成强大的公文流转系统
今天有空更新博客才发现快一年没有写博客了,不得不感叹时间过得真快。过去的一年确实也挺忙的,在此祝各位博友们新的一年工作顺利。权限模型在过去一年进行了不少的升级,主要集成了公文流转系统、多家手机短信接口的集成、CMS动态路由的实现、以及Hangfire消息队列与任务调度组件的集成等,本章主要对公文流转系统进行总体的介绍,感兴趣的可进一步交流或访问http://pjdemo.yellbuy.com。
公文流转系统是国内企事业单位的普遍需求,具有很强的中国特色。通常其核心需求如下:
- 具备公文流程审批,流程支持多人并批(有时需要考虑审批人的权重)、打回当前审批人之前任意人(包括起草人)
- 有权限的审批人能在审批过程中能前插、后插审批人进行审批,审批人可提前浏览本人将审批的公文。
- 每个公文流程可设置传阅人,传阅人只能看流程的公文信息,不参与审批
- 公司(子公司)可分别创建不同的审批流程,根据公司(子公司)、公文类别来确定流程
- 公文起草和审批时能上传多个附件
- 菜单中有起草公文、已发公文、送阅公文、待办公文、已批公文、公文一览等。
权限模型以组织机构为中心,更加符合国内实际情况,也非常适合公文流转系统的开发。在权限模型框架的基础之上,能对模块、按钮、数据权限进行全方位的控制,可对各个组织不同类型的权限进行授权和管理。使用权限模型,就需要根据权限模型的开发规范对数据库进行建模,其中需要进行数据权限控制的业务功能模块需要具有(:DeleteStatus,CreatedFID和CreatedFName三个默认的字段)。如下为公文流转系统的数据库设计表结构:
WorkflowTemplate - 公文流程模板
表名 |
WorkflowTemplate |
描述 |
公文流程模板 |
|||||
序号 |
列名 |
字段类型 |
长度 |
可空 |
主键 |
外键 |
描述 |
|
1 |
ID |
nvarchar |
36 |
否 |
是 |
标识 |
||
2 |
Code |
nvarchar |
255 |
是 |
编码 |
|||
3 |
Name |
nvarchar |
255 |
否 |
名称 |
|||
4 |
WorkflowType |
nvarchar |
255 |
是 |
类型 |
|||
5 |
Value |
nvarchar |
-1 |
是 |
值 |
|||
6 |
FormTemplate |
nvarchar |
-1 |
是 |
表单模板 |
|||
7 |
LargeImage |
nvarchar |
-1 |
是 |
保留 |
|||
8 |
SmallImage |
nvarchar |
-1 |
是 |
保留 |
|||
9 |
Description |
nvarchar |
-1 |
是 |
描述 |
|||
10 |
Comment |
nvarchar |
-1 |
是 |
备注 |
|||
11 |
QuanPin |
nvarchar |
-1 |
是 |
保留 |
|||
12 |
JianPin |
nvarchar |
255 |
是 |
保留 |
|||
13 |
ExtensionDataType |
nvarchar |
255 |
是 |
扩展数据类型的名称 |
|||
14 |
ExtensionData |
nvarchar |
-1 |
是 |
扩展数据类型存储值 |
|||
15 |
Status |
int |
否 |
状态(无效,有效,预定义) |
||||
16 |
DisplayOrder |
decimal |
否 |
显示顺序 |
||||
17 |
CreatedFID |
nvarchar |
2048 |
是 |
创建者完整标识路径 |
|||
18 |
CreatedFName |
nvarchar |
2048 |
是 |
创建者完整名称路径 |
|||
19 |
CreatedDate |
datetime |
否 |
创建时间 |
||||
20 |
LastUpdatedFID |
nvarchar |
2048 |
是 |
最后修改人完整标识路径 |
|||
21 |
LastUpdatedFName |
nvarchar |
2048 |
是 |
最后修改人完整名称路径 |
|||
22 |
LastUpdatedDate |
datetime |
是 |
最后修改时间 |
||||
23 |
DeleteStatus |
int |
否 |
删除状态 |
||||
24 |
Owner |
nvarchar |
255 |
是 |
Owner |
|||
25 |
ApplicationName |
nvarchar |
255 |
是 |
ApplicationName |
|||
WorkflowCreator - 流程所允许发起的组织
表名 |
WorkflowCreator |
描述 |
流程所允许发起的组织 |
|||||
序号 |
列名 |
字段类型 |
长度 |
可空 |
主键 |
外键 |
描述 |
|
1 |
ID |
nvarchar |
36 |
否 |
是 |
标识 |
||
2 |
WorkflowId |
nvarchar |
36 |
是 |
是 |
流程模板标识 |
||
3 |
OrgFID |
nvarchar |
2048 |
否 |
可发起人组织标识全路径 |
|||
4 |
OrgFName |
nvarchar |
2048 |
是 |
可发起人组织名称全路径 |
|||
5 |
CreatedFID |
nvarchar |
2048 |
是 |
创建人组织标识全路径 |
|||
6 |
CreatedFName |
nvarchar |
2048 |
是 |
创建人组织名称全路径 |
|||
7 |
Version |
int |
否 |
版本号 |
||||
8 |
ApplicationName |
nvarchar |
64 |
是 |
应用程序标识 |
|||
ActivityTemplate - 活动模板
表名 |
ActivityTemplate |
描述 |
活动模板 |
|||||
序号 |
列名 |
字段类型 |
长度 |
可空 |
主键 |
外键 |
描述 |
|
1 |
ID |
nvarchar |
36 |
否 |
是 |
ID |
||
2 |
WorkflowId |
nvarchar |
36 |
否 |
是 |
所属公文流程模板标识 |
||
3 |
Code |
nvarchar |
255 |
是 |
活动编码 |
|||
4 |
Name |
nvarchar |
255 |
否 |
活动名称 |
|||
5 |
Value |
nvarchar |
-1 |
是 |
值 |
|||
6 |
ActivityKind |
int |
否 |
活动类型 |
||||
7 |
TopValue |
int |
否 |
Y坐标 |
||||
8 |
LeftValue |
int |
否 |
X坐标 |
||||
9 |
WidthValue |
int |
否 |
宽度 |
||||
10 |
HeightValue |
int |
否 |
高度 |
||||
11 |
IsStartActivity |
bit |
否 |
是否开始活动 |
||||
12 |
IsFinishActivity |
bit |
否 |
是否结束活动 |
||||
13 |
ExpirationTime |
int |
否 |
默认过期时间 |
||||
14 |
Description |
nvarchar |
-1 |
是 |
描述 |
|||
15 |
Comment |
nvarchar |
-1 |
是 |
备注 |
|||
16 |
QuanPin |
nvarchar |
-1 |
是 |
保留 |
|||
17 |
JianPin |
nvarchar |
255 |
是 |
保留 |
|||
18 |
DisplayOrder |
decimal |
否 |
显示顺序 |
||||
19 |
LargeImage |
nvarchar |
-1 |
是 |
保留 |
|||
20 |
SmallImage |
nvarchar |
-1 |
是 |
保留 |
|||
21 |
ExtensionDataType |
nvarchar |
255 |
是 |
扩展数据类型名 |
|||
22 |
ExtensionData |
nvarchar |
-1 |
是 |
扩展数据值 |
|||
23 |
EntryExecuteTypeName |
nvarchar |
255 |
是 |
入口点执行外部方法类的信息 |
|||
24 |
EntryExecuteMethodName |
nvarchar |
255 |
是 |
入口点执行外部方法的方法名 |
|||
25 |
ExitExecuteTypeName |
nvarchar |
255 |
是 |
出口点执行外部方法类的信息 |
|||
26 |
ExitExecuteMethodName |
nvarchar |
255 |
是 |
出口点执行外部方法的方法名 |
|||
27 |
DeleteStatus |
int |
否 |
删除状态 |
||||
28 |
CreatedFID |
nvarchar |
2048 |
是 |
CreatedFID |
|||
29 |
CreatedFName |
nvarchar |
2048 |
是 |
CreatedFName |
|||
30 |
CreatedDate |
datetime |
否 |
CreatedDate |
||||
31 |
LastUpdatedFID |
nvarchar |
2048 |
是 |
LastUpdatedFID |
|||
32 |
LastUpdatedFName |
nvarchar |
2048 |
是 |
LastUpdatedFName |
|||
33 |
LastUpdatedDate |
datetime |
是 |
LastUpdatedDate |
||||
34 |
Owner |
nvarchar |
255 |
是 |
Owner |
|||
35 |
ApplicationName |
nvarchar |
255 |
是 |
ApplicationName |
|||
ActivityAuditor -活动步骤模板所允许审批的组织
表名 |
ActivityAuditor |
描述 |
活动步骤模板所允许审批的组织 |
|||||
序号 |
列名 |
字段类型 |
长度 |
可空 |
主键 |
外键 |
描述 |
|
1 |
ID |
nvarchar |
36 |
否 |
标识 |
|||
2 |
ActivityId |
nvarchar |
36 |
否 |
是 |
活动模板标识 |
||
3 |
AuditingFID |
nvarchar |
2048 |
否 |
审批人完整标识路径 |
|||
4 |
AuditingFName |
nvarchar |
2048 |
否 |
审批人完整名称路径 |
|||
5 |
Weight |
decimal |
否 |
默认审批权重 |
||||
6 |
ExperitionTime |
int |
否 |
默认过期时间,小时 |
||||
7 |
Comment |
ntext |
1073741823 |
是 |
备注 |
|||
WorkflowInstance - 公文实例
表名 |
WorkflowInstance |
描述 |
公文实例(每个流程发起的实例) |
|||||
序号 |
列名 |
字段类型 |
长度 |
可空 |
主键 |
外键 |
描述 |
|
1 |
ID |
nvarchar |
36 |
否 |
是 |
标识 |
||
2 |
WorkflowId |
nvarchar |
36 |
否 |
是 |
所属公文流程模板标识 |
||
3 |
WorkflowName |
ntext |
1073741823 |
否 |
所属公文流程模板名称 |
|||
4 |
No |
nvarchar |
255 |
是 |
文号 |
|||
5 |
Subject |
nvarchar |
255 |
否 |
标题 |
|||
6 |
Kind |
nvarchar |
255 |
是 |
类型 |
|||
7 |
Abstract |
nvarchar |
1024 |
是 |
摘要 |
|||
8 |
Body |
ntext |
1073741823 |
是 |
内容 |
|||
9 |
SafeLevel |
int |
否 |
密级 |
||||
10 |
UrgencyDegree |
int |
否 |
紧急程度 |
||||
10 |
DeleteStatus |
bit |
否 |
逻辑删除状态 |
||||
11 |
DocStatus |
int |
否 |
当前状态,0开始 1运行 2结束 |
||||
12 |
AuditedStatus |
int |
否 |
当前审核状态 0:未通过 1:已通过 |
||||
13 |
SourceActivityId |
nvarchar |
36 |
是 |
当前已执行活动标识 |
|||
14 |
SourceActivityName |
nvarchar |
50 |
是 |
当前已执行活动名称 |
|||
15 |
TargetActivityId |
nvarchar |
36 |
是 |
当前待执行活动标识 |
|||
16 |
TargetActivityName |
nvarchar |
50 |
是 |
当前待执行活动名称 |
|||
17 |
Version |
int |
否 |
版本号 |
||||
18 |
ExtensionDataType |
nvarchar |
255 |
是 |
扩展数据类型 |
|||
19 |
ExtensionData |
ntext |
1073741823 |
是 |
扩展数据 |
|||
20 |
CreatedFID |
nvarchar |
2048 |
否 |
起草人完整标识路径 |
|||
21 |
CreatedFName |
nvarchar |
2048 |
否 |
起草人完整名称路径 |
|||
22 |
CreatedDate |
datetime |
否 |
起草时间 |
||||
23 |
LastUpdatedFID |
nvarchar |
2048 |
是 |
最后修改人完整路径标识 |
|||
24 |
LastUpdatedFName |
nvarchar |
2048 |
是 |
最后修改人完整名称描述 |
|||
25 |
LastUpdatedDate |
datetime |
是 |
最后修改时间 |
||||
Attachment - 公文附件
表名 |
Attachment |
描述 |
公文附件 |
|||||
序号 |
列名 |
字段类型 |
长度 |
可空 |
主键 |
外键 |
描述 |
|
1 |
ID |
nvarchar |
36 |
否 |
是 |
标识 |
||
2 |
No |
nvarchar |
50 |
是 |
文号 |
|||
3 |
Title |
nvarchar |
256 |
否 |
标题 |
|||
4 |
FileName |
nvarchar |
256 |
是 |
文件名 |
|||
5 |
FilePath |
nvarchar |
256 |
是 |
文件路径 |
|||
6 |
ExtensionName |
nvarchar |
10 |
是 |
文件扩展名 |
|||
7 |
Kind |
int |
否 |
附件类别 |
||||
8 |
Type |
nvarchar |
256 |
否 |
类型 |
|||
9 |
Abstract |
nvarchar |
1024 |
是 |
摘要 |
|||
10 |
Body |
ntext |
1073741823 |
是 |
正文 |
|||
11 |
Keyword |
nvarchar |
256 |
是 |
关键字 |
|||
12 |
Tag |
nvarchar |
256 |
是 |
标记 |
|||
13 |
Comment |
ntext |
1073741823 |
是 |
备注 |
|||
14 |
FileContent |
varbinary |
-1 |
是 |
附件内容 |
|||
15 |
PublishDate |
datetime |
是 |
发布日期 |
||||
16 |
DeleteStatus |
int |
否 |
删除状态 |
||||
17 |
CreatedFID |
nvarchar |
2048 |
否 |
创建人标识路径 |
|||
18 |
CreatedFName |
nvarchar |
2048 |
否 |
创建人名称路径 |
|||
19 |
CreatedDate |
datetime |
否 |
创建时间 |
||||
20 |
LastUpdatedFID |
nvarchar |
2048 |
是 |
最后修改人标识路径 |
|||
21 |
LastUpdatedFName |
nvarchar |
2048 |
是 |
最后修改人名称路径 |
|||
22 |
LastUpdatedDate |
datetime |
是 |
最后修改时间 |
||||
23 |
DisplayOrder |
decimal |
否 |
显示顺序 |
||||
24 |
Version |
int |
否 |
版本号 |
||||
25 |
ObjectId |
nvarchar |
255 |
是 |
所属记录标识 |
|||
ActivityInstance - 活动步骤实例
表名 |
ActivityInstance |
描述 |
活动步骤实例 |
|||||
序号 |
列名 |
字段类型 |
长度 |
可空 |
主键 |
外键 |
描述 |
|
1 |
ID |
nvarchar |
36 |
否 |
是 |
标识 |
||
2 |
WorkflowId |
nvarchar |
36 |
否 |
所属公文流程模板标识 |
|||
3 |
WorkflowName |
nvarchar |
255 |
否 |
所属公文流程模板标识 |
|||
4 |
WorkflowInstanceId |
nvarchar |
36 |
否 |
是 |
WorkflowInstanceId |
||
5 |
WorkflowInstanceSubject |
nvarchar |
255 |
否 |
WorkflowInstanceSubject |
|||
6 |
Code |
nvarchar |
255 |
是 |
编码 |
|||
7 |
Name |
nvarchar |
255 |
否 |
名称 |
|||
8 |
Value |
nvarchar |
-1 |
是 |
值 |
|||
9 |
Status |
int |
否 |
活动状态,未执行,未通过,已通过 |
||||
10 |
ActivityKind |
int |
否 |
活动类型,保留 |
||||
11 |
TopValue |
int |
否 |
Y坐标 |
||||
12 |
LeftValue |
int |
否 |
X坐标 |
||||
13 |
WidthValue |
int |
否 |
宽度值 |
||||
14 |
HeightValue |
int |
否 |
高度值 |
||||
15 |
IsStartActivity |
bit |
否 |
是否开始活动 |
||||
16 |
IsFinishActivity |
bit |
否 |
是否结束活动 |
||||
17 |
ExpirationTime |
int |
否 |
过期时间 |
||||
18 |
Description |
nvarchar |
-1 |
是 |
描述 |
|||
19 |
Comment |
nvarchar |
-1 |
是 |
备注 |
|||
20 |
QuanPin |
nvarchar |
-1 |
是 |
保留 |
|||
21 |
JianPin |
nvarchar |
255 |
是 |
保留 |
|||
22 |
DisplayOrder |
decimal |
否 |
显示顺序 |
||||
23 |
LargeImage |
nvarchar |
-1 |
是 |
保留 |
|||
24 |
SmallImage |
nvarchar |
-1 |
是 |
保留 |
|||
25 |
ExtensionDataType |
nvarchar |
255 |
是 |
扩展数据类型名 |
|||
26 |
ExtensionData |
nvarchar |
-1 |
是 |
扩展数据值 |
|||
27 |
EntryExecuteTypeName |
nvarchar |
255 |
是 |
入口点执行外部方法类的信息 |
|||
28 |
EntryExecuteMethodName |
nvarchar |
255 |
是 |
入口点执行外部方法的方法名 |
|||
29 |
ExitExecuteTypeName |
nvarchar |
255 |
是 |
出口点执行外部方法类的信息 |
|||
30 |
ExitExecuteMethodName |
nvarchar |
255 |
是 |
出口点执行外部方法的方法名 |
|||
31 |
DeleteStatus |
int |
否 |
删除状态 |
||||
32 |
CreatedFID |
nvarchar |
2048 |
是 |
CreatedFID |
|||
33 |
CreatedFName |
nvarchar |
2048 |
是 |
CreatedFName |
|||
34 |
CreatedDate |
datetime |
否 |
CreatedDate |
||||
35 |
LastUpdatedFID |
nvarchar |
2048 |
是 |
LastUpdatedFID |
|||
36 |
LastUpdatedFName |
nvarchar |
2048 |
是 |
LastUpdatedFName |
|||
37 |
LastUpdatedDate |
datetime |
是 |
LastUpdatedDate |
||||
38 |
Owner |
nvarchar |
255 |
是 |
Owner |
|||
39 |
ApplicationName |
nvarchar |
255 |
是 |
ApplicationName |
|||
ActivityInstanceAuditor - 活动步骤实例对应的审批人
表名 |
ActivityInstanceAuditor |
描述 |
活动步骤实例对应的审批人(多个审批人则为并行模式,通过权重判断是否审批通过) |
|||||
序号 |
列名 |
字段类型 |
长度 |
可空 |
主键 |
外键 |
描述 |
|
1 |
ID |
nvarchar |
36 |
否 |
标识 |
|||
2 |
ActivityInstanceId |
nvarchar |
36 |
否 |
是 |
所属活动步骤实例标识 |
||
3 |
ActivityInstanceName |
nvarchar |
255 |
是 |
所属活动步骤实例名称 |
|||
4 |
AuditingFID |
nvarchar |
2048 |
否 |
活动审批人完整标识 |
|||
5 |
AuditingFName |
nvarchar |
2048 |
否 |
审核人完整名称路径 |
|||
6 |
ExperiationTime |
int |
否 |
过期时间(小时) |
||||
7 |
ExperiationResult |
int |
否 |
超时时自动执行的结果(是否通过) |
||||
8 |
Weight |
decimal |
否 |
权重 |
||||
9 |
AuditedResult |
int |
否 |
审核结果(未审核,审核未通过,审核通过) |
||||
10 |
AuditedOpinion |
ntext |
1073741823 |
是 |
审核意见 |
|||
11 |
AuditedFID |
nvarchar |
2048 |
是 |
审核人完整标识 |
|||
12 |
AuditedFName |
nvarchar |
2048 |
是 |
AuditedFName |
|||
13 |
AuditedDate |
datetime |
是 |
AuditedDate |
||||
14 |
AuditedKind |
int |
否 |
人工审批,超时自动审批 |
||||
15 |
Comment |
ntext |
1073741823 |
是 |
备注 |
|||
ActivityLogs - 活动日志
表名 |
ActivityLogs |
描述 |
活动审批日志信息 |
|||||
序号 |
列名 |
字段类型 |
长度 |
可空 |
主键 |
外键 |
描述 |
|
1 |
ID |
nvarchar |
36 |
否 |
是 |
ID |
||
2 |
WorkflowInstanceId |
nvarchar |
36 |
否 |
是 |
所属公文流程实例标识 |
||
3 |
WorkflowInstanceSubject |
nvarchar |
255 |
否 |
所属公文流程实例主题 |
|||
4 |
WorkflowId |
nvarchar |
36 |
否 |
所属公文流程模板标识 |
|||
5 |
WorkflowName |
nvarchar |
255 |
否 |
所属公文流程模板名称 |
|||
6 |
SourceActivityInstanceId |
nvarchar |
36 |
是 |
执行的活动实例标识 |
|||
7 |
SourceActivityInstanceName |
nvarchar |
255 |
是 |
执行的活动实例名称 |
|||
8 |
SourceActivityInstanceKind |
int |
是 |
执行的活动实例类型 |
||||
9 |
TargetActivityInstanceId |
nvarchar |
36 |
是 |
待执行的活动实例标识 |
|||
10 |
TargetActivityInstanceName |
nvarchar |
255 |
是 |
待执行的活动实例名称 |
|||
11 |
TargetActivityInstanceKind |
int |
是 |
待执行的活动实例类型 |
||||
12 |
AuditedWeight |
decimal |
是 |
审核的权重结果 |
||||
13 |
AuditedOpinion |
nvarchar |
-1 |
是 |
审核的意见 |
|||
14 |
AuditedFID |
nvarchar |
-1 |
是 |
审核人完整标识路径 |
|||
15 |
AuditedFName |
nvarchar |
-1 |
是 |
审核人完整名称路径 |
|||
16 |
AuditedDate |
datetime |
是 |
审核日期 |
||||
17 |
AuditedResult |
int |
否 |
审核的结果(未通过,正在并行审批,已通过) |
||||
18 |
AuditedKind |
int |
否 |
审核类别(人工审核,超时自动审核等) |
||||
19 |
Comment |
nvarchar |
-1 |
是 |
备注 |
|||
20 |
CreatedFID |
nvarchar |
2048 |
否 |
起草人完整标识路径 |
|||
21 |
CreatedFName |
nvarchar |
2048 |
是 |
起草人完整名称路径 |
|||
22 |
CreatedDate |
datetime |
否 |
起草日期 |
||||
最终实现的界面效果如下:
下一章:MVC中实现动态自定义路由
YbSoftwareFactory 代码生成插件【二十三】:集成强大的公文流转系统的更多相关文章
- YbSoftwareFactory 代码生成插件【十三】:Web API 的安全性
ASP.NET Web API 可非常方便地创建基于 HTTP 的 Services,这些服务可以非常方便地被几乎任何形式的平台和客户端(如浏览器.Windows客户端.Android设备.IOS等) ...
- YbSoftwareFactory 代码生成插件【十四】:通过 DynamicLinq 简单实现 N-Tier 部署下的服务端数据库通用分页
YbSoftwareFactory 的 YbRapidSolution for WinForm 插件使用CSLA.NET作为业务层,CSLA.NET的一个强大的特性是支持 N-Tiers 部署.只需非 ...
- YbSoftwareFactory 代码生成插件【十五】:Show 一下最新的动态属性扩展功能与键值生成器功能
YbSoftwareFactory 各种插件的基础类库中又新增了两个方便易用的功能:动态属性扩展与键值生成器,本章将分别介绍这两个非常方便的组件. 一.动态属性扩展 在实际的开发过程中,你肯定会遇到数 ...
- YbSoftwareFactory 代码生成插件【二十一】:Web Api及MVC性能提升的几个小技巧
最近在进行 YbSoftwareFactory 的流程功能升级,目前已经基本完成,现将用到的一些关于 Web Api 及 MVC 性能提升的一些小技巧进行了总结,这些技巧在使用.配置上也相当的简单,但 ...
- YbSoftwareFactory 代码生成插件【二十】:DynamicObject的序列化
DynamicObject 是 .NET 4.0以来才支持的一个类,但该类在.NET 4.0下未被标记为[Serializable] Attribute,而在.NET 4.5下则被标记了[Serial ...
- YbSoftwareFactory 代码生成插件【十六】:Web 下灵活、强大的审批流程实现(含流程控制组件、流程设计器和表单设计器)
程序=数据结构+算法,而企业级的软件=数据+流程,流程往往千差万别,客户自身有时都搞不清楚,随时变化的情况更是家常便饭,抛开功能等不谈,需求变化很大程度上就是流程的变化,流程的变化会给开发工作造成很大 ...
- YbSoftwareFactory 代码生成插件【二十五】:Razor视图中以全局方式调用后台方法输出页面代码的三种方法
上一篇介绍了 MVC中实现动态自定义路由 的实现,本篇将介绍Razor视图中以全局方式调用后台方法输出页面代码的三种方法. 框架最新的升级实现了一个页面部件功能,其实就是通过后台方法查询数据库内容,把 ...
- YbSoftwareFactory 代码生成插件【二十二】:CMS基础功能的实现
很多网友建议在YbRapidSolution for MVC框架的基础上实现CMS功能,以方便进行内容的管理,加快前端页面的开发速度.因此花了一段时间,实现了一套CMS内容发布系统并已集成至YbRap ...
- YbSoftwareFactory 代码生成插件【二十四】:MVC中实现动态自定义路由
上一篇介绍了 公文流转系统 的实现,本篇介绍下MVC下动态自定义路由的实现. 在典型的CMS系统中,通常需要为某个栏目指定个友链地址,通过指定友链地址,该栏目的地址更人性化.方便记忆,也有利用于搜索引 ...
随机推荐
- Javascript初学篇章_5(对象)
对象 Javascript是一种面向对象的语言,因此可以使用面向对象的思想来进行javascript程序设计对象就是由一些彼此相关的属性和方法集合在一起而构成的一个数据实体.举个例子,一只猫是个对象, ...
- NOIP2014初赛分数线及金华上线名单
NOIP2014初赛分数线及金华上线名单 分数线:提高组81.5,普及组93 这分数线还能再高些吗?悲催的浙江. 金华上线普及组名单: 地市 姓名 学校 年级 参赛语种 成绩 金华 成浩鹏 稠州丹溪校 ...
- 【5集iCore3_ADP演示视频】5-1 iCore3应用开发平台开箱视频
iCore3双核心应用开发平台基于iCore3双核心板,包含ARM.FPGA.7寸液晶屏.双通道数字示波器.任意波发生器.电压表等模块,是一款专为电子爱好者设计的综合性电子学习系统. [视频简介]本视 ...
- 如何用shared_ptr减少锁的争用
在并发环境下锁的使用是家常便饭, 如何减少锁的使用是优化程序性能的一个方面. c++11里面新增了智能指针std::shared_ptr, 这个东西也许能给我们带来些启发. shared_ptr的一个 ...
- SQL IN 操作符、SQL BETWEEN 操作符、SQL Alias(别名)
IN 操作符 IN 操作符允许我们在 WHERE 子句中规定多个值. SQL IN 语法 SELECT column_name(s) FROM table_name WHERE column_name ...
- 用户引导页--- ScrollView的使用
一.首先第一步,写好用户轮播页的viewController,比如叫做LVUserGuideVC,关键代码是配置和scrollView和pageControl. (1)scrollView的设置 se ...
- 超好用的网页栅格化工具: GridGuide
平面设计中使用栅格化设计是相当重要的,特别是网页和VI设计方面,在设计前都需要来好栅格,但是选择合适栅格和计算无疑是浪费了设计师不少的时间,然而当遇上今天的神器「GridGuide」在线工具,以后再也 ...
- vs2015企业版和专业版秘钥
专业版:HMGNV-WCYXV-X7G9W-YCX63-B98R2企业版:HM6NR-QXX7C-DFW2Y-8B82K-WTYJV 来自http://www.cnblogs.com/xuhongfe ...
- ssh无密码通信设置
■单向登陆配置:1.在本地机器中的~/.ssh/目录下执行下命令#ssh-keygen -t dsa然后全部回车,采用默认值.生成了一对密钥,id_dsa和id_dsa.pub,存放在用户目录的~/. ...
- Android 基于Android的手机邮件收发(JavaMail)之一(准备工作)
界面一共是五个界面,分别是welcomeActivity,ReceiveAndSendActivity,ReceiveListActivity,SendMailActivity,MailDetails ...