关于HotGo
相关文档
插件开发
代码生成
前言
在24年9月份我接触到并第一次使用HotGo框架进行项目开发,当时我并没有为后续框架更新留后路,把框架内我觉得无用的代码进行删除后有对原有的代码进行了一部分变动,并且有些东西是在框架基础代码上直接进行添加或修改的,这些操作直接让框架的版本升级变得无比困难
24年11月份,GoFrame框架发布了新版本,在新版本中有些特性深得我心,所以我决定把项目的GF版本也升级成最新版本,但是升级之后发现项目跑不起来,因为本人才疏学浅查找问题比较困难,再加上当时比较忙也就没去修改代码以适配新版GF
到了11月底,偶然间看到hotgo框架更新了,最新版本已经支持新版GF框架了,随即进行框架升级,但由于本人之前在开发时并没有给自己留后路,所以使得现在框架升级相当难
思来想去后决定抛弃原有的框架,直接拉一版最新的hotgo框架,然后将业务代码移植过去,再运行找错。
庆幸的是,由于在开发过程中坚定落实模块化开发的思想,所以在代码移植这一块基本没有什么阻力,自此之后,更加坚定了要贯彻落实插件式开发、模块化开发的理念。
插件式开发
在 HotGo 的后台管理系统中,可以直接通过“插件管理”功能创建新插件。无论你是开发:
业务模块(如订单、用户、支付等)
公共工具(如日志处理、定时任务、扩展 SDK 等)
自定义组件或功能轮子
或者要实现给外部项目可移植的扩展模块
都强烈建议以插件的方式进行实现,而不是直接修改主项目的源码。
这能避免框架升级时被覆盖,也更便于跨项目复用。
创建插件后,系统会自动生成完整的插件目录,包括:
hgexample
├─ service
├─ router
│ ├─ admin.go
│ ├─ api.go
│ ├─ home.go
│ ├─ websocket.go
├─ queues
├─ model
│ ├─ config.go
│ └─ input
│ └─ sysin
├─ logic
│ ├─ logic.go
│ └─ sys
├─ global
├─ crons
│ └─ crons.go
├─ controller
│ ├─ websocket
│ ├─ home
│ ├─ api
│ └─ admin
│ └─ sys
└─ api
├─ websocket
├─ home
│ └─ index
│ └─ index.go
├─ api
│ └─ index
│ └─ index.go
└─ admin
└─ index
└─ index.go