代码拉取完成,页面将自动刷新
package oauth2
import (
"encoding/json"
"fmt"
"gitee.com/h79/gothird/token"
"gitee.com/h79/gothird/weixin/consts"
"gitee.com/h79/gothird/weixin/response"
"gitee.com/h79/goutils/common/http"
)
/**
* 网站应用
*
*第一步:请求CODE
* 第三方使用网站应用授权登录前请注意已获取相应网页授权作用域(scope=snsapi_login),则可以通过在PC端打开以下链接:
* https://open.weixin.qq.com/connect/qrconnect?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
*
* https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Authorized_Interface_Calling_UnionID.html
*/
// GetUser GET https://api.weixin.qq.com/sns/userinfo?access_token=%s&openid=%s
// 通过access_token和openid获取用户的基础信息,包括头像、昵称、性别、地区
func GetUser(api *token.Api, openid string) (*User, error) {
if openid == "" {
return nil, token.Error(-1, "openid is empty")
}
uri := fmt.Sprintf("%s/sns/userinfo?openid=%s&", consts.ApiPrefixUrl, openid)
type userResult struct {
response.Response
User
}
res := userResult{}
if er := api.Request("GET", uri, nil, func(hp *http.Http, body []byte) error {
if err := json.Unmarshal(body, &res); err != nil {
return err
}
return res.ReturnIf(api)
}); er != nil {
return nil, er
}
res.AppId = api.AppId()
return &res.User, nil
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。