im 管理后台

This commit is contained in:
richjohnrambo
2026-08-11 23:13:51 +08:00
parent 0397fe5f22
commit 331a55751d
1407 changed files with 162069 additions and 2 deletions
+73
View File
@@ -0,0 +1,73 @@
// Package router
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2023 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
package router
import (
"context"
"github.com/gogf/gf/v2/net/ghttp"
"hotgo/internal/consts"
"hotgo/internal/controller/admin/admin"
"hotgo/internal/controller/admin/common"
"hotgo/internal/controller/admin/pay"
"hotgo/internal/controller/admin/sys"
"hotgo/internal/router/genrouter"
"hotgo/internal/service"
"hotgo/utility/simple"
)
func Admin(ctx context.Context, group *ghttp.RouterGroup) {
// 兼容后台登录入口
group.ALL("/login", func(r *ghttp.Request) {
r.Response.RedirectTo("/admin")
})
group.Group(simple.RouterPrefix(ctx, consts.AppAdmin), func(group *ghttp.RouterGroup) {
group.Bind(
common.Site, // 基础
)
group.Middleware(service.Middleware().AdminAuth)
group.Bind(
common.Console, // 控制台
common.Ems, // 邮件
common.Sms, // 短信
common.Upload, // 上传
common.Wechat, // 微信授权
sys.Config, // 配置
sys.DictType, // 字典类型
sys.DictData, // 字典数据
sys.Attachment, // 附件
sys.Provinces, // 省市区
sys.Cron, // 定时任务
sys.CronGroup, // 定时任务分组
sys.Blacklist, // 黑名单
sys.Log, // 访问日志
sys.LoginLog, // 登录日志
sys.ServeLog, // 服务日志
sys.SmsLog, // 短信记录
sys.ServeLicense, // 服务许可证
admin.Member, // 用户
admin.Monitor, // 监控
admin.Role, // 路由
admin.Dept, // 部门
admin.Menu, // 菜单
admin.Notice, // 公告
admin.Post, // 岗位
admin.Order, // 充值订单
admin.CreditsLog, // 资金变动
admin.Cash, // 提现
pay.Refund, // 交易退款
)
group.Middleware(service.Middleware().Develop)
group.Bind(
sys.GenCodes, // 生成代码
sys.Addons, // 插件管理
)
})
// 注册生成路由
genrouter.Register(ctx, group)
}
+30
View File
@@ -0,0 +1,30 @@
// Package router
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2023 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
package router
import (
"context"
"hotgo/internal/consts"
"hotgo/internal/controller/api/member"
"hotgo/internal/controller/api/pay"
"hotgo/internal/service"
"hotgo/utility/simple"
"github.com/gogf/gf/v2/net/ghttp"
)
// Api 前台路由
func Api(ctx context.Context, group *ghttp.RouterGroup) {
group.Group(simple.RouterPrefix(ctx, consts.AppApi), func(group *ghttp.RouterGroup) {
group.Bind(
pay.NewV1(), // 支付异步通知
)
group.Middleware(service.Middleware().ApiAuth)
group.Bind(
member.NewV1(), // 管理员
)
})
}
@@ -0,0 +1,13 @@
// Package genrouter
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2025 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
// @AutoGenerate Version 2.18.6
package genrouter
import "hotgo/internal/controller/admin/sys"
func init() {
LoginRequiredRouter = append(LoginRequiredRouter, sys.CurdDemo) // CURD列表
}
+32
View File
@@ -0,0 +1,32 @@
// Package genrouter
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2023 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
package genrouter
import (
"context"
"github.com/gogf/gf/v2/net/ghttp"
"hotgo/internal/consts"
"hotgo/internal/service"
"hotgo/utility/simple"
)
var (
NoLoginRouter []interface{} // 无需登录
LoginRequiredRouter []interface{} // 需要登录
)
// Register 注册通过代码生成的后台路由
func Register(ctx context.Context, group *ghttp.RouterGroup) {
group.Group(simple.RouterPrefix(ctx, consts.AppAdmin), func(group *ghttp.RouterGroup) {
if len(NoLoginRouter) > 0 {
group.Bind(NoLoginRouter...)
}
group.Middleware(service.Middleware().AdminAuth)
if len(LoginRequiredRouter) > 0 {
group.Bind(LoginRequiredRouter...)
}
})
}
@@ -0,0 +1,13 @@
// Package genrouter
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2024 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
// @AutoGenerate Version 2.15.7
package genrouter
import "hotgo/internal/controller/admin/sys"
func init() {
LoginRequiredRouter = append(LoginRequiredRouter, sys.NormalTreeDemo) // 普通树表
}
@@ -0,0 +1,13 @@
// Package genrouter
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2025 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
// @AutoGenerate Version 2.17.8
package genrouter
import "hotgo/internal/controller/admin/sys"
func init() {
LoginRequiredRouter = append(LoginRequiredRouter, sys.OptionTreeDemo) // 选项树表
}
@@ -0,0 +1,13 @@
// Package genrouter
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2024 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
// @AutoGenerate Version 2.15.7
package genrouter
import "hotgo/internal/controller/admin/sys"
func init() {
LoginRequiredRouter = append(LoginRequiredRouter, sys.TestCategory) // 测试分类
}
+33
View File
@@ -0,0 +1,33 @@
// Package router
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2023 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
package router
import (
"context"
"github.com/gogf/gf/v2/net/ghttp"
"hotgo/internal/consts"
"hotgo/internal/controller/home/base"
"hotgo/internal/service"
"hotgo/utility/simple"
)
// Home 前台页面路由
func Home(ctx context.Context, group *ghttp.RouterGroup) {
group.Group("/", func(group *ghttp.RouterGroup) {
group.Middleware(service.Middleware().HomeAuth)
// 允许通过根地址访问的路由可以加到这里,访问地址:http://127.0.0.1:8000
group.Bind(
base.Site, // 基础
)
// 默认访问地址:http://127.0.0.1:8000/home
group.Group(simple.RouterPrefix(ctx, consts.AppHome), func(group *ghttp.RouterGroup) {
group.Bind(
base.Site, // 基础
)
})
})
}
+46
View File
@@ -0,0 +1,46 @@
// Package router
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2023 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
package router
import (
"context"
"github.com/gogf/gf/v2/net/ghttp"
"hotgo/internal/consts"
controller "hotgo/internal/controller/websocket"
"hotgo/internal/controller/websocket/handler/admin"
"hotgo/internal/controller/websocket/handler/common"
"hotgo/internal/service"
"hotgo/internal/websocket"
"hotgo/utility/simple"
)
// WebSocket ws路由配置
func WebSocket(ctx context.Context, group *ghttp.RouterGroup) {
group.Group(simple.RouterPrefix(ctx, consts.AppWebSocket), func(group *ghttp.RouterGroup) {
group.Middleware()
group.Bind(
controller.Send, // 通过http发送ws消息。方便测试没有放权限中间件,实际使用时请自行调整
)
// ws连接中间件
group.Middleware(service.Middleware().WebSocketAuth)
// ws
group.GET("/", websocket.WsPage)
})
// 启动websocket监听
websocket.Start()
// 注册消息路由
websocket.RegisterMsg(websocket.EventHandlers{
"ping": common.Site.Ping, // 心跳
"join": common.Site.Join, // 加入组
"quit": common.Site.Quit, // 退出组
"admin/monitor/trends": admin.Monitor.Trends, // 后台监控,动态数据
"admin/monitor/runInfo": admin.Monitor.RunInfo, // 后台监控,运行信息
})
}