SHOPLINE Functions 允许你自定义 SHOPLINE 的部分后端逻辑。
应用场景
自定义支付方式:你可以使用 SHOPLINE Functions 能力来自定义买家结账时使用的支付方式的名称和顺序。
工作流程
以支付方式为例,下图介绍了 SHOPLINE Functions 工作流程。
注意事项
-
同一个应用只能部署一个同一类型的函数。
-
函数代码不允许网络访问和文件操作功能,例如使用
io和net。 -
限制打包代码目录为
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 毫秒
