MyCheck Dine UI Web SDK
一个使用户能够打开餐厅餐桌、跟踪订单、重新点菜并在最后支付的 SDK。SDK 提供了一个 View Controller,引导用户通过 MyCheck Dine 的餐桌体验。
交易的基本流程是
- 客人通过访问应用程序获取一个四位数的代码
- 将代码交给客人的服务员,他将通过 POS 系统打开账单并输入代码。
- POS 系统将与 MyCheck 服务连接
- 然后客人可以查看账单,通过重新订购现有项目并支付来与账单互动。
- 客人支付账款后,他将无法再访问账单。
要求
iOS 9 或更高版本。
Swift 3.0
安装
MyCheck 餐厅 SDK 通过 CocoaPods 提供。您首先需要请求 MyCheck 团队成员授予您 MyCheck 仓库的读取权限。一旦获得权限,只需将以下行添加到 Podfile 的顶部即可安装
source 'https://bitbucket.org/erez_spatz/pod-spec-repo.git'
source 'https://github.com/CocoaPods/Specs.git'
这将设置公共CocoaPods仓库和MyCheck私有仓库为目标,用于CocoaPods查找框架。
您可以在“bitbucket.org”之前添加YOUR_USER_NAME@,这样在每次更新或安装时,pod工具就不需要您每次都请求它。
在目标内部添加
pod "MyCheckDineUIWeb"
现在您可以运行 'pod install' 命令了
使用
为了管理用户会话(登录、注销等),您需要使用会话单例。
首先将以下内容添加到您希望使用MyCheck的类顶部
import MyCheckCore
到类顶部
在您的应用程序代理的 application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?)
函数中调用会话单例的配置函数
Session.shared.configure(YOUR_PUBLISHABLE_KEY, environment: .sandbox)
这将设置SDK以与希望的环境一起工作。
在使用任何其他函数之前,您必须登录用户。登录是通过首先从您的服务器(该服务器反过来使用密钥从MyCheck服务器获取)获取刷新令牌来完成的。一旦您有了刷新令牌,请调用会话单例上的登录函数
Session.shared.login(REFRESH_TOKEN, success: HANDLE_SUCCESS
}, fail: HANDLE_FAIL)
打开新的餐桌
登录后,您可以打开一个餐桌并创建一个DineInWebViewController对象,该对象将使用户通过Dine In过程。
import DineUIWeb
需要生成一个4位数字PIN以及创建一个ViewController实例。请使用DineInWebViewControllerFactory 对象进行此操作。您需要传递用户想要进餐的商家的业务ID。
DineInWebViewControllerFactory.dineIn(at: THE_BUSSINESS_ID , locale:THE_LOCALE, delegate: self)
请注意,您需要实现DineInWebViewControllerDelegate。它将在创建ViewController时通知您,在发生任何错误时通知您,并在用户完成使用视图控制器(包括他完成的理由和最后一个订单状态)时更新您。
显示已打开的餐桌
如果您想要检查餐桌是否已打开(例如,当应用启动时),您需要使用Dine单例。
Dine.shared.getOrder(success: { order in //对打开的订单做出反应 }, fail: {error in //获取一个打开的订单失败 })
如果存在一个打开的订单,请创建一个使用旨在为打开的订单提供的工厂方法创建的 DineInWebViewController,并将其通过从getOrder回调接收到的新订单传递给它。
DineInWebViewControllerFactory.dineInWithOpenOrder.dineIn(order: THE_ORDER, locale:THE_LOCALE, delegate: self)
作者
Elad Schiller, [email protected]
许可证
请在项目中查看可用的 LICENSE 文件