iris

package
v0.0.0-...-ff5ac03 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 10, 2026 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Overview

Package iris 提供 GoAdmin 在 Iris Web 框架下的适配器实现

本包实现了 GoAdmin 与 Iris Web 框架的集成,提供以下功能:

  • internalHandler: 创建用于测试环境的内部 HTTP 处理器
  • NewHandler: 创建支持自定义配置的 HTTP 处理器

核心概念:

  • Iris: 基于 Go 语言的高性能 Web 框架
  • GoAdmin: Go 后台管理框架,提供完整的后台管理功能
  • 适配器模式: 将 GoAdmin 集成到不同 Web 框架的设计模式
  • 插件系统: 通过插件扩展 GoAdmin 功能的架构设计
  • 示例插件: 展示 GoAdmin 插件系统的示例实现

技术栈:

  • Iris: Web 框架
  • GoAdmin Engine: 核心引擎
  • Admin Plugin: 管理插件
  • Example Plugin: 示例插件
  • Chart.js: 图表组件
  • AdminLTE: 后台管理界面主题

数据库支持:

  • MySQL: 开源关系型数据库
  • PostgreSQL: 高级开源关系型数据库
  • SQLite: 轻量级嵌入式数据库
  • MSSQL: Microsoft SQL Server 数据库

使用场景:

  • 集成测试: 测试 GoAdmin 与 Iris 框架的集成
  • 开发环境: 快速搭建开发环境
  • 演示环境: 展示 GoAdmin 功能
  • 框架适配验证: 验证 Iris 框架适配器的正确性
  • 插件开发: 展示如何开发自定义插件

配置说明:

  • URL 前缀: 默认为 /admin
  • 存储路径: 默认为 ./uploads
  • 语言: 支持多语言,默认为英语
  • 主题: 支持 AdminLTE 主题

注意事项:

  • 需要正确配置数据库连接信息
  • 需要确保上传目录存在且有写入权限
  • JSON 配置文件需要包含完整的配置信息
  • 环境变量配置需要正确设置
  • 示例插件仅用于演示,生产环境可根据需要移除
  • Iris 应用需要调用 Build() 方法构建路由

作者: GoAdmin Team 创建日期: 2024-01-01 版本: 1.0.0

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewHandler

func NewHandler(dbs config.DatabaseList, gens table.GeneratorList) http.Handler

NewHandler 创建新的HTTP处理器

参数:

  • dbs: 数据库连接配置列表,包含数据库连接信息
  • gens: 表生成器列表,包含所有需要管理的表的定义

返回:

  • http.Handler: HTTP处理器,用于处理HTTP请求

说明:

该函数创建一个支持自定义配置的 HTTP 处理器。
它允许用户自定义数据库连接和表生成器。

功能特性:

  • 创建 Iris 应用实例
  • 初始化 GoAdmin 默认引擎
  • 添加 Chart.js 图表组件
  • 支持自定义数据库配置
  • 支持自定义表生成器
  • 配置存储路径和前缀
  • 配置语言和主题
  • 添加管理插件和示例插件
  • 设置自定义 HTML 内容
  • 构建 Iris 应用路由

配置说明:

  • URL 前缀: /admin
  • 存储路径: ./uploads
  • 存储前缀: uploads
  • 语言: 英语
  • 索引URL: /
  • 调试模式: 启用
  • 主题: AdminLTE 黑色皮肤
  • HTML 路由: GET /admin

技术细节:

  • 使用 iris.New() 创建 Iris 应用实例
  • 使用 engine.Default() 创建默认引擎实例
  • 使用 admin.NewAdmin() 创建管理插件实例
  • 使用 example.NewExample() 创建示例插件实例
  • 使用 eng.AddConfig() 添加配置
  • 使用 eng.AddPlugins() 添加插件(管理插件和示例插件)
  • 使用 eng.Use() 将引擎应用到 Iris 应用
  • 使用 template.AddComp() 添加模板组件
  • 使用 eng.HTML() 注册 HTML 路由
  • 使用 app.Build() 构建 Iris 应用路由
  • 使用 app.Router 获取路由处理器

使用场景:

  • 生产环境
  • 开发环境
  • 自定义配置场景
  • 多数据库场景

注意事项:

  • 需要确保数据库连接信息正确
  • 需要确保上传目录存在且有写入权限
  • 表生成器需要正确定义
  • 示例插件仅用于演示,生产环境可根据需要移除
  • Iris 应用必须调用 Build() 方法才能正确构建路由

错误处理:

  • 如果配置添加失败,会触发 panic
  • 如果插件添加失败,会触发 panic
  • 如果引擎应用失败,会触发 panic
  • 如果应用构建失败,会触发 panic

示例:

// 配置数据库连接
dbs := config.DatabaseList{
    {
        Driver: "mysql",
        Host:   "localhost",
        Port:   "3306",
        User:   "root",
        Pass:   "password",
        Name:   "goadmin",
    },
}

// 配置表生成器
gens := table.GeneratorList{
    "user": tables.GetUserTable,
}

// 创建处理器
handler := NewHandler(dbs, gens)

// 使用处理器处理请求
req, _ := http.NewRequest("GET", "/admin", nil)
resp := httptest.NewRecorder()
handler.ServeHTTP(resp, req)

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL