{"repo":"lip5201/Mercury-Digital","free":true,"listed":false,"github":"https://github.com/lip5201/Mercury-Digital","clone":"git clone https://github.com/lip5201/Mercury-Digital.git","description":"开源数字商品交易平台后端服务，支持文件下载、卡密销售、Wiki订阅等多态商品类型，内置基于go-plugin的插件系统和JWT双令牌认证","language":"Go","stars":13,"topics":["digital-goods","docker","gin","go","gorm","jwt","microkernel","open-source","plugin-system","postgresql"],"license":"MIT","category":"databases-storage","readme_excerpt":"Mercury Digital - 数字商品交易平台 Mercury Digital 是一个基于 Go 语言构建的高性能数字商品交易平台后端服务，支持文件下载、卡密销售、Wiki 订阅等多态商品类型，内置强大的插件系统和完善的用户权限管理。 ✨ 核心特性 - 🏗️ 分层架构 : kernel（基础设施）→ modules（业务）→ pkg（通用）的清晰架构 - 🔐 JWT 双令牌认证 : Access Token + Refresh Token，支持角色权限控制（customer/owner） - 💰 多态商品系统 : 支持 file（文件）、card（卡密）、wiki（订阅）三种商品类型 - 🎯 VIP 分档定价 : Silver/Gold/Plat 三级 VIP 享受不同折扣 - 🔌 插件扩展机制 : 基于 hashicorp/go-plugin 和 gRPC 的独立进程插件系统 - 📦 存储抽象层 : 支持本地存储和云存储插件扩展 - ⚡ 高性能 : Gin Web 框架 + PostgreSQL + Redis 缓存 - 🛡️ 生产级特性 : 链路追踪、限流、CORS、Gzip、审计日志、优雅关闭 📋 技术栈 类别 技术 ------ ------ 语言 Go 1.23.2 Web 框架 Gin v1.10.1 ORM GORM v1.25.12 数据库 PostgreSQL 16 缓存 Redis 7 认证 JWT (HS256) 配置管理 Viper v1.19.0 日志 Logrus v1.9.4 插件系统 hashicorp/go-plugin + gRPC + Protobuf 🚀 快速开始 前置要求 - Go 1.21+ - Node.js 18+ - PostgreSQL 14+ - Redis 6+ 方式一：Docker Compose（推荐） 一键启动所有服务（PostgreSQL + Redis + Mercury Digital API）： 方式二：本地运行 详细安装指南请参考 INSTALL.md。 1. 配置数据库 编辑 config.yaml ： 2. 启动后端 后端启动后会自动检测系统安装状态，首次运行会生成临时安装令牌。 3. 启动前端 4. 完成安装 打开浏览器访问 http://localhost:3000 ，按向导完成系统安装。 5. 验证安装 📁 项目结构 📖 API 文档 基础信息 - Base URL : http://localhost:8080/api/v1 - 认证方式 : JWT Bearer Token - 响应格式 : JSON 主要端点 认证模块（公开） 方法 路径 说明 ------ ------ ------ POST /auth/register 用户注册 POST /auth/login 用户登录 POST /auth/token/refresh 刷新 Token 消费者端（需登录） 方法 路径 说明 ------ ------ ------ GET /customer/me 获取个人资料 PUT /customer/me 更新资料 POST /customer/orders 创建订单 GET /customer/products 浏览商品 管理员端（仅 owner） 方法 路径 说明 ------ ------ ------ GET /owner/users 用户列表 POST /owner/products 发布商品 POST /owner/use","default_branch":null,"files":null,"tree":[],"storefront":"/r/lip5201","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/lip5201/Mercury-Digital/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}