
org.scene.wx.provider.WxHttpProvider Maven / Gradle / Ivy
package org.scene.wx.provider;
import feign.Param;
import feign.RequestLine;
import org.scene.wx.provider.param.WxQrCodeParam;
import org.scene.wx.provider.vo.WxAccessTokenVo;
import org.scene.wx.provider.vo.WxSessionVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.support.feign.FeignConfig;
@FeignClient(name = "wx", url = "https://api.weixin.qq.com/", configuration = FeignConfig.class)
public interface WxHttpProvider {
/**
* @version V1.0, 2020/11/4
* @author Alexander Lo
* 获取openId
*/
@RequestLine("GET /sns/jscode2session?appid={appid}&secret={secret}&js_code={code}&grant_type=authorization_code")
WxSessionVo getSession(@Param("appid") String appid, @Param("secret") String secret, @Param("code") String code);
/*
* @Description: 获取微信的AccessToken
* @Author: Alexander Lo
**/
@RequestLine("POST /cgi-bin/token?grant_type=client_credential&appid={appid}&secret={secret}")
WxAccessTokenVo getAccessToken(@Param("appid") String appid, @Param("secret") String secret) throws Exception;
/**
* @version V1.0, 2020/9/3
* @author Alexander Lo
* 生成 qr code
*/
@RequestLine("POST /wxa/getwxacodeunlimit?access_token={access_token}")
byte[] generatorQrCode(@Param("access_token") String token, WxQrCodeParam wxQrCodeReq);
default String getPhone(String sessionKey, String encryptedData, String iv) {
return WxDecryptUtils.decryptData(sessionKey, encryptedData, iv);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy