微信小程序开发二

一、概述

本文要讲述的内容一共有以下二点

1.代码实现微信上开发二维码
2.代码实现微信上开发菜单

二、微信上生成二维码操作流程和代码实现

二维码的名称叫做”快速响应吗”;英文名称为”QRcode”;在微信开发者文档中对应账号管理,如下图:
这里写图片描述

1、微信中的二维码分类
  • 临时二维码
  • 长期二维码
    它们的特征在文档中的描述如下:
    这里写图片描述
2、二维码的获取流程
获取ticket票据

创建二维码ticket
每次创建二维码ticket需要提供一个开发者自行设定的参(scene_id),分别介绍临时二维码和永久二维码的创建二维码ticket过程
这里写图片描述
这里写图片描述
这里写图片描述
遇到问题找错误码
这里写图片描述
这里写图片描述
获取ticket票据的流程
1.url地址
2.组合参数, 判断是永久的还是临时的
3.发送请求
4.处理返回数据

获取ticket票据的代码实现:

  function getTiket($tmp)
  {
    $url = 'https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token='.$this->getAccessToken();

    $data = '{"expire_seconds": 604800, "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": 123}}}';
    if($tmp == 'limit'){
      $data = '{"action_name": "QR_LIMIT_SCENE", "action_info": {"scene": {"scene_id": 123}}}';
    }

    $content = $this->request($url,true,'post',$data);

    $content = json_decode($content);
    $ticket = $content->ticket;
    return $ticket;

获取二维码图片的流程
1.url
2.发送请求
3.处理返回结果

获取二维码图片的代码

  function getQRcode($ticket)
  {
    $url = 'https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket='.$ticket;
    $content = $this->request($url);
    file_put_contents('qrimg.jpg',$content);
  }

关于request方法请看http://blog.csdn.net/jiang_xinxing/article/details/60960893这篇博客。

三、微信上生菜单开发流程和代码实现

这里写图片描述
自定义菜单的接口都在这里面了。

1.自定义菜单的规则
  • 自定义菜单最多包括3个一级菜单,每个一级菜单最多包含5个二级菜单。

  • 一级菜单最多4个汉字,二级菜单最多7个汉字,多出来的部分将会以“…”代替。

  • 创建自定义菜单后,由于微信客户端缓存,需要24小时微信客户端才会展现出来。测试时可以尝试取消关注公众账号后再次关注,则可以看到创建后的效果。

关于自定义菜单的接口详细信息请看微信开发者文档。

2、代码实现菜单的创建
实现流程:

1.url地址
2.组织发送参数
3.发送参数并请求接口
4.处理返回值,返回结果

代码:
  function createMenu()
  {
    $url = 'https://api.weixin.qq.com/cgi-bin/menu/create?access_token='.$this->getAccessToken();

    $data = '{
              "button":[
              {
                   "type":"click",
                   "name":"今日资讯",
                   "key":"news"
               },
               {
                    "name":"更多",
                    "sub_button":[
                    {
                        "type":"view",
                        "name":"搜索",
                        "url":"http://www.thinkphp.cn/"
                     },
                     {
                        "type":"view",
                        "name":"主页",
                        "url":"http://panteng.me/demos/whb/"
                     },
                     {
                        "name": "发送位置",
                        "type": "location_select",
                        "key": "rselfmenu_2_0"
                     }]
                }]
          }';

    $content = $this->request($url,true,'post',$data);

    $content = json_decode($content);
    if($content->errmsg == 'ok')
    {
      echo '创建菜单成功!';
    }
    else
    {
      echo '创建失败!'.'<br />';
      echo '错误码:'.$content->errcode;
    }
  }
3、代码实现菜单的删除
实现流程

1.url地址
2.请求接口
3.处理返回值

代码
 function delMenu()
 {
    $url = 'https://api.weixin.qq.com/cgi-bin/menu/delete?access_token='.$this->getAccessToken();
    $content = $this->request($url);
    $content = json_decode($content);
    if($content->errmsg == 'ok')
    {
      echo '删除菜单成功!';
    }
    else
    {
      echo '删除失败!'.'<br />';
      echo '错误码:'.$content->errcode;
    }
  }
4、代码实现菜单的查询
实现流程

1.url地址
2.请求接口
3.处理返回数据

代码:
function showMenu()
{
    $url = 'https://api.weixin.qq.com/cgi-bin/menu/get?access_token='.$this->getAccessToken();
    $content = $this->request($url);
    var_dump($content);
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

The_Web3_社区

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值