313
级:机密资料 文档编号:HLW-PR_PJK-001_v1.0 Beyondbit 配件库 应用开发指南 项目代号 文档类型 发布版本 发布日期 HLW-PR_PJK Doc 1.5 2009-12-19 编制 王震 编制日期 2009-12-19 审核 审核日期 批准 批准日期 上海互联网软件有限公司

Beyondbit 配件库 应用开发指南 ©上海互联网软件有限公司 第3 页 共313 页 目 录 Beyondbit 配件库

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

  • 密 级:机密资料

    文档编号:HLW-PR_PJK-001_v1.0

    Beyondbit 配件库

    应用开发指南

    项目代号 文档类型 发布版本 发布日期

    HLW-PR_PJK Doc 1.5 2009-12-19

    编制 王震 编制日期 2009-12-19

    审核 审核日期

    批准 批准日期

    上海互联网软件有限公司

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 2 页 共 313 页

    文件修订记录

    序号 版本 修订人 修订项 修订时间

    1 1.0 王震 制定 2010-01-20

    2 1.5 王震 修改规范章节、文档整合 2010-02-02

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 3 页 共 313 页

    目 录

    Beyondbit 配件库 ...................................................................................................... 1

    第一章 配件库概述................................................................................................... 12

    1.1 配件库介绍 ....................................................................................................... 12

    1.2 系统架构 .......................................................................................................... 12

    1.3 技术环境 .......................................................................................................... 13

    1.4 环境构建 .......................................................................................................... 13

    1.4.1 开发环境 ................................................................................................. 13

    1.4.2 配置文件 ................................................................................................. 15

    1.5 标准规范 .......................................................................................................... 17

    1.5.1 底层框架规范 .......................................................................................... 17

    1.5.2 开发环境规范 .......................................................................................... 17

    1.5.3 数据库命名规范 ...................................................................................... 19

    1.5.4 业务构件规范 .......................................................................................... 19

    1.5.5 异常处理规范 .......................................................................................... 21

    1.5.6 字典规范 ................................................................................................. 22

    1.5.7 查询规范 ................................................................................................. 22

    1.5.8 界面开发规范 .......................................................................................... 24

    1.5.9 页面基类规范 .......................................................................................... 36

    1.5.10 注释规范 ............................................................................................... 39

    第二章 核心总线接口应用....................................................................................... 40

    2.1 核心总线 .......................................................................................................... 40

    2.1.1 核心总线介绍 .......................................................................................... 41

    2.1.2 业务构件与核心总线关系 ........................................................................ 41

    2.1.3 接口调用规范 .......................................................................................... 42

    2.1.4 接口异常处理规范 ................................................................................... 43

    2.1.5 接口应用场景 .......................................................................................... 43

    2.2 用户接口 .......................................................................................................... 44

    2.2.1 概述 ........................................................................................................ 44

    2.2.2 实体说明 ................................................................................................. 44

    2.2.3 用户登录验证 .......................................................................................... 48

    2.2.4 根据 UID 获取用户基本信息 .................................................................... 49

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 4 页 共 313 页

    2.2.5 根据用户查询对象查询用户 ..................................................................... 49

    2.2.6 查询某组织机构下的用户 ........................................................................ 50

    2.2.7 查询某组织机构下的用户(单层)返回 xml.................................................. 51

    2.2.8 查询属于某角色的用户 ............................................................................ 51

    2.3 组织机构接口 ................................................................................................... 52

    2.3.1 概述 ........................................................................................................ 52

    2.3.2 根据组织机构标识获取组织机构信息 ....................................................... 53

    2.3.3 查询某用户的主组织机构信息 ................................................................. 53

    2.3.4 查询某用户所属组织机构 ........................................................................ 54

    2.3.5 查询某组织机构拥有的子组织机构(一层) ................................................. 54

    2.3.6 查询某组织机构的子组织机构 返回 xml .................................................. 55

    2.3.7 查询某组织机构的子组织机构和用户树返回 Xml ..................................... 56

    2.3.8 获取根组织机构 ...................................................................................... 57

    2.3.9 获取某组织机构的父组织机构 ................................................................. 58

    2.3.10 查询某组织机构路径.............................................................................. 58

    2.3.11 获取某组织机构的子组织机构和用户树.................................................. 59

    2.4 角色接口 .......................................................................................................... 60

    2.4.1 概述 ........................................................................................................ 60

    2.4.2 查询某应用系统拥有的角色 ..................................................................... 60

    2.4.3 获取某用户所拥有的角色 ........................................................................ 61

    2.5 授权接口 .......................................................................................................... 62

    2.5.1 概述 ........................................................................................................ 62

    2.5.2 检查用户是否拥有某个权限或属性权限的访问权限 .................................. 62

    2.5.3 查询用户可访问权限的下级权限 .............................................................. 63

    2.5.4 查询某用户可访问权限树,单层或者多层 ................................................ 63

    2.5.5 查询某用户可访问的应用系统 ................................................................. 65

    2.5.6 新增应用系统 .......................................................................................... 65

    2.5.7 新增权限 ................................................................................................. 66

    2.5.8 批量新增权限 .......................................................................................... 66

    2.5.9 修改权限 ................................................................................................. 67

    2.5.10 删除权限 ............................................................................................... 68

    2.5.11 权限移动 ............................................................................................... 68

    2.5.12 给用户授权............................................................................................ 69

    2.6 岗位接口 .......................................................................................................... 69

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 5 页 共 313 页

    2.6.1 概述 ........................................................................................................ 69

    2.6.2 根据岗位标识获取岗位基本信息 .............................................................. 70

    2.6.3 根据岗位标识或名称查询岗位 ................................................................. 70

    2.6.4 查询某岗位下的用户 ............................................................................... 71

    2.6.5 查询某组织机构下的岗位 ........................................................................ 71

    2.6.6 查询某角色关联的岗位 ............................................................................ 72

    2.7 字典接口 .......................................................................................................... 72

    2.7.1 概述 ........................................................................................................ 72

    2.7.2 实体说明 ................................................................................................. 73

    2.7.1 DictionaryEntry:字典项 ........................................................................... 73

    2.7.2 新增字典项 ............................................................................................. 74

    2.7.3 更新字典项 ............................................................................................. 74

    2.7.4 根据字典 ID 删除字典项 .......................................................................... 75

    2.7.5 根据字典 Code 删除字典项 ...................................................................... 75

    2.7.6 根据字典 ID 获得字典项 .......................................................................... 76

    2.7.7 根据字典 Code 获得字典项 ...................................................................... 76

    2.7.8 根据字典 ID 获得子字典项 ...................................................................... 76

    2.7.9 根据字典 Code 获得子字典项................................................................... 77

    2.7.10 根据字典 ID 获得父字典项..................................................................... 77

    2.7.11 根据字典 Code 获得父字典项 ................................................................. 78

    2.7.12 获得根字典项 ........................................................................................ 78

    2.7.13 判断字典 Code 是否存在 ........................................................................ 78

    2.7.14 根据字典 ID 获得所有后代字典项 .......................................................... 79

    2.7.15 根据字典 Code 获得所有后代字典项 ...................................................... 79

    2.8 附件接口 .......................................................................................................... 79

    2.8.1 概述 ........................................................................................................ 80

    2.8.2 实体说明 ................................................................................................. 80

    2.8.3 新增附件 ................................................................................................. 82

    2.8.4 更新附件 ................................................................................................. 83

    2.8.5 根据附件 ID 删除附件 ............................................................................. 83

    2.8.6 根据多个 ID 删除多个附件 ...................................................................... 84

    2.8.7 根据关联数据表删除多个附件 ................................................................. 85

    2.8.8 根据附件 ID 获得附件 ............................................................................. 85

    2.8.9 查询附件 ................................................................................................. 86

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 6 页 共 313 页

    2.9 任务接口 .......................................................................................................... 87

    2.9.1 概述 ........................................................................................................ 87

    2.9.2 实体说明 ................................................................................................. 88

    2.9.3 新增任务 ................................................................................................. 93

    2.9.4 更新任务 ................................................................................................. 93

    2.9.5 根据任务 ID 删除任务 ............................................................................. 94

    2.9.6 根据任务 ID 获得任务 ............................................................................. 94

    2.9.7 完成用户任务 .......................................................................................... 95

    2.9.8 查询任务分类 .......................................................................................... 95

    2.9.9 查询任务提醒信息 ................................................................................... 96

    2.9.10 新增多个任务提醒 ................................................................................. 97

    2.9.11 重置任务提醒 ........................................................................................ 97

    2.9.12 更新任务提醒 ........................................................................................ 98

    2.9.13 删除任务下的提醒信息 .......................................................................... 99

    2.9.14 删除多个任务提醒 ................................................................................. 99

    2.9.15 查询用户的待办任务信息..................................................................... 100

    2.9.16 查询用户根据任务分类分组的待办任务信息......................................... 101

    2.9.17 查询用户根据应用系统分组的待办任务信息......................................... 102

    2.9.18 查询用户所创建的任务信息 ................................................................. 103

    2.9.19 查询用户完成的任务信息..................................................................... 103

    2.10 消息接口....................................................................................................... 104

    2.10.1 概述 .................................................................................................... 104

    2.10.2 实体说明 ............................................................................................. 104

    2.10.3 发送消息 ............................................................................................. 109

    2.10.4 查询发送任务状态 ............................................................................... 110

    2.10.5 查询某个用户某个状态的所有消息....................................................... 111

    2.10.6 阅读消息 ............................................................................................. 111

    2.10.7 删除消息 ............................................................................................. 112

    2.10.8 读取某用户消息总数............................................................................ 112

    2.11 短信接口 ....................................................................................................... 113

    2.11.1 概述 .................................................................................................... 113

    2.11.2 实体说明 ............................................................................................. 113

    2.11.3 发送消息 ............................................................................................. 115

    2.11.4 查询某用户已发送短信数和限制配置信息 ............................................ 115

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 7 页 共 313 页

    2.12 邮件接口....................................................................................................... 116

    2.12.1 概述 .................................................................................................... 116

    2.12.2 实体说明 ............................................................................................. 116

    2.12.3 发送邮件 ............................................................................................. 118

    2.13 日志接口....................................................................................................... 119

    2.13.1 概述 .................................................................................................... 119

    2.13.2 实体说明 ............................................................................................. 120

    2.13.3 写入日志 ............................................................................................. 122

    2.13.4 日志的分页查询................................................................................... 123

    2.13.5 清除日志 ............................................................................................. 124

    第三章 自定义控件................................................................................................. 124

    3.1 CheckBoxList(字典复选框列表控件)............................................................. 124

    3.1.1 概述 ...................................................................................................... 124

    3.1.2 声明 ...................................................................................................... 124

    3.1.3 属性 ...................................................................................................... 124

    3.1.4 函数 ...................................................................................................... 126

    3.1.5 事件 ...................................................................................................... 126

    3.1.6 示例 ...................................................................................................... 126

    3.1.7 备注 ...................................................................................................... 127

    3.2 RadioButtonList(字典单选框列表控件).......................................................... 127

    3.2.1 概述 ...................................................................................................... 128

    3.2.2 声明 ...................................................................................................... 128

    3.2.3 属性 ...................................................................................................... 128

    3.2.4 函数 ...................................................................................................... 129

    3.2.5 事件 ...................................................................................................... 129

    3.2.6 示例 ...................................................................................................... 129

    3.2.7 备注 ...................................................................................................... 130

    3.3 LinkageDropDownList(联动下拉列表控件).................................................... 130

    3.3.1 概述 ...................................................................................................... 130

    3.3.2 声明 ...................................................................................................... 130

    3.3.3 属性 ...................................................................................................... 130

    3.3.4 函数 ...................................................................................................... 133

    3.3.5 事件 ...................................................................................................... 134

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 8 页 共 313 页

    3.3.6 示例 ...................................................................................................... 134

    3.3.7 备注 ...................................................................................................... 138

    3.4 Upload(上传控件) ........................................................................................ 138

    3.4.1 概述 ...................................................................................................... 138

    3.4.2 声明 ...................................................................................................... 138

    3.4.3 属性 ...................................................................................................... 138

    3.4.4 函数 ...................................................................................................... 143

    3.4.5 事件 ...................................................................................................... 144

    3.4.6 示例 ...................................................................................................... 144

    3.4.7 备注 ...................................................................................................... 145

    3.5 ProgressManager(上传进度管理控件) ............................................................ 146

    3.5.1 概述 ...................................................................................................... 146

    3.5.2 声明 ...................................................................................................... 146

    3.5.3 属性 ...................................................................................................... 146

    3.5.4 函数 ...................................................................................................... 148

    3.5.5 事件 ...................................................................................................... 148

    3.5.6 示例 ...................................................................................................... 148

    3.6 ProgressBar(进度条控件).............................................................................. 149

    3.6.1 概述 ...................................................................................................... 150

    3.6.2 声明 ...................................................................................................... 150

    3.6.3 属性 ...................................................................................................... 150

    3.6.4 函数 ...................................................................................................... 152

    3.6.5 事件 ...................................................................................................... 152

    3.6.6 示例 ...................................................................................................... 152

    3.7 AttachmentUpload(附件上传控件) ................................................................. 153

    3.7.1 概述 ...................................................................................................... 153

    3.7.2 声明 ...................................................................................................... 153

    3.7.3 属性 ...................................................................................................... 153

    3.7.4 函数 ...................................................................................................... 157

    3.7.5 事件 ...................................................................................................... 157

    3.7.6 示例 ...................................................................................................... 158

    3.8 TreeView(树视图控件) ................................................................................. 160

    3.8.1 概述 ...................................................................................................... 160

    3.8.2 声明 ...................................................................................................... 160

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 9 页 共 313 页

    3.8.3 属性 ...................................................................................................... 161

    3.8.4 函数 ...................................................................................................... 166

    3.8.5 事件 ...................................................................................................... 166

    3.8.6 示例 ...................................................................................................... 167

    3.9 TreeNode(树节点控件) ................................................................................. 171

    3.9.1 概述 ...................................................................................................... 171

    3.9.2 声明 ...................................................................................................... 172

    3.9.3 属性 ...................................................................................................... 172

    3.9.4 函数 ...................................................................................................... 176

    3.9.5 事件 ...................................................................................................... 176

    3.9.6 示例 ...................................................................................................... 176

    3.10 OpenDialogBox(基础对话框控件) ............................................................... 177

    3.10.1 概述 .................................................................................................... 177

    3.10.2 声明 .................................................................................................... 177

    3.10.3 属性 .................................................................................................... 177

    3.10.4 事件 .................................................................................................... 182

    3.10.5 函数 .................................................................................................... 182

    3.10.6 示例 .................................................................................................... 183

    3.11 DictionaryDialogBox(字典对话框控件) ........................................................ 186

    3.11.1 概述 .................................................................................................... 186

    3.11.2 声明 .................................................................................................... 186

    3.11.3 属性 .................................................................................................... 186

    3.11.4 函数 .................................................................................................... 188

    3.11.5 事件 .................................................................................................... 188

    3.11.6 示例 .................................................................................................... 188

    3.12 OrganizationDialogBox(组织机构对话框控件).............................................. 199

    3.12.1 概述 .................................................................................................... 199

    3.12.2 声明 .................................................................................................... 199

    3.12.3 属性 .................................................................................................... 199

    3.12.4 函数 .................................................................................................... 201

    3.12.5 事件 .................................................................................................... 201

    3.12.6 示例 .................................................................................................... 201

    第四章 工作流应用................................................................................................. 215

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 10 页 共 313 页

    4.1 工作流依赖关系 .............................................................................................. 215

    4.2 工作流开发 ..................................................................................................... 215

    4.2.1 流程设计器 ........................................................................................... 215

    4.2.2 节点类型说明 ........................................................................................ 216

    4.2.3 外部函数设计 ........................................................................................ 221

    4.3 表单开发 ........................................................................................................ 235

    4.3.1 表单编辑器 ........................................................................................... 235

    4.3.2 表单自定义控件说明 ............................................................................. 236

    4.3.3 表单自定义标签说明 ............................................................................. 244

    4.3.4 表单应用规范 ........................................................................................ 247

    4.3.5 外部函数设计 ........................................................................................ 248

    4.3.6 扩展委托 ............................................................................................... 250

    4.4 代理功能说明 ................................................................................................. 253

    第五章 内部签报构件............................................................................................. 254

    5.1 简介 ............................................................................................................... 254

    5.2 功能页面简述 ................................................................................................. 254

    5.3 开发扩展 ........................................................................................................ 255

    5.3.1 开发思路 ............................................................................................... 256

    5.3.2 具体事例 ............................................................................................... 256

    5.4 应用规范 ........................................................................................................ 256

    5.4.1 功能页面的规范 .................................................................................... 257

    5.4.2 构件表单规范 ........................................................................................ 258

    5.4.3 设置规范 ............................................................................................... 260

    第六章 收发文构件................................................................................................. 261

    6.1 简介 ............................................................................................................... 261

    6.2 功能页面简述 ................................................................................................. 261

    6.3 开发扩展 ........................................................................................................ 262

    6.4 应用规范 ........................................................................................................ 262

    6.4.1 功能页面的规范 .................................................................................... 262

    6.4.2 构件表单规范 ........................................................................................ 263

    6.4.3 设置规范 ............................................................................................... 263

    第七章 CMS 构件 ................................................................................................... 265

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 11 页 共 313 页

    7.1 简介 ............................................................................................................... 265

    7.2 功能模块 ........................................................................................................ 265

    7.2.1 内容管理 ............................................................................................... 265

    7.2.2 静态化管理 ........................................................................................... 265

    7.2.3 站点管理 ............................................................................................... 265

    7.2.4 评议管理 ............................................................................................... 266

    7.3 应用规范 ........................................................................................................ 266

    7.3.1 CMS 静态化网站开发流程 ...................................................................... 266

    7.3.2 CMS 静态化开发指南 ............................................................................. 268

    第八章 快速开发工具应用..................................................................................... 279

    8.1 快速开发工具 ................................................................................................. 279

    8.1.1 概述 ...................................................................................................... 279

    8.1.2 标签 ...................................................................................................... 280

    8.1.3 示例 ...................................................................................................... 283

    8.2 模板引擎 ........................................................................................................ 289

    8.2.1 概述 ...................................................................................................... 289

    8.2.2 类型转换 ............................................................................................... 289

    8.2.3 语法 ...................................................................................................... 290

    8.2.4 标签 ...................................................................................................... 294

    8.2.5 示例 ...................................................................................................... 295

    8.2.6 模板规范 ............................................................................................... 297

    8.2.7 模板引擎配置文件 ................................................................................. 299

    8.2.8 扩展性 .................................................................................................. 302

    第九章 配件库管理构件......................................................................................... 303

    9.1 概述 ............................................................................................................... 303

    9.2 选配管理系统 ................................................................................................. 303

    9.2.1 系统选配 ............................................................................................... 303

    9.3 选配历史 ........................................................................................................ 306

    9.4 选配安装 ........................................................................................................ 307

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 12 页 共 313 页

    第一章 配件库概述

    1.1 配件库介绍

    Beyondbit 配件库是基于 Beyondbit .NET Framework、基础组件库、UI 界面

    库作为核心框架支撑,通过适配器和 Beyondbit 统一体系以及其他第三方接口相

    接驳作为核心总线支撑而构建的业务构件库。可以通过构件选配自动生成包含选

    配的业务构件的 VS 2005&2008 的项目开发环境 ,并通过集成于开发环境的快

    速开发工具进行二次开发。

    Beyondbit 配件库包含基础组件和业务构件库两部分。基础组件是指配件库

    本身的底层框架、核心适配器总线支撑、页面框架(登录、工作台页面框架等);

    业务构件库是指基于配件库基础组件开发的具体业务功能模块,如内部签报、收

    发文管理、CMS 等;

    1.2 系统架构

    Beyondbit 配件库底层集成了用户总线、角色总线、机构总线、岗位总线、

    授权总线、消息总线、邮件总线、任务总线、附件总线、字典总线、日志总线,

    对各种建设于其上的业务构件提供统一的底层支撑,为将来系统的扩展提供良好

    的支持,下面是 Beyondbit 配件库系统架构图:

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 13 页 共 313 页

    配件库架构图

    Beyondbit 配件库底层框架是基于 Beyondbit .NET Framework、基础组件库

    和 UI 界面库,从框架底层规范了数据调用、事务处理、界面规范和代码规范。

    整个 Beyondbit配件库系统基于业内广泛采用的规范体系和安全体系进行构

    建,保障了代码规范、逻辑规范和数据防篡改方面的规范性和安全性。

    1.3 技术环境

    1) .NET Framework 3.5

    2) SQL SERVER 2005

    3) VS2008

    4) VSS 或者 SVN

    1.4 环境构建

    1.4.1 开发环境

    基于配件库项目构建开发环境需要按照配件库基础技术环境要求进行配置,

    代码开发环境由项目经理或者技术经理使用配件库管理系统进行项目选配和代

    码组装,开发环境搭建流程如下图:

    (一)设置系统名称及代码

    (二)业务构件选配

    (三)业务构件组装

    (四)选配系统安装部署

    (五)快速开发工具安装

    (六)项目开发

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 14 页 共 313 页

    第一步:项目经理登录配件库管理系统,使用选配向导功能,设置新项目或

    者系统的名称、代码、系统描述说明,设置是否需要源代码,如果不需要源代码,

    则选配的演示只供演示,不能用于开发。如下图所示:

    第二步:完成系统名称、代码、源代码设置后,点击【下一步】进行业务构

    件选配,如图所示:

    业务构件选配可以点击【选择】按钮,选择配件库中已注册的业务构件,选

    配完成后,点击【下一步】进入选配向导第三步。

    第三步:业务构件组装,如图所示,组装完成后,可以下载安装文件。

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 15 页 共 313 页

    第四步:将选配的安装文件下载到本地,点击下载好的 Install.exe 安装文件,

    使用安装向导进行项目 Web 程序部署、数据库部署、文件及目录解压等,具体

    安装说明请参照选配安装章节。

    第五步:安装快速开发工具,具体安装说明请参照快速开发工具章节。

    第六步:打开选配安装文件安装目录中的源代码解决方案,使用快速开发工

    具进行项目开发。

    1.4.2 配置文件

    基于 Beyondbit 配件库选配的系统开发环境下包含四个必须配置文件,分别

    是 : Web.config 、 FrameConfig.config 、 EnterPriseLibrary.Config 、

    GlobalHandler.config。另外,在所选配的业务构件的 UI 类项目下面也可以有

    Web.Config,业务构件项目的 Web.Config 仅仅包含该业务构件相关的配置项。

    配置文件名称 备注

    Web.config Web系统配置文件,包括各业务构件配置文件引用文

    件、数据库连接配置、接口适配器配置、开发框架配

    FrameConfig.config 开发框架基础配置文件(必要)

    EnterPriseLibrary.Config 开发框架基础配置文件(必要)

    GlobalHandler.config 系统应用程序启动可设置全局配置

    a) Web.config:配件库相关的公用设置项目

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 16 页 共 313 页

    b) GlobalHandler.config:业务构件的 Global 业务处理配置文件,描述了构件

    需在 Global.ascx 中各事件需要处理的业务方法。该 XML 模型如下:

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 17 页 共 313 页

    Type="Common.FileManage,Common"就是方法所在类,及类所在的程序集名称

    -->

    1.5 标准规范

    1.5.1 底层框架规范

    Beyondbit配件库底层采用Beyondbit .NET Framework 1.0.1.2以上版本构建,

    所有的代码开发必须严格遵守该框架的规范,每个新开发的业务构件必须包含

    Entity、DAO、BO、UI 四个项目。UI 界面必须遵循统一的界面规范,所有的按

    钮文字、图标都要遵循 Beyondbit UI 界面标准。开发规范和界面规范参考相关的

    文档。

    1.5.2 开发环境规范

    项目开发环境采用 Visual Studio 2008,源代码版本控制采用 VSS 软件,项

    目开发环境由项目经理登录配件库管理系统,选配出项目的开发环境,并下载到

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 18 页 共 313 页

    本地并安装解压,安装完成后可以使用 Visual Studio 2008 打开项目开发环境,

    由项目经理或者开发人员自行绑定 VSS,开发环境中各个项目的情况如下图:

    开发环境中项目情况

    所有加入配件库的项目的命名空间必须遵循“Beyondbit.”+系统类型代码+

    “.”+业务构件代码+“.”+(Entity、DAO、BO、UI)的命名规范。如上图所示

    Beyondbit.CMS.SiteManage.UI;

    在解决方案目录中,第一层是业务构件的系统类型代码,该类型代码仅仅包

    含下面几种:CMS(网站管理),OA(办公类),Portal(平台)。系统类型代码不允

    许随意改变和增加,系统代码的变更需要通过配件库领导组和实施组的审核后方

    可更改。

    解决方案目录的第二层是业务构件代码,该代码要求在同一类的系统中是唯

    一的。业务构件代码必须是有实际意义的英文单词组成。要能够通过该代码很直

    观的了解该业务构件的功能。系统类型代码和业务构件代码是项目命名空间的重

    要组成部分。

    按照 Beyondbit .NET Framework(简化版)的框架规范要求,每个业务构件

    (如 CMS/InfoPublish 信息发布)的解决方案目录下面都必须包含四个项目,分

    别是 Entity,DAO,BO,UI。这几个项目的命名空间的命名规范遵循上述命名

    空间命名规范原则,如 Beyondbit.CMS.InfoPublish.Entity。

    同样,每个项目在磁盘中存放的目录规范也类同于 VS 解决方案目录规范。

    从项目源代码的根目录算起,要依次按照系统类型代码、业务构件代码、项目类

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 19 页 共 313 页

    型创建目录。Entity,DAO,BO 目录下面直接放置代码,UI 目录下面必须按照

    功能创建一个子目录,来放置 aspx 页面(aspx 页面不能直接位于 UI 目录下),

    这样做是为了保证页面调用的相关资源文件相对路径一致。

    1.5.3 数据库命名规范

    数据表命名按照 “系统类型代码_业务构件代码_功能代码”进行命名,其

    中数据库中的核心数据表都是以“Core_”开头,不允许对核心数据表进行随意改

    动。如网站的栏目表可以命名为“CMS_InfoPublish_Subject”,OA 的车辆申请管

    理流转表命名为“OA_CarManager_WorkFlow”。

    所有表的主键必须命名为 ID,且为 int 自增长类型。在关系表(从表)中,

    引用的字段命名为引用表的“_”的最后一部分(即实体类的名称)加上 ID,如

    UserID,RoleID。每张实体表都要增加 Sequence 字段,便于进行数据排序。

    业务表中如果涉及到下列字段,必须按照下面的名称命名:CreateTime(创

    建时间), UpdateTime (更新时间 ), CreateUserName (创 建用户名),

    UpdateUserName(更新用户名)。

    业务构件开发过程中有关数据访问层的 SQL 语句不能与数据库中的

    “Core_”开头相关系统核心表关联。

    系统类型代码和业务构件代码的命名规范遵从上面章节的规定。

    1.5.4 业务构件规范

    按照配件库标准开发的业务构件的项目文件和类文件,必须遵从上述命名空

    间和 VS 解决方案中的命名规则,并按照上述规定的目录和文件命名规则进行存

    放,便于配件库选配向导程序根据选配的模块自动组装项目解决方案。

    每个业务构件可以有自己的 Web.Config,该配置文档中应该只配置跟本业

    务构件业务相关的配置项,通用的配置项统一配置在根目录的 Web.Config。

    在业务构件的 UI 项目中的根目录下面必须存在以下几个子目录和文档:

    1) Doc 目录:存放该业务构件相关的文档,必须包含下面几个文件:概要设计

    文档.doc、详细设计文档.doc、数据库设计文档.doc、操作手册.doc、Menu.xml、

    InitStruct.sql 、InitData.sql,文档的格式必须按照设定的模板格式来编写,

    将来在进行业务构件选配组装的时候,可以自动根据选配的业务构件自动生

    成相关的技术文档。

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 20 页 共 313 页

    2) 存放该业务构件的配置信息,必须包含下面几个文件:

    a) InitStruct.sql:该业务构件的初始化sql语句,包括建表、触发器、自

    定义函数等。(描述是否需要先删除,后建表)

    b) InitData.sql:该业务构件的初始化数据。

    c) Menu.xml:业务构件的功能访问菜单配置文件,描述该模块的各个

    子功能的名称和url地址。该xml模型如下:

    CMSPlatform

    网站群管理系统

    false

    CMS/InfoPublish/UI/InfoManage/infoadmin.aspx

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 21 页 共 313 页

    CMS_InfoPublish

    内容管理

    0

    1.5.5 异常处理规范

    1) 函数参数为引用类型时,如果参数为 null,必须抛出 ArgumentNullException并描

    述参数错误的原因。

    如:throw new ArgumentNullException("参数 xxx 为 null")

    2) 函数参数的值范围不在给定范围呢,必须抛出 ArgumentOutOfRangeException 并描

    述参数错误的原因。

    如:throw new ArgumentOutOfRangeException("参数 count 必须大于 0")

    3) 函数参数验证时出现其它原因的错误,必须抛出 ArgumentException 或继承与

    ArgumentException的异常并描述参数错误的原因。

    如:throw new ArgumentException("参数 xxx 的成员 yyy不能为空")

    4) 继 承 某 个 接 口 却 没 有 实 现 其 中 的 的 某 个 成 员 函 数 , 必 须 抛 出

    NotImplementedException或继承与 NotImplementedException的异常。

    如:throw new NotImplementedException("TaskBO 没有实现 ITaskBO 的 Insert 函数");

    5) 基于 Beyondbit.Framework 开发框架的 BO 层的所有函数都应该以 try、catch、

    finally(必要情况下清理资源使用)的方式捕获适配器内部调用具体实现函

    数的所有异常,并向更高一层的调用堆栈中的代码抛出经过处理的新异常

    BOException或 BOValidationException。

    6) BOException用于捕获 DAO 层抛出的 DalException。

    7) BOValidationException用于抛出 BO 层参数或逻辑被验证失败时的异常。

    示例代码:

    public Int32 Insert(Task task) {

    try {

    if (task == null)

    throw new BOValidationException("参数task不能为null");

    TaskDAO taskDAO = new TaskDAO();

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 22 页 共 313 页

    return taskDAO.Insert(task);

    } catch (DalException ex) {

    throw new BOException("调用TaskBO的Insert函数失败", ex);

    }

    }

    8) 定义新的异常类型时必须清楚该异常确实会被调用者用于异常类型筛选的

    特殊处理,并选择一个对调用者影响最小的类型作为它的基础类型,最坏情

    况才是派生于 Exception。比如需要定义一个验证参数为引用类型时其某个成

    员为 null 的异常:ArgumentMemberNullException,它应该派生于 ArgumentException而

    不是 Exception。因为当调用者在捕捉异常时需要对参数异常进行恢复处理时

    通常捕捉的是 ArgumentExcetion而不是 Exception。

    try

    {

    throw new ArgumentMemberNullException("参数xxx的成员yyy为null");

    }

    catch (ArgumentException ex)

    {

    //当抛出参数相关的异常时,进行恢复操作,但忽略Exception

    }

    1.5.6 字典规范

    配件库中业务构件的字典功能,必须使用现有的字典管理模块,不允许重复

    开发字典管理功能。

    字典信息获取必须通过字典接口,字典接口请参照核心总线的字典接口部

    分。

    1.5.7 查询规范

    通过配件库的查询设置可以创建出对于数据库中任意数据表的查询实体,开

    发人员也可以创建自定义的查询实体。查询实体的命名规范为:具体名称 +

    Condition。比如查询用户的实体:UserCondition。对于单表查询统一返回实体或

    实体集合。对于多表查询可以返回特定的多表联合实体或 DataSet 类型。

    所有的查询实体继承与 QueryableObject 或手动实现 IQueryableObject。

    IQueryableObject 定义了通常查询下共通的公共成员:

    属性名称 属性说明 类型 默认值 约束

    LogicMode 逻辑模式 LogicMode LogicMode.And 可选

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 23 页 共 313 页

    MatchMode 匹配模式 MatchMode MatchMode.Default 可选

    PageIndex 页索引 Int32 1 可选

    PageSize 每页返回记录数 Int32 15 可选

    QuerySql SQL 查询语句 String String.Empty 可选

    SortField 排序字段 String String.Empty 可选

    SortDirection 排序方向 SortDirection SortDirection.Asc 可选

    所有的查询实体使用 CLR 的 Attribute 技术以一种声明方式显示定义固定的

    查询条件。通过对于每个字段添加不同的 Attribute 修饰组成一种通常的查询逻

    辑。共有两个查询属性:QueryableColumnAttribute 和 SortableColumnAttribute。

    QueryableColumnAttribute 用于定义参与查询的字段名称和条件、同时可以

    对多个 QueryableColumnAttribute 进行分组。

    SortableColumnAttribute 用于定义参与排序的默认字段。

    QueryableColumnAttribute 示例:

    1. 声明查询普通字段

    [QueryableColumn("ID", DbType.Int32, Operator.Equal, -1)]

    public Int32 ID;

    QueryableColumn 定义了产生查询语句时映射的数据表字段名称和数据类

    型,产生的二元运算符是等于,无效的值为-1。代表的查询含义是:如果 ID 的

    值不等于-1 则产生[ID] = @ID 的查询语句。

    2. 声明模糊查询字符类型字段:

    [QueryableColumn("Name", DbType.String, Operator.Like)]

    public String Name;

    QueryableColumn 定义了产生查询语句时映射的数据表字段名称和数据类

    型,产生的二元运算符是模糊查询,上面定义代表的查询含义是:如果 Name

    的值不等于 String.Empty 则产生[Name] like „%‟@‟%‟的查询语句。

    3. 分组查询

    [QueryableColumn("DateCreated", DbType.DateTime, Operator.GreaterThanOrEqual, null,

    "DateCreatedRange", 0)]

    public Nullable StartDateCreated;

    [QueryableColumn("DateCreated", DbType.DateTime, Operator.LessThanOrEqual, null,

    "DateCreatedRange", 1)]

    public Nullable EndDateCreated;

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 24 页 共 313 页

    QueryableColumn 可以对多个属性定义分组的查询,通常用来表示一段范

    围。以上的声明定义了产生查询语句时映射的数据表字段名称和数据类型,产生

    的二元运算符分别是>=和=

    @DateCreated1 AND [DateCreated]

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 25 页 共 313 页

    onclick="javascript:history.back();">

    1.5.8.3 按钮描述规范

    按钮上的字符应与按钮实现的功能一致并且做到简明扼要,并且各页面中类

    似功能应使用同一个描述,一般常用功能按钮描述如下表:

    序号 按钮名称 按钮截图 备注

    1. 排序 工具条按钮样式class="ToolStyle"

    排序按钮,使用服务器端HTML控件

    2. 返回

    工具条按钮样式class="ToolStyle"

    返回按钮,使用客户端HTML控件

    3. 返回

    页面功能按钮样式class="BtnStyle"

    页面功能按钮返回,使用客户端HTML控件

    4. 保存

    页面功能按钮样式class="BtnStyle"

    5. 选择

    页面功能按钮样式class="BtnStyle"

    选择上级分类、所属栏目、单位、部门等

    弹出窗口按钮

    6. 删除

    页面功能按钮样式class="BtnStyle"

    必须添加客户端onclick事件,提醒确认

    是否要删除

    7. 修改

    页面功能按钮样式class="BtnStyle"

    修改按钮

    8. 新建

    工具条按钮样式class="ToolStyle"

    工具条按钮,新建**,可以根据具体功能

    进行描述,比如新建机构;使用客户端

    HTML控件,导向到具体的新建分类页面

    9. 新建** 工具条按钮样式class="ToolStyle"

    工具条按钮,新**项,可以根据具体功能

    进行描述,比如新建用户;使用客户端

    HTML控件,导向到具体的新建项页面

    1.5.8.4 图标应用规范

    系统中所图标应用需要参照以下表格说明,每个图标具有对应的意义,每个

    按钮图标代表了不同的操作功能,开发人员应该按照规范统一使用;图标对应于

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 26 页 共 313 页

    配件库不同 Skin 的 Images 文件夹中,路径 Core\Skin\Skin*\Images\Button\16*16\

    文件夹下面。各图标及描述如下表:

    序 样式名称 图标截图 描述 图标文件

    1. add 新建、新增、添加、新建

    文件

    add.png

    2. addfolder 新建目录、新建分类 addfolder.png

    3. edit 编辑、修改 edit.png

    4. delete

    删除 delete.png

    5. query 查询、查找 query.png

    6. detail 浏览、查看 detail.png

    7. transfer 传输、传阅 transfer.png

    8. restore 恢复、还原 restore.png

    9. preview 预览 preview.png

    10. sequence

    排序 sequence.png

    11. return

    返回、退出 return.png

    12. empty 清空、全部删除、重置 empty.png

    13. error 错误、警告 error.png

    14. refresh 刷新 refresh.png

    15. attach 附件 attach.png

    16. lock 锁定,(文件的挂起锁定) lock.png

    17. lockopen 解锁, lockopen.png

    18. save 保存 save.png

    19. cancel 取消 cancel.png

    20. monitor 监控 monitor.png

    21. statistic 统计 statistic.png

    22. config 配置、管理、设置 config.png

    23. verify 检测有效性、测试 verify.png

    24. color 颜色选择 color.png

    25. home 返回主页、回首页 home.png

    26. html 查看html html.png

    27. tips 提示信息 tips.png

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 27 页 共 313 页

    28. code 查看代码 code.png

    29. copy 复制、拷贝 copy.png

    30. paste 粘贴 paste.png

    31. print 打印 print.png

    32. group 用户组、角色 group.png

    33. male 用户、男 male.png

    34. female 女 female.png

    35. check 审核、审批 check.png

    36. import 导入 import.png

    37. export 导出 export.png

    38. msgnew 新消息、未读消息 msgnew.png

    39. msgviewed 已读消息 msgviewed.png

    40. rss Rss下载、RSS链接 rss.png

    41. favorite 收藏 favorite.png

    42. folder 目录、未打开的目录 folder.png

    43. folderopen 打开的目录 folderopen.png

    44. file 文件 file.png

    45. arrow 跳转 arrow_branch.png

    46. redo 回撤。退回、打回 arrow_redo.png

    47. pause 暂停、挂起(流程等的) pause.png

    48. defaule 默认图标(未指定图标的

    按钮的默认样式)

    Defaule.png

    49. screate 生成、创建(由程序自动

    创建的数据、文件等。)

    Screate.png

    1.5.8.5 自定义图标的使用规范

    当皮肤中提供的图标无法体现出按钮功能或不满足实际需要时,开发人员可

    自行在项目中添加按钮图标,遵循配件库按钮样式开发的规范。主要步骤如下:

    1. 在 16*16 文件夹中添加图标文件,并且包括入工程。

    2. 在《图标说明.txt》文件中按格式增加图标文件说明。

    3. 在《style_button.css》最后添加对应图标文件的样式定义。

    如:.print{ background: url(print.png);}

    1.5.8.6 模板页规范

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 28 页 共 313 页

    配件库系统 Core\Skin\Skin*\Template 里包含了配件库已固有的页面模板,

    原则上各业务构件只能用已有的模板页。

    1) Frame.Master 框架模板页面

    框架模板页面模板分为左右结构,一般应用于分类导航页面,比如用户管理,

    左边是组织机构树,右边是用户列表,Frame.Master 模板应用示例页面如下图所

    Frame.Master 模板中包括 3 个 ContentPlaceHolder 控件,分别见下表描述

    序 可填充区域名称 描述

    1. ModuleName 模块名称

    2. FunctionName 功能名称(在左则分类导航上面的功能描述)

    3. Script 脚本编写

    2) FrameInfo.Master 框架信息页面

    框架中信息页面,应于 Frame 框架页面的右边显示详细信息显示,如图所

    示:

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 29 页 共 313 页

    FrameInfo.Master 模板中包括 5 个 ContentPlaceHolder 控件,分别见下表描

    序 可填充区域名称 描述

    1. FunctionName 模块名称

    2. FunctionButton 功能按钮

    3. FunctionDesc 功能描述

    4. FormMain 表单信息

    5. FormButton 表单底部按钮

    3) FrameList.Master 框架列表页面

    框架列表页面应用于 Frame 框架页面的右则列表显示页面,如下图所示:

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 30 页 共 313 页

    FrameList.Master 模板中包括 5 个 ContentPlaceHolder 控件,分别见下表描

    序 可填充区域名称 描述

    1. FunctionName 模块名称

    2. FunctionButton 功能按钮

    3. DataGrid 数据列表

    4. MsgControl 提示信息

    5. SplitPage 分页控件

    4) List.Master 信息维护列表模板

    信息维护列表模板应用于主体无分类导航树的信息维护列表页面,列表的右

    上解有功能按钮,如下图所示:

    List.Master 模板中包括 5 个 ContentPlaceHolder 控件,分别见下表描述

    序 可填充区域名称 描述

    1. FunctionName 模块名称

    2. FunctionButton 功能按钮

    3. DataGrid 数据列表

    4. MsgControl 提示信息

    5. SplitPage 分页控件

    5) Info.Master 信息编辑页面模板

    信息编辑页面模板应用于信息编辑页面,包括新增、编辑等页面,一般使用

    于 List.Master 的列表的编辑和查看功能页面,如下图所示:

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 31 页 共 313 页

    Info.Master 模板中包括 5 个 ContentPlaceHolder 控件,分别见下表描述

    序 可填充区域名称 描述

    1. FunctionName 模块名称

    2. FunctionButton 功能按钮

    3. FunctionDesc 功能描述

    4. FormMain 表单信息

    5. FormButton 表单底部按钮

    6) QueryAndList.Master 查询列表页面模板

    查询列表页面模板应用有查询条件和查询结果列表的页面,如下图所示:

    QueryAndList.Master 模板中包括 5 个 ContentPlaceHolder 控件,分别见下表

    描述

    序 可填充区域名称 描述

    1. FunctionName 模块名称

    2. TitleFunctionButton 页面顶部右则功能按钮

    3. FunctionDesc 功能描述

    4. QueryCondition 查询条件

    5. ListFunctionName 表单底部按钮

    6. FunctionButton 列表右则功能按钮

    7. DataGrid 查询结果列表

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 32 页 共 313 页

    8. MsgControl 查询消息提示控件

    9. SplitPage 分页控件

    1.5.8.7 统一样式规范

    配件库系统已为每套皮肤都配备了一套按钮图标,并且都已经做好了对应图

    标的样式类,样式文件已在皮肤的 Template 母版页中引用。

    比如在 Skin2皮肤模板页中增加了 2 个引用:

    Style_button.css 为图标样式定义文件, Beyondbit.BCL.UI.js 为配件库客户端

    界面脚本库。

    1.5.8.8 客户端表单提交验证

    配件库各模板默认实现了表单提交时对表单内输入框的客户端验证,实现原

    理是通过拦截客户端 form.onsubmit 事件进行。

    开发人员只需在相应的输入框控件设置验证属性就可实现。以下为输入框属

    性说明:

    CheckFormat 预定义格式验证。当定义属性值不在预定义中时,验证对象

    认为值为一个 JS 方法。 预定义格式请看表 1.5.8.8-1:

    FormatErrorMsg 格式验证报错信息。

    AllowEmpty 控件是否允许空。属性值: “true”/“false”。

    EmptyErrorMsg 空报错信息。

    Expression 自定义正则匹配表达式。(当设有 CheckFormat 时此属性不起

    作用)。

    屏蔽验证事件的触发:

    当提交按钮不需要进行客户端验证时可为其添加属性 EnableValidate=false

    表:1.5.8.8-1

    CheckFormat 属性值 说明

    int 整数

    int+ 正整数

    int- 负整数

    num 数字

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 33 页 共 313 页

    num+ 正数

    num- 负数

    float 浮点数

    float+ 正浮点数

    float- 负浮点数

    email 邮件

    color 颜色

    url 链接(http 开头)

    chinese 仅中文

    ascii 仅 ACSII 字符

    phone 电话(固话或手机)

    mobile 手机

    zipcode 邮编

    ip4 IP地址

    date 日期

    示例:

    1:输入内容不允许为空,并且只能输入 Email 地址:

    2:某提交按钮不参与表单提交验证(为其设定 EnableValidate属性)

    3:使用自定义正则设定只能输入数字:

    4:用自定义事件验证:

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 34 页 共 313 页

    function Validate() {

    if (条件) {

    return "true";

    }

    else {

    return "设定的出错信息";

    }

    }

    1.5.8.9 界面输入数据安全规范

    在 BS 系统中,需要防范脚本注入,配件库统一采用特殊字符替换的方式进

    行解决这些问题。

    实现方法为在表单提交时替换所有输入控件中的“”(大

    于号)、” ‟ ”(单引号)。在默认情况下界面上所有输入控件(input)内值在提交时

    都会被做替换,如果想取消改替换可为控件增加属性 AllowHTML=”true”。示例:

    1.5.8.10 客户端 JavaScript 脚本库接口指南

    配件库所有页面均引用了 Beyondbit.BCL.UI.js。这个 JS 库中实现了页面按

    钮样式的控制、表单验证、信息提示等功能。引用之后页面上就会有以下几个

    全局对象供使用:

    BeyondbitCheckForm 表单验证对象

    BeyondbitDialog 信息提示框对象

    BeyondbitCheckForm 表单验证对象

    方法 说明 类型/返回类型

    CheckAllForm() 对页面上所有表单进行

    验证。

    boolean

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 35 页 共 313 页

    BeyondbitDialog 信息提示框对象

    方法 说明

    ShowMessage(title,messageList,titleImage,onClosed) 显示提示信息

    Title: 信息提示框标题

    MessageList:信息列表(Array)

    titleImage:提示框应用图标

    onClosed:关闭后事件处理

    应用场景及实例:

    利用 UI 库弹出框提示信息:

    var message = new Array();

    var txt = document.getElementById("");

    if (txt) {

    if (txt.value == "" || txt.value.toLowerCase() == "oa_form_") {

    message.push("请您填写表名称!");

    }

    var td = "OA_Form_".toLowerCase();

    var tr = txt.value.toLowerCase();

    if (tr.indexOf(td) != 0) {

    message.push("表名称的格式必须为OA_Form_名称!");

    }

    }

    if (message.length > 0) {

    BeyondbitDialog.ShowMessage("表名称有误", message, "error");

    return false;

    }

    效果:

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 36 页 共 313 页

    1.5.9 页面基类规范

    配件库核心基础组件包括页面的基类 ParentPage,各业务构件的 Web 页面

    必须继承于 ParentPage 基类,ParentPage 类图如下

    业务构件的 Web 页面只要继承 ParentPage 就可获取基类中授权类型、当前

    应用系统代码、应用系统名称、应用系统列表、皮肤、皮肤路径、当前操作用户

    等属性,其中当前操作用户属性非常重要,各页面需要使用用户 Session 时,就

    可以通过 CurrentUser 属性获取;

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 37 页 共 313 页

    ParentPage 提供一些常用的方法,包括弹出信息提醒、检查用户是否属于某

    角色组、填充用户基本信息、获取可以访问的顶级模块、获取页面 URL 参数常

    用的公用方法。

    1.5.9.1 公共属性

    序 属性名 返回值 描述

    1. Skin string 获取当前系统使用的皮肤

    2. AccessType string 获取当前系统的授权类型

    3. Debug bool 获取当前系统是否是调试状态

    4. RootPath String 获取网站磁盘根路径

    5. RootUrl String 获取系统根URL访问路径

    6. CurrentUser ParentPageUser 设置和获取当前登录系统的用

    户会话信息

    7. CurrentAppList IList 设置和获取当前用户所访问的

    应用系统列表

    8. CurrentAppCode String 设置和获取当前访问系统的系

    统代码

    9. CurrentAppName String 设置和获取当前访问系统的系

    统名称

    10. CurrentPageApp ParentPageApp 设置和获取当前访问的应用系

    统信息

    11. CurrentModule ParentPageModule 设置和获取当前访问系统的模

    块信息

    1.5.9.2 公共方法

    1、 弹出提示信息

    void AlertMessage(string msg)

    功能描述:弹出提示信息

    入口参数:

    msg:提示内容

    返回结果:

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 38 页 共 313 页

    2、 弹出提示信息并调用脚本方法

    void AlertMessage(string msg, string method)

    功能描述:弹出提示信息并调用脚本方法

    入口参数:

    msg:提示信息

    method: 脚本方法名称

    返回结果:

    3、 在页面框架内弹出提示信息并跳转到指定页面地址

    void AlertMessage(string msg, string url, bool isframe)

    功能描述:在页面框架内弹出提示信息并跳转到指定页面地址

    入口参数:

    msg:提示信息

    url: 指定跳转页面地址

    isframe:是否在页面框架内跳转

    返回结果:

    4、 填充用户信息

    void FillUserInfo(string account)

    功能描述:填充用户信息,包括用户基本信息、单位信息、角色信息

    入口参数:

    account:用户账号,如“sys”

    返回结果:

    5、 获取页面 URL 参数信息

    string GetQueryString(string code)

    功能描述:获取页面 URL 参数中指定参数名的参数信息

    入口参数:

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 39 页 共 313 页

    code:参数名

    返回结果:

    返回参数内容,如果为空,则返回空字符串

    6、 验证当前用户是否拥有指定角色

    bool CheckAccountRole(string roleCode)

    功能描述:验证当前用户是否拥有指定角色

    入口参数:

    roleCode:角色代码

    返回结果:

    返回 bool 类型,true:表示拥有此角色;false:表示无此角色;

    1.5.10 注释规范

    1.5.10.1 类文件注释

    类文件注释应包含公司的名称、版权信息、修订时间等信息,如下模板:

    //----------------------------------------------------------------

    // Copyright (C) 2010 上海互联网软件软件有限公司

    // 版权所有。

    // All rights reserved.

    // 文件名:ContentDAO.cs

    // 文件功能描述:

    // 信息管理数据访问实现类

    //

    // 创建标识: 上海互联网软件软件有限公司 2009-9-18

    //

    // 修改标识:

    // 修改描述:

    //----------------------------------------------------------------

    1.5.10.2 类注释

    类注释应用 VSTS 开发环境中默认的注释规范,简要说明类的功能描述。

    如下模板:

    ///

    /// 信息管理数据访问实现类

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 40 页 共 313 页

    ///

    public class ContentDAO : ObjectDAO

    1.5.10.3 属性注释

    属性注释应用 VSTS 开发环境中默认的注释规范,简要说明属性的功能描

    述。

    如下模板:

    ///

    /// 栏目名称

    ///

    public string Name

    {

    get

    {

    return _name;

    }

    set

    {

    _name = value;

    }

    }

    1.5.10.4 方法注释

    方法注释应用VSTS开发环境中默认的注释规范,简要说明方法的功能描述,

    每个方法都需要有有效注释。如下模板:

    ///

    /// 根据ID向上获取栏目 (带 Levels 层级值)

    ///

    /// 栏目ID

    /// 是否只获取子栏目

    /// 栏目对象列表 (带Levels 层级值)

    public IList GetParentSubject(int ID, bool IsSubWebsite)

    第二章 核心总线接口应用

    2.1 核心总线

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 41 页 共 313 页

    2.1.1 核心总线介绍

    核心总线层是配件库接口适配器,配件库总线层抽象定义了各业务构件经常

    应用的接口,包括用户总线、角色总线、机构总线、岗位总线、邮件总线、任务

    总线、消息总线、字典总线、日志总线、授权总线;通过这总线可以实现业务构

    件灵活适配到各基础服务,业务构件可以不关心基础服务系统的实现和更改。下

    图描述了配件库核心总线层与目前公司基础服务系统的关系。

    2.1.2 业务构件与核心总线关系

    业务构件调用核心总线层定义的接口实现用户、组织机构、角色、授权等功

    能;核心总线实现了对统一系列的接口实现和配件库的接口实现,各业务构件可

    以通过配置文件实现各基础服务系统的灵活适配。如图,EGS 工作流构件、会

    议管理构件、网站内容管理构件通过核心总的用户接口获取用户信息,对于这些

    构件,可以不需要关心用户是从统一授权 1.5 &2.0 获取,还是从简化版分级授

    权里获取。配件库核心总线层实现了对统一授权 2.0 或者简化版分级授权的用户

    获取,通过配置库的 Web.Config 配置文档,就可以指定用户接口的适配,从而

    可以访问具体的用户管理系统。

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 42 页 共 313 页

    2.1.3 接口调用规范

    配件库核心总线层定义的接口如下图所示:

    IUserBO 用户总线接口、IOrgBO 组织机构总线接口、IRoleBO 角色总线接

    口、IAuthorizationBO 授权总线接口、IPostBO 岗位总线接口、IAttachmentBO 附

    件总线接口、IDictionaryBO 字典总线接口、ITaskBO 任务总线接口、IEmailBO

    邮件总线接口、ISmsBO 短信服务总线接口、IMessageBO 消息总线接口、

    BCLInterfaceException 接口异常类型、ServiceFactory 服务工厂;

    ServiceFactory 依据配置文件中的配置项可以灵活提供接口与实现映射,达

    到业务构件可以通过配置文件实现各基础服务系统的灵活适配。

    ServiceFactory 提供两种应用场景,如下:

    1:直接调用总线接口,没有经过开发框架代理调用

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 43 页 共 313 页

    // 调用用户接口,查询用户信息

    IUserBO userBo = ServiceFactory.CreateService();

    User user = userBo.GetUserInfo(userId);

    2:通过业务构件的业务逻辑层调用,并且已经过开发框架代理调用

    // 调用用户接口,查询用户信息

    IUserBO userBo = ServiceFactory.CreateService(false);

    User user = userBo.GetUserInfo(userId);

    2.1.4 接口异常处理规范

    配件库核心总线接口调用异常类型为 BCLInterfaceException 业务构件在调

    用总线接口时,需要处理接口调用异常,并详细记录异常错误信息。

    2.1.5 接口应用场景

    业务构件开发时,所有涉及到用户、机构、角色、授权、岗位、附件、字典、

    任务、邮件、短信服务、消息提醒功能时,必须通过核心接口总线进行接驳,必

    须通过 ServiceFactory 服务工厂生成相应功能的接口实例,然后方法调用,可以

    提高系统的可扩展性。

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 44 页 共 313 页

    2.2 用户接口

    2.2.1 概述

    接口类图:

    用户接口主要提供用户信息的查询,包括根据帐号获得基本信息,组合查询

    用户信息,根据组织机构查询用户,根据角色查询用户,查询某组织机构的下层用

    户树。

    2.2.2 实体说明

    2.2.2.1 User:用户标准实体类

    属性名称 属性说明 类型 默认值

    UserUid 用户标识 String String.Empty

    OrgID 主组织机构标识 String String.Empty

    OrgName 主组织机构名称 String String.Empty

    UnitID 单位组织机构标识 String String.Empty

    UnitName 单位组织机构名称 String String.Empty

    UserName 用户姓名 String String.Empty

    UserFullName 用户全名 String String.Empty

    UserEmail 邮件 String String.Empty

    UserEmailPublic 邮件是否隐藏,默认1: 隐藏 ,

    0: 不隐藏

    Int32 0

    UserType 用户类型,枚举类型为UserType UserType UserType.User

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 45 页 共 313 页

    UserSex 性别,枚举类型Sex(None:未知,

    Male:男,Female:女)

    Sex Sex.Male

    UserLocked 帐 号 状 态 , 枚 举 类 型

    UserLockStatus(Locked: 锁

    定,UnLocked: 未锁定)

    UserLockS

    tatus

    UserLockStatus.

    UnLocked

    UserCardType 证件类型 String String.Empty

    UserCard 证件号 String String.Empty

    UserNick 昵称 String String.Empty

    UserMobilePhone 移动电话 String String.Empty

    UserHomeAddress 家庭地址 String String.Empty

    UserHomePhone 家庭电话 String String.Empty

    UserHomePost 家庭邮编 String String.Empty

    UserSecurityLevel 保密级别 String String.Empty

    UserDutyLevel 职级 String String.Empty

    UserDuty 职务 String String.Empty

    UserOfficePhone 办公电话 String String.Empty

    UserFax 传真 String String.Empty

    UserExtPhone 分机号 String String.Empty

    UserOfficeRoom 办公室 String String.Empty

    UserDesc 备注 String String.Empty

    Password 用户密码 String String.Empty

    UserPic 用户图片 String String.Empty

    UserSequence 排序号 Int32 -1

    2.2.2.2 Org:组织机构标准实体类

    属性名称 属性说明 类型 默认值

    OrgID 组织机构主键标识 String String.Empty

    OrgName 组织机构名称 String String.Empty

    OrgCode 组织机构标识 String String.Empty

    OrgType 组织机构类型,枚举类型ORG_TYPE ORG_TYPE Null

    ParentOrgID 上一级组织机构标识 String String.Empty

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 46 页 共 313 页

    ParentOrgName 上一级组织机构名称 String String.Empty

    UnitID 单位组织机构标识 String String.Empty

    UnitName 单位组织机构名称 String String.Empty

    OrgLevel 组织机构级别,枚举类型OrgLevel

    (UNIT:单位,ORG:部门、科室)

    OrgLevel OrgLevel.ORG

    OrgGlobalNo 组织全局编号 String String.Empty

    IsMaster 主 组 织 机 构 标 识 , 枚 举 类 型

    MasterOrgFlag(Yes,No)

    MasterOrgFlag MasterOrgFlag.No

    OrgSequence 排序号 Int32 -1

    2.2.2.3 Role:角色实体类

    属性名称 属性说明 类型 默认值

    RoleName 角色名称 String String.Empty

    RoleCode 角色标识 String String.Empty

    RoleType 角色类型

    1: 管理员角色

    2: 单位角色

    3: 用户角色

    4: 自定义角色

    INT 3

    2.2.2.4 Post:岗位实体类

    属性名称 属性说明 类型 默认值

    PostCode 岗位标识 String String.Empty

    PostName 岗位名称 String String.Empty

    OrgID 主组织机构标识 String String.Empty

    UnitID 单位组织机构标识 String String.Empty

    2.2.2.5 Privilege:权限实体类

    属性名称 属性说明 类型 默认值

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 47 页 共 313 页

    PrivilegeName 权限名称 String String.Empty

    PrivilegeCode 权限标识 String String.Empty

    PrivilegeType 权限类型 String String.Empty

    MenuUrl 菜单URL String String.Empty

    MenuImgSrc 菜单图片路径 String String.Empty

    MenuSeparator 分隔符 Int32 默认0,1:有,0:

    ParentPrivilegeCode 上级权限标识 String String.Empty

    PrivilegeSequence 排序号 String String.Empty

    PrivilegeDescriptio

    n

    权限描述 String String.Empty

    RealUrl 绝对路径菜单URL String String.Empty

    PrivilegeID 权限ID菜单 String String.Empty

    2.2.2.6 App:应用系统实体类

    属性名称 属性说明 类型 默认值

    AppName 应用系统名称 String String.Empty

    AppCode 应用系统标识 String String.Empty

    AppType 应用系统类型 String String.Empty

    AppHomeUrl 应用系统主页 String String.Empty

    AppLoginUrl 应用系统登录页 String String.Empty

    AppIntegrateMode 应用系统集成模式 String String.Empty

    2.2.2.7 UserCondition:用户查询实体

    属性名称 属性说明 类型 默认值

    UserName 用户名称 String String.Empty

    UserFullName 用户全名 String String.Empty

    UserEmail 邮件 String String.Empty

    UserSex 性别 String String.Empty

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 48 页 共 313 页

    UserNick 昵称 String String.Empty

    UserMobilePhone 移动电话 String String.Empty

    UserHomeAddress 家庭地址 String String.Empty

    UserHomePhone 家庭电话 String String.Empty

    UserHomePost 家庭邮编 String String.Empty

    UserLocked 帐号状态 String String.Empty

    UserDutyLevel 职级 String String.Empty

    UserDuty 职务 String String.Empty

    UserEmail 用户邮件 String String.Empty

    UserOfficePhone 办公电话 String String.Empty

    UserFax 传真 String String.Empty

    UserOfficeRoom 办公室 String String.Empty

    CardType 证件类型 String String.Empty

    CardNo 证件号 String String.Empty

    LogicMode 逻辑模式

    逻辑与: And

    逻辑或: Or

    LogicMode LogicMode.And

    MatchMode 匹配模式

    默认 Default=0,

    模糊匹配 Fuzzy,

    精确匹配 Strict

    MatchMode MatchMode.Default

    PageSize 每页返回记录数 Int32 15

    PageIndex 页索引 Int32 0

    SortDirection 排序方向

    升序 Asc=0,

    降序 Desc=1

    SortDirecti

    on

    SortDirection.Asc

    SortField 排序字段 String String.Empty

    2.2.3 用户登录验证

    接口原型:bool Login(string userUid, string password);

    功能描述:验证用户名和密码

    入口参数:

  • Beyondbit 配件库 应用开发指南

    ©上海互联网软件有限公司 第 49 页 共 313 页

    userUid:用户帐号

    password: 用户密码

    返回结果:

    返回 bool 值, true: 验证通过, false: 验证不通过

    调用示例:

    private bool Login()

    {

    string account = "zhangsan";

    string passWord = "123456";

    IUserBO userBO = ServiceFactory.CreateService();

    return userBO.Login(account, passWord);

    }

    2.2.4 根据 UID 获取用户基本信息

    接口原型:User GetUserInfo(string userUid);

    功能描述:根据 UID 获取用户基本信息 返回 User 实体对象

    入口参数:

    userUid:用户帐号

    返回结果:

    返回 User 对象

    调用示例