kuai_jie_qian 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/kuai_jie_qian.gemspec +0 -1
- data/lib/kuai_jie_qian.rb +1 -2
- data/lib/kuai_jie_qian/client_method/merchant_sign.rb +6 -4
- data/lib/kuai_jie_qian/client_method/user_register.rb +29 -45
- data/lib/kuai_jie_qian/client_method/user_sign.rb +4 -3
- data/lib/kuai_jie_qian/http.rb +3 -3
- data/lib/kuai_jie_qian/utils.rb +28 -5
- data/lib/kuai_jie_qian/version.rb +1 -1
- metadata +2 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b0c8c7da33b874568b4364f198384555ff7906bb
|
4
|
+
data.tar.gz: abc08626958873da930b3a10fc140b9a6ce478b2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dad7cc8d77a81c56d46c40c0daa01a5a2635016b0e6d93188e4d866f59832d901d9bc5d77e36415bf19af72aa54ae124b8ad25cc3b445e636349809d679186e7
|
7
|
+
data.tar.gz: c859df6d305b82b00029d28ecf8e174d300c4fd6af9b0b30a221ae044381c3bc2ba7e3ea693100d5fefd721e1b85de7ee1b1d5e68e57db4bcba08f188136bbcc
|
data/kuai_jie_qian.gemspec
CHANGED
@@ -40,6 +40,5 @@ Gem::Specification.new do |spec|
|
|
40
40
|
spec.add_dependency 'rest-client', '~> 2.0', '>= 2.0.2'
|
41
41
|
spec.add_dependency 'pdfkit', '~> 0.8.2'
|
42
42
|
spec.add_dependency 'wkhtmltopdf-binary', '~> 0.12.3.1'
|
43
|
-
spec.add_dependency 'grim'
|
44
43
|
spec.add_dependency 'rmagick', '~>2.16.0'
|
45
44
|
end
|
data/lib/kuai_jie_qian.rb
CHANGED
@@ -6,7 +6,6 @@ module KuaiJieQian
|
|
6
6
|
#
|
7
7
|
# 平台自身签署摘要(文件流)
|
8
8
|
# @param file_stream [file] 文件流
|
9
|
-
# @param sign_type [String] 签章类型,Single(单页签章)、Multi(多页签章)、Edges(签骑缝章)、Key(关键字签章)
|
10
9
|
# @param seal_position_info [hash] 签章信息
|
11
10
|
# * pos_page [String] 签署页码, 若为多页签章,支持页码格式“1-3,5,8“, 坐标定位时不可空
|
12
11
|
# * pos_type [Integer] 默认0(若为关键字定位,签章类型(signType)必须指定为关键字定位才生效)
|
@@ -14,15 +13,16 @@ module KuaiJieQian
|
|
14
13
|
# * pos_x [Float] 签署位置X坐标
|
15
14
|
# * pos_y [Float] 签署位置Y坐标
|
16
15
|
# * width [Float] 印章展现高度
|
16
|
+
# @param sign_type [String] 签章类型,Single(单页签章)、Multi(多页签章)、Edges(签骑缝章)、Key(关键字签章)
|
17
17
|
#
|
18
18
|
# @return [ Hash ] 结果集
|
19
19
|
# * errCode [Integer] 错误码
|
20
20
|
# * msg [String] 错误信息
|
21
21
|
# * errShow [Boolean] 错误信息是否显示
|
22
22
|
# * signServiceId [String] 签署记录id
|
23
|
-
# * stream [String] 签署后的文件base64
|
23
|
+
# * stream [String] 签署后的文件 base64
|
24
24
|
#
|
25
|
-
def merchant_sign(file_stream,
|
25
|
+
def merchant_sign(file_stream, seal_position_info, sign_type="Key")
|
26
26
|
path = "tech-sdkwrapper/timevale/sign/selfStreamSign"
|
27
27
|
|
28
28
|
params = {
|
@@ -31,7 +31,9 @@ module KuaiJieQian
|
|
31
31
|
:signPos => seal_position_info.to_json,
|
32
32
|
}
|
33
33
|
|
34
|
-
KuaiJieQian::Http.post(@config[:host], @config[:project_config][:projectId], path, params, nil)
|
34
|
+
result = KuaiJieQian::Http.post(@config[:host], @config[:project_config][:projectId], path, params, nil)
|
35
|
+
|
36
|
+
Base64.decode64(result[:stream])
|
35
37
|
end
|
36
38
|
#
|
37
39
|
# 平台自身签署摘要(本地)
|
@@ -16,67 +16,51 @@ module KuaiJieQian
|
|
16
16
|
# * seal_data [String] 电子印章图片base64数据
|
17
17
|
#
|
18
18
|
def user_register(name, id, color, template_type, reg_type)
|
19
|
-
account_id =
|
20
|
-
|
21
|
-
else
|
22
|
-
create_company_account(name, id, reg_type)
|
23
|
-
end
|
24
|
-
|
25
|
-
seal_data = create_company_seal(account_id, color, template_type)
|
19
|
+
account_id = create_account(name, id, reg_type)
|
20
|
+
seal_data = create_seal(reg_type, account_id, color, template_type)
|
26
21
|
|
27
22
|
return { :account_id => account_id, :seal_data => seal_data}
|
28
23
|
end
|
29
24
|
|
30
|
-
|
31
25
|
private
|
32
26
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
27
|
+
def create_account(user_name, id, reg_type)
|
28
|
+
if 'PERSONAL' == reg_type
|
29
|
+
path = "tech-sdkwrapper/timevale/account/addPerson"
|
30
|
+
params = {
|
31
|
+
name: user_name,
|
32
|
+
idNo: id
|
33
|
+
}
|
34
|
+
else
|
35
|
+
path = "tech-sdkwrapper/timevale/account/addOrganize"
|
36
|
+
params = {
|
37
|
+
name: user_name,
|
38
|
+
organCode: id,
|
39
|
+
regType: reg_type
|
40
|
+
}
|
41
|
+
end
|
42
|
+
|
40
43
|
account_data = KuaiJieQian::Http.post(@config[:host], @config[:project_config][:projectId], path, params)
|
44
|
+
|
41
45
|
return account_data[:accountId]
|
42
46
|
end
|
43
47
|
|
44
|
-
|
45
|
-
|
46
|
-
|
48
|
+
def create_seal(reg_type, account_id, color, template_type)
|
49
|
+
path = if 'PERSONAL' == reg_type
|
50
|
+
"tech-sdkwrapper/timevale/seal/addPersonSeal"
|
51
|
+
else
|
52
|
+
"tech-sdkwrapper/timevale/seal/addOrganizeSeal"
|
53
|
+
end
|
54
|
+
|
47
55
|
params = {
|
48
|
-
|
49
|
-
|
50
|
-
|
56
|
+
accountId: account_id,
|
57
|
+
color: color,
|
58
|
+
templateType: template_type
|
51
59
|
}
|
52
60
|
seal_data = KuaiJieQian::Http.post(@config[:host], @config[:project_config][:projectId], path, params)
|
53
|
-
return seal_data[:sealData]
|
54
|
-
end
|
55
61
|
|
56
|
-
#创建企业用户账号
|
57
|
-
def create_company_account(name, id, reg_type)
|
58
|
-
path = "tech-sdkwrapper/timevale/account/addOrganize"
|
59
|
-
params = {
|
60
|
-
"name": name ,
|
61
|
-
"organCode": id,
|
62
|
-
"regType": reg_type
|
63
|
-
}
|
64
|
-
account_data = KuaiJieQian::Http.post(@config[:host], @config[:project_config][:projectId], path, params)
|
65
|
-
return account_data[:accountId]
|
66
|
-
end
|
67
|
-
|
68
|
-
#创建企业用户印章
|
69
|
-
def create_company_seal(account_id, color, template_type)
|
70
|
-
path = "tech-sdkwrapper/timevale/seal/addOrganizeSeal"
|
71
|
-
params = {
|
72
|
-
"accountId": account_id,
|
73
|
-
"color": color,
|
74
|
-
"templateType": template_type
|
75
|
-
}
|
76
|
-
seal_data = KuaiJieQian::Http.post(@config[:host], @config[:project_config][:projectId], path, params)
|
77
62
|
return seal_data[:sealData]
|
78
63
|
end
|
79
|
-
|
80
64
|
end # end module
|
81
65
|
end
|
82
66
|
end
|
@@ -8,7 +8,6 @@ module KuaiJieQian
|
|
8
8
|
# @param account_id [String] 签署账户标识
|
9
9
|
# @param seal_data [String] 印章图片base64
|
10
10
|
# @param file_stream [file] 文件流
|
11
|
-
# @param sign_type [String] 签章类型,Single(单页签章)、Multi(多页签章)、Edges(签骑缝章)、Key(关键字签章)
|
12
11
|
# @param seal_position_info [hash] 签章信息
|
13
12
|
# * pos_page [String] 签署页码, 若为多页签章,支持页码格式“1-3,5,8“, 坐标定位时不可空
|
14
13
|
# * pos_type [Integer] 默认0(若为关键字定位,签章类型(signType)必须指定为关键字定位才生效)
|
@@ -16,6 +15,7 @@ module KuaiJieQian
|
|
16
15
|
# * pos_x [Float] 签署位置X坐标
|
17
16
|
# * pos_y [Float] 签署位置Y坐标
|
18
17
|
# * width [Float] 印章展现高度
|
18
|
+
# @param sign_type [String] 签章类型,Single(单页签章)、Multi(多页签章)、Edges(签骑缝章)、Key(关键字签章)
|
19
19
|
#
|
20
20
|
# @return [ Hash ] 结果集
|
21
21
|
# * errCode [Integer] 错误码
|
@@ -24,7 +24,7 @@ module KuaiJieQian
|
|
24
24
|
# * signServiceId [String] 签署记录id
|
25
25
|
# * stream [String] 签署后的文件base64
|
26
26
|
#
|
27
|
-
def user_sign(account_id, seal_data, file_stream,
|
27
|
+
def user_sign(account_id, seal_data, file_stream, seal_position_info, sign_type="Key")
|
28
28
|
path = "tech-sdkwrapper/timevale/sign/userStreamSign"
|
29
29
|
|
30
30
|
params = {
|
@@ -35,8 +35,9 @@ module KuaiJieQian
|
|
35
35
|
"signPos": seal_position_info.to_json
|
36
36
|
}
|
37
37
|
|
38
|
-
KuaiJieQian::Http.post(@config[:host], @config[:project_config][:projectId], path, params, nil)
|
38
|
+
result = KuaiJieQian::Http.post(@config[:host], @config[:project_config][:projectId], path, params, nil)
|
39
39
|
|
40
|
+
Base64.decode64(result[:stream])
|
40
41
|
end
|
41
42
|
|
42
43
|
def user_sign_with_file(account_id, seal_data, file_info, sign_type, sign_pos)
|
data/lib/kuai_jie_qian/http.rb
CHANGED
@@ -17,11 +17,11 @@ module KuaiJieQian
|
|
17
17
|
request_body = params
|
18
18
|
end
|
19
19
|
|
20
|
-
KuaiJieQian.logger.info "post [#{final_url}] with header: [#{header}], params: [#{params}]"
|
20
|
+
# KuaiJieQian.logger.info "post [#{final_url}] with header: [#{header}], params: [#{params}]"
|
21
21
|
|
22
22
|
response = RestClient.post(final_url, request_body, header)
|
23
23
|
|
24
|
-
KuaiJieQian.logger.
|
24
|
+
# KuaiJieQian.logger.info "post [#{final_url}] got result: [#{response}]\n"
|
25
25
|
|
26
26
|
begin
|
27
27
|
res = Utils.symbolize_keys(JSON.parse(response))
|
@@ -29,7 +29,7 @@ module KuaiJieQian
|
|
29
29
|
raise "post [#{final_url}] 解析结果出错"
|
30
30
|
end
|
31
31
|
|
32
|
-
KuaiJieQian.logger.debug "res: [#{res}]\n"
|
32
|
+
# KuaiJieQian.logger.debug "res: [#{res}]\n"
|
33
33
|
res
|
34
34
|
end
|
35
35
|
|
data/lib/kuai_jie_qian/utils.rb
CHANGED
@@ -21,12 +21,35 @@ module KuaiJieQian
|
|
21
21
|
kit.to_pdf
|
22
22
|
end
|
23
23
|
|
24
|
-
def self.pdf_to_png(
|
25
|
-
|
26
|
-
png = pdf[0].save(file.split(".").first + '.png',
|
27
|
-
{:quality => 90, :alpha => "remove", :colorspace => "RGB"}
|
28
|
-
)
|
24
|
+
def self.pdf_to_png(pdf_file_path, png_path_dir, png_name)
|
25
|
+
pngs = []
|
29
26
|
|
27
|
+
pdf = Magick::ImageList.new(pdf_file_path){self.background_color = 'white'}
|
28
|
+
|
29
|
+
pdf.each_with_index{ |obj, i|
|
30
|
+
png_file_fullname ="#{png_path_dir}/#{png_name}_#{i+1}.png"
|
31
|
+
res = obj.write(png_file_fullname)
|
32
|
+
pngs << {fullname: png_file_fullname, successd: !res.nil?}
|
33
|
+
}
|
34
|
+
|
35
|
+
# pdf = Grim.reap(pdf_file_path)
|
36
|
+
|
37
|
+
# KuaiJieQian.logger.info pdf_file_path
|
38
|
+
# KuaiJieQian.logger.info pdf
|
39
|
+
|
40
|
+
# count = pdf.count
|
41
|
+
|
42
|
+
# KuaiJieQian.logger.info count
|
43
|
+
|
44
|
+
# (0..count-1).each{ |i|
|
45
|
+
# png_file_fullname ="#{png_path_dir}/#{png_name}_#{i+1}.png"
|
46
|
+
# KuaiJieQian.logger.info i
|
47
|
+
# successd = pdf[i].save(png_file_fullname,
|
48
|
+
# {:quality => 90, :alpha => "remove", :colorspace => "RGB"})
|
49
|
+
# pngs << {fullname: png_file_fullname, successd: successd}
|
50
|
+
# }
|
51
|
+
|
52
|
+
pngs
|
30
53
|
end
|
31
54
|
|
32
55
|
end # end module
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kuai_jie_qian
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- tony
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-12-
|
11
|
+
date: 2017-12-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -134,20 +134,6 @@ dependencies:
|
|
134
134
|
- - "~>"
|
135
135
|
- !ruby/object:Gem::Version
|
136
136
|
version: 0.12.3.1
|
137
|
-
- !ruby/object:Gem::Dependency
|
138
|
-
name: grim
|
139
|
-
requirement: !ruby/object:Gem::Requirement
|
140
|
-
requirements:
|
141
|
-
- - ">="
|
142
|
-
- !ruby/object:Gem::Version
|
143
|
-
version: '0'
|
144
|
-
type: :runtime
|
145
|
-
prerelease: false
|
146
|
-
version_requirements: !ruby/object:Gem::Requirement
|
147
|
-
requirements:
|
148
|
-
- - ">="
|
149
|
-
- !ruby/object:Gem::Version
|
150
|
-
version: '0'
|
151
137
|
- !ruby/object:Gem::Dependency
|
152
138
|
name: rmagick
|
153
139
|
requirement: !ruby/object:Gem::Requirement
|