package wechat import "encoding/xml" // FormSignature signature type FormSignature struct { TimeStamp string `form:"timestamp" json:"timestamp"` Nonce string `form:"nonce" json:"nonce"` Signature string `form:"signature" json:"signature"` Echostr string `form:"echostr" json:"echostr"` } // FormAuthorize get code type FormAuthorize struct { Code string `form:"code"` State string `form:"state"` URL string `form:"url"` } // FormOpenID openid type FormOpenID struct { OpenID string `form:"openid"` } // FormCode code type FormCode struct { Code string `form:"code"` } // ResponseMsg response type ResponseMsg struct { ErrCode int `json:"errcode"` ErrMsg string `json:"errmsg"` } /* // Response response type Response struct { ErrCode int `json:"errcode"` ErrMsg string `json:"errmsg"` // token AccessToken string `json:"access_token"` ExpiresIn int `json:"expires_in"` // openid RefreshToken string `json:"refresh_token"` OpenID string `json:"openid"` Scope string `json:"scope"` // user info NickName string `json:"nickname"` Sex string `json:"sex"` Province string `json:"province"` City string `json:"city"` Country string `json:"country"` HeadImgURL string `json:"headimgurl"` Privilege string `json:"privilege"` UnionID string `json:"unionid"` // template message MsgID int64 `json:"msgid"` // jsapi_ticket Ticket string `json:"ticket"` // mini get openid by code SessionKey string `json:"session_key"` } // */ // Message message type Message struct { XMLName xml.Name `xml:"xml"` ToUserName string `xml:"ToUserName" json:"ToUserName"` FromUserName string `xml:"FromUserName" json:"FromUserName"` CreateTime int32 `xml:"CreateTime" json:"CreateTime"` MsgType string `xml:"MsgType" json:"MsgType"` MsgID int64 `xml:"MsgId" json:"MsgId"` } // EventTemplateReply event reply type EventTemplateReply struct { XMLName xml.Name `xml:"xml"` ToUserName string `xml:"ToUserName"` FromUserName string `xml:"FromUserName"` CreateTime string `xml:"CreateTime"` MsgType string `xml:"MsgType"` Event string `xml:"Event"` MsgID string `xml:"MsgID"` Status string `xml:"Status"` } // SignPackage sign package type SignPackage struct { AppID string `json:"appId"` NonceStr string `json:"nonceStr"` Timestamp int64 `json:"timestamp"` Signature string `json:"signature"` URL string `json:"url"` } // Client wechat type Client struct { AppID string `json:"appid"` AppSecret string `json:"appsecret"` Token string `json:"token"` EncodingAESKey string `json:"encodingaeskey"` AccessToken string LastTokenTime int64 Ticket string LastTicketTime int64 } // MiniClient wechat mini type MiniClient struct { AppID string `json:"appid"` AppSecret string `json:"appsecret"` AccessToken string LastTokenTime int64 } // FormMaterial Material type FormMaterial struct { Type string `form:"type"` Offset int `form:"offset"` Count int `form:"count"` } // UserInfo userinfo type UserInfo struct { SubScribe int `json:"subscribe"` OpenID string `json:"openid"` NickName string `json:"nickname"` Sex int `json:"sex"` Language string `json:"language"` City string `json:"city"` Province string `json:"province"` Country string `json:"country"` HeadImgURL string `json:"headimgurl"` SubscribeTime int `json:"subscribe_time"` UnionID string `json:"unionid"` Remark string `json:"remark"` GroupID int `json:"groupid"` TagidList []int `json:"tagid_list"` SubscribeScene string `json:"subscribe_scene"` QrScene int `json:"qr_scene"` QrSceneStr string `json:"qr_scene_str"` } // List openid list type List struct { OpenID []string `json:"openid"` } // UserList user list type UserList struct { Total int `json:"total"` Count int `json:"count"` Data List `json:"data"` NextOpenID string `json:"next_openid"` } type newsitem struct { Title string `json:"title"` Author string `json:"author"` Digest string `json:"digest"` Content string `json:"content"` ContentSourceURL string `json:"content_source_url"` ThumbMediaID string `json:"thumb_media_id"` ShowCoverPic int `json:"show_cover_pic"` URL string `json:"url"` ThumbURL string `json:"thumb_url"` NeedOpenComment int `json:"need_open_comment"` OnlyFansCanComment int `json:"only_fans_can_comment"` } type content struct { NewsItem []*newsitem `json:"news_item,omitempty"` CreateTime int `json:"create_time,omitempty"` UpdateTime int `json:"update_time,omitempty"` } type item struct { MediaID string `json:"media_id"` Name string `json:"name,omitempty"` UpdateTime int `json:"update_time"` URL string `json:"url,omitempty"` Content *content `json:"content,omitempty"` } // Material 素材 type Material struct { TotalCount int `json:"total_count"` ItemCount int `json:"item_count"` Item []item `json:"item"` } // MiniProgramPage mini type MiniProgramPage struct { AppID string `json:"appid,omitempty"` PagePath string `json:"pagepath,omitempty"` } // ValueColor value color type ValueColor struct { Value string `json:"value"` Color string `json:"color,omitempty"` } // TemplateData data type TemplateData struct { First *ValueColor `json:"first"` Keyword1 *ValueColor `json:"keyword1,omitempty"` Keyword2 *ValueColor `json:"keyword2,omitempty"` Keyword3 *ValueColor `json:"keyword3,omitempty"` Keyword4 *ValueColor `json:"keyword4,omitempty"` Keyword5 *ValueColor `json:"keyword5,omitempty"` Keyword6 *ValueColor `json:"keyword6,omitempty"` Keyword7 *ValueColor `json:"keyword7,omitempty"` Keyword8 *ValueColor `json:"keyword8,omitempty"` Keyword9 *ValueColor `json:"keyword9,omitempty"` Remark *ValueColor `json:"remark,omitempty"` } // TemplateMessage template message type TemplateMessage struct { ToUser string `json:"touser"` TemplateID string `json:"template_id"` URL string `json:"url"` MiniProgram *MiniProgramPage `json:"miniprogram,omitempty"` Data TemplateData `json:"data"` } // MiniTemplateMessage mini template message type MiniTemplateMessage struct { ToUser string `json:"touser"` TemplateID string `json:"template_id"` Page string `json:"page"` FormID string `json:"form_id"` Data TemplateData `json:"data"` } // WeappTemplateMessage mini message type WeappTemplateMessage struct { TemplateID string `json:"template_id"` Page string `json:"page"` FormID string `json:"form_id"` Data TemplateData `json:"data"` Emphasis string `json:"emphasis_keyword"` } // MpTemplateMessage wechat public message type MpTemplateMessage struct { AppID string `json:"appid"` TemplateID string `json:"template_id"` URL string `json:"url"` Mini MiniProgramPage `json:"miniprogram"` Data TemplateData `json:"data"` } // MiniUniformMessage mini uniform send type MiniUniformMessage struct { ToUser string `json:"touser"` WeApp *WeappTemplateMessage `json:"weapp_template_msg,omitempty"` MP *MpTemplateMessage `json:"mp_template_msg,omitempty"` }