SHOPLINE Functions 概述

SHOPLINE Functions 允许你自定义 SHOPLINE 的部分后端逻辑。

应用场景

自定义支付方式:你可以使用 SHOPLINE Functions 能力来自定义买家结账时使用的支付方式的名称和顺序。

工作流程

以支付方式为例,下图介绍了 SHOPLINE Functions 工作流程。

注意事项

  • 同一个应用只能部署一个同一类型的函数。

  • 函数代码不允许网络访问和文件操作功能,例如使用 ionet

  • 限制打包代码目录为 module/**main.go

  • 不要使用 fmt.Sprintf 来打印函数调用日志,应该使用 function.Log 进行打印。

示例 function.Log(fmt.Sprintf("function test: %v ", functionIn))

  • 在自定义支付方式场景下,你必须配置函数元数据,并通过元字段进行数据传递,更多信息请参考 自定义支付方式

  • 函数根据 input.gql 定义获取数据。输入输出均为 JSON 格式。

例如 input.graphql 定义如下:

query Input {
  checkout {
    cost {
      totalAmount {
        amount
      }
    }
  }
}

实际的输入值为:

{
    "checkout": {
        "cost": {
            "totalAmount": {
                "amount": "value"
            }
        }
    }
}

资源限制

单实例运行时内存:10240 KB

常驻测试函数实例数量:1

常驻正式函数实例数量:24

函数执行超时时间:400 毫秒