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


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 相关文章推荐
改变隐藏的input中value值的方法
Mar 19 Javascript
JavaScript中用toString()方法返回时间为字符串
Jun 12 Javascript
JQuery validate插件Remote用法大全
May 15 Javascript
为什么JavaScript没有块级作用域
May 22 Javascript
js 调用百度分享功能
Feb 27 Javascript
ES6新特性七:数组的扩充详解
Apr 21 Javascript
解决webpack dev-server不能匹配post请求的问题
Aug 24 Javascript
如何实现小程序tab栏下划线动画效果
May 18 Javascript
详解微信小程序自定义组件的实现及数据交互
Jul 22 Javascript
详解用js代码触发dom事件的实现方案
Jun 10 Javascript
vue组件中节流函数的失效的原因和解决方法
Dec 02 Vue.js
JavaScript+HTML实现学生信息管理系统
Apr 20 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 xml文件操作实现代码(二)
2009/03/20 PHP
ThinkPHP中ajax使用实例教程
2014/08/22 PHP
PHP数组排序之sort、asort与ksort用法实例
2014/09/08 PHP
JS input 数字验证代码
2009/07/30 Javascript
JQuery获取当前屏幕的高度宽度的实现代码
2011/07/12 Javascript
Jquery异步请求数据实例代码
2011/12/28 Javascript
基于KMP算法JavaScript的实现方法分析
2013/05/03 Javascript
JavaScript实现16进制颜色值转RGB的方法
2015/02/09 Javascript
JS+CSS实现模仿浏览器网页字符查找功能的方法
2015/02/26 Javascript
jQuery遍历节点树方法分析
2016/09/08 Javascript
Ajax跨域实现代码(后台jsp)
2017/01/21 Javascript
微信小程序获取微信运动步数的实例代码
2017/07/20 Javascript
Angular4学习笔记之根模块与Ng模块
2017/09/09 Javascript
tangram.js库实现js类的方式实例分析
2018/01/06 Javascript
深入浅析JS中的严格模式
2018/06/04 Javascript
Angularjs实现数组随机排序的方法
2018/10/02 Javascript
详解JavaScript执行模型
2020/11/16 Javascript
[08:04]TI4西雅图DOTA2前线报道 海涛探访各路人马
2014/07/09 DOTA
Python+matplotlib实现华丽的文本框演示代码
2018/01/22 Python
numpy下的flatten()函数用法详解
2019/05/27 Python
python将unicode和str互相转化的实现
2020/05/11 Python
jenkins+python自动化测试持续集成教程
2020/05/12 Python
使用 prometheus python 库编写自定义指标的方法(完整代码)
2020/06/29 Python
Python常用模块函数代码汇总解析
2020/08/31 Python
python 多进程和协程配合使用写入数据
2020/10/30 Python
一篇文章带你搞定Ubuntu中打开Pycharm总是卡顿崩溃
2020/11/02 Python
Pytorch如何切换 cpu和gpu的使用详解
2021/03/01 Python
HTML5 video标签(播放器)学习笔记(一):使用入门
2015/04/24 HTML / CSS
国外平面设计素材网站:The Hungry JPEG
2017/03/28 全球购物
西班牙著名的珠宝首饰品牌:P D PAOLA
2018/09/15 全球购物
有趣、实用和鼓舞人心的产品:Inspire Uplift
2019/11/05 全球购物
欢迎标语大全
2014/06/21 职场文书
婚礼证婚人演讲稿
2014/09/13 职场文书
开展党的群众路线教育实践活动情况汇报
2014/11/05 职场文书
高一化学教学反思
2016/02/22 职场文书
前端canvas中物体边框和控制点的实现示例
2022/08/05 Javascript