package com.youlai.boot.auth.controller; import com.youlai.boot.auth.model.WxMaBindMobileReq; import com.youlai.boot.auth.model.WxMaPhoneLoginReq; import com.youlai.boot.auth.model.WxMaLoginResp; import com.youlai.boot.auth.service.WxMaAuthService; import com.youlai.boot.common.annotation.Log; import com.youlai.boot.common.enums.ActionTypeEnum; import com.youlai.boot.common.enums.LogModuleEnum; import com.youlai.boot.common.result.Result; import com.youlai.boot.framework.security.model.AuthenticationToken; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import jakarta.validation.Valid; /** * 微信小程序认证控制层 * * @author Ray.Hao * @since 2.4.0 */ @Tag(name = "02.微信小程序认证") @RestController @RequestMapping("/api/v1/wxma/auth") @RequiredArgsConstructor @Slf4j public class WxMaAuthController { private final WxMaAuthService wxMaAuthService; /** * 静默登录 *
* 适用场景:个人小程序、无需手机号的登录场景 *
* 适用场景:企业认证小程序(已开通手机号快捷登录权限) *
* 一步完成登录,无需绑定流程,自动创建新用户
*/
@Operation(summary = "手机号快捷登录", description = "同时使用微信 code 和手机号授权 code 登录,适用于企业认证小程序")
@PostMapping("/phone-login")
@Log(module = LogModuleEnum.LOGIN, value = ActionTypeEnum.LOGIN)
public Result
* 适用场景:静默登录后未绑定手机号的用户
*
* 绑定成功后自动完成登录
*/
@Operation(summary = "绑定手机号", description = "为静默登录用户绑定手机号,绑定成功后自动登录")
@PostMapping("/bind-mobile")
@Log(module = LogModuleEnum.LOGIN, value = ActionTypeEnum.LOGIN)
public Result