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

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

目录

文档

接口地址

请求方式

功能描述

注意事项

[获取 scene 值](#获取 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方法进行了封装。

代码如下:

php 复制代码
/**
 * 发起请求
 * @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是传递的参数和值。

代码如下:

php 复制代码
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。

代码如下:

php 复制代码
$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]);

小程序码示例

总结

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

相关推荐
江湖十年7 小时前
Go 语言中 YAML to JSON 踩坑笔记
后端·go·json
你驴我7 小时前
WhatsApp 消息撤回与编辑的幂等性设计实践
java·服务器·前端·后端·python
一缕清烟在人间7 小时前
HarmonyOS开发实战:小分享-TextEditPage文字编辑器——Header+TextArea+工具栏
后端·华为·harmonyos·鸿蒙
人间凡尔赛7 小时前
K8s 十年之变:从 Cloud Native 到 AI Native,2026 年后端架构的范式革命
后端·云原生·架构
程序员cxuan8 小时前
Opus 5 深夜炸场,价格还挺香。。。
人工智能·后端·程序员
北冥you鱼8 小时前
Go 语言新手扫盲:指针 * 和 & 使用场景详解
开发语言·后端·golang
青山木8 小时前
Hot 100 ---腐烂的橘子
java·数据结构·后端·算法·leetcode·广度优先
卷无止境8 小时前
Python的collections模块:那些被低估的"瑞士军刀"
后端·python
卷无止境8 小时前
Python的方法解析顺序:一场关于继承顺序的精妙设计
后端·python
宁&沉沦9 小时前
Chrome 扩展 Manifest 字段版本支持一览(全量)
前端·后端·编辑器