企微第三方应用隐藏菜单按钮

628 阅读2分钟

1. 背景

由于需求方要求在企微第三方应用中隐藏转发相关功能的按钮,如下图所示四个分享相关的按钮。由于不同系统不同环境可能会有差异,下图的系统配置及环境如下:

机型系统平台
iphone11IOS v15.3.1企微 v4.0.2

Image.png

2. 需求分析

隐藏“转发相关功能”

  1. 隐藏
  2. 转发相关功能到底指的是哪些,能否列举完整。因为不同环境下转发功能按钮可能会有差异,包括以后无法保证有新的转发功能出现,所以必须明确定义“转发相关功能”的边界。

3. 方案

企微相关api文档

企微菜单列表

微信小程序菜单列表

方案一

在需求方明确“转发功能”边界的情况下可以针对具体功能按钮进行隐藏。以上面的图为例,需要隐藏四个按钮。

wx.hideMenuItems({
    menuList: [
        'menuItem:share:appMessage', // 转发、用学校通知发送
        'menuItem:share:wechat', // 分享给微信好友
        'menuItem:share:timeline // 分享到朋友圈'
    ]
});
方案二

在需求方无法明确“转发功能”边界的情况下,隐藏所有功能按钮或者隐藏所有按钮。两者有什么区别可以看文档了解详情。

wx.hideAllNonBaseMenuItem(); // 隐藏所有功能按钮

wx.hideOptionMenu(); // 隐藏所有按钮
方案三

需求方既无法明确边界,又想要保留部分功能。那就让需求方列举需要保留的功能,我们可以先隐藏所有功能,再将需要的功能开放出来。

wx.hideAllNonBaseMenuItem(); 
wx.showMenuItems({
    menuList: [
        'menuItem:favorite' , // 收藏
        'menuItem:openWithSafari , // 在safari中打开
    ]
});

wx.hideOptionMenu(); 
wx.showMenuItems({
    menuList: [
        'menuItem:favorite' , // 收藏
        'menuItem:openWithSafari , // 在safari中打开
    ]
});

PS

企微文档中只列举了部分菜单,所以更多的菜单可能需要到微信小程序的文档中查找;如果还找不到就只能谷歌百度寄托于网友了;最渺茫的方法是在微信开发者社区提问几个月甚至几年后给你回复的微信运营专员了