微信菜单创建

//更新数据
    public function update(){
        $wx = M(‘wxmenu‘);
        $map[‘pid‘] = 0;
        //查询主菜单数据
        $wxmenu = $wx->where($map)->select();
        $arr = array();
        //循环主菜单
        foreach ($wxmenu as $key => $value) {
            $parent_arr = array();
            $map[‘pid‘] = $value[‘id‘];
            $submenu = $wx->where($map)->select();
            //判断是否有子菜单(默认有)
            $has_sub = true;
            //如果没有子菜单
            if(empty($submenu)){
                $parent_arr[‘type‘] = $value[‘type‘];
                $has_sub = false;
            }
            $parent_arr[‘name‘] = $value[‘name‘];
            //控制显示顺序
            if(!$has_sub){
                $parent_arr[$value[‘type‘] == ‘click‘ ? ‘key‘ : ‘url‘] = $value[‘url‘];
            }
            $subdata = array();
            //循环子菜单
            foreach ($submenu as $k=>$v) {
                $tmp_ku = $v[‘type‘] == ‘click‘ ? ‘key‘ : ‘url‘;
                $tmp_arr = array(
                    ‘type‘  => $v[‘type‘],
                    ‘name‘  => $v[‘name‘],
                    $tmp_ku => $v[‘url‘]
                );
                array_push($subdata,$tmp_arr);
            }
            if($has_sub){
                $parent_arr[‘sub_button‘] = $subdata;
            }
            array_push($arr,$parent_arr);
        }
        dump($arr);
        dump($arr[0]);
        //转化成json结构
        echo json_encode(array(‘button‘=>$arr));
        die();
    }
时间: 2024-10-11 11:00:39

微信菜单创建的相关文章

微信菜单更新,可以支持多个服务号更新C#。

微信菜单更新,可以支持多个服务号更新C#. 效果Demo页面 /// <summary> /// 更新菜单/// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Button4_Click(object sender, EventArgs e) { WXRespons

wechat4j开发-菜单创建

wechat4j中提供了MenuManager类来创建菜单 1.相关的实体 org.sword.wechat4j.menu.Menu; org.sword.wechat4j.menu.MenuButton; org.sword.wechat4j.menu.MenuManager; 2.创建实例 package com.fang.wechat.util; import java.net.URLDecoder; import java.util.ArrayList; import java.util

C#开发微信门户及应用(15)-微信菜单增加扫一扫、发图片、发地理位置功能

前面介绍了很多篇关于使用C#开发微信门户及应用的文章,基本上把当时微信能做的接口都封装差不多了,微信框架也积累了不少模块和用户,最近发现微信公众平台增加了不少内容,特别是在自定义菜单里面增加了扫一扫.发图片.发地理位置功能,这几个功能模块很重要,想想以前想在微信公众号里面增加一个扫描二维码的功能,都做不了,现在可以了,还可以拍照上传等功能,本文主要介绍基于我前面的框架系列文章,进一步介绍如何集成和使用这些新增功能. 1.微信几个功能的官方介绍 1). 扫码推送事件 用户点击按钮后,微信客户端将调

paip.微信菜单直接跳转url和获取openid流程总结

#------不能直接跳转,贝儿提示不安全的链接.. #-------使用auth跳转. //todox 直接转到..  direct goto ViewButton skrechCard = new ViewButton("刮刮卡o428,view," + "https://open.weixin.qq.com/connect/oauth2/authorize?" + "appid="+appId+"&" + &qu

Netsharp下微信菜单以及OAuth

用户点击一个微信菜单的时候,可以发送一个消息,也可以打开一个页面链接,下面说页面链接的情况 如果微信菜单打开这个url的话:http://www.netsharp.org/nav/weixin/index?originalId=gh_cd4d099926d5 微信要求url必须配置成这样的:https://open.weixin.qq.com/connect/oauth2/authorize?from=weixin&appid=wx19a3e7936ff4ec13&redirect_uri

微信菜单中的域名转发

微信菜单中通常会设置一些URL,如果网站出现了域名迁移,菜单的URL也需要改. 但微信菜单有个特性:修改菜单内容后,24小时之内才能更新到所有微信客户端.也就是说,24小时候,还是有用户会访问到老的域名. 怎么办?在老的网站入口最顶上,加上如下PHP代码即可: $old_url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; $new_url = str_replace('http://old.domain.name/', '

C#开发微信门户及应用(14)-在微信菜单中采用重定向获取用户数据

我曾经在系列文章中的<C#开发微信门户及应用(11)--微信菜单的多种表现方式介绍>中介绍了微信菜单里面的重定向操作,通过这个重定向操作,我们可以获取一个code值,然后获取用户的openID,进而就能获取到更多的用户信息,这个在会员信息的场景里面用的很多,本篇介绍在网站中迅速配置这样的菜单链接,并介绍如何在后台获取相关的用户信息,实现页面数据个性化的展现操作. 我们知道,微信的自定义菜单分为两大类,分别对应Click类型和View类型的,而重定向属于View类型的一种,如下所示. 1.微信重

C#开发微信门户及应用(11)--微信菜单的多种表现方式介绍

原文:C#开发微信门户及应用(11)--微信菜单的多种表现方式介绍 在前面一系列文章中,我们可以看到微信自定义菜单的重要性,可以说微信公众号账号中,菜单是用户的第一印象,我们要规划好这些菜单的内容,布局等信息.根据微信菜单的定义,我们可以看到,一般菜单主要分为两种,一种是普通的Url菜单(类型为View的菜单),一种是事件菜单(类型为Click的菜单),一般情况下,微信的Url菜单,是无法获得用户的任何信息的,但微信用户信息非常重要,因此也提供了另外一种方式(类似重定向的方式)来给我们使用,本篇

android菜单创建的两种方式和菜单项添加图标

    菜单创建的两种方式:     1.在xml文件中创建菜单: 具体代码: <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" tools:context="com.xunfang.menucreate.MainActivity" > //此处创建子菜单 <