|
|
- package wechat
-
- import (
- "errors"
- "fmt"
- )
-
- type AppOpenIdData struct {
- AccessToken string `json:"access_token"`
- ExpiresIn int `json:"expires_in"`
- RefreshToken string `json:"refresh_token"`
- Openid string `json:"openid"`
- Scope string `json:"scope"`
- Unionid interface{} `json:"unionid"`
- Errcode int `json:"errcode"`
- Errmsg string `json:"errmsg"`
- }
-
- type MiniAppOpenidData struct {
- Openid string `json:"openid"`
- SessionKey interface{} `json:"session_key"`
- Unionid interface{} `json:"unionid"`
- Errcode int `json:"errcode"`
- Errmsg string `json:"errmsg"`
- }
-
- type MpOpenIdData struct {
- AccessToken string `json:"access_token"`
- ExpiresIn int `json:"expires_in"`
- RefreshToken string `json:"refresh_token"`
- Openid string `json:"openid"`
- Scope string `json:"scope"`
- Errcode int `json:"errcode"`
- Errmsg string `json:"errmsg"`
- }
-
- /**
- * 从微信api取openid
- */
- func GetAppOpenid(appid, secret, code string) (AppOpenIdData, error) {
-
- var data AppOpenIdData
-
- url := fmt.Sprintf(GET_APP_OPENID, appid, secret, code)
-
- data_byte, err := SendHttp("GET", url, nil)
- if err != nil {
- return data, err
- }
-
- err = json.Unmarshal(data_byte, &data)
-
- return data, err
- }
-
- /**
- * 从微信api取小程序openid
- */
- func GetMiniAppOpenid(appid, secret, code string) (MiniAppOpenidData, error) {
-
- url := fmt.Sprintf(GET_MINIAPP_OPENID_API, appid, secret, code)
-
- data_byte, err := SendHttp("GET", url, nil)
-
- var data MiniAppOpenidData
-
- if err != nil {
- return data, err
- }
-
- err = json.Unmarshal(data_byte, &data)
-
- return data, err
- }
-
- /**
- * 从微信api取公众号openid
- */
- func GetMpOpenid(appid, secret, code string) (MpOpenIdData, error) {
-
- url := fmt.Sprintf(GET_MP_OPENID_API, appid, secret, code)
-
- data_byte, err := SendHttp("GET", url, nil)
-
- var data MpOpenIdData
-
- 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
- }
|