156 lines
4.4 KiB
Go
156 lines
4.4 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.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
|
|
})
|
|
}
|