Skip to content

Eric-Guo/wechat-starter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

d44eba1 · Nov 23, 2024
Aug 20, 2023
Sep 27, 2023
Sep 27, 2023
Aug 16, 2023
Sep 1, 2016
Feb 2, 2016
Jul 14, 2017
Jul 14, 2017
Jul 14, 2017
Jul 14, 2017
Aug 9, 2023
Feb 18, 2016
Jun 1, 2018
Oct 7, 2023
Nov 23, 2024
Sep 2, 2019
Jul 14, 2017
Sep 2, 2019
Aug 2, 2023
Jul 14, 2017
Feb 17, 2016

Repository files navigation

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/Eric-Guo/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