我正在使用GraphQL / Storefront SDK进行shopify项目。目前,我面临结帐响应问题。根据文档,我创建了输入,查询,最后创建了NSURLSession Task。查询执行,但检出和错误的响应都显示为空。我不明白输入中出了什么问题。
这是代码段:
let inputCheckout = Storefront.CheckoutCreateInput.create(
email: .value(Preferences.value(forKey: "CustomerEmail") as? String),
lineItems: .value(lineItems),
shippingAddress: .value(nil),
note: .value("This is a testing notes"),
customAttributes: .value(nil),
allowPartialAddresses: .value(true)
)
现在我正在创建突变:
let mutation = Storefront.buildMutation {$0
.checkoutCreate(input: inputCheckout) { $0
.checkout { $0
.webUrl()
}
.userErrors { $0
.field()
.message()
}
}
}
然后
let task = kAppDelegate.client.mutateGraphWith(mutation) { response, error in
print("error = \(error.debugDescription)")
print("response = \(response?.checkoutCreate?.fields)")
}
task.resume()
这是回应:
error = nil
response = Optional(["checkout": <null>, "userErrors": <__NSArray0 0x604000008960>(
)
])
没有错误显示。...也没有响应。...我进行了很多搜索,但没有找到解决方法。
答案 0 :(得分:1)
经过大量的审判和审判,我得到了答案:
仅需替换此方法参数:
let inputCheckout = Storefront.CheckoutCreateInput.create(
email: .value(Preferences.value(forKey: "CustomerEmail") as? String),
lineItems: .value(lineItems),
shippingAddress: .value(nil),
note: .value("This is a testing notes"),
customAttributes: .value(nil),
allowPartialAddresses: .value(true)
)
有了这个:
let inputCheckout = Storefront.CheckoutCreateInput.create(
lineItems: .value(lineItems),
allowPartialAddresses: .value(true)
)
现在响应正确无误。