小程序生成二維碼(使用binarywang封裝的微信工具包)


一、引包(微信開發工具包)

<dependency>
    <groupId>com.github.binarywang</groupId>
    <artifactId>weixin-java-miniapp</artifactId>
    <version>3.5.0</version>
</dependency>

<dependency>
    <groupId>com.github.binarywang</groupId>
    <artifactId>weixin-java-common</artifactId>
    <version>3.5.0</version>
</dependency>

工具包代碼詳細鏈接:https://github.com/binarywang

二、代碼

這邊是直接返回base64圖片形式。如果有需要其他請自行處理。

    @ApiOperation("生成二維碼")
    @ApiImplicitParams({
            @ApiImplicitParam(name="codeType",value = "類型",dataType = "String",required = true,paramType = "query"),
            @ApiImplicitParam(name="parameterValue",value = "參數值",dataType = "String",required = true,paramType = "query")
    })
    @GetMapping(value = "/createQrCode")
    public  String createQrCode(@RequestParam("codeType") String codeType,
                                @RequestParam("parameterValue") String parameterValue) throws HttpProcessException, IOException {
	//調用工具包的服務
        WxMaService wxMaService = new WxMaServiceImpl();
        WxMaDefaultConfigImpl wxMaDefaultConfigImpl = new WxMaDefaultConfigImpl();
        wxMaDefaultConfigImpl.setAppid(WxConfig.appid);		//小程序appId
        wxMaDefaultConfigImpl.setSecret(WxConfig.secret);	//小程序secret
        wxMaService.setWxMaConfig(wxMaDefaultConfigImpl);

        // 設置小程序二維碼線條顏色為黑色
        WxMaCodeLineColor lineColor = new WxMaCodeLineColor("0", "0", "0");
        byte[] qrCodeBytes = null;
        try {
	    //其中codeType以及parameterValue為前端頁面所需要接收的參數。
            qrCodeBytes = wxMaService.getQrcodeService().createWxaCodeBytes("pages/index/index?codeType=" + codeType + "&parameterValue=" + parameterValue, 30, false, lineColor, false);
        } catch (WxErrorException e) {
            e.printStackTrace();
        }
       String qrCodeStr= Base64.encodeBase64String(qrCodeBytes);
       return qrCodeStr;
    }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM