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);
|
}
|
}
|