工作台全码组件集成iPaaS连接器

背景

本方案适用于组织具备全码组件的开发条件,并且想使用iPaaS连接器作为数据源的业务场景。什么是全码组件点击文档查看,什么是iPaaS连接器可以点击文档查看。

开发步骤

配置连接器

可以采用存量已有的连接器,也可以配置一个全新的连接器,本案例通过一个Http的API配置一个数据源,请求入参为test,返回值为JSON格式,数据源返回一个JSON字符串作为全码的数据源

后续全码组件集成连接器,即在全码组件中获取上面的返回结果供全码组件内的变量消费。即全码组件通过系统的能力调用连接器获取到如下的返回值:

json 复制代码
{
  "args": {
    "test": "123456789"
  }
}

使用IDE开发全码组件

全码组件的开发教程,可以查看具体文档,可以通过Mock数据源的方式进行IDE模拟验证是否请求数据成功。

IDE的Mock直接请求前端代码

kotlin 复制代码
 async didMount() {
    getLifecycleSdk().didMount(this.props.componentName);
    // 这里读到的props,和config.json文件中定义的props相对应,详见config.json文件说明
    const props = this.props.componentProps;
    // 业务代码写到下方

    /**
     * 这里的第一个参数 this.props.componentProps.gateWayApi 就是连接器数据源的占位符,
     * 其中gateWayApi就是config.json里的Setter属性,该值通过设计器的组件数据源设置来绑定
     * 这里的第二个参数就是透出的参数名和参数值,该参数名和参数值会透传给连接器
     * 
     * 这里的返回值 data 就是连接器的返回数据
     * 
     */
    const data =  await getSdk().request(this.props.componentProps.gateWayApi,{
      test:'123',
    },
    {
      // 这里是IDE直接Mock请求Http接口
      url: 'https://httpbin.org/get',
      // 这里apiKey任意填写,只在IDE里生效
      apiKey: 'MOCK',
      httpMethod: 'GET',
      params:"test",
       // 这里apiSecret任意填写,只在IDE里生效
      apiSecret: 'MOCK',
    }
    );
    console.log(data);

    //渲染本地页面
    this.setData({data:data.args.test})
  },

IDE的Mock请求效果

集成数据源请求

在小程序插件的的js逻辑模块方法didMount里,可以发起连接器数据源的请求调用。

注意目前还无法在IDE的模拟器里直接调用连接器数据源,需要到设计器真机(PC或者移动端)环境里调试。

kotlin 复制代码
  async didMount() {
    getLifecycleSdk().didMount(this.props.componentName);
    // 这里读到的props,和config.json文件中定义的props相对应,详见config.json文件说明
    const props = this.props.componentProps;
    // 业务代码写到下方

    /**
     * 这里的第一个参数 this.props.componentProps.gateWayApi 就是连接器数据源的占位符,
     * 其中gateWayApi就是config.json里的Setter属性,该值通过设计器的组件数据源设置来绑定
     * 这里的第二个参数就是透出的参数名和参数值,该参数名和参数值会透传给连接器
     * 
     * 这里的返回值 data 就是连接器的返回数据
     * 
     */
    const data =  await getSdk().request(this.props.componentProps.gateWayApi,{
      test:'123',
    });
    console.log(data);

    //渲染本地页面
    this.setData({data:JSON.stringify(data)})
  },
  • TIPS

当前的用的组织corpId和userId工作台会通过系统参数的方式透传到连接器请求的Header,用来方便连接器来识别客户身份,连接器具体请求入参如下所示:

json 复制代码
{
    "headers": {
        "x-ddpaas-corpid": "ding49679e81291f7b9135c2f4657eb6378f", 
        "x-ddpaas-actionid": "G-ACT-102141D22795213CCBB80008", 
        "x-ddpaas-flowid": "G-FLOW-W-FFB52921E32895CAFD367F", 
        "x-ddpaas-requestid": "da3a30a5bc6f831366a43319cde-a-t_", 
        "x-ddpass-traceid": "0bbb2fb617006352900611547d18cb", 
        "x-ddpaas-userid": "020865534328-514298257"
    }, 
    "limitStrategy": {
        "args": [ ], 
        "checkInterval": "PT0.05S", 
        "maxCheckTimes": 1, 
        "resourceName": "", 
        "timeout": 10500
    }, 
    "method": "GET", 
    "contentType": "application/json", 
    "timeout": 10000, 
    "url": "https://httpbin.org/get?test=123"
}

其中入参里的x-ddpaas-corpid和x-ddpaas-userid分别对应当前用户的组织corpId和userId

设计器绑定连接器数据源

组件完成开发并上传后,发布灰度并全量组件,在设计器的左边物料即可找到全码组件,把全码组件拖到布局内,点击组件在右下角的"数据来源"内,贴入连接器的ID,并且选中对应的数据源,即可实现效果预览。

复制连接器ID

点击连接器,进入连接器详情,复制连接器ID

配置连接器

选中组件,在右下角选择连接器并贴入连接器ID,选择提交后再下拉框选择出数据源,保存刷新后就可预览实际效果

发布上线

预览符合预期后,保存发布后,启用工作台页面即可完成工作台全码组件集成iPaaS连接器上线

注意点

  1. 全码组件和连接器开发都需要一定的成本,建议具备开发能力的用户(诸如服务商或者企业IT管理员等)使用;
  2. 可以在IDE里请求数据源采用Mock的写法,但是否请求到正式的连接器以实际真机调试为准
  3. 全码组件要完成提交「上传版本」-「插件管理」-「版本管理」-「插件管理」-「配置」-「提交上架」-「提交发布」-「设置灰度」-「全量发布」,才能在设计器的物料库的【自建组件】Tab内看到

更多精彩内容,关注公众号:ali老蒋,或点击加我好友深度沟通:ali老蒋 - java开发者

相关推荐
程序员鱼皮3 天前
Agent Skills 傻瓜式教程,26 年最火 AI 技术就这?
计算机·ai·程序员·agent·编程经验
黑客-雨4 天前
DeepSeek-V3.2深度拆解:开源模型逆袭,GPT-5迎来劲敌!
人工智能·程序员·大模型·知识图谱·agent·大模型教程·deepseek-v3.2
紫雾凌寒5 天前
【 HarmonyOS 高频题】2026 最新 ArkUI 开发与组件面试题
ui·华为·面试·程序员·职场发展·harmonyos·ark-ui
IT技术分享社区6 天前
GTID 结构升级 + JSON 视图强化,MySQL 9.6 创新版带来哪些性能提升?
数据库·程序员
小阿鑫7 天前
32岁程序员猝死背后,我的一些真实感受
前端·后端·程序员·代码人生
十年编程老舅7 天前
虾皮C++一面:C++四种类型转换详解
程序员·编程·c/c++
紫雾凌寒7 天前
【 HarmonyOS 面试题】2026 最新 ArkTS 语言基础面试题
华为·面试·程序员·华为云·职场发展·harmonyos·arkts
程序员鱼皮10 天前
20 个神级 AI 编程扩展,爽爆了!
ai·程序员·编程
一晌小贪欢13 天前
Python 异步编程深度解析:从生成器到 Asyncio 的演进之路
开发语言·python·程序员·python基础·python小白·python测试
京东云开发者13 天前
如何使用wireshark进行远程抓包
程序员