资讯 / 文章页
自定义菜单里填了网址,就是已经配好网页授权了吗?先分清 view 跳转和授权域名
微信外链
2026-11-12

自定义菜单里填好一个网址,有人会把它理解成「网页授权已经配好了」。菜单按钮里的网址,解决的是用户点下去之后打开哪一页;网页授权域名和业务域名,解决的是这个页面能不能在对应能力里完成授权登录,以及在微信内打开时会不会被重新排版。把网址写进菜单,并不等于已经完成后一套配置。

https://cdn2.quma.cn/uploads/2/2026/11/12/Ft2zFKcRxeumFyshORw1VqVNOKz-.jpg

菜单里的 view,打开的是按钮里填写的网页

2026年11月12日(北京时间)阅读的微信开放文档「创建自定义菜单」写道:view 的含义是「跳转URL」;用户点击 view 类型按钮后,微信客户端将会打开开发者在按钮中填写的网页URL。按这一表述,菜单里填写网址,对应的是点击后的跳转目标,不是「这个域名已经获得网页授权」。

该文档同时写明,view「可与网页授权获取用户基本信息接口结合,获得用户基本信息」。这里的「可与……结合」,说的是 view 跳转可以和网页授权一起使用,并不能写成「只要在菜单里填了网址,网页授权就已经配好」。能否结合,还取决于网页授权本身是否已经按另一套规则完成配置。本文未实测两者如何衔接,不把这句话写成已经验证的授权效果。

在该接口的请求参数里,url 被说明为网页链接,用户点击菜单可打开链接,不超过1024字节。对 view 类型而言,这只是在声明点击后打开哪一个地址,以及这个地址字段有长度限制。填入一个可打开的网址,只能说明菜单按钮准备把人带到这个地址,不能据此推断网页授权域名或业务域名已经生效。

miniprogram 也要填 url,但它不是网页授权

同一份文档还列出了 miniprogram 类型。它对应的是跳转小程序:当类型为 miniprogram 时,不支持小程序的老版本客户端将打开这个 url;并且 view、miniprogram 类型的 url 均必填。也就是说,即便按钮的动作是进入小程序,接口仍然要求填写一个网页链接,用作老版本客户端的兜底打开地址。

因此,在菜单里看到一个必填的网址,先要分清这个按钮的类型。如果类型是 view,这个网址是点击后打开的网页;如果类型是 miniprogram,这个网址首先不是「已经配好的网页授权域名」,而是给不支持小程序的老版本客户端准备的打开地址。两种情况下 url 都是必填字段,但必填不等于已经完成网页授权或业务域名配置。

miniprogram 还要求填写小程序的 appid 和页面路径 pagepath。一级菜单的说明写「仅认证的账号可配置」,二级菜单写「仅认证公众号可配置」,并提醒 appid 是小写的。这些都是跳转小程序按钮自己的字段要求,不能用来证明网页授权域名已经配好。本文只转述文档中的对象关系,不写成后台配置步骤。

网页授权域名和业务域名,是另一套对象

2026年11月12日(北京时间)阅读的微信开放文档「域名管理」页,页标最后一次编辑于2026年7月4日。该页把服务号的域名分成三类:JS接口安全域名、业务域名,以及网页授权域名。设置服务号网页授权域名后,「微信网页应用可在该域名下实现微信网页应用的授权登录功能」;设置服务号业务域名后,「在微信内访问该域名下页面时,不会被重新排版」。

按该页的限制说明,每个已认证的服务号账号支持配置最多2个网页授权域名,并写明「公众号或者未认证的服务号不支持配置网页授权域名」。同一页的注意事项还写:「已认证的服务号或部分已认证的政府和媒体类型的公众号才能看到此域名配置。」业务域名则是每个服务号账号最多3个,并同样写明「公众号或者未认证的服务号不支持配置业务域名」。这些限制说的都是域名配置对象本身,和自定义菜单里有没有填写网址不是同一件事。

该页还写,公众号业务中仅支持「JS接口安全域名」配置。创建自定义菜单接口的适用范围是:公众号为「仅认证」,服务号可调用;其中「仅认证」的原文解释是「仅允许企业主体已认证账号调用,未认证或不支持认证的账号无法调用」。即便已认证公众号可以创建带网址的自定义菜单,也不等于已经具备网页授权域名或业务域名的配置资格。菜单能填网址,和域名管理页里能不能配置、配置的是哪一类域名,要分开看。

把菜单里的网址直接当成网页授权域名,或当成业务域名已经生效,都会把对象弄错。前者可能只是让点击后打开了页面,该域名下能否做授权登录,仍取决于网页授权域名是否已按域名管理规则另行配置;后者则把「会不会被重新排版」误当成「已经完成授权」。本文只转述上述官方分工,不展开三类域名的逐步配置。

