Template for developing wechat in rails
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
app
bin
config
db
lib
log
public
test
tmp
vendor
.gitignore
.rubocop.yml
.travis.yml
Gemfile
Gemfile.lock
README.md
Rakefile
app.json
config.ru
package.json
wechat-starter.sublime-project

README.md

wechat-starter

Build Status Code Climate

Template for developing wechat in rails.

Features

Screenshots

Demo

Service account sponsored by Le Wagon Shanghai

Install

See wiki first

Deploy to Heroku

Deploy

Deploy to your own server

  • Requirements

    • PostgreSQL

    • Configure "服务器地址" as http://your-domain.com/wechat

    • Configure "测试授权目录" as http://your-domain.com/

  • Install

    • Create your new project and add this repo as template

      mkdir your_app
      cd your_app
      git init
      git remote add template https://github.com/goofansu/wechat-starter.git
      git fetch template
      git checkout -b master template/master
      bundle install
      rake db:create
      rake db:migrate
    • Create config/application.yml and config following information:

      wechat_app_id: "AppID"
      wechat_secret: "AppSecret"
      wechat_token:  "Token"
      wechat_encoding_aes_key: "EncodingAESKey"
      wechat_trusted_domain_fullname: "http://your_dev.proxy.qqbrowser.cc"
      
      # following is optional if you don't need wechat pay
      wechat_pay_mch_id: "merchant id"
      wechat_pay_api_key: "32 bits api key configured in pay.weixin.qq.com"
      wechat_pay_notify_url: "url to accept pay result notification"
    • Start server

      puma -C config/puma.rb

Create customized menu

It depends on Rails.env to choose the menu from config folder.

For example, if Rails.env == production, then config/menu_production.yaml is chosed.

# create menu
rake wechat:menu_create

# show menu
rake wechat:menu

References

Extension projects

  • rails authentication system
    • wechat omniauth only login
    • requires phone and email to login the system
    • phone confirmation service using yunpian
    • I18n internationalization (default locale is zh-CN)
    • rpsec test and simplecov test coverage (97.2% LOC covered)

Contributors