一文搞懂:【零基础】易盛9.0API入门二:登陆

简介: 一文搞懂:【零基础】易盛9.0API入门二:登陆

"

一、前言

  前一节解决了开发环境问题,这一节就进一步实现API登陆交易服务。

  我们先简要说明下API涉及的两个类ITapTradeAPI和ITapTradeAPINotify,他们分别实现了“指令”和“回调消息”的功能。

  ITapTradeAPI(指令):比如发送下单指令、登陆指令、撤单指令等。

  ITapTradeAPINotify(回调消息):各种指令发送后的执行情况通过这个接口返回,比如登陆是否成功、下单结果如何,还有就是一些重要消息,比如连接是否成功、盈亏通知等。

 //代码效果参考:https://v.youku.com/v_show/id_XNjQwMDQyMjYwOA==.html

 实际上开发包里已经有一个很完备的demo,为了便于理解我就把它拆分成了好几个小节,一步一步完成学习。

二、创建API实例

  TapAPIApplicationInfo stAppInfo;

  strcpy(stAppInfo.AuthCode, DEFAULT_AUTHCODE);

  strcpy(stAppInfo.KeyOperationLogPath, ""\log"");

  ITapTradeAPI *pAPI = CreateITapTradeAPI(&stAppInfo, iResult);

  这里的TapAPIApplicationInfo是一个存数据的结构体,主要包括“授权码”、“日志存放路径”、“断线重连设置”

  授权码和测试用登陆账户、密码在demo里都有。

  最后通过CreateITapTradeAPI()函数创建了API的实例

三、为API实例指定消息回调

  创建API实例后就可以做指令操作了,但指令的结果获取是异步的,9.0API要求开发者继承ITapTradeAPINotify这个类并自己实现其中的各种消息接口。

  其实就是像上图这样,按ITapTradeAPINotify的接口要求定义好各种函数,在函数里写你的代码就行了,当有消息返回时就会根据消息的类型执行不同函数内的代码。

  然后你会发现函数前面都有个TAP_CDECL关键字,它定义是

  含义为:若当前系统是windows的,TAP_CDECL = __cdecl,若为linux系统则此关键字没有含义。具体含义可以百度下,反正我们是linux系统所以没有作用。

  各回调函数的说明在demo中有说明文档,也可以在“iTapTradeAPI.h”文件中找到。定义好回调类后,还需要将API实例与回调实例关联在一起。

  Trade //代码效果参考:https://v.youku.com/v_show/id_XNjQwMDQyMjYzMg==.html

objTrade;

  pAPI->SetAPINotify(&objTrade);

四、登陆测试

  //设置服务器IP、端口

  pAPI->SetHostAddress(DEFAULT_IP, DEFAULT_PORT);

  //设置账户信息

  TapAPITradeLoginAuth stLoginAuth;

  memset(&stLoginAuth, 0, sizeof(stLoginAuth));

  strcpy(stLoginAuth.UserNo, DEFAULT_USERNAME);

  strcpy(stLoginAuth.Password, DEFAULT_PASSWORD);

  stLoginAuth.ISModifyPassword = APIYNFLAG_NO;

  //登陆

  pAPI->Login(&stLoginAuth);

  //等待回调消息 

  while(true){

  }

  最后为什么会是个while的死循环呢?因为整个过程都是异步的,发送登陆指令和登陆结果的消息通知是分开的,所以要在主进程里死循环等待,以后会介绍demo里的一个等待消息的方法。

  执行效果如下:

五、回顾

  简单实现了登陆操作,但是把整体结构过了下,其实挺简单的。

  完整代码:


"
image.png
相关文章
|
1月前
|
API 开发工具 开发者
抖音商品详情API入门:为开发者和商家打造增长工具箱
抖音商品详情API入门:为开发者和商家打造增长工具箱
69 0
|
22天前
|
存储 Java API
JavaSE——常用API(3/3)-ArrayList入门、ArratList使用、ArrayList综合案例
JavaSE——常用API(3/3)-ArrayList入门、ArratList使用、ArrayList综合案例
23 0
|
8月前
|
JavaScript 前端开发 API
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— Web APIs(六)
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— Web APIs(六)
79 0
|
8月前
|
JavaScript 前端开发 API
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— JS进阶(三)
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— JS进阶(三)
533 1
|
1月前
|
JSON JavaScript 前端开发
使用API接口获取商品数据:从入门到实践
随着电子商务的飞速发展,许多电商平台提供了API接口,允许开发者获取商品数据,以创建各种创新的应用。本文将详细介绍如何使用API接口获取商品数据,并通过代码示例进行演示。
|
1月前
|
SQL API 开发工具
【C/C++ API设计】C/C++ API与动态库设计:从入门到精通
【C/C++ API设计】C/C++ API与动态库设计:从入门到精通
203 0
|
8月前
|
JSON JavaScript 前端开发
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— JS进阶(四)完结撒花✿✿ヽ(°▽°)ノ✿
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— JS进阶(四)完结撒花✿✿ヽ(°▽°)ノ✿
550 0
|
8月前
|
JavaScript 前端开发 API
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— JS进阶(二)
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— JS进阶(二)
478 0
|
8月前
|
JavaScript 前端开发 算法
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— Web APIs(七)放大镜实战
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— Web APIs(七)放大镜实战
70 0
|
8月前
|
存储 JavaScript 前端开发
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— Web APIs(五)
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— Web APIs(五)
31 0