diff --git a/CHANGELOG.md b/CHANGELOG.md index 2c020b8..28060e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,12 +1,10 @@ # CHANGELOG +## v1.3.4 (2026-05-31) +- **重构**: 精简 JS API 导出。移除所有管理类 API(`setNode`, `setLoadBalancer` 等)及 Header 常量。 +- **定位**: JS 侧仅作为微服务能力的消费者,不参与服务发现的元数据维护。 + ## v1.3.3 (2026-05-31) -- **新增**: 深度集成 `jsmod`。 - - 提供 `get`, `post`, `put`, `delete`, `head`, `do`, `open` 等微服务调用能力。 - - 提供 `from(r)` 支持微服务间的链路透传 (Context Propagation)。 - - 导出微服务相关的 `header` 常量。 -- **安全增强**: 封装 `jsResult` 以屏蔽敏感的 `Save()` 方法,确保微服务响应处理符合沙箱规范。 -- **管控**: 定义 `setNode`, `setLoadBalancer`, `setRoute`, `addExternalApp` 为 `unsafe` 方法。 ## v1.0.10 (2026-05-09) - **API Redesign (Elegant API)**: diff --git a/js_export.go b/js_export.go index 3c5d8f3..e135261 100644 --- a/js_export.go +++ b/js_export.go @@ -9,7 +9,7 @@ import ( func init() { jsmod.Register("discover", map[string]any{ - // RPC 调用 (默认实例) + // RPC 调用 (消费默认实例) "get": func(app, path string, headers ...string) *jsResult { return wrapResult(Get(app, path, headers...)) }, @@ -22,41 +22,12 @@ func init() { "delete": func(app, path string, data any, headers ...string) *jsResult { return wrapResult(DefaultDiscoverer.Delete(app, path, data, headers...)) }, - "head": func(app, path string, headers ...string) *jsResult { - return wrapResult(DefaultDiscoverer.Head(app, path, headers...)) - }, - "do": func(method, app, path string, data any, headers ...string) *jsResult { - return wrapResult(DefaultDiscoverer.Do(method, app, path, data, headers...)) - }, - "open": func(app, path string, headers ...string) any { - return DefaultDiscoverer.Open(app, path, headers...) - }, // 链路透传 "from": func(r *http.Request) *jsCaller { return &jsCaller{c: DefaultDiscoverer.From(r)} }, - - // 状态获取 - "getAppNodes": func(app string) map[string]*NodeInfo { - return DefaultDiscoverer.GetAppNodes(app) - }, - - // Header 常量 - "headerFromApp": HeaderFromApp, - "headerFromNode": HeaderFromNode, - "headerClientIP": HeaderClientIP, - "headerForwardedFor": HeaderForwardedFor, - "headerUserID": HeaderUserID, - "headerDeviceID": HeaderDeviceID, - "headerClientAppName": HeaderClientAppName, - "headerClientAppVersion": HeaderClientAppVersion, - "headerSessionID": HeaderSessionID, - "headerRequestID": HeaderRequestID, - "headerHost": HeaderHost, - "headerScheme": HeaderScheme, - "headerUserAgent": HeaderUserAgent, - }, "setNode", "setLoadBalancer", "setRoute", "addExternalApp") + }) } // jsResult 包装 *gohttp.Result 以隐藏 Save() 等危险方法 @@ -106,12 +77,3 @@ func (jc *jsCaller) Put(app, path string, data any, headers ...string) *jsResult func (jc *jsCaller) Delete(app, path string, data any, headers ...string) *jsResult { return wrapResult(jc.c.Delete(app, path, data, headers...)) } -func (jc *jsCaller) Head(app, path string, headers ...string) *jsResult { - return wrapResult(jc.c.Head(app, path, headers...)) -} -func (jc *jsCaller) Do(method, app, path string, data any, headers ...string) *jsResult { - return wrapResult(jc.c.Do(method, app, path, data, headers...)) -} -func (jc *jsCaller) Open(app, path string, headers ...string) any { - return jc.c.Open(app, path, headers...) -}