package qywx

import "time"

type AuthRes struct {
	Errcode     int    `json:"errcode"`
	Errmsg      string `json:"errmsg"`
	AccessToken string `json:"access_token"`
	ExpiresIn   int    `json:"expires_in"`
}

type AuthInfo struct {
	Corpid      string        `json:"corpid"`
	Corpsecret  string        `json:"corpsecret"`
	AccessToken string        `json:"accessToken"`
	Expire      time.Duration `json:"expireIn"`
}

type GroupCreateReq struct {
	Name     string   `json:"name"`
	Owner    string   `json:"owner"`
	Userlist []string `json:"userlist"`
	Chatid   string   `json:"chatid"`
}

type GroupCreateResp struct {
	Errcode int    `json:"errcode"`
	Errmsg  string `json:"errmsg"`
	Chatid  string `json:"chatid"`
}

type commonResp struct {
	Errcode int    `json:"errcode"`
	Errmsg  string `json:"errmsg"`
}

type GroupSendMarkDownReq struct {
	Chatid   string   `json:"chatid"`
	Msgtype  string   `json:"msgtype"`
	Markdown MarkDown `json:"markdown_v2"`
}

type MarkDown struct {
	Content string `json:"content"`
}

type GroupSendNewsReq struct {
	Chatid  string `json:"chatid"`
	Msgtype string `json:"msgtype"`
	News    News   `json:"news"`
	Safe    int    `json:"safe"`
}

type News struct {
	Articles []Articles `json:"articles"`
}
type Articles struct {
	Title       string `json:"title"`
	Description string `json:"description"`
	Url         string `json:"url"`
	Picurl      string `json:"picurl"`
}

type GroupSendImgReq struct {
	Chatid  string `json:"chatid"`
	Msgtype string `json:"msgtype"`
	Image   Image  `json:"image"`
	Safe    int    `json:"safe"`
}
type Image struct {
	MediaId string `json:"media_id"`
}

type GroupSendMpNewsReq struct {
	Chatid  string `json:"chatid"`
	Msgtype string `json:"msgtype"`
	Mpnews  Mpnews `json:"mpnews"`
	Safe    int    `json:"safe"`
}

type Mpnews struct {
	Articles []ArticlesMpnews `json:"articles"`
}
type ArticlesMpnews struct {
	Title            string `json:"title"`
	ThumbMediaId     string `json:"thumb_media_id"`
	Author           string `json:"author"`
	ContentSourceUrl string `json:"content_source_url"`
	Content          string `json:"content"`
	Digest           string `json:"digest"`
}

type GroupSendTextReq struct {
	Chatid  string `json:"chatid"`
	Msgtype string `json:"msgtype"`
	Text    Text   `json:"text"`
	Safe    int    `json:"safe"`
}

type Text struct {
	Content string `json:"content"`
}
