blsm-mp-wx 0.1.1 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NmU4MDJhZTFhYzg5MGRkZjY1Y2I0MWI0YWZhZTE5NzcwM2Y5MDdlMw==
4
+ YmRjNmMzOTQxNzc3NzczY2ZjZWQ1MmY2MDc0ODVhMWRiNjU5Y2Q2NQ==
5
5
  data.tar.gz: !binary |-
6
- N2YwYzM3OGFiZDNlNDJhMTcyMjk2ZWYxMjQ4NTM0N2E2ZTdmOTNhZQ==
6
+ YzM0MmRlNTcyZTYzNzI5NGNkYmU5YzNiZmIyNzU2NjE2YTBlYWNiMQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- YWQ0MDU1Yzk0YTQ1ZTJhNWYwNjk5OWNiZWZmYTVmZGJmMjZmM2UzZjIwODll
10
- NTYyODU2MmM0ZGMzOTA1M2RmNmFkOTE1ZjM4NzhmYjA3ZjAxNjBlYTUzZjky
11
- YjgyZjY5NTM3ZjFjMTY5NGNmYjQ5Mjk2ZTUwYjc5YzQ3MGZmODM=
9
+ M2ZmMzE3MTM2Nzc2MzBjNmFlZjk1MzdlNjQ2NjhiNjRjZWE1MjI5MzEwMjA1
10
+ OTAyODBlMGZjZmM5MzljMzYzNDI3MGE5YjY5NjUwYWE3ZWU3M2I0NWY1Y2Zj
11
+ MmU4MWJiY2ViMWE4NGNhYzY1MmY5OTQ2YzIzYjUwMTBlNTIwODg=
12
12
  data.tar.gz: !binary |-
13
- ZmQ2NTFjY2Y4OTBjMWQ0Mjk4OTZlN2I5Yzc0MTU4MzI3ZTMwZjZmMmM3Nzkx
14
- ZjM2M2RhYTJlYmFjMzlmMzUzMDYxYWU4NGY3ZmI1MjhhMzkxNDUwMDI0YjBj
15
- NWIwZWNmNTkzNGU5YWZkNTNiYjU0Mzc1ZGY3NWNlOTgzOTMwOTA=
13
+ N2FlZmQxNDlkYjA2OWJmZmY0M2NkYWY2MjRmYTY3OWNjNDg3M2M1MThiZWE3
14
+ ZmY3Mzg0M2I0ODUwNDY0NjQ5ZWI1ZjhiOWIwN2Y0MmMzYjk4NzVjNzE0M2Q0
15
+ ZTYyNDFiMjgxOGIzY2VkYjE4ZTQ5NTRjOGI5ZmNkNWM2MjdjZGI=
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- blsm-mp-wx (0.1.1)
4
+ blsm-mp-wx (0.1.4)
5
5
 
6
6
  GEM
7
7
  remote: https://ruby.taobao.org/
data/bin/console CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require "bundler/setup"
4
- require "blsm_mp_wx"
4
+ require "blsm-mp-wx"
5
5
 
6
6
  # You can add fixtures and/or initialization code here to make experimenting
7
7
  # with your gem easier. You can also use a different console, if you like.
data/blsm-mp-wx.gemspec CHANGED
@@ -1,7 +1,7 @@
1
1
  # coding: utf-8
2
2
  lib = File.expand_path('../lib', __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'blsm_mp_wx/version'
4
+ require 'blsm-mp-wx/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "blsm-mp-wx"
@@ -0,0 +1,10 @@
1
+ # coding: utf-8
2
+ module BlsmMpWx
3
+
4
+ class BaseRecord < ActiveRecord::Base
5
+ self.configurations = YAML::load(ERB.new(File.open(Rails.root ? File.join(Rails.root, "config", "database.yml") : './config/database.yml').inject('') { |text, line| text+line }).result)
6
+ establish_connection Rails::env.to_s.to_sym
7
+ self.table_name='vd_mp_wxes'
8
+ end
9
+
10
+ end
@@ -1,3 +1,3 @@
1
1
  module BlsmMpWx
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.5"
3
3
  end
@@ -4,10 +4,9 @@ require 'rails'
4
4
  require 'active_model'
5
5
  require 'active_record'
6
6
  require 'active_support'
7
- require 'blsm_mp_wx/version'
8
- require 'blsm_mp_wx/db_config'
9
- require 'blsm_mp_wx/model/active_record'
10
- require 'blsm_mp_wx/model/vd_mp_wx'
7
+ require 'blsm-mp-wx/version'
8
+ require 'blsm-mp-wx/model/active_record'
9
+ require 'blsm-mp-wx/model/vd_mp_wx'
11
10
  require 'json'
12
11
  require 'faraday'
13
12
 
@@ -16,15 +15,16 @@ module BlsmMpWx
16
15
  404 => {code: 404, msg: '未知的公众号,如有疑问,请联系xi.liu@abcomb.com'}
17
16
  }
18
17
  class << self
19
- attr_accessor :app_id
20
- attr_accessor :app_id_2
18
+ attr_accessor :APP_ID
19
+ attr_accessor :APP_ID_2
21
20
 
22
21
  #根据app_id获取access_token
23
22
  #系统会根据当前的access_token即过期时间,自动更新并返回
24
23
  #开发者无需关心这里的access_token怎么更新
25
24
  #===Parameters
26
25
  # * +app_id+ -公众号的appid
27
- def access_token(app_id)
26
+ def access_token(app_id=nil)
27
+ app_id ||= self.APP_ID
28
28
  app = VdMpWx.where(app_id: app_id).first
29
29
  return nil unless app
30
30
  return app.access_token unless app.access_token_expired? #没有过期,直接返回
@@ -47,8 +47,8 @@ module BlsmMpWx
47
47
  end
48
48
 
49
49
  #获取jsapi全局唯一票据
50
- def js_api_ticket(app_id)
51
-
50
+ def js_api_ticket(app_id=nil)
51
+ app_id ||= self.APP_ID
52
52
  access_token = access_token(app_id)
53
53
  app = VdMpWx.where(app_id: app_id).first
54
54
 
@@ -104,7 +104,8 @@ module BlsmMpWx
104
104
  # ]
105
105
  # }
106
106
  # }
107
- def send_msg(app_id, openid, msg)
107
+ def send_msg(app_id=nil, openid, msg)
108
+ app_id ||= self.APP_ID
108
109
  access_token = access_token(app_id)
109
110
  return nil unless access_token
110
111
  return nil unless openid
@@ -124,7 +125,8 @@ module BlsmMpWx
124
125
  end
125
126
 
126
127
  #JSAPI签名package
127
- def js_api_sign_package(app_id, url)
128
+ def js_api_sign_package(app_id=nil, url)
129
+ app_id ||= self.APP_ID
128
130
  ticket = js_api_ticket(app_id)
129
131
  timestamp = Time.new.to_i
130
132
  nonce_str = Digest::MD5.hexdigest(Time.new.to_i.to_s + Random.rand(99999).to_s)
@@ -142,7 +144,8 @@ module BlsmMpWx
142
144
 
143
145
 
144
146
  #获取用户的基本信息(包括UnionID机制)
145
- def gen_wx_user_info(app_id, openid)
147
+ def gen_wx_user_info(app_id=nil, openid)
148
+ app_id ||= self.APP_ID
146
149
  access_token = access_token(app_id)
147
150
  return nil unless access_token
148
151
 
@@ -161,7 +164,8 @@ module BlsmMpWx
161
164
  end
162
165
 
163
166
  #生成永久二维码ticket
164
- def gen_forever_qr_ticket(app_id, scene_id)
167
+ def gen_forever_qr_ticket(app_id=nil, scene_id)
168
+ app_id ||= self.APP_ID
165
169
  access_token = access_token(app_id)
166
170
  return nil unless access_token
167
171
 
@@ -178,6 +182,30 @@ module BlsmMpWx
178
182
  json_obj['ticket']
179
183
  end
180
184
 
185
+ #长链接转短连接
186
+ def gen_short_url(app_id=nil, long_url)
187
+ app_id ||= self.APP_ID
188
+ access_token = access_token(app_id)
189
+ return nil unless access_token
190
+
191
+ response = Faraday.new(:url => 'https://api.weixin.qq.com').post do |req|
192
+ req.url '/cgi-bin/shorturl'
193
+ req.headers['Content-Type'] = 'application/json'
194
+ data = {
195
+ action: 'long2short',
196
+ long_url: long_url
197
+ }
198
+ req.params[:long_url] = long_url
199
+ req.params[:access_token] = access_token
200
+ req.body = data.to_json
201
+ end
202
+
203
+ json_obj = parse_json(response.body)
204
+ return nil unless json_obj
205
+ return nil unless json_obj.has_key?('short_url')
206
+ json_obj['short_url']
207
+ end
208
+
181
209
  private
182
210
  #解析json类型的数据,并将最后的数据转为hash或array
183
211
  # +json_data_str+ 要转换的json数据
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blsm-mp-wx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - saxer
@@ -153,11 +153,10 @@ files:
153
153
  - bin/setup
154
154
  - blsm-mp-wx-0.1.0.gem
155
155
  - blsm-mp-wx.gemspec
156
- - lib/blsm_mp_wx.rb
157
- - lib/blsm_mp_wx/db_config.rb
158
- - lib/blsm_mp_wx/model/active_record.rb
159
- - lib/blsm_mp_wx/model/vd_mp_wx.rb
160
- - lib/blsm_mp_wx/version.rb
156
+ - lib/blsm-mp-wx.rb
157
+ - lib/blsm-mp-wx/model/active_record.rb
158
+ - lib/blsm-mp-wx/model/vd_mp_wx.rb
159
+ - lib/blsm-mp-wx/version.rb
161
160
  homepage: https://bitbucket.org/liuxi/blsm-mp-wx/
162
161
  licenses:
163
162
  - MIT
@@ -1,4 +0,0 @@
1
- # coding: utf-8
2
- module BlsmMpWx
3
- DB_CONFIG =File.open(Rails.root ? File.join(Rails.root, "config", "database.yml") : './config/database.yml').inject('') { |text, line| text+line }
4
- end
@@ -1,10 +0,0 @@
1
- # coding: utf-8
2
- module BlsmMpWx
3
-
4
- class BaseRecord < ActiveRecord::Base
5
- self.configurations = YAML::load(ERB.new(BlsmMpWx::DB_CONFIG).result)
6
- establish_connection Rails::env.to_s.to_sym
7
- self.table_name='vd_mp_wxes'
8
- end
9
-
10
- end
File without changes