# TechLink Platform **Repository Path**: cxuq/tech-link-platform ## Basic Information - **Project Name**: TechLink Platform - **Description**: 统一的技术产品门户展示平台:实现数据提供方与数据使用方的对接,提供产品展示、接口调用、在线调测、付费管理、发票管理、审计统计等能力,并集成千问百炼 API。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-28 - **Last Updated**: 2026-09-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 技术对接平台(TechLink Platform) 统一的技术产品门户展示平台:实现**数据提供方与数据使用方**的对接,提供产品展示、接口调用、在线调测、付费管理、发票管理、审计统计等能力,并集成千问百炼 API。 > 详细设计请见 [docs/](./docs) 目录。 ## 一、目录结构 ``` jiekou/ ├── backend/ # 后端(Spring Boot 2.7 + Spring Cloud 微服务) │ ├── common/ # 公共模块:统一返回、异常、工具类 │ ├── gateway/ # 网关服务:路由转发、限流、认证、日志 (9000) │ ├── service-user/ # 用户服务:注册/登录/实名认证/权限 (9101) │ ├── service-product/ # 产品服务:产品展示、接口管理、版本 (9102) │ ├── service-order/ # 订单服务:订单创建与管理 (9103) │ ├── service-payment/ # 支付服务:支付宝/微信/二维码、支付审核 (9104) │ ├── service-api/ # 接口服务:接口代理调用、调用日志 (9105) │ ├── service-qianwen/ # 千问服务:百炼 API 集成、数据源配置 (9106) │ ├── service-invoice/ # 发票服务:开票申请与管理 (9107) │ ├── service-audit/ # 审计服务:审计日志、调用统计 (9108) │ └── docker-compose.yml # 本地中间件:MySQL/Redis/Mongo/RabbitMQ/MinIO/ES ├── frontend/ # 前端(Vue3 + TypeScript + Element Plus + Vite) │ └── src/ │ ├── api/ # 接口请求封装 │ ├── router/ # 路由 │ ├── store/ # 状态管理 (Pinia) │ ├── views/ # 页面:门户首页/产品市场/接口调测台/用户中心/ │ │ # 千问体验与配置/统计看板/审计日志/管理后台 │ └── ... ├── docs/ # 项目文档 │ ├── 01-架构图.md │ ├── architecture.svg │ ├── 02-框架设计文档.md │ ├── 03-数据库设计文档.md │ ├── 04-打包部署文档.md │ ├── 05-运维手册.md │ ├── 06-帮助文档.md │ ├── 07-开发计划.md │ └── 08-接口清单与联调记录.md ├── .gitignore └── README.md ``` ## 二、技术栈 | 层级 | 选型 | |------|------| | 前端 | Vue3 + TypeScript + Vite + Element Plus + Pinia + Vue Router | | 后端 | Spring Boot 2.7.x + Spring Cloud 2021.0.x | | 网关 | Spring Cloud Gateway(路由/限流/认证/日志) | | 数据库 | MySQL 8.0(主存储)、MongoDB(接口文档/调用日志) | | 缓存 | Redis 6.x(会话、热点数据) | | 消息队列 | RabbitMQ(异步处理、日志收集) | | 对象存储 | MinIO(文件、图片存储) | | 搜索 | Elasticsearch(产品搜索、日志检索) | | 容器化 | Docker + docker-compose(可扩展 K8s) | | 监控 | Spring Boot Actuator + Prometheus + Grafana | ## 三、快速开始 ### 1. 启动本地中间件(需先安装 Docker) ```bash cd backend docker compose up -d # 启动 MySQL/Redis/MongoDB/RabbitMQ/Elasticsearch bash scripts/check-services.sh # 自检:容器状态、端口连通性、MySQL 库表 ``` 国内网络下若拉取镜像超时(Docker Hub 直连不通),改用加速源脚本: ```bash bash scripts/pull-images.sh # 多源轮换拉取镜像并重打官方标签 bash scripts/pull-images.sh minio # 只补拉指定镜像 ``` 可选:MinIO(对象存储)镜像仅 Docker Hub 一处来源,网络受限时暂不启动,核心功能不受影响: ```bash docker compose --profile oss up -d minio ``` MySQL 首次启动会自动执行 `backend/docker/mysql/init/*.sql`,创建 8 个库与全部表,并写入 1 个演示产品与 2 条付费标准。 ### 2. 启动后端 ```bash cd backend mvn clean install -DskipTests # 方式一:jar 直接启动(推荐,可显式指定端口) # 注意:若环境存在 SERVER__PORT / SERVER_PORT 等变量会覆盖 yml 端口, # 命令行参数优先级最高,显式指定最稳妥。 java -jar gateway/target/gateway-1.0.0-SNAPSHOT.jar --server.port=9000 java -jar service-user/target/service-user-1.0.0-SNAPSHOT.jar --server.port=9101 java -jar service-product/target/service-product-1.0.0-SNAPSHOT.jar --server.port=9102 java -jar service-order/target/service-order-1.0.0-SNAPSHOT.jar --server.port=9103 # ... 其余服务同理,端口分配见上表 # 方式二:Maven 插件启动(开发期) mvn -pl gateway spring-boot:run ``` > Windows 下正在运行的 jar 会锁定文件,导致重新打包报 > `Unable to rename ... .jar to .jar.original`,**改代码后请先停掉对应服务再构建**。 当前已实现的模块:用户与认证(P1)、产品与接口管理(P2)、在线调测与代理调用(P3)、 交易链路与支付/发票(P4)、千问百炼集成(P5)、审计统计与管理后台(P6), **全链路集成测试(P7-1,112 项断言三轮连跑全通过)**; 接口清单与联调示例见 [docs/08-接口清单与联调记录.md](docs/08-接口清单与联调记录.md), 测试报告见 [docs/09-测试报告.md](docs/09-测试报告.md)。 联调前先取令牌(JWT 有效期 24 小时,过期重跑即可): ```bash python backend/scripts/dev-login.py # 刷新全部角色令牌 python backend/scripts/dev-login.py --check # 只检查剩余有效期 python backend/scripts/test-p7-e2e.py # 全链路集成测试 ``` 对外代理调用入口约定为 `{方法} /proxy/{产品编码}{接口路径}`,例如 `POST /proxy/QWEN_QA/chat`: 需登录,订购鉴权通过后转发到接口配置的上游地址;接口未配置上游时返回带 `mocked=true` 的模拟响应。 该入口返回**真实 HTTP 状态码**(403 未订购 / 404 不存在 / 405 方法不匹配 / 429 限流 / 502 上游不可达 / 504 超时), 与平台内部页面「HTTP 200 + 业务码」的约定不同。 ### 3. 启动前端 ```bash cd frontend npm install npm run dev # 访问 http://localhost:5173 ``` ## 四、文档导航 | 文档 | 内容 | |------|------| | [01-架构图.md](docs/01-架构图.md) | 整体架构分层图、部署架构图 | | [02-框架设计文档.md](docs/02-框架设计文档.md) | 技术选型、模块划分、核心类设计、代码规范 | | [03-数据库设计文档.md](docs/03-数据库设计文档.md) | 全量表结构、索引设计、ER 关系 | | [04-打包部署文档.md](docs/04-打包部署文档.md) | 构建、镜像打包、环境部署步骤 | | [05-运维手册.md](docs/05-运维手册.md) | 日常运维、监控告警、备份恢复、故障处置 | | [06-帮助文档.md](docs/06-帮助文档.md) | 使用者上手指南、常见问题 FAQ | | [07-开发计划.md](docs/07-开发计划.md) | 阶段划分、WBS 人天估算、Sprint 排期、里程碑、风险应对 | | [08-接口清单与联调记录.md](docs/08-接口清单与联调记录.md) | 已实现接口清单、请求示例、返回码约定、端到端实测记录 | | [09-测试报告.md](docs/09-测试报告.md) | P7-1 全链路集成测试:覆盖矩阵、发现与处置、遗留建议 |