Files
NetworkAuth/README.md

219 lines
5.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# NetworkDev
一个基于 Go 语言开发的网络设备管理系统,提供应用程序管理、用户认证、卡片管理等功能的 Web 管理平台。
## 功能特性
### 🚀 核心功能
- **应用管理**: 支持应用的增删改查、版本管理、状态控制
- **更新管理**: 支持自动更新、手动下载、强制更新等多种更新方式
- **用户管理**: 完整的用户认证和权限管理系统
- **卡片管理**: 支持多种卡片类型的管理和统计
- **系统设置**: 灵活的系统配置和参数管理
### 🔧 技术特性
- **RESTful API**: 标准的 REST API 接口设计
- **JWT 认证**: 基于 JWT 的安全认证机制
- **数据库支持**: 支持 MySQL 和 SQLite 数据库
- **Redis 缓存**: 集成 Redis 缓存提升性能
- **日志系统**: 完整的日志记录和管理
- **配置管理**: 基于 Viper 的灵活配置系统
### 🎨 界面特性
- **响应式设计**: 支持多种设备和屏幕尺寸
- **现代化 UI**: 基于 LayUI 的现代化管理界面
- **主题支持**: 支持明暗主题切换
- **实时更新**: 支持数据的实时刷新和更新
## 技术栈
- **后端**: Go 1.24.1
- **Web 框架**: 原生 net/http + 自定义路由
- **数据库**: GORM + MySQL/SQLite
- **缓存**: Redis
- **认证**: JWT
- **日志**: Logrus
- **配置**: Viper
- **前端**: LayUI + JavaScript
## 项目结构
```
networkDev/
├── cmd/ # 命令行工具
├── config/ # 配置文件和配置管理
├── constants/ # 常量定义
├── controllers/ # 控制器层
│ ├── admin/ # 管理后台控制器
│ └── home/ # 前台控制器
├── database/ # 数据库相关
├── middleware/ # 中间件
├── models/ # 数据模型
├── server/ # 服务器路由配置
├── services/ # 业务逻辑层
├── utils/ # 工具函数
│ ├── logger/ # 日志工具
│ ├── taskutil/ # 任务工具
│ └── timeutil/ # 时间工具
└── web/ # Web 资源
├── static/ # 静态资源
└── template/ # 模板文件
```
## 快速开始
### 环境要求
- Go 1.24.1 或更高版本
- MySQL 5.7+ 或 SQLite 3
- Redis (可选,用于缓存)
### 安装步骤
1. **克隆项目**
```bash
git clone <repository-url>
cd networkDev
```
2. **安装依赖**
```bash
go mod download
```
3. **配置数据库**
复制配置文件并修改数据库连接信息:
```bash
cp config/config.json.example config/config.json
```
编辑 `config/config.json` 文件,配置数据库连接参数。
4. **运行项目**
```bash
go run main.go server
```
5. **访问系统**
打开浏览器访问: `http://localhost:8080`
### 配置说明
主要配置文件位于 `config/config.json`,包含以下配置项:
- **服务器配置**: 端口、主机地址等
- **数据库配置**: 数据库类型、连接参数等
- **Redis 配置**: Redis 连接参数
- **JWT 配置**: JWT 密钥和过期时间
- **日志配置**: 日志级别和输出方式
### 命令行工具
项目提供了命令行工具支持:
```bash
# 启动服务器
go run main.go server
# 指定端口启动
go run main.go server -p 8080
# 指定主机和端口
go run main.go server -H 0.0.0.0 -p 8080
```
## API 文档
### 认证接口
- `POST /admin/api/auth/login` - 用户登录
- `POST /admin/api/auth/logout` - 用户登出
### 应用管理接口
- `GET /admin/api/apps/list` - 获取应用列表
- `POST /admin/api/apps/create` - 创建应用
- `PUT /admin/api/apps/update` - 更新应用
- `DELETE /admin/api/apps/delete` - 删除应用
### 用户管理接口
- `GET /admin/api/users/list` - 获取用户列表
- `POST /admin/api/users/create` - 创建用户
- `PUT /admin/api/users/update` - 更新用户
- `DELETE /admin/api/users/delete` - 删除用户
## 开发指南
### 代码规范
- 遵循 Go 官方代码规范
- 使用 gofmt 格式化代码
- 添加必要的注释和文档
- 遵循 RESTful API 设计原则
### 数据库迁移
项目使用 GORM 自动迁移功能,启动时会自动创建和更新数据库表结构。
### 日志系统
项目集成了完整的日志系统,支持:
- 不同级别的日志记录
- HTTP 请求日志
- 服务器状态日志
- 自定义日志格式
## 部署
### Docker 部署
```bash
# 构建镜像
docker build -t networkdev .
# 运行容器
docker run -d -p 8080:8080 networkdev
```
### 生产环境部署
1. 编译生产版本
```bash
go build -o networkdev main.go
```
2. 配置生产环境配置文件
3. 使用进程管理工具(如 systemd管理服务
## 贡献指南
1. Fork 本项目
2. 创建特性分支 (`git checkout -b feature/AmazingFeature`)
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 创建 Pull Request
## 许可证
本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。
## 联系方式
如有问题或建议,请通过以下方式联系:
- 提交 Issue
- 发送邮件
- 创建 Pull Request
## 更新日志
### v1.0.0
- 初始版本发布
- 基础的应用管理功能
- 用户认证系统
- 管理后台界面
---
**注意**: 本项目仍在积极开发中,功能和 API 可能会发生变化。