微信訂閱號-自定義菜單

2021-02-14 前端小客棧

1.自定義菜單簡介

https://developers.weixin.qq.com/doc/offiaccount/Custom_Menus/Creating_Custom-Defined_Menu.html

自定義菜單能夠幫助公眾號豐富界面,讓用戶更好更快地理解公眾號的功能。開啟自定義菜單後,公眾號界面如圖所示:

自定義菜單最多包括3個一級菜單,每個一級菜單最多包含5個二級菜單。一級菜單最多4個漢字,二級菜單最多7個漢字,多出來的部分將會以「...」代替。創建自定義菜單後,菜單的刷新策略是,在用戶進入公眾號會話頁或公眾號profile頁時,如果發現上一次拉取菜單的請求在5分鐘以前,就會拉取一下菜單,如果菜單有更新,就會刷新客戶端的菜單。測試時可以嘗試取消關注公眾帳號後再次關注,則可以看到創建後的效果。

自定義菜單接口可實現多種類型按鈕,這裡只使用我們經常處理的兩個事件類型,如下:

click:點擊推事件用戶點擊click類型按鈕後,微信伺服器會通過消息接口推送消息類型為event的結構給開發者(參考消息接口指南),並且帶上按鈕中開發者填寫的key值,開發者可以通過自定義的key值與用戶進行交互;

view:跳轉URL用戶點擊view類型按鈕後,微信客戶端將會打開開發者在按鈕中填寫的網頁URL,可與網頁授權獲取用戶基本信息接口結合,獲得用戶基本信息。

注意:沒有更新菜單的接口,那麼就需要每次創建之前先刪除菜單。

2.刪除自定義菜單

app/router.js定義removeMenu路由

router.get("/api/v1/web/weChat/removeMenu", controller.auth.removeMenu); 

controller/auth.js新增removeMenu方法

async removeMenu() {    const { ctx, service } = this;    const res = await service.auth.removeMenu();    console.log(res)    ctx.body = res;  }

service/auth.js新增removeMenu方法

