[分享] 微信公众号菜单的前缀图标[thinkPHP]

abis 2014-06-03 08:39:41



<?php

namespace Admin\Controller;

use Think\Controller;

class WeixinMenusController extends Controller {
public function set_weixin_menus() {

// 引入微信类
$IncludePath = C ( 'IncludePath' );
require_once $IncludePath . 'weixin/' . 'wechat.class.php';

// 定义类--请注意config.php文件中的参数设置
$options = array (
'token' => C ( 'weixin_Token' ),
'appid' => C ( 'weixin_AppId' ),
'appsecret' => C ( 'weixin_AppSecret' )
);
// $weObj = new Wechat ( $options );
$weObj = new \Wechat ( $options );

// 定义菜单数组
// 菜单1及其子菜单
$menusArray [0] ['name'] = '菜单1';
$menusArray [0] ['type'] = 'click';
$menusArray [0] ['key'] = 'menu_1';
// 子菜单为消息类型
$menusArray [0] ['sub_button'] [0] ['name'] = '菜单1_1';
$menusArray [0] ['sub_button'] [0] ['type'] = 'click';
$menusArray [0] ['sub_button'] [0] ['key'] = 'menu_1_1';
// 子菜单为链接--打开百度
$menusArray [0] ['sub_button'] [1] ['name'] = '菜单1_2';
$menusArray [0] ['sub_button'] [1] ['type'] = 'view';
$menusArray [0] ['sub_button'] [1] ['key'] = 'menu_1_2';
$menusArray [0] ['sub_button'] [1] ['url'] = 'http://www.baidu.com';
// 菜单2
$menusArray [1] ['name'] = '菜单2' . $this->unicode2utf8_2 ( '\ue159' );
$menusArray [1] ['type'] = 'click';
$menusArray [1] ['key'] = 'menu_2';
// 菜单3--点击打开一个QQ网页
$menusArray [2] ['name'] = '菜单3';
$menusArray [2] ['type'] = 'view';
$menusArray [2] ['key'] = 'menu_3';
$menusArray [2] ['url'] = 'http://www.qq.com';

$menusNavArray ['button'] = $menusArray;
// 调用接口完成菜单数据提交,二十四小时生效, 你可以取消息关注再重新关注,即可看到菜单效果
$weObj->createMenu ( $menusNavArray );

$message = "已向微信公众平台提交,二十四小时后生效。";
echo $message;
}
public function unicode2utf8_2($str) { // 关于unicode编码转化的第二个函数,用于显示emoji表情
$str = '{"result_str":"' . $str . '"}'; // 组合成json格式
$strarray = json_decode ( $str, true ); // json转换为数组,利用 JSON 对 \uXXXX 的支持来把转义符恢复为 Unicode 字符(by 梁海)
return $strarray ['result_str'];
}
}


源码下载

http://www.abis.com.cn/thread-919-1-1.html
...全文
756 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
盛铭网络 2014-06-03
  • 打赏
  • 举报
回复
这个搞得好复杂
xuzuning 2014-06-03
  • 打赏
  • 举报
回复
直接 return json_decode('"' . $str . '"'); 不是更简单?

20,359

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