• Stars
    star
    408
  • Rank 105,946 (Top 3 %)
  • Language
    Ruby
  • License
    MIT License
  • Created almost 11 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

微信集成 ruby weixin_rails_middleware for integration weixin.

WeixinRailsMiddleware

Gem Version

该项目使用MIT-LICENSE.

https://rubygems.org/gems/weixin_rails_middleware

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

微信企业版本

https://github.com/lanrion/qy_wechat

https://github.com/lanrion/qy_wechat_api

使用特别说明

支持Rails版本

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

参考示例

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

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

相关gem推荐使用

查看 Wiki:

使用公司列表

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

https://github.com/lanrion/weixin_rails_middleware/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

$ 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对你有帮助,欢迎打赏支持,😄