1. SDK介绍
项目地址:https://github.com/open-beagle/license-sdk
SDK支持语言:Golang
2. 使用说明
引用方式
go get github.com/open-beagle/license-sdk
Example
主程序加载初始化授权
- licensesdk.FlagSet()
- licensesdk.StartProductLicense()
package main
import (
licensesdk "github.com/open-beagle/license-sdk"
)
// arg参数获取修改使用 licensesdk.FlagSet()
var (
port = licensesdk.FlagSet().Int("port", 8083, "server port")
confPath = licensesdk.FlagSet().String("conf", "C:/WorkProject/xinchang/xc-store-paas-api/src/bean/vto/config.yaml",
)
// main start
func main() {
// init 初始化授权程序
licensesdk.StartProductLicense()
}
路由加载
import (
licensesdk "github.com/open-beagle/license-sdk"
)
base := r.Group(conf.Options.Prefix)
{
licensesdk.LoadRouter(base)
}
提供两个接口
- {Prefix}/license //获取产品授权状态
- {Prefix}/instance/license //获取产品实例授权状态
中间件使用
import (
licensesdk "github.com/open-beagle/license-sdk"
)
app := e.Group("/app")
{
app.POST("/install", licensesdk.CheckLicense, controller.InstanceInstall)
}
客户端ID获取
import (
licensesdk "github.com/open-beagle/license-sdk"
)
clientId,err:=licensesdk.GetClientId
实例类 创建实例
- licensesdk.SendProductInstanceInfo
import (
licensesdk "github.com/open-beagle/license-sdk"
)
key:string:实例ID
Node:int:实例可运行节点数
licensesdk.SendProductInstanceInfo(key, int32(Node))
实例类 删除实例
- licensesdk.SendProductInstanceInfo
import (
licensesdk "github.com/open-beagle/license-sdk"
)
key:string:实例ID
Node:int: <0
licensesdk.SendProductInstanceInfo(key, int32(-2))
2.1 参数说明
Arg 启动参数
license
*非必填
参数为true时
是否开启授权校验 默认 true
调试可使用--license
现场环境如需要关闭授权功能
请添加环境变量 $BEAGLE_POC
value值配置含有"no"关键词任意内容即可 如 nolicense\nopoc\no
productId
*全部必填
产品ID
参数为空时会尝试从环境变量 $PRODUCT_ID 内获取
desc
*非必填
注解,页面上可进行项目区分、环境区分等
参数为空时会尝试从环境变量 $PRODUCT_DESC 内获取
环境变量参数
BEAGLE_POC
现场环境如需要关闭授权功能
请添加环境变量 $BEAGLE_POC
value值配置含有"no"关键词任意内容即可 如 nolicense\nopoc\no
LICENSE_GRPC
*全部必填
授权服务端链接地址,为空时程序会退出
PRODUCT_CLIENT_ID
*实例端必填
实例类平台客户端ID
PRODUCT_INSTANCE_ID
*实例端必填
实例类平台 实例ID
PRODUCT_DESC
注解,页面上可进行项目区分、环境区分等
PRODUCT_ID
*全部必填
产品ID
启动参数为空时会尝试从此环境变量 $PRODUCT_ID 内获取