rails_wechat 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE +20 -165
- data/README.md +28 -20
- data/app/apis/wechat/access_token_expired_error.rb +3 -0
- data/app/apis/wechat/api/base/datacube.rb +14 -0
- data/app/apis/wechat/api/base/sns.rb +36 -0
- data/app/apis/wechat/api/base.rb +40 -0
- data/app/apis/wechat/api/platform/component.rb +54 -0
- data/app/apis/wechat/api/platform.rb +15 -0
- data/app/apis/wechat/api/program/wxa.rb +21 -0
- data/app/apis/wechat/api/program/wxaapi.rb +31 -0
- data/app/apis/wechat/api/program.rb +11 -0
- data/app/apis/wechat/api/public/base.rb +73 -0
- data/app/apis/wechat/api/public/material.rb +54 -0
- data/app/apis/wechat/api/public/menu.rb +43 -0
- data/app/apis/wechat/api/public/mp.rb +11 -0
- data/app/apis/wechat/api/public/user.rb +73 -0
- data/app/apis/wechat/api/public.rb +12 -0
- data/app/apis/wechat/api/work/agent.rb +26 -0
- data/app/apis/wechat/api/work/menu.rb +47 -0
- data/app/apis/wechat/api/work/user.rb +116 -0
- data/app/apis/wechat/api/work.rb +14 -0
- data/app/apis/wechat/api.rb +7 -0
- data/app/apis/wechat/app_not_found.rb +3 -0
- data/app/apis/wechat/cipher.rb +82 -0
- data/app/apis/wechat/http_client.rb +80 -0
- data/app/apis/wechat/invalid_credential_error.rb +3 -0
- data/app/apis/wechat/message/base.rb +17 -0
- data/app/apis/wechat/message/mass/public.rb +40 -0
- data/app/apis/wechat/message/mass/work.rb +84 -0
- data/app/apis/wechat/message/mass.rb +22 -0
- data/app/apis/wechat/message.rb +7 -0
- data/app/apis/wechat/response_error.rb +10 -0
- data/app/apis/wechat/signature.rb +32 -0
- data/app/apis/wechat/wechat_error.rb +3 -0
- data/app/controllers/wechat/admin/accounts_controller.rb +25 -0
- data/app/controllers/wechat/admin/apps_controller.rb +66 -0
- data/app/controllers/wechat/admin/base_controller.rb +7 -1
- data/app/controllers/wechat/admin/extractors_controller.rb +49 -0
- data/app/controllers/wechat/admin/menus_controller.rb +69 -0
- data/app/controllers/wechat/admin/news_reply_items_controller.rb +16 -0
- data/app/controllers/wechat/admin/notices_controller.rb +40 -0
- data/app/controllers/wechat/admin/registers_controller.rb +82 -0
- data/app/controllers/wechat/admin/replies_controller.rb +55 -0
- data/app/controllers/wechat/admin/requests_controller.rb +23 -0
- data/app/controllers/wechat/admin/responses_controller.rb +66 -0
- data/app/controllers/wechat/admin/tags_controller.rb +43 -0
- data/app/controllers/wechat/admin/templates_controller.rb +48 -0
- data/app/controllers/wechat/admin/wechat_users_controller.rb +31 -0
- data/app/controllers/wechat/apps_controller.rb +62 -0
- data/app/controllers/wechat/base_controller.rb +5 -0
- data/app/controllers/wechat/controller/application.rb +78 -0
- data/app/controllers/wechat/my/base_controller.rb +4 -0
- data/app/controllers/wechat/my/medias_controller.rb +56 -0
- data/app/controllers/wechat/my/registers_controller.rb +74 -0
- data/app/controllers/wechat/my/subscribes_controller.rb +18 -0
- data/app/controllers/wechat/my/users_controller.rb +18 -0
- data/app/controllers/wechat/my/wechat_users_controller.rb +37 -0
- data/app/controllers/wechat/panel/agencies_controller.rb +26 -0
- data/app/controllers/wechat/panel/apps_controller.rb +50 -0
- data/app/controllers/wechat/panel/base_controller.rb +3 -2
- data/app/controllers/wechat/panel/menus_controller.rb +60 -0
- data/app/controllers/wechat/panel/platforms_controller.rb +38 -0
- data/app/controllers/wechat/panel/template_configs_controller.rb +39 -0
- data/app/controllers/wechat/platforms_controller.rb +60 -0
- data/app/controllers/wechat/program_users_controller.rb +86 -0
- data/app/controllers/wechat/share/apps_controller.rb +21 -0
- data/app/controllers/wechat/share/base_controller.rb +10 -0
- data/app/controllers/wechat/share/menus_controller.rb +93 -0
- data/app/controllers/wechat/share/scenes_controller.rb +62 -0
- data/app/controllers/wechat/share/wechat_users_controller.rb +57 -0
- data/app/controllers/wechat/wechat_controller.rb +39 -0
- data/app/controllers/wechat/wechats_controller.rb +41 -19
- data/app/jobs/wechat/agency_job.rb +9 -0
- data/app/jobs/wechat/annunciate_job.rb +10 -0
- data/app/jobs/wechat/file_reply_upload_job.rb +10 -0
- data/app/jobs/wechat/media_job.rb +10 -0
- data/app/jobs/wechat/notice_send_job.rb +10 -0
- data/app/jobs/wechat/qrcode_job.rb +10 -0
- data/app/jobs/wechat/tag_job.rb +10 -0
- data/app/jobs/wechat/user_info_job.rb +11 -0
- data/app/jobs/wechat/user_job.rb +11 -0
- data/app/jobs/wechat/user_tag_job.rb +11 -0
- data/app/jobs/wechat/user_tag_remove_job.rb +11 -0
- data/app/mailboxes/application_mailbox.rb +3 -0
- data/app/mailboxes/wechat_mailbox.rb +17 -0
- data/app/models/app/wechat/mobile_app.rb +5 -0
- data/app/models/app/wechat/program_app.rb +5 -0
- data/app/models/app/wechat/public_app.rb +5 -0
- data/app/models/app/wechat/read_app.rb +5 -0
- data/app/models/app/wechat/work_app.rb +5 -0
- data/app/models/menu/wechat/click_menu.rb +5 -0
- data/app/models/menu/wechat/mini_program_menu.rb +5 -0
- data/app/models/menu/wechat/parent_menu.rb +5 -0
- data/app/models/menu/wechat/scan_push_menu.rb +5 -0
- data/app/models/menu/wechat/scan_wait_menu.rb +5 -0
- data/app/models/menu/wechat/view_menu.rb +5 -0
- data/app/models/notice/wechat/program_notice.rb +5 -0
- data/app/models/notice/wechat/public_notice.rb +5 -0
- data/app/models/oauth_user/wechat/program_user.rb +5 -0
- data/app/models/oauth_user/wechat/wechat_user.rb +5 -0
- data/app/models/reply/wechat/image_reply.rb +5 -0
- data/app/models/reply/wechat/music_reply.rb +5 -0
- data/app/models/reply/wechat/news_reply.rb +5 -0
- data/app/models/reply/wechat/success_reply.rb +5 -0
- data/app/models/reply/wechat/text_reply.rb +5 -0
- data/app/models/reply/wechat/video_reply.rb +5 -0
- data/app/models/reply/wechat/voice_reply.rb +5 -0
- data/app/models/request/wechat/click_request.rb +5 -0
- data/app/models/request/wechat/image_request.rb +5 -0
- data/app/models/request/wechat/link_request.rb +5 -0
- data/app/models/request/wechat/location_request.rb +5 -0
- data/app/models/request/wechat/scan_request.rb +5 -0
- data/app/models/request/wechat/short_video_request.rb +4 -0
- data/app/models/request/wechat/subscribe_request.rb +5 -0
- data/app/models/request/wechat/text_request.rb +5 -0
- data/app/models/request/wechat/unsubscribe_request.rb +5 -0
- data/app/models/request/wechat/video_request.rb +5 -0
- data/app/models/request/wechat/view_request.rb +5 -0
- data/app/models/request/wechat/voice_request.rb +5 -0
- data/app/models/service/wechat/image_service.rb +5 -0
- data/app/models/service/wechat/mpnews_service.rb +5 -0
- data/app/models/service/wechat/msgmenu_service.rb +5 -0
- data/app/models/service/wechat/news_service.rb +5 -0
- data/app/models/service/wechat/text_service.rb +5 -0
- data/app/models/service/wechat/video_service.rb +5 -0
- data/app/models/service/wechat/voice_service.rb +5 -0
- data/app/models/template_config/wechat/template_program.rb +5 -0
- data/app/models/template_config/wechat/template_public.rb +5 -0
- data/app/models/wechat/agency.rb +6 -0
- data/app/models/wechat/app.rb +6 -0
- data/app/models/wechat/application_record.rb +5 -0
- data/app/models/wechat/auth.rb +5 -0
- data/app/models/wechat/ext/effective.rb +10 -0
- data/app/models/wechat/ext/organ.rb +14 -0
- data/app/models/wechat/ext/subscribed.rb +14 -0
- data/app/models/wechat/ext/user.rb +21 -0
- data/app/models/wechat/ext/user_tag.rb +38 -0
- data/app/models/wechat/extraction.rb +5 -0
- data/app/models/wechat/extractor.rb +5 -0
- data/app/models/wechat/hook.rb +5 -0
- data/app/models/wechat/media.rb +5 -0
- data/app/models/wechat/menu.rb +5 -0
- data/app/models/wechat/model/account.rb +23 -0
- data/app/models/wechat/model/agency.rb +70 -0
- data/app/models/wechat/model/annunciate.rb +32 -0
- data/app/models/wechat/model/app/mobile_app.rb +11 -0
- data/app/models/wechat/model/app/program_app.rb +18 -0
- data/app/models/wechat/model/app/public_app.rb +46 -0
- data/app/models/wechat/model/app/read_app.rb +24 -0
- data/app/models/wechat/model/app/work_app.rb +33 -0
- data/app/models/wechat/model/app.rb +198 -0
- data/app/models/wechat/model/app_sync.rb +35 -0
- data/app/models/wechat/model/auth.rb +35 -0
- data/app/models/wechat/model/extraction.rb +21 -0
- data/app/models/wechat/model/extractor.rb +77 -0
- data/app/models/wechat/model/hook.rb +13 -0
- data/app/models/wechat/model/media.rb +33 -0
- data/app/models/wechat/model/menu/click_menu.rb +18 -0
- data/app/models/wechat/model/menu/mini_program_menu.rb +20 -0
- data/app/models/wechat/model/menu/parent_menu.rb +17 -0
- data/app/models/wechat/model/menu/scan_push_menu.rb +18 -0
- data/app/models/wechat/model/menu/scan_wait_menu.rb +18 -0
- data/app/models/wechat/model/menu/view_menu.rb +37 -0
- data/app/models/wechat/model/menu.rb +28 -0
- data/app/models/wechat/model/news_reply_item.rb +29 -0
- data/app/models/wechat/model/notice/program_notice.rb +19 -0
- data/app/models/wechat/model/notice/public_notice.rb +25 -0
- data/app/models/wechat/model/notice.rb +56 -0
- data/app/models/wechat/model/oauth_user/program_user.rb +29 -0
- data/app/models/wechat/model/oauth_user/wechat_user.rb +109 -0
- data/app/models/wechat/model/platform.rb +87 -0
- data/app/models/wechat/model/post.rb +34 -0
- data/app/models/wechat/model/receive.rb +120 -0
- data/app/models/wechat/model/register.rb +137 -0
- data/app/models/wechat/model/reply/image_reply.rb +41 -0
- data/app/models/wechat/model/reply/music_reply.rb +20 -0
- data/app/models/wechat/model/reply/news_reply.rb +24 -0
- data/app/models/wechat/model/reply/success_reply.rb +9 -0
- data/app/models/wechat/model/reply/text_reply.rb +14 -0
- data/app/models/wechat/model/reply/video_reply.rb +20 -0
- data/app/models/wechat/model/reply/voice_reply.rb +16 -0
- data/app/models/wechat/model/reply.rb +39 -0
- data/app/models/wechat/model/request/click_request.rb +25 -0
- data/app/models/wechat/model/request/image_request.rb +9 -0
- data/app/models/wechat/model/request/link_request.rb +9 -0
- data/app/models/wechat/model/request/location_request.rb +9 -0
- data/app/models/wechat/model/request/scan_request.rb +17 -0
- data/app/models/wechat/model/request/subscribe_request.rb +10 -0
- data/app/models/wechat/model/request/text_request.rb +20 -0
- data/app/models/wechat/model/request/unsubscribe_request.rb +4 -0
- data/app/models/wechat/model/request/video_request.rb +9 -0
- data/app/models/wechat/model/request/view_request.rb +4 -0
- data/app/models/wechat/model/request/voice_request.rb +9 -0
- data/app/models/wechat/model/request.rb +168 -0
- data/app/models/wechat/model/response.rb +41 -0
- data/app/models/wechat/model/scene.rb +101 -0
- data/app/models/wechat/model/scene_menu.rb +12 -0
- data/app/models/wechat/model/service/image_service.rb +18 -0
- data/app/models/wechat/model/service/mpnews_service.rb +10 -0
- data/app/models/wechat/model/service/msgmenu_service.rb +10 -0
- data/app/models/wechat/model/service/news_service.rb +10 -0
- data/app/models/wechat/model/service/text_service.rb +18 -0
- data/app/models/wechat/model/service/video_service.rb +10 -0
- data/app/models/wechat/model/service/voice_service.rb +10 -0
- data/app/models/wechat/model/service.rb +42 -0
- data/app/models/wechat/model/subscribe.rb +20 -0
- data/app/models/wechat/model/tag.rb +56 -0
- data/app/models/wechat/model/template.rb +82 -0
- data/app/models/wechat/model/template_config/template_program.rb +31 -0
- data/app/models/wechat/model/template_config/template_public.rb +37 -0
- data/app/models/wechat/model/template_config.rb +44 -0
- data/app/models/wechat/model/template_key_word.rb +20 -0
- data/app/models/wechat/model/ticket.rb +28 -0
- data/app/models/wechat/model/user_tag.rb +42 -0
- data/app/models/wechat/model/user_tagged.rb +22 -0
- data/app/models/wechat/model/wechat_message_tag.rb +11 -0
- data/app/models/wechat/news_reply_item.rb +5 -0
- data/app/models/wechat/notice.rb +5 -0
- data/app/models/wechat/platform.rb +5 -0
- data/app/models/wechat/receive.rb +5 -0
- data/app/models/wechat/reply.rb +5 -0
- data/app/models/wechat/request.rb +5 -0
- data/app/models/wechat/response.rb +5 -0
- data/app/models/wechat/scene.rb +5 -0
- data/app/models/wechat/scene_menu.rb +5 -0
- data/app/models/wechat/service.rb +5 -0
- data/app/models/wechat/subscribe.rb +5 -0
- data/app/models/wechat/tag.rb +5 -0
- data/app/models/wechat/template.rb +5 -0
- data/app/models/wechat/template_config.rb +5 -0
- data/app/models/wechat/template_key_word.rb +5 -0
- data/app/models/wechat/ticket.rb +5 -0
- data/app/models/wechat/user_tag.rb +5 -0
- data/app/models/wechat.rb +11 -0
- data/app/views/admin/_wechat_nav.html.erb +11 -0
- data/app/views/application/wechat_require_login.json.jbuilder +2 -0
- data/app/views/my/_wechat_nav.html+phone.erb +10 -0
- data/app/views/my/_wechat_nav.html.erb +4 -0
- data/app/views/panel/_wechat_nav.html.erb +13 -0
- data/app/{assets/config/rails_wechat_manifest.js → views/wechat/admin/accounts/qrcode.json.jbuilder} +0 -0
- data/app/views/wechat/admin/accounts/qrcode.turbo_stream.erb +3 -0
- data/app/views/wechat/admin/apps/_cert_form.html.erb +4 -0
- data/app/views/wechat/admin/apps/_edit_form.html.erb +4 -0
- data/app/views/wechat/admin/apps/_filter_form.html.erb +9 -0
- data/app/views/wechat/admin/apps/_form.html.erb +6 -0
- data/app/views/wechat/admin/apps/_index_tbody.html.erb +61 -0
- data/app/views/wechat/admin/apps/_index_thead.html.erb +7 -0
- data/app/views/wechat/admin/apps/_index_tr.html.erb +22 -0
- data/app/views/wechat/admin/apps/_info.html.erb +20 -0
- data/app/views/wechat/admin/apps/_new_form.html.erb +4 -0
- data/app/views/wechat/admin/apps/_pay_form.html.erb +7 -0
- data/app/views/wechat/admin/apps/_qy_form.html.erb +4 -0
- data/app/views/wechat/admin/apps/_show.json.jbuilder +1 -0
- data/app/views/wechat/admin/apps/_show_table.html.erb +36 -0
- data/app/views/wechat/admin/apps/_wechat_app.json.jbuilder +18 -0
- data/app/views/wechat/admin/apps/edit_cert.html.erb +3 -0
- data/app/views/wechat/admin/apps/index.html.erb +5 -0
- data/app/views/wechat/admin/apps/index.json.jbuilder +1 -0
- data/app/views/wechat/admin/apps/info.html.erb +3 -0
- data/app/views/wechat/admin/base/_nav.html.erb +3 -0
- data/app/views/wechat/admin/base/_wechat_nav_user.html.erb +18 -0
- data/app/views/wechat/admin/extractors/_breadcrumb.html.erb +8 -0
- data/app/views/wechat/admin/extractors/_edit_form.html.erb +4 -0
- data/app/views/wechat/admin/extractors/_filter_form.html.erb +9 -0
- data/app/views/wechat/admin/extractors/_form.html.erb +21 -0
- data/app/views/wechat/admin/extractors/_index_tbody.html.erb +24 -0
- data/app/views/wechat/admin/extractors/_index_thead.html.erb +17 -0
- data/app/views/wechat/admin/extractors/_new_form.html.erb +4 -0
- data/app/views/wechat/admin/extractors/_show_table.html.erb +32 -0
- data/app/views/wechat/admin/extractors/index.html.erb +5 -0
- data/app/views/wechat/admin/menus/_breadcrumb.html.erb +9 -0
- data/app/views/wechat/admin/menus/_button.html.erb +9 -0
- data/app/views/wechat/admin/menus/_edit_form.html.erb +6 -0
- data/app/views/wechat/admin/menus/_edit_parent_form.html.erb +5 -0
- data/app/views/wechat/admin/menus/_filter_form.html.erb +8 -0
- data/app/views/wechat/admin/menus/_form.html.erb +7 -0
- data/app/views/wechat/admin/menus/_index_tbody.html.erb +16 -0
- data/app/views/wechat/admin/menus/_index_thead.html.erb +9 -0
- data/app/views/wechat/admin/menus/_index_tr.html.erb +24 -0
- data/app/views/wechat/admin/menus/_new_form.html.erb +6 -0
- data/app/views/wechat/admin/menus/_new_parent_form.html.erb +7 -0
- data/app/views/wechat/admin/menus/_show_table.html.erb +20 -0
- data/app/views/wechat/admin/menus/edit_parent.html.erb +3 -0
- data/app/views/wechat/admin/menus/index.html.erb +4 -0
- data/app/views/wechat/admin/menus/new_parent.html.erb +3 -0
- data/app/views/wechat/admin/menus/sync.turbo_stream.erb +3 -0
- data/app/views/wechat/admin/notices/_edit_form.html.erb +7 -0
- data/app/views/wechat/admin/notices/_filter_form.html.erb +9 -0
- data/app/views/wechat/admin/notices/_form.html.erb +3 -0
- data/app/views/wechat/admin/notices/_index_tbody.erb +3 -0
- data/app/views/wechat/admin/notices/_index_thead.html.erb +3 -0
- data/app/views/wechat/admin/notices/_new_form.html.erb +5 -0
- data/app/views/wechat/admin/notices/_show_table.html.erb +8 -0
- data/app/views/wechat/admin/notices/index.html.erb +5 -0
- data/app/views/wechat/admin/registers/_app_form.html.erb +5 -0
- data/app/views/wechat/admin/registers/_assign_form.html.erb +6 -0
- data/app/views/wechat/admin/registers/_bind_form.html.erb +5 -0
- data/app/views/wechat/admin/registers/_button.html.erb +3 -0
- data/app/views/wechat/admin/registers/_edit_form.html.erb +4 -0
- data/app/views/wechat/admin/registers/_filter_form.html.erb +10 -0
- data/app/views/wechat/admin/registers/_form.html.erb +5 -0
- data/app/views/wechat/admin/registers/_index_tbody.html.erb +37 -0
- data/app/views/wechat/admin/registers/_index_thead.html.erb +23 -0
- data/app/views/wechat/admin/registers/_index_tr.html.erb +25 -0
- data/app/views/wechat/admin/registers/_new_form.html.erb +4 -0
- data/app/views/wechat/admin/registers/_qrcode_form.html.erb +5 -0
- data/app/views/wechat/admin/registers/_show_table.html.erb +32 -0
- data/app/views/wechat/admin/registers/edit_app.turbo_stream.erb +3 -0
- data/app/views/wechat/admin/registers/edit_assign.turbo_stream.erb +3 -0
- data/app/views/wechat/admin/registers/edit_bind.turbo_stream.erb +3 -0
- data/app/views/wechat/admin/registers/edit_qrcode.turbo_stream.erb +3 -0
- data/app/views/wechat/admin/registers/index.html.erb +5 -0
- data/app/views/wechat/admin/replies/_breadcrumb.html.erb +7 -0
- data/app/views/wechat/admin/replies/_edit_form.html.erb +4 -0
- data/app/views/wechat/admin/replies/_filter_form.html.erb +9 -0
- data/app/views/wechat/admin/replies/_filter_table.html.erb +11 -0
- data/app/views/wechat/admin/replies/_form.html.erb +3 -0
- data/app/views/wechat/admin/replies/_image_form.html.erb +1 -0
- data/app/views/wechat/admin/replies/_index_tbody.html.erb +29 -0
- data/app/views/wechat/admin/replies/_index_thead.html.erb +3 -0
- data/app/views/wechat/admin/replies/_new_form.html.erb +4 -0
- data/app/views/wechat/admin/replies/_news_form.html.erb +6 -0
- data/app/views/wechat/admin/replies/_show_table.html.erb +12 -0
- data/app/views/wechat/admin/replies/_text_form.html.erb +1 -0
- data/app/views/wechat/admin/replies/add.html.erb +11 -0
- data/app/views/wechat/admin/replies/build.turbo_stream.erb +7 -0
- data/app/views/wechat/admin/replies/index.html.erb +5 -0
- data/app/views/wechat/admin/replies/index.js +12 -0
- data/app/views/wechat/admin/requests/_breadcrumb.html.erb +7 -0
- data/app/views/wechat/admin/requests/_button.html.erb +3 -0
- data/app/views/wechat/admin/requests/_filter_form.html.erb +10 -0
- data/app/views/wechat/admin/requests/_filter_table.html.erb +11 -0
- data/app/views/wechat/admin/requests/_index_tbody.html.erb +21 -0
- data/app/views/wechat/admin/requests/_index_thead.html.erb +6 -0
- data/app/views/wechat/admin/requests/_index_tr.html.erb +13 -0
- data/app/views/wechat/admin/requests/_show_table.html.erb +18 -0
- data/app/views/wechat/admin/requests/index.html.erb +5 -0
- data/app/views/wechat/admin/responses/_breadcrumb.html.erb +7 -0
- data/app/views/wechat/admin/responses/_edit_form.html.erb +4 -0
- data/app/views/wechat/admin/responses/_filter_form.html.erb +9 -0
- data/app/views/wechat/admin/responses/_filter_table.html.erb +11 -0
- data/app/views/wechat/admin/responses/_form.html.erb +4 -0
- data/app/views/wechat/admin/responses/_index_tbody.html.erb +27 -0
- data/app/views/wechat/admin/responses/_index_thead.html.erb +14 -0
- data/app/views/wechat/admin/responses/_index_tr.html.erb +19 -0
- data/app/views/wechat/admin/responses/_new_form.html.erb +4 -0
- data/app/views/wechat/admin/responses/_reply_body.html.erb +4 -0
- data/app/views/wechat/admin/responses/_reply_form.html.erb +5 -0
- data/app/views/wechat/admin/responses/_show/_breadcrumb.html.erb +8 -0
- data/app/views/wechat/admin/responses/_show_table.html.erb +35 -0
- data/app/views/wechat/admin/responses/edit_reply.html.erb +3 -0
- data/app/views/wechat/admin/responses/filter_reply.turbo_stream.erb +1 -0
- data/app/views/wechat/admin/responses/index.html.erb +5 -0
- data/app/views/wechat/admin/responses/show.html.erb +4 -0
- data/app/views/wechat/admin/tags/_button.html.erb +6 -0
- data/app/views/wechat/admin/tags/_edit_form.html.erb +4 -0
- data/app/views/wechat/admin/tags/_filter_form.html.erb +9 -0
- data/app/views/wechat/admin/tags/_form.html.erb +2 -0
- data/app/views/wechat/admin/tags/_index_tbody.html.erb +4 -0
- data/app/views/wechat/admin/tags/_index_thead.html.erb +5 -0
- data/app/views/wechat/admin/tags/_index_tr.html.erb +16 -0
- data/app/views/wechat/admin/tags/_new_form.html.erb +4 -0
- data/app/views/wechat/admin/tags/_show_table.html.erb +12 -0
- data/app/views/wechat/admin/tags/index.html.erb +6 -0
- data/app/views/wechat/admin/tags/sync.turbo_stream.erb +3 -0
- data/app/views/wechat/admin/templates/_breadcrumb.html.erb +7 -0
- data/app/views/wechat/admin/templates/_button.html.erb +5 -0
- data/app/views/wechat/admin/templates/_edit_form.html.erb +4 -0
- data/app/views/wechat/admin/templates/_filter_form.html.erb +9 -0
- data/app/views/wechat/admin/templates/_form.html.erb +6 -0
- data/app/views/wechat/admin/templates/_index_tbody.html.erb +13 -0
- data/app/views/wechat/admin/templates/_index_template_config.html.erb +16 -0
- data/app/views/wechat/admin/templates/_index_thead.html.erb +9 -0
- data/app/views/wechat/admin/templates/_new_form.html.erb +4 -0
- data/app/views/wechat/admin/templates/_show_table.html.erb +20 -0
- data/app/views/wechat/admin/templates/index.html.erb +5 -0
- data/app/views/wechat/admin/wechat_users/_edit_form.html.erb +5 -0
- data/app/views/wechat/admin/wechat_users/_filter_form.html.erb +9 -0
- data/app/views/wechat/admin/wechat_users/_index_tbody.html.erb +16 -0
- data/app/views/wechat/admin/wechat_users/_index_thead.html.erb +13 -0
- data/app/views/wechat/admin/wechat_users/_show_table.html.erb +20 -0
- data/app/views/wechat/admin/wechat_users/index.html.erb +7 -0
- data/app/views/wechat/apps/login.html.erb +1 -0
- data/app/views/wechat/my/medias/_edit_form.html.erb +4 -0
- data/app/views/wechat/my/medias/_filter_form.html.erb +9 -0
- data/app/views/wechat/my/medias/_form.html.erb +6 -0
- data/app/views/wechat/my/medias/_index_tbody.html.erb +5 -0
- data/app/views/wechat/my/medias/_index_thead.html.erb +6 -0
- data/app/views/wechat/my/medias/_new_form.html.erb +4 -0
- data/app/views/wechat/my/medias/_show_table.html.erb +20 -0
- data/app/views/wechat/my/medias/create.turbo_stream.erb +0 -0
- data/app/views/wechat/my/medias/index.html.erb +5 -0
- data/app/views/wechat/my/registers/_edit_form.html.erb +4 -0
- data/app/views/wechat/my/registers/_filter_form.html.erb +9 -0
- data/app/views/wechat/my/registers/_form.html+phone.erb +11 -0
- data/app/views/wechat/my/registers/_form.html.erb +4 -0
- data/app/views/wechat/my/registers/_new_form.html+phone.erb +4 -0
- data/app/views/wechat/my/registers/_new_form.html.erb +4 -0
- data/app/views/wechat/my/registers/_show_table.html.erb +8 -0
- data/app/views/wechat/my/registers/_wechat_register.html.erb +32 -0
- data/app/views/wechat/my/registers/_wechat_register_done.html.erb +29 -0
- data/app/views/wechat/my/registers/edit_code.html.erb +12 -0
- data/app/views/wechat/my/registers/index.html+phone.erb +16 -0
- data/app/views/wechat/my/registers/index.html.erb +36 -0
- data/app/views/wechat/my/registers/new.html.erb +1 -0
- data/app/views/wechat/my/subscribes/_filter_form.html.erb +7 -0
- data/app/views/wechat/my/subscribes/_form.html.erb +7 -0
- data/app/views/wechat/my/subscribes/_show_table.html.erb +12 -0
- data/app/views/wechat/my/subscribes/index.html.erb +40 -0
- data/app/views/wechat/my/users/invite_qrcode.html+phone.erb +35 -0
- data/app/views/wechat/my/users/invite_qrcode.html.erb +6 -0
- data/app/views/wechat/my/users/requests.html+phone.erb +53 -0
- data/app/views/wechat/panel/agencies/_breadcrumb.html.erb +6 -0
- data/app/views/wechat/panel/agencies/_button.html.erb +0 -0
- data/app/views/wechat/panel/agencies/_edit_form.html.erb +4 -0
- data/app/views/wechat/panel/agencies/_filter_form.html.erb +9 -0
- data/app/views/wechat/panel/agencies/_form.html.erb +6 -0
- data/app/views/wechat/panel/agencies/_index_tbody.html.erb +17 -0
- data/app/views/wechat/panel/agencies/_index_thead.html.erb +15 -0
- data/app/views/wechat/panel/agencies/_show_table.html.erb +20 -0
- data/app/views/wechat/panel/agencies/index.html.erb +5 -0
- data/app/views/wechat/panel/apps/_edit_form.html.erb +4 -0
- data/app/views/wechat/panel/apps/_filter_form.html.erb +9 -0
- data/app/views/wechat/panel/apps/_form.html.erb +17 -0
- data/app/views/wechat/panel/apps/_index_tbody.html.erb +52 -0
- data/app/views/wechat/panel/apps/_index_thead.html.erb +6 -0
- data/app/views/wechat/panel/apps/_index_tr.html.erb +16 -0
- data/app/views/wechat/panel/apps/_new_form.html.erb +4 -0
- data/app/views/wechat/panel/apps/_show.json.jbuilder +1 -0
- data/app/views/wechat/panel/apps/_show_table.html.erb +36 -0
- data/app/views/wechat/panel/apps/_wechat_app.json.jbuilder +18 -0
- data/app/views/wechat/panel/apps/edit_cert.html.erb +3 -0
- data/app/views/wechat/panel/apps/index.html.erb +5 -0
- data/app/views/wechat/panel/apps/index.json.jbuilder +1 -0
- data/app/views/wechat/panel/base/_nav.html.erb +3 -0
- data/app/views/wechat/panel/menus/_breadcrumb.html.erb +5 -0
- data/app/views/wechat/panel/menus/_button.html.erb +6 -0
- data/app/views/wechat/panel/menus/_edit_form.html.erb +6 -0
- data/app/views/wechat/panel/menus/_edit_parent_form.html.erb +5 -0
- data/app/views/wechat/panel/menus/_filter_form.html.erb +8 -0
- data/app/views/wechat/panel/menus/_form.html.erb +7 -0
- data/app/views/wechat/panel/menus/_index_tbody.html.erb +15 -0
- data/app/views/wechat/panel/menus/_index_thead.html.erb +8 -0
- data/app/views/wechat/panel/menus/_index_tr.html.erb +22 -0
- data/app/views/wechat/panel/menus/_new_form.html.erb +5 -0
- data/app/views/wechat/panel/menus/_new_parent_form.html.erb +7 -0
- data/app/views/wechat/panel/menus/_show_table.html.erb +20 -0
- data/app/views/wechat/panel/menus/edit_parent.turbo_stream.erb +1 -0
- data/app/views/wechat/panel/menus/index.html.erb +5 -0
- data/app/views/wechat/panel/menus/new_parent.html.erb +3 -0
- data/app/views/wechat/panel/platforms/_edit_form.html.erb +4 -0
- data/app/views/wechat/panel/platforms/_filter_form.html.erb +9 -0
- data/app/views/wechat/panel/platforms/_form.html.erb +7 -0
- data/app/views/wechat/panel/platforms/_index_tbody.html.erb +12 -0
- data/app/views/wechat/panel/platforms/_index_thead.html.erb +13 -0
- data/app/views/wechat/panel/platforms/_index_tr.html.erb +22 -0
- data/app/views/wechat/panel/platforms/_new_form.html.erb +4 -0
- data/app/views/wechat/panel/platforms/_show_table.html.erb +32 -0
- data/app/views/wechat/panel/platforms/index.html.erb +5 -0
- data/app/views/wechat/panel/template_configs/_edit_form.html.erb +10 -0
- data/app/views/wechat/panel/template_configs/_filter.html.erb +9 -0
- data/app/views/wechat/panel/template_configs/_index_tbody.html.erb +10 -0
- data/app/views/wechat/panel/template_configs/_index_thead.html.erb +11 -0
- data/app/views/wechat/panel/template_configs/_item_form.html.erb +6 -0
- data/app/views/wechat/panel/template_configs/_new_form.html.erb +7 -0
- data/app/views/wechat/panel/template_configs/_show_table.html.erb +28 -0
- data/app/views/wechat/panel/template_configs/index.html.erb +5 -0
- data/app/views/wechat/platforms/callback.html.erb +0 -0
- data/app/views/wechat/program_users/mobile_err.json.jbuilder +2 -0
- data/app/views/wechat/share/apps/_button.html.erb +0 -0
- data/app/views/wechat/share/apps/_filter_form.html.erb +9 -0
- data/app/views/wechat/share/apps/_form.html.erb +17 -0
- data/app/views/wechat/share/apps/_index_tbody.html.erb +27 -0
- data/app/views/wechat/share/apps/_index_thead.html.erb +5 -0
- data/app/views/wechat/share/apps/_index_tr.html.erb +10 -0
- data/app/views/wechat/share/apps/_show.json.jbuilder +1 -0
- data/app/views/wechat/share/apps/_show_table.html.erb +36 -0
- data/app/views/wechat/share/apps/_wechat_app.json.jbuilder +18 -0
- data/app/views/wechat/share/apps/index.html.erb +5 -0
- data/app/views/wechat/share/apps/index.json.jbuilder +1 -0
- data/app/views/wechat/share/base/_nav.html.erb +3 -0
- data/app/views/wechat/share/menus/_breadcrumb.html.erb +9 -0
- data/app/views/wechat/share/menus/_button.html.erb +9 -0
- data/app/views/wechat/share/menus/_edit_form.html.erb +6 -0
- data/app/views/wechat/share/menus/_edit_parent_form.html.erb +5 -0
- data/app/views/wechat/share/menus/_filter_form.html.erb +8 -0
- data/app/views/wechat/share/menus/_form.html.erb +10 -0
- data/app/views/wechat/share/menus/_index_tbody.html.erb +20 -0
- data/app/views/wechat/share/menus/_index_thead.html.erb +9 -0
- data/app/views/wechat/share/menus/_index_tr.html.erb +25 -0
- data/app/views/wechat/share/menus/_new_form.html.erb +5 -0
- data/app/views/wechat/share/menus/_new_parent_form.html.erb +7 -0
- data/app/views/wechat/share/menus/_show_table.html.erb +20 -0
- data/app/views/wechat/share/menus/edit_parent.turbo_stream.erb +1 -0
- data/app/views/wechat/share/menus/index.html.erb +4 -0
- data/app/views/wechat/share/menus/new_parent.html.erb +3 -0
- data/app/views/wechat/share/menus/sync.turbo_stream.erb +3 -0
- data/app/views/wechat/share/scenes/_breadcrumb.html.erb +7 -0
- data/app/views/wechat/share/scenes/_edit_form.html.erb +4 -0
- data/app/views/wechat/share/scenes/_filter_form.html.erb +9 -0
- data/app/views/wechat/share/scenes/_form.html.erb +3 -0
- data/app/views/wechat/share/scenes/_index_tbody.html.erb +9 -0
- data/app/views/wechat/share/scenes/_index_thead.html.erb +7 -0
- data/app/views/wechat/share/scenes/_index_tr.html.erb +25 -0
- data/app/views/wechat/share/scenes/_new_form.html.erb +4 -0
- data/app/views/wechat/share/scenes/_show_table.html.erb +10 -0
- data/app/views/wechat/share/scenes/index.html.erb +5 -0
- data/app/views/wechat/share/scenes/sync.turbo_stream.erb +3 -0
- data/app/views/wechat/share/wechat_users/_breadcrumb.html.erb +9 -0
- data/app/views/wechat/share/wechat_users/_button.html.erb +0 -0
- data/app/views/wechat/share/wechat_users/_edit_form.html.erb +4 -0
- data/app/views/wechat/share/wechat_users/_filter_form.html.erb +9 -0
- data/app/views/wechat/share/wechat_users/_index_tbody.html.erb +11 -0
- data/app/views/wechat/share/wechat_users/_index_thead.html.erb +12 -0
- data/app/views/wechat/share/wechat_users/_index_tr.html.erb +13 -0
- data/app/views/wechat/share/wechat_users/_show_table.html.erb +20 -0
- data/app/views/wechat/share/wechat_users/index.html.erb +5 -0
- data/app/views/wechat/share/wechat_users/try_match.turbo_stream.erb +3 -0
- data/app/views/wechat/wechat/login.html.erb +9 -0
- data/config/locales/en.controller.yml +28 -0
- data/config/locales/en.enum.yml +30 -0
- data/config/locales/zh.attributes.yml +66 -0
- data/config/locales/zh.controller.yml +79 -0
- data/config/locales/zh.enum.yml +65 -0
- data/config/routes.rb +142 -11
- data/lib/omniauth/strategies/wechat.rb +74 -0
- data/lib/omniauth/strategies/wechat_qiye.rb +82 -0
- data/lib/omniauth/strategies/wechat_qr.rb +21 -0
- data/lib/rails_wechat/config.rb +88 -0
- data/lib/rails_wechat/engine.rb +38 -0
- data/lib/rails_wechat/helpers.rb +32 -0
- data/lib/rails_wechat.rb +14 -3
- metadata +549 -44
- data/app/controllers/wechat/admin/wechat_configs_controller.rb +0 -86
- data/app/controllers/wechat/panel/wechat_configs_controller.rb +0 -62
- data/app/models/rails_wechat/organ.rb +0 -11
- data/app/models/wechat_config.rb +0 -44
- data/app/models/wechat_session.rb +0 -16
- data/app/views/wechat/admin/wechat_configs/_filter.html.erb +0 -8
- data/app/views/wechat/admin/wechat_configs/_form.html.erb +0 -21
- data/app/views/wechat/admin/wechat_configs/_show_table.html.erb +0 -80
- data/app/views/wechat/admin/wechat_configs/_wechat_config.json.jbuilder +0 -21
- data/app/views/wechat/admin/wechat_configs/edit.html.erb +0 -9
- data/app/views/wechat/admin/wechat_configs/edit.js.erb +0 -3
- data/app/views/wechat/admin/wechat_configs/index.html.erb +0 -84
- data/app/views/wechat/admin/wechat_configs/index.json.jbuilder +0 -1
- data/app/views/wechat/admin/wechat_configs/new.html.erb +0 -9
- data/app/views/wechat/admin/wechat_configs/new.js.erb +0 -3
- data/app/views/wechat/admin/wechat_configs/show.html.erb +0 -7
- data/app/views/wechat/admin/wechat_configs/show.js.erb +0 -3
- data/app/views/wechat/admin/wechat_configs/show.json.jbuilder +0 -1
- data/app/views/wechat/panel/wechat_configs/_filter.html.erb +0 -8
- data/app/views/wechat/panel/wechat_configs/_form.html.erb +0 -21
- data/app/views/wechat/panel/wechat_configs/_show_table.html.erb +0 -80
- data/app/views/wechat/panel/wechat_configs/_wechat_config.json.jbuilder +0 -21
- data/app/views/wechat/panel/wechat_configs/edit.html.erb +0 -9
- data/app/views/wechat/panel/wechat_configs/edit.js.erb +0 -3
- data/app/views/wechat/panel/wechat_configs/index.html.erb +0 -84
- data/app/views/wechat/panel/wechat_configs/index.json.jbuilder +0 -1
- data/app/views/wechat/panel/wechat_configs/new.html.erb +0 -9
- data/app/views/wechat/panel/wechat_configs/new.js.erb +0 -3
- data/app/views/wechat/panel/wechat_configs/show.html.erb +0 -7
- data/app/views/wechat/panel/wechat_configs/show.js.erb +0 -3
- data/app/views/wechat/panel/wechat_configs/show.json.jbuilder +0 -1
- data/lib/tasks/rails_wechat_tasks.rake +0 -4
@@ -0,0 +1,30 @@
|
|
1
|
+
en:
|
2
|
+
activerecord:
|
3
|
+
enum:
|
4
|
+
wechat/wechat_user:
|
5
|
+
type: Wechat User
|
6
|
+
wechat/menu:
|
7
|
+
type:
|
8
|
+
Wechat::ParentMenu: Root Menu
|
9
|
+
Wechat::ClickMenu: Click Event
|
10
|
+
Wechat::ViewMenu: Link
|
11
|
+
Wechat::MiniProgramMenu: Mini Program
|
12
|
+
wechat/app:
|
13
|
+
type:
|
14
|
+
Wechat::PublicApp: Public Wechat
|
15
|
+
Wechat::ReadApp: Read Wechat
|
16
|
+
Wechat::WorkApp: Work Wechat
|
17
|
+
Wechat::ProgramApp: Mini Program
|
18
|
+
Wechat::MobileApp: App
|
19
|
+
encrypt_mode:
|
20
|
+
true: Encrypt Mode
|
21
|
+
false: Text Mode
|
22
|
+
tag_default:
|
23
|
+
default_type:
|
24
|
+
WechatUser: Wechat User
|
25
|
+
wechat/response:
|
26
|
+
effective_type:
|
27
|
+
Wechat::NewsReply: 新闻
|
28
|
+
Wechat::TextReply: 文字
|
29
|
+
Wechat::ImageReply: 图片
|
30
|
+
Wechat::SuccessReply: 成功
|
@@ -0,0 +1,66 @@
|
|
1
|
+
zh:
|
2
|
+
activerecord:
|
3
|
+
attributes:
|
4
|
+
wechat/app:
|
5
|
+
appid: 开发者ID(AppID)
|
6
|
+
secret: 开发者密码(AppSecret)
|
7
|
+
token: 令牌(Token)
|
8
|
+
encrypt_mode: 消息加解密方式
|
9
|
+
mch_id: 商户号(微信支付)
|
10
|
+
key: KEY(微信支付)
|
11
|
+
encoding_aes_key: 消息加解密密钥(EncodingAESKey)
|
12
|
+
enabled: 启用
|
13
|
+
primary: 主账号
|
14
|
+
agentid: 企业微信应用ID(AgentId)
|
15
|
+
url: 服务器地址(URL)
|
16
|
+
help_without_user: 未注册提示
|
17
|
+
help_user_disabled: 用户被禁提示
|
18
|
+
help_feedback: 收到反馈后提示
|
19
|
+
wechat/register:
|
20
|
+
id_name: 真实姓名
|
21
|
+
id_number: 身份证号
|
22
|
+
verify_status: 验证结果
|
23
|
+
email_code: 邮件验证码
|
24
|
+
mobile: 手机号
|
25
|
+
mobile_code: 手机验证码
|
26
|
+
bind_qrcode: 绑定二维码
|
27
|
+
qrcode: 关注二维码
|
28
|
+
state: 状态
|
29
|
+
email: 登陆邮箱
|
30
|
+
wechat/request:
|
31
|
+
wechat_user_id: 微信用户
|
32
|
+
body: 内容
|
33
|
+
extractions: 内容解析
|
34
|
+
wechat/response:
|
35
|
+
match_value: 关键词
|
36
|
+
contain: 是否包含
|
37
|
+
request_type: 用户消息类型
|
38
|
+
reply_id: 被动回复
|
39
|
+
wechat/scene:
|
40
|
+
match_value: 关键词
|
41
|
+
qrcode: 二维码
|
42
|
+
expire_seconds: 过期(单位:秒)
|
43
|
+
expire_at: 过期时间
|
44
|
+
wechat/extractor:
|
45
|
+
prefix: 前缀
|
46
|
+
suffix: 后缀
|
47
|
+
more: 尽可能多的匹配
|
48
|
+
serial: 是否生成序列号
|
49
|
+
serial_start: 初始序列号
|
50
|
+
valid_response: 有效应答语
|
51
|
+
invalid_response: 无效应答语
|
52
|
+
wechat/menu:
|
53
|
+
parent_id: 一级目录
|
54
|
+
menu_type: 菜单类型
|
55
|
+
value: 值
|
56
|
+
mp_appid: 小程序APPID
|
57
|
+
mp_pagepath: 小程序路径
|
58
|
+
wechat/tag:
|
59
|
+
tag_id: 标签ID
|
60
|
+
count: 微信用户数
|
61
|
+
wechat_user_tags_count: 系统用户数
|
62
|
+
wechat/wechat_user:
|
63
|
+
uid: 微信OpenID
|
64
|
+
unionid: 微信开放平台UnionID
|
65
|
+
account_id: 账号
|
66
|
+
user_id: 用户
|
@@ -0,0 +1,79 @@
|
|
1
|
+
zh:
|
2
|
+
wechat:
|
3
|
+
title: 微信平台
|
4
|
+
admin:
|
5
|
+
title: 微信公众平台
|
6
|
+
apps:
|
7
|
+
index:
|
8
|
+
title: 我的公众号
|
9
|
+
info:
|
10
|
+
title: 如何设置
|
11
|
+
requests:
|
12
|
+
index:
|
13
|
+
title: 用户消息
|
14
|
+
menus:
|
15
|
+
index:
|
16
|
+
title: 菜单
|
17
|
+
responses:
|
18
|
+
index:
|
19
|
+
title: 回复设置
|
20
|
+
replies:
|
21
|
+
index:
|
22
|
+
title: 回复内容
|
23
|
+
tags:
|
24
|
+
index:
|
25
|
+
title: 用户标签
|
26
|
+
wechat_users:
|
27
|
+
index:
|
28
|
+
title: 微信用户
|
29
|
+
extractors:
|
30
|
+
index:
|
31
|
+
title: 解析回复内容
|
32
|
+
templates:
|
33
|
+
index:
|
34
|
+
title: 消息模板
|
35
|
+
registers:
|
36
|
+
index:
|
37
|
+
title: 公众号申请
|
38
|
+
bind: 绑定二维码
|
39
|
+
qrcode: 关注二维码
|
40
|
+
app: APPID
|
41
|
+
panel:
|
42
|
+
title: 公众号通用
|
43
|
+
template_configs:
|
44
|
+
index:
|
45
|
+
title: 模板设置
|
46
|
+
agencies:
|
47
|
+
index:
|
48
|
+
title: 授权公众号
|
49
|
+
platforms:
|
50
|
+
index:
|
51
|
+
title: 微信第三方平台
|
52
|
+
apps:
|
53
|
+
index:
|
54
|
+
title: 微信公众号
|
55
|
+
menus:
|
56
|
+
index:
|
57
|
+
title: 通用菜单
|
58
|
+
share:
|
59
|
+
apps:
|
60
|
+
index:
|
61
|
+
title: 平台公众号
|
62
|
+
menus:
|
63
|
+
index:
|
64
|
+
title: 我的菜单
|
65
|
+
scenes:
|
66
|
+
index:
|
67
|
+
title: 推广场景
|
68
|
+
wechat_users:
|
69
|
+
index:
|
70
|
+
title: 微信用户
|
71
|
+
test: 测试
|
72
|
+
my:
|
73
|
+
title: 微信公众号
|
74
|
+
registers:
|
75
|
+
index:
|
76
|
+
title: 公众号申请
|
77
|
+
users:
|
78
|
+
invite_qrcode:
|
79
|
+
title: 邀请二维码
|
@@ -0,0 +1,65 @@
|
|
1
|
+
zh:
|
2
|
+
activerecord:
|
3
|
+
enum:
|
4
|
+
wechat/menu:
|
5
|
+
type:
|
6
|
+
Wechat::ParentMenu: 一级目录
|
7
|
+
Wechat::ClickMenu: 点击事件
|
8
|
+
Wechat::ViewMenu: 链接
|
9
|
+
Wechat::MiniProgramMenu: 小程序
|
10
|
+
Wechat::ScanPushMenu: 扫码推事件
|
11
|
+
Wechat::ScanWaitMenu: 扫码带提示
|
12
|
+
wechat/register:
|
13
|
+
state:
|
14
|
+
init: 处理中
|
15
|
+
doing: 开始处理
|
16
|
+
done: 已完成
|
17
|
+
wechat/reply:
|
18
|
+
type:
|
19
|
+
Wechat::NewsReply: 图文
|
20
|
+
Wechat::TextReply: 文本
|
21
|
+
Wechat::ImageReply: 图片
|
22
|
+
Wechat::MusicReply: 音乐
|
23
|
+
Wechat::VioceReply: 语音
|
24
|
+
Wechat::VideoReply: 视频
|
25
|
+
wechat/request:
|
26
|
+
type:
|
27
|
+
Wechat::TextRequest: 文字
|
28
|
+
Wechat::SubscribeRequest: 关注
|
29
|
+
Wechat::UnsubscribeRequest: 取消关注
|
30
|
+
Wechat::ScanRequest: 扫描事件
|
31
|
+
Wechat::ViewRequest: 菜单
|
32
|
+
Wechat::LocationRequest: 位置
|
33
|
+
Wechat::Request: 其他
|
34
|
+
init_wechat_user:
|
35
|
+
true: 首次关注
|
36
|
+
false: 已关注
|
37
|
+
init_user_tag:
|
38
|
+
true: 已注册
|
39
|
+
false: 未注册
|
40
|
+
wechat/response:
|
41
|
+
effective_type:
|
42
|
+
Wechat::NewsReply: 新闻
|
43
|
+
Wechat::TextReply: 文字
|
44
|
+
Wechat::ImageReply: 图片
|
45
|
+
Wechat::SuccessReply: 成功
|
46
|
+
wechat/app:
|
47
|
+
type:
|
48
|
+
Wechat::PublicApp: 服务号
|
49
|
+
Wechat::ReadApp: 订阅号
|
50
|
+
Wechat::WorkApp: 企业微信
|
51
|
+
Wechat::ProgramApp: 小程序
|
52
|
+
Wechat::MobileApp: 移动端应用
|
53
|
+
encrypt_mode:
|
54
|
+
true: 安全模式(推荐)
|
55
|
+
false: 明文模式
|
56
|
+
wechat/tag_default:
|
57
|
+
default_type:
|
58
|
+
WechatUser: 微信已绑定用户
|
59
|
+
auth/oauth_user:
|
60
|
+
type:
|
61
|
+
Wechat::WechatUser: 微信用户
|
62
|
+
wechat/template_config:
|
63
|
+
type:
|
64
|
+
Wechat::TemplatePublic: 公众号
|
65
|
+
Wechat::TemplateProgram: 小程序
|
data/config/routes.rb
CHANGED
@@ -1,20 +1,151 @@
|
|
1
1
|
Rails.application.routes.draw do
|
2
2
|
|
3
|
-
|
4
|
-
resources :wechats, only: [:show
|
5
|
-
|
3
|
+
namespace :wechat, defaults: { business: 'wechat' } do
|
4
|
+
resources :wechats, only: [:show] do
|
5
|
+
member do
|
6
|
+
post '' => :create
|
7
|
+
end
|
8
|
+
end
|
9
|
+
resources :program_users do
|
10
|
+
collection do
|
11
|
+
post :mobile
|
12
|
+
post :info
|
13
|
+
end
|
14
|
+
end
|
15
|
+
resources :apps, only: [:show] do
|
16
|
+
member do
|
17
|
+
get :login
|
18
|
+
end
|
19
|
+
end
|
20
|
+
controller :wechat do
|
21
|
+
post 'wechat/auth' => :auth
|
22
|
+
get :login
|
23
|
+
end
|
24
|
+
resources :platforms, only: [:show] do
|
25
|
+
member do
|
26
|
+
get :callback
|
27
|
+
post 'callback/:appid' => :message
|
28
|
+
end
|
29
|
+
collection do
|
30
|
+
post :notify
|
31
|
+
end
|
6
32
|
end
|
7
|
-
end
|
8
33
|
|
9
|
-
|
10
|
-
|
34
|
+
namespace :my, defaults: { namespace: 'my' } do
|
35
|
+
resource :user, only: [] do
|
36
|
+
collection do
|
37
|
+
get :invite_qrcode
|
38
|
+
get :requests
|
39
|
+
end
|
40
|
+
end
|
41
|
+
resources :subscribeds
|
42
|
+
resources :registers do
|
43
|
+
member do
|
44
|
+
get 'code' => :edit_code
|
45
|
+
end
|
46
|
+
end
|
47
|
+
resources :medias
|
48
|
+
end
|
11
49
|
|
12
|
-
|
13
|
-
|
14
|
-
|
50
|
+
namespace :panel, defaults: { namespace: 'panel' } do
|
51
|
+
resources :template_configs
|
52
|
+
resources :apps
|
53
|
+
resources :menus do
|
54
|
+
collection do
|
55
|
+
get :new_parent
|
56
|
+
end
|
57
|
+
member do
|
58
|
+
get :edit_parent
|
59
|
+
end
|
60
|
+
end
|
61
|
+
resources :platforms do
|
62
|
+
resources :agencies, shallow: true, as: :agencies
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
namespace :share, defaults: { namespace: 'share' } do
|
67
|
+
resources :apps do
|
68
|
+
resources :scenes do
|
69
|
+
member do
|
70
|
+
patch :sync
|
71
|
+
end
|
72
|
+
resources :wechat_users do
|
73
|
+
member do
|
74
|
+
patch :try_match
|
75
|
+
end
|
76
|
+
end
|
77
|
+
resources :menus do
|
78
|
+
collection do
|
79
|
+
get :default
|
80
|
+
get :new_parent
|
81
|
+
post :sync
|
82
|
+
end
|
83
|
+
member do
|
84
|
+
get :edit_parent
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
namespace :admin, defaults: { namespace: 'admin' } do
|
92
|
+
resources :apps do
|
93
|
+
member do
|
94
|
+
get :info
|
95
|
+
get 'cert' => :edit_cert
|
96
|
+
patch 'cert' => :update_cert
|
97
|
+
end
|
98
|
+
resources :responses do
|
99
|
+
member do
|
100
|
+
post :sync
|
101
|
+
get 'reply' => :edit_reply
|
102
|
+
get :filter_reply
|
103
|
+
patch 'reply' => :update_reply
|
104
|
+
end
|
105
|
+
end
|
106
|
+
resources :requests, except: [:new, :create]
|
107
|
+
resources :replies do
|
108
|
+
collection do
|
109
|
+
post :build
|
110
|
+
end
|
111
|
+
member do
|
112
|
+
get :add
|
113
|
+
end
|
114
|
+
resources :news_reply_items, only: [:destroy]
|
115
|
+
end
|
116
|
+
resources :tags do
|
117
|
+
collection do
|
118
|
+
post :sync
|
119
|
+
end
|
120
|
+
end
|
121
|
+
resources :wechat_users
|
122
|
+
resources :templates do
|
123
|
+
collection do
|
124
|
+
get :default
|
125
|
+
post :sync
|
126
|
+
end
|
127
|
+
resources :notices
|
128
|
+
end
|
129
|
+
resources :menus do
|
130
|
+
collection do
|
131
|
+
get :new_parent
|
132
|
+
post :sync
|
133
|
+
end
|
134
|
+
member do
|
135
|
+
get :edit_parent
|
136
|
+
end
|
137
|
+
end
|
138
|
+
end
|
139
|
+
resources :responses, only: [] do
|
140
|
+
resources :extractors
|
141
|
+
end
|
142
|
+
resources :accounts, only: [] do
|
143
|
+
member do
|
144
|
+
get :qrcode
|
145
|
+
end
|
146
|
+
end
|
147
|
+
end
|
15
148
|
|
16
|
-
scope :admin, module: 'wechat/admin', as: :admin do
|
17
|
-
resources :wechat_configs
|
18
149
|
end
|
19
150
|
|
20
151
|
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'omniauth-oauth2'
|
4
|
+
|
5
|
+
module OmniAuth
|
6
|
+
module Strategies
|
7
|
+
class Wechat < OmniAuth::Strategies::OAuth2
|
8
|
+
option :name, 'wechat'
|
9
|
+
option :client_options, {
|
10
|
+
site: 'https://api.weixin.qq.com',
|
11
|
+
authorize_url: 'https://open.weixin.qq.com/connect/oauth2/authorize#wechat_redirect',
|
12
|
+
token_url: '/sns/oauth2/access_token',
|
13
|
+
token_method: :get
|
14
|
+
}
|
15
|
+
option :authorize_params, { scope: 'snsapi_userinfo' }
|
16
|
+
option :token_params, { parse: :json }
|
17
|
+
|
18
|
+
uid do
|
19
|
+
raw_info['openid']
|
20
|
+
end
|
21
|
+
|
22
|
+
info do
|
23
|
+
{
|
24
|
+
nickname: raw_info['nickname'],
|
25
|
+
sex: raw_info['sex'],
|
26
|
+
province: raw_info['province'],
|
27
|
+
city: raw_info['city'],
|
28
|
+
country: raw_info['country'],
|
29
|
+
headimgurl: raw_info['headimgurl']
|
30
|
+
}
|
31
|
+
end
|
32
|
+
|
33
|
+
extra do
|
34
|
+
{ raw_info: raw_info }
|
35
|
+
end
|
36
|
+
|
37
|
+
def request_phase
|
38
|
+
params = client.auth_code.authorize_params.merge(redirect_uri: callback_url).merge(authorize_params)
|
39
|
+
params['appid'] = params.delete('client_id')
|
40
|
+
redirect client.authorize_url(params)
|
41
|
+
end
|
42
|
+
|
43
|
+
def raw_info
|
44
|
+
@uid ||= access_token['openid']
|
45
|
+
return @raw_info if defined?(@raw_info)
|
46
|
+
|
47
|
+
access_token.options[:mode] = :query
|
48
|
+
case access_token['scope']
|
49
|
+
when 'snsapi_login', 'snsapi_userinfo'
|
50
|
+
response = access_token.get('/sns/userinfo', params: { openid: @uid }, parse: :text)
|
51
|
+
@raw_info = JSON.parse(response.body.gsub(/[\u0000-\u001f]+/, ''))
|
52
|
+
else
|
53
|
+
@raw_info = { 'openid' => @uid }
|
54
|
+
@raw_info.merge!('unionid' => access_token['unionid']) if access_token['unionid']
|
55
|
+
@raw_info
|
56
|
+
end
|
57
|
+
@raw_info.merge! 'app_id' => client.id
|
58
|
+
end
|
59
|
+
|
60
|
+
protected
|
61
|
+
def build_access_token
|
62
|
+
params = {
|
63
|
+
appid: client.id,
|
64
|
+
secret: client.secret,
|
65
|
+
code: request.params['code'],
|
66
|
+
grant_type: 'authorization_code'
|
67
|
+
}.merge(token_params.to_hash(symbolize_keys: true))
|
68
|
+
|
69
|
+
client.get_token(params, deep_symbolize(Hash(options.auth_token_params)))
|
70
|
+
end
|
71
|
+
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|