wx_ext 0.0.4 → 0.0.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
  SHA1:
3
- metadata.gz: fa7a71f5629b784d99acb5c66f3f1658aa1121ab
4
- data.tar.gz: 9946d80a5524ccfe3e9a0709f7af2a5ce6ed0edc
3
+ metadata.gz: 797ac4daf9107e77b285eee805cb71bb5823a3af
4
+ data.tar.gz: ccf4970ab608529ef2dd21e06ff39cba034982f8
5
5
  SHA512:
6
- metadata.gz: ec01435f4bd066a37b728d1cde4fce99398afbf0f356cc5eb686f383aec9d9108c8ab51472f05808e249834f8ccc87f3243608816b4ee0b5f9029244a82b13fd
7
- data.tar.gz: 6ab156dae07547d8d282dfb7bc149ccc68753d2e4209279294c55e9068c106612c613ae4abcda77742b0cb4870a59871bda53349d9fe1da0fe655886080b2166
6
+ metadata.gz: dc9ecd44eb86193b226ed4529c3ddc15321852bd41f5dde86ea8fdedd5a6df1ba2693937325ca8a1d81cff6a10a212b5af71bbbd9200f3b085a7b906f0014a46
7
+ data.tar.gz: f5f5f609b2fcd25814d24583fb6c95b533fe46a30f60cda3c16b6e4dcad9e3e00e3224d24cd2b4862c0777887b1768dfcda2ccb6cd86fe8ba1ebb95b0facd8b5
data/README.md CHANGED
@@ -25,7 +25,7 @@ And then execute:
25
25
 
26
26
  ## Contributing
27
27
 
