# devcloud **Repository Path**: dengliyao/devcloud ## Basic Information - **Project Name**: devcloud - **Description**: No description available - **Primary Language**: Go - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-05-25 - **Last Updated**: 2025-09-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DevCloud 开发平台 ## 项目简介 DevCloud 是一个基于 Go 语言开发的多功能云开发平台,集成了博客管理、用户认证、SFTP 用户管理、OSS 文件上传、令牌管理等功能模块。项目采用模块化设计,便于扩展和维护,适用于企业级云服务平台的构建。 ## 技术栈 - **编程语言**: Go - **Web 框架**: Gin - **数据库**: MySQL(通过 GORM) - **依赖注入**: 自定义 IOC 容器 - **中间件**: Gin 中间件实现鉴权与权限控制 - **配置管理**: YAML、TOML 配置文件 - **工具库**: validator、oss、dingtalk、email 等 ## 核心功能模块 ### 博客管理(Blog) - 创建、查询、更新、删除博客文章 - 支持草稿与发布状态管理 - 提供 RESTful API 接口 ### 用户管理(User) - 用户注册与查询 - 密码加密与验证(MD5) - 角色权限管理(管理员、访客) ### SFTP 用户管理(SFTP) - 创建、查询、更新 SFTP 用户 - 用户路径管理 - 支持钉钉通知与邮件通知 - 用户密码加密存储 ### 令牌管理(Token) - 登录认证与 Token 发放 - Token 校验与注销 - 支持 Access Token 与 Refresh Token 机制 ### 文件上传(OSS) - 阿里云 OSS 文件上传支持 - 上传进度监听 - 支持配置校验与上传器初始化 ## 接口设计 采用 RESTful 风格设计接口,统一响应格式,支持以下核心接口: ### 博客接口 - `POST /blog/create`:创建博客 - `GET /blog/query`:查询博客 - `GET /blog/:id`:获取博客详情 - `PUT /blog/:id`:全量更新博客 - `PATCH /blog/:id`:部分更新博客 - `DELETE /blog/:id`:删除博客 - `POST /blog/status`:更新博客状态(草稿/发布) ### 用户接口 - `POST /user/create`:创建用户 - `GET /user/query`:查询用户信息 ### SFTP 接口 - `POST /sftp/user/create`:创建 SFTP 用户 - `GET /sftp/user/query`:查询 SFTP 用户 - `POST /sftp/user/path`:添加用户路径 ### 认证接口 - `POST /token/login`:登录获取 Token - `POST /token/logout`:注销 Token ## 项目结构 ``` mcenter/ ├── apps/ # 各业务模块 │ ├── blog/ # 博客模块 │ ├── user/ # 用户模块 │ ├── sftp/ # SFTP 用户模块 │ ├── token/ # 令牌模块 │ └── ossgo/ # 文件上传模块 ├── cmd/ # CLI 命令入口 ├── conf/ # 配置管理 ├── exception/ # 异常处理 ├── ioc/ # 依赖注入容器 ├── middleware/ # Gin 中间件 ├── response/ # 响应封装 ├── common/ # 公共工具函数 └── main.go # 程序入口 ``` ## 启动方式 ### 本地开发启动 ```bash cd mcenter go run main.go start --config etc/app.yml ``` ### 初始化数据库 ```bash go run main.go init ``` ## 配置说明 - `etc/app.yml`:主配置文件 - `etc/dingtalk.yaml`:钉钉通知配置 - `conf/email.toml`:邮件服务配置 ## 开发与测试 - 单元测试使用 Go Test 框架 - 测试入口:`blogtest/setup.go` - 使用 Gin 模拟请求进行接口测试