Files
NetworkAuth/README.md
2026-03-18 22:02:22 +08:00

8.3 KiB
Raw Blame History

NetworkDev开发中

一个基于 Go 语言开发的网络应用管理系统提供应用程序管理、API接口管理、变量管理、用户认证等功能的 Web 管理平台。

功能特性

🚀 核心功能

  • 应用管理: 支持应用的增删改查、版本管理、状态控制、密钥管理
  • API接口管理: 支持多种加密算法的API接口配置RC4、RSA、易加密等
  • 变量管理: 独立的变量系统,支持变量的增删改查和别名管理
  • 函数管理: 支持自定义函数代码管理,可绑定特定应用或全局使用
  • 用户管理: 完整的用户认证和权限管理系统
  • 系统设置: 灵活的系统配置和参数管理
  • 系统安装: 提供可视化的安装向导,轻松完成数据库和管理员配置
  • 仪表盘: 实时系统状态监控和统计数据展示
  • 日志审计: 详细的登录日志和操作日志记录,保障系统安全

🔧 技术特性

  • RESTful API: 标准的 REST API 接口设计
  • JWT 认证: 基于 JWT 的安全认证机制
  • 多种加密算法: 支持 RC4、RSA、RSA动态、易加密等多种加密方式
  • 数据库支持: 支持 MySQL 和 SQLite 数据库
  • Redis 缓存: 集成 Redis 缓存提升性能(可选)
  • Excel 导出: 支持数据导出为 Excel 文件
  • 日志系统: 完整的日志记录和管理,支持日志切割
  • 配置管理: 基于 Viper 的灵活配置系统

🎨 界面特性

  • 响应式设计: 支持多种设备和屏幕尺寸
  • 现代化 UI: 基于 LayUI 的现代化管理界面
  • 主题支持: 支持明暗主题切换
  • 实时更新: 支持数据的实时刷新和更新
  • 片段化加载: 采用 AJAX 片段加载提升用户体验

技术栈

  • 后端: Go 1.25.0
  • Web 框架: Gin + 自定义路由
  • 数据库: GORM + MySQL/SQLite
  • 缓存: Redis可选
  • 认证: JWT + 验证码
  • 日志: Logrus + Lumberjack
  • 配置: Viper
  • 前端: LayUI + JavaScript
  • 工具: Excelize (Excel导出)
  • 加密: 自定义加密工具包

项目结构

networkDev/
├── cmd/                    # 命令行工具
│   ├── root.go            # 根命令定义
│   └── server.go          # 服务器启动命令
├── config/                 # 配置文件和配置管理
│   ├── config.go          # 配置加载和验证
│   ├── security.go        # 安全配置
│   └── validator.go       # 配置验证器
├── constants/              # 常量定义
│   └── status.go          # 状态常量
├── controllers/            # 控制器层
│   ├── admin/             # 管理后台控制器
│   │   ├── api.go         # API接口管理
│   │   ├── app.go         # 应用管理
│   │   ├── auth.go        # 认证管理
│   │   ├── captcha.go     # 验证码管理
│   │   ├── function.go    # 函数管理
│   │   ├── handlers.go    # 通用处理器
│   │   ├── login_log.go   # 登录日志
│   │   ├── operation_log.go # 操作日志
│   │   ├── profile.go     # 个人资料
│   │   ├── settings.go    # 系统设置
│   │   ├── user.go        # 用户管理
│   │   └── variable.go    # 变量管理
│   ├── default/           # 默认控制器
│   ├── install/           # 安装向导控制器
│   └── base.go            # 基础控制器
├── database/              # 数据库相关
│   ├── database.go        # 数据库连接
│   ├── migrate.go         # 数据库迁移
│   └── settings.go        # 默认设置初始化
├── middleware/            # 中间件
│   ├── devmode.go         # 开发模式中间件
│   ├── install.go         # 安装检查中间件
│   ├── logging.go         # 日志中间件
│   └── maintenance.go     # 维护模式中间件
├── models/                # 数据模型
│   ├── api.go             # API接口模型
│   ├── app.go             # 应用模型
│   ├── function.go        # 函数模型
│   ├── login_log.go       # 登录日志模型
│   ├── operation_log.go   # 操作日志模型
│   ├── settings.go        # 系统设置模型
│   ├── user.go            # 用户模型
│   └── variable.go        # 变量模型
├── server/                # 服务器路由配置
│   ├── admin.go           # 管理后台路由
│   ├── default.go         # 默认路由
│   ├── install.go         # 安装路由
│   └── routes.go          # 路由注册
├── services/              # 业务逻辑层
│   ├── log_cleanup.go     # 日志清理服务
│   ├── operation_log.go   # 操作日志服务
│   ├── query.go           # 查询服务
│   └── settings.go        # 设置服务
├── utils/                 # 工具函数
│   ├── encrypt/           # 加密工具包
│   ├── excel/             # Excel工具
│   ├── logger/            # 日志工具
│   ├── timeutil/          # 时间工具
│   ├── cookie.go          # Cookie工具
│   ├── crypto.go          # 加密工具
│   ├── csrf.go            # CSRF防护
│   ├── database.go        # 数据库工具
│   └── errors.go          # 错误处理
└── web/                   # Web 资源
    ├── assets/            # 资源文件
    ├── static/            # 静态资源
    └── template/          # 模板文件
        ├── admin/         # 管理后台模板
        ├── default/       # 默认模板
        └── install/       # 安装向导模板

