日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php 微信开发 菜单,微信公众号中个性化菜单的开发实例

發布時間:2024/10/14 php 82 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php 微信开发 菜单,微信公众号中个性化菜单的开发实例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

微信公眾號中個性化菜單的開發實例

個性化菜單讓公眾號的不同用戶群體看到不一樣的自定義菜單。該接口開放給已認證訂閱號和已認證服務號,個性化菜單要求用戶的微信客戶端版本在iPhone6.2.2,Android 6.2.4以上,暫時不支持其他版本微信,另外定義個性化菜單之前必須先定義默認菜單。

開發者可以通過以下條件來設置用戶看到的菜單:用戶標簽(開發者的業務需求可以借助用戶標簽來完成)

性別

手機操作系統

地區(用戶在微信客戶端設置的地區)

語言(用戶在微信客戶端設置的語言)

個性化菜單匹配規則說明:

個性化菜單的更新是會被覆蓋的。

例如公眾號先后發布了默認菜單,個性化菜單1,個性化菜單2,個性化菜單3。那么當用戶進入公眾號頁面時,將從個性化菜單3開始匹配,如果個性化菜單3匹配成功,則直接返回個性化菜單3,否則繼續嘗試匹配個性化菜單2,直到成功匹配到一個菜單。

根據上述匹配規則,為了避免菜單生效時間的混淆,決定不予提供個性化菜單編輯API,開發者需要更新菜單時,需將完整配置重新發布一輪。

本例的項目結構如下,除了上一章的文件之外,還增加了三個處理個性化菜單的文件。

addconditional_menu.php:創建個性化菜單

trymatch.php: 測試匹配個性化菜單

delconditional_menu.php:刪除個性化菜單

1、創建個性化菜單

創建個性化菜單的接口是https://api.weixin.qq.com/cgi-bin/menu/addconditional?access_token=ACCESS_TOKEN,以post方式發送菜單字符串。

addconditional_menu.php<?php

require_once('./Utils.php');

//個性化菜單字符串

$menujson = '{

"button":[

{

"type":"click",

"name":"單擊",

"key":"V1001_TODAY_MUSIC"

},

{

"name":"搜素",

"sub_button":[

{

"type":"view",

"name":"百度",

"url":"http://www.baidu.com/"

}

]

}],

"matchrule":{

"sex":"1"

}

}';

$url = "https://api.weixin.qq.com/cgi-bin/menu/addconditional?access_token=".Utils::get_access_token();

//創建個性化菜單

$result = Utils::https_request($url, $menujson);

//返回返回menuid表示成功

echo $result;

返回結果如下:

查看菜單發現從默認菜單變成了個性化菜單,如下所示

這里只設置了性別過濾,1表示男性,有關其他的條件設置請參看個性化菜單接口。

2、測試個性化菜單匹配結果

測試接口是https://api.weixin.qq.com/cgi-bin/menu/trymatch?access_token=ACCESS_TOKEN,需要post "user_id"過去。

trymatch.php<?php

@header('Content-type: text/plain;charset=UTF-8');

require_once('./Utils.php');

$url = "https://api.weixin.qq.com/cgi-bin/menu/trymatch?access_token=".Utils::get_access_token();

//user_id可以是粉絲的OpenID,也可以是粉絲的微信號

$userID = '{"user_id":"o4WmZ0h-4huBUVQUczx2ezaxIL9c"}';

$result = Utils::https_request($url, $userID);

echo $result;

?>

返回結果如下:

3、刪除個性化菜單

刪除個性化菜單接口是https://api.weixin.qq.com/cgi-bin/menu/delconditional?access_token=ACCESS_TOKEN,需要post“menuid”過去。

delconditional_menu.php<?php

@header('Content-type: text/plain;charset=UTF-8');

require_once('./Utils.php');

$url = "https://api.weixin.qq.com/cgi-bin/menu/delconditional?access_token=".Utils::get_access_token();

//menuid,個性化菜單的menuid

$menuID = '{"menuid":414784577}';

$result = Utils::https_request($url, $menuID);

echo $result;

?>

返回結果如下表示成功:

4、查詢個性化菜單

使用普通自定義菜單查詢接口可以獲取默認菜單和全部個性化菜單信息,請參看上一章。

查詢之后結果如下:

這里的menuid和上面的不一樣是因為我刪除了之前的個性化菜單,然后重新初始化了一次。

5、刪除所有菜單

使用普通自定義菜單刪除接口可以刪除所有自定義菜單(包括默認菜單和全部個性化菜單)

總結

以上是生活随笔為你收集整理的php 微信开发 菜单,微信公众号中个性化菜单的开发实例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。