package com.rongyichuang.auth.api; import com.rongyichuang.auth.dto.LoginRequest; import com.rongyichuang.auth.dto.LoginResponse; import com.rongyichuang.auth.dto.PhoneDecryptResponse; import com.rongyichuang.auth.dto.WxLoginRequest; import com.rongyichuang.auth.dto.WxLoginResponse; import com.rongyichuang.auth.service.AuthService; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonMappingException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.graphql.data.method.annotation.Argument; import org.springframework.graphql.data.method.annotation.MutationMapping; import org.springframework.stereotype.Controller; /** * 认证GraphQL API */ @Controller public class AuthGraphqlApi { @Autowired private AuthService authService; /** * Web端用户登录 */ @MutationMapping public LoginResponse webLogin(@Argument LoginRequest input) { return authService.login(input); } /** * 微信小程序登录 */ @MutationMapping public WxLoginResponse wxLogin(@Argument WxLoginRequest input) throws JsonProcessingException, JsonMappingException { return authService.wxLogin(input); } /** * 解密微信手机号(旧版API) */ @MutationMapping public PhoneDecryptResponse decryptPhoneNumber(@Argument String encryptedData, @Argument String iv, @Argument String sessionKey) { return authService.decryptPhoneNumber(encryptedData, iv, sessionKey); } /** * 获取微信手机号(新版API) */ @MutationMapping public PhoneDecryptResponse getPhoneNumberByCode(@Argument String code) { return authService.getPhoneNumberByCode(code); } }