package cn.aqroid.business.auth.service;

import cn.aqroid.business.auth.domain.WxSession;

/**
 * 微信认证服务接口
 *
 * @author aqroid
 * @date 2026-01-12
 */
public interface WxAuthService {

    /**
     * 通过code获取微信会话信息（openid和session_key）
     *
     * @param code 微信登录code
     * @return 微信会话信息
     */
    WxSession code2Session(String code);

    /**
     * 解密微信手机号
     *
     * @param sessionKey 会话密钥
     * @param encryptedData 加密数据
     * @param iv 初始向量
     * @return 解密后的手机号
     */
    String decryptPhoneNumber(String sessionKey, String encryptedData, String iv);

    /**
     * 获取微信接口调用凭证（access_token）
     *
     * @return access_token
     */
    String getAccessToken();
}
