func makeCardMsg()

in notification-lark/notification.go [129:210]


func makeCardMsg(args plugin.NotificationMessage) Card {
	action := &Action{
		Tag: "action",
		Actions: []*Button{
			{
				Width: "fill",
				Text: &Text{
					Tag:     "plain_text",
					Content: "查看详情",
					Icon: &Icon{
						Tag:   "standard_icon",
						Token: "link-copy_outlined",
					},
				},
				Behaviors: []Behavior{
					{
						Type:       "open_url",
						DefaultURL: args.QuestionUrl,
					},
				},
			},
		},
	}

	columnSet := func(content string) ColumnSet {
		return ColumnSet{
			Show: &Show{
				Tag:      "column_set",
				FlexMode: "flex_mode",
				Columns: []Column{
					{
						Elements: []Element{
							{
								PlainText: &PlainText{
									Tag: "div",
									Text: &Text{
										Tag:     "lark_md",
										Content: content,
									},
								},
							},
						},
					},
				},
			},
			Action: action,
		}
	}

	card := Card{
		Config: &Config{
			WidthMode:            "compact",
			UseCustomTranslation: PtrBool(true),
			EnableForward:        PtrBool(false),
		},
		Header: &Header{
			Title: &Text{
				Tag: "plain_text",
				I18n: &I18n{
					ZhCn: "新通知",
					EnUs: "New Notification",
				},
			},
			UdIcon: &Icon{
				Tag:   "icon",
				Token: "bell_outlined",
				Color: "blue",
			},
			Template: ThemeGreen,
		},
		I18nElements: &I18nElements{
			ZhCn: []ColumnSet{},
			EnUs: []ColumnSet{},
		},
	}

	args.ReceiverLang = string(i18n.LanguageChinese)
	card.I18nElements.ZhCn = append(card.I18nElements.ZhCn, columnSet(renderNotification(args)))
	args.ReceiverLang = string(i18n.LanguageEnglish)
	card.I18nElements.EnUs = append(card.I18nElements.EnUs, columnSet(renderNotification(args)))
	return card
}