# nodeapi **Repository Path**: zesso/nodeapi ## Basic Information - **Project Name**: nodeapi - **Description**: > 基于PHP+MySQL+Redis开发的高性能API管理系统,专为中小型企业团队和个人开发者设计。轻松创建、发布、维护和商业化您的API接口服务。 - **Primary Language**: PHP - **License**: GPL-3.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-26 - **Last Updated**: 2026-09-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # NodeAPI - 一站式API管理平台 > 基于PHP+MySQL+Redis开发的高性能API管理系统,专为中小型企业团队和个人开发者设计。轻松创建、发布、维护和商业化您的API接口服务。 ## 核心特性 - **高性能架构** - 基于Redis缓存和MySQL优化,支持高并发API请求处理 - **全生命周期管理** - 从API创建、测试、发布到监控和维护 - **深度数据可视化** - 多维度数据分析与可视化展示 - **7种计费模式** - 免费测试/按量计费/次数包/余额计费/全站会员/接口包月/试用功能 - **多用户管理** - 完善的用户权限体系,独立API密钥 - **企业级安全** - QPS限流、IP白名单、域名白名单、API签名验证 - **多主题支持** - 默认/浅色/深色/夜晚自动切换 ## 技术栈 | 组件 | 版本要求 | 说明 | |------|---------|------| | PHP | >= 7.4 | 推荐PHP 8.0+ | | MySQL | >= 5.7 | 推荐MySQL 8.0 | | Redis | >= 5.0 | 高性能缓存 | | Web服务器 | Nginx/Apache | 推荐Nginx | ## 功能模块 ### 公共前台 - 首页(产品介绍、特性展示、热门API、价格方案) - API市场(分类浏览、搜索筛选、瀑布流展示) - API详情(文档、参数、示例代码、在线调试、评论) - 文章博客系统 - 帮助文档 - 用户注册/登录/找回密码 ### 用户中心 - 数据可视化仪表盘(调用趋势、时段分布、接口TOP) - API密钥管理(创建/删除/重置、IP白名单、签名校验) - 请求日志(查看/导出CSV) - 统计分析(多维度数据分析) - 充值中心(支付宝/微信支付) - 订单记录 - 工单系统 - CDK兑换 - 推广返佣 - 实名认证 - 发票管理 - 个人设置 ### 管理后台 - 全局数据大屏(请求数据、收入统计、用户增长) - API接口管理(在线编辑代码、转发配置、参数管理、在线调试) - 接口分类管理 - 用户管理(查看/禁用/调整余额) - 订单管理 - 套餐管理 - 文章管理 - 工单管理 - CDK管理(批量生成兑换码) - 实名认证审核 - 请求日志/登录日志 - 系统设置(站点配置、API配置、业务配置) - 支付配置(支付宝/微信) ### API网关核心 - KEY身份验证 - IP/域名白名单 - 签名校验 - QPS限流(Redis实现) - 日请求限制 - 七种计费模式 - 缓存机制 - 请求日志记录 - IP封禁 - 统一JSON返回格式 ## 安装部署 ### 环境要求 - PHP 7.4+ (需安装pdo_mysql, redis, curl, mbstring扩展) - MySQL 5.7+ - Redis 5.0+ - Nginx 或 Apache ### 安装步骤 1. **上传源码** 将源码上传到服务器Web目录 2. **设置目录权限** ```bash chmod -R 755 storage/ chmod -R 755 config/ ``` 3. **配置Web服务器** Nginx配置参考 `nginx.conf.example` Apache直接使用 `.htaccess` 4. **运行安装向导** 访问 `http://your-domain.com/install.php` 按照向导完成数据库配置、Redis配置、管理员设置 5. **删除安装文件** ```bash rm install.php ``` ### 默认账号 | 角色 | 邮箱 | 密码 | |------|------|------| | 管理员 | admin@nodeapi.com | admin123 | | 测试用户 | test@qq.com | test123 | ## 目录结构 ``` nodeapi/ ├── app/ # 应用核心 │ ├── controllers/ # 控制器 │ ├── core/ # 核心框架 │ ├── helpers/ # 助手函数 │ ├── models/ # 数据模型 │ ├── views/ # 视图模板 │ └── routes.php # 路由定义 ├── config/ # 配置文件 │ ├── app.php │ ├── database.php │ ├── redis.php │ └── payment.php ├── database/ # 数据库 │ ├── schema.sql # 数据表结构 │ └── seeds.php # 种子数据 ├── public/ # Web根目录 │ ├── static/ # 静态资源 │ │ ├── css/ │ │ └── js/ │ └── index.php # 入口文件 ├── storage/ # 存储目录 │ ├── logs/ │ ├── cache/ │ └── uploads/ ├── install.php # 安装向导 ├── nginx.conf.example # Nginx配置示例 └── .htaccess # Apache配置 ``` ## API调用示例 ### cURL ```bash curl "https://your-domain.com/v1/ip-query?key=YOUR_API_KEY&ip=8.8.8.8" ``` ### PHP ```php 'YOUR_API_KEY', 'ip' => '8.8.8.8']; $url = "https://your-domain.com/v1/ip-query?" . http_build_query($params); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); echo $response; ``` ### Python ```python import requests params = {'key': 'YOUR_API_KEY', 'ip': '8.8.8.8'} response = requests.get('https://your-domain.com/v1/ip-query', params=params) print(response.json()) ``` ### JavaScript ```javascript const params = { key: 'YOUR_API_KEY', ip: '8.8.8.8' }; fetch('https://your-domain.com/v1/ip-query?' + new URLSearchParams(params)) .then(response => response.json()) .then(data => console.log(data)); ``` ## 统一返回格式 ```json { "code": 200, "msg": "success", "data": {}, "time": "2024-01-01 12:00:00", "request_id": "abc123", "response_time": 25 } ``` ## 计费模式说明 | 模式 | 说明 | |------|------| | 免费测试 | 每个接口提供免费测试次数 | | 按量计费 | 每次调用从余额扣费 | | 次数包 | 预付费购买调用次数 | | 余额计费 | 从账户余额扣费 | | 全站会员 | 月/季/年会员,全站无限调用 | | 接口包月 | 单个接口包月使用 | | 试用功能 | 免费试用指定次数 | ## 安全特性 - API Key身份验证 - IP白名单/黑名单 - 域名白名单 - 签名校验(MD5) - QPS限流(Redis实现) - 日请求限制 - CSRF防护 - 密码bcrypt加密 - 敏感操作日志记录