All Projects → aiportal → Wechat Proxy

aiportal / Wechat Proxy

Licence: gpl-3.0
微信代理服务。提供简单易用的 HTTP 接口,简化微信公众号后台开发。

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Wechat Proxy

Wechat Weapp Movie
🎬电影推荐 - 微信小程序
Stars: ✭ 1,355 (+797.35%)
Mutual labels:  wechat, weixin
Ggbot
一个用Go写的微信机器人
Stars: ✭ 103 (-31.79%)
Mutual labels:  wechat, weixin
Wechat Mp Hack
微信公众平台模拟登录自动群发图文消息
Stars: ✭ 101 (-33.11%)
Mutual labels:  wechat, weixin
Teepay
Typecho 个人支付宝、微信收款插件
Stars: ✭ 90 (-40.4%)
Mutual labels:  wechat, weixin
Wx Miniprogram Boilerplate
基于Gulp微信小程序开发工作流,支持less样式编写,支持ESLint代码检查等功能
Stars: ✭ 122 (-19.21%)
Mutual labels:  wechat, weixin
Wx Voice
Convert audio files between Tencent apps (Weixin / Wechat, QQ) and Silk codec with other general formats such as MP3 and M4A
Stars: ✭ 93 (-38.41%)
Mutual labels:  wechat, weixin
Wechatswift
iOS WeChat App Written in Swift 5.0
Stars: ✭ 102 (-32.45%)
Mutual labels:  wechat, weixin
Mojo Weixin
使用Perl语言(不会没关系)编写的个人账号微信/weixin/wechat客户端框架(非GUI),可通过插件提供基于HTTP协议的api接口供其他语言或系统调用
Stars: ✭ 1,181 (+682.12%)
Mutual labels:  wechat, weixin
Elastalert Wechat Plugin
elastalert微信企业号报警插件
Stars: ✭ 112 (-25.83%)
Mutual labels:  wechat, weixin
Wechat Toolbox
WeChat toolbox(微信工具箱)
Stars: ✭ 109 (-27.81%)
Mutual labels:  wechat, weixin
Weixin Java Mp Demo
基于Spring Boot 和 WxJava 实现的微信公众号Java后端Demo,支持多公众号
Stars: ✭ 1,291 (+754.97%)
Mutual labels:  wechat, weixin
Wxread Webautoreader
微信读书自动阅读器,全自动刷阅读时长,轻轻松松冲顶霸榜,您的微读挂机好帮手
Stars: ✭ 138 (-8.61%)
Mutual labels:  wechat, weixin
Mina Webpack
🍱 Mina single-file-component meets Webpack
Stars: ✭ 77 (-49.01%)
Mutual labels:  wechat, weixin
Wechat Mall
清欢美味食光机,也是我做的第一个小程序,功能比较简单,后台基于API工厂
Stars: ✭ 98 (-35.1%)
Mutual labels:  wechat, weixin
Agora Miniapp Tutorial
Hello world for Agora SDK running in https://en.wikipedia.org/wiki/WeChat#WeChat_Mini_Program
Stars: ✭ 75 (-50.33%)
Mutual labels:  wechat, weixin
Leaf
一个开发友好、功能完备的开源微信商城框架
Stars: ✭ 102 (-32.45%)
Mutual labels:  wechat, weixin
Wemark
微信小程序Markdown渲染库
Stars: ✭ 1,159 (+667.55%)
Mutual labels:  wechat, weixin
Wechat
Wechat API wrapper in Elixir
Stars: ✭ 70 (-53.64%)
Mutual labels:  wechat, weixin
Wechat
java微信客户端
Stars: ✭ 109 (-27.81%)
Mutual labels:  wechat, weixin
Typescript Wxapi.d.ts
🦉微信小程序typescript的声明文件
Stars: ✭ 133 (-11.92%)
Mutual labels:  wechat, weixin

wechat-proxy (微信代理服务)

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

示例

注册app:

https://wx.aiportal.net/register?key=test&appid=wx06766a90ab72960e&secret=05bd8b6064a9941b72ee44d5b3bfdb6a

access_token:

https://wx.aiportal.net/app/test/api
https://wx.aiportal.net/app/test/api/new

OAuth2:

首先关注测试号:微信测试号
然后用微信打开链接:https://wx.aiportal.net/app/test/auth/info?call=/echo

微信扫码支付:

<img src="https://wx.aiportal.net/app/aiportal/pay/qrcode?fee=1&name=支付测试&call=/echo"><img>

微信公众号支付:(version 2.02)

<script src="/app/aiportal/pay/js?fee=1&var=payConfig&call=/echo&openid=o62SMjlZ378PMI6j5b5x8HAoX9YA"></script>

function pop_pay(config) {
    // 弹出微信支付界面
    WeixinJSBridge.invoke('getBrandWCPayRequest', payConfig, function (res) {
        alert(res.err_msg);
    });
}

参考页面: https://wx.aiportal.net/example/jspay.html

微信JSSDK配置:

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

参考页面:https://wx.aiportal.net/example/jsapi.html

使用说明:

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接口。

新增功能:

v2.02 开始,允许以 merge 方式补充参数内容。 即key,appid,secret三个参数必填, 其他可选参数会自动merge到当前注册信息中,不必一次提交。
v2.03 开始,允许使用 /app/ 路径查看已注册的参数内容,其中涉密参数使用********代替。

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].