27 lines
627 B
27 lines
627 B
module Util::Wechat
|
|
BASE_SITE = 'https://api.weixin.qq.com'.freeze
|
|
|
|
Error = Class.new(StandardError)
|
|
|
|
class << self
|
|
attr_accessor :appid, :secret
|
|
|
|
def js_sdk_signature(url, noncestr, timestamp)
|
|
data = { jsapi_ticket: jsapi_ticket, noncestr: noncestr, timestamp: timestamp, url: url }
|
|
str = data.map { |k, v| "#{k}=#{v}" }.join('&')
|
|
Digest::SHA1.hexdigest(str)
|
|
end
|
|
|
|
def access_token
|
|
wechat_store.access_token
|
|
end
|
|
|
|
def jsapi_ticket
|
|
wechat_store.jsapi_ticket
|
|
end
|
|
|
|
def wechat_store
|
|
@_wechat_store ||= ::Util::WechatStore.new(appid, secret)
|
|
end
|
|
end
|
|
end |