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.
Click to show internal directories.
Click to hide internal directories.