package com.iailab.module.system.api.social; import com.iailab.framework.common.pojo.CommonResult; import com.iailab.module.system.api.social.dto.SocialWxJsapiSignatureRespDTO; import com.iailab.module.system.api.social.dto.SocialWxPhoneNumberInfoRespDTO; import com.iailab.module.system.enums.ApiConstants; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameters; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; @FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务 - 社交应用") public interface SocialClientApi { String PREFIX = ApiConstants.PREFIX + "/social-client"; @GetMapping(PREFIX + "/get-authorize-url") @Operation(summary = "获得社交平台的授权 URL") @Parameters({ @Parameter(name = "socialType", description = "社交平台的类型", example = "1", required = true), @Parameter(name = "userType", description = "用户类型", example = "1", required = true), @Parameter(name = "redirectUri", description = "重定向 URL", example = "https://www.baidu.com", required = true) }) CommonResult getAuthorizeUrl(@RequestParam("socialType") Integer socialType, @RequestParam("userType") Integer userType, @RequestParam("redirectUri") String redirectUri); @GetMapping(PREFIX + "/create-wx-mp-jsapi-signature") @Operation(summary = "创建微信公众号 JS SDK 初始化所需的签名") @Parameters({ @Parameter(name = "userType", description = "用户类型", example = "1", required = true), @Parameter(name = "url", description = "访问 URL", example = "https://www.baidu.com", required = true) }) CommonResult createWxMpJsapiSignature(@RequestParam("userType") Integer userType, @RequestParam("url") String url); @GetMapping(PREFIX + "/create-wx-ma-phone-number-info") @Operation(summary = "获得微信小程序的手机信息") @Parameters({ @Parameter(name = "userType", description = "用户类型", example = "1", required = true), @Parameter(name = "phoneCode", description = "手机授权码", example = "iailab11", required = true) }) CommonResult getWxMaPhoneNumberInfo(@RequestParam("userType") Integer userType, @RequestParam("phoneCode") String phoneCode); }