wechat 0.12.2 → 0.12.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,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f9e5954c81e1297f27d583c6e0df58714d5ab47489bef715ddacc4fb8dd23839
4
- data.tar.gz: 1753d132e3207da06427214efa61b498ba06ea5ca23b7b6f5a6f74a0fb235932
3
+ metadata.gz: 856da08ed74214b680ea30b3d3a7ce4e3a6e36d998ce8c2a7eb3a3064a14d098
4
+ data.tar.gz: 5554c5db01b56145348178387b942774161aca38d24cb20c859fcc4ca96fbc20
5
5
  SHA512:
6
- metadata.gz: 945c4b637ba60360c1447765a0e6e4b87f121d0a5dac1aecfc0a74c8fd92f365d273a7ea56ab30ebe67ad07d1791dfa2444685f81b8d7957d0046e14a4f0dd36
7
- data.tar.gz: dc760927b6a6f5836af1ff3e2e9f1b722c87db80994b8c8b0f0ed83cc154ebdb4395670cb4108ef71ff865f3df784f1fe3ca622d14f6484b47cb23321a9cb2cb
6
+ metadata.gz: 22f68f4a23dc7e8fa90d7529b689c0269242d33ba0f0fc74ea6fa45c2b61f4b68643ebfa1e911451c253a2127f127e4f09e8d767a4b9af64d1d34d1d6b8b13c6
7
+ data.tar.gz: 0d491218b072ca09e8ff25f5a8fb0e3fcedc658f8f9fc3424068380233f5321e0277ab89d75626aec0cc00bef787c300fd8c88659d12008b2b795ce2dd60daef
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## v0.12.5 (released at 5/20/2021)
4
+
5
+ * Add environment variable for configuring http proxy to ignore IP address changes everytime after app deployment, by @Awlter #312
6
+
7
+ ## v0.12.4 (released at 4/21/2021)
8
+
9
+ * New material_add_news API, by @zlei1 #300
10
+ * Support open_tag, by @xiajian2019 #299
11
+
12
+ ## v0.12.3 (released at 3/15/2021)
13
+
14
+ * Fix MpApi initialize bug, by @hardywu #296
15
+
3
16
  ## v0.12.2 (released at 3/3/2021)
4
17
 
5
18
  * New convert_to_userid API
data/README-CN.md CHANGED
@@ -362,6 +362,7 @@ Wechat Public Account commands:
362
362
  wechat groups # 查询所有分组
363
363
  wechat material_get [MEDIA_ID, PATH] # 永久媒体下载
364
364
  wechat material_add [MEDIA_TYPE, PATH] # 永久媒体上传
365
+ wechat material_add_news [MPNEWS_YAML_PATH] # 永久图文素材上传
365
366
  wechat material_count # 获取永久素材总数
366
367
  wechat material_delete [MEDIA_ID] # 删除永久素材
367
368
  wechat material_list [TYPE, OFFSET, COUNT] # 获取永久素材列表
data/README.md CHANGED
@@ -391,8 +391,9 @@ Wechat Public Account commands:
391
391
  wechat group_delete [GROUP_ID] # 删除分组
392
392
  wechat group_update [GROUP_ID, NEW_GROUP_NAME] # 修改分组名
393
393
  wechat groups # 查询所有分组
394
- wechat material_get [MEDIA_ID, PATH] # 永久媒体下载
394
+ wechat material_get [MEDIA_ID, PATH] # 永久媒体下载
395
395
  wechat material_add [MEDIA_TYPE, PATH] # 永久媒体上传
396
+ wechat material_add_news [MPNEWS_YAML_PATH] # 永久图文素材上传
396
397
  wechat material_count # 获取永久素材总数
397
398
  wechat material_delete [MEDIA_ID] # 删除永久素材
398
399
  wechat material_list [TYPE, OFFSET, COUNT] # 获取永久素材列表
data/bin/wechat CHANGED
@@ -411,6 +411,12 @@ class App < Thor
411
411
  puts wechat_api.material_add(type, path)
412
412
  end
413
413
 
414
+ desc 'material_add_news [MPNEWS_YAML_PATH]', '永久图文素材上传'
415
+ def material_add_news(mpnews_yaml_path)
416
+ new = YAML.load(File.read(mpnews_yaml_path))
417
+ puts wechat_api.material_add_news(Wechat::Message.new(MsgType: 'mpnews').mpnews(new['articles']))
418
+ end
419
+
414
420
  desc 'material_delete [MEDIA_ID]', '删除永久素材'
415
421
  def material_delete(media_id)
416
422
  puts wechat_api.material_delete(media_id)
@@ -45,17 +45,18 @@ module ActionController
45
45
 
46
46
  access_token = opts[:access_token] || cfg.access_token
47
47
  jsapi_ticket = opts[:jsapi_ticket] || cfg.jsapi_ticket
48
+ qcloud_env = opts[:qcloud_env] || cfg.qcloud_env
48
49
  qcloud_token = opts[:qcloud_token] || cfg.qcloud_token
49
50
 
50
51
  api_type = opts[:type] || cfg.type
51
52
  secret = corpid.present? ? opts[:corpsecret] || cfg.corpsecret : opts[:secret] || cfg.secret
52
53
 
53
- get_wechat_api(api_type, corpid, appid, secret, access_token, agentid, timeout, skip_verify_ssl, jsapi_ticket, qcloud_token, qcloud_token_lifespan)
54
+ get_wechat_api(api_type, corpid, appid, secret, access_token, agentid, timeout, skip_verify_ssl, jsapi_ticket, qcloud_env, qcloud_token, qcloud_token_lifespan)
54
55
  end
55
56
 
56
- def get_wechat_api(api_type, corpid, appid, secret, access_token, agentid, timeout, skip_verify_ssl, jsapi_ticket, qcloud_token, qcloud_token_lifespan)
57
+ def get_wechat_api(api_type, corpid, appid, secret, access_token, agentid, timeout, skip_verify_ssl, jsapi_ticket, qcloud_env, qcloud_token, qcloud_token_lifespan)
57
58
  if api_type && api_type.to_sym == :mp
58
- Wechat::MpApi.new(appid, secret, access_token, timeout, skip_verify_ssl, jsapi_ticket, qcloud_token, qcloud_token_lifespan)
59
+ Wechat::MpApi.new(appid, secret, access_token, timeout, skip_verify_ssl, jsapi_ticket, qcloud_env, qcloud_token, qcloud_token_lifespan)
59
60
  elsif corpid.present?
60
61
  Wechat::CorpApi.new(corpid, secret, access_token, agentid, timeout, skip_verify_ssl, jsapi_ticket)
61
62
  else
@@ -152,6 +152,10 @@ module Wechat
152
152
  post_file 'material/add_material', file, params: { type: type }
153
153
  end
154
154
 
155
+ def material_add_news(mpnews_message)
156
+ post 'material/add_news', mpnews_message.to_json
157
+ end
158
+
155
159
  def material_delete(media_id)
156
160
  post 'material/del_material', JSON.generate(media_id: media_id)
157
161
  end
@@ -34,7 +34,8 @@ module Wechat
34
34
  timestamp: "#{js_hash[:timestamp]}",
35
35
  nonceStr: "#{js_hash[:noncestr]}",
36
36
  signature: "#{js_hash[:signature]}",
37
- jsApiList: ['#{config_options[:api].join("','")}']
37
+ jsApiList: ['#{config_options[:api]&.join("','")}'],
38
+ openTagList: ['#{config_options[:open_tags]&.join("','")}']
38
39
  });
39
40
  WECHAT_CONFIG_JS
40
41
  javascript_tag config_js, type: 'application/javascript'
@@ -13,6 +13,9 @@ module Wechat
13
13
  else
14
14
  HTTP.timeout(:global, write: timeout, connect: timeout, read: timeout)
15
15
  end
16
+
17
+ @httprb = @httprb.via(ENV['WECHAT_PROXY_URL'], ENV['WECHAT_PROXY_PORT'].to_i, ENV['WECHAT_PROXY_USERNAME'], ENV['WECHAT_PROXY_PASSWORD']) if ENV['WECHAT_PROXY_URL']
18
+
16
19
  @ssl_context = OpenSSL::SSL::SSLContext.new
17
20
  @ssl_context.ssl_version = 'TLSv1_2'
18
21
  @ssl_context.verify_mode = OpenSSL::SSL::VERIFY_NONE if skip_verify_ssl
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wechat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.2
4
+ version: 0.12.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Skinnyworm
@@ -11,31 +11,31 @@ bindir: bin
11
11
  cert_chain:
12
12
  - |
13
13
  -----BEGIN CERTIFICATE-----
14
- MIIEQDCCAqigAwIBAgIBATANBgkqhkiG9w0BAQsFADAlMSMwIQYDVQQDDBplcmlj
15
- Lmd1b2N6L0RDPWdtYWlsL0RDPWNvbTAeFw0yMDA5MDIwNDUzMjFaFw0yMTA5MDIw
16
- NDUzMjFaMCUxIzAhBgNVBAMMGmVyaWMuZ3VvY3ovREM9Z21haWwvREM9Y29tMIIB
17
- ojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAwSfWr5RlUBlv9OuNgmxjPwhU
18
- 7eoT/m7K5h0PzUaue+dtno4WqjodoCPHF6r9hh8Ys0h1VAPu3sobH2gNaL18M0CY
19
- bmq+ik6LgH5tX2E6c2BmhMuURt2y1YvIwvx0dDOlEXll9J8ZVqGyo3Rm9AIblA3/
20
- w/V5VJGCj3XY6iipNkHHDlSWSYeD2mNr0wJW8EAUFFcyRddpotxR9Es8JwUpXdj8
21
- Bc5a/OWxKvzqLVlu76zYRYuZ41+3gWNxYF9OPnp55sNtsboGh5LJSdXZOs5+gMw9
22
- gEW/KsP4GSMlqBT7SQEO5EH3qjp3aatHaMT8Fq9h3AnNESQMubMWtlPqEYyrYkli
23
- wr8A8SGiX3rCkNG0cc4zVsagtXm4csbSeaIjLV57LA2sKngI4/kw55UYlloAtGPh
24
- qNEqsPLbN/RkyS1zQjf14mQBpBt3SdxnT7YDSPIYiAPTtLuThcy3Flgh6cDX1RH7
25
- FQPZJzQ7pSb/3Edj+VBaYhpo+y4ySLxx9DOLfm6lAgMBAAGjezB5MAkGA1UdEwQC
26
- MAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBRWBfZurpq8AmvpfBq7eSA0ivhotDAf
27
- BgNVHREEGDAWgRRlcmljLmd1b2N6QGdtYWlsLmNvbTAfBgNVHRIEGDAWgRRlcmlj
28
- Lmd1b2N6QGdtYWlsLmNvbTANBgkqhkiG9w0BAQsFAAOCAYEAJ1tLpEqCXma9fFeU
29
- l6N4tEDrwYVxdbkXgOScUZBsagNlEM9vvskygivKu8AV8ffdtsg9OAuhdfAjPjX+
30
- GvGnmuoweHFTsIrOhNryqFDgvkufBczmFLOskjRuzt4NoBNgge8+xoNo+N9o/0jz
31
- GZi69Dth2i92rffuEzyFbfA9xzkjL+uSqJRJVDP5UbIWGnQ99M4GfplJZWRkmoX9
32
- 5Ek/ZVhzEz6kdZuZErloYKqjWWvFHUFAYmJd3fqKpb468yTIaL4bl4aUl2+xLdyK
33
- fPI/ZWGy2uNjffzbrhJ+Ti6qAdubkJoMIqrfbrFV1ew2Bxkp/93etXVNjAgHNmu1
34
- o3VAf3sbhnj33jAri7JYx/1MhAcJXlvpKxX9QnYouxU/RgzBF7oqcT0dJ2jWUnAI
35
- spvOK5/LPXWX6ZGc2SR8SH/s7ftYH2EkeM1VUbtemow08NdgCwJ4IG+fRQ9dcrJ+
36
- L9TbpLHvVrCe1w8duMqNeUmqj+M1iC/5Zst2vIe14QcOTuAh
14
+ MIIEODCCAqCgAwIBAgIBATANBgkqhkiG9w0BAQsFADAjMSEwHwYDVQQDDBhlcmlj
15
+ L0RDPWNsb3VkLW1lcy9EQz1jb20wHhcNMjEwOTE1MDIxMDMzWhcNMjIwOTE1MDIx
16
+ MDMzWjAjMSEwHwYDVQQDDBhlcmljL0RDPWNsb3VkLW1lcy9EQz1jb20wggGiMA0G
17
+ CSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDfweHJdAqu5+BQ6t+F923czZvUynqe
18
+ DyacqWVUbDg53oVwYxldDNqUea5hMlSs1UWj2sJ5ZHiU02ly0QVyDCw/5pFP2CKJ
19
+ ukQbw35ZoCF0t2i0/GPYAtBMxb1qUynkxDAtCefQG33lBt2u9scgE9xOIiPrxtJg
20
+ shl3XFYmOx1ol66JR540l7NBS1OHR7UV6WiJrRW1cZTcR+py7jIbo6ud/rhZVHCO
21
+ B2RTZtpH1I7ilknT1/NXMX6aw+XoNda4w+4lsrHfqKssfwJcsGMq1IbbG8illxRT
22
+ wsYLiUXNJaAacT9HVO4B0jIFPP5Me7FIkiqZZKr7uyHNQE0S/5OOUkIM0v5kkUOF
23
+ IE+A6WwVCyi05+JNcbLuxeSZnNeqQcXiqxl1RcodIJxw0VTcSE1CO2eYCsvfzLJ2
24
+ fn9fLaSA/mrosg72UV126GeXu/y/N6gf3F6ZHM2qAMZhJ9ZUR03bUVIqApsJN28g
25
+ JOkm/lV0PutN0Y2UrD0gSKxgrN24ZSsWlBECAwEAAaN3MHUwCQYDVR0TBAIwADAL
26
+ BgNVHQ8EBAMCBLAwHQYDVR0OBBYEFHHJIHijHoPxeoZDyGAvLbBalVvoMB0GA1Ud
27
+ EQQWMBSBEmVyaWNAY2xvdWQtbWVzLmNvbTAdBgNVHRIEFjAUgRJlcmljQGNsb3Vk
28
+ LW1lcy5jb20wDQYJKoZIhvcNAQELBQADggGBACYpors2s6sGEq0ErgijhSkAQRoj
29
+ W1EO3ORYYyCRFPFX1KLtUpFuXi/1rZoMoSug2Lpr+GWqt7eZIwNoryjYMbuE/sOn
30
+ sANkOvLx8x4RMlmTFe+WkPiV9NasFqNn7EBSpjqQRWRlCuh6rMiYzzxNbbNvbRT4
31
+ WMhBf7eWRpr1TBXDr51E8RtA+LG6wZuJFnKWBisgKOmpUw79f7EvIQAGS3MEWk/g
32
+ fSvIf14zM5Dw0whGa/n60jgSc5yiW3/75GXt8608BK+bs5dViJ/3ofuIhqpOvvdp
33
+ 4Oiv2zIXsfUIGAIwHN5mLwAwHty1d0s8Kt0jtJAXDUODgTuXaBj/aOqTZUUgp8Kv
34
+ 6SoPdaa0LFPbkI2eiUN1xUPelsgKz0kyRBJtkMnSKFxcCxw7VHGRGFsw0ORZodQ3
35
+ ZM9IDtdMg8E/4ujwilV8HKmgU77vVN6vSMvxx8zQFSz9a6GbdpB4egPZ++peSk/Q
36
+ uaIJtOX6M4VC6u7eZfotARKyUy6EcoN2zNqEAQ==
37
37
  -----END CERTIFICATE-----
