自定义菜单创建

自定义菜单创建

http请求方式:POST(请使用https协议) https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN;


后台需要写添加菜单的方法,在前台进行调用。

代码如下:

//添加菜单
	public function menuedit(){
	//正在使用id的is_use改为1
		//获取当前正在使用的公众号
		$mp = getCurrentMp();  
		if(empty($mp)){
			$this->ajaxReturn(array('error'=>true,'msg'=>'无法使用此公众号','url'=>U('mp/index')));
			exit;
		}
     
		$data1 = I('post.data');
        foreach($data1 as &$value){
        	$value['mp_id'] = $mp['id'];
        }

    //     var_dump($data1);
    // exit;
        $model = M('mp_menu');
        $model-> where("mp_id={$mp['id']}")->delete();
        $model->addAll($data1);
include APP_PATH . 'LaneWeChat/lanewechat.php';
		
		$ret = \LaneWeChat\Core\Menu::setMenu($data1);
		// dump($ret);
		// exit;
		if($ret===true){
			$this->ajaxReturn(array('msg'=>'创建菜单成功'));
		}else{
			$this->ajaxReturn(array('msg'=>$ret));
		}

getCurrentMp()是自己写的一个简便方法;

前台使用js进行调用,代码如下:

menu.prototype.submit = function () {
            var data = [];
            function getdata($span) {
                var menudata = {};
                menudata.name = $span.text();
                menudata.type = $span.attr('data-type') || '';
                menudata.content = $span.data('content') || '';
                return menudata;
            }

            $('li.parent-menu').map(function (index, item) {
                if (!$(item).hasClass('menu-add')) {
                    var menudata = getdata($(item).find('a:first span'));
                    menudata.index = index + 1;
                    menudata.pindex = 0;
                    menudata.sub = [];
                    menudata.sort = index;
                    data.push(menudata);
                    $(item).find('.sub-menu ul li:not(.menu-add) span').map(function (ii, span) {
                        var submenudata = getdata($(span));
                        submenudata.index = (index + 1) + '' + (ii + 1);
                        submenudata.pindex = menudata.index;
                        submenudata.sort = ii;
                        data.push(submenudata);
                    });
                }
            });
            var data = (data == '')?'':data;
            $.post(
                '{:U("menuedit")}',
                {data:data},
                function (res) {
                    layer.msg(res.msg);
                },
                "json"
            )
        };
        new menu();
    });

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值