微信企业号Node库API,ES6版本
如果您觉得本模块对您有帮助,欢迎请作者一杯咖啡
微信企业号API。
详细参见API文档
微信企业号官方文档(http://qydev.weixin.qq.com/wiki/index.php)
订阅号和服务号版本请前往:https://github.com/node-webot/co-wechat-api
$ npm install co-wechat-enterprise-api
var API = require('co-wechat-enterprise-api');
var api = new API(corpid, corpsecret);
var result = yield* api.updateRemark('open_id', 'remarked');
当多进程时,token需要全局维护,以下为保存token的接口。
var api = new API('corpid', 'corpsecret', function* () {
// 传入一个获取全局token的方法
var txt = yield fs.readFile('access_token.txt', 'utf8');
return JSON.parse(txt);
}, function* (token) {
// 请将token存储到全局,跨进程、跨机器级别的全局,比如写到数据库、redis等
// 这样才能在cluster模式及多机情况下使用,以下为写入到文件的示例
yield fs.writeFile('access_token.txt', JSON.stringify(token));
});
对于大规模的集群部署模式,为了安全和速度,会有一些负载均衡的节点放在内网的服务器上(即负载均衡的节点与主结点通过内网连接,并且内网服务器上没有外网的IP)。这时,就需要配置代理服务器来使内网的机器可以有限度的访问外网的资源。例如:微信套件中的各种主动调用接口。
如何架设代理服务器在这里不做赘述,一般推荐使用squid 3,免费、快速、配置简单。
由于需要访问的微信API服务器是https协议,所以普通的http代理模式不能使用。 而一般都是http协议的代理服务器。 我们要实现的就是通过http代理通道来走https的请求。
基本的步骤是2步:
一、下载node-tunnel 注意:npm上的版本较老,不支持node v0.10以上的版本。
二、使用 httpsOverHttp 这个agent。
三、将agent配置给httpx。
var tunnel = require('tunnel');
var agent = tunnel.httpsOverHttp({
proxy: {
host: 'proxy_host_ip', // 代理服务器的IP
port: 3128 // 代理服务器的端口
}
});
api.setOpts({
agent: agent
});
The MIT license.
QQ群:157964097,使用疑问,开发,贡献代码请加群。
感谢以下贡献者:
project : co-wechat-api
repo age : 1 year, 1 month
active : 14 days
commits : 44
files : 70
authors :
32 Jackson Tian 72.7%
6 magicxie 13.6%
2 TimZhang 4.5%
2 ken 4.5%
2 马剑 4.5%
如果您觉得Wechat对您有帮助,欢迎请作者一杯咖啡