微信小程序:获取不限制的小程序码后端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

相关文章
|
3月前
|
存储 小程序 Java
热门小程序源码合集:微信抖音小程序源码支持PHP/Java/uni-app完整项目实践指南
小程序已成为企业获客与开发者创业的重要载体。本文详解PHP、Java、uni-app三大技术栈在电商、工具、服务类小程序中的源码应用,提供从开发到部署的全流程指南,并分享选型避坑与商业化落地策略,助力开发者高效构建稳定可扩展项目。
|
8月前
|
前端开发 Java 物联网
智慧班牌源码,采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署
智慧班牌系统是一款基于信息化与物联网技术的校园管理工具,集成电子屏显示、人脸识别及数据交互功能,实现班级信息展示、智能考勤与家校互通。系统采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署与私有化定制。核心功能涵盖信息发布、考勤管理、教务处理及数据分析,助力校园文化建设与教学优化。其综合性和可扩展性有效打破数据孤岛,提升交互体验并降低管理成本,适用于日常教学、考试管理和应急场景,为智慧校园建设提供全面解决方案。
503 70
|
8月前
|
监控 前端开发 小程序
陪练,代练,护航,代打小程序源码/前端UNIAPP-VUE2.0开发 后端Thinkphp6管理/具备家政服务的综合型平台
这款APP通过技术创新,将代练、家政、娱乐社交等场景融合,打造“全能型生活服务生态圈”。以代练为切入点,提供模块化代码支持快速搭建平台,结合智能匹配与技能审核机制,拓展家政服务和商业管理功能。技术架构具备高安全性和扩展性,支持多业务复用,如押金冻结、录屏监控等功能跨领域应用。商业模式多元,包括交易抽成、增值服务及广告联名,同时设计跨领域积分体系提升用户粘性,实现生态共生与B端赋能。
771 13
|
8月前
|
人工智能 小程序 NoSQL
【一步步开发AI运动小程序】二十一、如何将AI运动项目配置持久化到后端?
本文介绍基于云智「Ai运动识别引擎」的运动配置持久化方案,旨在优化小程序或Uni APP中AI运动识别能力。通过将运动检测参数(如`Key`、`Name`、`TickMode`、`rules`或`samples`)持久化到后端,可避免因频繁调整运动参数而重新发布应用,提升用户体验。持久化数据结构支持规则和姿态样本存储,适用于关系数据库、文件或文档数据库(如MongoDB)。此外,云智还提供运动自动适配工具及「AI乐运动」产品,助力快速实现AI体育、全民健身等场景。
|
10月前
|
SQL JavaScript 安全
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
427 11
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
|
9月前
|
Java API Docker
在线编程实现!如何在Java后端通过DockerClient操作Docker生成python环境
以上内容是一个简单的实现在Java后端中通过DockerClient操作Docker生成python环境并执行代码,最后销毁的案例全过程,也是实现一个简单的在线编程后端API的完整流程,你可以在此基础上添加额外的辅助功能,比如上传文件、编辑文件、查阅文件、自定义安装等功能。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
在线编程实现!如何在Java后端通过DockerClient操作Docker生成python环境
|
10月前
|
监控 前端开发 Java
构建高效Java后端与前端交互的定时任务调度系统
通过以上步骤,我们构建了一个高效的Java后端与前端交互的定时任务调度系统。该系统使用Spring Boot作为后端框架,Quartz作为任务调度器,并通过前端界面实现用户交互。此系统可以应用于各种需要定时任务调度的业务场景,如数据同步、报告生成和系统监控等。
387 9
|
10月前
|
存储 小程序 前端开发
微信小程序与Java后端实现微信授权登录功能
微信小程序极大地简化了登录注册流程。对于用户而言,仅仅需要点击授权按钮,便能够完成登录操作,无需经历繁琐的注册步骤以及输入账号密码等一系列复杂操作,这种便捷的登录方式极大地提升了用户的使用体验
2983 12
|
9月前
|
JavaScript Java Docker
干货含源码!如何用Java后端操作Docker(命令行篇)
只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
5月前
|
人工智能 Java API
后端开发必看:零代码实现存量服务改造成MCP服务
本文介绍如何通过 **Nacos** 和 **Higress** 实现存量 Spring Boot 服务的零代码改造,使其支持 MCP 协议,供 AI Agent 调用。全程无需修改业务代码,仅通过配置完成服务注册、协议转换与工具映射,显著降低改造成本,提升服务的可集成性与智能化能力。
1384 1

热门文章

最新文章