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系统中,通常需要为某个栏目指定个友链地址,通过指定友链地址,该栏目的地址更人性化.方便记忆,也有利用于搜索引 ...
随机推荐
- Unity3D连接sqlite数据库操作C#版
unity3d有自己对应的sqlite.dll分别需要三个文件 1.Mono.Data.Sqlite.dll 在unity安装文件“Unity\Editor\Data\MonoBleedingEdge ...
- CI框架3
1.CI不能像smarty那样直接{}访问, <?php echo $ci;?> application\config\ config.php 日志查看 $config['lo ...
- 《实战Java虚拟机》,最简单的JVM入门书,京东活动,满200就减100了,该出手了
#京东满200—100单# 图书放血大卖了 <实战Java虚拟机>http://item.jd.com/11670385.html 参加京东满200减 100的大促,就在6.1这一天,仅此 ...
- XSS攻击
什么是XSS? http://www.cnblogs.com/bangerlee/archive/2013/04/06/3002142.html XSS攻击及防御? http://blog.csdn. ...
- HDU 1166 敌兵布阵(分块)
敌兵布阵 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- CocoaPods for Xcode
http://www.cnblogs.com/MrRed/p/5728933.html 非常方便的Xcode pods插件.可以很方便的在Xcode通过pods安装各种objective-c第三方库, ...
- ThinPHP基础
注:约定([书写]规则)胜于配置 *测试连接是否成功:localhost/tp/index.php1.localhost/tp/index.php(入口文件)/Home(模块名)/Index(控制器名 ...
- 记录一次Tomcat内存泄露原因的追溯
现象:WEB无法访问.SSH无法登陆.桌面登陆验证失败. 重启服务器后登陆正常. cat /var/log/message显示root用户创建了2000多个sessions后显示内存不足. 进入tom ...
- AsyncTask内的各个方法调用顺序
|- AsyncTask内的各个方法调用顺序:|- 首先,用户调用execute方法,启动AsyncTask .然后在execute方法中:|- 首先调用onPreExecute方法,执行初始化操作. ...
- GridView实现方块布局
效果如下: 先创建一个BaseViewHolder package com.example.griddemo; import android.util.SparseArray; import andr ...