Documentation
¶
Index ¶
- type ATag
- type ActionElement
- type AtTag
- type ButtonActionElement
- func (button *ButtonActionElement) GetActionTag() string
- func (button *ButtonActionElement) SetConfirm(confirm *ConfirmElement) *ButtonActionElement
- func (button *ButtonActionElement) SetMultiUrl(multiUrl *UrlElement) *ButtonActionElement
- func (button *ButtonActionElement) SetType(buttonType ButtonType) *ButtonActionElement
- func (button *ButtonActionElement) SetUrl(url string) *ButtonActionElement
- func (button *ButtonActionElement) SetValue(value map[string]interface{}) *ButtonActionElement
- func (button *ButtonActionElement) ToMessage() map[string]interface{}
- type ButtonType
- type CardAction
- type CardConfig
- type CardContent
- type CardElement
- type CardField
- type CardHeader
- type CardHeaderTemplate
- type CardHr
- type CardImage
- type CardImg
- func (img *CardImg) GetContentTag() string
- func (img *CardImg) SetCompactWidth(compactWidth bool) *CardImg
- func (img *CardImg) SetCustomWidth(customWidth int) *CardImg
- func (img *CardImg) SetMode(mode CardImgMode) *CardImg
- func (img *CardImg) SetPreview(preview bool) *CardImg
- func (img *CardImg) SetTitle(title *CardText) *CardImg
- func (img *CardImg) ToMessage() map[string]interface{}
- type CardImgMode
- type CardInternal
- type CardLinkElement
- type CardMarkdown
- type CardNote
- type CardText
- type CardTextTag
- type CardTitle
- type Client
- func (c *Client) GenSign(secret string, timestamp int64) (string, error)
- func (c *Client) SendMessage(message Message) (*Response, error)
- func (c *Client) SendMessageByUrl(url string, message Message) (*Response, error)
- func (c *Client) SendMessageStr(message string) (*Response, error)
- func (c *Client) SendMessageStrByUrl(url, message string) (*Response, error)
- type ConfirmElement
- type DatePickerActionElement
- func (datePicker *DatePickerActionElement) GetActionTag() string
- func (datePicker *DatePickerActionElement) SetConfirm(confirm *ConfirmElement) *DatePickerActionElement
- func (datePicker *DatePickerActionElement) SetInitialDate(initialDate string) *DatePickerActionElement
- func (datePicker *DatePickerActionElement) SetInitialDatetime(initialDatetime string) *DatePickerActionElement
- func (datePicker *DatePickerActionElement) SetInitialTime(initialTime string) *DatePickerActionElement
- func (datePicker *DatePickerActionElement) SetPlaceholder(placeholder *CardText) *DatePickerActionElement
- func (datePicker *DatePickerActionElement) SetValue(value map[string]interface{}) *DatePickerActionElement
- func (datePicker *DatePickerActionElement) ToMessage() map[string]interface{}
- type DatePickerTag
- type I18nInteractiveElement
- type ImageMessage
- type ImgTag
- type InteractiveMessage
- func (message *InteractiveMessage) AddElements(elements ...CardContent) *InteractiveMessage
- func (message *InteractiveMessage) SetCardLink(link *CardLinkElement) *InteractiveMessage
- func (message *InteractiveMessage) SetConfig(config *CardConfig) *InteractiveMessage
- func (message *InteractiveMessage) SetElements(elements ...CardContent) *InteractiveMessage
- func (message *InteractiveMessage) SetHeader(header *CardHeader) *InteractiveMessage
- func (message *InteractiveMessage) SetI18nElements(i18nElements *I18nInteractiveElement) *InteractiveMessage
- func (message *InteractiveMessage) ToMessageMap() map[string]interface{}
- type LangPostItem
- type LayoutAction
- type Message
- type MsgType
- type OptionElement
- func (element *OptionElement) SetMultiUrl(multiUrl *UrlElement) *OptionElement
- func (element *OptionElement) SetText(text *CardText) *OptionElement
- func (element *OptionElement) SetUrl(url string) *OptionElement
- func (element *OptionElement) SetValue(value string) *OptionElement
- func (element *OptionElement) ToMessage() map[string]interface{}
- type OverflowActionElement
- func (overflow *OverflowActionElement) AddOptions(options ...*OptionElement) *OverflowActionElement
- func (overflow *OverflowActionElement) GetActionTag() string
- func (overflow *OverflowActionElement) SetConfirm(confirm *ConfirmElement) *OverflowActionElement
- func (overflow *OverflowActionElement) SetValue(value map[string]interface{}) *OverflowActionElement
- func (overflow *OverflowActionElement) ToMessage() map[string]interface{}
- type PostItems
- type PostMessage
- type PostTag
- type PostTagType
- type PostTags
- type Response
- type SelectMenuActionElement
- func (selectMenu *SelectMenuActionElement) AddOptions(options ...*OptionElement) *SelectMenuActionElement
- func (selectMenu *SelectMenuActionElement) GetActionTag() string
- func (selectMenu *SelectMenuActionElement) SetConfirm(confirm *ConfirmElement) *SelectMenuActionElement
- func (selectMenu *SelectMenuActionElement) SetInitialOption(initialOption string) *SelectMenuActionElement
- func (selectMenu *SelectMenuActionElement) SetOptions(options ...*OptionElement) *SelectMenuActionElement
- func (selectMenu *SelectMenuActionElement) SetPlaceholder(placeholder *CardText) *SelectMenuActionElement
- func (selectMenu *SelectMenuActionElement) SetValue(value map[string]interface{}) *SelectMenuActionElement
- func (selectMenu *SelectMenuActionElement) ToMessage() map[string]interface{}
- type SelectMenuTag
- type TextMessage
- type TextTag
- type UrlElement
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ActionElement ¶
type ActionElement interface {
CardInternal
// GetActionTag ActionElement tag
GetActionTag() string
}
ActionElement 交互元素
type AtTag ¶
type AtTag struct {
// UserId open_id,union_id或user_id
UserId string
// UserName 用户姓名
UserName string
}
AtTag at标签
func (*AtTag) SetUserName ¶
SetUserName set UserName
func (*AtTag) ToPostTagMessage ¶
type ButtonActionElement ¶
type ButtonActionElement struct {
// Text 按钮中的文本
Text *CardText
// Url 跳转链接,和 ButtonActionElement.MultiUrl 互斥
Url string
// MultiUrl 多端跳转链接
MultiUrl *UrlElement
// ButtonType 配置按钮样式,默认为"default"
ButtonType ButtonType
// Value 点击后返回业务方, 仅支持key-value形式的json结构,且key为String类型。
Value map[string]interface{}
// Confirm 二次确认的弹框
Confirm *ConfirmElement
}
ButtonActionElement 交互组件, 可用于内容块的extra字段和交互块的actions字段
func NewButtonActionElement ¶
func NewButtonActionElement(text *CardText) *ButtonActionElement
NewButtonActionElement create ButtonActionElement
func (*ButtonActionElement) GetActionTag ¶
func (button *ButtonActionElement) GetActionTag() string
func (*ButtonActionElement) SetConfirm ¶
func (button *ButtonActionElement) SetConfirm(confirm *ConfirmElement) *ButtonActionElement
SetConfirm set ButtonActionElement.Confirm
func (*ButtonActionElement) SetMultiUrl ¶
func (button *ButtonActionElement) SetMultiUrl(multiUrl *UrlElement) *ButtonActionElement
SetMultiUrl set ButtonActionElement.MultiUrl
func (*ButtonActionElement) SetType ¶
func (button *ButtonActionElement) SetType(buttonType ButtonType) *ButtonActionElement
SetType set ButtonActionElement.ButtonType
func (*ButtonActionElement) SetUrl ¶
func (button *ButtonActionElement) SetUrl(url string) *ButtonActionElement
SetUrl set ButtonActionElement.Url
func (*ButtonActionElement) SetValue ¶
func (button *ButtonActionElement) SetValue(value map[string]interface{}) *ButtonActionElement
SetValue set ButtonActionElement.Value
func (*ButtonActionElement) ToMessage ¶
func (button *ButtonActionElement) ToMessage() map[string]interface{}
type ButtonType ¶
type ButtonType string
ButtonType ButtonActionElement.ButtonType
const ( // DefaultType default 次要按钮 DefaultType ButtonType = "default" // PrimaryType primary 主要按钮 PrimaryType ButtonType = "primary" // DangerType danger 警示按钮 DangerType ButtonType = "danger" )
type CardAction ¶
type CardAction struct {
// Actions 交互元素
Actions []ActionElement
// Layout 交互元素布局
Layout LayoutAction
}
CardAction 交互模块
func NewCardAction ¶
func NewCardAction(actions ...ActionElement) *CardAction
NewCardAction create CardAction
func (*CardAction) AddAction ¶
func (action *CardAction) AddAction(actions ...ActionElement) *CardAction
AddAction add CardAction.Actions
func (*CardAction) GetContentTag ¶
func (action *CardAction) GetContentTag() string
func (*CardAction) SetLayout ¶
func (action *CardAction) SetLayout(layout LayoutAction) *CardAction
SetLayout set CardAction.Layout
func (*CardAction) ToMessage ¶
func (action *CardAction) ToMessage() map[string]interface{}
type CardConfig ¶
type CardConfig struct {
// EnableForward 是否允许卡片被转发,默认 true
EnableForward bool
// UpdateMulti 是否为共享卡片,默认为false
UpdateMulti bool
// WideScreenMode 是否根据屏幕宽度动态调整消息卡片宽度,默认值为true
//
// 2021/03/22之后,此字段废弃,所有卡片均升级为自适应屏幕宽度的宽版卡片
WideScreenMode bool
}
CardConfig 卡片属性
func (*CardConfig) SetEnableForward ¶
func (config *CardConfig) SetEnableForward(enableForward bool) *CardConfig
SetEnableForward set EnableForward
func (*CardConfig) SetUpdateMulti ¶
func (config *CardConfig) SetUpdateMulti(updateMulti bool) *CardConfig
SetUpdateMulti set UpdateMulti
func (*CardConfig) SetWideScreenMode ¶
func (config *CardConfig) SetWideScreenMode(wideScreenMode bool) *CardConfig
SetWideScreenMode set WideScreenMode
func (*CardConfig) ToMessage ¶
func (config *CardConfig) ToMessage() map[string]interface{}
type CardContent ¶
type CardContent interface {
CardInternal
// GetContentTag 卡片内容 tag标签
GetContentTag() string
}
CardContent 卡片内容
type CardElement ¶
type CardElement struct {
// Text 单个文本展示,和fields至少要有一个
Text *CardText
// Fields 多个文本展示,和text至少要有一个
Fields []*CardField
// Extra 附加的元素展示在文本内容右侧
//
// 可附加的元素包括image、button、selectMenu、overflow、datePicker
Extra CardInternal
}
CardElement 内容模块
func NewCardElement ¶
func NewCardElement(text *CardText, fields ...*CardField) *CardElement
NewCardElement create CardElement
func (*CardElement) AddFields ¶
func (card *CardElement) AddFields(field ...*CardField) *CardElement
AddFields add CardElement.Fields
func (*CardElement) GetContentTag ¶
func (card *CardElement) GetContentTag() string
func (*CardElement) SetExtra ¶
func (card *CardElement) SetExtra(extra CardInternal) *CardElement
SetExtra set CardElement.Extra
func (*CardElement) ToMessage ¶
func (card *CardElement) ToMessage() map[string]interface{}
type CardHeader ¶
type CardHeader struct {
Title *CardTitle
Template CardHeaderTemplate
}
CardHeader 卡片标题
func NewCardHeader ¶
func NewCardHeader(title *CardTitle) *CardHeader
NewCardHeader create CardHeader
func (*CardHeader) SetTemplate ¶
func (header *CardHeader) SetTemplate(template CardHeaderTemplate) *CardHeader
SetTemplate set Template
func (*CardHeader) ToMessage ¶
func (header *CardHeader) ToMessage() map[string]interface{}
type CardHeaderTemplate ¶
type CardHeaderTemplate string
CardHeaderTemplate CardHeader.Template
const ( // Blue CardHeader.Template blue Blue CardHeaderTemplate = "blue" // Wathet CardHeader.Template wathet Wathet CardHeaderTemplate = "wathet" // Turquoise CardHeader.Template turquoise Turquoise CardHeaderTemplate = "turquoise" // Green CardHeader.Template green Green CardHeaderTemplate = "green" // Yellow CardHeader.Template yellow Yellow CardHeaderTemplate = "yellow" // Orange CardHeader.Template orange Orange CardHeaderTemplate = "orange" // Red CardHeader.Template red Red CardHeaderTemplate = "red" // Carmine CardHeader.Template carmine Carmine CardHeaderTemplate = "carmine" // Violet CardHeader.Template violet Violet CardHeaderTemplate = "violet" // Purple CardHeader.Template purple Purple CardHeaderTemplate = "purple" // Indigo CardHeader.Template indigo Indigo CardHeaderTemplate = "indigo" // Grey CardHeader.Template grey Grey CardHeaderTemplate = "grey" )
type CardImage ¶
type CardImage struct {
// ImageKey 图片资源
ImageKey string
// Alt 图片hover说明
Alt *CardText
// Preview 点击后是否放大图片,缺省为true
Preview bool
}
CardImage 作为图片元素被使用 可用于内容块的extra字段和备注块的elements字段。
func NewCardImage ¶
NewCardImage create CardImage
func (*CardImage) GetContentTag ¶
func (*CardImage) SetPreview ¶
SetPreview set Preview
type CardImg ¶
type CardImg struct {
// ImgKey 图片资源
ImgKey string
// Alt hover图片时弹出的Tips文案,content取值为空时则不展示
Alt *CardText
// Title 图片标题
Title *CardText
// CustomWidth 自定义图片的最大展示宽度
CustomWidth int
// CompactWidth 是否展示为紧凑型的图片 默认为false
CompactWidth bool
// Mode 图片显示模式 默认 crop_center
Mode CardImgMode
// Preview 点击后是否放大图片,缺省为true
Preview bool
}
CardImg 图片模块
func (*CardImg) GetContentTag ¶
func (*CardImg) SetCompactWidth ¶
SetCompactWidth set CardImg.CompactWidth
func (*CardImg) SetCustomWidth ¶
SetCustomWidth set CardImg.CustomWidth
func (*CardImg) SetMode ¶
func (img *CardImg) SetMode(mode CardImgMode) *CardImg
SetMode set CardImg.Mode
func (*CardImg) SetPreview ¶
SetPreview set CardImg.Preview
type CardImgMode ¶
type CardImgMode string
CardImgMode CardImg.Mode
const ( // FitHorizontal 平铺模式,宽度撑满卡片完整展示上传的图片。 该属性会覆盖 FitHorizontal CardImgMode = "fit_horizontal" // CropCenter 居中裁剪模式,对长图会限高,并居中裁剪后展示 CropCenter CardImgMode = "crop_center" )
type CardInternal ¶
type CardInternal interface {
// ToMessage to message map
ToMessage() map[string]interface{}
}
CardInternal card message internal
type CardLinkElement ¶
type CardLinkElement struct {
*UrlElement
}
CardLinkElement 指定卡片整体的点击跳转链接
func NewCardLinkElement ¶
func NewCardLinkElement(url string) *CardLinkElement
NewCardLinkElement create CardLinkElement
func (*CardLinkElement) SetAndroidUrl ¶
func (element *CardLinkElement) SetAndroidUrl(androidUrl string) *CardLinkElement
SetAndroidUrl set UrlElement.AndroidUrl
func (*CardLinkElement) SetIosUrl ¶
func (element *CardLinkElement) SetIosUrl(iosUrl string) *CardLinkElement
SetIosUrl set UrlElement.IosUrl
func (*CardLinkElement) SetPcUrl ¶
func (element *CardLinkElement) SetPcUrl(pcUrl string) *CardLinkElement
SetPcUrl set UrlElement.PcUrl
func (*CardLinkElement) ToMessage ¶
func (element *CardLinkElement) ToMessage() map[string]interface{}
type CardMarkdown ¶
type CardMarkdown struct {
// Content 使用已支持的markdown语法构造markdown内容
Content string
// Href 差异化跳转
Href *UrlElement
// UrlVal 绑定变量
UrlVal string
}
CardMarkdown Markdown模块
func NewCardMarkdown ¶
func NewCardMarkdown(content string) *CardMarkdown
NewCardMarkdown create CardMarkdown
func (*CardMarkdown) GetContentTag ¶
func (card *CardMarkdown) GetContentTag() string
func (*CardMarkdown) SetHref ¶
func (card *CardMarkdown) SetHref(url *UrlElement) *CardMarkdown
SetHref set CardMarkdown.Href
func (*CardMarkdown) ToMessage ¶
func (card *CardMarkdown) ToMessage() map[string]interface{}
func (*CardMarkdown) ToMessageMap ¶
func (card *CardMarkdown) ToMessageMap() map[string]interface{}
type CardNote ¶
type CardNote struct {
// Elements 备注信息 text对象或image元素
Elements []CardInternal
}
CardNote 备注模块,用于展示次要信息
使用备注模块来展示用于辅助说明或备注的次要信息,支持小尺寸的图片和文本
func (*CardNote) AddElements ¶
func (note *CardNote) AddElements(elements ...CardInternal) *CardNote
AddElements add CardNote.Elements
func (*CardNote) GetContentTag ¶
type CardText ¶
type CardText struct {
// Tag 元素标签
Tag CardTextTag
// Content 文本内容
Content string
// Lines 内容显示行数
Lines int
}
CardText 卡片内容-可内嵌的非交互元素-text
func NewCardText ¶
func NewCardText(tag CardTextTag, content string) *CardText
NewCardText create CardText
type CardTextTag ¶
type CardTextTag string
CardTextTag 卡片内容-可内嵌的非交互元素-text-tag属性
const ( // Text 文本 Text CardTextTag = "plain_text" // Md markdown Md CardTextTag = "lark_md" )
type CardTitle ¶
type CardTitle struct {
// Content 内容
Content string
// I18n i18n替换content
//
// "i18n": {
// "zh_cn": "中文文本",
// "en_us": "English text",
// "ja_jp": "日本語文案"
// }
I18n map[string]string
}
CardTitle 标题
func NewCardTitle ¶
NewCardTitle create CardTitle
type Client ¶
type Client struct {
// Webhook robot webhook address
Webhook string
// Secret robot secret
Secret string
// session id
SessionID string
}
Client feishu robot client
func (*Client) SendMessageByUrl ¶
type ConfirmElement ¶
type ConfirmElement struct {
// Title 弹框标题 仅支持"plain_text"
Title *CardText
// Text 弹框内容 仅支持"plain_text"
Text *CardText
}
ConfirmElement 用于交互元素的二次确认
弹框默认提供确定和取消的按钮,无需开发者手动配置
func NewConfirmElement ¶
func NewConfirmElement(title, text *CardText) *ConfirmElement
NewConfirmElement create ConfirmElement
func (*ConfirmElement) ToMessage ¶
func (element *ConfirmElement) ToMessage() map[string]interface{}
type DatePickerActionElement ¶
type DatePickerActionElement struct {
// Tag tag
Tag DatePickerTag
// InitialDate 日期模式的初始值 格式"yyyy-MM-dd"
InitialDate string
// InitialTime 时间模式的初始值 格式"HH:mm"
InitialTime string
// InitialDatetime 日期时间模式的初始值 格式"yyyy-MM-dd HH:mm"
InitialDatetime string
// Placeholder 占位符,无初始值时必填
Placeholder *CardText
// Value 用户选定后返回业务方的数据 JSON
Value map[string]interface{}
// Confirm 二次确认的弹框
Confirm *ConfirmElement
}
DatePickerActionElement 提供时间选择的功能
可用于内容块的extra字段和交互块的actions字段。
func NewDatePickerActionElement ¶
func NewDatePickerActionElement(tag DatePickerTag) *DatePickerActionElement
NewDatePickerActionElement create DatePickerActionElement
func (*DatePickerActionElement) GetActionTag ¶
func (datePicker *DatePickerActionElement) GetActionTag() string
func (*DatePickerActionElement) SetConfirm ¶
func (datePicker *DatePickerActionElement) SetConfirm(confirm *ConfirmElement) *DatePickerActionElement
SetConfirm set DatePickerActionElement.Confirm
func (*DatePickerActionElement) SetInitialDate ¶
func (datePicker *DatePickerActionElement) SetInitialDate(initialDate string) *DatePickerActionElement
SetInitialDate set DatePickerActionElement.InitialDate
func (*DatePickerActionElement) SetInitialDatetime ¶
func (datePicker *DatePickerActionElement) SetInitialDatetime(initialDatetime string) *DatePickerActionElement
SetInitialDatetime set DatePickerActionElement.InitialDatetime
func (*DatePickerActionElement) SetInitialTime ¶
func (datePicker *DatePickerActionElement) SetInitialTime(initialTime string) *DatePickerActionElement
SetInitialTime set DatePickerActionElement.InitialTime
func (*DatePickerActionElement) SetPlaceholder ¶
func (datePicker *DatePickerActionElement) SetPlaceholder(placeholder *CardText) *DatePickerActionElement
SetPlaceholder set DatePickerActionElement.Placeholder
func (*DatePickerActionElement) SetValue ¶
func (datePicker *DatePickerActionElement) SetValue(value map[string]interface{}) *DatePickerActionElement
SetValue set DatePickerActionElement.Value
func (*DatePickerActionElement) ToMessage ¶
func (datePicker *DatePickerActionElement) ToMessage() map[string]interface{}
type DatePickerTag ¶
type DatePickerTag string
DatePickerTag DatePickerActionElement.Tag
const ( // DatePicker 日期 DatePicker DatePickerTag = "date_picker" // PickerTime 时间 PickerTime DatePickerTag = "picker_time" // PickerDatetime 日期+时间 PickerDatetime DatePickerTag = "picker_datetime" )
type I18nInteractiveElement ¶
type I18nInteractiveElement struct {
// Elements 多语言内容
//
//"en_us": [
// //English - card content
// {module-1},
// {module-2},
// {module-3},
// ......
// ],
// "zh_cn": [
// //Chinese - card content
// {module-1},
// {module-2},
// {module-3},
// ......
// ],
Elements map[string][]CardContent
}
I18nInteractiveElement 为卡片的正文部分定义多语言内容
func NewI18nInteractiveElement ¶
func NewI18nInteractiveElement(elements map[string][]CardContent) *I18nInteractiveElement
NewI18nInteractiveElement create I18nInteractiveElement
func (*I18nInteractiveElement) Put ¶
func (element *I18nInteractiveElement) Put(lang string, contents ...CardContent) *I18nInteractiveElement
Put add i18n contents
func (*I18nInteractiveElement) ToMap ¶
func (element *I18nInteractiveElement) ToMap() map[string]interface{}
ToMap to map
type ImageMessage ¶
type ImageMessage struct {
// ImageKey image_key
ImageKey string
}
ImageMessage 图片
func NewImageMessage ¶
func NewImageMessage(imageKey string) *ImageMessage
NewImageMessage create ImageMessage
func (*ImageMessage) ToMessageMap ¶
func (image *ImageMessage) ToMessageMap() map[string]interface{}
type ImgTag ¶
type ImgTag struct {
ImageKey string
}
ImgTag img tag
func (*ImgTag) ToPostTagMessage ¶
type InteractiveMessage ¶
type InteractiveMessage struct {
// Config 用于描述卡片的功能属性
Config *CardConfig
// Header 用于配置卡片标题内容
Header *CardHeader
// CarLink 指定卡片整体的点击跳转链接
CarLink *CardLinkElement
// Elements 用于定义卡片正文内容
Elements []CardContent
// contains filtered or unexported fields
}
InteractiveMessage 消息卡片
func NewInteractiveMessage ¶
func NewInteractiveMessage() *InteractiveMessage
NewInteractiveMessage create InteractiveMessage
func (*InteractiveMessage) AddElements ¶
func (message *InteractiveMessage) AddElements(elements ...CardContent) *InteractiveMessage
AddElements add InteractiveMessage.Elements
func (*InteractiveMessage) SetCardLink ¶
func (message *InteractiveMessage) SetCardLink(link *CardLinkElement) *InteractiveMessage
SetCardLink set InteractiveMessage.CarLink
func (*InteractiveMessage) SetConfig ¶
func (message *InteractiveMessage) SetConfig(config *CardConfig) *InteractiveMessage
SetConfig set InteractiveMessage.Config
func (*InteractiveMessage) SetElements ¶
func (message *InteractiveMessage) SetElements(elements ...CardContent) *InteractiveMessage
SetElements set InteractiveMessage.Elements
func (*InteractiveMessage) SetHeader ¶
func (message *InteractiveMessage) SetHeader(header *CardHeader) *InteractiveMessage
SetHeader set InteractiveMessage.Header
func (*InteractiveMessage) SetI18nElements ¶
func (message *InteractiveMessage) SetI18nElements(i18nElements *I18nInteractiveElement) *InteractiveMessage
SetI18nElements set InteractiveMessage.i18nElements
func (*InteractiveMessage) ToMessageMap ¶
func (message *InteractiveMessage) ToMessageMap() map[string]interface{}
type LangPostItem ¶
LangPostItem language post item
func NewLangPostItem ¶
func NewLangPostItem(lang string, item *PostItems) *LangPostItem
NewLangPostItem create LangPostItem
func NewZhCnLangPostItem ¶
func NewZhCnLangPostItem(item *PostItems) *LangPostItem
NewZhCnLangPostItem create zh_cn language post item
func (*LangPostItem) ToMessageMap ¶
func (post *LangPostItem) ToMessageMap() map[string]interface{}
type LayoutAction ¶
type LayoutAction string
LayoutAction 交互元素布局
const ( // Bisected 二等分布局,每行两列交互元素 Bisected LayoutAction = "bisected" // Trisection 三等分布局,每行三列交互元素 Trisection LayoutAction = "trisection" // Flow 流式布局元素会按自身大小横向排列并在空间不够的时候折行 Flow LayoutAction = "flow" )
type Message ¶
type Message interface {
// ToMessageMap for JSON serialization
ToMessageMap() map[string]interface{}
}
Message feishu robot send message struct
type OptionElement ¶
type OptionElement struct {
// Text 选项显示内容,非待选人员时必填
Text *CardText
// Value 选项选中后返回业务方的数据,与url或multi_url必填其中一个
Value string
// Url *仅支持overflow,跳转指定链接,和multi_url字段互斥
Url string
// MultiUrl *仅支持overflow,跳转对应链接,和url字段互斥
MultiUrl *UrlElement
}
OptionElement
作为selectMenu的选项对象
作为overflow的选项对象
func NewOptionElement ¶
func NewOptionElement() *OptionElement
NewOptionElement create OptionElement
func (*OptionElement) SetMultiUrl ¶
func (element *OptionElement) SetMultiUrl(multiUrl *UrlElement) *OptionElement
SetMultiUrl set OptionElement.MultiUrl
func (*OptionElement) SetText ¶
func (element *OptionElement) SetText(text *CardText) *OptionElement
SetText set OptionElement.Text
func (*OptionElement) SetUrl ¶
func (element *OptionElement) SetUrl(url string) *OptionElement
SetUrl set OptionElement.Url
func (*OptionElement) SetValue ¶
func (element *OptionElement) SetValue(value string) *OptionElement
SetValue set OptionElement.Value
func (*OptionElement) ToMessage ¶
func (element *OptionElement) ToMessage() map[string]interface{}
type OverflowActionElement ¶
type OverflowActionElement struct {
// Options 待选选项
Options []*OptionElement
// Value 用户选定后返回业务方的数据
Value map[string]interface{}
// Confirm 二次确认的弹框
Confirm *ConfirmElement
}
OverflowActionElement 提供折叠的按钮型菜单
overflow属于交互元素的一种,可用于内容块的extra字段和交互块的actions字段。
func NewOverflowActionElement ¶
func NewOverflowActionElement(options ...*OptionElement) *OverflowActionElement
NewOverflowActionElement create OverflowActionElement
func (*OverflowActionElement) AddOptions ¶
func (overflow *OverflowActionElement) AddOptions(options ...*OptionElement) *OverflowActionElement
AddOptions add OverflowActionElement.Options
func (*OverflowActionElement) GetActionTag ¶
func (overflow *OverflowActionElement) GetActionTag() string
func (*OverflowActionElement) SetConfirm ¶
func (overflow *OverflowActionElement) SetConfirm(confirm *ConfirmElement) *OverflowActionElement
SetConfirm set OverflowActionElement.Confirm
func (*OverflowActionElement) SetValue ¶
func (overflow *OverflowActionElement) SetValue(value map[string]interface{}) *OverflowActionElement
SetValue set OverflowActionElement.Value
func (*OverflowActionElement) ToMessage ¶
func (overflow *OverflowActionElement) ToMessage() map[string]interface{}
type PostItems ¶
PostItems 富文本 段落
func NewPostItems ¶
NewPostItems create PostItems
func (*PostItems) AddContent ¶
AddContent add PostItems Content
func (*PostItems) ToMessageMap ¶
type PostMessage ¶
type PostMessage struct {
LangItem []*LangPostItem
}
PostMessage post message
func NewPostMessage ¶
func NewPostMessage(langItem ...*LangPostItem) *PostMessage
NewPostMessage create PostMessage
func (*PostMessage) AddLangItem ¶
func (post *PostMessage) AddLangItem(langItem ...*LangPostItem) *PostMessage
AddLangItem add LangPostItem
func (*PostMessage) ToMessageMap ¶
func (post *PostMessage) ToMessageMap() map[string]interface{}
type PostTag ¶
type PostTag interface {
// ToPostTagMessage for JSON serialization
ToPostTagMessage() map[string]interface{}
}
PostTag 标签
type PostTagType ¶
type PostTagType string
PostTagType 标签
const ( // TextPostTagType text TextPostTagType PostTagType = "text" // APostTagType a APostTagType PostTagType = "a" // AtPostTagType at AtPostTagType PostTagType = "at" // ImgPostTagType img ImgPostTagType PostTagType = "img" )
type PostTags ¶
type PostTags struct {
// PostTags post tag
PostTags []PostTag
}
PostTags post tag list
func (*PostTags) ToMessageMap ¶
ToMessageMap to array message map
type Response ¶
type Response struct {
Code int64 `json:"code"`
Msg string `json:"msg"`
Data interface{} `json:"data,omitempty"`
StatusCode int64 `json:"StatusCode,omitempty"`
StatusMessage string `json:"StatusMessage,omitempty"`
}
Response response struct
type SelectMenuActionElement ¶
type SelectMenuActionElement struct {
// Tag tag
Tag SelectMenuTag
// Placeholder 占位符,无默认选项时必须有
Placeholder *CardText
// InitialOption 默认选项的value字段值。select_person模式下不支持此配置。
InitialOption string
// Options 待选选项
Options []*OptionElement
// Value 用户选定后返回业务方的数据 key-value形式的json结构,且key为String类型
Value map[string]interface{}
// Confirm 二次确认的弹框
Confirm *ConfirmElement
}
SelectMenuActionElement 作为selectMenu元素被使用,提供选项菜单的功能
func NewSelectMenuActionElement ¶
func NewSelectMenuActionElement(tag SelectMenuTag) *SelectMenuActionElement
NewSelectMenuActionElement create SelectMenuActionElement
func (*SelectMenuActionElement) AddOptions ¶
func (selectMenu *SelectMenuActionElement) AddOptions(options ...*OptionElement) *SelectMenuActionElement
AddOptions add SelectMenuActionElement.Options
func (*SelectMenuActionElement) GetActionTag ¶
func (selectMenu *SelectMenuActionElement) GetActionTag() string
func (*SelectMenuActionElement) SetConfirm ¶
func (selectMenu *SelectMenuActionElement) SetConfirm(confirm *ConfirmElement) *SelectMenuActionElement
SetConfirm set SelectMenuActionElement.Confirm
func (*SelectMenuActionElement) SetInitialOption ¶
func (selectMenu *SelectMenuActionElement) SetInitialOption(initialOption string) *SelectMenuActionElement
SetInitialOption set SelectMenuActionElement.InitialOption
func (*SelectMenuActionElement) SetOptions ¶
func (selectMenu *SelectMenuActionElement) SetOptions(options ...*OptionElement) *SelectMenuActionElement
SetOptions set SelectMenuActionElement.Options
func (*SelectMenuActionElement) SetPlaceholder ¶
func (selectMenu *SelectMenuActionElement) SetPlaceholder(placeholder *CardText) *SelectMenuActionElement
SetPlaceholder set SelectMenuActionElement.Placeholder
func (*SelectMenuActionElement) SetValue ¶
func (selectMenu *SelectMenuActionElement) SetValue(value map[string]interface{}) *SelectMenuActionElement
SetValue set SelectMenuActionElement.Value
func (*SelectMenuActionElement) ToMessage ¶
func (selectMenu *SelectMenuActionElement) ToMessage() map[string]interface{}
type SelectMenuTag ¶
type SelectMenuTag string
SelectMenuTag SelectMenuActionElement tag
const ( // SelectStatic SelectMenuActionElement select_static tag 选项模式 SelectStatic SelectMenuTag = "select_static" // SelectPerson SelectMenuActionElement select_person tag 选人模式 SelectPerson SelectMenuTag = "select_person" )
type TextMessage ¶
TextMessage 文本消息
func NewTextMessage ¶
func NewTextMessage(text string, atAll bool) *TextMessage
NewTextMessage create TextMessage
func (*TextMessage) ToMessageMap ¶
func (text *TextMessage) ToMessageMap() map[string]interface{}
type TextTag ¶
type TextTag struct {
// Text 文本内容
Text string
// UnEscape 表示是不是 unescape 解码,默认为 false ,不用可以不填
UnEscape bool
}
TextTag 文本标签
func (*TextTag) SetUnEscape ¶
SetUnEscape set TextTag UnEscape
func (*TextTag) ToPostTagMessage ¶
type UrlElement ¶
type UrlElement struct {
// Url 默认跳转链接
Url string
// AndroidUrl 安卓端跳转链接
AndroidUrl string
// IosUrl ios端跳转链接
IosUrl string
// PcUrl pc端跳转链接
PcUrl string
}
UrlElement url对象用作多端差异跳转链接
可用于button的multi_url字段,支持按键点击的多端跳转。
可用于lark_md类型text对象的href字段,支持超链接点击的多端跳转。
func NewUrlElement ¶
func NewUrlElement(url, androidUrl, iosUrl, pcUrl string) *UrlElement
NewUrlElement create UrlElement
func (*UrlElement) ToMessage ¶
func (element *UrlElement) ToMessage() map[string]interface{}