Files
jx-print/controllers/app/wx_login.go
邹宗楠 6fa1bc127d 1
2022-08-12 11:22:22 +08:00

104 lines
2.8 KiB
Go

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.WeChatPhoneNumberParam 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.WeChatPhoneNumberParam
service = app_server.UserLogin{}
)
if err = c.ShouldBind(&params); 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
})
}
// 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(&params); 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, err := service.GetUserPhoneNum(params)
if err != nil {
return nil, "", err
}
return map[string]interface{}{"phone": phone}, "", 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
})
}