【亲测有效】微信公众号设置菜单栏显示,未开启自定义菜单,微信公众平台自定义菜单接口开发

微信公众平台开发 微信公众平台开发者 微信公众平台开发模式 服务号 自定义菜单接口API

背景:在开启“服务器配置”后,微信公众号运营人员在微信公众平台设置自定义菜单栏是提示“未开启自定义菜单”

相关链接:如何开启服务器配置 | 实现扫码关注微信公众号系统/网站自动注册登录

问题:运营人员在设置微信公众号设置菜单栏显示,未开启自定义菜单

微信公众号设置菜单栏显示,未开启自定义菜单

解决方案(微信公众平台自定义菜单接口开发):

自定义菜单-创建接口

请求链接

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

完整代码

第一步:在WeChat类里添加代码
情况一:没有WeChat类情况,如果已有请看情况二

创建WeChat类,完整代码:

<?php

namespace app\api\controller;
use think\Cache;
class WeChatJutuiguanjia
{
   

    protected $appid;
    protected $secret;
    protected $accessToken;
    /***
     * 设置微信公众号appid及secret 
     **/
    function __construct()
    {
   
        $this->appid = "";
        $this->secret = "";
        $this->accessToken = $this->getAccessToken();
    }

    /***
     * 获取access_token
     * token的有效时间为2小时,这里可以做下处理,提高效率不用每次都去获取,
     * 将token存储到缓存中,每2小时更新一下,然后从缓存取即可
     * @return
     **/
    private function getAccessToken()
    {
   
        $access_token  = Cache::get('access_token');
        if(empty($uid)){
   

            $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" . $this->appid . "&secret=" . $this->secret;
            $res = json_decode($this->httpRequest($url), true);
            Cache::set('access_token', $res['access_token'],60*59);
            $access_token = $res['access_token'];
        }
        return $access_token;
    }

    /***
     * POST或GET请求
     * @url 请求url
     * @data POST数据
     * @return
     **/
    private function httpRequest($url, $data = "")
    {
   
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
        if (!empty($data)) {
     //判断是否为POST请求
            curl_setopt($curl, CURLOPT_POST, 1);
            curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
        }
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        $output = curl_exec($curl);
        curl_close($curl);
        return $output;
    }

    /***
     * 获取openID和unionId
     * @code 微信授权登录返回的code
     * @return
     **/
    public function getOpenIdOrUnionId($code)
    {
   
        $url = "https://api.weixin.qq.com/sns/oauth2/access_token?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

G佳伟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值