# 函数公式使用说明

来源快照：`result_data_new_260518.json`

- 来源 ID：`1175761664203006023`
- 模块：集成中心
- 目录：集成登录 - 后台维护 - 功能点说明
- space ID：`1158011075224911873`
- 原文链接：未提供
- 产品基线：未提供

## 正文

# 一、功能介绍

**注意：需要购买统一认证****-****集成登录功能。**

集成登录自定义参数类型中，支持设置函数公式，可借助函数库的能力实现更加复杂的参数构造。

 

# 二、功能概述以及使用说明

## 1、功能权限

需要有集成登录权限

路径：【后台管理中心】-【权限管理中心】-【角色设置】-【角色列表】-【功能权限】-【集成登录】

![](https://weapp.eteams.cn/papi/file/preview?fileId=1234837955778854920&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

## 2、功能说明

### 2.1、新建函数

入口：【后台管理中心】-【集成中心】-【集成登录】-【函数库】-【函数列表】

![](https://weapp.eteams.cn/papi/file/preview?fileId=1234838007331454985&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

点击新建按钮，即可编写自定义函数，脚本规范及示例请参考函数库示例说明：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1234838033079877638&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

### 2.2、设置函数公式

入口：【后台管理中心】-【集成中心】-【集成登录】-【集成登录设置】

新建/编辑集成登录页面中，自定义参数-参数值类型新增 函数公式 类型，选择函数公式后，点击右侧的设置按钮即可进行函数公式的设置。

![](https://weapp.eteams.cn/papi/file/preview?fileId=1234838058651754498&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

**变量说明** ：变量中新增了集成登录自定义参数，这里的参数均为对应集成登录应用中自定义的参数，可在引用函数时，作为变量参数使用。

![](https://weapp.eteams.cn/papi/file/preview?fileId=1234838080290963457&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

![](https://weapp.eteams.cn/papi/file/preview?fileId=1234838097332830220&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

**函数说明：2**.1 新建函数中创建的JS函数，会在函数公式配置的函数-自定义JS脚本函数中，可选择后使用。

![](https://weapp.eteams.cn/papi/file/preview?fileId=1234838118928891908&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

设置函数后，点击保存按钮，自定义参数还会自动生成函数公式名称，名称格式：intlogin+创建时的时间戳（毫秒级）。

![](https://weapp.eteams.cn/papi/file/preview?fileId=1234838140440682497&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

点击函数公式名称或设置按钮，可对函数公式进行编辑。

## 3、配置示例

### 3.1、场景描述

第三方系统需要构造地址格式：

[ _https://127.0.0.1:8080/ceshi?sign=4529FC4EE00F6D50C41CD9F18FB1CFB0 &timestamp=1706079006000_](https://127.0.0.1:8080/ceshi?sign=4529FC4EE00F6D50C41CD9F18FB1CFB0&timestamp=1706079006000)

其中，签名sign为时间戳timestamp（毫秒级）、登录账号loginid（OA的登录名）的JSON格式的值：

{

    "loginid": "ceshi",

    "timestamp": "1706079006000"

}

并经过MD5（32位大写）加密构造而成。

### 3.2、集成登录配置以及函数公式配置说明

该签名是json格式的字符串，使用表达式参数构造不出来，故可以借助函数公式实现。

先新建一个拼接json字符串的函数，loginid、timestamp作为参数，示例如下：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1234838161836621829&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

 

集成登录配置自定义参数，由于最终单点登录地址无需传递loginid，故需要将其设置为表达式参数，其中sign需要进行MD5加密，注意需要开启加密设置：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1234838183390355468&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

![](https://weapp.eteams.cn/papi/file/preview?fileId=1234838204694020099&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

函数公式配置如下，先选择自定义JS脚本函数，然后再选择集成登录自定义参数作为函数的参数：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1234838221962379270&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

### 3.3、单点登录效果

可以先检查下sign签名拼接的格式是否正确，可先关闭加密算法，然后点击预览按钮，看下明文格式：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1234838247769522187&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

明文格式符合要求，此时再开启MD5加密算法，最终生成的单点地址如下：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1234838269214203912&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

# 三、更多场景配置

## 1、使用函数公式获取人员账号

GETHRMLOGINID({系统参数.当前用户})

![](https://weapp.eteams.cn/papi/file/preview?fileId=1234838286441005068&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

## 2、使用函数公式获取人员姓名

GETHRMNAME({系统参数.当前用户})

![](https://weapp.eteams.cn/papi/file/preview?fileId=1234838307748069379&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)
