# ghost-backend-microservice **Repository Path**: lzdghost/ghost-backend-microservice ## Basic Information - **Project Name**: ghost-backend-microservice - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-08-15 - **Last Updated**: 2024-12-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

智桥API

智桥API 是一个为用户和开发者提供全面API的接口调用与智能分析平台

## 项目介绍 **作为用户您可以通过注册登录账户,获取接口调用权限,并根据自己的需求浏览和选择适合的接口。您可以在线进行接口调试,快速验证接口的功能和效果。除此之外,您只需要导入原始数据集、并输入分析诉求,就能自动生成可视化图表和分析结论,实现数据分析的降本增效。** **作为开发者 我们提供了[客户端SDK: 智桥API-SDK](https://gitee.com/lzdghost/ghostapi-client-sdk), 通过[开发者凭证]即可将轻松集成接口到您的项目中,实现更高效的开发和调用。** **我们还提供了[开发者在线文档](https://www.yuque.com/yuqueyonghundou6b/ftwkbi/ar2tew6n123ta10g)和技术支持,帮助您快速接入和发布接口。** **无论您是用户还是开发者,智桥API 都致力于提供稳定、安全、高效的接口调用和智能分析服务,帮助您实现更快速、便捷的开发和调用体验。** ## 网站导航 - **[智桥API 后端](https://gitee.com/lzdghost/ghost-backend-microservice.git)** - **[智桥API 前端](https://gitee.com/lzdghost/ghost-frontend-microservice.git)** - **[智桥API-SDK](https://gitee.com/lzdghost/ghostapi-client-sdk)** - **[智桥API-DOC 开发者文档 ](https://www.yuque.com/yuqueyonghundou6b/ftwkbi/ar2tew6n123ta10g)** - **[智桥API-SDK-demo ](https://gitee.com/lzdghost/sdk-demo)** ## 项目流程图 ![架构](https://edughost.oss-cn-beijing.aliyuncs.com/%E9%A1%B9%E7%9B%AE%E6%9E%B6%E6%9E%84%E5%9B%BE/%E6%99%BA%E6%A1%A5API/%E6%9E%B6%E6%9E%84.png) ![登录注册](https://edughost.oss-cn-beijing.aliyuncs.com/%E9%A1%B9%E7%9B%AE%E6%9E%B6%E6%9E%84%E5%9B%BE/%E6%99%BA%E6%A1%A5API/%E7%99%BB%E5%BD%95%E6%B3%A8%E5%86%8C.png) ![API调用](https://edughost.oss-cn-beijing.aliyuncs.com/%E9%A1%B9%E7%9B%AE%E6%9E%B6%E6%9E%84%E5%9B%BE/%E6%99%BA%E6%A1%A5API/API%E8%B0%83%E7%94%A8.png) ![智能分析流程](README.assets/智能分析.png) ![订单流程](https://edughost.oss-cn-beijing.aliyuncs.com/%E9%A1%B9%E7%9B%AE%E6%9E%B6%E6%9E%84%E5%9B%BE/%E6%99%BA%E6%A1%A5API/%E8%AE%A2%E5%8D%95.png) ## 快速启动 ### 前端 安装依赖: ```bash npm install ``` 启动: ```bash npm run dev ``` ### 后端 数据库:执行sql目录下create_table.sql ## 技术选型 ### **后端** - Spring - Spring MVC - Mybatis-Plus - Mybatis X - Spring Boot - Spring Scheduler定时任务 - MySQL - Redis - Redisson 分布式锁 - Spring Cloud - Spring Cloud Gateway 微服务网关 - API 签名认证(Http 调用) - Spring Boot Starter(SDK 开发) - Spring Session Redis 分布式登录 - AliPay-SandBox 支付宝沙箱支付 - 阿里云OSS对象存储、SMS短信服务 - Apache Commons Lang3 工具类 - Hutool、Apache Common Utils等工具库 - Swagger + Knife4j 接口文档 ### 前端 - React 18 - Ant Design Pro 5.x 脚手架 - Ant Design & Procomponents 组件库 - Umi 4 前端框架 - OpenAPI 前端代码生成 ## 项目亮点 - 为防止接口被恶意调用,设计**API签名认证算法**,为用户分配**唯一AK/SK**以鉴权,保障调用的安全性、可溯源性。 - 为解决开发者调用成本过高的问题,基于Spring Boot Starter开发了**客户端SDK**,一行代码即可调用按口,提高开发体验。 - 后端**自定义Prompt预设模板**并封装用户输入的数据和分析诉求,通过**对接AIGC接口**生成可视化图表json配置和分析结论,返回给前端染, - 由于AIGC的输入Token限制,使用Easy Excel解析用户上传的XLSX表格数据文件并压缩为CSV,实测提高了20%的单次输入数据量、并节约了成本。 - 为保证系统的安全性,对用户上传的原始数据文件进行了后缀名、大小、内容等多重校验。 - 为防止某用户恶意占用系统资源,基于Redisson的RateLimiter实现**分布式限流**,控制单用户访问的频率。 - 由于AIGC的响应时间较长,基于**自定义IO密集型线程池 + 任务队列**实现了AIGC的并发执行和异步化,提交任务后即可响应前端,提高用户体验。 - 使用**重试机制处理**超时生成的图表;使用**WebSocket**创建持久性连接,把图表的生成结果实时推送给用户,显著提升用户体验; - 由于本地任务队列重启丢失数据,使用RabbitMQ来接受并持久化任务消息,通过Direct交换机转发给解耦的AI生成模块消费并处理任务,并利用**死信队列**处理图表生成失败的消息,提高了系统的可靠性。 - 使用Redis对高频访问的信息进行缓存,用**布隆过滤器**解决缓存穿透,**随机TTL**解决缓存雪崩,**互斥锁**解决缓存击穿; - 使用**Redisson分布式锁**解决集群模式下重复下单和重复签到问题;使用**延迟队列**实现10分钟内未支付订单自动取消; - 使用Spring Cloud Gateway作为API网关,实现了**路由转发**、**访问控制**、**限流**等,并集中处理签名校验、请求参数校验、接口调用统计,积分使用等业务逻辑,提高安全性的同时,便于系统开发维护; - 使用Knife4j + Swagger自动生成后端接口文档,避免了人工编写维护文档的麻烦。 - 用户登录:使用Redis实现**分布式Session**,解决集群间登录态同步问题。 - 对于项目中复杂的集合处理,使用Java 8 Stream API和Lambda表达式来简化编码。 ## 功能展示 ### 登录 ![image-20241023164550823](README.assets/image-20241023164550823.png) ![image-20241023164559328](README.assets/image-20241023164559328.png) ### 注册 ![image-20241023164616258](README.assets/image-20241023164616258.png) ### 首页 ![image-20241023163118934](README.assets/image-20241023163118934.png) ### 接口广场 ![image-20241023163221925](README.assets/image-20241023163221925.png) ### 接口描述 #### 接口描述 ![image-20241023163342571](README.assets/image-20241023163342571.png) #### 在线调用 ![image-20241023163500569](README.assets/image-20241023163500569.png) #### API文档 ![image-20241023163641941](README.assets/image-20241023163641941.png) #### 错误码参考 ![image-20241023163552631](README.assets/image-20241023163552631.png) ### 智能分析 ![image-20241023163808519](README.assets/image-20241023163808519.png) ### 我的图表 ![image-20241023163854258](README.assets/image-20241023163854258.png) ### 积分商城 ![image-20241023164001559](README.assets/image-20241023164001559.png) ### 订单详情 ![image-20241023164043806](README.assets/image-20241023164043806.png) ### 支付宝沙箱支付 ![image-20241023165209117](README.assets/image-20241023165209117.png) ### 我的订单 ![image-20241023164135107](README.assets/image-20241023164135107.png) ### 统计分析 ![image-20241023164216574](README.assets/image-20241023164216574.png) ### 个人信息 #### 信息展示 ![image-20241023164245748](README.assets/image-20241023164245748.png) #### 每日签到 ![image-20241023164311099](README.assets/image-20241023164311099.png) ### 开放平台 ![image-20241023164425401](README.assets/image-20241023164425401.png) ### 管理页 #### 图表管理 ![image-20241023164745924](README.assets/image-20241023164745924.png) #### 接口管理 ![image-20241023164804667](README.assets/image-20241023164804667.png) #### 商品管理 ![image-20241023164828581](README.assets/image-20241023164828581.png) #### 订单管理 ![image-20241023164852850](README.assets/image-20241023164852850.png) ### 自定义风格 ![image-20241023164719656](README.assets/image-20241023164719656.png)