linkv_sdk

package module
v0.6.6 Latest Latest
Warning

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

Go to latest
Published: Jan 10, 2022 License: Apache-2.0 Imports: 6 Imported by: 0

README

API Reference Golang Version Build Status Apache V2 License

go-sdk

LINKV SDK for the go programming language.

Requirement

Go 1.8+ (plugin)

Installing

go get "github.com/linkv-io/go-sdk"

Usage

package main

import (
	"fmt"
	linkv "github.com/linkv-io/go-sdk"
)

func main() {
	appID := "rbaiHjNHQyVprPCBSHevvVvuNynNeTvp"
	appSecret := "87EA975D424238D0A08F772321169816DD016667D5BB577EBAEB820516698416E4F94C28CB55E9FD8E010260E6C8A177C0B078FC098BCF2E9E7D4A9A71BF1EF8FBE49E05E5FC5A6A35C6550592C1DB96DF83F758EAFBC5B342D5D04C9D92B1A82A76E3756E83A4466DA22635A8A9F88901631B5BBBABC8A94577D66E8B000F4B179DA99BAA5E674E4F793D9E60EEF1C3B757006459ABB5E6315E370461EBC8E6B0A7523CA0032D33B5C0CF83264C9D83517C1C94CAB3F48B8D5062F5569D9793982455277C16F183DAE7B6C271F930A160A6CF07139712A9D3ABF85E05F8721B8BB6CAC1C23980227A1D5F31D23FA6567578AEEB6B124AF8FF76040F9598DDC9DE0DA44EF34BBB01B53E2B4713D2D701A9F913BE56F9F5B9B7D8D2006CA910D8BFA0C34C619AB0EEBDAA474E67115532511686992E88C4E32E86D82736B2FE141E9037381757ED02C7D82CA8FC9245700040D7E1E200029416295D891D388D69AC5197A65121B60D42040393FB42BC2769B1E2F649A7A17083F6AB2B1BE6E993"
	if err := linkv.Init(appID, appSecret, 30, 10); err != nil {
		fmt.Println(err)
		return
	}

	// 初始化 live对象
	live := linkv.NewLvLIVE()

	thirdUID := "test-go-tob"
	aID := "test"
	// 进行帐号绑定
	token, openID, err := live.GetTokenByThirdUID(thirdUID, aID, "test-go",
		linkv.SexTypeUnknown, "http://meet.linkv.sg/app/rank-list/static/img/defaultavatar.cd935fdb.png",
		"", "", "")
	if err != nil {
		panic("live.GetTokenByThirdUID(" + err.Error() + ")")
	}

	fmt.Printf("token:%v\n", token)
	// 获取金币余额
	golds0, err := live.GetGoldByLiveOpenID(openID)
	if err != nil {
		panic("live.GetGoldByLiveOpenID(" + err.Error() + ")")
	}
	fmt.Printf("golds0:%v\n", golds0)

	// 完成订单
	orderID := ""
	gold := int64(10)
	golds1, err := live.SuccessOrderByLiveOpenID(openID, linkv.OrderTypeAdd, gold, 10, 1, linkv.PlatformTypeH5, orderID)
	if err != nil {
		panic("live.SuccessOrderByLiveOpenID(" + err.Error() + ")")
	}
	if (golds0 + gold) != golds1 {

		panic("(golds0+gold) != golds1")
	}
	fmt.Printf("golds1:%v\n", golds1)

	// 修改金币
	ok, err := live.ChangeGoldByLiveOpenID(openID, linkv.OrderTypeDel, gold, 1, "测试删除")
	if err != nil {
		panic("live.ChangeGoldByLiveOpenID(" + err.Error() + ")")
	}
	if !ok {
		panic("!ok")
	}

	// 获取金币余额
	golds2, err := live.GetGoldByLiveOpenID(openID)
	if err != nil {
		panic("live.GetGoldByLiveOpenID(" + err.Error() + ")")
	}
	fmt.Printf("golds2:%v\n", golds2)
	if golds0 != golds2 {
		panic("golds0 != golds2")
	}
	fmt.Println("success")
}

License

This SDK is distributed under the Apache License, Version 2.0, see LICENSE.txt and NOTICE.txt for more information.

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	IMStatusGroupUnBlock     = im.GroupUnBlock
	IMStatusGroupBlock       = im.GroupBlock
	IMStatusGroupUserDisable = im.GroupUserDisable
	IMStatusGroupUserEnable  = im.GroupUserEnable
)

