wechat 1.1.0 → 1.2.0

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: 8d81118b4e78b92ca291b74b4040ac07d36c3c3bf5c433c583e247262a564598
4
- data.tar.gz: 134affd462f41d996fa4cf30eb1787e3f682283ccf95b1eebd83b2ce63fdedd3
3
+ metadata.gz: 6f4fc2c468dafd46121575897e37db5a9d4ebc610f96b0f0745d5de4668783c4
4
+ data.tar.gz: 4a2f3f16b3ec7ba0886630c574d9213042a54a1d784a0324d44294b1030c7bcf
5
5
  SHA512:
6
- metadata.gz: a73a0946f5e5451f731699f58c37133745a5403428cc74bccdd00006c0bff2ee935afc34d3bc4ac3f282c7fe3b59b21758b432e7d53d629adb3d6d94de3bc47a
7
- data.tar.gz: 6a552e883d2218c46558c9f72eba7113c54f3019691c4c9874884244425958ede2487079f8ae671794bb5d5f0e2a8efd5ee4ba98afa6dcbc3cd9ce6f97bee20e
6
+ metadata.gz: 50a8bd9221dcdc3c49e46a37b3dd6b8947590a379ceb2b8f9de7e57f28a3bea490e7ae0434694d5ab22a3e821ee4896010459c9c44b344c5c517b9879351f5d5
7
+ data.tar.gz: afd5f4a1a15dec3168ae6db2a8c510804986b9a17c9c58ec2a69b297520f3f098e7065e72bb80690ae0b1505944fd5cf608ab809c56700a54297221258528224
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## v1.2.0 (released at 2026-05-22)
4
+
5
+ * Feat: api getuserid.
6
+ * Fix: wechat_oauth2 in corp now need agentid.
7
+
3
8
  ## v1.1.0 (released at 2025-11-24)
4
9
 
5
10
  * Feat: api wxa_get_user_risk_rank. by @leepood #327
data/README-CN.md CHANGED
@@ -443,6 +443,7 @@ Wechat Enterprise Account commands:
443
443
  wechat department_update [DEPARTMENT_ID, NAME] # 更新部门
444
444
  wechat getusercumulate [BEGIN_DATE, END_DATE] # 获取累计用户数据
445
445
  wechat getusersummary [BEGIN_DATE, END_DATE] # 获取用户增减数据
446
+ wechat getuserid [MOBILE] # 通过手机号获取 userid
446
447
  wechat invite_user [USER_ID] # 邀请成员关注
447
448
  wechat material [MEDIA_ID, PATH] # 永久媒体下载
448
449
  wechat material_add [MEDIA_TYPE, PATH] # 永久媒体上传
data/README.md CHANGED
@@ -475,6 +475,7 @@ Wechat Enterprise Account commands:
475
475
  wechat department_update [DEPARTMENT_ID, NAME] # 更新部门
476
476
  wechat getusercumulate [BEGIN_DATE, END_DATE] # 获取累计用户数据
477
477
  wechat getusersummary [BEGIN_DATE, END_DATE] # 获取用户增减数据
478
+ wechat getuserid [MOBILE] # 通过手机号获取 userid
478
479
  wechat invite_user [USER_ID] # 邀请成员关注
479
480
  wechat material [MEDIA_ID, PATH] # 永久媒体下载
480
481
  wechat material_add [MEDIA_TYPE, PATH] # 永久媒体上传
data/bin/wechat CHANGED
@@ -131,6 +131,11 @@ class App < Thor
131
131
  puts wechat_api.invite_user(userid)
132
132
  end
133
133
 
134
+ desc 'getuserid [MOBILE]', '通过手机号获取userid'
135
+ def getuserid(mobile)
136
+ puts wechat_api.getuserid(mobile)
137
+ end
138
+
134
139
  desc 'tag_add_department [TAG_ID, PARTY_IDS]', '增加标签部门'
135
140
  def tag_add_department(tagid, partyids)
136
141
  puts wechat_api.tag_add_user(tagid, nil, partyids.split(','))
data/lib/wechat/cipher.rb CHANGED
@@ -43,7 +43,7 @@ module Wechat
43
43
  msg = decode_padding(msg)
44
44
  msg_len = msg[16, 4].reverse.unpack1('V')
45
45
  content = msg[20, msg_len]
46
- app_id = msg[(msg_len + 20)..-1]
46
+ app_id = msg[(msg_len + 20)..]
47
47
 
