76 lines
1.8 KiB
Go
76 lines
1.8 KiB
Go
package controller
|
|
|
|
import (
|
|
"ai_xhs/common"
|
|
"ai_xhs/service"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
type XHSController struct {
|
|
service *service.XHSService
|
|
}
|
|
|
|
func NewXHSController() *XHSController {
|
|
return &XHSController{
|
|
service: &service.XHSService{},
|
|
}
|
|
}
|
|
|
|
// SendCode 发送小红书验证码
|
|
func (ctrl *XHSController) SendCode(c *gin.Context) {
|
|
var req struct {
|
|
Phone string `json:"phone" binding:"required"`
|
|
CountryCode string `json:"country_code"`
|
|
}
|
|
|
|
if err := c.ShouldBindJSON(&req); err != nil {
|
|
common.Error(c, common.CodeInvalidParams, "参数错误:手机号不能为空")
|
|
return
|
|
}
|
|
|
|
// 调用Service层发送验证码
|
|
result, err := ctrl.service.SendVerificationCode(req.Phone, req.CountryCode)
|
|
if err != nil {
|
|
common.Error(c, common.CodeInternalError, "调用Python服务失败: "+err.Error())
|
|
return
|
|
}
|
|
|
|
// 判断Python服务返回的结果
|
|
if result.Code != 0 {
|
|
common.Error(c, result.Code, result.Message)
|
|
return
|
|
}
|
|
|
|
common.SuccessWithMessage(c, result.Message, result.Data)
|
|
}
|
|
|
|
// VerifyCode 验证小红书验证码并登录
|
|
func (ctrl *XHSController) VerifyCode(c *gin.Context) {
|
|
var req struct {
|
|
Phone string `json:"phone" binding:"required"`
|
|
Code string `json:"code" binding:"required"`
|
|
CountryCode string `json:"country_code"`
|
|
}
|
|
|
|
if err := c.ShouldBindJSON(&req); err != nil {
|
|
common.Error(c, common.CodeInvalidParams, "参数错误:手机号和验证码不能为空")
|
|
return
|
|
}
|
|
|
|
// 调用Service层验证登录
|
|
result, err := ctrl.service.VerifyLogin(req.Phone, req.Code, req.CountryCode)
|
|
if err != nil {
|
|
common.Error(c, common.CodeInternalError, "调用Python服务失败: "+err.Error())
|
|
return
|
|
}
|
|
|
|
// 判断Python服务返回的结果
|
|
if result.Code != 0 {
|
|
common.Error(c, result.Code, result.Message)
|
|
return
|
|
}
|
|
|
|
common.SuccessWithMessage(c, result.Message, result.Data)
|
|
}
|