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


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 相关文章推荐
Javascript中的Split使用方法与技巧
Mar 09 Javascript
一次$.getJSON不执行的简单记录
Jul 19 Javascript
Javascript 高性能之递归,迭代,查表法详解及实例
Jan 08 Javascript
Bootstrap笔记—折叠实例代码
Mar 13 Javascript
vue.js从安装到搭建过程详解
Mar 17 Javascript
Bootstrap Table使用整理(三)
Jun 09 Javascript
vue2.0开发入门笔记之.vue文件的生成和使用
Sep 19 Javascript
React Native日期时间选择组件的示例代码
Apr 27 Javascript
创建echart多个联动的示例代码
Nov 23 Javascript
Vue v-bind动态绑定class实例方法
Jan 15 Javascript
vuex的数据渲染与修改浅析
Nov 26 Vue.js
JS前端canvas交互实现拖拽旋转及缩放示例
Aug 05 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
无法载入 mcrypt 扩展,请检查 PHP 配置终极解决方案
2011/07/18 PHP
PHP 杂谈《重构-改善既有代码的设计》之三 重新组织数据
2012/04/09 PHP
php中常量DIRECTORY_SEPARATOR用法深入分析
2014/11/14 PHP
浅谈javascript 归并方法
2015/01/21 Javascript
jQuery插件PageSlide实现左右侧栏导航菜单
2015/04/12 Javascript
js生成验证码并直接在前端判断
2015/05/15 Javascript
jQuery css() 方法动态修改CSS属性
2016/09/25 Javascript
JavaScript 中 avalon绑定属性总结
2016/10/19 Javascript
Bootstrap DateTime Picker日历控件简单应用
2017/03/25 Javascript
Angular实现下载安装包的功能代码分享
2017/09/05 Javascript
在nginx上部署vue项目(history模式)的方法
2017/12/28 Javascript
vue打包相关细节整理(小结)
2018/09/28 Javascript
vue2配置scss的方法步骤
2019/06/06 Javascript
Vue两种组件类型:递归组件和动态组件的用法
2020/08/06 Javascript
[08:54]《一刀刀一天》之DOTA全时刻18:十九支奔赴西雅图队伍全部出炉
2014/06/04 DOTA
[01:14]辉夜杯战队访谈宣传片—NEWBEE.Y
2015/12/26 DOTA
Python入门_浅谈数据结构的4种基本类型
2017/05/16 Python
Django中使用 Closure Table 储存无限分级数据
2019/06/06 Python
python暴力解压rar加密文件过程详解
2019/07/05 Python
Python制作微信好友背景墙教程(附完整代码)
2019/07/17 Python
django项目中使用手机号登录的实例代码
2019/08/15 Python
Python selenium抓取虎牙短视频代码实例
2020/03/02 Python
python异步Web框架sanic的实现
2020/04/27 Python
Python实现手绘图效果实例分享
2020/07/22 Python
Window10上Tensorflow的安装(CPU和GPU版本)
2020/12/15 Python
关于canvas.toDataURL 在iOS运行失败的问题解决
2020/09/16 HTML / CSS
Lands’ End官网:经典的美国生活方式品牌
2016/08/14 全球购物
美国在线精品家居网站:Burke Decor
2017/04/12 全球购物
DogBuddy荷兰:找到你最完美的狗保姆
2019/04/17 全球购物
出口公司经理求职简历中的自我评价
2013/10/13 职场文书
酒店节能减排方案
2014/05/26 职场文书
视光学专业自荐信
2014/06/24 职场文书
四风问题个人对照检查材料
2014/09/26 职场文书
2015毕业生实习工作总结
2014/12/12 职场文书
植树节新闻稿
2015/07/17 职场文书
python画条形图的具体代码
2022/04/20 Python