Node封装微信api遇到的坑

前言、

在做微信开发时,虽然官方文档比较详细但难免遇到一些细节问题,下面是我总结的一些需要注意的地方。

细节、

  1. 在初始化微信js-sdk时,为了安全初始化是的签名需要在服务器上进行再返回给客户端;

  2. 生成签名时的客户端url应该有客户端传回,url参数必须是完整的且包含query部分,
      如:http://wx.qq.com/ss/ss?param=1。

  3. js-sdk安全域名只支持者80,443端口,也就是说你在微信里面打开的网址只能是这样的:
      http://wx.qq.com/sss/xxx,或 https://wx.qq.com/sss;http://wx.qq.com:8080/sss就行。

  4. 填写js-sdk安全域名时不能包含http头,如:http://wx.qq.com就不正确,只能是wx.qq.com。   

这里写图片描述

  5. 在mac上开发微信不好的选择,mac上开启1024以下的端口很麻烦;

  6. 这次遇到的最大的坑就是这个。
           微信接口实现了https,服务端代码生成签名代码完成后,用微信的开发者工具在pc上调试,可以正常通过ajax获取签名的signature参数,signature检验也正确(校验工具地址: https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign)。当放到微信真机上测试发现分享功能一直无法自定义,发现是微信js-sdk没出初始化成功但也没报错,通过微信开发者工具联机调试发现是ajax的“get请求”在手机上变成了“connection请求”,马上在各大论坛查找解决方法,最后推测这跟微信使用的魔改版chromium:X5内核有关,最后只好从https降级成http问题成功解决。
 wx.config({
    debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
    appId: '', // 必填,公众号的唯一标识
    timestamp: , // 必填,生成签名的时间戳
    nonceStr: '', // 必填,生成签名的随机串
    signature: '',// 必填,签名,见附录1
    jsApiList: [] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});

GitHub、

 微信服务端接口用node.js封装的,已放在了github上欢迎下载 +star:https://github.com/moke666/wxapi
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值