Class QrCodeApi


  • public class QrCodeApi
    extends com.foxinmy.weixin4j.api.BaseApi
    获取二维码。

    通过后台接口可以获取小程序任意页面的二维码,扫描该二维码可以直接进入小程序对应的页面。 目前微信支持两种二维码,小程序码,小程序二维码。

    Since:
    1.8
    See Also:
    获取二维码
    • Constructor Detail

      • QrCodeApi

        public QrCodeApi​(com.foxinmy.weixin4j.token.TokenManager tokenManager)
      • QrCodeApi

        public QrCodeApi​(com.foxinmy.weixin4j.token.TokenManager tokenManager,
                         Properties properties)
    • Method Detail

      • getWxaCode

        public byte[] getWxaCode​(String path,
                                 Integer width,
                                 Boolean autoColor,
                                 Color lineColor,
                                 Boolean hyaline)
                          throws com.foxinmy.weixin4j.exception.WeixinException
        获取小程序码.

        接口A: 适用于需要的码数量较少的业务场景

        注意:通过该接口生成的小程序码,永久有效,数量限制见微信小程序文档文末说明,请谨慎使用。 用户扫描该码进入小程序后,将直接进入 path 对应的页面。

        Parameters:
        path - 不能为空,最大长度 128 字节
        width - 二维码的宽度,默认值 430
        autoColor - 自动配置线条颜色,如果颜色依然是黑色,则说明不建议配置主色调
        lineColor - authColor 为 false 时生效
        hyaline - 是否需要透明底色, 为true时,生成透明底色的小程序码
        Returns:
        image bytes of WXA code.
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException - indicates getting access token failed or getting WXA code failed.
        See Also:
        获取小程序码
      • getWxaCodeUnlimit

        public byte[] getWxaCodeUnlimit​(String scene,
                                        String page,
                                        Integer width,
                                        Boolean autoColor,
                                        Color lineColor,
                                        Boolean hyaline)
                                 throws com.foxinmy.weixin4j.exception.WeixinException
        获取小程序码.

        接口B:适用于需要的码数量极多的业务场景

        注意:通过该接口生成的小程序码,永久有效,数量暂无限制。 用户扫描该码进入小程序后,开发者需在对应页面获取的码中 scene 字段的值,再做处理逻辑。 使用如下代码可以获取到二维码中的 scene 字段的值。 调试阶段可以使用开发工具的条件编译自定义参数 scene=xxxx 进行模拟, 开发工具模拟时的 scene 的参数值需要进行 urlencode。

         // 这是首页的 js
         Page({
           onLoad: function(options) {
             // options 中的 scene 需要使用 decodeURIComponent 才能获取到生成二维码时传入的 scene
             var scene = decodeURIComponent(options.scene)
           }
         })
         
        Parameters:
        scene - 最大32个可见字符,只支持数字, 大小写英文以及部分特殊字符:!#$&'()*+,/:;=?@-._~, 其它字符请自行编码为合法字符(因不支持%,中文无法使用 urlencode 处理,请使用其他编码方式)
        page - 必须是已经发布的小程序存在的页面(否则报错), 例如 "pages/index/index",根路径前不要填加'/', 不能携带参数(参数请放在scene字段里), 如果不填写这个字段,默认跳主页面
        width - 二维码的宽度,默认值 430
        autoColor - 自动配置线条颜色,如果颜色依然是黑色,则说明不建议配置主色调,默认值 false
        lineColor - autoColor 为 false 时生效,使用 rgb 设置颜色
        hyaline - 是否需要透明底色,为true时,生成透明底色的小程序码
        Returns:
        image bytes of WXA code.
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException - indicates getting access token failed or getting WXA code failed.
        See Also:
        获取小程序码
      • createWxaQrCode

        public byte[] createWxaQrCode​(String path,
                                      Integer width)
                               throws com.foxinmy.weixin4j.exception.WeixinException
        获取小程序二维码.

        接口C:适用于需要的码数量较少的业务场景

        注意:通过该接口生成的小程序二维码,永久有效,数量限制见微信小程序文档文末说明,请谨慎使用。 用户扫描该码进入小程序后,将直接进入 path 对应的页面。

        Parameters:
        path - 不能为空,最大长度 128 字节
        width - 二维码的宽度,默认值 430
        Returns:
        image bytes of WXA QR code.
        Throws:
        com.foxinmy.weixin4j.exception.WeixinException - indicates getting access token failed or getting WXA QR code failed.
        See Also:
        获取小程序二维码
      • weixinBundle

        protected ResourceBundle weixinBundle()
        Specified by:
        weixinBundle in class com.foxinmy.weixin4j.api.BaseApi
      • getRequestUri

        protected String getRequestUri​(String key)
        Overrides:
        getRequestUri in class com.foxinmy.weixin4j.api.BaseApi