《2022年JBPM数据库表说明 .pdf》由会员分享,可在线阅读,更多相关《2022年JBPM数据库表说明 .pdf(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、JBPM 数据库表说明1 流程配置类数据库表:1.1 JBPMJBPM_PROCESSDEFINITION_PROCESSDEFINITION:流程:流程模版模版模版表表字段名字段含义主键外键ID_流程模版标识NAME_流程模版名称VERSION_流程模版版本,对于同一流程模版,多次插入数据库时,数据库中有多条记录,每条记录中的版本号一次增加ISTERMINATIONIMPLICIT_是否支持强行终止流程(目前理解)STARTSTATE_起 始节点ID,在JBPM_NODE 表中1.2 JBPMJBPM_NODE_NODE :流程节点表字段名字段含义主键外键ID_流程节点标识CLASS_节点类
2、型:C:org.jbpm.graph.node.ProcessStateD:org.jbpm.graph.node.DecisionE:org.jbpm.graph.node.EndStateF:org.jbpm.graph.node.ForkJ:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 20 页 - - - - - - - - - org.jbpm.graph.node.JoinK:org.jbpm.graph.node.TaskNodeN:org.jbpm.gr
3、aph.def.NodeR:org.jbpm.graph.node.StartStateS:org.jbpm.graph.node.StateU:org.jbpm.graph.def.SuperStateNAME_流程节点名称SUBPROCESSDEFINITION_节 点 类 型 为 ProcessState时使用, 代表子流程模版idISASYNC_节点是否支持异步机制ACTION_节点中指定的action ,对应JBPM_ACTION 表SUPERSTATE_节点对应的SuperState 的id ,表明该节点属于某个SuperStatePROCESSDEFINITION_节点所在的流程
4、模版idDECISIONDELEGATION节点类型为Decision 时使用,表明 Decision 对应的代理类,对应JBPM_DELEGATION 表DECISIONEXPRESSION_节点类型为Decision 时使用,该属性表示Decision 中使用的判断表达式SIGNAL_节点类型为TaskCREATETASKS_节点类型为TaskENDTASKS_节点类型为TaskNODECOLLECTIONINDEX_节点类型为SuperState 时使用,1.3 JBPMJBPM_TRANSITION_TRANSITION:流程迁移表字段名字段含义主键外键名师资料总结 - - -精品资料
5、欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 20 页 - - - - - - - - - ID_流程迁移标识NAME_流程迁移名称PROCESSDEFINITION_迁移所在的流程模版idFROM_迁移来源,对应Node 的 idTO_迁移目的,对应Node 的 idFROMINDEX_?1.4 JBPM_ACTION:流程动作表字段名字段含义主键外键ID_流程动作标识NAME_流程动作名称CLASS_流程动作分类:A(动作) :org.jbpm.graph.def.ActionS(脚本) :org
6、.jbpm.graph.action.ScriptC(创建定时器):org.jbpm.scheduler.def.CreateTimerActionI (取消定时器) :org.jbpm.scheduler.def.CancelTimerActionISPROPAGATIONALLOWED_?ACTIONEXPRESSION_动作类行为I 时使用,表示动作执行的脚本ISASYNC_动作是否支持异步机制REFERENCEDACTION_动作中引用的动作,对应JBPM_ACTIONACTIONDELEGATION_动作类型为A 时使用, 表示动作执行的代理类,对应JBPM_DELEGATIONEV
7、ENT_动作中指定的事件,对应JBPM_EVENTPROCESSDEFINITION_动作所在的流程模版idTIMERNAME_定时器名称DUEDATE_定时器间隔时间名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 20 页 - - - - - - - - - REPEAT_定时器动作执行次数TRANSITIONNAME_动 作 指 定 后 指 向 的TransitionTIMERACTION_定时器动作代理类,对应JBPM_ACTIONEXPRESSION_定时器执行表
8、达式EVENTINDEX_?EXCEPTIONHANDLER_异常处理类,对应JBPM_EXCEPTIONHANDLEREXCEPTIONHANDLERINDEX_?1.5 JBPM_EVENT :流程事件表字段名字段含义主键外键ID_流程事件标识EVENTTYPE_流程事件类型名称TYPE_流程事件所在的图形节点类型A:TaskC :ProcessStateD:DecisionE :EndStateF:ForkJ :JoinK:TaskNodeN:NodeP :ProcessDefinitionR :StartStateS :StateT:TransitionU:SuperStateGRAP
9、HELEMENT_流程事件所在的图形节点的 IDPROCESSDEFINITION_流程事件所属流程定义,对应JBPM_PROCESSDEFINITIONNODE_流程事件所属节点,对应JBPM_NODETRANSITION_流程事件所属迁移,对应名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 20 页 - - - - - - - - - JBPM_ TRANSITIONTASK_流程事件所属任务,对应JBPM_TASK1.6 JBPM_DELEGATION:流程代理类表
10、流程代理类表( (用于实例化 jbpm中的action类)字段名字段含义主键外键ID_流程代理标识CLASSNAME_流程代理类名称CONFIGURATION_流程代理类配置信息CONFIGTYPE_流程代理类配置类型PROCESSDEFINITION_流程代理类所属流程定义,对应JBPM_PROCESSDEFINITION1.7 JBPM_TASK :流程任务表字段名字段含义主键外键ID_流程任务标识NAME_流程任务名称PROCESSDEFINITION_流程任务所属流程定义,对应JBPM_PROCESSDEFINITIONDESCRIPTION_流程任务描述ISBLOCKING_任务是否
11、为阻塞 (任务不完成、流程不能继续)ISSIGNALING_任务是否可以驱动TOKENDUEDATE任务持续时间, 表明任务应在多长时间内完成ACTORIDEXPRESSION?POOLEDACTORSEXPRESSION?名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 20 页 - - - - - - - - - TASKMGMTDEFINITION_任务所属的任务管理模块ID,对应JBPM_MODULEDEFIFNITIONTASKNODE_任务所属的TASK_NOD
12、E,对应 JBPM_NODESTARTSTATE任务所属的START_NODE,对应 JBPM_NODEASSIGNMENTDELEGATION?SWIMLANE执行该任务的泳道(角色)TASKCONTROLLER_?1.8 JBPM_TASKCONTROLLER:流程任务控制器字段名字段含义主键外键ID_流程任务控制器标识TASKCONTROLLERDELEGATION_流程任务控制器对应的代理,对应JBPM_DELEGATION1.9 JBPM_VARIABLEACCESS:流程变量表字段名字段含义主键外键ID_流程变量标识VARIABLENAME_流程变量名称ACCESS_流程变量存取方
13、式MAPPEDNAME?(暂时不使用)PROCESSSTATE流程变量所属的流程节点,对应 JBPM_NODETASKCONTROLLER流程变量所属的流程任务控 制 器 , 对 应JBPM_TASKCONTROLLERINDEX_?SCRIPT流程变量所属的ACTION ,对应 JBPM_ ACTION名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 20 页 - - - - - - - - - 1.10 JBPM_MODULEDEFINITION:流程模块定义表字段名字
14、段含义主键外键ID_流程模块标识CLASS_流程模块类型:M :org.jbpm.module.def.ModuleDefinitionC :org.jbpm.context.def.ContextDefinitionF :org.jbpm.file.def.FileDefinitionL:org.jbpm.logging.def.LoggingDefinitionI:org.jbpm.scheduler.def.SchedulerDefinitionT:org.jbpm.taskmgmt.def.TaskMgmtDefinitionNAME_流程模块名称PROCESSDEFINITION_流
15、程模块所属流程定义,对应JBPM_PROCESSDEFINITIONSTARTTASK类 型 为 T 时 使 用 , 对 应JBPM_TASK1.11JBPM_EXCEPTIONHANDLER:流程异常处理器表字段名字段含义主键外键ID_流程异常处理器标识EXCEPTIONHANDLERNAME_流程异常处理器名称名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 20 页 - - - - - - - - - TYPE_流程异常处理器所在的图形节点类型A:TaskC :Pro
16、cessStateD:DecisionE :EndStateF:ForkJ :JoinK:TaskNodeN:NodeP :ProcessDefinitionR:StartStateS :StateT:TransitionU:SuperStateGRAPHELEMENT_流程异常处理器所在的图形节点的 IDPROCESSDEFINITION_流程异常处理器所属流程定义,对应JBPM_PROCESSDEFINITIONNODE_流程异常处理器所属节点,对应 JBPM_NODETRANSITION_流程异常处理器所属迁移,对应 JBPM_ TRANSITIONTASK_流程异常处理器所属任务,对应
17、 JBPM_TASKGRAPHELEMENTINDEX_流程异常处理器中包含的ACTION 集合的索引(?)1.12 JBPM_DECISIONCONDITION:DECISION节点判断条件表字段名字段含义主键外键INDEX_标识DECISION_所 属 的 DECISION , 对 应JBPM_NODETRANSITIONNAME_DECISION 节点的 “ 离开节点名称 ”EXPRESSION每一个 “ 离开节点名称 ” 对应名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8
18、 页,共 20 页 - - - - - - - - - 的条件表达式1.13 JBPM_ SWINLANE :DECISION节点判断条件表字段名字段含义主键外键ID_标识NAME_泳道名称TRANSITIONNAME_DECISION 节点的 “ 离开节点名称 ”EXPRESSION每一个 “ 离开节点名称 ” 对应的条件表达式2 流程运行类数据库表:2.1 JBPM_PROCESSINSTANCE:流程实例表字段名字段含义主键外键ID_标识VERSION_版本START_流程实例开始时间END_流程实例结束时间ISSUSPENDED流程实例是否暂停PROCESSDEFINITION_流程实
19、例所属的流程模版,对应JBPM_PROCESSDEFINITIONROOTTOKEN_流程实例对应的TOKEN,对应 JBPM_TOKENSUPERPROCESSTOKEN_父 流 程 的 当 前 TOKEN 的ID ,当流程实例为子流程实例时使用, 表明由父流程进入子流程时, 父流程的当前TOKEN。 对应 JBPM_TOKEN名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 20 页 - - - - - - - - - 2.2 JBPM_TOKEN :流程 TOKEN
20、表字段名字段含义主键外键ID_标识VERSION_版本START_TOKEN 开始时间END_TOKEN 结束时间NODEENTER_TOKEN进 入 当 前 节 点(TOKEN 当前所处的节点)的时间NEXTLOGINDEX_?ISABLETOREACTIVATEPARENT_能否重新激活父TOKEN 标志ISTERMINATIONIMPLICIT_能够强制终止TOKEN 标志ISSUSPENDED_TOKEN 是否处于暂停状态NODE_TOKEN 所在的当前节点,对应 JBPM_NODEPROCESSINSTANCE_TOKEN 所属的流程实例,对应JBPM_PROCESSINSTANCE
21、PARENT_TOKEN 的 父 TOKEN , 当TOKEN 是由 fock 产生或处于子流程中时使用,对应JBPM_TOKEN2.3 JBPM_LOG :流程日志表字段名字段含义主键外键ID_标识CLASS_日志类型:A:ActionLogB:ByteArrayUpdateLogC:CompositeLogD:VariableDeleteLogE:DateUpdateLogF:HibernateStringUpdat名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 2
22、0 页 - - - - - - - - - eLogG:LongUpdateLogH:HibernateLongUpdateLogI:ProcessInstanceCreateLogL:DoubleUpdateLogM:MessageLogN:NodeLogO:TokenCreateLogP:ProcessLogR:VariableCreateLogS:SignalLogT:TransitionLogU:StringUpdateLogV:VariableLogW:VariableUpdateLogX:ProcessInstanceEndLogY:TokenEndLog0:TaskLog1:Ta
23、skCreateLog2:TaskAssignLog3:TaskEndLog4:SwimlaneLog5:SwimlaneCreateLog6:SwimlaneAssignLogINDEX_?DATE_日志产生时间TOKEN _日志所属 TOKENPARENT_日 志 的 父 日 志 , 对 应JBPM_LOGCHILD_创 建 的 子 TOKEN , 对 应TokenCreateLog结 束 的 子 TOKEN , 对 应TokenEndLogMESSAGE_消息信息, 当日志类型为M(MessageLog)时使用EXCEPTION_日 志 异 常 信 息 , 对 应ActionLogACT
24、ION_日志所属ACTION,当日志名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 20 页 - - - - - - - - - 类型为 A(ActionLog)时使用NODE_日志所属 NODE,当日志类型为 N(NodeLog)时使用ENTER_进 入 节 点 时 间 , 对 应NodeLogLEAVE_离 开 节 点 时 间 , 对 应NodeLogDURATION_节 点 停 留 时 间 , 对 应NodeLogTRANSITION_日志所属 TRANSITIO
25、NSOURCENODE_TRANSITION 的起点, 对应TransitionLogDESTINATIONNODE_TRANSITION 的终点, 对应TransitionLogVARIABLEINSTANCE_日志所属的流程变量实例,对应VariableLogOLDBYTEARRAY_原 BYTEARRAY 值 , 对 应ByteArrayUpdateLogNEWBYTEARRAY新 BYTEARRAY 值 , 对 应ByteArrayUpdateLogOLDDATEVALUE原DATE值,对应DateUpdateLogNEWDATEVALUE新DATE值,对应DateUpdateLogO
26、LDDOUBLEVALUE_原DOUBLE值 , 对 应DoubleUpdateLogNEWDOUBLEVALUE_新DOUBLE值 , 对 应DoubleUpdateLogOLDLONGIDCLASS_原 LONGIDCLASS 值,对应HibernateLongUpdateLogNEWLONGIDCLASS_新 LONGIDCLASS 值,对应HibernateLongUpdateLogOLDLONGIDVALUE_原LONGID值 , 对 应HibernateLongUpdateLogNEWLONGIDVALUE_新LONGID值 , 对 应HibernateLongUpdateLogO
27、LDSTRINGIDCLASS_原 STRINGIDCLASS 值,对应HibernateStringUpdat名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 20 页 - - - - - - - - - eLogOLDSTRINGIDVALUE_原STRINGID值 , 对 应HibernateStringUpdateLogNEWSTRINGIDCLASS_新 STRINGIDCLASS 值,对应HibernateStringUpdateLogNEWSTRINGIDV
28、ALUE_新STRINGID值 , 对 应HibernateStringUpdateLogOLDLONGVALUE_原LONG值,对应LongUpdateLogNEWLONGVALUE_新LONG值,对应LongUpdateLogOLDSTRINGVALUE_原STRING值 , 对 应StringUpdateLogNEWSTRINGVALUE_新STRING值 , 对 应StringUpdateLogTASKINSTANCE_日志所属的TASKINSTANCE,对应TaskLogTaskCreateLogTaskAssignLogTaskEndLogTASKACTORID_任务的新ACTOR
29、ID ,对应TaskAssignLogTaskCreateLogSwimlaneCreateLogSwimlaneAssignLogTASKOLDACTORID_任务的原ACTORID ,对应TaskAssignLogSwimlaneAssignLogSWIMLANEINSTANCE_日志所属的SWIMLANEINSTANC ,对应SwimlaneLogSwimlaneCreateLogSwimlaneAssignLog2.4 JBPM_RUNTIMEACTION:流程实时 ACTION 表名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - -
30、 - - 名师精心整理 - - - - - - - 第 13 页,共 20 页 - - - - - - - - - 字段名字段含义主键外键ID_标识VERSION_版本EVENTTYPE_实时 ACTION 所处的事件类型名称TYPE_实时 ACTION 所在的图形节点类型A:TaskC :ProcessStateD:DecisionE :EndStateF:ForkJ :JoinK:TaskNodeN:NodeP :ProcessDefinitionR :StartStateS :StateT:TransitionU:SuperStateGRAPHELEMENT_实时 ACTION 所在的图
31、形节点的 IDPROCESSINSTANCE_实时 ACTION 所在的流程实例,对应JBPM_PROCESSINSTANCEACTION_实 时ACTION对 应 的ACTION,对应JBPM_ACTIONPROCESSINSTANCEINDEX_?2.5 JBPM_VARIABLEINSTANCE:流程变量实例表字段名字段含义主键外键ID_标识CLASS_变量类型:V :org.jbpm.context.exe.VariableInstanceB :org.jbpm.context.exe名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - -
32、- - - 名师精心整理 - - - - - - - 第 14 页,共 20 页 - - - - - - - - - .variableinstance.ByteArrayInstanceD :org.jbpm.context.exe.variableinstance.DateInstanceO :org.jbpm.context.exe.variableinstance.DoubleInstanceH :org.jbpm.context.exe.variableinstance.HibernateLongInstanceI:org.jbpm.context.exe.variableinsta
33、nce.HibernateStringInstanceL:org.jbpm.context.exe.variableinstance.LongInstanceS:org.jbpm.context.exe.variableinstance.StringInstanceN:org.jbpm.context.exe.variableinstance.NullInstanceNAME_变量名称TYPE_?CONVERTER_数值转换器TOKEN_变量所在的TOKEN,对应JBPM_TOKENTOKENVARIABLEMAP_该变量所属的TOKEN 的变量映射,对应JBPM_TOKENVARIABLEM
34、APPROCESSINSTANCEINDEX_?PROCESSINSTANCE_变量所在的流程实例,对应JBPM_PROCESSINSTANCE名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 20 页 - - - - - - - - - BYTEARRAYVALUE_当流程变量是ByteArray 类型 时 , 变 量 的 值 , 对 应JBPM_BYTEARRAYDATEVALUE_当 流程 变量 是 DATE 类 型时,变量的值DOUBLEVALUE_当流程变量是D
35、OUBLE 类型时,变量的值LONGIDCLASS_当流程变量是了HibernateLongInstance类型时,变量的类型LONGVALUE_当流程变量是了HibernateLongInstance/Long 类型时,变量的值STRINGIDCLASS_当流程变量是了HibernateStringInstance类型时,变量的类型STRINGVALUE_当流程变量是了HibernateStringInstance/String 类型时,变量的值TASKINSTANCE_变量所在的任务实例,对应JBPM_TASKINSTANCE2. 2.6 6 JBPM_JBPM_COMMENTCOMMEN
36、T :流程:流程备注信息备注信息备注信息表 表字段名字段含义主键外键ID_标识VERSION_版本ACTORID_产生该备注的ACTORTIME_流程备注产生时间MESSAGE_流程备注信息TOKEN_流程备注所属的TOKEN,对应 JBPM_TOKENTASKINSTANCE_流程备注所属的TASKINSTANCE ,对应JBPM_TASKINSTANCETOKENINDEX_?TASKINSTANCEINDEX_?名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 20
37、 页 - - - - - - - - - 2. 2.7 7 JBPM_JBPM_MESSAGEMESSAGE :流程:流程异步消息异步消息异步消息表 表字段名字段含义主键外键ID_标识CLASS_消息类型M :org.jbpm.msg.MessageT :org.jbpm.msg.db.TextMessageA :mand.ExecuteActionCommandN :mand.ExecuteNodeCommandS:mand.SignalCommandK:mand.TaskInstanceEndCommandDESTINATION_消息目的源EXCEPTION_消息异常信息ISSUSPEND
38、ED_?TOKEN_流程消息所属的TOKEN,对应 JBPM_TOKENTASKINSTANCE_流程消息所属的TASKINSTANCE ,对应JBPM_TASKINSTANCETEXT_消息内容ACTION_流程消息所属的ACTION ,对应 JBPM_ ACTIONNODE_流程消息所属的NODE,对应 JBPM_ NODETRANSITIONNAME_?名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 20 页 - - - - - - - - - 2. 2.8 8
39、JBPM_JBPM_TIMERTIMER :流程:流程定时器定时器定时器表表字段名字段含义主键外键ID_标识NAME_定时器名称DUEDATE_定时器每次执行的间隔时间REPEAT_定时器是否重复执行TRANSITIONNAME_定时器执行后, 流程的目的TRANSITION 名称EXCEPTION_流程备注所属的TOKEN,对应 JBPM_TOKENISSUSPENDED_ACTION_定时器所属的ACTION ,对应 JBPM_ ACTIONTOKEN_定时器所属的TOKEN,对应 JBPM_ TOKENPROCESSINSTANCE_定时器所属的PROCESSINSTANCE,对应JBP
40、M_PROCESSINSTANCETASKINSTANCE_定时器所属的TASKINSTANCE ,对应JBPM_TASKINSTANCEGRAPHELEMENTTYPE_定时器所属的图形元素类型GRAPHELEMENT_定时器所属的图形元素2. 2.9 9 JBPM_TOKENVARIABLEMAP:流程 TOKEN 变量 MAP 表字段名字段含义主键外键ID_标识TOKEN_流程 TOKEN 变量映射所属的TOKEN,对应JBPM_TOKENCONTEXTINSTANCE_流程 TOKEN 变量映射所属的流程上下文实例,对应JBPM_MODULEINSTANCE名师资料总结 - - -精品
41、资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 20 页 - - - - - - - - - 2. 2.1010 JBPM_MODULEINSTANCE:流程:流程模块实例模块实例模块实例表 表字段名字段含义主键外键ID_标识CLASS_模块实例类型:M:org.jbpm.module.exe.ModuleInstanceC:org.jbpm.context.exe.ContextInstanceL:org.jbpm.logging.exe.LoggingInstanceI:org.jbpm.sc
42、heduler.exe.SchedulerInstanceT:org.jbpm.taskmgmt.def.TaskMgmtDefinitionPROCESSINSTANCE_模块实例所属的流程实例,对应JBPM_PROCESSINSTANCETASKMGMTDEFINITION_任务类模块实例所属的任务模块,对应JBPM_MODULEDEFINITIONNAME_模块实例名称2. 2.1111 JBPM_BYTEARRAY:文件模块形式的流程变量实例表字段名字段含义主键外键ID_标识NAME_流程变量名称FILEDEFINITION_FILEMODULE,对应JBPM_MODULEDEFINI
43、TION名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 20 页 - - - - - - - - - 2. 2.1212 JBPM_BYTEBLOCK :字段名字段含义主键外键PROCESSFILE_对应 JBPM_BYTEARRAYBYTES_序列化流程变量INDEX_标识名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 20 页 - - - - - - - - -