-
php微信开发自定义菜单
2020-10-21 15:42:59主要为大家详细介绍了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微信开发之自定义菜单实现
2020-10-21 02:46:23主要为大家详细介绍了php微信开发之自定义菜单实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 -
php微信开发之自定义菜单完整流程
2020-10-21 09:22:22主要为大家详细介绍了php微信开发之自定义菜单完整流程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 -
微信公众号开发5-自定义菜单-微信开发php
2016-09-12 11:44:08微信公众平台开发之自定义菜单管理是子恒老师《微信公众平台开发》视频教程的第5部。详细讲解了用php开发微信,对微信公众平台中的自定义管理开发。内容包含微信添加菜单,获取自定义菜单配置,删除菜单等等。欢迎... -
微信公众号自定义菜单按钮自动跳转拨号页面
2019-03-19 10:35:52RT,开发是之前负责的人做的。但是现在有一个小问题。ios的系统完全没问题可以实现直接跳转到拨号提示。而安卓就完全没反应。点完按钮执行代码到关闭页面然后也不会弹出任何拨号的窗口。想请教一下这是为什么。因为... -
php curl返回false填坑记-curl调用微信创建自定义菜单返回false
2017-05-03 14:47:58首先声明一点,这个错误可能在你的开发生涯中不会遇到,除非你直接复制了微信公众平台的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开发
2019-02-18 11:04:28微信公众平台自定义菜单PHP开发转自:http://www.cnblogs.com/GmrBrian/p/3593070.html
微信公众平台自定义菜单PHP开发,微信公众平台自定义菜单是如何实现的呢?其实很简单,首先在微信公众平台升级为服务号,获取appid和appsecret,然后根据这2个参数获取access_token,在根据access_token,post一串字符到微信服务器就可以了。代码如下:
回调URL(config.php)代码:
123456789define(AppId,
"wx1234567890abcdef"
);
//定义AppId,需要在微信公众平台申请自定义菜单后会得到
define(AppSecret,
"1234567890abcdefghijklmnopqrstuv"
);
//定义AppSecret,需要在微信公众平台申请自定义菜单后会得到
include
(
"wechat.class.php"
);
//引入微信类
$wechatObj
=
new
Wechat();
//实例化微信类
$creatMenu
=
$wechatObj
->creatMenu();
//创建菜单
微信类(wechat.class.php)代码
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 -
视频教程-微信公众号开发5-自定义菜单-微信开发php-微信开发
2020-05-28 10:24:00微信公众号开发5-自定义菜单-微信开发php 大秦电商创始人,专注网络技术的... -
微信开发,自定义菜单
2018-04-13 08:35:31首先设置menu控制器,menuController.class.php,设置命名空间1.namespace Home\Controller;...检测是否有使用的微信公众号public function _initialize(){ $mp = getCurrentMp(); if (empty($... -
php微信自定义菜单开发
2014-03-18 14:13:36微信自定义菜单需要有一个微信服务号,在开发之前需要获取access_token,获取方法很简单,登陆微信公众账号,进入开发者模式,就可以看到{开发者凭据}:下面AppId和AppSecret,开发者文档说明 : 接口调用请求说明... -
CI框架微信开发-自定义菜单
2014-12-12 10:35:00在CI框架下面实现了自定义菜单功能.写了一个model,一个类库.顺便附带access_token的实现方式 <?php class Makemenu{ public $menustr; public function __construct(){ } public function init(){ ... -
PHP 微信自定义开发菜单使用 汉子 会报40033错误
2017-07-29 10:44:00接口文档说明: ...按照文档走,使用PHP执行,结果: {“errcode”:40033,”errmsg”:”invalid charset. please check your request, if include \uxxxx will create fai... -
利用PHP开发微信公众平台自定义菜单
2013-09-01 19:04:00自微信进入5.0,公众号有了服务号和订阅号的区别,其中一个很重要的区别就是服务号可以自定义菜单,而订阅号不可以,所以这篇文章只适合打算开发服务号的朋友。 读这篇文章时,假设你已经成功的申请到了自定义菜单... -
微信公众号企业号自定义菜单开发接口案例 php版
2014-10-22 10:48:34//定义AppId,需要在微信公众平台申请自定义菜单后会得到 define(AppSecret, "d77026a714d443a01d02297ce61ff27e");//定义AppSecret,需要在微信公众平台申请自定义菜单后会得到 include("menu.php");//引入微信... -
微信自定义菜单生成器
2016-01-19 10:47:00微信自定义菜单生成器 http://menu.fangbei.org/index.php 微信公众平台开发问答 http://www.cnblogs.com/txw1958/p/wxqa.html ... -
PHP开发微信自定义菜单40033不转义中文的方法
2017-07-11 16:56:10http://mp.weixin.qq.com/wiki/13/43de8269be54a0a6f64413e4dfa94f39.html按照文档走,使用php执行,结果: {“errcode”:40033,”errmsg”:”invalid charset. please check your request, if include \uxxxx will ... -
PHP微信公众平台自定义菜单
2014-05-12 08:29:04自微信进入5.0,公众号有了服务号和订阅号的区别,其中一个很重要的区别就是服务号可以自定义菜单,而订阅号不可以,所以这篇文章只适合打算开发服务号的朋友。 读这篇文章时,假设你已经成功的申请到了... -
PHP微信公众号开发--自定义菜单
2019-10-09 21:25:24PHP微信公众号开发--自定义菜单 获取access_token,用到php的curl方法! get private function http_request(string $url) { $ch = curl_init(); //设置请求的url curl_setopt($ch, CURLOPT_URL, $url); ... -
微信自定义菜单说php json_encode不转义中文汉字的方法
2015-10-08 15:58:00最近在开发微信自定义菜单。 接口比较简单,就是按微信要求的格式post一段json数据过去就成。 但我的菜单中里有中文,json_encode后出现了类似"\u5c0f\u8c61" 的unicode字符。 请求发出后被微信接口告知: ...
-
【数据分析-随到随学】互联网行业业务指标及行业数
-
background1.jpeg
-
解决mstsc远程连接云服务器失败的方法
-
转行做IT-第5章 流程控制语句
-
ComAssistant.rar
-
堂堂985毕业就失业,我用3000块买大厂Offer
-
UnitySocket异步聊天室
-
Windos和Linux下,【换行】的区别,对于行的结尾的不同处理方式
-
PW2307_2.0.pdf
-
鲲鹏HCIA认证V1.0题库.pdf
-
nginx基础架构实验
-
医生档案信息网页模板
-
web前端开发规范
-
前端性能优化
-
输入模式更改快捷键
-
【数据分析-随到随学】机器学习模型及应用
-
单元测试UnitTest+Pytest【Selenium3】
-
反向传播aaaaaaaaaaaaaaa.rar
-
鲜花速递服务网页模板
-
Linux与数据库基础