package com.iailab.module.system.service.auth; import com.iailab.module.system.controller.admin.auth.vo.*; import com.iailab.module.system.dal.dataobject.user.AdminUserDO; import javax.validation.Valid; /** * 膊∞����佂��莅よ� Service �ュ� * * ��鋐����欠���糸����糸�榊���遵�� * * @author iailab */ public interface AdminAuthService { /** * 薨�莚�茣�� + 鎛�����絋�����菴�鐚���菴������� * * @param username 茣�� * @param password 鎛��� * @return ���� */ AdminUserDO authenticate(String username, String password); /** * 茣�埇�糸� * * @param reqVO �糸�篆≧�� * @return �糸�膸��� */ AuthLoginRespVO login(@Valid AuthLoginReqVO reqVO); /** * �坂� token ���榊�糸� * * @param token token * @param logType �糸�榊瓜�� */ void logout(String token, Integer logType); /** * �℡拭薨�莚������� * * @param reqVO ����莚傑� */ void sendSmsCode(AuthSmsSendReqVO reqVO); /** * �℡拭�糸� * * @param reqVO �糸�篆≧�� * @return �糸�膸��� */ AuthLoginRespVO smsLogin(AuthSmsLoginReqVO reqVO) ; /** * 腓鞘困綽��欠�糸�鐚�篏睡�� code ������ * * @param reqVO �糸�篆≧�� * @return �糸�膸��� */ AuthLoginRespVO socialLogin(@Valid AuthSocialLoginReqVO reqVO); /** * �傑�域���擦�� * * @param refreshToken �傑�遺擦�� * @return �糸�膸��� */ AuthLoginRespVO refreshToken(String refreshToken); }