Functions

func Init

func Init(appID, appSecret string, httpTimeout int64, httpPoolSize int) error

Types

type IMGroup added in v0.6.5

type IMGroup = im.Group

type IMGroupInfo added in v0.6.5

type IMGroupInfo = im.GroupInfo

type IMGroupStatus added in v0.6.5

type IMGroupStatus = im.GroupStatus

type IMGroupUser added in v0.6.5

type IMGroupUser = im.GroupUser

type IMGroupUserStatus added in v0.6.5

type IMGroupUserStatus = im.GroupUserStatus

type LvIM added in v0.4.2

type LvIM interface {
	GetTokenByThirdUID(thirdUID string) (imToken string, err error)
	PushConverseData(fromUID, toUID, content, objectName, toAppID, toUserExtSysUserID string, args ...string) (requestID string, err error)
	PushConverseDatas(fromUID string, toUIDs []string, content, objectName string, args ...string) (requestID string, failUIDs []string, err error)
	SendRoomMessage(fromUID, toRoomID, content, objectName string) (requestID string, err error)
	SendEventMsg(fromUID, toUID, content, objectName string) (requestID string, err error)
	UserBlock(userIDs []string, min int64) (err error)
	UserStatus(userID string) (bOnline bool, requestID string, err error)
	AddUserBlack(fromUID string, userIDs []string) (requestID string, failUIDs []string, err error)
	RemoveUserBlack(fromUID string, userIDs []string) (requestID string, failUIDs []string, err error)

	GroupInfo(groupID string) (*IMGroupInfo, string, error)
	GroupModifyName(adminUserID, groupID, groupName string) (string, error)
	GroupModifyTopic(adminUserID, groupID, topic string) (string, error)
	GroupModifyAdmin(adminUserID, toUserID, groupID string) (string, error)

	GroupDissolve(adminUserID, groupID string, status IMGroupStatus) (string, error)
	GroupKickUser(adminUserID, kickUserID, groupID string) (string, error)
	GroupGagUser(adminUserID, gagUserID, groupID string, status IMGroupUserStatus) (string, error)
	GroupGagAllUser(adminUserID, groupID string, status IMGroupUserStatus) (string, error)

	GroupCreate(userID, nickName, groupID, groupName string) (string, error)
	GroupJoin(userID, nickName, groupID string) (string, error)
	GroupExit(userID, groupID string) (string, error)
	GroupList(userID string, page, size int) ([]IMGroup, string, error)
	GroupSetNotifiable(userID, groupID string, status IMGroupUserStatus) (string, error)

	GroupUserList(groupID string, page, size int) ([]IMGroupUser, string, error)
	GroupPushMsg(fromUID, groupID, content, objectName string, args ...string) (string, error)
}

func NewLvIM added in v0.4.2

func NewLvIM(operatorID string) LvIM

type LvLIVE added in v0.4.2

type LvLIVE interface {
	GetTokenByThirdUID(thirdUID, aID, userName string, sex live.SexType, portraitURI, userEmail, countryCode, birthday string) (liveToken, liveOpenID string, err error)
	SuccessOrderByLiveOpenID(liveOpenID string, orderType, gold, money, expr int64, platformType live.PlatformType, orderID string) (golds int64, err error)
	ChangeGoldByLiveOpenID(liveOpenID string, orderType, gold, expr int64, optionalReason string) (ok bool, err error)
	GetGoldByLiveOpenID(liveOpenID string) (golds int64, err error)
}

func NewLvLIVE added in v0.4.2

func NewLvLIVE() LvLIVE

type LvRTC added in v0.4.2

type LvRTC interface {
	GenAuth() (appID string, authKey string, expireTS string)
}

func NewLvRTC added in v0.4.2

func NewLvRTC() LvRTC

type LvSHOP added in v0.4.8

type LvSHOP interface {
	GetTokenByThirdUID(thirdUID, aID, userName string, sex shop.SexType, portraitURI, userEmail, countryCode, birthday string) (liveToken, liveOpenID string, err error)
}

func NewLvSHOP added in v0.4.8

func NewLvSHOP() LvSHOP

Directories

Path Synopsis
example
im
rtc

Jump to

Keyboard shortcuts

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