package wechat
|
|
|
|
import (
|
|
"errors"
|
|
"fmt"
|
|
)
|
|
|
|
type MpUserInfo struct {
|
|
Subscribe int `json:"subscribe"`
|
|
Openid string `json:"openid"`
|
|
Language string `json:"language"`
|
|
SubscribeTime int `json:"subscribe_time"`
|
|
Unionid string `json:"unionid"`
|
|
Remark string `json:"remark"`
|
|
Groupid int `json:"groupid"`
|
|
TagidList interface{} `json:"tagid_list"`
|
|
SubscribeScene string `json:"subscribe_scene"`
|
|
QrScene int `json:"qr_scene"`
|
|
QrSceneStr string `json:"qr_scene_str"`
|
|
Errcode int `json:"errcode"`
|
|
Errmsg string `json:"errmsg"`
|
|
}
|
|
|
|
/**
|
|
* 公众号获取用户基本信息(UnionID机制)
|
|
*/
|
|
func GetMpUserInfo(access_token, openid string, lang ...string) (MpUserInfo, error) {
|
|
|
|
var data MpUserInfo
|
|
|
|
var language string = "zh_CN"
|
|
if len(lang) > 0 {
|
|
language = lang[0]
|
|
}
|
|
|
|
url := fmt.Sprintf(MP_USERINFO_API, access_token, openid, language)
|
|
|
|
data_byte, err := SendHttp("GET", url, nil)
|
|
if err != nil {
|
|
return data, err
|
|
}
|
|
|
|
err = json.Unmarshal(data_byte, &data)
|
|
|
|
if data.Errcode != 0 {
|
|
return data, errors.New(data.Errmsg)
|
|
}
|
|
|
|
return data, err
|
|
}
|