From 4c19bd32a0687e697425d142eb019a9c8c122834 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Thu, 25 Mar 2021 11:30:23 +0800 Subject: [PATCH] aa --- controllers/auth2.go | 43 +++++++++++++++++++++++++++ routers/commentsRouter_controllers.go | 18 +++++++++++ 2 files changed, 61 insertions(+) diff --git a/controllers/auth2.go b/controllers/auth2.go index d4828d04b..b3fcc9442 100644 --- a/controllers/auth2.go +++ b/controllers/auth2.go @@ -6,6 +6,7 @@ import ( "net/http" "strings" + "git.rosy.net.cn/baseapi/platformapi/weixinapi" "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/auth2" "git.rosy.net.cn/jx-callback/business/auth2/authprovider/dingding" @@ -13,6 +14,7 @@ import ( "git.rosy.net.cn/jx-callback/business/auth2/authprovider/password" "git.rosy.net.cn/jx-callback/business/auth2/authprovider/weixin" "git.rosy.net.cn/jx-callback/business/model" + "git.rosy.net.cn/jx-callback/business/model/dao" "git.rosy.net.cn/jx-callback/globals" "github.com/astaxie/beego" ) @@ -322,3 +324,44 @@ func (c *Auth2Controller) DeletedTokenInfoWithoutParam() { return retVal, "", err }) } + +type UserInfoWithWeixin struct { + Mobile string `json:"mobile"` + IsExist bool `json:"isExist"` +} + +// @Title 根据小程序jsCode查询用户信息 +// @Description 根据小程序jsCode查询用户信息 +// @Param token header string false "认证token" +// @Param data formData string true "加密数据" +// @Param iv formData string true "iv" +// @Param jsCode formData string false "小程序jsCode" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /GetUserByMiniInfo [post] +func (c *Auth2Controller) GetUserByMiniInfo() { + c.callGetUserByMiniInfo(func(params *tAuth2GetUserByMiniInfoParams) (retVal interface{}, errCode string, err error) { + authInfo := &auth2.AuthInfo{} + if err == nil { + decryptedDataBase64, err2 := weixin.AutherObjMini.DecryptData(authInfo, GetComposedCode(&c.Controller, params.JsCode), params.Data, params.Iv) + if err = err2; err == nil { + var userInfo *weixinapi.MiniUserInfo + if err = utils.UnmarshalUseNumber([]byte(decryptedDataBase64), &userInfo); err == nil { + result := &UserInfoWithWeixin{} + result.Mobile = userInfo.PhoneNumber + if userInfo.PhoneNumber != "" { + if user, err := dao.GetUserByID(dao.GetDB(), "mobile", userInfo.PhoneNumber); err == nil { + if user != nil { + result.IsExist = true + } else { + result.IsExist = false + } + } + } + retVal = result + } + } + } + return retVal, "", err + }) +} diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index aea3210a9..24c09375d 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -169,6 +169,15 @@ func init() { Filters: nil, Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:Auth2Controller"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:Auth2Controller"], + beego.ControllerComments{ + Method: "GetUserByMiniInfo", + Router: `/GetUserByMiniInfo`, + AllowHTTPMethods: []string{"post"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:Auth2Controller"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:Auth2Controller"], beego.ControllerComments{ Method: "Login", @@ -2601,6 +2610,15 @@ func init() { Filters: nil, Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"], + beego.ControllerComments{ + Method: "GetStoresSkusForStore", + Router: `/GetStoresSkusForStore`, + AllowHTTPMethods: []string{"get"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"], beego.ControllerComments{ Method: "GetStoresSkusSaleInfo",