快速开始

环境要求

  • Go 1.25.0 或更高版本
  • MySQL 5.7+ 或 SQLite 3
  • Redis (可选,用于缓存)

安装步骤

  1. 克隆项目

    git clone <repository-url>
    cd networkDev
    
  2. 安装依赖

    go mod download
    
  3. 运行项目

    # 直接运行
    ./networkDev server
    
    # 或使用 go run
    go run main.go server
    
  4. 系统初始化

    打开浏览器访问: http://localhost:8080/install

    根据安装向导提示,配置数据库连接和管理员账号即可完成初始化。

命令行工具

项目基于 Cobra CLI 框架,提供了丰富的命令行工具支持:

# 查看帮助信息
./networkDev --help

# 启动服务器
./networkDev server

# 指定配置文件启动
./networkDev --config ./config.json server

# 指定端口启动 (覆盖配置文件)
./networkDev server -p 8080

API 文档

认证接口

  • POST /admin/api/auth/login - 用户登录
  • POST /admin/api/auth/logout - 用户登出
  • GET /admin/api/auth/captcha - 获取验证码

应用管理接口

  • GET /admin/api/apps/list - 获取应用列表
  • POST /admin/api/apps/create - 创建应用
  • POST /admin/api/apps/update - 更新应用
  • POST /admin/api/apps/delete - 删除应用
  • POST /admin/api/apps/batch_delete - 批量删除应用

变量管理接口

  • GET /admin/variable/list - 获取变量列表
  • POST /admin/variable/create - 创建变量
  • POST /admin/variable/update - 更新变量
  • POST /admin/variable/delete - 删除变量
  • POST /admin/variable/batch_delete - 批量删除变量

函数管理接口

  • GET /admin/function/list - 获取函数列表
  • POST /admin/function/create - 创建函数
  • POST /admin/function/update - 更新函数
  • POST /admin/function/delete - 删除函数
  • POST /admin/function/batch_delete - 批量删除函数

系统管理接口

  • GET /admin/api/settings - 获取系统设置
  • POST /admin/api/settings/update - 更新系统设置
  • GET /admin/api/logs - 获取操作日志
  • GET /admin/api/login_logs - 获取登录日志

部署

Docker 部署

# 构建镜像
docker build -t networkdev .

# 运行容器
docker run -d -p 8080:8080 networkdev

生产环境部署

  1. 编译生产版本

    go build -o networkdev main.go
    
  2. 配置生产环境配置文件

  3. 使用进程管理工具(如 systemd管理服务

许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。