如何进行微信公众号开发的本地调试的方法


Posted in Javascript onJune 16, 2019

微信团队为广大的开发者提供了一个测试账号。该帐号无需公众账号,快速申请接口测试,直接体验和测试公众平台所有高级接口。这么好用的功能,只需要要你有一个手机,手机上安装了一个微信即可。

地址:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

如何进行微信公众号开发的本地调试的方法

登录后,会得到一个微信号,和测试好的相关信息。appID,appsecret。

如何进行微信公众号开发的本地调试的方法

接口配置信息,js接口安全域名配置按照生产环境的配置即可。

下面重点开始了。已经有了一个可供测试的公众号,如何进行测试呢,最直接的办法是,在本地开发环境把已经运行的生产环境的公众号配置成刚申请的这个开发账号即可,但显然这个方法蠢哭了。

我们采用的方法是,在配置文件上增加一个参数的方式。比如我们生产环境的微信配置信息都写在wechat-config.xml中,这个时候,增加另一个配置文件wechat-config-yimiyan.xml。启动jvm时增加参数

-Dwechat-config=yimiyan。程序中中需要稍加修改。

例如原本系统启动时读取wechat-config.xml文件

WeChatUtils.class.getResourceAsStream("/wechat-config.xml");

现在修改为:

String wechatConfig = System.getProperty("wechat-config");
//得到的是刚刚我们添加的参数-Dwechat-config的值,即yimiyan

将原本的读取配置文件修改为:

WeChatUtils.class.getResourceAsStream("/wechat-config-"+wechatConfig+".xml");

这样,每个开发的小伙伴都可以在自己的环境上进行测试了。

准备就绪之后,开始下一步的操作--配置菜单。

用手机扫描页面上的二维码后,关注了这个测试公众号,是没有菜单的,这个时候要配置菜单怎么办呢。

有两种方式,使用postman工具或者使用微信提供的调试接口。

笔者比较懒,直接用了微信的接口调试工具设置的。地址:https://mp.weixin.qq.com/debug

如何进行微信公众号开发的本地调试的方法

第一步,获取access_tocken

输入测试公众号页面的appID和appsecret,点击检查问题

如何进行微信公众号开发的本地调试的方法

获取到access_token之后,使用这个access_token跟测试公众号设置菜单。接口类型选择自定义菜单,填入刚刚获取到的access_token,以及菜单的json串。

如何进行微信公众号开发的本地调试的方法

点击检查问题后,如果设置成功,结果如下

如何进行微信公众号开发的本地调试的方法

这个时候,在用微信扫一扫测试公众号的二维码,应该就会有菜单了,但是笔者在测试的时候发现,不知道是延迟还是缓存,第一次设置还好,多设置几次,要取关,清楚手机历史等操作,才会发现新菜单生效了。

到目前为止,我们一切的准备工作就基本完成了。在测试公众号里面,点击菜单,享受着成功的喜悦的时候,满心欢喜的点击,蹦出来的是redirect_uri:参数错误

如何进行微信公众号开发的本地调试的方法

这是什么鬼

最后一步的配置:

在测试微信公众号那个页面,那个页面很长,往下拉,找到网页服务--》网页账号--》网页授权获取用户基本信息,点击修改,配上外网能访问你测试环境的ip或者域名即可。

如何进行微信公众号开发的本地调试的方法

整个配置最重要的一点就是,你需要拥有一个能通过外网访问你的测试环境的域名或者ip。

NB:这里需要注意一点,如果这个地址填写的不正确,将会报错如下。此处只需填写域名即可,授权微信访问这个域名,具体要访问哪个项目哪个方法,在程序中控制。

