nodejs开发调试微信公众号

    这篇文章简单介绍了基于node包wechatwechat-api进行微信公众号开发和基于内网穿透技术的本机调试,想要了解如何用nodejs从头开发微信公众号的童鞋请戳这篇文章

    wechatwechat-api区别在它们github上也描述得很清楚,前者是微信的消息接口的中间件,负责一些消息交互,而后者提供了微信平台上的更多api,其中的JS-SDK的支持比较常用,稍后会介绍。


一、登录测试号

    既然要开发微信公众号,那么得有公众号才行,开发期间不必申请正式的公众号,微信提供了测试账号


二、消息中间件配置

    wechat的具体用法很简单,看文档即可,这里主要介绍对应的接口配置信息图和填写:

    

    这里的URL必须是微信平台能够访问到的,也就是必须是一个公网地址,即便有公网服务器,代码已有改动就要上传至服务器,也很是繁琐,所以此时就可以用内网穿透技术将一个公网地址映射到本机地址,内网穿透的方法有很多,也有很多现成的软件提供支持,比如花生壳、ngrok,我这里介绍的是ngrok,ngrok安装好后,运行ngrok http 本地端口号即可完成映射:


    此时将对应的地址和token填入配置里提交即可:


   Tip: 也可以用国内的ngrok服务,比如sunny-ngrok


三、API中间件配置

    这里需要配置两个地方,JS接口安全域名网页服务里的网页账号的修改,地址都是前端访问的地址,然后后端需要提供一个接口供前端验证,这个具体看微信JSSDK文档和中间件的getJsConfig方法,然后调试需要用到微信开发者工具,也可以在线验证校验合法性,以Koa为例,提供验证接口的代码如下:

const WechatAPI = require('co-wechat-api');
const Router = require('koa-router');

const router = new Router();

const appid = 'wxfde88c18aee20f23';
const appsecret = '021c91f5b0f0a9a08ac1583425240f00';

const wxapi = new WechatAPI(appid, appsecret);

router.get('/getSignature', async (ctx) => {
    const res = await wxapi.getJsConfig({
        url: ctx.request.header.referer,
    });
    ctx.body = {
        code: 0,
        data: res,
    };
});

    在pc端开发完前端之后,需要在手机上进行测试,第一步当然是需要设置公众号的一个菜单,具体看createMenu这个方法,准备一个js文件专门用于菜单的更新,每次更新的时候,运行一下这个文件即可,代码如下:

const WechatAPI = require('co-wechat-api');

const appid = 'wxfde88c18aee20f23';
const appsecret = '021c91f5b0f0a9a08ac1583425240f00';

const wxapi = new WechatAPI(appid, appsecret);

const menuConfig = {
 "button":[
   {
     "type":"click",
     "name":"今日歌曲",
     "key":"V1001_TODAY_MUSIC"
   },
   {
     "name":"菜单",
     "sub_button":[
       {
         "type":"view",
         "name":"搜索",
         "url":"http://www.soso.com/"
       },
       {
         "type":"click",
         "name":"赞一下我们",
         "key":"V1001_GOOD"
       }]
     }]
   }
 ]
};

wxapi.createMenu(menuConfig).then((res) => {
    console.log(res);
});

    至于手机如何访问电脑上的地址,就很简单了,将手机与电脑置于同一网络当中,利用一些代理工具比如charles进行代理就行了。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值