alidayu_sms 0.3.0 → 0.3.1

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: 337b38f10989c709232c0a4aa7a1d7d3f7ae7035
4
- data.tar.gz: 00a1e91270ac061c62f1f4665c88fadd5413136b
3
+ metadata.gz: 4e4e64b32dd376d7582bb610c7cb0dd991be870c
4
+ data.tar.gz: 8119a7ea51e98851b93558a2ae3e722c6db432cd
5
5
  SHA512:
6
- metadata.gz: abd7a804672a728b5bb49ee804332485f78d4ab5ab19c3d8c4988440a52340e7f8401cf91445b8581ef9060012e07fe4f3462d7a388b966ed8f0345b831cd3b6
7
- data.tar.gz: 0f277a2c6fded83a7c59c2d8c427c3abdebae216561181c416a7127d347a954b50e4a6905fb1ed2a9b060da92de40a812b518a9412c5632b8644b747d7898ac4
6
+ metadata.gz: c843c1c4ccbae5b7da8d179a819123d2db032f05d71efaad7a1b660317f29ce218d5604574c2833121cf81d0dcdf7ff4f0e5c8b644684a271d591f940fc40c44
7
+ data.tar.gz: 040ff6361c3e9bc7f05cae8976d441dfdf8f8cf204ee3b1a2afa90ccf9ddc62378cd064a5f919cd95f0683821e010ce3b70cf2cec1d6b2f782c8ada362685a9a
data/.gitignore ADDED
@@ -0,0 +1,18 @@
1
+ /.bundle
2
+
3
+ # Ignore the default SQLite database.
4
+ /db/*.sqlite3
5
+ /db/*.sqlite3-journal
6
+
7
+ # Ignore all logfiles and tempfiles.
8
+ /log/*
9
+ !/log/.keep
10
+ /tmp
11
+ /.idea
12
+ /config/*.yml
13
+ /test
14
+ /public/api_chekoubei_doc/
15
+ /public/Attachments/*
16
+ public/system/*
17
+ *~
18
+ public/vc/*
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- alidayu_sms (0.2.0)
4
+ alidayu_sms (0.3.1)
5
5
  i18n
6
6
 
7
7
  GEM
@@ -26,8 +26,11 @@ PLATFORMS
26
26
  ruby
27
27
 
28
28
  DEPENDENCIES
29
- activesupport (~> 4.1.12)
29
+ activesupport (~> 4.1)
30
30
  alidayu_sms!
31
31
  bundler (~> 1.9)
32
32
  rack
33
33
  rake (~> 10.0)
34
+
35
+ BUNDLED WITH
36
+ 1.11.2
data/README.md CHANGED
@@ -1,12 +1,16 @@
1
1
  # alidayu_sms
2
2
  阿里大鱼的短信发送api,暂时只支持 alibaba.aliqin.fc.sms.num.send 短信发送
3
3
 
4
- # Gemfile add
4
+ # Gemfile
5
+ ```ruby
5
6
  gem 'alidayu_sms'
7
+ ```
6
8
 
7
9
  # start
8
- ##生成配置文件示例!(my :app_key and :app_secret, Valid to 2016.02.22)
9
- rake alidayu_sms:create_default_config_file
10
+ ##生成配置文件 config/alidayu_sms.yml
11
+
12
+ `rake alidayu_sms:create_default_config_file`
13
+
10
14
  ```ruby
11
15
  defaults: &defaults
12
16
  alidayu:
@@ -28,11 +32,24 @@ test:
28
32
  production:
29
33
  <<: *defaults
30
34
  ```
31
- # v0.3.0 支持自定义模板了 && hello world!
35
+
36
+ # 用法
37
+ ## 登录短信示例
38
+ - 配置文件config/alidayu_sms.yml里的product即为 sms_param = sms_param[:product] = "阿里云", 则可不传这个字段
39
+
40
+ ```ruby
41
+ # Alidayu::Sms.send_code_for_{name}( phone, sms_param={code: '1314520', product: '可选'}, extend="") {name}为配置文件sms_templates[:name]
42
+
43
+ Alidayu::Sms.send_code_for_sign_up("15921076830", {code: '1314520'}, '')
44
+ ```
45
+
46
+ # 自定义模板
47
+
32
48
  ```ruby
49
+
33
50
  options = {
34
- sms_param: "'code': '1314520', ,'product':'阿里云'",
35
- phones: '1520122011,1591251515',
51
+ sms_param: "{'code':'1314520','product':'阿里云'}",
52
+ phones: '152012211, 15921076830',
36
53
  extend: '', # 公共回传参数,在“消息返回”中会透传回该参数;举例:用户可以传入自己下级的会员ID,在消息返回时,该会员ID会包含在内,用户可以根据该会员ID识别是哪位会员使用了你的应用
37
54
  sms_free_sign_name: "注册验证", # 短信签名
38
55
  sms_template_code: "SMS_5045503" # 短信模板
@@ -40,17 +57,4 @@ options = {
40
57
  result = AlidayuSmsSender.new.batchSendSms(options)
41
58
 
42
59
  # 返回码参考 阿里大鱼 api文档
43
- ```
44
- # v0.3.0最新用法
45
- ## 配置文件里的product即为 sms_param = sms_param[:product] = "阿里云", 则可不传这个字段
46
- ```ruby
47
- # Alidayu::Sms.send_code_for_{name}( phone, sms_param={code: '1314520', product: '可选'}, extend="") {name}为配置文件sms_templates[:name]
48
- Alidayu::Sms.send_code_for_sign_up("15921076830", {code: '1314520'}, '')
49
- ```
50
-
51
- # v0.2.0用法
52
- ## 配置文件里的product即为 options里的 product: "阿里云", 模板的{product}字段,配置好之后可以用如下方法
53
- ```ruby
54
- # Alidayu::Sms.send_code_for_{name}(code, phone, extend="") {name}为配置文件sms_templates[:name]
55
- Alidayu::Sms.send_code_for_sign_up(1314520, "1520122011")
56
- ```
60
+ ```
data/alidayu_sms.gemspec CHANGED
@@ -18,9 +18,9 @@ Gem::Specification.new do |spec|
18
18
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_dependency 'i18n'
21
+ spec.add_dependency 'i18n', '~> 0'
22
22
  spec.add_development_dependency "bundler", "~> 1.9"
23
23
  spec.add_development_dependency "rake", "~> 10.0"
24
- spec.add_development_dependency "activesupport", "~> 4.1.12"
25
- spec.add_development_dependency 'rack'
24
+ spec.add_development_dependency "activesupport", "~> 4.1"
25
+ spec.add_development_dependency 'rack', '~> 0'
26
26
  end
data/bin/alidayu_sms CHANGED
@@ -42,12 +42,12 @@ EOF
42
42
  attributes = Rack::Utils.parse_nested_query(x)
43
43
  end
44
44
 
45
- o.on("-h", "--help", "Show help documentation") do |x|
45
+ o.on("-h", "--help", "帮助") do |x|
46
46
  puts o
47
47
  exit
48
48
  end
49
49
 
50
- o.on("-v", "--version", "Show alidayu_sms version") do |x|
50
+ o.on("-v", "--version", "版本号") do |x|
51
51
  puts "Version: #{AlidayuSms::VERSION}"
52
52
  exit
53
53
  end
data/lib/alidayu_sms.rb CHANGED
@@ -25,7 +25,10 @@ class AlidayuSmsSender
25
25
  options = HashWithIndifferentAccess.new(options)
26
26
  check_system_params(options)
27
27
 
28
- @source = AlidayuSms::Alidayu.new(options)
28
+ # 基础类实例
29
+ self.source = AlidayuSms::Alidayu.new(options)
30
+
31
+ # 动态方法
29
32
  class_eval do
30
33
  load_config[:alidayu][:sms_templates].each do |sms_template|
31
34
  define_method("send_code_for_#{sms_template[:name]}") do |phone, _sms_param = {}, extend = ""|
@@ -57,7 +60,7 @@ class AlidayuSmsSender
57
60
  check_params(flag, options)
58
61
  puts "阿里大鱼传入参数为:#{attr}"
59
62
 
60
- @source.standard_send_msg(attr)
63
+ source.standard_send_msg(attr)
61
64
  end
62
65
 
63
66
  private
@@ -43,9 +43,13 @@ module AlidayuSms
43
43
 
44
44
  private
45
45
  def sort_options(**arg)
46
- arg.sort_by{|k,v| k}.to_h
46
+ # arg.sort_by{|k,v| k}.to_h
47
+ hash = Hash.new
48
+ arg.sort.map{|e| hash[e[0]] = e[1] }
49
+ hash
47
50
  end
48
51
 
52
+ # 中文方法 ~
49
53
  def 加密(**arg)
50
54
  _arg = arg.map{|k,v| "#{k}#{v}"}
51
55
  md5("#{self.app_secret}#{_arg.join("")}#{self.app_secret}").upcase
@@ -1,3 +1,3 @@
1
1
  module AlidayuSms
2
- VERSION = "0.3.0"
2
+ VERSION = "0.3.1"
3
3
  end
@@ -6,6 +6,6 @@ namespace :alidayu_sms do
6
6
  unless File.exist?("#{::Rails.root}/config/initializers/alidayu.rb")
7
7
  FileUtils.cp(File.expand_path("../../templates/alidayu.rb", __FILE__), "#{::Rails.root}/config/initializers/alidayu.rb")
8
8
  end
9
- puts 'ce'
9
+ puts '阿里大鱼初始化成功'
10
10
  end
11
11
  end
Binary file
Binary file
metadata CHANGED
@@ -1,27 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alidayu_sms
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - jack ping
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-08 00:00:00.000000000 Z
11
+ date: 2016-05-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: i18n
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
@@ -58,26 +58,26 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 4.1.12
61
+ version: '4.1'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 4.1.12
68
+ version: '4.1'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rack
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  description: alidayu_sms send.
@@ -85,12 +85,11 @@ email:
85
85
  - 525399584@qq.com
86
86
  executables:
87
87
  - alidayu_sms
88
- - alidayu_sms~
89
88
  extensions: []
90
89
  extra_rdoc_files: []
91
90
  files:
91
+ - ".gitignore"
92
92
  - ".idea/.rakeTasks"
93
- - ".idea/alidayu_sms.iml"
94
93
  - ".idea/misc.xml"
95
94
  - ".idea/modules.xml"
96
95
  - ".idea/vcs.xml"
@@ -98,28 +97,19 @@ files:
98
97
  - Gemfile
99
98
  - Gemfile.lock
100
99
  - README.md
101
- - README.md~
102
100
  - Rakefile
103
- - Rakefile~
104
101
  - alidayu_sms.gemspec
105
- - alidayu_sms.gemspec~
106
102
  - bin/alidayu_sms
107
- - bin/alidayu_sms~
108
103
  - lib/alidayu_sms.rb
109
- - lib/alidayu_sms.rb~
110
104
  - lib/alidayu_sms/alidayu.rb
111
- - lib/alidayu_sms/alidayu.rb~
112
105
  - lib/alidayu_sms/version.rb
113
- - lib/alidayu_sms/version.rb~
114
- - lib/sms.rb~
115
106
  - lib/tasks/alidayu_sms.rake
116
- - lib/tasks/alidayu_sms.rake~
117
107
  - lib/templates/alidayu.rb
118
108
  - lib/templates/alidayu_sms.yml
119
- - lib/templates/sms.yml~
120
109
  - pkg/alidayu_sms-0.1.0.gem
121
110
  - pkg/alidayu_sms-0.2.0.gem
122
- - sms.gemspec~
111
+ - pkg/alidayu_sms-0.3.0.gem
112
+ - pkg/alidayu_sms-0.3.1.gem
123
113
  homepage: https://github.com/wangping0105/alidayu_sms
124
114
  licenses: []
125
115
  metadata: {}
@@ -139,7 +129,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
139
129
  version: '0'
140
130
  requirements: []
141
131
  rubyforge_project:
142
- rubygems_version: 2.4.6
132
+ rubygems_version: 2.5.1
143
133
  signing_key:
144
134
  specification_version: 4
145
135
  summary: alidayu_sms send.
@@ -1,27 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <module type="RUBY_MODULE" version="4">
3
- <component name="FacetManager">
4
- <facet type="gem" name="Ruby Gem">
5
- <configuration>
6
- <option name="GEM_APP_ROOT_PATH" value="$MODULE_DIR$" />
7
- <option name="GEM_APP_TEST_PATH" value="$MODULE_DIR$/test" />
8
- <option name="GEM_APP_LIB_PATH" value="$MODULE_DIR$/lib" />
9
- </configuration>
10
- </facet>
11
- </component>
12
- <component name="NewModuleRootManager">
13
- <content url="file://$MODULE_DIR$">
14
- <sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
15
- </content>
16
- <orderEntry type="inheritedJdk" />
17
- <orderEntry type="sourceFolder" forTests="false" />
18
- <orderEntry type="library" scope="PROVIDED" name="activesupport (v4.1.14.1, RVM: ruby-2.1.5) [gem]" level="application" />
19
- <orderEntry type="library" scope="PROVIDED" name="i18n (v0.7.0, RVM: ruby-2.1.5) [gem]" level="application" />
20
- <orderEntry type="library" scope="PROVIDED" name="json (v1.8.3, RVM: ruby-2.1.5) [gem]" level="application" />
21
- <orderEntry type="library" scope="PROVIDED" name="minitest (v5.8.4, RVM: ruby-2.1.5) [gem]" level="application" />
22
- <orderEntry type="library" scope="PROVIDED" name="rack (v1.6.4, RVM: ruby-2.1.5) [gem]" level="application" />
23
- <orderEntry type="library" scope="PROVIDED" name="rake (v10.5.0, RVM: ruby-2.1.5) [gem]" level="application" />
24
- <orderEntry type="library" scope="PROVIDED" name="thread_safe (v0.3.5, RVM: ruby-2.1.5) [gem]" level="application" />
25
- <orderEntry type="library" scope="PROVIDED" name="tzinfo (v1.2.2, RVM: ruby-2.1.5) [gem]" level="application" />
26
- </component>
27
- </module>
data/README.md~ DELETED
@@ -1,6 +0,0 @@
1
- # alidayu_sms
2
- 阿里大鱼的短信发送api
3
- # Gemfile
4
- gem "sms", git: "ssh://gitlab@gitlab.ikcrm.com:40022/ikcrm_server/ikcrm_sms.git", branch: 'master'
5
-
6
- rake alidayu_sms:create_default_config_file
data/Rakefile~ DELETED
@@ -1,12 +0,0 @@
1
- require "bundler/gem_tasks"
2
- load "tasks/alidayu_sms.rake"
3
-
4
- require 'rake/testtask'
5
-
6
- Rake::TestTask.new do |t|
7
- t.libs << 'lib' << 'test'
8
- t.pattern = "test/*_test.rb"
9
- t.ruby_opts << "-r test_helper"
10
- end
11
-
12
- task :default => :test
data/alidayu_sms.gemspec~ DELETED
@@ -1,27 +0,0 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'alidayu_sms/version'
5
-
6
- Gem::Specification.new do |spec|
7
- spec.name = "alidayu_sms"
8
- spec.version = AlidayuSms::VERSION
9
- spec.authors = ["jack ping"]
10
- spec.email = ["525399584@qq.com"]
11
-
12
- spec.summary = %q{alidayu_sms send.}
13
- spec.description = %q{alidayu_sms send.}
14
- spec.homepage = "https://github.com/wangping0105/alidayu_sms"
15
-
16
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
17
- spec.bindir = "bin"
18
- spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
19
- spec.require_paths = ["lib"]
20
-
21
- spec.add_dependency 'i18n'
22
-
23
- spec.add_development_dependency "bundler", "~> 1.9"
24
- spec.add_development_dependency "rake", "~> 10.0"
25
- spec.add_development_dependency "activesupport", "~> 4.1.12"
26
- spec.add_development_dependency 'rack'
27
- end
data/bin/alidayu_sms~ DELETED
@@ -1,68 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require "optparse"
4
- require "pp"
5
- require 'rack'
6
-
7
- $:.unshift File.join(File.dirname(__FILE__), *%w[.. lib])
8
- require 'alidayu_sms'
9
-
10
- options = {source: 'zucp', method: 'single'}
11
- attributes = {}
12
-
13
- OptionParser.new do |o|
14
- o.banner = <<-EOF
15
- Usage:
16
- Starting:
17
- alidayu_sms [-p <phone>] [-c <content>] [-m <model>] [-t <type>]
18
-
19
- Querying:
20
- alidayu_sms -v
21
-
22
- Options:
23
- EOF
24
-
25
- o.on("-p", "--phone=phone", String, "send alidayu_sms phone") do |x|
26
- options[:phone] = x
27
- end
28
-
29
- o.on("-c", "--content=content", String, "send alidayu_sms content") do |x|
30
- options[:content] = x
31
- end
32
-
33
- o.on("-s", "--source=source", String, "send alidayu_sms source [zucp|taobao] (Default: zucp)") do |x|
34
- options[:source] = x
35
- end
36
-
37
- o.on("-m", "--m=method", String, "send alidayu_sms method [single|batch] (Default: single)") do |x|
38
- options[:method] = x
39
- end
40
-
41
- o.on("-a", "--a=attributes", String, "attributes: ()") do |x|
42
- attributes = Rack::Utils.parse_nested_query(x)
43
- end
44
-
45
- o.on("-h", "--help", "Show help documentation") do |x|
46
- puts o
47
- exit
48
- end
49
-
50
- o.on("-v", "--version", "Show alidayu_sms version") do |x|
51
- puts "Version: #{AlidayuSms::VERSION}"
52
- exit
53
- end
54
- end.parse!
55
-
56
- options.merge!(attributes)
57
-
58
- begin
59
- puts options.inspect
60
- puts AlidayuSmsSender.new(options).send("#{options[:method]}Send", options[:phone])
61
- rescue => e
62
- puts 'Uncaught exception'
63
- puts e.message
64
- puts e.backtrace.join("\n")
65
- end
66
-
67
- # sms -p 13262902619 -s taobao -a 'app_secret=5aff003ac3c7243da65adef1e7c9c363&app_key=23272925&sms_free_sign_name=爱客验证码&sms_template_code=SMS_2575137&sms_param[code]=xxx&sms_param[product]=ddd'
68
-
data/lib/alidayu_sms.rb~ DELETED
@@ -1,55 +0,0 @@
1
- $:.unshift File.expand_path('../../lib', __FILE__)
2
-
3
- require 'pp'
4
- require "active_support/all"
5
-
6
- require "alidayu_sms/version"
7
- require "alidayu_sms/alidayu"
8
-
9
- require 'yaml' unless defined? YMAL
10
-
11
- def load_config
12
- if defined? ::Rails
13
- @sms_config ||= HashWithIndifferentAccess.new(YAML.load_file("#{::Rails.root}/config/alidayu_sms.yml")[::Rails.env] || {})
14
- else
15
- {}
16
- end
17
- end
18
-
19
- class AlidayuSmsSender
20
- attr_accessor :source, :template_code
21
-
22
- def initialize(options = {})
23
- if load_config.present? && load_config[:alidayu].present?
24
- options = load_config[:alidayu].merge(options)
25
- end
26
-
27
- options = HashWithIndifferentAccess.new(options)
28
- @source = AlidayuSms::Alidayu.new(options)
29
- end
30
-
31
- # 发送短信
32
- def batchSendSms(options = {})
33
- arr = %w(code product phones extend sms_free_sign_name sms_template_code)
34
- arr.each do |a|
35
- unless options[a.to_sym]
36
- puts "参数不全!"
37
- end
38
- end
39
-
40
- @source.standard_send_msg(arr.map{|a| options[a.to_sym]})
41
- end
42
-
43
- end
44
-
45
- if defined? ::Rails
46
- module AlidayuSms
47
- module Rails
48
- class Railtie < ::Rails::Railtie
49
- rake_tasks do
50
- load "tasks/alidayu_sms.rake"
51
- end
52
- end
53
- end
54
- end
55
- end
@@ -1,67 +0,0 @@
1
- require 'net/http'
2
-
3
- module Sms
4
- class Alidayu
5
- attr_accessor :app_key, :app_secret, :post_url
6
-
7
- def initialize(options = {})
8
- app_key = options[:app_key]
9
- app_secret = options[:app_secret]
10
- post_url = options[:post_url]
11
- end
12
-
13
- def standard_send_msg(code, product, _phones, _extend, _sms_free_sign_name, _sms_template_code)
14
- _sms_param = "{'code':'#{code}','product':'#{product}'}"
15
-
16
- _timestamp = Time.now.strftime("%F %T")
17
- options = {
18
- app_key: self.app_key,
19
- format: 'json',
20
- method: 'alibaba.aliqin.fc.sms.num.send',
21
- partner_id: 'apidoc',
22
- sign_method: 'md5',
23
- timestamp: _timestamp,
24
- v: '2.0',
25
- extend: _extend,
26
- rec_num: _phones,
27
- sms_free_sign_name: _sms_free_sign_name,
28
- sms_param: _sms_param,
29
- sms_template_code: _sms_template_code,
30
- sms_type: 'normal'
31
- }
32
- options = sort_options(options)
33
-
34
- md5_str = 加密(options)
35
- response = post(self.post_url, options.merge(sign: md5_str))
36
- puts "phones: #{_phones}, #{_sms_param}, and respone: #{response}"
37
- response
38
- end
39
-
40
- private
41
- def sort_options(**arg)
42
- arg.sort_by{|k,v| k}.to_h
43
- end
44
-
45
- def 加密(**arg)
46
- _arg = arg.map{|k,v| "#{k}#{v}"}
47
- md5("#{self.app_secret}#{_arg.join("")}#{self.app_secret}").upcase
48
- end
49
-
50
- def md5(arg)
51
- Digest::MD5.hexdigest(arg)
52
- end
53
-
54
- def post(uri, options)
55
- response = ""
56
- url = URI.parse(uri)
57
- Net::HTTP.start(url.host, url.port) do |http|
58
- req = Net::HTTP::Post.new(url.path)
59
- req.set_form_data(options)
60
- response = http.request(req).body
61
- end
62
- JSON(response)
63
- end
64
- end
65
- end
66
-
67
-
@@ -1,3 +0,0 @@
1
- module AlidayuSms
2
- VERSION = "0.1.0"
3
- end
data/lib/sms.rb~ DELETED
@@ -1,60 +0,0 @@
1
- $:.unshift File.expand_path('../../lib', __FILE__)
2
-
3
- require 'pp'
4
- require "active_support/all"
5
-
6
- require "sms/version"
7
- require "sms/alidayu"
8
-
9
- require 'yaml' unless defined? YMAL
10
-
11
- def load_config
12
- if defined? ::Rails
13
- @sms_config ||= HashWithIndifferentAccess.new(YAML.load_file("#{::Rails.root}/config/sms.yml")[::Rails.env] || {})
14
- else
15
- {}
16
- end
17
- end
18
-
19
- class AlidayuSmsSender
20
-
21
- SOURCES = %w(alidayu)
22
-
23
- attr_accessor :source, :template_code
24
-
25
- def initialize(options = {})
26
- return unless options[:source].in?(SOURCES)
27
-
28
- if load_config.present? && load_config[:alidayu].present?
29
- options = load_config[:alidayu].merge(options)
30
- end
31
-
32
- options = HashWithIndifferentAccess.new(options)
33
- @source = Sms::Alidayu.new(options)
34
- end
35
-
36
- # 发送短信
37
- def batchSendSms(options = {})
38
- arr = %w(code product phones extend sms_free_sign_name sms_template_code)
39
- arr.each do |a|
40
- unless options[a.to_sym]
41
- puts "参数不全!"
42
- end
43
- end
44
-
45
- standard_send_msg(arr.map{|a| options[a.to_sym]})
46
- end
47
-
48
- end
49
-
50
- if defined? ::Rails
51
- module Sms
52
- module Rails
53
- class Railtie < ::Rails::Railtie
54
- rake_tasks do
55
- load "tasks/sms.rake"
56
- end
57
- end
58
- end
59
- end
60
- end
@@ -1,7 +0,0 @@
1
- namespace :alidayu_sms do
2
- task :create_default_config_file do
3
- unless File.exist?("#{::Rails.root}/config/alidayu_sms.yml")
4
- FileUtils.cp(File.expand_path("../../templates/alidayu_sms.yml", __FILE__), "#{::Rails.root}/config/alidayu_sms.yml")
5
- end
6
- end
7
- end
@@ -1,18 +0,0 @@
1
- defaults: &defaults
2
- alidayu:
3
- app_key: xxxx
4
- app_secret: xxxx
5
- post_url: 'http://gw.api.taobao.com/router/rest'
6
- templates:
7
- devise_supplier_applies_otp_code_confirm: "验证码:%{code},有效期5分钟~ 如非本人操作,请忽略本短信"
8
- devise_passwords_otp_code_confirm: "验证码:%{code},有效期5分钟~ 如非本人操作,请忽略本短信"
9
- devise_confirmations_otp_code_confirm: "验证码:%{code},有效期5分钟,请尽快完成注册哦~ 如非本人操作,请忽略本短信"
10
-
11
- development:
12
- <<: *defaults
13
-
14
- test:
15
- <<: *defaults
16
-
17
- production:
18
- <<: *defaults
data/sms.gemspec~ DELETED
@@ -1,27 +0,0 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'sms/version'
5
-
6
- Gem::Specification.new do |spec|
7
- spec.name = "alidayu_sms"
8
- spec.version = Sms::VERSION
9
- spec.authors = ["jack ping"]
10
- spec.email = ["525399584@qq.com"]
11
-
12
- spec.summary = %q{sms send.}
13
- spec.description = %q{sms send.}
14
- spec.homepage = "https://github.com/wangping0105/alidayu_sms"
15
-
16
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
17
- spec.bindir = "bin"
18
- spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
19
- spec.require_paths = ["lib"]
20
-
21
- spec.add_dependency 'i18n'
22
-
23
- spec.add_development_dependency "bundler", "~> 1.9"
24
- spec.add_development_dependency "rake", "~> 10.0"
25
- spec.add_development_dependency "activesupport", "~> 4.1.12"
26
- spec.add_development_dependency 'rack'
27
- end