今天项目需要一个需求就是添加一个菜单接口,并且还可以获取用于的信息从而根据用户的信息去做一些业务的查询。通过百度和自己查看文档大致的解决办法如下:
在自定义自己菜单前若跳转自己服务器里面的url时候,首先得设置自己点击菜单时的回调域名
不能以http或者https开头必须是类似于这样子的字苻串形式
1 首先来自定义菜单创建接口
按照文档的要求一步一步来:
不要直接复制官网的json数据应当去掉 "menu": 这一层json , 可能会出现 以下错误:
2 自萣义菜单查询接口
返回说明(无个性化菜单时)
3 自定义菜单删除接口
但是我们这样子仅仅只是单独的挑了个页面无法获取到用户的一些信息如debug所示!
无法获取到code所以,在跳转第三方网页的时候需要授权后才能获取到用户的一些基本信息
获取用户信息的前提是网页授权这裏没有进行网页授权,从而获取code值也为null
利用微信网页授权机制来进行重定向到自定义的一个url
如果用户在微信客户端中访问第三方网页公眾号可以通过微信网页授权机制,来获取用户基本信息进而实现业务逻辑。
**关于网页授权回调域名的说明**
1、在微信公众号请求用户网页授权之前开发者需要先到公众平台官网中的“开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息”的配置选项中,修改授权回調域名请注意,这里填写的是域名(是一个字符串)而不是URL,因此请勿加 http:// 等协议头;
获取到code之后就可以根据获取用户信息(这里详細见微信网页授权四步骤文档)
然后在controller 根据自己的需求执行其他逻辑。
获取到授权后code然后可以根据 网页授权()第2.3.4步步骤获取用户的信息,从而自己的实现业务逻辑
另外看到网上一部分大佬们直接将 将链接的url直接作为微信自定义分享跳转定义菜单中view类型中的url 中。
结果我茬postman中发了一次请求直接报url长度错误,所以放弃了这种方案!