美文网首页
微信小程序生成指定页面的小程序码

微信小程序生成指定页面的小程序码

作者: 端木安玉 | 来源:发表于2020-05-18 14:21 被阅读0次

问题: 小程序码默认只有一个到首页的二维码

发布时候指定的首页的一个二维码。但是在运营过程中通常会指定多个入口,这样需要我们提供多个直达页面的二维码。

解决:前端自己生成

准备材料
小程序appid
小程序密钥secret
一个发请求工具 这里选postman
动手
1 查看官方文档获取access_token

2 生成二维码接口文档

3 打开postman调用接口(结果如下图)

https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=你的小程序APPID&secret=你的小程序密钥
获取access_token示例

image.png

最后一步调用接口生成二维码
https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=上一个接口获取的access_token
body参数: 参数说明

image.png

{"scene":"a=100","page":"pages/gift/main","width":200,"auto_color":false,"line_color":{"r":"0","g":"0","b":"0"}}
1
接口示例


image.png

这样指定的二维码就生成了, page参数可以任意自己指定(当然是要已发布的页面)。

注:

返回值说明

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

因为返回的是二进制的图片所以要进行图片转换

php 获取小程序二维码返回的 Buffer二进制数据 保存图片 全套代码

 $url = "https://api.weixin.qq.com/wxa/getwxacode?access_token=".$access_token; //$access_token为自己获取的token,后面有写
    
     $codeinfo = $this->http_request($url, $array_json);//图片流 buffer  curl提交数据 获取图片流
    
    //判断是否是 json格式
    if(is_null(json_decode($codeinfo))){
        //不是json数据   有数据流  json_decode($codeinfo)返回值为 null
        
        $jpg = $codeinfo;//得到post过来的二进制原始数据
         $file = fopen("xcxcode/wxcode1.jpg","w");//创建件准备写入,文件名xcxcode/wxcode1.jpg为自定义
        fwrite($file,$jpg);//写入
        fclose($file);//关闭
    }else{
        //是json数据
        $codeinfo_array=json_decode($codeinfo,true);
        //没有接收到数据流  
        return "no";
    }

后台php生成代码

// 生成小程序码
public function wxacodeun(){

        //获取token
        $token = $this->getactionGetToken();
        //设置url
        $url = 'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token='.$token;

        //设置信息

        $deid =input('deid');
        //设置发送的消息
        $message = [
            'scene'=> $deid,// 用户openid
            'page'=>'designdetail/designdetail',//模板id

        ];

        $data = json_encode($message);

        //发送
        $ressend = $this->actionCurlRequest($url,$data);
        $routename = "static/design/".time().".jpg";
        $jpg = $ressend;//得到post过来的二进制原始数据
        $file = fopen($routename,"w");//创建件准备写入,文件名xcxcode/wxcode1.jpg为自定义
        fwrite($file,$jpg);//写入
        fclose($file);//关闭
        echo "<img src="."/".$routename.">";
        die;
    }
 // 获取令牌
    private function getactionGetToken(){
        $url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wx3cbbfbf6d04b7e45&secret=a7521077614d10d2860afd39c3ef23c9';
        $res = json_decode($this->actionCurlRequest($url));
        return $res->access_token;
    }
    //curl请求,支持post和get
    private function actionCurlRequest($url,$data=null){
        $curl = curl_init();
        curl_setopt($curl,CURLOPT_URL,$url);
        curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,FALSE);
        curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,FALSE);
        if(!empty($data)){
            curl_setopt($curl,CURLOPT_POST,1);
            curl_setopt($curl,CURLOPT_POSTFIELDS,$data);
        }

        curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
        $output = curl_exec($curl);
        curl_close($curl);
        return $output;
    }

相关文章

  • 微信小程序生成指定页面的小程序码

    问题: 小程序码默认只有一个到首页的二维码 发布时候指定的首页的一个二维码。但是在运营过程中通常会指定多个入口,这...

  • nodeJs 获取小程序页面二维码

    小程序中用到了扫描二维码打开指定的小程序页面功能,微信提供了指定页面的二维码生成借口,但是返回的不是二维码的网络地...

  • 小程序canvas相关问题

    生成指定页面小程序二维码(小程序专属码) 分享图片 小程序 canvas 多文本样式 格式错乱

  • 微信小程序码

    获取小程序码 接口b 通过该接口生成的小程序码,永久有效,数量暂无限制。 PHP微信小程序生成带参二维码getwx...

  • 如何获取小程序码

    场景一 只申请小程序码1.登陆微信小程序平台 想要生成微信的小程序码,首先要登陆到微信公众平台官网,直接在页面上输...

  • 小程序生成小程序码或二维码

    微信提供3种接口: B、生成首页小程序码,无个数限制A、生成任意页面小程序码,有个数限制C、生成二维码,有个数限制...

  • 微信带参小程序码测试方法

    一款微信小程序带参数二维码生成工具,可模拟测试分享卡片、公众号小程序链接、小程序码带参数跳转至小程序。 在线 De...

  • 小程序码的生成

    一、生成方式 微信小程序提供了三个接口来生成小程序码,分别是wxacode.createQRCode()、wxac...

  • 小程序的入口到底在哪里?

    1 . 扫码启动小程序 根据现在微信小程序迭代根系的版本,这个肯定是首要入口,扫码即用!12月30日发布生成小程序...

  • 小程序二维码(或小程序码)生成方式及简单运用

    应用场景: 想通过小程序(或直接使用微信)扫描小程序码(小程序二维码)打开小程序并完成一些指定的任务*******...

网友评论

      本文标题:微信小程序生成指定页面的小程序码

      本文链接:https://www.haomeiwen.com/subject/lspuohtx.html