28
- 1. Fork it ( https://github.com/[my-github-username]/wx_ext/fork )
28
+ 1. Fork it ( https://github.com/FlowerWrong/wx_ext/fork )
29
29
  2. Create your feature branch (`git checkout -b my-new-feature`)
30
30
  3. Commit your changes (`git commit -am 'Add some feature'`)
31
31
  4. Push to the branch (`git push origin my-new-feature`)
@@ -1,4 +1,4 @@
1
1
  # encoding: UTF-8
2
2
  module WxExt
3
- VERSION = "0.0.4"
3
+ VERSION = "0.0.5"
4
4
  end
data/lib/wx_ext.rb CHANGED
@@ -6,6 +6,18 @@ require 'json'
6
6
  require 'nokogiri'
7
7
 
8
8
  module WxExt
9
+ def self.root
10
+ File.dirname __dir__
11
+ end
12
+
13
+ def self.lib
14
+ File.join root, 'lib'
15
+ end
16
+
17
+ def self.spec
18
+ File.join root, 'spec'
19
+ end
20
+
9
21
  class WeiXin
10
22
  attr_accessor :account, :password, :home_url, :token, :user_name, \
11
23
  :ticket_id, :ticket, :cookies, :operation_seq
@@ -126,6 +138,22 @@ module WxExt
126
138
  JSON.parse post_msg_res.to_s
127
139
  end
128
140
 
141
+ # 图文预览功能
142
+ def preview_msg(msg_params_with_name)
143
+ uri = 'cgi-bin/operate_appmsg?sub=preview&t=ajax-appmsg-preview'\
144
+ "&type=10&token=#{@token}&lang=zh_CN"
145
+ headers = {
146
+ referer: 'https://mp.weixin.qq.com/cgi-bin/appmsg?t=media/appmsg_edit'\
147
+ "&action=edit&type=10&isMul=0&isNew=1&lang=zh_CN&token=#{@token}"
148
+ }
149
+ resource = RestClient::Resource.new(@home_url, headers: headers,
150
+ cookies: @cookies)
151
+
152
+ res = resource[uri].post msg_params_with_name
153
+ # {"ret":"0", "msg":"preview send success!", "appMsgId":"201796045", "fakeid":""}
154
+ JSON.parse res.to_s
155
+ end
156
+
129
157
  # 群发图文消息
130
158
  def broadcast_msg(msg_params)
131
159
  uri = "cgi-bin/masssend?t=ajax-response&token=#{@token}&lang=zh_CN"
@@ -21,6 +21,38 @@ describe WxExt::WeiXin do
21
21
  end
22
22
  end
23
23
 
24
+ it "should preview msg method should preview a msg to me" do
25
+ res_hash = @weixin.login
26
+ flag = @weixin.init
27
+ file = File.new(File.join(WxExt.spec, "test.png"), 'rb')
28
+ file_hash = @weixin.upload_file(file, "test.png")
29
+ file_id = file_hash["content"]
30
+ msg_params_with_name = {
31
+ AppMsgId: '',
32
+ ajax: 1,
33
+ author0: '作者' + rand.to_s,
34
+ content0: '正文' + rand.to_s,
35
+ count: 1,
36
+ digest0: 'test摘要' + rand.to_s,
37
+ f: 'json',
38
+ fileid0: file_id,
39
+ lang: 'zh_CN',
40
+ preusername: 'nan474947',
41
+ random: rand,
42
+ show_cover_pic0: 1, # 0 => 封面图片不显示在正文中
43
+ sourceurl0: 'http://thecampus.cc/' + rand.to_s,
44
+ title0: 'test标题' + rand.to_s,
45
+ token: @weixin.token,
46
+ vid: ''
47
+ }
48
+
49
+ msg_hash = @weixin.preview_msg(msg_params_with_name)
50
+ puts "==" * 20
51
+ puts msg_hash
52
+ expect(msg_hash["ret"].to_s).to eql("0")
53
+ end
54
+
55
+
24
56
  it 'should reply to yang' do
25
57
  res_hash = @weixin.login
26
58
  flag = @weixin.init
@@ -116,8 +148,8 @@ describe WxExt::WeiXin do
116
148
  puts @weixin.token
117
149
  puts @weixin.ticket_id
118
150
  puts @weixin.ticket
119
- file = File.new("/home/yang/dev/ruby/gem/hack_wx/spec/hack_wx/test_spec.jpg", 'rb')
120
- file_hash = @weixin.upload_file(file, "test_spec.jpg")
151
+ file = File.new(File.join(WxExt.spec, "test.png"), 'rb')
152
+ file_hash = @weixin.upload_file(file, "test.png")
121
153
  puts "==" * 20
122
154
  puts file_hash
123
155
  expect(file_hash["base_resp"]["ret"].to_s).to eql("0")
@@ -126,8 +158,8 @@ describe WxExt::WeiXin do
126
158
  it "should upload_single_msg method should upload a msg to sucaizhongxin" do
127
159
  res_hash = @weixin.login
128
160
  flag = @weixin.init
129
- file = File.new("/home/yang/dev/ruby/gem/hack_wx/spec/hack_wx/test_spec.jpg", 'rb')
130
- file_hash = @weixin.upload_file(file, "test_spec.jpg")
161
+ file = File.new(File.join(WxExt.spec, "test.png"), 'rb')
162
+ file_hash = @weixin.upload_file(file, "test.png")
131
163
  file_id = file_hash["content"]
132
164
  single_msg_params = {
133
165
  AppMsgId: '',
@@ -140,7 +172,7 @@ describe WxExt::WeiXin do
140
172
  fileid0: file_id,
141
173
  lang: 'zh_CN',
142
174
  random: rand,
143
- show_cover_pic0: 1,
175
+ show_cover_pic0: 1, # 0 => 封面图片不显示在正文中
144
176
  sourceurl0: 'http://thecampus.cc/' + rand.to_s,
145
177
  title0: 'test标题' + rand.to_s,
146
178
  token: @weixin.token,
@@ -155,8 +187,8 @@ describe WxExt::WeiXin do
155
187
  it "should upload_multi_msg method should upload multi msg to sucaizhongxin" do
156
188
  res_hash = @weixin.login
157
189
  flag = @weixin.init
158
- file = File.new("/home/yang/dev/ruby/gem/hack_wx/spec/hack_wx/test_spec.jpg", 'rb')
159
- file_hash = @weixin.upload_file(file, "test_spec.jpg")
190
+ file = File.new(File.join(WxExt.spec, "test.png"), 'rb')
191
+ file_hash = @weixin.upload_file(file, "test.png")
160
192
  file_id = file_hash["content"]
161
193
  msg_params = {
162
194
  AppMsgId: '',
@@ -230,4 +262,5 @@ describe WxExt::WeiXin do
230
262
  puts msg_hash["app_msg_info"]["item"][0]["app_id"]
231
263
  expect(msg_hash["base_resp"]["ret"].to_s).to eql("0")
232
264
  end
265
+
233
266
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wx_ext
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - flowerwrong
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-21 00:00:00.000000000 Z
11
+ date: 2014-12-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -117,7 +117,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
117
117
  version: '0'
118
118
  requirements: []
119
119
  rubyforge_project:
120
- rubygems_version: 2.4.4
120
+ rubygems_version: 2.4.5
121
121
  signing_key:
122
122
  specification_version: 4
123
123
  summary: a gem to hack mp.weixin.qq.com