WeChat-Proxy

微信代理服务
授权协议 GPL
开发语言 Google Go
所属分类 手机/移动开发、 微信开发/微信公众号开发
软件类型 开源软件
地区 国产
投 递 者 解念
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

WeChat-Proxy 是微信代理服务。

功能

1、全局缓存微信 access_token, jsapi ticket等。
2、多路转发微信回调消息。
3、简化微信 oauth2 认证流程。
4、简化微信支付流程。
5、简化微信 JSSDK 签名流程。

使用说明:

1、公众号注册:

/register?key=...&appid=...&secret=...
&token=&aes=
&mch_id=&mch_key=&server_ip=
&expires=&call=/msg&call=/api&call=...

参数说明:

  • key: 自定义的app名称,支持中文,也可以是随机生成的字符串。(必填)

  • appid: 微信公众号的 appid。(必填)

  • secret: 微信公众号的 secret。(必填)

  • token, aes: 用于微信回调消息加解密的秘钥。(/msg接口)

  • 如果设置了此项参数,后台应用可以直接以json明文格式接收和回复微信回调消息。(/msg/json接口)

  • mch_id, mch_key, server_ip: 用于微信支付的账号、秘钥和服务器IP。(/pay接口) 如果设置了此项参数, 可以使用简单的 url 请求实现微信支付功能。

  • expires: 过期时间,单位秒。如果设置此项参数,注册信息会在到期后自动删除。 call: 可用API,可以重复多次。如果设置此项参数,该app注册信息仅可用于已列出的api接口。

2、access_token 全局缓存:

access_token 全局缓存自动获取最新的 access_token 值缓存在代理服务器内存中。
access_token 全局缓存支持多进程、多服务器共享 access_token,还可以无限次获取,简化后台服务的开发难度。

调用/register接口完成注册后,使用已注册的 test 名称调用 /api 接口:

/app/test/api /app/test/qyapi

强制刷新 access_token:

/app/test/api/new /app/test/qyapi/new

3、微信回调消息的多路转发:

微信回调消息的多路转发可以将微信公众号的回调消息转发给多个后台服务,按照call参数的设置顺序返回第一个非空的处理结果。

如果在/register接口中设置了token和aes参数,/msg/json 接口支持微信消息的自动加解密服务,后台call网址可直接使用 json 明文协议实现交互。

/app/test/msg?call=...&call=...   /app/test/msg/json?call=...&call=...

4、微信登录:

snsapi_base 方式登录验证:

/app/test/auth?call=...&state=&lang=

snsapi_info 方式登录验证:

/app/test/auth/info?call=...&state=&lang=

验证成功时,call网址将收到 json 数据包(POST),包含用户的 openid, unionid, 以及用户的其他信息。
state和lang是可选参数,具体含义请参考微信官方文档。

5、微信支付:

微信支付二维码:直接返回二维码图片,用户使用微信扫码后即可付款。

/app/test/pay/qrcode?fee=...&name=&call=&...

公众号网页支付:公众号网页内调起支付窗口完成支付。(参考实现:/example/jspay.html)

/app/test/pay/js?openid=...&fee=...&name=&call=&...

统一下单:服务端可调用统一下单接口获得支付订单,省去签名计算等步骤。

/app/test/pay?fee=...&name=&call=&...

参数说明:

  • fee: 订单金额,单位分。(必填)

  • openid: 用户在该公众号下的 openid。(网页支付必填) 允许使用客户端 cookie 传递此参数。

  • name: 订单名称。 call: 回调通知网址。订单支付成功后将支付结果发送至此网址。(JSON)

  • 其他参数(高级用法):支持微信统一下单接口 所列举的其他订单参数。具体请参考微信官方文档。(sign, sign_type 由程序自动生成,不可覆盖)

6、JSSDK:

jsapi_ticket 全局缓存:

/app/test/jsapi

JSSDK 权限验证配置:直接返回 wx.config({...}); 默认获取全部API权限。

可选参数:

debug: true或false。

apilist: 逗号分隔的 JSSDK API 列表。

<script src="/app/test/js/config?debug=true"></script>

微信卡券签名:

/app/test/js/card
  • 自己写的,如有问题欢迎指教 [核心代码]根目录/store.js // 根目录/store.js let app = getApp() const Store = function (obj, useStates = {}) { return new Proxy(app.globalData, { set(target, key, value) { if (Array.i

  • 修复kube-proxy证书权限过大问题 之前kube-proxy服务都是用admin集群证书,造成权限过大不安全,后续该问题,将在文档中修复 请关注 https://github.com/cby-chen/Kubernetes 创建生成证书配置文件 详细见:https://github.com/cby-chen/Kubernetes#23%E5%88%9B%E5%BB%BA%E8%AF%81%E

  • macOS:10.14.5 xcode:10.0 appium:1.13.0命令安装(借助淘宝镜像) 1、启动真机safari,报错“Could not navigate to webview”,经分析ios-webkit-debug-proxy没有启动; 2、安装‘brew install ios-webkit-debug-proxy’,启动‘ios_webkit_debug_proxy -c

  • 普及一下这个插件的一些日常使用方法,不讲解非常基础api,请搭配官方文档观看 先说说这个插件是干嘛的吧。 The one-liner node.js http-proxy middleware for connect, express and browser-sync Node.js proxying made simple. Configure proxy middleware with eas

  •   最近自己动手做了一个微信小程序,是直接买的腾讯云的小程序解决方案,怎么说那,用起来还是会遇到不少问题的,不过在交流群里还是会有很多人帮助你的。   闲话少说,因为要再做一个别的服务,就想直接用这台小程序的服务器就好了,但是服务器的80端口已经被小程序占用了,所以只能使用反向代理,说白了就是完成端口的分发。我们不妨以域名为路由分发:凡是 AA.com 域名请求的,分发到 PHP 82 端口执行;

 相关资料
  • 本文向大家介绍利用django+wechat-python-sdk 创建微信服务器接入的方法,包括了利用django+wechat-python-sdk 创建微信服务器接入的方法的使用技巧和注意事项,需要的朋友参考一下 1、版本说明 :python 2.7.10, Django (1.6.11.6),centos7 2、步骤说明: A、django 建立项目 之后启动服务器,看看是否正确: 配置

  • 我实际上在研究微服务,我面临一个问题。 上下文 我正在开发两个微服务: 用户管理,基于spring,使用MySQL数据库 计划管理,基于ASP.NET与SQL Server数据库。此服务的唯一访问点是列出一些RESTFULendpoint的API,如 计费管理,基于MongoDB的node.js。 问题 > 我该怎么做才能只允许通过用户服务访问规划信息,而不耦合这两个服务?知道以后可以从其他地方访

  • 微信客服 当用户关注了微信公众号所回复的消息体现 详细记录了粉丝昵称、留言内容、留言时间、回复内容、回复时间

  • Proxy 动态代理是 jfinal AOP 的底层实现机制。jfinal 4.0 版本新增了 com.jfinal.proxy 模块用于消除对 cglib/asm 的依赖来实现动态代理。 proxy 模块需要运行在 JDK 环境之下,如果需要运行在 JRE 之下,可以添加如下配置来支持: public void configConstant(Constants me) { // 4.6 之

  • 在代理模式中,类表示另一个类的功能。 这种类型的设计模式属于结构模式。 在代理模式中,我们创建具有原始对象的对象以将其功能与外部世界接口。 实现 (Implementation) 我们将创建一个Image接口和实现Image接口的具体类。 ProxyImage是一个代理类,用于减少RealImage对象加载的内存占用。 我们的演示类ProxyImage将使用ProxyImage来获取Image对象

  • Zuul Server是一个网关应用程序,可处理所有请求并执行微服务应用程序的动态路由。 Zuul服务器也称为边缘服务器。 例如, /api/user映射到用户服务,/ api/products映射到产品服务,Zuul Server将请求动态路由到相应的后端应用程序。 在本章中,我们将详细介绍如何在Spring Boot中创建Zuul Server应用程序。 创建Zuul服务器应用程序 Zuul