在宜搭(Yida)流程设计中,脚本节点(也称“服务节点”或“自定义代码节点”)可以通过宜搭提供的上下文对象来获取当前流程的审批人信息。
获取审批人信息的具体方法取决于你的流程配置(如审批人是固定人员、角色、还是动态指定等),但通常可以通过 ctx(上下文)对象来实现。
以下是常见的获取方式和示例:
✅ 方法一:通过 ctx.task 获取当前任务信息
在脚本节点中,ctx.task 包含了当前流程任务的详细信息,包括审批人。
// 获取当前任务的审批人信息
var task = ctx.task;
// 获取审批人用户ID(工号或账号ID)
var assigneeUserId = task.getAssignee();
// 获取审批人姓名(需通过用户ID查询用户信息)
var userService = ctx.getUserService();
var assigneeUser = userService.getUserById(assigneeUserId);
if (assigneeUser) {
    var assigneeName = assigneeUser.getName(); // 审批人姓名
    console.log("当前审批人姓名: " + assigneeName);
    console.log("当前审批人ID: " + assigneeUserId);
} else {
    console.log("未找到审批人信息");
}✅ 方法二:获取候选人(Candidate Users)
如果审批节点配置为“候选人”(如多个人可审批),可以获取候选人列表:
var task = ctx.task;
var candidateUsers = task.getCandidateUsers(); // 返回用户ID数组
var userService = ctx.getUserService();
for (var i = 0; i < candidateUsers.length; i++) {
    var user = userService.getUserById(candidateUsers[i]);
    if (user) {
        console.log("候选人: " + user.getName() + " (" + user.getId() + ")");
    }
}✅ 方法三:获取上一节点的审批人(历史任务)
如果需要获取上一个审批节点的处理人:
var historyTasks = ctx.getHistoricTaskInstances(); // 获取历史任务列表
// 通常最后一个完成的任务是上一节点
if (historyTasks && historyTasks.length > 0) {
    var lastTask = historyTasks[historyTasks.length - 1];
    var lastAssignee = lastTask.getAssignee(); // 上一审批人ID
    var userService = ctx.getUserService();
    var user = userService.getUserById(lastAssignee);
    
    if (user) {
        console.log("上一审批人: " + user.getName());
    }
}📌 注意事项:
- 权限要求:脚本节点需要有调用用户服务和流程上下文的权限。 
- 上下文对象:确保你在“流程设计”中的“服务节点”使用 - ctx对象,这是宜搭提供的流程上下文。
- 调试建议:可以使用 - console.log()输出对象结构,帮助调试,例如- console.log(JSON.stringify(ctx.task))。
- 环境差异:公有云版宜搭和专属版/私有化部署的API可能略有不同,请参考你所用版本的官方文档。 
📚 参考文档:
建议查阅 宜搭开发者文档 中的:
- 《流程引擎服务节点开发指南》 
- 《ctx 对象 API 说明》 
- 《任务(Task)对象方法列表》 
你可以在 宜搭官网帮助中心 搜索相关文档。
如果你提供具体的流程场景(比如“获取会签节点的所有审批人”),我可以给出更精确的代码示例。