package org.springblade.modules.martial.service;

import org.springblade.core.tool.api.R;
import org.springblade.modules.martial.pojo.dto.MiniLoginDTO;
import org.springblade.modules.martial.pojo.vo.MiniLoginVO;

/**
 * Mini App Authentication Service
 * Phase 1, Step 1.2.1: Extract authentication logic from controller
 */
public interface IMiniAuthService {
    
    /**
     * Login with invite code
     * @param dto login request
     * @return login response with token and user info
     */
    R<MiniLoginVO> login(MiniLoginDTO dto);
    
    /**
     * Logout
     * @param token access token
     * @return logout result
     */
    R<String> logout(String token);
    
    /**
     * Verify token
     * @param token access token
     * @return verification result
     */
    R<Boolean> verifyToken(String token);
}