如何进行微信公众号开发的本地调试的方法

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
兼容IE、FireFox、Chrome等浏览器的xml处理函数js代码
Nov 30 Javascript
Jquery 类网页微信二维码图块滚动效果具体实现
Oct 14 Javascript
jQuery中ajax的使用与缓存问题的解决方法
Dec 19 Javascript
Jqgrid设置全选(选择)及获取选择行的值示例代码
Dec 28 Javascript
自动完成的搜索框javascript实现
Feb 26 Javascript
浅谈js中用$(#ID)来作为选择器的问题(id重复的时候)
Feb 14 Javascript
Angular 2.0+ 的数据绑定的实现示例
Aug 09 Javascript
Vue中对拿到的数据进行A-Z排序的实例
Sep 25 Javascript
vue-lazyload使用总结(推荐)
Nov 01 Javascript
快速了解Node中的Stream流是什么
Feb 13 Javascript
vue实现拖拽效果
Dec 23 Javascript
Vue+Element自定义纵向表格表头教程
Oct 26 Javascript
详解vue微信网页授权最终解决方案
Jun 16 #Javascript
浅谈一种让小程序支持JSX语法的新思路
Jun 16 #Javascript
JavaScript 处理树数据结构的方法示例
Jun 16 #Javascript
JavaScript中的ES6 Proxy的具体使用
Jun 16 #Javascript
简谈创建React Component的几种方式
Jun 15 #Javascript
JS中的一些常用的函数式编程术语
Jun 15 #Javascript
JavaScript模块管理的简单实现方式详解
Jun 15 #Javascript
You might like
PHP 可阅读随机字符串代码
2010/05/26 PHP
php魔术方法与魔术变量、内置方法与内置变量的深入分析
2013/06/03 PHP
Laravel5中contracts详解
2015/03/02 PHP
Symfony2联合查询实现方法
2016/03/18 PHP
Zend Framework开发入门经典教程
2016/03/23 PHP
yii2超好用的日期组件和时间组件
2016/05/05 PHP
Thinkphp事务操作实例(推荐)
2017/04/01 PHP
php提交表单时保留多个空格及换行的文本样式的方法
2017/06/20 PHP
不懂JavaScript应该怎样学
2008/04/16 Javascript
JavaScript更改class和id的方法
2008/10/10 Javascript
JQuery 常用方法基础教程
2009/02/06 Javascript
jquery UI 1.72 之datepicker
2009/12/29 Javascript
电子商务网站上的常用的js放大镜效果
2011/12/08 Javascript
jquery结婚电子请柬特效源码分享
2015/08/21 Javascript
JS+CSS相对定位实现的下拉菜单
2015/10/06 Javascript
jQuery操作动态生成的内容的方法
2016/05/28 Javascript
Json解析的方法小结
2016/06/22 Javascript
动态统计当前输入内容的字节、字符数的实例详解
2017/10/27 Javascript
利用js-cookie实现前端设置缓存数据定时失效
2019/06/18 Javascript
javascript实现自由编辑图片代码详解
2019/06/21 Javascript
JS中getElementsByClassName与classList兼容性问题解决方案分析
2019/08/07 Javascript
[46:20]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS BO3 第二场 1月22日
2021/03/11 DOTA
Python获取远程文件大小的函数代码分享
2014/05/13 Python
用实例分析Python中method的参数传递过程
2015/04/02 Python
Python 图像对比度增强的几种方法(小结)
2019/09/25 Python
Django app配置多个数据库代码实例
2019/12/17 Python
结合 CSS3 transition transform 实现简单的跑马灯效果的示例
2018/02/07 HTML / CSS
大学同学聚会邀请函
2014/01/19 职场文书
2014学习全国两会精神心得体会2000字
2014/03/11 职场文书
图书室标语
2014/06/21 职场文书
安全责任书模板
2014/07/22 职场文书
党的群众路线领导班子整改方案
2014/09/27 职场文书
群众路线查摆问题及整改措施
2014/10/10 职场文书
企业党的群众路线教育实践活动学习心得体会
2014/10/31 职场文书
酒店销售经理岗位职责
2015/04/02 职场文书
护士长2015年终工作总结
2015/04/24 职场文书