refactor: 服务接口 Stop() 重命名为 Shutdown()
This commit is contained in:
@@ -4,7 +4,7 @@ import "git.fsdpf.net/go/req"
|
|||||||
|
|
||||||
type CronService interface {
|
type CronService interface {
|
||||||
Start() error
|
Start() error
|
||||||
Stop() error
|
Shutdown() error
|
||||||
Restart() error
|
Restart() error
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+22
@@ -0,0 +1,22 @@
|
|||||||
|
package contracts
|
||||||
|
|
||||||
|
type GoBridgeService interface {
|
||||||
|
Start() error
|
||||||
|
Shutdown() error
|
||||||
|
Restart() error
|
||||||
|
}
|
||||||
|
|
||||||
|
// GoBridge 继承 Controller,可通过 gobridge.WithHandlers 绑定到 Pool,
|
||||||
|
// 所有公开方法自动暴露给 Python 通过 call_go() 调用。
|
||||||
|
type GoBridge interface {
|
||||||
|
_gobridge_handler()
|
||||||
|
Controller
|
||||||
|
}
|
||||||
|
|
||||||
|
// GoBridgeBase 嵌入到用户 struct 以实现 GoBridge 接口
|
||||||
|
type GoBridgeBase struct {
|
||||||
|
Controller
|
||||||
|
}
|
||||||
|
|
||||||
|
// _gobridge_handler 签名函数
|
||||||
|
func (bb *GoBridgeBase) _gobridge_handler() {}
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
package contracts
|
package contracts
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"io"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"git.fsdpf.net/go/req"
|
"git.fsdpf.net/go/req"
|
||||||
@@ -11,32 +12,57 @@ var defaultWsClientGroup WsClientGroup = "__DEFAULT__"
|
|||||||
var wsClientID WsClientID = 0
|
var wsClientID WsClientID = 0
|
||||||
|
|
||||||
type Http interface {
|
type Http interface {
|
||||||
|
// Start 启动 HTTP 服务。
|
||||||
Start() error
|
Start() error
|
||||||
Stop() error
|
|
||||||
|
// Shutdown 停止 HTTP 服务,等待当前请求处理完成后退出。
|
||||||
|
Shutdown() error
|
||||||
|
|
||||||
|
// Restart 重启 HTTP 服务,先停止再重新加载路由并启动。
|
||||||
Restart() error
|
Restart() error
|
||||||
|
|
||||||
|
// Invoke 在进程内直接调用 HTTP 路由处理器,不通过网络。
|
||||||
|
//
|
||||||
|
// 参数:
|
||||||
|
// - method: HTTP 方法,如 "GET"、"POST" 等。
|
||||||
|
// - path: 请求路径,如 "/api/user/list"。
|
||||||
|
// - body: 请求体,无请求体时传 nil。
|
||||||
|
// - headers: 附加请求头键值对,无需额外请求头时传 nil。
|
||||||
|
//
|
||||||
|
// 返回:
|
||||||
|
// - *http.Response: 包含状态码、响应头及响应体的结果。
|
||||||
|
// - error: 构造请求失败时返回错误。
|
||||||
|
Invoke(method, path string, body io.Reader, header http.Header) (*http.Response, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
type HttpController interface {
|
type HttpController interface {
|
||||||
Controller
|
Controller
|
||||||
|
|
||||||
// 获取用户信息
|
// User 返回当前请求的认证用户信息。
|
||||||
User() req.User
|
User() req.User
|
||||||
|
|
||||||
// 获取请求信息
|
// Request 返回当前 HTTP 请求对象。
|
||||||
Request() *http.Request
|
Request() *http.Request
|
||||||
|
|
||||||
// 请求处理
|
// Execute 处理请求并返回响应数据。
|
||||||
Execute(req.GlobalParams) any
|
Execute(req.GlobalParams) any
|
||||||
|
|
||||||
// 路由信息
|
// Route 返回当前请求匹配到的路由信息。
|
||||||
Route() req.Route
|
Route() req.Route
|
||||||
|
|
||||||
// 内部调用
|
// Call 在进程内以路由 code 发起内部调用,等同于向自身发送 HTTP 请求。
|
||||||
|
//
|
||||||
|
// 参数:
|
||||||
|
// - code: 路由标识码。
|
||||||
|
// - params: 附加请求参数。
|
||||||
|
// - category: 可选的路由匹配选项。
|
||||||
|
//
|
||||||
|
// 返回:
|
||||||
|
// - req.HttpResponse: 内部调用的响应结果。
|
||||||
|
// - error: 调用失败时返回错误。
|
||||||
Call(code string, params map[string]any, category ...req.RouteMatchOption) (req.HttpResponse, error)
|
Call(code string, params map[string]any, category ...req.RouteMatchOption) (req.HttpResponse, error)
|
||||||
// 内部调用
|
|
||||||
// Invoke()
|
|
||||||
|
|
||||||
// 数据库权限
|
// AuthDB 返回当前控制器的数据库权限模式。
|
||||||
AuthDB() req.ResAuthDB
|
AuthDB() req.ResAuthDB
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import "git.fsdpf.net/go/req"
|
|||||||
|
|
||||||
type JobService interface {
|
type JobService interface {
|
||||||
Start() error
|
Start() error
|
||||||
Stop() error
|
Shutdown() error
|
||||||
Restart() error
|
Restart() error
|
||||||
Dispatch(job string, payload any, u req.User) error
|
Dispatch(job string, payload any, u req.User) error
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import (
|
|||||||
|
|
||||||
type MqttService interface {
|
type MqttService interface {
|
||||||
Start() error
|
Start() error
|
||||||
Stop() error
|
Shutdown() error
|
||||||
Restart() error
|
Restart() error
|
||||||
|
|
||||||
// 消息推送
|
// 消息推送
|
||||||
@@ -33,9 +33,9 @@ type MqttService interface {
|
|||||||
type Mqtt interface {
|
type Mqtt interface {
|
||||||
Controller
|
Controller
|
||||||
// 链接
|
// 链接
|
||||||
// OnConnect(g GlobalParams, topic string) error
|
OnConnect(g req.GlobalParams) error
|
||||||
// 断开链接
|
// 断开链接
|
||||||
// OnDisconnect(g GlobalParams, topic string) error
|
OnDisconnect(g req.GlobalParams) error
|
||||||
// 订阅事件
|
// 订阅事件
|
||||||
OnSubscribed(g req.GlobalParams, topic string) error
|
OnSubscribed(g req.GlobalParams, topic string) error
|
||||||
// 取消订阅事件
|
// 取消订阅事件
|
||||||
@@ -60,6 +60,14 @@ type MqttHandle struct {
|
|||||||
Controller
|
Controller
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (this *MqttHandle) OnConnect(g req.GlobalParams) error {
|
||||||
|
return ErrFuncNotImplemented
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *MqttHandle) OnDisconnect(g req.GlobalParams) error {
|
||||||
|
return ErrFuncNotImplemented
|
||||||
|
}
|
||||||
|
|
||||||
func (this *MqttHandle) OnSubscribed(g req.GlobalParams, topic string) error {
|
func (this *MqttHandle) OnSubscribed(g req.GlobalParams, topic string) error {
|
||||||
return ErrFuncNotImplemented
|
return ErrFuncNotImplemented
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -8,7 +8,7 @@ import (
|
|||||||
|
|
||||||
type ResEventService interface {
|
type ResEventService interface {
|
||||||
Start() error
|
Start() error
|
||||||
Stop() error
|
Shutdown() error
|
||||||
Restart() error
|
Restart() error
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user