Awesome
wechat-starter
Template for developing wechat in rails.
Features
-
Process messages with Eric-Guo/wechat
-
UI library using weui with weui-rails
-
Pay with jasl/wx_pay
-
OAuth2 with skinnyworm/omniauth-wechat-oauth2
Screenshots
<img src="http://i.imgur.com/WimbzPX.png" width="240"> <img src="http://i.imgur.com/urwmWZv.png" width="240"> <img src="http://i.imgur.com/UPw6FRc.png" width="240">Demo
<img src="http://onrroy52y.bkt.clouddn.com/20170410223715_TvCyRq_1491834768.jpeg">Service account sponsored by Le Wagon Shanghai
Install
See wiki first
Deploy to Heroku
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)