# ZL-API-Platform **Repository Path**: AbrahamLeeJay/zl-api-platform ## Basic Information - **Project Name**: ZL-API-Platform - **Description**: 基于SpringCloud的API开放调用平台。系统采用微服务架构,管理员可以接入外部接口或内部开发接口,统计分析各接口调用情况;用户可以开通接口调用权限、浏览接口及在线调试,并通过客户端 SDK 轻松调用接口。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-01-24 - **Last Updated**: 2025-01-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # API Intelligent Platform > 一个丰富的API开放调用平台,为开发者提供便捷、实用、安全的API调用体验; Java + React 全栈项目,包括网站前台+后台 > > > >项目前端开源地址:[https://github.com/HLACM/API-Intelligent-Platform](https://github.com/HLACM/API-Intelligent-Platform) ## 项目展示 - 登录页面 ![image-20240520183017050](assets/image-20240520183017050.png) + 支持邮箱登录 ![image-20240520183039084](assets/image-20240520183039084.png) - 首页 ![image-20240520183123231](assets/image-20240520183123231.png) - 接口详情 ![image-20240520183156258](assets/image-20240520183156258.png) - 接口调用 ![image-20240519164213306](assets/image-20240519164213306.png) - 接口购买 ![image-20240520183242823](assets/image-20240520183242823.png) - 接口支付 ![image-20240520183345803](assets/image-20240520183345803.png) + 我的接口 ![image-20240520183435828](assets/image-20240520183435828.png) - 接口管理 ![image-20240520183504182](assets/image-20240520183504182.png) - 接口分析 ![image-20240520183534594](assets/image-20240520183534594.png) - 用户管理 ![image-20240520183556020](assets/image-20240520183556020.png) - 个人中心 ![image-20240520183637929](assets/image-20240520183637929.png) ## 项目背景   我的初衷是尽可能帮助和服务更多的用户和开发者,让他们更加方便快捷的获取他们想要的信息和功能。 接口平台可以帮助开发者快速接入一些常用的服务,从而提高他们的开发效率,比如随机头像,随机壁纸,随机动漫图片(二次元爱好者专用)等服务,他们是一些应用或者小程序常见的功能,所以提供这些接口可以帮助开发者更加方便地实现这些功能。这些接口也可以让用户在使用应用时获得更加全面的功能和服务,从而提高他们的用户体验 ## 系统架构 ![系统架构图](assets/API系统架构图.png) ## 技术栈 ### 前端技术栈 - 开发框架:React、Umi - 脚手架:Ant Design Pro - 组件库:Ant Design、Ant Design Components - 语法扩展:TypeScript、Less - 打包工具:Webpack - 代码规范:ESLint、StyleLint、Prettier ### 后端技术栈 - 主语言:Java - 框架:SpringBoot 2.7.0、Mybatis-plus、Spring Cloud - 数据库:Mysql8.0、Redis - 中间件:RabbitMq - 注册中心:Nacos - 服务调用:Dubbo - 网关:Spring Cloud Gateway - 负载均衡:Spring cloud Loadbalancer ## 项目模块 - api-frontend :为项目前端,前端项目启动具体看readme.md文档 - api-common :为公共封装类(如公共实体、公共常量,统一响应实体,统一异常处理) - api-backend :为接口管理平台,主要包括用户、接口相关的功能 - api-gateway :为网关服务,**涉及到网关限流,统一鉴权,统一日志处理,接口统计,接口数据一致性处理** - api-order :为订单服务,主要涉及到接口的购买等 - api-third-party:为第三方服务,主要涉及到腾讯云短信、支付宝沙箱支付功能 - api-interface:为接口服务,提供可供调用的接口 - api-sdk:提供给开发者的SDK ## 功能模块 > 🌟 亮点功能 🚀 未来计划 - 用户、管理员 - 🌟登录注册:使用令牌桶算法实现手机短信(邮箱)接口的限流,保护下游服务 - 个人主页,包括上传头像,显示密钥,重新生成ak,sk - 管理员:用户管理 - 管理员:接口管理 - 管理员:接口分析、订单分析 - 接口 - 浏览接口信息 - 🌟 数字签名校验接口调用权限 - 🌟 SDK调用接口 - 接口搜索 (🚀 ) - 购买接口 - 下载SDK - 用户上传自己的接口(🚀) - 订单 - 创建订单 - 订单超时回滚 - 支付宝沙箱支付 ## 快速上手 ### 后端 1. 将各模块配置修改成你自己本地的端口、账号、密码 2. 启动Nacos、Mysql、Redis、RabbitMq 3. 将公共服务 api-common 以及客户端 SDK 安装到本地仓库 4. 按顺序启动服务 服务启动顺序参考: 1. api-backend 2. api-order 3. api-gateway 4. api-third-party 5. api-interface ### 前端 环境要求:Node.js >= 16 安装依赖: ``` yarn ``` 启动: ``` npm run start:dev ``` **注意:如果想要体验订单和支付业务并且没有个人云服务器的,需要配置内网穿透才能体验(非必要)** ## 欢迎贡献 项目需要大家的支持,期待更多小伙伴的贡献,你可以: - 对于项目中的Bug和建议,能够在Issues区提出建议,我会积极响应