close
Skip to content

johanlaogai/gocorp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoCorp

一个完整的企业官网解决方案,基于 Go + Nuxt 3 构建,包含前端展示、后台管理和 API 服务。

技术栈

后端

  • Go 1.21+ - 后端语言
  • Gin - Web 框架
  • GORM - ORM 框架
  • MySQL 8.0 - 数据库
  • Redis - 缓存
  • MinIO - 对象存储

前端

  • Nuxt 3 - Vue 3 全栈框架
  • Tailwind CSS - CSS 框架
  • shadcn-vue - UI 组件库
  • Pinia - 状态管理
  • Lucide Icons - 图标库

项目结构

gocorp/
├── backend/                 # Go 后端
│   ├── cmd/server/         # 入口文件
│   ├── internal/           # 内部代码
│   │   ├── config/         # 配置
│   │   ├── handler/        # HTTP 处理器
│   │   ├── middleware/     # 中间件
│   │   ├── model/          # 数据模型
│   │   └── router/         # 路由
│   ├── pkg/                # 公共包
│   │   ├── database/       # 数据库
│   │   ├── redis/          # Redis
│   │   ├── storage/        # 文件存储
│   │   ├── response/       # 响应
│   │   └── utils/          # 工具
│   ├── config.yaml         # 配置文件
│   └── Dockerfile
│
├── frontend/               # 前端 (用户端)
│   ├── assets/            # 静态资源
│   ├── components/        # 组件
│   ├── composables/       # 组合式函数
│   ├── layouts/           # 布局
│   ├── pages/             # 页面
│   ├── stores/            # 状态管理
│   ├── types/             # 类型定义
│   └── Dockerfile
│
├── admin/                  # 管理后台
│   ├── assets/
│   ├── components/
│   ├── composables/
│   ├── layouts/
│   ├── middleware/
│   ├── pages/
│   ├── stores/
│   └── Dockerfile
│
├── docker-compose.yml
└── README.md

功能特性

前端页面

  • ✅ 首页 (Hero、特色、产品、文章、评价)
  • ✅ 产品中心 (列表、筛选、搜索、详情)
  • ✅ 新闻动态 (列表、详情)
  • ✅ 关于我们
  • ✅ 联系我们 (表单提交)
  • ✅ 常见问题 (FAQ)
  • ✅ 客户评价
  • ✅ 响应式设计
  • ✅ SEO 优化

后台管理

  • ✅ 仪表盘 (统计概览)
  • ✅ 产品管理 (CRUD)
  • ✅ 文章管理 (CRUD)
  • ✅ 分类管理
  • ✅ 标签管理
  • ✅ 咨询管理
  • ✅ 评价管理
  • ✅ FAQ 管理
  • ✅ Banner 管理
  • ✅ 系统设置

API 功能

  • ✅ JWT 认证
  • ✅ RESTful API
  • ✅ 文件上传
  • ✅ 分页查询
  • ✅ 数据导出

快速开始

1. 克隆项目

git clone https://github.com/YOUR_USERNAME/gocorp.git
cd gocorp

2. 使用 Docker Compose 启动

# 复制环境变量
cp .env.example .env

# 启动所有服务
docker-compose up -d

3. 本地开发

后端

cd backend

# 安装依赖
go mod tidy

# 运行
go run cmd/server/main.go

前端

cd frontend

# 安装依赖
npm install

# 开发模式
npm run dev

管理后台

cd admin

# 安装依赖
npm install

# 开发模式
npm run dev

访问地址

服务 地址 说明
前端 http://localhost:3000 用户端网站
后台 http://localhost:3001 管理后台
API http://localhost:8080 后端 API
MinIO http://localhost:9001 对象存储控制台

默认账号

  • 管理后台: admin / admin123
  • MinIO: minioadmin / minioadmin

API 文档

公开 API

方法 路径 说明
GET /api/products 产品列表
GET /api/products/:slug 产品详情
GET /api/articles 文章列表
GET /api/articles/:slug 文章详情
GET /api/categories 分类列表
GET /api/faq FAQ 列表
GET /api/reviews 评价列表
POST /api/inquiries 提交咨询
GET /api/banners Banner 列表
GET /api/settings 网站设置

管理 API

所有管理 API 需要 Bearer Token 认证,前缀为 /api/admin

环境变量

后端 (config.yaml)

server:
  port: "8080"
  mode: "debug"  # debug / release

database:
  host: "localhost"
  port: "3306"
  user: "root"
  password: "your_password"
  dbname: "b2b_website"

redis:
  host: "localhost"
  port: "6379"

minio:
  endpoint: "localhost:9000"
  accesskey: "minioadmin"
  secretkey: "minioadmin"
  bucket: "b2b-website"

jwt:
  secret: "your-jwt-secret"
  expiretime: 24  # hours

前端

NUXT_PUBLIC_API_BASE=http://localhost:8080/api

部署

生产环境配置

  1. 修改 backend/config.yaml 中的数据库密码和 JWT 密钥
  2. 修改 .env 文件中的环境变量
  3. 配置反向代理 (Nginx)
  4. 配置 SSL 证书

Nginx 配置示例

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }

    location /api {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

server {
    listen 80;
    server_name admin.example.com;

    location / {
        proxy_pass http://localhost:3001;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

许可证

MIT License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors