wx_sign_promise
v1.0.4
Published
微信JS-SDK签名,支持promise和callback
Downloads
1
Maintainers
Readme
wx_sign_promise
- 写入cache.json是为了在调试时重启程序不必每次获取ticket
- 内存保存是为了加快读取
- 足够小巧,便于集成
- 使用cache.json保存,比如用redis省事
使用
- 复制配置文件
cp node_modules/wx_sign_promise/config.example.js config.js
- 修改config.js中 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"} 表示签名验证正确
踩坑记录
微信接口
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