一文搞懂:【零基础】易盛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
相关文章
|
21天前
|
JSON API 开发工具
电商API接口入门指南
本文介绍了API的基础知识及其在电商领域的实际应用。首先,阐释了API的概念、运作机制及参数与返回值的作用,帮助读者理解如何通过API实现软件间的交互。接着,以获取电商商品列表为例,详细讲解了从选择平台、引入SDK到编写代码调用API的全流程。示例代码采用Python语言,利用requests库发送请求并解析JSON数据,为开发者提供了清晰的实践指导。
|
2月前
|
JSON 算法 API
一文掌握 1688 商品详情 API 接口:从入门到实战
1688是国内领先的综合电商批发平台,提供海量商品资源。其商品详情API助力开发者与企业获取商品的详细信息(如属性、价格、库存等),广泛应用于电商数据分析、比价系统及采购场景。API支持GET/POST请求,需传入通用参数(app_key、timestamp等)与业务参数(如product_id)。返回JSON格式数据,包含商品标题、价格、图片链接等详情,提升业务效率与决策精准度。
|
2月前
|
搜索推荐 API 开发者
京东商品列表 API 接口全解析:从入门到精通
京东商品列表API是京东开放平台为开发者提供的核心数据接口,支持批量获取商品基础信息、价格、库存状态等多维度数据。它具备数据丰富性、灵活筛选与分页查询、稳定高效等特点,可满足市场分析、选品优化、比价工具及推荐系统开发等需求,为电商业务创新提供坚实支撑。通过标准化通道,助力第三方高效、合法地利用京东海量商品数据。
|
23天前
|
数据挖掘 API 开发者
京东商品详情 API 接口全攻略:从入门到精通
京东商品详情API接口是京东开放平台为开发者提供的服务,用于获取商品详细信息。通过调用接口,开发者可获得商品属性、价格、库存、促销信息等数据,适用于电商应用、价格比较工具及数据分析平台等场景。支持GET/POST请求方式,参数包括API版本、密钥等。示例代码展示了如何使用Python的requests库调用该接口,并获取JSON格式的返回数据,包含商品基本信息、价格、库存和用户评价等内容。
93 16
|
8月前
|
开发框架 .NET API
RESTful API 设计与实现:C# 开发者的一分钟入门
【10月更文挑战第5天】本文从零开始,介绍了如何使用 C# 和 ASP.NET Core 设计并实现一个简单的 RESTful API。首先解释了 RESTful API 的概念及其核心原则,然后详细说明了设计 RESTful API 的关键步骤,包括资源识别、URI 设计、HTTP 方法选择、状态码使用和错误处理。最后,通过一个用户管理 API 的示例,演示了如何创建项目、定义模型、实现控制器及运行测试,帮助读者掌握 RESTful API 的开发技巧。
275 7
|
10月前
|
前端开发 JavaScript 安全
入门Vue+.NET 8 Web Api记录(一)
入门Vue+.NET 8 Web Api记录(一)
373 4
|
12月前
|
JavaScript API 开发者
GraphQL API开发入门:比RESTful更高效的数据查询方式
**GraphQL API开发入门摘要** GraphQL是一种更高效的数据查询方式,解决RESTful API的过度或不足获取数据问题。它允许客户端按需获取数据,减少网络传输,支持一次请求获取多资源。强类型和自描述特性方便了开发。文章通过一个简单的Node.js示例,展示如何使用`apollo-server-express`搭建GraphQL服务器,包括定义Schema、实现Resolver和创建服务器。通过测试,显示了GraphQL如何提供精确数据和优化查询效率。对于复杂数据需求,GraphQL是现代API设计的有效选择。
167 0
|
8月前
|
机器学习/深度学习 算法 API
机器学习入门(五):KNN概述 | K 近邻算法 API,K值选择问题
机器学习入门(五):KNN概述 | K 近邻算法 API,K值选择问题
|
API 开发工具 开发者
抖音商品详情API入门:为开发者和商家打造增长工具箱
抖音商品详情API入门:为开发者和商家打造增长工具箱
|
10月前
|
开发者
告别繁琐代码,JSF标签库带你走进高效开发的新时代!
【8月更文挑战第31天】JSF(JavaServer Faces)标准标签库为页面开发提供了大量组件标签,如`<h:inputText>`、`<h:dataTable>`等,简化代码、提升效率并确保稳定性。本文通过示例展示如何使用这些标签实现常见功能,如创建登录表单和展示数据列表,帮助开发者更高效地进行Web应用开发。
99 0