开发者社区> 问答> 正文

关于宜搭调用FC函数转发

已解决

自问自答

展开
收起
游客ll44lfsrqg2ru 2023-05-16 15:35:12 281 0
来自:钉钉宜搭
2 条回答
写回答
取消 提交回答
  • 鼓捣了好几天,因为要进行宜搭页面和自有平台结合,客服表示公开接口直接调用产生跨域问题,而通过数据源配置又需要登录,所以为了免登录访问,还能正常请求自有平台公开接口,遂采取客服建议,使用阿里云FC函数。

    (主要是官方给的示例对于开发来说简单,但是对于低代码人士来说看不懂)

    整体使用思路

    原来的方式:宜搭页面直接远程API访问公开接口

    现在FC转发方式:宜搭访问FC中转地址,由FC代理转发访问公开接口

    教程3步

    1、FC函数配置

    创建服务-创建函数 - 函数配置

    2、代码示例

    函数配置完成后自动跳转到函数代码页-代码示例(有代码)-代码提交及日志查看-获取FC中转地址

    3、宜搭操作 数据源配置-JS书写

    1、创建服务(有图) bbcf3fca9077f44834595caca851c83.jpg

    创建函数

    1b3d7465ed0e5e7ba1d746d61478d63.jpg

    d159a06a7d2053d28239739670b12ff.jpg

    2、代码示例 image.png

    
    from flask import request
    
    import requests
    
    
    
    REQUEST_ID_HEADER = 'x-fc-request-id'
    
    
    app = Flask(__name__)
    
    
    @app.route('/', defaults={'path': ''})
    
    @app.route('/<path:path>', methods=['GET', 'POST', 'PUT', 'DELETE'])
    
    def hello_world(path):
    
            rid = request.headers.get(REQUEST_ID_HEADER)
    
            print("FC Invoke Start RequestId: " + rid)
    
    
            uniqueId = request.args.get('uniqueId')
    
            remark = request.args.get('remark')
    
    
            url = 'https://www.XXXXXXXXXXXXX'
    
            header = {
    
            "uniqueId": uniqueId,
    
            "remark": remark
    
            }
    
            r = requests.post(url, json=header)
    
            
    
            
    
      
    
            print("remark: " + str(remark))
    
            print("uniqueId: " + str(uniqueId))
    
            print("FC Invoke End RequestId: " + rid)
    
            return "Hello, World!"
    
    
    
    if __name__ == '__main__':
    
            app.run(host='0.0.0.0',port=9000)
    

    c5d08f5c28b976125f7344aedc37136.jpg 获取FC中转地址,就可以把这个地址直接给宜搭数据源调用了 e5cbc020fa0af7fb277ff0eea3644bd.jpg

    调用日志查看 1de2745ee2266eb3975e0b9b8b4d39c.jpg

    3宜搭操作 数据源配置 image.png

    JS书写 image.png

    2023-05-17 09:09:54
    赞同 展开评论 打赏
  • CSDN全栈领域优质创作者,万粉博主;InfoQ签约博主;华为云享专家;华为Iot专家;亚马逊人工智能自动驾驶(大众组)吉尼斯世界纪录获得者

    FC函数转发是指将一个函数的调用转发到另一个函数中执行,常用于实现事件监听和回调等功能。

    在宜搭中,可以使用uni.$on方法来注册一个事件监听器,该方法接收两个参数:事件类型和回调函数。当某个事件触发时,会自动调用回调函数进行处理。如果需要将事件转发到另一个函数中处理,可以使用uni.$on方法的第二个参数来指定回调函数。例如:

    
    // 定义事件类型和回调函数
    const eventName = 'myEvent';
    const callback = function() {
      console.log('event triggered');
    };
    
    // 注册事件监听器并转发到另一个函数中
    uni.$on(eventName, (args) => {
      // 执行转发操作
      uni.invokeFunction({
        name: 'myFunction',
        data: args,
      });
    });
    
    // 定义另一个函数用于转发事件
    function myFunction(args) {
      console.log('event received:', args);
    }
    
    
    

    在上面的示例中,我们首先定义了一个事件类型eventName和一个回调函数callback,然后使用uni.$on方法注册了一个事件监听器。当eventName事件触发时,会自动调用回调函数进行处理。接着,我们在回调函数中使用uni.invokeFunction方法将事件转发到另一个函数myFunction中进行处理。最后,我们在宜搭项目中定义了另一个函数myFunction,用于接收转发过来的事件数据并进行处理。

    2023-05-16 15:42:29
    赞同 1 展开评论 打赏
问答分类:
问答地址:
相关产品:
来源圈子
更多
收录在圈子:
+ 订阅
「宜搭」是云钉原生低代码平台(钉钉 PaaS - aPaaS),让企业应用搭建更简单! 帮助中小企业降本提效,加强组织的数字化自主权; 帮助大型企业释放个体创新力,助力组织创新涌现。
相关文档: 宜搭
问答排行榜
最热
最新

相关电子书

更多
All in Serverless 阿里云核心产品全面升级 立即下载
AIGC 浪潮之上,森马的 Serverless 实践之旅 立即下载
极氪大数据 Serverless 应用实践 立即下载