Neanderthals Paint Mammals
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

wx_sign_promise

1.0.4 • Public • Published

wx_sign_promise

npm version

  • 写入cache.json是为了在调试时重启程序不必每次获取ticket
  • 内存保存是为了加快读取
  • 足够小巧,便于集成
  • 使用cache.json保存,比如用redis省事

使用

  • 复制配置文件
cp node_modules/wx_sign_promise/config.example.js config.js
  • 修改config.js中 appId 和 appSecret

微信公众平台如何获取appid和appsecret

  • 路由配置
var signature = require('wx_sign_promise');
// 加载配置文件
var config = require('./config')();

// 设置路由
router.post('/getsignature', function(req, res){
  var url = req.body.url;   // 要获取签名 url
  // callback模式
  var getSignature = signature.getSignature(config);
  getSignature(url, function(error, result) {
      if (error) {
          res.json({
              'error': error
          });
      } else {
          res.json(result);
      }
  });

  // promise模式
  var getSignature = signature.getSignature(config);
  getSignature(url)
      .then(function(data) {
          res.send(data);
      })
      .catch(function(err) {
          res.send({error: err});
      });
});
  • 启动程序,微信访问网址

实例

cp node_modules/wx_sign_promise/config.example.js example/config.js
cd example

配置 example/config.js中 appId 和 appSecret

npm install
node bin/www

微信访问网址 http://localhost:3000
(手机和pc处于同一局域网 或者 外网映射 或者 挂载服务器)
出现弹窗 {"errMsg": "config:ok"} 表示签名验证正确

踩坑记录

http://blog.xinshangshangxin.com/2015/04/22/%E4%BD%BF%E7%94%A8nodejs-%E8%B8%A9%E5%9D%91%E5%BE%AE%E4%BF%A1JS-SDK%E8%AE%B0%E5%BD%95/

微信接口

getWechatToken

获取微信 access token,7200秒刷新一次 (http://mp.weixin.qq.com/wiki/15/54ce45d8d30b6bf6758f68d2e95bc627.html)

getWechatJsapiTicket

获取微信 JS API 所要求的 ticket,7200秒刷新一次 (http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html)

getWechatJsapiSign

根据用户参数生成微信 JS API 要求的签名 (http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html )

参数:

  • noncestr 必须参数,使用者自己生成的一个随机字符串,签名用的noncestr必须与wx.config中的nonceStr相同
  • timestamp 必须参数,使用者在调用微信 JS API 时的Unix时间戳,签名用的timestamp必须与wx.config中的timestamp相同
  • url 必须参数,签名用的url必须是调用JS接口页面的完整URL,其中的特殊字符,例如&、空格必须转义为%26、%20

install

npm i wx_sign_promise

Downloadsweekly downloads

5

version

1.0.4

license

MIT

repository

Gitcoding

last publish

collaborators

  • avatar