// 控制接口-微信小程序登录
// 秒寻科技
// 周涛
//2024-02-03

package wxminiloginhandler

import (
	"ipsomc/core/gin/bind"
	"ipsomc/core/gin/resp"
	"ipsomc/core/usermobile/usermobilemodel"
	"ipsomc/core/wxminilogin/wxminiloginlogic"
	"ipsomc/core/wxminilogin/wxminiloginmodel"

	"github.com/gin-gonic/gin"
)

type WxminiLoginHan struct {
	bindApi        bind.BindApi
	wxMiniLoginLgc wxminiloginlogic.WxMiniLoginLgc
}

// 增加注册用户
func (obj *WxminiLoginHan) UserMobileLoginHan(c *gin.Context) {
	dataModel := new(wxminiloginmodel.UserMobileLogin)
	mobileUserModel := new(usermobilemodel.UserMobile)

	//把前端数据绑定到模型
	if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
		resp.RespFail(c, "数据错误")
		return
	}

	//获得用户openid，实现登录
	if err := obj.wxMiniLoginLgc.UserLoginLgc(dataModel, mobileUserModel); err != nil {
		resp.RespFail(c, err.Error())
		return
	}

	//检查用户使用已经登录

	//返回数据
	var respModel wxminiloginmodel.UserMobileLoginResp
	respModel.UserType = mobileUserModel.UserType
	respModel.UserID = mobileUserModel.ID
	respModel.Token = mobileUserModel.Token
	respModel.Nickname = mobileUserModel.Nickname
	respModel.Avatar = mobileUserModel.Avatar
	respModel.Sex = mobileUserModel.Sex
	respModel.Province = mobileUserModel.Province
	resp.RespData(c, respModel)
}
