使用方法
首先介绍使用方法,只需导入一个SDK即可使用实现调用第三方的接口,那如何导入SDK呢,目前jar已经上传至maven中心仓库可直接引入到pom文件中使用,下面是例子:
<dependency><groupId>io.github.Aas-ee</groupId><artifactId>asapi-client-sdk</artifactId><version>0.0.3</version>
</dependency>
同时也支持在线测试调用,地址为www.aasee.com.cn:8000,账户:test 密码:12345678
当然也可以自己注册,使用密码12345678可以为用户充值接口使用次数。目前已经支持微信扫码关注公众号输入验证码登录!(使用半长链接和微信公众号官方api交互实现)
闪烁验证码例子:
Api开放平台
-
这是一个共享api的平台,在该平台中用户可以使用到作者发布的有趣接口或者是其他第三方的接口(后续可以大众共享接口)
-
同时对接口的使用量进行了监控和统计,为用户分配了唯一的ak/sk进行鉴权,保障调用接口的安全性和可溯源性,对接口进行统一管理
-
为用户提供了客户端SDK,并上传至maven中心仓库托管,提高了用户的开发体验,目前已经有50+次的下载和引用,同时提供了在线测试调用服务,可以在线调用测试接口。优化了调用体验
-
支持微信扫码关注公众号回复验证码进行登录授权认证,欢迎前来体验!。
技术介绍
前端:React + Ant Design pro +Echarts + JsonEditor + OpenApi插件
后端:SpringCloud-Gateway + Dubbo + Nacos + SpringBoot + Redis + Knif4j + RabbitMq + Mysql + 七牛云OSS + Caffeine + WeXin-MP
部署:Linux + Docker + Nginx
技术要点
- 根据平台业务流程,将整个项目后端分为五个模块,Web系统,接口服务,公共模块,客户端SDK,API网关。使用maven聚合管理。
- 项目前端使用OpenApi与后端的Knif4j相配合实现了 API 文档浏览及在线调用功能,提供 Json 编辑器与显示器来提升用户输入请求参数 json 和 查看 json 结果的体验。
web系统
主要负责平台的前端展示数据的处理,对调用进行管控,防止恶意刷接口行为,同时使用redis分布式锁防止出现"超卖"情况。在用户注册发送验证码时使用rabbitmq队列进行处理,防止数据堆积丢失造成发送验证码失败等问题。为解决多个子系统内代码大量重复的问题,抽象模型层和业务层代码为公共模块,并使用 Nacos和Dubbo RPC 框架实现子系统间 的高性能接口调用,大幅减少重复代码,为防止接口被恶意调用,设计 API 签名认证算法,为用户分配唯一 ak / sk 以鉴权,支持微信扫码关注公众号输入验证码登录!使用半长链接EventSource并整合微信公众号官方api交互实现登录。
API网关
使用 Spring Cloud Gateway 作为 API 网关,实现了路由转发、访问控制、流量染色,并通过Nacos和Dubbo RPC框架集中处理签名校验、请求参数 校验、接口调用统计等业务逻辑,提高安全性的同时、便于系统开发维护。通过改写响应体,让用户可以获取更好的使用体验。
客户端SDK
运用了Bean的自动装配原理,基于 Spring Boot Starter 自主设计 SDK ,保证 SDK 的精简、避免依赖冲突。让开发者拥有更好的开发体验。目前已经上传到maven中心仓库托管,可以快速调用!。
接口服务
接口服务主要由python爬虫提供能力,通过web逆向等方式获取数据,对数据进行处理后返回。同时在识别闪烁验证码接口上使用了opencv等开源库进行赋能对图片进行解析和识别。
部分页面截图
登录
扫码登录
注册
主页
个人中心
接口管理
接口分析
接口充值