菜单刷新和外链规范,也不能用填网址来代替

创建自定义菜单后,文档给出的刷新策略是:用户进入公众号或服务号的会话页或公众号/服务号 profile 页时,如果发现上一次拉取菜单的请求在5分钟以前,就会再拉取一次菜单,如果菜单有更新,就会刷新客户端的菜单。文档还写,测试时可以尝试取消关注后再关注,则可以看到创建后的效果。这只说明菜单更新出现在用户端可能有时间差,不能写成「填了网址就立刻对所有用户生效」,也不展开成操作教程。

即便菜单里的网址已经能被打开,这个地址如果属于「非由微信公众平台产生(即域名地址不归属于微信公众平台)且在微信内传播的外部链接」,仍要面对《微信外部链接内容管理规范》。2026年11月12日(北京时间)核读的该规范,更新日期和生效日期均为2025年10月23日。规范写明,腾讯有权对涉及违规情形的外链进行处理,措施包括但不限于限制相关链接在微信内直接打开、限制相关域名或IP地址在微信内的访问、停止相关链接在微信内继续传播等。填好菜单网址,并不等于外链规范已经放行。本文只提示这一边界,不讨论如何规避规范,也不把菜单跳转写成可绕过外链管理的方法。

核对前可以先分清这几件事

在把「菜单里已经有网址」理解成「网页授权已经配好」之前,可以先核对:

- 这个自定义菜单按钮的类型,是 view 还是 miniprogram,或其他并不打开网页的类型

- 若是 view,点击后打开的是否就是按钮里填写的那个网页地址,而不是把这个地址直接当成授权域名

- 若是 miniprogram,必填的 url 是否只是给不支持小程序的老版本客户端使用的打开地址

- 若页面还需要网页授权登录,网页授权域名是否已作为独立对象完成配置;按域名管理页,公众号或未认证服务号并不支持配置网页授权域名

- 若关心的是微信内打开时会不会被重新排版,核对的应是业务域名,而不是菜单里有没有网址

- 菜单更新是否可能受「上次拉取在5分钟以前才会再拉取」的刷新策略影响,需以用户端实际看到的菜单为准

- 打开的若是外部链接,是否还要受《微信外部链接内容管理规范》约束,不能只用「菜单里已经填了」代替

- 所依据的文档页标或访问日期是哪一天

自定义菜单里填写网址,回答的是点击后打开哪里;网页授权域名回答的是该域名下能不能做授权登录。两者可以结合使用,但不能互相替代。菜单有没有刷新到用户端,以及这个网址作为外链是否会被限制,同样是另外的问题。以上均为本轮核读的公开文档表述,未按后台逐步点击实测,最终以当时账号状态和实际打开结果为准。

参考资料

[1] 创建自定义菜单 https://developers.weixin.qq.com/doc/subscription/api/custommenu/api_createcustommenu.html,最后一次编辑于2025-11-25,访问日期2026-11-12(北京时间)。该页写明 view 为跳转URL,用户点击后微信客户端将打开按钮中填写的网页URL,并可与网页授权获取用户基本信息接口结合;miniprogram 为跳转小程序,不支持小程序的老版本客户端将打开该 url,且 view、miniprogram 的 url 均必填。菜单刷新策略为进入会话页或 profile 页时,若上次拉取在5分钟以前则会再拉取。适用范围为公众号仅认证、服务号可调用。

[2] 域名管理 https://developers.weixin.qq.com/doc/oplatform/developers/basic_func/domain.html,最后一次编辑于2026-07-04,访问日期2026-11-12(北京时间)。该页区分服务号的 JS接口安全域名、网页授权域名和业务域名;设置网页授权域名后,微信网页应用可在该域名下实现授权登录功能;设置业务域名后,在微信内访问该域名下页面时不会被重新排版。页上同时写有「公众号或者未认证的服务号不支持配置网页授权域名」,以及「已认证的服务号或部分已认证的政府和媒体类型的公众号才能看到此域名配置」。

[3] 微信外部链接内容管理规范 https://weixin.qq.com/agreement/weixin_external_links_content_management_specification,更新日期、生效日期均为2025年10月23日,访问日期2026-11-12(北京时间)。该规范将非由微信公众平台产生且在微信内传播的外部链接纳入管理,并写明可对违规外链采取限制直接打开、限制域名或IP访问、停止继续传播等处理。本文仅作边界提示,未把它写成菜单配置完成的充分条件。


购买咨询
微信扫码咨询
400-600-7511