SDK 接入
约 809 字大约 3 分钟
2026-10-16
本页使用 ur-kit v0.2.36。HTTP 根地址与有效令牌由平台提供;RPC 连接、服务认证、TLS 和网络权限需另外确认。
Go HTTP
在自己的 Go module 中安装:
go get github.com/unitedrhino/ur-kit@v0.2.36下面是完整调用例子,参数从环境变量读取:
package main
import (
"context"
"encoding/json"
"fmt"
"log"
"os"
"time"
"github.com/unitedrhino/ur-kit/sdks/go/httpclient"
)
// main 以调用方的授权查询产品,保留原始 JSON 中的完整 ID。
func main() {
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
defer cancel()
client := httpclient.Client{
BaseURL: os.Getenv("PLATFORM_URL"), Token: os.Getenv("PLATFORM_TOKEN"),
TenantCode: os.Getenv("TENANT_CODE"), ProjectID: os.Getenv("PROJECT_ID"),
AppID: os.Getenv("APP_ID"),
}
var result json.RawMessage
err := client.PostJSON(ctx, "/api/v1/things/product/info/get-one",
map[string]string{"productID": os.Getenv("PRODUCT_ID")}, &result)
if err != nil { log.Fatal(err) }
fmt.Println(string(result))
}响应体的业务 code/data/msg 仍由业务按合同检查,HTTP 成功不等于平台业务成功。标准 RPC 使用公开 pb 的 NewXxxClient(connection),不导入 Core/Things 服务端的 client 或 internal 包。令牌透传使用 RPC 客户端拦截器,连接的 TLS 与服务认证按平台配置。
Java 与 Node
先获取同一标签源码:
git clone --branch v0.2.36 --depth 1 https://github.com/unitedrhino/ur-kit.git| 语言 | 安装方式 | 运行入口 |
|---|---|---|
| Java | JDK 17+、Maven、Python 和 protoc;根目录先生成 pb,再本地安装 Maven 项目 | UrHttpClient、UrRpcClient 与生成 Stub |
| Node | 在 sdks/node 独立安装、打包 tgz,再安装到自己的后端 | 包根入口 HTTP,/rpc 入口 gRPC |
# 从 ur-kit 根目录生成 Java 消息及 RPC Stub。
python3 scripts/generate_java_pb.py
mvn -f sdks/java/pom.xml install
# Node 在其独立项目安装和打包。
cd sdks/node
pnpm install --ignore-workspace --frozen-lockfile
pnpm packJava/Node 当前按源码构建,不把尚未发布的 npm/Maven 公共包当作可直接安装的制品。具体调用见 Java和 Node。
WS、通知与其他能力
WS 也能用于独立应用。Web 与 uni-app 已有客户端,Go/Java/Node 可按公共频道协议使用传输库;HTTP 生成器中的 connect 方法不能代替 WS。详见实时推送与通知。
文件、字典、数据分析、Hook、调度和消息中心的公开入口见能力清单。合同、客户端封装和应用自己的业务实现分别核对。
中间件与缓存
- HTTP/RPC 中间件提供可信身份、可注入授权、错误、日志和基础安全处理。
- 使用平台身份验证器核对企业成员和项目正授权,再实现自己业务的资源/动作 Authorizer。
- 公共缓存和平台业务缓存通过公开接口接入;业务键包含企业及资源范围,变更后应失效或更新。
upstream/是原源码对照,不是可直接复制运行的公共服务。
只有 Token 校验不能实现全部业务授权,客户端提交的身份头也不能代替认证上下文。强类型 HTTP 客户端、中间件与缓存使用同一版本。
接口语义
跨语言核对大整数 ID、空值、毫秒/秒、错误码和认证头。JavaScript 中超过安全整数的 ID 按十进制字符串处理;登录 Token 与访问令牌签发的 Bearer JWT 不混用,密钥只在后端运行时提供。
更新日志
2026/10/16 20:08
查看所有更新日志
b1437-docs(应用开发): 补齐WS通知及平台能力接入导航于1a4a7-docs(开发指南): 重建平台与应用开发路线于
