Documentation ¶
Index ¶
- Constants
- func AESDecryptData(cipherText, aesKey, iv []byte) (rawData []byte, err error)
- func AESDecryptMsg(decryptStr, aesKey string) (string, error)
- func AESEncryptMsg(random, rawXMLMsg []byte, appId string, aesKey []byte) (ciphertext []byte)
- func AesDecrypt(cipherData []byte, aesKey []byte) ([]byte, error)
- func CheckSignature(signature, timeStamp, nonce string, token string) bool
- func MsgSign(token, timestamp, nonce, encryptedMsg string) (signature string)
- func Sign(token, timestamp, nonce string) (signature string)
- type App
- func (app *App) CgiBinComponentApiComponentToken(componentVerifyTicket string) *CgiBinComponentApiComponentTokenResult
- func (app *App) CgiBinComponentApiCreatePreauthcoden() *CgiBinComponentApiCreatePreauthcodenResult
- func (app *App) CgiBinComponentApiStartPushTicket() *CgiBinComponentApiStartPushTicketResult
- func (app *App) NewParamsWith(params ...Params) Params
- func (app *App) ServeHTTP(r *http.Request) (resp *MixedMsg, err error)
- type CgiBinComponentApiComponentTokenResponse
- type CgiBinComponentApiComponentTokenResult
- type CgiBinComponentApiCreatePreauthcodenResponse
- type CgiBinComponentApiCreatePreauthcodenResult
- type CgiBinComponentApiStartPushTicketResponse
- type CgiBinComponentApiStartPushTicketResult
- type MixedMsg
- type Params
Constants ¶
View Source
const ( BLOCK_SIZE = 32 // PKCS#7 BLOCK_MASK = BLOCK_SIZE - 1 // BLOCK_SIZE 为 2^n 时, 可以用 mask 获取针对 BLOCK_SIZE 的余数 )
Variables ¶
This section is empty.
Functions ¶
func AESDecryptData ¶
func AESDecryptMsg ¶
AESDecryptMsg c解密
func AESEncryptMsg ¶
AESEncryptMsg ciphertext = AES_Encrypt[random(16B) + msg_len(4B) + rawXMLMsg + appId]
func CheckSignature ¶
CheckSignature 微信公众号签名检查
Types ¶
type App ¶
type App struct { ComponentAppId string // 平台型第三方平台的appid ComponentAppSecret string // 平台型第三方平台的APPSECRET MessageToken string MessageKey string Redis goredis.App // 缓存数据库服务 Mongo gomongo.App // 日志数据库 // contains filtered or unexported fields }
App 微信公众号服务
func (*App) CgiBinComponentApiComponentToken ¶
func (app *App) CgiBinComponentApiComponentToken(componentVerifyTicket string) *CgiBinComponentApiComponentTokenResult
CgiBinComponentApiComponentToken 令牌 https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/ThirdParty/token/component_access_token.html
func (*App) CgiBinComponentApiCreatePreauthcoden ¶
func (app *App) CgiBinComponentApiCreatePreauthcoden() *CgiBinComponentApiCreatePreauthcodenResult
CgiBinComponentApiCreatePreauthcoden 预授权码 https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/ThirdParty/token/pre_auth_code.html
func (*App) CgiBinComponentApiStartPushTicket ¶
func (app *App) CgiBinComponentApiStartPushTicket() *CgiBinComponentApiStartPushTicketResult
CgiBinComponentApiStartPushTicket 启动ticket推送服务 https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/ThirdParty/token/component_verify_ticket_service.html
func (*App) NewParamsWith ¶
type CgiBinComponentApiComponentTokenResult ¶
type CgiBinComponentApiComponentTokenResult struct { Result CgiBinComponentApiComponentTokenResponse // 结果 Body []byte // 内容 Err error // 错误 }
func NewCgiBinComponentApiComponentTokenResult ¶
func NewCgiBinComponentApiComponentTokenResult(result CgiBinComponentApiComponentTokenResponse, body []byte, err error) *CgiBinComponentApiComponentTokenResult
type CgiBinComponentApiCreatePreauthcodenResult ¶
type CgiBinComponentApiCreatePreauthcodenResult struct { Result CgiBinComponentApiCreatePreauthcodenResponse // 结果 Body []byte // 内容 Err error // 错误 }
func NewCgiBinComponentApiCreatePreauthcodenResult ¶
func NewCgiBinComponentApiCreatePreauthcodenResult(result CgiBinComponentApiCreatePreauthcodenResponse, body []byte, err error) *CgiBinComponentApiCreatePreauthcodenResult
type CgiBinComponentApiStartPushTicketResult ¶
type CgiBinComponentApiStartPushTicketResult struct { Result CgiBinComponentApiStartPushTicketResponse // 结果 Body []byte // 内容 Err error // 错误 }
func NewCgiBinComponentApiStartPushTicketResult ¶
func NewCgiBinComponentApiStartPushTicketResult(result CgiBinComponentApiStartPushTicketResponse, body []byte, err error) *CgiBinComponentApiStartPushTicketResult
type MixedMsg ¶
type MixedMsg struct { XMLName struct{} `xml:"xml" json:"-"` //代码审核结果推送 weapp_audit_success ToUserName string `xml:"ToUserName" json:"ToUserName"` FromUserName string `xml:"FromUserName" json:"FromUserName"` CreateTime int64 `xml:"CreateTime" json:"CreateTime"` MsgType string `xml:"MsgType" json:"MsgType"` Event string `xml:"Event" json:"Event"` SuccTime int64 `xml:"SuccTime" json:"SuccTime"` //代码审核结果推送 weapp_audit_fail CodeAuditReason string `xml:"Reason" json:"Reason"` FailTime int64 `xml:"FailTime" json:"FailTime"` ScreenShot string `xml:"ScreenShot" json:"ScreenShot"` //代码审核结果推送 weapp_audit_delay DelayTime int64 `xml:"DelayTime" json:"DelayTime"` //echo EchoStr string `xml:"-" json:"-"` MsgId int64 `xml:"MsgId" json:"MsgId"` // request Content string `xml:"Content" json:"Content"` // request MediaId string `xml:"MediaId" json:"MediaId"` // request PicURL string `xml:"PicUrl" json:"PicUrl"` // request Format string `xml:"Format" json:"Format"` // request Recognition string `xml:"Recognition" json:"Recognition"` // request ThumbMediaId string `xml:"ThumbMediaId" json:"ThumbMediaId"` // request LocationX float64 `xml:"Location_X" json:"Location_X"` // request LocationY float64 `xml:"Location_Y" json:"Location_Y"` // request Scale int `xml:"Scale" json:"Scale"` // request Label string `xml:"Label" json:"Label"` // request Title string `xml:"Title" json:"Title"` // request Description string `xml:"Description" json:"Description"` // request URL string `xml:"Url" json:"Url"` // request EventKey string `xml:"EventKey" json:"EventKey"` // request, menu Ticket string `xml:"Ticket" json:"Ticket"` // request Latitude float64 `xml:"Latitude" json:"Latitude"` // request Longitude float64 `xml:"Longitude" json:"Longitude"` // request Precision float64 `xml:"Precision" json:"Precision"` // request BizMsgMenuId int64 `xml:"bizmsgmenuid" json:"bizmsgmenuid"` // request // menu MenuId int64 `xml:"MenuId" json:"MenuId"` ScanCodeInfo struct { ScanType string `xml:"ScanType" json:"ScanType"` ScanResult string `xml:"ScanResult" json:"ScanResult"` } `xml:"ScanCodeInfo" json:"ScanCodeInfo"` SendPicsInfo struct { Count int `xml:"Count" json:"Count"` PicList []struct { PicMd5Sum string `xml:"PicMd5Sum" json:"PicMd5Sum"` } `xml:"PicList>item" json:"PicList"` } `xml:"SendPicsInfo" json:"SendPicsInfo"` SendLocationInfo struct { LocationX float64 `xml:"Location_X" json:"Location_X"` LocationY float64 `xml:"Location_Y" json:"Location_Y"` Scale int `xml:"Scale" json:"Scale"` Label string `xml:"Label" json:"Label"` PoiName string `xml:"Poiname" json:"Poiname"` } `xml:"SendLocationInfo" json:"SendLocationInfo"` MsgID int64 `xml:"MsgID" json:"MsgID"` // template, mass Status string `xml:"Status" json:"Status"` // template, mass // shakearound ChosenBeacon struct { UUID string `xml:"Uuid" json:"Uuid"` Major int `xml:"Major" json:"Major"` Minor int `xml:"Minor" json:"Minor"` Distance float64 `xml:"Distance" json:"Distance"` } `xml:"ChosenBeacon" json:"ChosenBeacon"` AroundBeacons []struct { UUID string `xml:"Uuid" json:"Uuid"` Major int `xml:"Major" json:"Major"` Minor int `xml:"Minor" json:"Minor"` Distance float64 `xml:"Distance" json:"Distance"` } `xml:"AroundBeacons>AroundBeacon" json:"AroundBeacons"` UnionId string `xml:"UnionId" json:"UnionId"` // unionId // component_verify_ticket 验证票据推送 AppId string `xml:"AppId" json:"AppId"` //CreateTime int32 `xml:"CreateTime" json:"CreateTime"` InfoType string `xml:"InfoType" json:"InfoType"` MiniAppId string `xml:"appid" json:"appid"` ComponentVerifyTicket string `xml:"ComponentVerifyTicket" json:"ComponentVerifyTicket"` // 授权变更通知推送 authorized unauthorized updateauthorized AuthorizerAppid string `xml:"AuthorizerAppid" json:"AuthorizerAppid"` AuthorizationCode string `xml:"AuthorizationCode" json:"AuthorizationCode"` AuthorizationCodeExpiredTime string `xml:"AuthorizationCodeExpiredTime" json:"AuthorizationCodeExpiredTime"` PreAuthCode string `xml:"PreAuthCode" json:"PreAuthCode"` //notify_third_fasteregister notify_third_fastverifybetaapp 注册审核事件推送 https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/Register_Mini_Programs/Fast_Registration_Interface_document.html //MiniAppId string `xml:"appid" json:"appid"` EventStatus int `xml:"status" json:"status"` AuthCode string `xml:"auth_code" json:"auth_code"` Msg string `xml:"msg" json:"msg"` Info struct { Name string `xml:"name" json:"name"` Code string `xml:"code" json:"code"` CodeType int8 `xml:"code_type" json:"code_type"` LegalPersonaWechat string `xml:"legal_persona_wechat" json:"legal_persona_wechat"` LegalPersonaName string `xml:"legal_persona_name" json:"legal_persona_name"` ComponentPhone string `xml:"component_phone" json:"component_phone"` WxUser string `xml:"wxuser" json:"wxuser"` IdName string `xml:"idname" json:"idname"` //notify_third_fastregisterbetaapp 创建试用小程序成功/失败的通知数据 推送 https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/beta_Mini_Programs/fastregister.html UniqueId string `xml:"unique_id" json:"unique_id"` } `xml:"info" json:"info"` // wxa_nickname_audit 名称审核结果事件推送 https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/Mini_Program_Basic_Info/wxa_nickname_audit.html //Ret int8 `json:"ret" xml:"ret"` Nickname string `xml:"nickname" json:"nickname"` // wxa_category_audit 类目推送 https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/category/wxa_category_audit.html First string `xml:"first" json:"first"` Second string `xml:"second" json:"second"` Ret int8 `xml:"ret" json:"ret"` Reason string `xml:"reason" json:"reason"` // 小程序申诉记录推送 wxa_appeal_record https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/records/record_event.html AppealRecordId int64 `xml:"appeal_record_id" json:"appeal_record_id"` //MiniAppId string `xml:"appid" json:"appid"` AppealTime int64 `xml:"appeal_time" json:"appeal_time"` AppealCount int `xml:"appeal_count" json:"appeal_count"` AppealFrom int8 `xml:"appeal_from" json:"appeal_from"` AppealStatus int8 `xml:"appeal_status" json:"appeal_status"` AuditTime int64 `xml:"audit_time" json:"audit_time"` AuditReason string `xml:"audit_reason" json:"audit_reason"` PunishDescription string `xml:"punish_description" json:"punish_description"` Material []struct { IllegalMaterial struct { Content string `xml:"content" json:"content"` ContentUrl string `xml:"content_url" json:"content_url"` } `xml:"illegal_material" json:"illegal_material"` AppealMaterial struct { Reason string `xml:"reason" json:"reason"` ProofMaterialId string `xml:"proof_material_id" json:"proof_material_id"` } `xml:"appeal_material" json:"appeal_material"` } `xml:"material" json:"material"` // wxa_live_apply_event 小程序直播 https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/Business/live_player/applyliveinfo.html ApplyLiveInfoNoitfy struct { AppId string `xml:"appid" json:"appid"` OpenTime int64 `xml:"open_time" json:"open_time"` } `xml:"ApplyLiveInfoNoitfy" json:"ApplyLiveInfoNoitfy"` // wxa_media_check 异步内容安全识别 https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/sec-check/security.mediaCheckAsync.html TraceId string `xml:"trace_id" json:"trace_id"` Version int8 `xml:"version" json:"version"` Detail []struct { Strategy string `xml:"strategy" json:"strategy"` ErrCode int `xml:"errcode" json:"errcode"` Suggest string `xml:"suggest" json:"suggest"` Label int8 `xml:"label" json:"label"` Prob int8 `xml:"prob" json:"prob"` } `xml:"detail" json:"detail"` ErrCode int `xml:"errcode" json:"errcode"` ErrMsg string `xml:"errmsg" json:"errmsg"` Result struct { Suggest string `xml:"suggest" json:"suggest"` Label int8 `xml:"label" json:"label"` } `xml:"result" json:"result"` }
Click to show internal directories.
Click to hide internal directories.