5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
# File 'lib/wechat/helpers.rb', line 5
def wechat_config_js(config_options = {})
account = config_options[:account]
if account.blank? || account == controller.class.wechat_cfg_account
domain_name = controller.class.trusted_domain_fullname
api = controller.wechat
app_id = controller.class.corpid || controller.class.appid
else
config = Wechat.config(account)
domain_name = config.trusted_domain_fullname
api = controller.wechat(account)
app_id = config.corpid || config.appid
end
page_url = if domain_name
"#{domain_name}#{controller.request.original_fullpath}"
else
controller.request.original_url
end
page_url = page_url.split('#').first
js_hash = api.jsapi_ticket.signature(page_url)
config_js = " wx.config({\n debug: \#{config_options[:debug]},\n appId: \"\#{app_id}\",\n timestamp: \"\#{js_hash[:timestamp]}\",\n nonceStr: \"\#{js_hash[:noncestr]}\",\n signature: \"\#{js_hash[:signature]}\",\n jsApiList: ['\#{config_options[:api]&.join(\"','\")}'],\n openTagList: ['\#{config_options[:open_tags]&.join(\"','\")}']\n });\n WECHAT_CONFIG_JS\n javascript_tag config_js, type: 'application/javascript'\nend\n"
|