licensesdk

package module
v1.3.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 11, 2023 License: MIT Imports: 7 Imported by: 0

README

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()
	}

路由加载

  • licensesdk.LoadRouter

import (
	licensesdk "github.com/open-beagle/license-sdk"
)
	base := r.Group(conf.Options.Prefix)
	{
		
	licensesdk.LoadRouter(base)
		
	}
	提供两个接口
	- {Prefix}/license   //获取产品授权状态
	- {Prefix}/instance/license //获取产品实例授权状态

中间件使用

  • licensesdk.CheckLicense
import (
	licensesdk "github.com/open-beagle/license-sdk"
)

	app := e.Group("/app")
	{
		app.POST("/install", licensesdk.CheckLicense, controller.InstanceInstall)
	}
	

客户端ID获取

  • licensesdk.GetClientId
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

*非必填

  • --license=true
参数为true时
  • 开启授权请求
  • 开启接口鉴权
	是否开启授权校验 默认 true
	调试可使用--license
	现场环境如需要关闭授权功能 
	请添加环境变量 $BEAGLE_POC 
	value值配置含有"no"关键词任意内容即可 如 nolicense\nopoc\no

productId

*全部必填 产品ID

  • --productId=XXXXXXXX

参数为空时会尝试从环境变量 $PRODUCT_ID 内获取

desc

*非必填

注解,页面上可进行项目区分、环境区分等

  • --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 内获取

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CheckLicense added in v1.2.1

func CheckLicense(c *gin.Context)

func FlagSet added in v1.2.0

func FlagSet() *pflag.FlagSet

func GetClientId added in v1.2.5

func GetClientId() (string, error)

func GetLicenseExpDate added in v1.2.14

func GetLicenseExpDate() (time.Time, error)

func LoadRouter added in v1.2.1

func LoadRouter(base *gin.RouterGroup)

func SendProductInstanceInfo added in v1.2.0

func SendProductInstanceInfo(instanceId string, instancePod int32)

func StartInstacneLicense added in v1.2.0

func StartInstacneLicense()

func StartProductLicense added in v1.2.0

func StartProductLicense()

初始化开启授权

func StartProductLicenseAndHttp added in v1.2.3

func StartProductLicenseAndHttp()

初始化开启授权 自身开通HTTP服务

Types

This section is empty.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL