feat: 重构项目结构并新增微信小程序认证模块

This commit is contained in:
Ray.Hao
2026-03-24 07:52:05 +08:00
parent 465e63c99d
commit 8188c82c3d
158 changed files with 1342 additions and 1562 deletions

View File

@@ -0,0 +1,53 @@
package com.youlai.boot.auth.service;
import com.youlai.boot.auth.model.WxMaLoginResp;
import com.youlai.boot.framework.security.model.AuthenticationToken;
/**
* 微信小程序认证服务接口
*
* @author Ray.Hao
* @since 2.4.0
*/
public interface WxMaAuthService {
/**
* 静默登录
* <p>
* 通过微信登录凭证code获取用户唯一标识openid
* 如果用户已绑定手机号则直接登录成功,否则返回需绑定手机号的提示。
* </p>
*
* @param code 微信登录凭证wx.login 获取)
* @return 登录结果(成功返回 token需绑定返回 openid
*/
WxMaLoginResp silentLogin(String code);
/**
* 手机号快捷登录
* <p>
* 同时使用微信登录凭证和手机号授权凭证,
* 一步完成用户注册/登录,无需额外绑定流程。
* 适用于企业认证的小程序(已开通手机号快捷登录权限)。
* </p>
*
* @param loginCode 微信登录凭证wx.login 获取)
* @param phoneCode 手机号授权凭证getPhoneNumber 事件获取)
* @return 认证令牌
*/
AuthenticationToken phoneLogin(String loginCode, String phoneCode);
/**
* 绑定手机号
* <p>
* 为已静默登录但未绑定手机号的用户绑定手机号,
* 绑定成功后自动完成登录。
* </p>
*
* @param openid 微信用户唯一标识
* @param mobile 手机号码
* @param smsCode 短信验证码
* @return 认证令牌
*/
AuthenticationToken bindMobile(String openid, String mobile, String smsCode);
}