32 Star 115 Fork 28

来贝科技/微信API网关

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

微信API网关

一、功能说明

本项目是基于koa2框架实现的API网关,使用koa2框架的中间件机制提供插件功能。

通过使用微信公众号、服务注册&发现、反向代理等等插件的组合,来有效解决来自不同客户端和服务器请求的统一接入、分发、监控等问题。

支持自定义插件。

Image text


二、环境说明

NodeJS v8.x.x


三、插件说明

1. 原理说明

接收请求后,通过管道机制,把请求、响应、会话、日志等对象封装成管道对象,逐一传给每个插件,每个插件都是单一职责的,一项功能由多个插件的组合来实现,并且可以调整插件的组合来实现不同的功能,例如,微信网关插件只负责微信消息格式的转换,配合转移请求反向代理插件,完成分发请求至不同服务器的功能

下图为管道机制原理图,其中必须配置和启用反向代理(proxy)插件

Image text

2. 使用说明

参考API网关插件库


四、应用配置说明

复制app_config.js.example为app_config.js,保存到项目根目录中

example中已配置好的插件如下:

具体配置参数如下:

port 应用端口
log
rootPath:日志根路径,可自定义,如,/xxx/xxx/wechat_api_gateway

日志追踪id键,可自定义,下面三个取值为Spring Cloud Sleuth的默认值
traceIdKey:x-b3-traceid,
spanIdKey:x-b3-spanid,
parentSpanIdKey:x-b3-parentspanid
runningMode 运行模式,单机模式(standalone)、集群模式(cluster)
mpConfigName 公众号配置名称,单机模式时,为配置文件名,集群模式时,为redis key
redis
redis配置,单机模式时,忽略,集群模式时,必须配置

ip: IP地址
port:端口
pass:密码
plugins
插件配置列表,配置顺序决定触发顺序

path:插件路径
config_path:插件配置目录
enable:是否启用

空文件

简介

微信API网关,通过使用微信公众号、服务注册&发现、反向代理等等插件的组合,来有效解决来自不同客户端和服务器请求的统一接入、分发、监控等问题 展开 收起
README
MIT
取消

发行版

暂无发行版

贡献者 (2)

全部

近期动态

7个月前推送了新的提交到 master 分支,a8256a4...1efa4bf
10个月前推送了新的提交到 master 分支,57d914c...a8256a4
1年多前推送了新的提交到 master 分支,b101dc8...57d914c
1年多前推送了新的提交到 master 分支,a9e594e...b101dc8
2年前推送了新的提交到 master 分支,9bb8ea0...a9e594e
加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
NodeJS
1
https://gitee.com/libfintech/wechat_api_gateway.git
git@gitee.com:libfintech/wechat_api_gateway.git
libfintech
wechat_api_gateway
微信API网关
master

搜索帮助