微信公众号(优课家长通)菜单链接无法正常访问的问题

波总,你好:
前段时间用 JFinal-weixin 开发了公司的一个公众号的程序,最近 1 周线上公众号出现如下问题,找了很久也不知什么原因:

微信公众号(优课家长通)菜单链接无法正常访问的问题:

公众号服务器地址:http://ykjzt.myuclass.com

PC端
1. PC端访问正常

移动端(android)
1. qq浏览器访问正常
2. 微信新安装用户访问正常,1、2分钟后无法访问
3. 微信清除数据,清除缓存后访问正常,1、2分钟后无法访问
4. 微信连接WIFI,WIFI设置PC代理后访问正常

移动端(ios)
访问正常
请波总帮助分析一下,谢谢。

评论区

JFinal

2017-11-03 19:23

当前信息量无法做出判断

不过你列出的第二与第三条,微信新安装用户访问正常,1、2分钟后无法访问,这就意味着很容易重现问题,那么解决起来就很容易了

建议的解决方法如下:
1:使用这里的方法在本地搭建一个调试环境:http://git.oschina.net/jfinal/jfinal-weixin/wikis/JFinal-weixin-demo和调试

2:在调试环境下重现错误,观测异常,以及程序走向,立即就可以做出判断

孟伟_01

2017-11-06 18:00

@JFinal 问题已解决,多谢波总!

JFinal

2017-11-06 18:25

@孟伟_01 怎么解决的,发个分享啊,或者直接在这个贴子最后面添加一下解决办法,很多有需要

孟伟_01

2017-11-08 18:13

@JFinal 这个可能和安卓手机微信的相关机制有关系:

前端用的是 react 单页面开发的,假如点击“绑定账号”菜单,其地址是 http://abc.com/weixinFront/bind.parents,
/weixinFront/bind.parents 是前端的路由地址,点击后到tomcat 找不到对应的资源应该跳转到已配置好的 404 页面才对,苹果手机点击后 tomcat 的 404 配置生效,安卓手机点击后 tomcat 的 404 配置不生效,解决方法是:在 handler 中拦截包含前端路由地址的请求,强制让其跳转到 404 页面。

switch (s){
case "/weixinFront/class.parents/answer":
case "/weixinFront/class.parents/ask":
case "/weixinFront/class.parents/collaborate":
case "/weixinFront/work.parents/complete":
case "/weixinFront/work.parents/result":
case "/weixinFront/work.parents/use_time":
case "/weixinFront/bind.parents":
case "/weixinFront/bind_remove.parents":
log.info("访问路径 --> "+s);
try {
log.info("转发到 /weixinFront/index.html 页面...");
httpServletResponse.sendRedirect("/weixinFront/index.html");
}
catch (IOException e) {
log.error("转发到 /weixinFront/index.html 页面失败!",e);
e.printStackTrace();
}
break;

default:
log.info("default 访问路径 --> "+s);
break;
}

只要到了 index.html (404) 页面,前端路由就能控制其跳转到不同的地方,显示具体的页面,问题解决。

热门反馈

扫码入社