微信小程序:获取不限制的小程序码后端Java实现

简介: 微信小程序:获取不限制的小程序码后端Java实现

文档


获取不限制的小程序码

看腾讯写的文档,对于不同的程序员来说,可能接收到的信息会不一样,往往需要花很多时间来调试


目录

1、请求参数

2、发起请求

3、响应结果

1、请求参数

根据文档,可以将入参提取为一个简单java类


用到的第三方库:


lombok

jackson

package com.demo.utils.wechat.entity;


import com.fasterxml.jackson.annotation.JsonProperty;

import lombok.Data;


/**

* 获取不限制的小程序码接口请求参数

* https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/qrcode-link/qr-code/getUnlimitedQRCode.html

*/

@Data

public class UnlimitedQRCodeParam {

   /**

    * 默认是主页,页面 page,例如 pages/index/index,

    * 根路径前不要填加 /,不能携带参数(参数请放在scene字段里),

    * 如果不填写这个字段,默认跳主页面。

    */

   private String page;


   /**

    * 最大32个可见字符,只支持数字,大小写英文以及部分特殊字符:!#$&'()*+,/:;=?@-._~,

    * 其它字符请自行编码为合法字符(因不支持%,中文无法使用 urlencode 处理,请使用其他编码方式)

    */

   private String scene;


   /**

    * 默认是true,检查page 是否存在,为 true 时 page 必须是已经发布的小程序存在的页面(否则报错);

    * 为 false 时允许小程序未发布或者 page 不存在, 但page 有数量上限(60000个)请勿滥用。

    */

   @JsonProperty("check_path")

   private Boolean checkPath;


   /**

    * 否 要打开的小程序版本。

    * 正式版为 "release",默认

    * 体验版为 "trial"

    * 开发版为 "develop"

    */

   @JsonProperty("env_version")

   private String envVersion;


   /**

    * 否 默认430,二维码的宽度,单位 px,最小 280px,最大 1280px

    */

   private Integer width;


   /**

    * 自动配置线条颜色,如果颜色依然是黑色,则说明不建议配置主色调,默认 false

    */

   @JsonProperty("auto_color")

   private Boolean autoColor;


   /**

    * 默认是{"r":0,"g":0,"b":0} 。

    * auto_color 为 false 时生效,使用 rgb 设置颜色

    * 例如 {"r":"xxx","g":"xxx","b":"xxx"} 十进制表示

    */

   @JsonProperty("line_color")

   private LineColor lineColor;


   /**

    * 否 默认是false,是否需要透明底色,为 true 时,生成透明底色的小程序

    */

   @JsonProperty("is_hyaline")

   private Integer isHyaline;


}


package com.demo.utils.wechat.entity;


import com.fasterxml.jackson.annotation.JsonProperty;

import lombok.Data;



@Data

public class LineColor {


   @JsonProperty("r")

   private Integer red;


   @JsonProperty("g")

   private Integer green;


   @JsonProperty("b")

   private Integer blue;

}


2、发起请求

请求时用 jackson 将参数序列化为json数据


发起请求时需要注意access_token 参数是查询参数形式传递,其他参数以json格式以body体形式传递


完整示例


POST https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN

Content-Type: application/json


{

"page": "pages/index/index",

"scene": "a=1",

"check_path": true,

"env_version": "release"

}


3、响应结果

响应结果


package com.demo.utils.wechat.entity;


import com.fasterxml.jackson.annotation.JsonProperty;

import lombok.Data;


@Data

public class UnlimitedQRCodeResult {


   @JsonProperty("errcode")

   private int errCode;


   @JsonProperty("errmsg")

   private String errMsg;


   private String contentType;


   private String buffer;

}



注意 这里需要注意:


文档上说返回值是json,实际操作下来会发现


如果调用成功,会直接返回图片二进制内容

如果请求失败,会返回 JSON 格式的数据

所以需要判断返回内容类型,根据contentType判断,


成功:如果是application/json就使用jackson解析,抛出异常

失败:如果是image/jpeg ,就使用byte[]接收二进制流

————————————————

版权声明:本文为CSDN博主「彭世瑜」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/mouday/article/details/130302254

相关文章
|
5月前
|
小程序 JavaScript Java
微信小程序的后端开发需要使用什么语言?
【8月更文挑战第22天】微信小程序的后端开发需要使用什么语言?
942 65
|
3月前
|
存储 JSON 小程序
微信小程序入门之新建并认识小程序结构
微信小程序入门之新建并认识小程序结构
68 1
ly~
|
4月前
|
存储 供应链 小程序
除了微信小程序,PHP 还可以用于开发哪些类型的小程序?
除了微信小程序,PHP 还可用于开发多种类型的小程序,包括支付宝小程序、百度智能小程序、抖音小程序、企业内部小程序及行业特定小程序。在电商、生活服务、资讯、工具、娱乐、营销等领域,PHP 能有效管理商品信息、订单处理、支付接口、内容抓取、复杂计算、游戏数据、活动规则等多种业务。同时,在企业内部,PHP 可提升工作效率,实现审批流程、文件共享、生产计划等功能;在医疗和教育等行业,PHP 能管理患者信息、在线问诊、课程资源、成绩查询等重要数据。
ly~
97 6
|
13天前
|
开发框架 小程序 前端开发
圈子社交app前端+后端源码,uniapp社交兴趣圈子开发,框架php圈子小程序安装搭建
本文介绍了圈子社交APP的源码获取、分析与定制,PHP实现的圈子框架设计及代码编写,以及圈子小程序的安装搭建。涵盖环境配置、数据库设计、前后端开发与接口对接等内容,确保平台的安全性、性能和功能完整性。通过详细指导,帮助开发者快速搭建稳定可靠的圈子社交平台。
120 18
|
2月前
|
小程序 前端开发 算法
|
3月前
|
小程序 JavaScript API
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
这篇文章介绍了如何在uni-app和微信小程序中实现将图片保存到用户手机相册的功能。
1423 0
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
|
3月前
|
小程序
java--微信小程序发送模板消息
java--微信小程序发送模板消息
170 0
|
3月前
|
小程序 前端开发 Java
java 生成小程序二维码
java 生成小程序二维码
46 0
|
4月前
|
小程序 PHP
微信小程序给 thinkphp后端发送请求出现错误 Wrong number of segments 问题的解决 【踩坑记录】
本文记录了微信小程序向ThinkPHP后端发送请求时出现"Wrong number of segments"错误的解决方法。问题原因是小程序请求header中的token变量名写错,导致token未正确传递至后端。作者提供了详细的检查步骤和建议,包括验证URL路径、参数规范和路由配置的匹配,以确保请求能正确发送和处理。
|
5月前
|
小程序 安全
Fiddler抓取小程序后端请求导入AppScan扫描快捷方法
【8月更文挑战第26天】这是一种利用 Fiddler 捕获小程序后端请求并导入 AppScan 进行安全扫描的方法。首先安装配置 Fiddler 并设置手机代理,通过 Fiddler 捕获请求;接着导出这些请求为 .saz 文件,并在 AppScan 中导入此文件,配置扫描参数后启动扫描以检测安全漏洞。操作时需确保有合法授权并遵循相关法规。尽管不同版本软件操作细节可能有所不同,但整体流程类似。
198 1