V-AppBase 相关问题
登录配置中心,设置路径:配置中心 → 业务系统初始化配置 → 登录管理 → 登录管理 → 登录窗体管理
图片设置,包括:登录 LOGO 图片设置、登录背景轮播图片、首页 LOGO 图片设置。
前提自定义 logo 和 背景图片 的前提,是选择的登录窗体和首页窗体为
vbase_prd_login
构件下的这几个窗体才生效。
问题描述:
删除人员的API会把人员和机构,人员和岗位,人员和账号的关联一起删除吗?
解决方案:
使用
注:API有 Biz 标识的一般会执行到对应的关联关系。vbase_organization.API_Biz_OrgDeleteUser
执行这个 API 删除人员,可以将人员对应的关联关系也一并执行删除,如人员与账号等关联关系。
最新版的API接口说明,并且支持模糊检索。
入口:学习中心 → 文档 → v-appbase → API文档 → 最新版V-AppBase API接口设计文档
问题描述:
针对上述流程图设计,启动流程报错:
解决方案:
- 这个流程定义,配置的有问题,怎么有多个结束环节呢?
- 一个流程定义只能是一个开始,一个结束。
- 删除2个结束节点,全部指向一个就行了。
[案例下载]
引用构件:
vbase_permission(VBase_权限管理API)
使用API:
注:首先要明确的是,这个 API 返回的是树,nodeId 传入的 角色ID 是指从该节点加载本下的角色,根节点会返回空的,这个是这正常的。而且该 pid 有值的话也应该是上级的 树id,而不是 父角色ID。PermQueryRoleTree(查询角色树)
所以,思路是使用参数includeRoleIds传入角色ID返回角色树,再根据关系进行过滤。新增一个构件方法getjuese(获取上一级角色),一共需要3个规则。
配置步骤:
1. 定义构件方法
根据
PermQueryRoleTree(查询角色树)
API参数定义构件方法的方法输入、方法输出、方法变量参数:(1)方法输入
(2)方法输出
(3)方法变量
(4) 规则配置
① 执行方法_PermQueryRoleTree(查询角色树)
② 给界面实体/控件/变量赋值
③ 实体间复制记录
2. 效果演示
现有一个角色树,如下:
已知,开发工程师角色
id
(8a819cbe7b2ee8e3017b3332c5502bb5)在窗体中,添加按钮调用方法:
getjuese(获取上一级角色)
,传入参数角色id,则返回上级角色:工程师。
问题描述:
如果需要使用流程审批中的“作废”功能,需要调用哪个API?
解决方案:
方法一:
API:
vbase_workflow.WorkFlowChainStateChange(流程状态切换)
参数:ChangeState(切换状态)——作废参数 ChangeState 应设置为
Cancel
说明:
Pause(暂停)
/Resume(恢复)
/Cancel(取消作废)
方法二:
审批中「作废」菜单,对应流程定义中的流程事件为 “流程取消后”,用户可以配置相关事件。
例如:在 “活动节点4” 回退给 “活动节点1” ,“活动节点1” 重新提交后,流程直接到 “活动节点4” 。
解决方案:
设置路径:配置中心 → 业务系统初始化配置 → 流程管理 → 流程定义 → 流程定义
打开流程定义页面,选中 “活动节点1” ,点击流转属性「对回退单处理」,勾选「原路返回给步骤实际执行人」,确定保存,启动流程。
API:
LoginComp.API_QueryAllLoginInfo(获取系统所有登录信息)
返回参数:
loginCount(登录用户总数)
info
LoginComp.API_QueryAllLoginInfo
是获取所有的登陆信息。如果同一个用户登陆后没有进行登出或者在不同的 IP 下进行登录的话,是会有重复数据的。
需要进行将重复的登录者ID进行过滤。
可以使用重置密码的API,重置密码后,用户就可以登录系统,并且去修改密码。
- 重置密码API:
API_ReSetAccountPwd(重置密码)
- 根据默认密码登录配置中心,设置路径:配置中心 → 业务系统初始化设置 → 登录管理 → 账户中心 → 安全设置
问题描述:
在进行菜单关联时,选择菜单后,将弹出一个 “待选菜单项选择” 窗体,该窗体的数据是从哪里查的,部署之后里还是没有可以选择的构件和菜单?
解决方案:
这是方便前方实施人员工作,增加的功能。
由开发人员,负责把菜单增加到待选菜单项,因为只有开发人员可以从众多的窗体中选择到菜单对应的窗体。
前方的实施人员,只需要从待选菜单项里选择就可以了,无需了解全部窗体。
设置路径:配置中心 → 业务系统初始行配置 → 初始设置 → 待选数据 → 待选菜单项管理
问题描述:
就是不通过分支条件,由审批人去选分支。
解决方案:
可以的,用判断,但是不要写条件。
这样,人工1提交的时候,就会把 人工2-1和人工2-2,全部列出来,让你选择。
问题描述:
比如用户用手机号验证短信也通过了,系统自动帮他登录。
解决方案:
引用构件:
LoginComp(登录构件)
服务端API:
API_Login(API_登入)
设置入参
accountId
和accountName
一一对应,就可以免密登录,并且可以获取登录信息。
允许任务取回的条件要满足 2 点:
- 当前节点的下个节点是人工节点或者机器节点,当前节点才可以取回。
- 下个节点的没有打开此待办任务时,当前节点才可以取回。
那么不允许任务取回的场景有哪些呢?
例如:
注:调用 API 的话,入参请传已办任务ID
- 当前节点的下个节点是“判断”节点,当前节点就不能取回。
- 当前节点把任务退回到上一节点,这时当前节点就不能取回。
引用构件:
vbase_workflow(vbase_流程管理_API)
服务端API:
WorkFlowChainTaskSkip(任务跳转)
入参
ProcessTaskId(流程任务ID)
,IsSkipToEndActivity(是否跳转到结束)
设置参数值true
。
引用构件:
vbase_workflow_api(vbase_流程管理API)
服务端API:
WorkFlowChainGetNextActivitiesInfo(获取可提交流程活动信息)
一般入参传
ProcessTaskId(任务ID)
就可以了。如果这个节点有判断的话,就传流程变量,否则就无需。
返回值:ActivityCircEntity(活动流转信息实体)字段 activityType(活动类型)为 EndActivity 时,表示结束节点。
引用构件:
vbase_workflow(vbase_流程管理_API)
服务端API:
API_GetProcessTask(API_获取流程任务信息)
返回值
auditOpinion(审批意见)
:
引用构件:
vbase_org_permission_rela(org与permission的关联构件)
服务端API:
API_Biz_QueryUserByRoleId(根据角色Id获取授予该角色权限的人员)
返回值 :
引用构件:
vbase_workflow_api(vbase_流程管理API)
服务端API:
注:这个API仅可在事件中进行调用,其他地方调用无效。API_GetWorkFlowEventContextData(API_获取流程上下文数据)
——无入参
引用构件:
vbase_organization(VBase_组织机构API)
服务端API:
API_GetWorkFlowEventContextData(API_获取流程上下文数据)
只要传入当前登录用户的
orgId
,就可以获取所有的用户信息。
引用构件:
vbase_workflow(vbase_流程管理_API)
服务端API:
WorkFlowChainTaskDetermine(任务执行判断)
返回值:
引用构件:
vbase_organization(VBase_组织机构API)
服务端API:
API_Biz_OrgQueryOrgOrPostNameByUser(根据用户查询所在机构或岗位名称)
返回值
orgOrPostName
:
场景:
我是下属单位2的下属单位d的用户,我想查询出单位2的所有人员。
解决方案:
先查出当前登录用户的机构ID。
根据此机构ID,去查上级机构ID。
根据上级机构ID,去查所属人员列表。
问题描述:
根据登录人所在部门,查询这个部门其他人员的id,岗位,职务什么的?
解决方案:
没有相关的业务 API,只有底层 API 。根据当前登录者的机构 Id,然后根据机构 Id 查询对应的关联关系 orgId-postId-userId,dutyId-userId 去查找。
- 调用
logincomp.API_QueryLoginInfo
获取当前机构的所在机构ID:orgId
,这里返回值有isLogin(是否登录)
,一定要先判断 isLogin 为 true 并且 orgId 不空,才能执行以下逻辑。- 调用
vbase_organization.OrgQueryOrg2Post
,传入登录者的orgId
获取机构与岗位关联关系,根据返回的postId
(可能有多个需要用“,”分隔)调用vbase_organization.OrgQueryPost
查询岗位信息。- 调用
vbase_organization.OrgQueryPost2User
,传入拿到的postId
获取岗位与人员关联关系,根据返回的userId
(可能有多个需要用“,”分隔)调用vbase_organization.OrgQueryUser
查询用户信息。- 调用
vbase_organization.OrgQueryDuty2User
,传入拿到的userId
获取职务与人员关联关系,根据返回的dutyId
(可能有多个需要用“,”分隔)调用vbase_organization.OrgQueryDuty
查询职务信息。
引用构件:
vbase_workflow(vbase_流程管理_API)
服务端API:
WorkFlowChainProcessStartByCode(按流程编号进行流程启动)
要怎么判断它启动不成功呢?怎么根据返回值做相应业务?
解决方案:
这个 API 有个入参可设置异步执行还是同步执行。
默认是异步执行,异步执行时,返回的信息是在启动前返回的,过程有报错的话是没法反馈的。
如果想同步执行的话,就入参
IsAsyn
传False
。返回值:
注:同步执行性能不好,实际不建议,主要是流程启动比较耗时,等待时间较长。特别是有业务事件的时候。
问题描述:
选择菜单关联,点击新增没有信息,选择菜单窗体关联则找不到自己新建的菜单目录。
解决方案:
这是方便前方实施人员工作,增加的功能。
由开发人员,负责把菜单增加到待选菜单项,因为只有开发人员可以从众多的窗体中选择到菜单对应的窗体。
前方的实施人员,只需要从待选菜单项里选择就可以了,无需了解全部窗体。
设置路径:配置中心 → 业务系统初始行配置 → 初始设置 → 待选数据 → 待选菜单项管理
银弹谷微信企业号,请查看附件。
下载:微信企业号常见问题.pdf 。
银弹谷微信公众号,请查看附件。
下载:微信公众号常见问题 。
下载:移动端流程框架demo.zip 。
下载:将菜单树加载到顶栏菜单demo.zip 。
下载:动态维度demo.zip 。
下载:多套组织机构操作文档.pdf 。
产品清单构件目录
E:\打包测试环境\测试库\test2018-03-29_DevSystem\Runtime\bundle\extensions\vplatform
产品升级构件报告目录
E:\打包测试环境\服务器版\release_mysql_V3EXE8080\updatereport
补丁目录
E:\打包测试环境\测试库\test2018-03-29_DevSystem\Runtime\bundle\patch
加载目录文件:
vcore-runtime.properties
修改服务端口:
vcore-config.properties
E:\打包测试环境\服务器版\release_mysql_V3EXE8080\conf
清单目录
E:\打包测试环境\测试库\test2018-03-29_DevSystem\Runtime\productconfig
整体升级的话会把旧版本的构件删除,替换为新的,还原成原来的状态比较难。
下载:流程vbase框架维度菜单制作.pdf 。
下载:自定义执行人函数使用手册.zip 。
下载:组织机构前事件后事件使用文档.pdf 。