微信创建小程序码 - 数量不受限制

news/2024/12/5 5:39:27/

获取小程序码:小程序码为圆图,且不受数量限制。

目录

文档

接口地址

请求方式

功能描述

注意事项

获取 scene 值

请求参数

返回参数

对接

请求方法

获取小程序

调用获取小程序

总结


文档

接口地址

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

请求方式

POST

功能描述

该接口用于获取小程序码,适用于需要的码数量极多的业务场景。通过该接口生成的小程序码,永久有效,数量暂无限制。 更多用法详见 获取小程序码。

注意事项

如果调用成功,会直接返回图片二进制内容,如果请求失败,会返回 JSON 格式的数据。

POST 参数需要转成 JSON 字符串,不支持 form 表单提交。

调用分钟频率受限(5000次/分钟),如需大量小程序码,建议预生成

获取 scene 值

scene 字段的值会作为 query 参数传递给小程序/小游戏。用户扫描该码进入小程序/小游戏后,开发者可以获取到二维码中的 scene 值,再做处理逻辑。

调试阶段可以使用开发工具的条件编译自定义参数 scene=xxxx 进行模拟,开发工具模拟时的 scene 的参数值需要进行 encodeURIComponent

请求参数

返回参数

对接

请求方法

对请求使用了curl方法进行了封装。

代码如下:

/*** 发起请求* @param string $url 请求地址* @param string $param 请求数据包* @return   string      请求返回数据*/
public function http_post($url, $param)
{$oCurl = curl_init();if (stripos($url, "https://") !== FALSE) {curl_setopt($oCurl, CURLOPT_SSL_VERIFYPEER, FALSE);curl_setopt($oCurl, CURLOPT_SSL_VERIFYHOST, false);curl_setopt($oCurl, CURLOPT_SSLVERSION, 1); //CURL_SSLVERSION_TLSv1}if (is_string($param)) {$strPOST = $param;} else {$aPOST = array();foreach ($param as $key => $val) {$aPOST[] = $key . "=" . urlencode($val);}$strPOST = join("&", $aPOST);}curl_setopt($oCurl, CURLOPT_URL, $url);curl_setopt($oCurl, CURLOPT_RETURNTRANSFER, 1);curl_setopt($oCurl, CURLOPT_POST, true);curl_setopt($oCurl, CURLOPT_HTTPHEADER, array('X-AjaxPro-Method:ShowList','Content-Type: application/json; charset=utf-8','Content-Length: ' . strlen($strPOST)));curl_setopt($oCurl, CURLOPT_POSTFIELDS, $strPOST);$sContent = curl_exec($oCurl);$aStatus = curl_getinfo($oCurl);curl_close($oCurl);if (intval($aStatus["http_code"]) == 200) {return $sContent;} else {return false;}
}

获取小程序

对获取小程序码所需参数、请求地址、调用进行请求封装为一个函数。

page是小程序跳转路径,param_str是传递的参数和值。

代码如下:

public function getWxaCodeUnLimit($page, $param_str, $access_token)
{$url = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" . $access_token;return $this->http_post($url, json_encode(array('scene'         =>  $param_str,'page'          =>  $page,'width'         =>  430,'check_path'    =>  false,   // 不检测路径'env_version'   =>  'trial', // 体验版 默认正式版)));
}

调用获取小程序

注意:调用的前置条件是获取access_token值。这里不再详述获取access_token。

代码如下:

$path = 'pages/special/groupPurchase/GroupDetails';
$param_str = 'id=1';
$image = $wechatModel->getWxaCodeUnLimit($path, $param_str, $access_token);
if (strlen($image) < 1000) {ds_json_encode(10001, '错误', $image);
}
$filename = sprintf('./uploads/min_%d.png', time());
file_put_contents($filename, $image);
ds_json_encode(10000, ['path' => $filename]);

小程序码示例

总结

获取受数量限制的小程序码适用于需要推广的链接较少且需要永久有效的场景。


http://www.ppmy.cn/news/1552477.html

相关文章

借助 AI 工具,共享旅游-卡-项目助力年底增收攻略

年底了&#xff0c;大量的商家都在开始筹备搞活动&#xff0c;接下来的双十二、元旦、春节、开门红、寒假&#xff0c;各种活动&#xff0c;目的就是为了拉动新客户。 距离过年还有56 天&#xff0c;如何破局&#xff1f; 1、销售渠道 针对旅游卡项目&#xff0c;主要销售渠道…

k8s集群中金丝雀发布 + 声明式资源管理yaml

一、K8S常见的发布方式 旨在降低发布风险并提高发布速度 1、蓝绿发布 两套环境&#xff08;设备&#xff09;交替升级&#xff0c;旧版本保留一定时间便于回滚 优点&#xff1a;对用户无感&#xff0c;是最安全的发布方式&#xff0c;业务稳定 缺点&#xff1a;需要两套系统&…

蓝桥杯准备训练(lesson1,c++方向)

前言 报名参加了蓝桥杯&#xff08;c&#xff09;方向的宝子们&#xff0c;今天我将与大家一起努力参赛&#xff0c;后序会与大家分享我的学习情况&#xff0c;我将从最基础的内容开始学习&#xff0c;带大家打好基础&#xff0c;在每节课后都会有练习题&#xff0c;刚开始的练…

【微服务】http客户端Feign

一、Fegin替代RestTemplate RestTemplate&#xff1a;代码可读性差&#xff0c;编程体验不统一&#xff0c;参数复杂URL难以维护。 Feign&#xff1a;是一个声明式的http客户端&#xff0c;官方地址: https://github.com/OpenFeign/feign&#xff0c;其作用就是帮助我们优雅的…

mysql--二进制安装编译安装yum安装

二进制安装 创建用户和组 [rootlocalhost ~]# groupadd -r -g 306 mysql [rootlocalhost ~]# useradd -r -g 306 -u 306 -d /data/mysql mysql 创建文件夹并添加所属文件用户和组 [rootlocalhost ~]# mkdir -p /data/mysql [rootlocalhost ~]# chown mysql:mysql /data/mysql …

【NLP高频面题 - LLM架构篇】旋转位置编码RoPE相对正弦位置编码有哪些优势?

【NLP高频面题 - LLM架构篇】旋转位置编码RoPE相对正弦位置编码有哪些优势&#xff1f; 重要性&#xff1a;⭐⭐⭐ &#x1f4af; NLP Github 项目&#xff1a; NLP 项目实践&#xff1a;fasterai/nlp-project-practice 介绍&#xff1a;该仓库围绕着 NLP 任务模型的设计、训练…

Java 中的 remove 方法深度解析

在 Java 编程中&#xff0c;remove方法是一个经常被使用的操作。它可以用于从各种数据结构中移除特定的元素&#xff0c;帮助我们有效地管理和操作数据。本文将深入探讨 Java 中的remove方法&#xff0c;包括在不同数据结构中的应用、使用场景、注意事项以及性能考虑等方面。 …

RouterOS ROSV7 基于域名的分流实现

使用RouterOS进行分流&#xff0c;网上早已有大神进行了实现&#xff0c;比较普通的是基于IP的分流&#xff0c;基于域名的分流也要&#xff0c;不过是V6的&#xff0c;这里总结了V7基于域名的分流方式&#xff0c;要比V6方便许多 本人也是看了多篇文章有所启发&#xff0c;比较…