Skip to main content

V-AppBase 相关问题

1. 如何修改登录页面的logo图片和底图?

登录配置中心,设置路径:配置中心 → 业务系统初始化配置 → 登录管理 → 登录管理 → 登录窗体管理

图片设置,包括:登录 LOGO 图片设置、登录背景轮播图片、首页 LOGO 图片设置。

img

前提

自定义 logo 和 背景图片 的前提,是选择的登录窗体和首页窗体为 vbase_prd_login 构件下的这几个窗体才生效。

img

img

2. 删除人员的API会把人员和机构,人员和岗位,人员和账号的关联一起删除吗??

问题描述:

删除人员的API会把人员和机构,人员和岗位,人员和账号的关联一起删除吗?

解决方案:

使用 vbase_organization.API_Biz_OrgDeleteUser 执行这个 API 删除人员,可以将人员对应的关联关系也一并执行删除,如人员与账号等关联关系。

img

最新版V-AppBase API接口设计文档

注:API有 Biz 标识的一般会执行到对应的关联关系。

3. 新版的流程菜单管理怎么设置的?

流程管理移到配置中心里设置,如下:

img

业务动作

打开流程菜单,默认是流程动作(新模式:流程与业务框架融合这种属性)。

如果是业务动作,设置类型为 “流程动作” 后,就在流程菜单中配置。

img

img

框架窗体

如果使用的是流程框架,选择的业务窗体,那么需点击 “高级设置” ,在打开的流程菜单高级设置中进行设置。

img

名词解释
  • 是否流程默认动作:流程启动时的菜单;
  • 是否活动默认动作:流程启动后,待办时的菜单。
注:修改默认动作配置后,必须重新启用流程定义或重启服务,才能生效。

4. 有最新的API接口说明吗?

最新版的API接口说明,并且支持模糊检索。

img

入口:学习中心 → 文档 → v-appbase → API文档最新版V-AppBase API接口设计文档

5. 流程变量里,判断分支表达式可以这样写区间吗?

img

解决方案:

不可以写区间的。

