微信公众号自定义菜单wechat-php-sdk开发包$data传递什么值?
taotaoit 微信开发 2022-02-18 994 0
关于本站

“最难不过坚持”

本人承接扒站仿站,php网站维护,病毒查杀,网站编辑,网站改版,html制作

有需要网站维护,改版,病毒查杀,网站编辑,网站备案,html制作等相关的工作可以联系我。
本人有多年相关工作经验,也可提供免费咨询,交个朋友。
有需要探讨问题的朋友,也可以加我微信,共同探讨!
微信:15011482830 QQ:408917339

6398487 2609 39
最新评论
https://jueru.net/
评 留言
:weixiao:
评 留言
:shuijiao: :weiqu: :zhenbang: :leng:
评 留言
:yiwen: :yiwen: :yiwen: :yiwen:
评 EasySass: could not generate CSS file. See Output panel for details.
这个业务逻辑多少都有点奇怪了,阅读浏览次数增值在新闻详情页的控制器方法里setInc,这怎么还写进模型事件里了。如果非要用onAfterRead也可以,把新闻文章的内容单独分出来一个news_content表,然后把它和news做关联,然后给news_content表的onAfterRead事件做增值处理,这样点进新闻页内查询到文章内容时才会触发它。
评 TP6模型事件-查询后onAfterRead不好用
文章标签更多
ThinkPHP (254)
Mysql (58)
DedeCms (33)
jQuery (67)
证件照 (1)
setInc (4)
setDec (4)
onclick (5)
打开边栏(ESC) 关闭边栏(ESC)

微信公众号自定义菜单wechat-php-sdk开发包$data传递什么值?

官方文档给出的代码

from clipboard

是要把$data拼接成上述样式吗?

试了不行,提示{"errcode":40016,"errmsg":"invalid button size"}错误

$data如果是纯数组形式呢?测试成功

$data = ['button'=>['type'=>'click','name'=>'今日歌曲','key'=>'V1001_TODAY_MUSIC']];
    // 实例微信菜单接口
		$menu = & load_wechat('menu');

		// 创建微信菜单
		$result = $menu->createMenu($data);

		// 处理创建结果
		if($result===FALSE){
				// 接口失败的处理
				echo $menu->errMsg;
		}else{
				// 接口成功的处理
				echo '成功';
		}

thinkphp创建微信自定义菜单完整代码:

/**
	 * 生成微信菜单
	 */
  public function createMenu(){
		$data = []; // 菜单内容
		// 获取一级分类
		$where[] = ['parentId','=',0];
		$where[] = ['isShow','=',1];
		$rs = $this->where($where)
			->order(['dataSort'=>'desc','menuId'])
			->limit(3)
			->select();
		if(false !== $rs){
			$button = [];
			foreach ($rs as $key =>$v){
				$sub_button = [];		
				// 获取二级分类
				$where2 = [];
				$where2[] = ['parentId','=',$v['menuId']];
				$where2[] = ['isShow','=',1];
				$rs2 = $this->where($where2)
					->order(['dataSort'=>'desc','menuId'])
					->limit(5)
					->select();
				if(false !== $rs2){
					// 如果二级分类不为空,则获取二级分类下的内容
					foreach ($rs2 as $key2 =>$v2){
						if($v2['menuType'] == 'view'){
							$sub_button[] = ['type'=>$v2['menuType'],'name'=>$v2['menuTitle'],'url'=>$v2['menuUrl']];
						}elseif($v2['menuType'] == 'click'){
							$sub_button[] = array('type'=>$v2['menuType'],'name'=>$v2['menuTitle'],'key'=>$v2['menuKey']);
						}elseif($v2['menuType'] == 'miniprogram'){
							$sub_button[] = ['type'=>$v2['menuType'],'name'=>$v2['menuTitle'],'url'=>$v2['miniprogramUrl'],'appid'=>$v2['miniprogramAppid'],'pagepath'=>$v2['miniprogramPath']];
						}
					}
				}
				if(!empty($sub_button)){
					$button[] = ['name'=>$v['menuTitle'],'sub_button'=>$sub_button];
				}else{
					if($v['menuType'] == 'view'){
						$button[] = ['type'=>$v['menuType'],'name'=>$v['menuTitle'],'url'=>$v['menuUrl']];
					}elseif($v['menuType'] == 'click'){
						$button[] = array('type'=>$v['menuType'],'name'=>$v['menuTitle'],'key'=>$v['menuKey']);
					}elseif($v['menuType'] == 'miniprogram'){
						$button[] = ['type'=>$v['menuType'],'name'=>$v['menuTitle'],'url'=>$v['miniprogramUrl'],'appid'=>$v['miniprogramAppid'],'pagepath'=>$v['miniprogramPath']];
					}
				}
			}
			$data['button'] = $button; 
		}
		// $data = ['button'=>[['type'=>'click','name'=>'今日歌曲','key'=>'V1001_TODAY_MUSIC'],['type'=>'click','name'=>'明日歌曲','key'=>'V1001_TODAY_MUSIC']]]; // 正确测试菜单
		// dump($data);
		// die;
		if(empty($data))return ZHTReturn('菜单为空');
    // 实例微信菜单接口
		$menu = & load_wechat('menu');

		// 创建微信菜单
		$result = $menu->createMenu($data);

		// 处理创建结果
		if($result===FALSE){
			// 接口失败的处理
			return ZHTReturn($menu->errMsg);
		}else{
			// 接口成功的处理
			return ZHTReturn('操作成功',1);
		}
  }

版权声明:本站原创文章,允许自由转载。

相关推荐
无法获取用户身份 登录的微信号未绑定为公众号的网页开发者
微信开发 | 2021-07-31 7027
无法获取用户身份 登录的微信号未绑定为公众号的网页开发者,无法使用Oauth授权登录获取用户身份,请查看文档并完成绑定 绑定为公众号网页开发者的流程如下 使用 appid 对应的公众号登录公众号管理后台 启用开发者中心,在 开发者工具 —— web 开发者工具 页面,向开发者微信号发送绑定邀请。绑定页面如下图所示: ...
公司企业邮箱绑定微信后,手机登录提示验证失败
微信开发 | 2018-03-06 6694
公司企业邮箱绑定微信后,手机端不能用原密码登录了,老是提示失败。 原因是:开启安全登录后,原密码无法登录企业邮箱。网页版需使用微信扫码登录;客户端需使用“客户端专用密码”登录,让我们的邮件安全再无后顾之忧。 客户端专用密码的生成方法: 1,pc端登录邮箱后,设置-账户-客户端专用密码-生成新密码 ...
评论:0条
评论加载中...
发表评论