async removeMenu() {    const { ctx, app, service } = this;    const data = await service.utils.getTicket();     const url = `https:    const result = await ctx.curl(url, {      dataType: "json",    });    return {      data: result.data,      msg: "刪除菜單成功",    };  }

3.創建自定義菜單

app/router.js定義createMenu路由

router.post("/api/v1/web/weChat/createMenu", controller.auth.createMenu); 

controller/auth.js新增createMenu方法

async createMenu() {    const { ctx, service } = this;    const res = await service.auth.createMenu();    console.log(res)    ctx.body = res;  }

service/auth.js新增createMenu方法

async createMenu() {    const { ctx, app, service } = this;    const menu = {      button: [        {          type: "click",          name: "今日歌曲",          key: "V1001_TODAY_MUSIC",        },        {          name: "菜單",          sub_button: [            {              type: "view",              name: "搜索",              url: "http://www.soso.com/",            },            {              type: "click",              name: "贊一下我們",              key: "V1001_GOOD",            },          ],        },      ],    };
const data = await service.utils.getTicket(); const url = `https://api.weixin.qq.com/cgi-bin/menu/create?access_token=${data.access_token}`; const result = await ctx.curl(url, { method: "POST", contentType: "json", dataType: "json", data: menu, }); return { data: result.data, msg: "創建菜單成功", }; }

4.使用第三方庫co-wechat-api來實現

github: https://github.com/node-webot/co-wechat-api

文檔:https://doxmate.cool/node-webot/co-wechat-api/api.html#api_menu_exports_createMenu

安裝:

service/auth.js使用:

const Service = require("egg").Service;const WeChatAPI = require("co-wechat-api"); 
class AuthService extends Service {  constructor(ctx) {    this.api = new WeChatAPI('appId', 'AppSecret');    super(ctx);  }    async createMenu() { const menu = { button: [ { type: "click", name: "今日歌曲", key: "V1001_TODAY_MUSIC", }, { name: "菜單", sub_button: [ { type: "view", name: "搜索", url: "http://www.soso.com/", }, { type: "click", name: "贊一下我們", key: "V1001_GOOD", }, ], }, ],    }; const result = await this.api.createMenu(menu); return { data: result, msg: "創建菜單成功", }; }
  async removeMenu() { const result = await this.api.removeMenu(); return { data: result, msg: "刪除菜單成功", }; }}
module.exports = AuthService;

co-wechat-api這個庫封裝了很多函數可供我們用於微信公眾號開發使用:

相關焦點

  • Weiphp微信運營平臺:自定義菜單及處理常見錯誤
    微信服務號及認證訂閱號可以設置自定義菜單。在weiphp中你可以很簡便的設置公眾號自定義菜單。本文就介紹如何在weiphp中設置自定義菜單及常見錯誤處理方法。登陸weiphp管理平臺,在【帳號管理】下點擊【公眾號管理】找到要設置自定義菜單的公眾號,點擊對應操作欄的【切換為當前公眾號】。註:設置自定義菜單的公眾號必須為服務號或認證訂閱號。在【基礎插件】下點擊【自定菜單】,點擊【新增】。在自定義菜單表單中,填入排序號、一級菜單、菜單名。
  • 微信訂閱號收費認證啟動 300元獲得自定義菜單功能
    【TechWeb報導】12月24日消息,微信公眾平臺近日升級了更為嚴格的認證系統,並對媒體、政府、慈善機構等非企業類型的訂閱號啟動微信認證程序,訂閱號運營方繳納300元一次的帳號認證費,通過認證便可開通自定義菜單功能。而服務號通過認證將獲得高級接口中所有接口權限。
  • 微信公眾號自定義菜單設置教程
    公眾號的自定義菜單可以分為兩個部分,第一部分是母菜單,第二部分是子菜單通常,我們把公眾號對話界面中看到的大菜單叫做母菜單,也就是像下面這樣的:把摺疊在母菜單之下的菜單,叫做子菜單,像是下面這種樣子的:以上就是我們所說的自定義菜單,而自定義菜單的設置,是需要登錄我們的微信公眾號後臺,
  • 微信公眾號開收300元認證費 政府帳號免收費
    昨天,微信公眾平臺升級其認證系統,規定服務運營方需繳納300元/年的微信認證費用,認證成功後將自動免費獲得微信公眾平臺新開放的所有技術接口。政府及部分其他組織類型的公眾帳號,免收認證費用。
  • 7月26日,有小夥伴發現微信將對小夥伴長時間未讀的訂閱號進行提醒...
    微信提醒關閉長期未讀公眾號推送 微信表示,部分微信用戶會收到系統對長時間未讀訂閱號的提醒,並可以通過提醒入口選擇不接收這部分訂閱號的群發消息推送。目前只有部分iOS內測用戶能收到此入口,推送條件為用戶長時間不閱讀的訂閱號過多。 ​
  • 微信公眾號正式開放自定義菜單功能
    DoNews 2月12日消息 (記者 張琳)2月11日晚間,微信公眾平臺發布公告稱,將進一步開放基礎能力,對所有的公眾號開放自定義菜單功能。 據了解,和此前開發的「自定義菜單」功能相似,平臺管理者在編輯自定義菜單功能時,可選擇「跳轉到網頁」和「發送消息」兩種動作。
  • 來啦~微信自定義菜單完全使用指南!
    就廢話不多說教你乾脆輕鬆地玩轉公眾號自定義菜單NO.1 關於自定義菜單公眾號的自定義菜單對於粉絲們來說>自定義菜單時也會經常問為什麼自定義菜單修改後還是顯示原來的模樣這時候你需要注意是否把公眾號授權給了第三方哦NO.2 自定義菜單的母菜單
  • 微信終於放手:所有公眾號均可自定義菜單
    IT之家訊 2月12日消息, 微信公眾平臺在2013年初開始自定義菜單功能內測,隨後該功能向通過認證的開發者開放申請。終於今天微信團隊正式宣布,對所有的公眾號開放自定義菜單功能。微信公眾號自定義菜單支持在聊天頁面下方顯示指定菜單,用戶可直接點擊此處菜單獲得相關信息或跳轉到指定的頁面。
  • 微信個人訂閱號如何建頁面模版
    說起訂閱號的頁面模版可能很多人還是一頭霧水,說白了就是騰訊給某些個人訂閱號運營者贈送的類似微網頁的東西,就好像服務號那樣一點就直接彈出一個網址來了,非常高大上,那麼如何建這個頁面模版呢?下面請看!當然也可以放自定義菜單,相信編輯自定義菜單大家都會了吧!進入自定義菜單編輯吧!選擇從公眾號圖文消息中選擇,然後就可以看到頁面模版的選項了,點擊進去選擇自己需要的頁面模版保存發布即可!
  • 重磅| 微信訂閱號全新改版上線!
    為了優化用戶的閱讀體驗與效率,鼓勵訂閱號內容的優化和創作,改版後的訂閱號列表優化了視頻、語音等富媒體的消息展示,圖文、視頻與多條的信息以時間順序直接排列;列表中展示的內容仍舊是用戶所關注訂閱號的群發消息。  歡迎 iOS 用戶更新微信 iOS 6.7版本使用,android 用戶敬請期待。
  • 以後看微信訂閱號要付費了!
    以後看微信訂閱號文章要收費了?  這是真的!  1月15日,騰訊微信團隊表示,目前微信灰度測試訂閱號付費能力,符合條件的運營者可以前往公眾平臺開通付費功能。成功開通後,運營者可對原創文章的部分或全部內容設置收費,用戶購買文章後方可閱讀全文。
  • 【技術文章】微信公眾平臺開發教程新手解惑40則
    訂閱號每天能群發一條消息,沒有自定義菜單及高級接口權限;服務號有自定義菜單及高級接口權限,但每月只能群發一條消息。2、到底該申請訂閱號還是服務號? 申請哪種類型的公眾帳號,主要取決於帳號的用途。服務號主要面向企業和組織,旨在為用戶提供服務;訂閱號主要面向媒體和個人,旨在為用戶提供信息和資訊。
  • 微信公眾號開放自定義菜單 認證公號可輸入跳轉網址
    微信公眾號開放自定義菜單 認證公號可輸入跳轉網址【TechWeb報導】2月12日消息,微信公眾平臺發布公告稱,公眾平臺進一步開放基礎能力,對所有的公眾號開放自定義菜單功能。編輯自定義菜單功能時可選擇「跳轉到網頁」和「發送消息」兩種動作。
  • 【小技巧】如何自定義sociaclub頭像
    空桑作品首發於訂閱號 GTA5遊戲助手
  • 訂閱號、表情包、搜索入口大調整!微信內測版搶先體驗,千萬不要錯過
    之前微信官方曾表示「信息流」是微信的灰測內容,並非每一個用戶都能體驗到。我們選取了一臺尚未灰測信息流的手機進行了測試,下載微信 6.7.3 for Android 內測版後,仍不是「信息流」。所以還沒有被灰測到的用戶可以通過我們的講解了解一下微信全新「信息流」。
  • 微信文字轉語音小程序推薦,訂閱號文章不想看就用耳朵聽!
    小程序安裝方法:方法1:微信掃一掃小程序二維碼方法2:微信底部菜單切換到發現,發現頁面找到小程序,在小程序頁面搜索小程序名稱PS:如果在發現頁面未找到小程序選項,請在微信中依次打開 我>設>微信掃一掃:
  • 微信訂閱號終於改版了
    微信訂閱號醞釀已久的改版,終於來了,iOS 用戶升級後即可體驗。新版本的訂閱號基本形態變成了信息流。
  • 微信訂閱號真的變成信息流了,對我們有什麼影響?
    6月20日下午,微信訂閱號更新為信息流模式,所有的訂閱號信息按照時間排序。其實,微信這樣做的目的主要是重組微信公眾號的流量分配,未來大小帳號面對的資源將趨向均等。信息流來了,相信微信的商業化操作也會上很快跟上,畢竟微信十幾億的用戶價值實在是潛力巨大,但是賺錢的往往不是騰訊自己。
  • 微信首批「自定義菜單」內測公眾帳號通過申請
    「自定義菜單」功能讓開發者可以實現個性化的菜單定製,在微信底部的對話欄中提供菜單選項,這比起原先用戶主動式發起的對話式交互有了很大的進步。微信公眾帳號,不再是單純的消息推送與回復。根據微信「自定義」菜單的文檔,自定義菜單接口可實現兩種類型按鈕:1、Click(點擊事件)用戶點擊 Click 類型按鈕後,可直接回復對應按鈕的自定義消息。
  • 微信公眾平臺裡怎麼做抽獎活動 公眾訂閱號做抽獎活動方法
    本文給大家講一下微信公眾號抽獎活動怎麼做,我們都知道微信公眾平臺自帶的功能就那麼幾個,需要實現抽獎功能只能藉助微信第三方平臺,微信公眾號最快的增粉方式就是做微信公眾號營銷活動,效果好的有微助力、微砍價、圖文投票、微信大轉盤抽獎等系列活動,抽獎活動推廣方式靈活:可以將抽獎活動綁定到微信公眾號菜單、可以通過群發抽獎活動、為現場活動定製抽獎二維碼掃碼參加、後臺活動數據統計等