---- ==== 调用流程 ==== 下图说明了一个典型的帮我吧SDK接口的调用流程,即先调用配置和初始化接口进行初始化,然后设置回调窗口,再调用功能类接口,最后调用退出接口释放资源。 {{ :帮我吧文档:客户端sdk手册:10.png?nolink |}} **1. 启动帮我吧接口程序Bangwo8SDKServer.exe** 在调用帮我吧SDK提供的API接口之前,调用者需要先启动用于提供WEB接口的Bangwo8APIServer.exe。该exe会首先从它自身所在目录下面查找Bangwo8APIServer.conf,使用其中的配置信息来启动。该配置文件内容如下: [main] ServerSecureKey=12987 SessionKeyExpire=7200 ListenToAllPorts=0 其中的配置项ServerSecureKey是在WEB API交互的时候用于保证通信的安全性用的访问控制秘钥。如果将该秘钥配置为空,则通信的时候不需要进行秘钥认证。SessionKeyExpire为访问者获取到的SessionKey的超时时间。ListenToAllPort用于控制是否监听所有端口,默认Bangwo8APIServer.exe为了安全性,只监听127.0.0.1,即只有本机的程序才能否访问它提供的URL。 Bangwo8APIServer.exe有两种启动方式: * 无参数启动:调用者不带任何参数,直接执行Bangwo8APIServer.exe,该程序会随机选择一个空闲的本地端口号监听,并把使用的端口号写入到他自己所在目录下面的Bangwo8APIServer.pid文件中,调用者可以通过该文件获取当前exe使用的端口号。该文件内容如下: PID=12987 PORT=8888 * 带参数启动:调用者可以自己判断哪个端口空闲,然后指定一个空闲端口启动该exe。比如执行Bangwo8APIServer.exe -p 9999就是启动该接口exe,让其使用 9999端口; 在Bangwo8APIServer.exe被启动起来之后,可以访问http://127.0.0.1:xxxx/,通过该exe提供的URL接口与帮我吧SDK进行交互。支持的帮我吧API具体说明见下文详细内容。 **2. 配置和初始化** 调用初始化接口[[:帮我吧文档:客户端SDK手册:初始化接口|http://127.0.0.1:xxxx/apiSystemInit]]进行系统的初始化。 **3. 检查系统初始化是否成功** 调用查询接口[[帮我吧文档:客户端sdk手册:查询接口|http://127.0.0.1:xxxx/apiQueryConfig]]查询系统初始化结果,具体需要查询[[帮我吧文档:客户端sdk手册:状态项列表#ClientState|SupportClientState]]和[[帮我吧文档:客户端sdk手册:状态项列表#ClientState|UserClientState]]两个状态项。\\ 为了能够及时知道帮我吧SDK客户端的状态变化,您可以使用消息回调,设置 **4. 设置回调窗口句柄** 如果您的程序需要及时地知道帮我吧SDK客户端的状态变化,比如客户端的启动结果,或者到某一个客户端9位数ID的连接情况,可以调用配置接口[[帮我吧文档:客户端sdk手册:配置接口|http://127.0.0.1:xxxx/apiConfig]]设置一下[[帮我吧文档:客户端sdk手册:配置项列表|CallerCallBackWin]]和[[帮我吧文档:客户端sdk手册:配置项列表|CallBackMsg]]配置项。在设置之后,如果SDK客户端发生状态变化,您的回调窗口会第一时间收到通知消息,然后您可以调用[[帮我吧文档:客户端sdk手册:查询接口|http://127.0.0.1:xxxx/apiQueryConfig]]查询具体的客户端状态。 **5. 功能调用** 比如调用发起远程的接口[[帮我吧文档:客户端sdk手册:远程接口|http://127.0.0.1:xxxx/apiStartRemote]]开始对一个ID进行远程协助。在发起远程协助后,您可以结合上文所述回调机制以及状态项[[帮我吧文档:客户端sdk手册:状态项列表#ConnectionStatus|ConnectionStatus]]来查询远程是否成功。 **6. 退出** 调用停止远程接口[[帮我吧文档:客户端sdk手册:停止远程接口|http://127.0.0.1:xxxx/apiStopRemote]]停止已经开始的远程协助,然后可以调用退出接口[[帮我吧文档:客户端sdk手册:退出接口|http://127.0.0.1:xxxx/apiServerQuit]]退出帮我吧SDK。