48
48
  [content, app_id]
49
49
  end
@@ -22,9 +22,11 @@ module Wechat
22
22
  if account
23
23
  config = Wechat.config(account)
24
24
  appid = config.corpid || config.appid
25
+ agentid = config.agentid
25
26
  is_crop_account = config.corpid.present?
26
27
  else
27
28
  appid = self.class.corpid || self.class.appid
29
+ agentid = self.class.agentid
28
30
  is_crop_account = self.class.corpid.present?
29
31
  end
30
32
 
@@ -37,6 +39,7 @@ module Wechat
37
39
  response_type: 'code',
38
40
  state: api.jsapi_ticket.oauth2_state
39
41
  }
42
+ oauth2_params[:agentid] = agentid if is_crop_account
40
43
 
41
44
  return generate_oauth2_url(oauth2_params) unless block_given?
42
45
 
@@ -53,6 +53,10 @@ module Wechat
53
53
  get 'user/getuserinfo', params: { code: code }
54
54
  end
55
55
 
56
+ def getuserid(mobile)
57
+ post 'user/getuserid', JSON.generate(mobile: mobile)
58
+ end
59
+
56
60
  def convert_to_openid(userid)
57
61
  post 'user/convert_to_openid', JSON.generate(userid: userid, agentid: agentid)
58
62
  end
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: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Skinnyworm
@@ -12,28 +12,28 @@ cert_chain:
12
12
  -----BEGIN CERTIFICATE-----
13
13
  MIIEeDCCAuCgAwIBAgIBATANBgkqhkiG9w0BAQsFADBBMRMwEQYDVQQDDAplcmlj
14
14
  Lmd1b2N6MRUwEwYKCZImiZPyLGQBGRYFZ21haWwxEzARBgoJkiaJk/IsZAEZFgNj
15
- b20wHhcNMjUwMzAxMTgwODA1WhcNMjYwMzAxMTgwODA1WjBBMRMwEQYDVQQDDApl
15
+ b20wHhcNMjYwNTIyMTUyNDI0WhcNMjcwNTIyMTUyNDI0WjBBMRMwEQYDVQQDDApl
16
16
  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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- x9rEEpfQd7bzI7iCrzXGPioJ6QY32F+9vlzfOt+1u3JnfWFb2DtlfAEIoajhTQhN
30
- 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
- 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
- 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
- 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
- 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
- 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
- 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
37
37
  -----END CERTIFICATE-----
38
38
  date: 1980-01-02 00:00:00.000000000 Z
39
39
  dependencies:
@@ -147,14 +147,14 @@ dependencies:
147
147
  requirements:
148
148
  - - "~>"
149
149
  - !ruby/object:Gem::Version
150
- version: 1.81.7
150
+ version: 1.84.2
151
151
  type: :development
152
152
  prerelease: false
153
153
  version_requirements: !ruby/object:Gem::Requirement
154
154
  requirements:
155
155
  - - "~>"
156
156
  - !ruby/object:Gem::Version
157
- version: 1.81.7
157
+ version: 1.84.2
158
158
  - !ruby/object:Gem::Dependency
159
159
  name: rails
160
160
  requirement: !ruby/object:Gem::Requirement
@@ -271,8 +271,8 @@ licenses:
271
271
  metadata:
272
272
  bug_tracker_uri: https://github.com/Eric-Guo/wechat/issues
273
273
  changelog_uri: https://github.com/Eric-Guo/wechat/releases
274
- documentation_uri: https://github.com/Eric-Guo/wechat/tree/v1.1.0#readme
275
- source_code_uri: https://github.com/Eric-Guo/wechat/tree/v1.1.0
274
+ documentation_uri: https://github.com/Eric-Guo/wechat/tree/v1.2.0#readme
275
+ source_code_uri: https://github.com/Eric-Guo/wechat/tree/v1.2.0
276
276
  rubygems_mfa_required: 'true'
277
277
  post_install_message: |2
278
278
 
@@ -291,7 +291,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
291
291
  - !ruby/object:Gem::Version
292
292
  version: 3.1.6
293
293
  requirements: []
294
- rubygems_version: 3.7.2
294
+ rubygems_version: 4.0.12
295
295
  specification_version: 4
296
296
  summary: DSL for wechat message handling and API
297
297
  test_files: []
metadata.gz.sig CHANGED
Binary file