OL-LearnPlatform-Admin/docs/guide-zh-CN/code-template-dev.md
yl 59d31d4b47 feat: 添加我的课程模块功能
- 新增我的课程列表API接口
- 支持按学习状态筛选(全部/学习中/已完结)
- 支持分页查询
- 包含课程基本信息、学习进度等数据
- 添加Apifox接口文档配置指南

文件变更:
- server/api/admin/mycourse/mycourse.go - API接口定义
- server/internal/controller/admin/mycourse/mycourse.go - 控制器层
- server/internal/service/mycourse.go - 服务层(模拟数据)
- server/internal/router/admin.go - 路由配置
- docs/apifox_config.md - 接口文档
2025-07-28 15:30:04 +08:00

2.4 KiB
Raw Blame History

生成模板开发

自定义生成模板

  • HotGo允许你新建新的模板分组来满足你的需求模板可根据现有模板基础拷贝一份出来做改造默认模板目录server/resource/generate/default

  • 系统内置了两组CURD生成模板请参考生成模板配置。default是默认的生成到主模块下addon是默认生成到指定的插件下

内置gf-cli

  • 为了确保生成代码的依赖稳定性,在面对gf版本更新可能导致向下不兼容情况时HotGo将gf-cli工具内置到系统中并进行在线执行调整,从而提供更可靠和一致的生成代码功能。

  • 后续我们也将开放在线运行gf gen ...功能。在做插件开发时也会支持到在线生成插件下的service接口这将会使得插件开发更加方便

指定gf-cli版本

  • HotGo多数情况下会和最新版本的gf-cli保持同步如果更新不及时或你不想使用最新版本的gf-cli来生成代码可以找到自己想要的版本进行替换即可。

  • 下面大致做一些替换步骤说明:

  1. 打开github.com/gogf/gf 找到你想要使用的版本clone下来
  2. clone代码中gf/cmd/gf/internal/目录覆盖到server/internal/library/hggen/internal
  3. 将覆盖过来的目录文件中引入包名github.com/gogf/gf/cmd/gf/v2/批量改为hotgo/internal/library/hggen/
  4. 运行go mod tidy
  5. 运行go run main.go,如果没有报错,那么恭喜你已经完成了。如果有报错一般都是版本差异带来的影响,需要根据情况自行调整

指定数据库驱动

HotGo默认使用mysql驱动如果你想用其他数据库驱动打开下方文件中注释即可

package cmd

import (
	//_ "github.com/gogf/gf/contrib/drivers/clickhouse/v2"
	//_ "github.com/gogf/gf/contrib/drivers/mssql/v2"
	_ "github.com/gogf/gf/contrib/drivers/mysql/v2"
	//_ "github.com/gogf/gf/contrib/drivers/oracle/v2"
	//_ "github.com/gogf/gf/contrib/drivers/pgsql/v2"
	//_ "github.com/gogf/gf/contrib/drivers/sqlite/v2"

	"hotgo/internal/library/hggen/internal/cmd/gendao"
)

type (
	cGenDao = gendao.CGenDao
)

修改完成后运行go mod tidy