低代码平台-三方前端系统与宜搭数据打通

目录

 

一、在钉钉开放平台管理后台创建应用(用于获取appKey和appSecret)

1、打开钉钉放平台-开发者后台(开放平台地址:钉钉开放平台)

2、点击应用开发-创建应用-填写应用信息

3、点击应用打开应用详情-权限管理-搜索宜搭开启自己需要用到的权限

4、点击凭证与基础信息获取appKey和appSecret

二、在阿里云FC函数对宜搭服务端接口进行封装(防止前端调用服务端接口跨域与鉴权泄漏)

1、安装axios库

2、创建函数封装方法

三、阿里云FC函数测试

1、点击函数计算左上角按钮向下的箭头配置测试参数信息

2、配置完成之后点击部署按钮进行代码部署

3、点击测试函数运行测试(提示执行成功,并返回实例ID则证明测试成功)

四、拿到接口地址在第三方系统调用


 

一、在钉钉开放平台管理后台创建应用(用于获取appKey和appSecret)

1、打开钉钉放平台-开发者后台(开放平台地址:钉钉开放平台

0d93116f86d54352b4a98e93f96c47c1.png

2、点击应用开发-创建应用-填写应用信息

f388865881ad4f48bc4115f5e82e496e.png

3、点击应用打开应用详情-权限管理-搜索宜搭开启自己需要用到的权限

bb4ca9c486b64ef393d5ebb8accb15d2.png

4、点击凭证与基础信息获取appKey和appSecret

c80cee899679470aad5c3d0feafa529a.png

二、在阿里云FC函数对宜搭服务端接口进行封装(防止前端调用服务端接口跨域与鉴权泄漏)

引用接口文档链接:

获取企业内部应用的accessToken - 钉钉开放平台

发起宜搭审批流程 - 钉钉开放平台

1、安装axios库

npm install axios -S
//安装命令

2、创建函数封装方法

var axios = require('axios');

// 定义常量dataKey,存储appKey和appSecret
var dataKey = JSON.stringify({
   "appKey": "替换为钉钉管理后台创建应用的appKey",
   "appSecret": "a替换为钉钉管理后台创建应用的appSecret"
});

// 定义常量configKey,存储请求token的配置信息
var configKey = {
   method: 'post',
   url: 'https://api.dingtalk.com/v1.0/oauth2/accessToken',//开放平台获取token接口
   headers: {
      'User-Agent': 'Apifox/1.0.0 (https://apifox.com)',
      'Content-Type': 'application/json',
      'Accept': '*/*',
      'Host': 'api.dingtalk.com',
      'Connection': 'keep-alive'
   },
   data: dataKey
};

// 获取token的异步函数
async function gettoken() {
   return new Promise(async (resolve) => {
      try {
         const response = await axios(configKey); // 发起请求获取token
         resolve(JSON.stringify(response.data)); // 将token数据转为JSON字符串并返回
      } catch (error) {
         resolve(error); // 返回错误信息
      }
   });
}

// 发起请求并获取数据的异步函数
async function getdata(params) {
   const token = await gettoken(); // 调用gettoken函数获取token
   // 构造请求数据
   var data = JSON.stringify({
      "appType": "宜搭应用编码",
      "systemToken": "宜搭应用token",
      "userId": "发起人钉钉userId",
      "formUuid": "发起的审批表单ID",
      "formDataJson": JSON.stringify(params),
      "processCode": "发起的审批表单流程Code"
   });
   // 请求配置信息
   var config = {
      method: 'post',
      url: 'https://api.dingtalk.com/v1.0/yida/processes/instances/start',
//开放平台发起审批接口
      headers: {
         'x-acs-dingtalk-access-token': JSON.parse(token).accessToken, // 设置请求头中的token
         'User-Agent': 'Apifox/1.0.0 (https://apifox.com)',
         'Content-Type': 'application/json',
         'Accept': '*/*',
         'Host': 'api.dingtalk.com',
         'Connection': 'keep-alive'
      },
      data: data
   };
   return new Promise(async (resolve) => {
      try {
         const response = await axios(config); // 发起请求获取数据
         resolve(JSON.stringify(response.data)); // 将响应数据转为JSON字符串并返回
      } catch (error) {
         resolve(error); // 返回错误信息
      }
   });
}

exports.handler = async (req, resp, context) => {
   var body = req.body;
   var params = {
      '组件1唯一标识': JSON.parse(body.toString()).name, // 获取请求体中的name字段值
      '组件2唯一标识': JSON.parse(body.toString()).emali, // 获取请求体中的emali字段值
      '组件3唯一标识': JSON.parse(body.toString()).title, // 获取请求体中的title字段值
      '组件4唯一表示': JSON.parse(body.toString()).content // 获取请求体中的content字段值
   };
   const data = await getdata(params); // 调用getdata函数获取数据
   resp.setHeader("Content-type", "application/json");
   resp.send(data); // 发送响应数据
};

三、阿里云FC函数测试

1、点击函数计算左上角按钮向下的箭头配置测试参数信息

请求方式:post

Body参数:按照自己需要传的字段数据进行填写

73a0a6a2b1c84e478054f038ff2bb9a4.png

2、配置完成之后点击部署按钮进行代码部署

8024bed4e4a042f7923f2921862af376.png

3、点击测试函数运行测试(提示执行成功,并返回实例ID则证明测试成功)

af59ded533504c22939cc19e5013fa4b.png

四、拿到接口地址在第三方系统调用

6bdaf7867f4b4d9ebf8d9cedb91c22f9.png

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值