weixin_rails_middleware

by lanrion

微信集成 ruby weixin_rails_middleware for integration weixin.

414 Stars 113 Forks Last release: Not found MIT License 191 Commits 18 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

WeixinRailsMiddleware

Gem Version

该项目使用MIT-LICENSE.

https://rubygems.org/gems/weixinrailsmiddleware

已经实现消息体签名及加解密,升级与使用,详见Wiki 实现消息体签名及加解密

微信企业版本

https://github.com/lanrion/qy_wechat

https://github.com/lanrion/qywechatapi

使用特别说明

支持Rails版本

已经支持 Rails 3,Rails 4,Rails 5,Rails 6

参考示例

Rails 4: https://github.com/lanrion/weixinrailsmiddleware_example

Rails 3: https://github.com/lanrion/weixinrails3

相关gem推荐使用

查看 Wiki:

使用公司列表

如果您或者您的公司正在使用当中,欢迎加入此列表:

https://github.com/lanrion/weixinrailsmiddleware/wiki/gem-users-list

实现功能

  • 自动验证微信请求。

  • 无需拼接XML格式,只需要使用

    ReplyWeixinMessageHelper
    辅助方法,即可快速回复。 使用方法:
    render xml: reply_text_message("Your Message: #{current_message.Content}")
  • 支持自定义token,适合一个用户使用。

  • 支持多用户token: 适合多用户注册网站,每个用户有不同的token,通过

    weixin_rails_middleware.rb
    配置好存储token的Model与字段名,即可。
  • 文本回复:

    reply_text_message(content)
  • 音乐回复:

    reply_music_message(music)
    ,
    generate_music(title, desc, music_url, hq_music_url)
  • 图文回复:

    reply_news_message(articles)
    ,
    generate_article(title, desc, pic_url, link_url)
  • 视频回复:

    reply_video_message(video)
  • 语音回复:

    reply_voice_message(voice)
  • 图片回复:

    reply_image_message(image)
  • 地理位置回复: 自定义需求。

  • 其他高级API实现:weixin_authorize

如何测试?

安装 ngrok,解压后跑

ngrok 4000

然后会产生以下信息:

  Tunnel Status                 online
  Version                       1.6/1.5
  Forwarding                    http://e0ede89.ngrok.com -> 127.0.0.1:4000
  Forwarding                    https://e0ede89.ngrok.com -> 127.0.0.1:4000
  Web Interface                 127.0.0.1:4040
  # Conn                        67
  Avg Conn Time                 839.50ms

域名为

http://e0ede89.ngrok.com
。 注意非付费版本域名每次会随机生成,不是固定的。

Ngrok已墙,你懂得的,ngrok 已墙,请使用localtunnel.me,使用方法:

npm install -g localtunnel
```sh $ lt --port 8000

your url is: https://gqgh.localtunnel.me

## 贡献你的代码

  1. Fork 项目
  2. 创建自己的功能分支 (git checkout -b my-new-feature).
  3. 提交你的修改 (git commit -am 'Add some feature').
  4. 推荐到远程分支 (git push origin my-new-feature).
  5. 提交PR审核.
  6. 可使用 weixin_rails_middleware_example, 来测试

Bugs 和反馈

如果你发现有出现任何的bug,请在 https://github.com/lanrion/weixin_rails_middleware/issues 记录你的bug详细信息,

或者在 Ruby China 开帖 @ruby_sky, 个人邮箱回复速度相对慢.

推荐阅读

参考致谢

在微信回复信息XML的封装方法,借鉴了 rack-weixin 实现,特此感谢!

捐赠支持

如果你觉得我的gem对你有帮助,欢迎打赏支持,:smile:

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.