package app import ( "git.rosy.net.cn/jx-print/controllers" "git.rosy.net.cn/jx-print/model" "git.rosy.net.cn/jx-print/model/app_model" "git.rosy.net.cn/jx-print/services/print_server/app_server" "github.com/gin-gonic/gin" "net/http" ) type Auth2Controller struct{} var Auth2ControllerController = new(Auth2Controller) // Login 登录接口 // @Title 登录接口 // @Description 登录接口(微信与公众号登录不能直接调用此接口) // @Param data body app_model.WxLoginReq true "请求参数" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /login [post] func (a *Auth2Controller) Login(c *gin.Context) { // 参数绑定 var ( err error params *app_model.WxLoginReq service = app_server.UserLogin{} ) if err = c.ShouldBind(¶ms); err != nil { c.JSON(http.StatusOK, &model.CallBack{ Code: model.ErrCodeNormal, Desc: err.Error(), }) return } controllers.CallFunc(c, func() (retVal interface{}, errCode string, err error) { user, err := service.WxLogin(c, params) if err != nil { return nil, "", err } // 获取token token, err := controllers.SetToken(user) if err != nil { return nil, "", err } return map[string]interface{}{"token": token, "user": user}, "", nil }) } // Login4Mobile 登录接口验证码登录 // @Title 登录接口验证码登录 // @Description 登录接口(验证码登录) // @Param data body app_model.MobileLogin true "请求参数" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /loginMobile [post] func (a *Auth2Controller) Login4Mobile(c *gin.Context) { // 参数绑定 var ( err error params *app_model.MobileLogin service = app_server.UserLogin{} ) if err = c.ShouldBind(¶ms); err != nil { c.JSON(http.StatusOK, &model.CallBack{ Code: model.ErrCodeNormal, Desc: err.Error(), }) return } controllers.CallFunc(c, func() (retVal interface{}, errCode string, err error) { user, err := service.MobileLogin(c, params) if err != nil { return nil, "", err } // 获取token token, err := controllers.SetToken(user) if err != nil { return nil, "", err } return map[string]interface{}{"token": token, "user": user}, "", nil }) } // GetUserPhoneByWeChat 获取用户电话号码 // @Title 获取用户电话号码 // @Description 获取用户电话号码 // @Param data body app_model.WeChatPhoneNumberParam true "请求参数" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /GetUserPhone [post] func (a *Auth2Controller) GetUserPhoneByWeChat(c *gin.Context) { // 参数绑定 var ( err error params *app_model.WeChatPhoneNumberParam service = app_server.UserLogin{} ) if err = c.ShouldBind(¶ms); err != nil { c.JSON(http.StatusOK, &model.CallBack{ Code: model.ErrCodeNormal, Desc: err.Error(), }) return } controllers.CallFunc(c, func() (retVal interface{}, errCode string, err error) { phone, isRegister, err := service.GetUserPhoneNum(params) if err != nil { return nil, "", err } return map[string]interface{}{"phone": phone, "isRegister": isRegister}, "", nil }) } // GetToken4Jxc4 获取京西菜市授权用户创建门店,和创建门店美团关联 // @Title 获取京西菜市授权用户创建门店 // @Description 获取京西菜市授权用户创建门店 // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /getToken4Jxc4 [get] func (a *Auth2Controller) GetToken4Jxc4(c *gin.Context) { controllers.CallFunc(c, func() (retVal interface{}, errCode string, err error) { service := app_server.UserLogin{} token, err := service.GetJxc4Token() if err != nil { return nil, "", err } return map[string]interface{}{"token": token}, "", nil }) } // MiniProgramSortLink 获取小程序跳转联机 // @Title 获取小程序跳转联机 // @Description 获取小程序跳转联机 // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /getToken4Jxc4 [get] func (a *Auth2Controller) MiniProgramSortLink(c *gin.Context) { controllers.CallFunc(c, func() (retVal interface{}, errCode string, err error) { service := app_server.UserLogin{} link, err := service.GetAppJupLink() return map[string]interface{}{"link": link}, "", err }) }