package com.xjrsoft.module.system.service;

import com.xjrsoft.module.system.dto.CreateTokenDto;
import com.xjrsoft.module.system.dto.LoginByCodeDto;
import com.xjrsoft.module.system.dto.LoginCaptchaDto;
import com.xjrsoft.module.system.dto.LoginDto;
import com.xjrsoft.module.system.dto.LoginQRCodeDto;
import com.xjrsoft.module.system.vo.CreateTokenVo;
import com.xjrsoft.module.system.vo.ImgCaptchaVo;
import com.xjrsoft.module.system.vo.LoginByCodeVo;
import com.xjrsoft.module.system.vo.LoginVo;

/**
 * @Author: tzx
 * @Date: 2023/4/21 14:20
 */
public interface ILoginService {

    LoginVo login(LoginDto dto) throws Exception;

    LoginVo loginByCode(LoginByCodeDto dto) throws Exception;

    LoginByCodeVo bindOpenid(LoginByCodeDto dto) throws Exception;

    LoginVo loginByCaptcha(LoginCaptchaDto dto) throws Exception;

    CreateTokenVo createToken(CreateTokenDto dto);

    ImgCaptchaVo imgCaptcha();

    /**
     * 微信公众号扫码登录
     * @param dto
     * @return
     * @throws Exception
     */
    Boolean loginQRCode(LoginQRCodeDto dto) throws Exception;
}
