微信小程序开发二

    xiaoxiao2021-03-25  117

    一、概述

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

    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); }
    转载请注明原文地址: https://ju.6miu.com/read-14861.html

    最新回复(0)