All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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