38
- date: 2021-03-03 00:00:00.000000000 Z
38
+ date: 2022-05-20 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: activesupport
@@ -66,7 +66,7 @@ dependencies:
66
66
  version: 1.0.4
67
67
  - - "<"
68
68
  - !ruby/object:Gem::Version
69
- version: '5'
69
+ version: '6'
70
70
  type: :runtime
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
@@ -76,7 +76,7 @@ dependencies:
76
76
  version: 1.0.4
77
77
  - - "<"
78
78
  - !ruby/object:Gem::Version
79
- version: '5'
79
+ version: '6'
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: nokogiri
82
82
  requirement: !ruby/object:Gem::Requirement
@@ -153,14 +153,14 @@ dependencies:
153
153
  requirements:
154
154
  - - "~>"
155
155
  - !ruby/object:Gem::Version
156
- version: '4.0'
156
+ version: '5.0'
157
157
  type: :development
158
158
  prerelease: false
159
159
  version_requirements: !ruby/object:Gem::Requirement
160
160
  requirements:
161
161
  - - "~>"
162
162
  - !ruby/object:Gem::Version
163
- version: '4.0'
163
+ version: '5.0'
164
164
  - !ruby/object:Gem::Dependency
165
165
  name: sqlite3
166
166
  requirement: !ruby/object:Gem::Requirement
@@ -244,7 +244,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
244
244
  - !ruby/object:Gem::Version
245
245
  version: '0'
246
246
  requirements: []
247
- rubygems_version: 3.2.12
247
+ rubygems_version: 3.3.14
248
248
  signing_key:
249
249
  specification_version: 4
250
250
  summary: DSL for wechat message handling and API
metadata.gz.sig CHANGED
Binary file