要改为 (#aaa>=-2000000) && (#aaa<=2000000)

6. 流程启动的时候报错了?

问题描述:

img

针对上述流程图设计,启动流程报错:

img

解决方案:

  • 这个流程定义,配置的有问题,怎么有多个结束环节呢?
  • 一个流程定义只能是一个开始,一个结束。
  • 删除2个结束节点,全部指向一个就行了。

7. 流程变量里,或逻辑这样写对吗?

img

解决方案:

  • 这个需要加括号 (XXX)||(XXX)。
  • 例如 (#aaa=="123")||(#bbb=="456")

8. 流程变量类型是字符串的,这样写等式对吗?

问题描述:

是用单引号?还是双引号?还是不用引号?

img

解决方案:

是用双引号,和开发平台配置一样。

9. 新版平台的登录窗体为什么不能选择自己开发的窗体了?

问题描述:

只能选产品登录窗体?

img

解决方案:

  1. 首先,在「待选登录窗体管理」中添加自定义的登录窗体。

img

  1. 在登录窗体设置中,即可选择自定义的登录页面。

img

10. 如何根据角色id获取上一级角色信息?

[案例下载]

引用构件:vbase_permission(VBase_权限管理API)

使用API:PermQueryRoleTree(查询角色树)

img

注:首先要明确的是,这个 API 返回的是树,nodeId 传入的 角色ID 是指从该节点加载本下的角色,根节点会返回空的,这个是这正常的。而且该 pid 有值的话也应该是上级的 树id,而不是 父角色ID。

所以,思路是使用参数includeRoleIds传入角色ID返回角色树,再根据关系进行过滤。新增一个构件方法getjuese(获取上一级角色),一共需要3个规则。

配置步骤:

1. 定义构件方法

img

根据PermQueryRoleTree(查询角色树)API参数定义构件方法的方法输入、方法输出、方法变量参数:

(1)方法输入

img

(2)方法输出

img

(3)方法变量

img

(4) 规则配置

① 执行方法_PermQueryRoleTree(查询角色树)

img

② 给界面实体/控件/变量赋值

img

③ 实体间复制记录

img

2. 效果演示

现有一个角色树,如下:

img

已知,开发工程师角色 id (8a819cbe7b2ee8e3017b3332c5502bb5)

在窗体中,添加按钮调用方法:getjuese(获取上一级角色),传入参数角色id,则返回上级角色:工程师。

img

11. 流程审批中,「作废」这个功能应该怎么实现?

问题描述:

如果需要使用流程审批中的“作废”功能,需要调用哪个API?

img

解决方案:

方法一:

API:vbase_workflow.WorkFlowChainStateChange(流程状态切换)

参数:ChangeState(切换状态)——作废参数 ChangeState 应设置为 Cancel

说明:Pause(暂停) / Resume(恢复) / Cancel(取消作废)

img

方法二:

审批中「作废」菜单,对应流程定义中的流程事件为 “流程取消后”,用户可以配置相关事件。

img

12. 回退后再提交,如何略过中间节点,直接提交到回退节点?

例如:在 “活动节点4” 回退给 “活动节点1” ,“活动节点1” 重新提交后,流程直接到 “活动节点4” 。

解决方案:

设置路径:配置中心 → 业务系统初始化配置 → 流程管理 → 流程定义 → 流程定义

打开流程定义页面,选中 “活动节点1” ,点击流转属性「对回退单处理」,勾选「原路返回给步骤实际执行人」,确定保存,启动流程。

img

13. 有哪个API可以获取到当前登录系统的人数吗?

APILoginComp.API_QueryAllLoginInfo(获取系统所有登录信息)

返回参数loginCount(登录用户总数)

img

info

LoginComp.API_QueryAllLoginInfo是获取所有的登陆信息。

如果同一个用户登陆后没有进行登出或者在不同的 IP 下进行登录的话,是会有重复数据的。

需要进行将重复的登录者ID进行过滤。

14. 流程的审批意见字数有长度限制?

那当然有长度了。

所有字段都有长度设置。

审批意见,默认长度是1000字,3000个字符。

15. 用户的密码忘记了,怎么解决?

可以使用重置密码的API,重置密码后,用户就可以登录系统,并且去修改密码。

  1. 重置密码API:API_ReSetAccountPwd(重置密码)

img

  1. 根据默认密码登录配置中心,设置路径:配置中心 → 业务系统初始化设置 → 登录管理 → 账户中心 → 安全设置

img

16. 系统密码复杂度在哪里设置的?

在配置中心设置系统密码复杂度。

设置路径:配置中心 → 业务系统初始化设置 → 登录管理 → 账户中心 → 安全设置

img

17. 待选菜单项要怎么添加?

问题描述:

在进行菜单关联时,选择菜单后,将弹出一个 “待选菜单项选择” 窗体,该窗体的数据是从哪里查的,部署之后里还是没有可以选择的构件和菜单?

img

解决方案:

这是方便前方实施人员工作,增加的功能。

由开发人员,负责把菜单增加到待选菜单项,因为只有开发人员可以从众多的窗体中选择到菜单对应的窗体。

前方的实施人员,只需要从待选菜单项里选择就可以了,无需了解全部窗体。

设置路径:配置中心 → 业务系统初始行配置 → 初始设置 → 待选数据 → 待选菜单项管理

img

18. 当前审批活动节点的下个节点是两个分支,当前活动节点的审批人可以选择走哪个分支吗?

问题描述:

就是不通过分支条件,由审批人去选分支。

img

解决方案:

可以的,用判断,但是不要写条件。

这样,人工1提交的时候,就会把 人工2-1和人工2-2,全部列出来,让你选择。

19. 有没有什么办法可以让用户免密登录的?

问题描述:

比如用户用手机号验证短信也通过了,系统自动帮他登录。

解决方案:

引用构件LoginComp(登录构件)

服务端APIAPI_Login(API_登入)

设置入参 accountIdaccountName 一一对应,就可以免密登录,并且可以获取登录信息。

img

20. 给流程的输入变量传固定的值格式应该怎么写?

问题描述:

给流程的输入变量传固定的值格式应该怎么写?

解决方案:

加个英文的双引号,就像表达式设置成字符串形式。

img

21. 在什么情况下,任务可以取回?

允许任务取回的条件要满足 2 点:

  1. 当前节点的下个节点是人工节点或者机器节点,当前节点才可以取回。
  2. 下个节点的没有打开此待办任务时,当前节点才可以取回。

那么不允许任务取回的场景有哪些呢?

例如:

  1. 当前节点的下个节点是“判断”节点,当前节点就不能取回。
  2. 当前节点把任务退回到上一节点,这时当前节点就不能取回。
注:调用 API 的话,入参请传已办任务ID

22. 有一个任务,怎么直接跳转到结束节点?

引用构件vbase_workflow(vbase_流程管理_API)

服务端APIWorkFlowChainTaskSkip(任务跳转)

入参 ProcessTaskId(流程任务ID)IsSkipToEndActivity(是否跳转到结束) 设置参数值 true

img

23. 判断流程的下一步是否为结束节点?

引用构件vbase_workflow_api(vbase_流程管理API)

服务端APIWorkFlowChainGetNextActivitiesInfo(获取可提交流程活动信息)

一般入参传 ProcessTaskId(任务ID) 就可以了。

如果这个节点有判断的话,就传流程变量,否则就无需。

img

返回值:ActivityCircEntity(活动流转信息实体)字段 activityType(活动类型)为 EndActivity 时,表示结束节点。

img

24. 获取当前登录账号的信息,用哪个API?

引用构件LoginComp(登录构件)

服务端APIAPI_QueryLoginInfo(API_查询登录信息)

img

25. 怎么获取历史审批意见?

引用构件:vbase_workflow(vbase_流程管理_API)

服务端API:API_GetProcessTask(API_获取流程任务信息)

img

返回值 auditOpinion(审批意见)

img

26. 获取某个已知角色下的所有用户?

引用构件:vbase_org_permission_rela(org与permission的关联构件)

服务端API:API_Biz_QueryUserByRoleId(根据角色Id获取授予该角色权限的人员)

img

返回值 :

img

27. 如何获取流程上下文数据?

引用构件vbase_workflow_api(vbase_流程管理API)

服务端APIAPI_GetWorkFlowEventContextData(API_获取流程上下文数据)——无入参

注:这个API仅可在事件中进行调用,其他地方调用无效。

img

28. 如何获取当前机构的用户信息?

引用构件vbase_organization(VBase_组织机构API)

服务端APIAPI_GetWorkFlowEventContextData(API_获取流程上下文数据)

img

只要传入当前登录用户的 orgId ,就可以获取所有的用户信息。

img

29. 判断流程任务能否提交、回退、取回?

引用构件vbase_workflow(vbase_流程管理_API)

服务端APIWorkFlowChainTaskDetermine(任务执行判断)

img

返回值:

img

30. 如何获取人员组织全路径?

引用构件vbase_organization(VBase_组织机构API)

服务端APIAPI_Biz_OrgQueryOrgOrPostNameByUser(根据用户查询所在机构或岗位名称)

img

返回值 orgOrPostName

img

img

31. 根据当前用户的机构ID查询他的上级机构的所有人员?

场景:

我是下属单位2的下属单位d的用户,我想查询出单位2的所有人员。

img

解决方案:

  1. 先查出当前登录用户的机构ID。

  2. 根据此机构ID,去查上级机构ID。

  3. 根据上级机构ID,去查所属人员列表。

  4. 下载:根据当前用户的机构ID查询它的上级机构的所有人员demo

img

32. 根据登录人所在部门,查询这个部门其他人员的id,岗位,职务什么的?

问题描述:

根据登录人所在部门,查询这个部门其他人员的id,岗位,职务什么的?

解决方案:

没有相关的业务 API,只有底层 API 。

根据当前登录者的机构 Id,然后根据机构 Id 查询对应的关联关系 orgId-postId-userId,dutyId-userId 去查找。

  1. 调用 logincomp.API_QueryLoginInfo 获取当前机构的所在机构ID:orgId,这里返回值有 isLogin(是否登录),一定要先判断 isLogin 为 true 并且 orgId 不空,才能执行以下逻辑。
  2. 调用 vbase_organization.OrgQueryOrg2Post,传入登录者的 orgId 获取机构与岗位关联关系,根据返回的 postId(可能有多个需要用“,”分隔)调用vbase_organization.OrgQueryPost 查询岗位信息。
  3. 调用 vbase_organization.OrgQueryPost2User,传入拿到的 postId 获取岗位与人员关联关系,根据返回的 userId(可能有多个需要用“,”分隔)调用vbase_organization.OrgQueryUser 查询用户信息。
  4. 调用 vbase_organization.OrgQueryDuty2User ,传入拿到的 userId 获取职务与人员关联关系,根据返回的 dutyId(可能有多个需要用“,”分隔)调用vbase_organization.OrgQueryDuty 查询职务信息。

33. WorkFlowChainProcessStartByCode按流程编号进行流程启动API,启动没成功,但是iscomplete返回true?

引用构件vbase_workflow(vbase_流程管理_API)

服务端APIWorkFlowChainProcessStartByCode(按流程编号进行流程启动)

要怎么判断它启动不成功呢?怎么根据返回值做相应业务?

解决方案:

这个 API 有个入参可设置异步执行还是同步执行。

默认是异步执行,异步执行时,返回的信息是在启动前返回的,过程有报错的话是没法反馈的。

如果想同步执行的话,就入参 IsAsynFalse

img

返回值:

img

注:同步执行性能不好,实际不建议,主要是流程启动比较耗时,等待时间较长。特别是有业务事件的时候。

34. 请问新版本如何关联菜单?

问题描述:

选择菜单关联,点击新增没有信息,选择菜单窗体关联则找不到自己新建的菜单目录。

img

解决方案:

这是方便前方实施人员工作,增加的功能。

由开发人员,负责把菜单增加到待选菜单项,因为只有开发人员可以从众多的窗体中选择到菜单对应的窗体。

前方的实施人员,只需要从待选菜单项里选择就可以了,无需了解全部窗体。

设置路径:配置中心 → 业务系统初始行配置 → 初始设置 → 待选数据 → 待选菜单项管理

img

35. 微信企业号?

银弹谷微信企业号,请查看附件。

下载:微信企业号常见问题.pdf

36. 微信公众号?

银弹谷微信公众号,请查看附件。

img

下载:微信公众号常见问题

37. 移动端流程框架demo?

38. 将菜单树加载到顶栏菜单demo?

39. 动态维度demo?

40. 开始节点后接判断节点传给对应的活动节点?

41. 多套组织机构?

42. 服务构件存放目录?

产品清单构件目录

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

整体升级的话会把旧版本的构件删除,替换为新的,还原成原来的状态比较难。

43. 流程V-AppBase框架维度菜单制作?

44. 自定义执行人函数?

45. 组织机构前事件后事件?