微信接口的RPC包
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

124 lines
2.1 KiB

package weixinrpc
import (
"git.tetele.net/tgo/conf"
)
const DES_KEY = "wxserrpc"
type WxApiRes struct {
Errcode int
Errmsg string
}
type Req struct {
SiteId string
Dbname string
}
type AccessTokenReq struct {
Req
Appid string
Secret string
}
type AccessTokenRes struct {
AccessToken string
}
type UniformMessageReq struct {
Req
Appid string
Secret string
Touser string
MpAppid string
TemplateId string
Url string
MiniProgram interface{}
Data interface{}
}
type SubscribeMessageReq struct {
Req
Appid string
Secret string
Touser string
TemplateId string
Page string
MiniprogramState string
Lang string
Data interface{}
}
/**
* 获取小程序openid请求参数
*/
type MiniAppOpenidReq struct {
Appid string
Secret string
JsCode string
}
/**
* 获取小程序openid返回参数
*/
type MiniAppOpenidRes struct {
Openid string `json:"openid"`
SessionKey interface{} `json:"session_key"`
Unionid interface{} `json:"unionid"`
NickName string `json:"nick_name"`
AvatarUrl string `json:"avatar_url"`
WxApiRes
}
/**
* 获取公众号openid返回参数
*/
type MpOpenidRes struct {
AccessToken string `json:"access_token"`
ExpiresIn string `json:"expires_in"`
RefreshToken string `json:"refresh_token"`
Openid string `json:"openid"`
Scope string `json:"scope"`
}
/**
* 获取公众号用户信息请求参数
*/
type MpUserInfoReq struct {
AccessToken string
Openid string
}
/**
* 根据用户access_token换取用户信息返回参数
*/
type MpUserInfoRes struct {
Openid string
Nickname string
Sex string
Province string
City string
Country string
Headimgurl string
Privilege string
Unionid string
}
func rpc_server_conn(url ...string) (*WeixinRpcServiceClient, error) {
var wx_rpc_url string
if len(url) > 0 && url[0] != "" {
wx_rpc_url = url[0]
} else {
wx_rpc_url = "127.0.0.1:" + conf.WEIXIN_RPC_PORT
}
conn, _, err := DialWeixinRpcService("tcp", wx_rpc_url)
if err != nil {
return nil, err
}
return conn, nil
}