2023-07-17 19:43:43 +08:00
|
|
|
package handler
|
|
|
|
|
|
|
|
import (
|
|
|
|
"net/http"
|
2023-07-20 15:21:03 +08:00
|
|
|
"reflect"
|
2023-07-17 19:43:43 +08:00
|
|
|
|
|
|
|
"fusenapi/utils/basic"
|
|
|
|
|
2023-07-24 17:22:06 +08:00
|
|
|
"fusenapi/server/auth/internal/logic"
|
|
|
|
"fusenapi/server/auth/internal/svc"
|
|
|
|
"fusenapi/server/auth/internal/types"
|
2023-07-17 19:43:43 +08:00
|
|
|
)
|
|
|
|
|
|
|
|
func UserGoogleLoginHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
|
|
|
return func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
|
|
|
|
var req types.RequestGoogleLogin
|
2023-07-20 15:21:03 +08:00
|
|
|
userinfo, err := basic.RequestParse(w, r, svcCtx, &req)
|
|
|
|
if err != nil {
|
2023-07-17 19:43:43 +08:00
|
|
|
return
|
|
|
|
}
|
2023-07-20 10:13:18 +08:00
|
|
|
|
2023-07-17 19:43:43 +08:00
|
|
|
// 创建一个业务逻辑层实例
|
|
|
|
l := logic.NewUserGoogleLoginLogic(r.Context(), svcCtx)
|
2023-07-20 15:21:03 +08:00
|
|
|
|
|
|
|
rl := reflect.ValueOf(l)
|
|
|
|
basic.BeforeLogic(w, r, rl)
|
|
|
|
|
2023-07-17 19:43:43 +08:00
|
|
|
resp := l.UserGoogleLogin(&req, userinfo)
|
2023-07-20 10:13:18 +08:00
|
|
|
|
2023-07-24 13:17:02 +08:00
|
|
|
if !basic.AfterLogic(w, r, rl, resp) {
|
2023-07-21 10:28:17 +08:00
|
|
|
basic.NormalAfterLogic(w, r, resp)
|
|
|
|
}
|
2023-07-17 19:43:43 +08:00
|
|
|
}
|
|
|
|
}
|