开源项目 基于 Sinatra 的微信 gem,我可以说我是 DSL 设计的吗?

cwang8023 · 2014年04月12日 · 最后由 cwang8023 回复于 2014年04月13日 · 3139 次阅读

前段时间玩微信,一时兴起,想着写一个 DSL 的微信 gem,结果就有了这个项目: https://github.com/charleyw/weChat-backend 自带 web 环境(当然是 sinatra) 主要卖点:

  1. 简单

跟 sinatra 一样上手快,简单。完全基于 sinatra,无论是语法,还是文件结构都一一模仿了。写的时候顺便看了 sinatra 的源码,学到了不少东西。

使用方法可以参照:

仅需 3 步,一个文件创建一个微信后台程序

  1. 安装 Gem
    ruby gem install 'wei-backend'
  2. 创建微信后台主程序app.rb, 内容如下: ```ruby require 'sinatra' require 'wei-backend'

token "mytoken"

on_text do "你发送了如下内容:#{params[:Content]}!!" end

on_subscribe do "感谢您的订阅" end

on_unsubscribe do "欢迎您再次订阅" end

1. 启动   
```ruby
    ruby app.rb

详细使用说明可以参考README.md,repo 里面还有一个例子可以参考。

当前能接受并解析用户发送的文本,位置,以及触发订阅和取消订阅事件的消息,能返回文本和图文消息。后续会支持所有类型的请求消息和返回消息。后续还得进行一些重构,现在判断返回消息类型是根据是字符串(文本)还是 hash 值(图文消息)进行的。跟 sinatra 的依赖关系还的理一理。

现在这个 gem 有一个稳定用户,在微信上搜#pm2.5 查询#排名第一的就是了。

已经 fork, 回头帮你重构

这是一个我之前自己用这个 gem 做的一个查询公交站点的公众号后台: https://github.com/charleyw/wait-a-bus.git 现在自己的放程序的服务器已经关掉了,真是对不起当时加了我的一百多个用户。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号