package controllers import ( "encoding/base64" "fmt" "net/http" "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/jxcallback/auth/weixin" "github.com/astaxie/beego" ) type WeinCallbackResult struct { Code int `json:"code"` Msg string `json:"msg"` Data interface{} `json:data` } // Operations about ELMOrder type WeiXinController struct { beego.Controller } var ( ErrParameterIsIllegal = "参数不全或不合法" ) // https://open.shop.ele.me/openapi/documents/httppushmethod func (c *WeiXinController) GetUserInfo() { retVal := &WeinCallbackResult{} var err error code := c.GetString("code") block := c.GetString("block") state := c.GetString("state") if block != "" { if code != "" { result, err2 := weixin.GetUserInfo(code, state) if err = err2; err == nil { retVal.Code = 1 retVal.Msg = "微信登录成功" retVal.Data = result } else { retVal.Msg = err.Error() } } else { retVal.Msg = "code为空" } } else { retVal.Msg = "没有block" } c.Redirect(fmt.Sprintf("%s?info=%s", block, base64.StdEncoding.EncodeToString(utils.MustMarshal(retVal))), http.StatusTemporaryRedirect) }