format

package
v0.0.0-...-31a32bb Latest Latest
Warning

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

Go to latest
Published: May 1, 2024 License: MIT Imports: 2 Imported by: 0

README

消息格式:

  • 文本消息
  • 自定义消息
  • tips消息
  • 音频消息
  • 图片消息
  • ....

Documentation

Index

Constants

View Source
const (
	CustomMsgEventNONE    = iota
	CustomMsgEventLevelUp // 人物升级(对应结构体:ImJsonLevel)
	CustomMsgEventDrop    // 物品掉落(对应结构体:ImJsonDrop)
)

Variables

This section is empty.

Functions

func GetOffset

func GetOffset(src, highLight string) [2]int

GetOffset 获取高亮的位置

Types

type AudioContent

type AudioContent struct {
	Url    string `json:"url,omitempty"`    // 音频:链接
	Second int32  `json:"second,omitempty"` // 音频:时长(秒)
	Uuid   string `json:"uuid,omitempty"`   // 资源标识
	Text   string `json:"text,omitempty"`   // 音频:附带文本
}

func (AudioContent) GetType

func (c AudioContent) GetType() MsgType

type ContentEntity

type ContentEntity interface {
	GetType() MsgType
}

type CustomContent

type CustomContent struct {
	Event string `json:"event"`
	Data  string `json:"data,omitempty"` // 自定义消息(一般会采用JSON格式)
}

func (CustomContent) GetType

func (c CustomContent) GetType() MsgType

type HighLight

type HighLight struct {
	Text   string `json:"text,omitempty"`   // 高亮:文本
	Link   string `json:"link,omitempty"`   // 高亮:跳转链接
	Color  string `json:"color,omitempty"`  // 高亮:颜色
	Offset [2]int `json:"offset,omitempty"` // 文本偏移量(在源字符串中的偏移)
}

type ImJsonDrop

type ImJsonDrop struct {
	Uid     uint64 // 掉落给谁?
	GoodsId int    // 物品id
}

type ImJsonLevel

type ImJsonLevel struct {
	Uid       uint64 // 谁升级了?
	CurrLevel int    // 当前等级是?
}

type Image

type Image struct {
	Type   int32  `json:"type,omitempty"`   // 图片:类型,1-原图、2-大图、3-缩略图
	Url    string `json:"url,omitempty"`    // 图片:链接
	Width  int32  `json:"width,omitempty"`  // 图片:宽
	Height int32  `json:"height,omitempty"` // 图片:高
	Size   int32  `json:"size,omitempty"`   // 图片:大小
	Uuid   string `json:"uuid,omitempty"`   // 资源标识
}

type ImageContent

type ImageContent struct {
	Images []Image `json:"images,omitempty"` // 图片列表

}

func (ImageContent) GetType

func (c ImageContent) GetType() MsgType

type MsgBody

type MsgBody struct {
	MsgType    MsgType     `json:"msg_type"`
	MsgContent *MsgContent `json:"msg_content"`
}

MsgBody 消息体 设计参考: - https://cloud.tencent.com/document/product/269/2720 - https://cloud.tencent.com/document/product/269/2282

type MsgContent

type MsgContent struct {
	CustomContent *CustomContent `json:"custom_content,omitempty"` // 自定义消息
	TextContent   *TextContent   `json:"text_content,omitempty"`   // 文本消息
	TipsContent   *TipsContent   `json:"tips_content,omitempty"`   // 提示消息
	ImageContent  *ImageContent  `json:"image_content,omitempty"`  // 图片消息
	AudioContent  *AudioContent  `json:"audio_content,omitempty"`  // 音频消息
	VideoContent  *VideoContent  `json:"video_content,omitempty"`  // 视频消息

	// 其他信息
	CheckFail int `json:"check_fail,omitempty"` // 让客户端展示感叹号!
}

MsgContent 不同消息类型,对应不同的结构体

type MsgType

type MsgType uint32
const (
	// MsgTypeNone 基本的消息类型
	MsgTypeNone     MsgType = iota
	MsgTypeCustom           // 自定义消息
	MsgTypeText             // 文本消息
	MsgTypeTips             // 提示消息
	MsgTypeImage            // 图片消息
	MsgTypeAudio            // 音频消息
	MsgTypeVideo            // 视频消息
	MsgTypeFile             // 文件消息
	MsgTypeFace             // 表情消息
	MsgTypeLocation         // 位置消息
)

type TextContent

type TextContent struct {
	Text       string      `json:"text,omitempty"` // 文本内容
	HighLights []HighLight `json:"highLights"`     // 高亮文本(支持多段高亮)
}

func (TextContent) GetType

func (c TextContent) GetType() MsgType

type TipsContent

type TipsContent struct {
	Text   string `json:"text,omitempty"`    // 文本内容
	ImgUrl string `json:"img_url,omitempty"` // 附带图片
}

func (TipsContent) GetType

func (c TipsContent) GetType() MsgType

type VideoContent

type VideoContent struct {
	VideoUrl    string `json:"video_url,omitempty"`    // 视频:链接
	VideoSecond int32  `json:"video_second,omitempty"` // 视频:时长(秒)
	VideoUuid   string `json:"video_uuid,omitempty"`   // 资源标识
	VideoSize   int32  `json:"video_size"`             // 视频:大小
	ThumbUrl    string `json:"thumb_url,omitempty"`    // 视频封面:链接
	ThumbWidth  int32  `json:"thumb_width,omitempty"`  // 视频封面:宽
	ThumbHeight int32  `json:"thumb_height,omitempty"` // 视频封面:高
	ThumbUuid   string `json:"thumb_uuid,omitempty"`   // 资源标识
	ThumbSize   int32  `json:"thumb_size"`             // 视频封面:大小
}

func (VideoContent) GetType

func (c VideoContent) GetType() MsgType

Jump to

Keyboard shortcuts

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