精华内容
下载资源
问答
  • 主要为大家详细介绍了php微信开发自定义菜单,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 微信开发自定义菜单点击文本回复

    千次阅读 2018-04-19 08:01:09
    微信开发自定义回复文本<?php namespace Home\Controller; use Think\Controller; use LaneWeChat\Core\Curl; class AutoreplyController extends Controller { private $mp; public function _initialize...

    微信开发自定义回复文本

    <?php
    namespace Home\Controller;
    use Think\Controller;
    use LaneWeChat\Core\Curl;
    
    class AutoreplyController extends Controller
    {
    	private $mp;
    	public function _initialize(){
    		$mp = getCurrentMp();
    		if(empty($mp)){
    			$this->error('无使用的公众号',U('mp/index'));
    			exit;
    		}else{
    			$this->mp = $mp;
    		}
    	}
    
    	public function index(){
             $this->display('replytext');
    	}
    	//回复文本消息
    	public function replytext(){
    		$data['content'] = I('content');
    		$replyid = M('mp_reply_text')->add($data);
    		if($replyid){
    		$mp = $this->mp;
    		$arr['mp_id'] = $mp['id'];
    		$arr['type'] = 'text';
    		$arr['keyword'] = I('keyword');
    		$arr['reply_id'] = $replyid;
    
    		$ret = M('mp_rule')->add($arr);
    		if($ret){
    			$this->ajaxReturn(array('msg'=>'添加成功','url'=>U('keyword',['type'=>'text'])));
    		}else{
    				$this->ajaxReturn(array('msg'=>$ret));
    			
    		}
    		}else{
    				$this->ajaxReturn(array('msg'=>$ret));
    		}
    	}
    }

    自定义菜单点击文本回复在wechatquest.php中设置为

     public static function eventClick(&$request){
            //获取该分类的信息
            $eventkey = $request['eventkey'];
            $request['content'] = $eventkey;
            return self::text($request);
            // $content = '收到点击菜单事件,您设置的key是' . $eventKey;
            // return ResponsePassive::text($request['fromusername'], $request['tousername'], $content);
        }

    展开全文
  • 微信开发自定义菜单

    千次阅读 2017-07-12 14:09:56
    微信开发的过程中,我们发现有很多的权限我们个人的订阅号是没有的,所以呢,我们采用测试号来进行开发。测试号有它自己的ID和密码,有自己的URL绑定地址以及绑定域名的地方,注意绑定域名不要加http://,只包括自己...

    微信开发的过程中,我们发现有很多的权限我们个人的订阅号是没有的,所以呢,我们采用测试号来进行开发。测试号有它自己的ID和密码,有自己的URL绑定地址以及绑定域名的地方,注意绑定域名不要加http://,只包括自己的域名,例如 xx.duapp.com  其余什么都不要。


    下面是JSSDK中对于php语言的sample.phpde 的改写内容,注意,需要修改的只有APPID 和APPSECRET(从测试号赋值过来即可)。另外一点注意,如果你的accesstoken是调用一次API就获取一次的话,那么尽量只自己测试,权限次数虽然写着2000,但是实际只有100次左右,不要让太多的人频繁的点击测试。

    测试录音接口需要将音频的id传递给playvoice,需要设置一个变量,进行传递~~~


    <?php
    require_once "jssdk.php";
    $jssdk = new JSSDK("你的appid", "你的APPsecret");
    $signPackage = $jssdk->GetSignPackage();
    ?>
    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width,initital-scale=1">
      <title>腾讯API</title>
    </head>
    <body>
      <button id="btn">点击显示总部</button>
      <button id="ve1">开始录音</button>
      <button id="ve2">停止录音</button>
      <button id="ve3">播放录音</button>
      
    </body>
    <script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
    <script>

      /*
       * 注意:
       * 1. 所有的JS接口只能在公众号绑定的域名下调用,公众号开发者需要先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。
       * 2. 如果发现在 Android 不能分享自定义内容,请到官网下载最新的包覆盖安装,Android 自定义分享接口需升级至 6.0.2.58 版本及以上。
       * 3. 常见问题及完整 JS-SDK 文档地址:http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html
       *
       * 开发中遇到问题详见文档“附录5-常见错误及解决办法”解决,如仍未能解决可通过以下渠道反馈:
       * 邮箱地址:weixin-open@qq.com
       * 邮件主题:【微信JS-SDK反馈】具体问题
       * 邮件内容说明:用简明的语言描述问题所在,并交代清楚遇到该问题的场景,可附上截屏图片,微信团队会尽快处理你的反馈。
       */
      wx.config({
        debug: true,
        appId: '<?php echo $signPackage["appId"];?>',
        timestamp: <?php echo $signPackage["timestamp"];?>,
        nonceStr: '<?php echo $signPackage["nonceStr"];?>',
        signature: '<?php echo $signPackage["signature"];?>',
        jsApiList: [
          // 所有要调用的 API 都要加到这个列表中
     
     "onMenuShareAppMessage",
     "openLocation",
     "startRecord",
     "stopRecord",
     "playVoice"
     
        ]
      });
      wx.ready(function () {
        // 在这里调用 API
    wx.onMenuShareAppMessage({
        title: '分享标题', // 分享标题
        desc: '分享描述', // 分享描述
        link: 'http://www.baidu.com', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
        imgUrl: 'http://1995zp.duapp.com/demo.jpg', // 分享图标
        type: 'link', // 分享类型,music、video或link,不填默认为link
        dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
        success: function () { 
            // 用户确认分享后执行的回调函数
    alert("ok");
        },
        cancel: function () { 
            // 用户取消分享后执行的回调函数
    alert("false");
        }
    });
    document.getElementById("btn").onclick = function(){
    wx.openLocation({
             latitude: 65.4, // 纬度,浮点数,范围为90 ~ -90
            longitude: 70.7, // 经度,浮点数,范围为180 ~ -180。
             name: '北京', // 位置名
            address: '北京昌平区金利全D区', // 地址详情说明
            scale: 20, // 地图缩放级别,整形值,范围从1~28。默认为最大
             infoUrl: 'http://wwww.baidu.com/' // 在查看位置界面底部显示的超链接,可点击跳转
           });

    }

    var ve1 = document.getElementById("ve1");
            var ve2 = document.getElementById("ve2");
            var ve3 = document.getElementById("ve3");
            ve1.onclick = function () {
                wx.startRecord();
            }
            var vv = null;
            ve2.onclick = function () {
                wx.stopRecord({
                    success: function (res) {
                        var localId = res.localId;
                        vv = localId;
                    }
                });
            }
            ve3.onclick = function () {
                wx.playVoice({
                    localId: vv // 需要播放的音频的本地ID,由stopRecord接口获得
                });
            }



    });
    </script>
    </html>



    展开全文
  • 主要为大家详细介绍了php微信开发自定义菜单实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 主要为大家详细介绍了php微信开发自定义菜单完整流程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 微信公众平台开发自定义菜单管理是子恒老师《微信公众平台开发》视频教程的第5部。详细讲解了用php开发微信,对微信公众平台中的自定义管理开发。内容包含微信添加菜单,获取自定义菜单配置,删除菜单等等。欢迎...
  • RT,开发是之前负责的人做的。但是现在有一个小问题。ios的系统完全没问题可以实现直接跳转到拨号提示。而安卓就完全没反应。点完按钮执行代码到关闭页面然后也不会弹出任何拨号的窗口。想请教一下这是为什么。因为...
  • 首先声明一点,这个错误可能在你的开发生涯中不会遇到,除非你直接复制了微信公众平台的api地址。不过这应该算是php中curl扩展的一个bug,为什么是bug呢?让我们仔细来看。 总结:使用curl来请求数据时curl的url地址...

    首先声明一点,这个错误可能在你的开发生涯中不会遇到,除非你直接复制了微信公众平台的api地址。不过这应该算是php中curl扩展的一个bug,为什么是bug呢?让我们仔细来看。

    下边是示例代码,代码的功能是调用微信公众平台的创建自定义菜单接口来创建自定义菜单。


    创建自定义菜单的业务代码:

    $menuArr = [
        'button' => [
            [
                'name' => '动物世界',
                'type' => 'click',
                'key' => 'alimail'
            ],
    
            [
                'name' => '环球活动',
                'sub_button' => [
                    [
                        'name' => '我要冒险',
                        'type' => 'view',
                        'url' => url('index/maoxian/index','','',true)
                    ],
                    [
                        'name' => '优惠活动',
                        'type' => 'scancode_push',
                        'key' => 'rselfmenu_0_1'
                    ]
                ]
            ]
        ]
    ];
    $accessToken = get_access_token();
    $url = ' https://api.weixin.qq.com/cgi-bin/menu/create?access_token='.$accessToken;
    $result = curl_request($url,'post',json_encode($menuArr,JSON_UNESCAPED_UNICODE));
    dump($result);

    封装的curl请求函数:

    /**
     * @param $url
     * @param array $data
     * @return mixed
     * 模拟发送get  post 请求
     */
    function curl_request($url, $type = "GET", $data = '')
    {
        $ch = curl_init();
        curl_setopt($ch,CURLOPT_URL,$url);
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
        curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);
        curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0);
        curl_setopt($ch,CURLOPT_HEADER,0);
    
        $type = strtolower($type);
        switch ($type){
            case 'get':
                break;
            case 'post':
                //post请求配置
                curl_setopt($ch, CURLOPT_POST,1);
                curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
                break;
        }
        $result = curl_exec($ch);
        curl_close($ch);
        return $result;
    }
    
    
    问题就出在第一部分的代码中。第一部分的代码中的:
    $url = ' https://api.weixin.qq.com/cgi-bin/menu/create?access_token='.$accessToken;
    在这行代码中url的开始有一个空格。这个空格导致了curl_exec($ch)的错误。
    理论来讲:curl中出现错误的有两种可能,要么是微信的api抛出了错误,要么是curl本身抛出错误。
    但是这两个错误都是可以人为的获取分析的。可是在curl请求的url中包含了空格。注意,是包含了
    空格,也就是说在url的任何一个位置都不行。如果有则curl返回的结果就是false。然后我使用curl_error($ch)
    来获取可视获取的结果为string ""也就是空字符串。所以这个就有点儿难判断了。最后发现是url中有了一个空格。
    
    
    总结:使用curl来请求数据时curl的url地址中的任何地方不能有空格存在,不然会返回一个你琢磨不透的false

    展开全文
  • 微信公众平台自定义菜单PHP开发
                   

    转自:http://www.cnblogs.com/GmrBrian/p/3593070.html

    微信公众平台自定义菜单PHP开发,微信公众平台自定义菜单是如何实现的呢?其实很简单,首先在微信公众平台升级为服务号,获取appid和appsecret,然后根据这2个参数获取access_token,在根据access_token,post一串字符到微信服务器就可以了。代码如下:

    回调URL(config.php)代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    define(AppId,"wx1234567890abcdef");//定义AppId,需要在微信公众平台申请自定义菜单后会得到
     
    define(AppSecret,"1234567890abcdefghijklmnopqrstuv");//定义AppSecret,需要在微信公众平台申请自定义菜单后会得到
     
    include("wechat.class.php");//引入微信类
     
    $wechatObj =new Wechat();//实例化微信类
     
    $creatMenu =$wechatObj->creatMenu();//创建菜单

    微信类(wechat.class.php)代码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    展开全文
  • 微信公众号开发5-自定义菜单-微信开发php 大秦电商创始人,专注网络技术的...
  • 首先设置menu控制器,menuController.class.php,设置命名空间1.namespace Home\Controller;...检测是否有使用的微信公众号public function _initialize(){ $mp = getCurrentMp(); if (empty($...
  • 微信自定义菜单需要有一个微信服务号,在开发之前需要获取access_token,获取方法很简单,登陆微信公众账号,进入开发者模式,就可以看到{开发者凭据}:下面AppId和AppSecret,开发者文档说明 : 接口调用请求说明...
  • 自定义菜单的创建 <?php define(APPID, 您的appid); define(APPSECRET, 您的appsecret ); $token_access_url = ...
  • 在CI框架下面实现了自定义菜单功能.写了一个model,一个类库.顺便附带access_token的实现方式 <?php class Makemenu{ public $menustr; public function __construct(){ } public function init(){ ...
  • 接口文档说明: ...按照文档走,使用PHP执行,结果: {“errcode”:40033,”errmsg”:”invalid charset. please check your request, if include \uxxxx will create fai...
  • 微信进入5.0,公众号有了服务号和订阅号的区别,其中一个很重要的区别就是服务号可以自定义菜单,而订阅号不可以,所以这篇文章只适合打算开发服务号的朋友。 读这篇文章时,假设你已经成功的申请到了自定义菜单...
  • //定义AppId,需要在微信公众平台申请自定义菜单后会得到 define(AppSecret, "d77026a714d443a01d02297ce61ff27e");//定义AppSecret,需要在微信公众平台申请自定义菜单后会得到 include("menu.php");//引入微信...
  • 微信自定义菜单生成器 http://menu.fangbei.org/index.php 微信公众平台开发问答 http://www.cnblogs.com/txw1958/p/wxqa.html ...
  • http://mp.weixin.qq.com/wiki/13/43de8269be54a0a6f64413e4dfa94f39.html按照文档走,使用php执行,结果: {“errcode”:40033,”errmsg”:”invalid charset. please check your request, if include \uxxxx will ...
  •  自微信进入5.0,公众号有了服务号和订阅号的区别,其中一个很重要的区别就是服务号可以自定义菜单,而订阅号不可以,所以这篇文章只适合打算开发服务号的朋友。  读这篇文章时,假设你已经成功的申请到了...
  • PHP微信公众号开发--自定义菜单 获取access_token,用到php的curl方法! get private function http_request(string $url) { $ch = curl_init(); //设置请求的url curl_setopt($ch, CURLOPT_URL, $url); ...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 194
精华内容 77
关键字:

微信开发自定义菜单php