customer_service_im 0.10.0 → 0.14.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a2dd05d754f2c0fdef94d03909c647a3526c88b2f9ff0bf27d9f0c460129e191
4
- data.tar.gz: e5ff5baf24b770f783d4b3ff4864f6cab892eb645994ac8ccb055e8582a24c2f
3
+ metadata.gz: 3fabb9e1f4f4302eb3d1a50a44be2fb9aef4eff4d8ddc3868e7599d3d57192d4
4
+ data.tar.gz: cc468ad78fb41e22a185372ea22c88d1193c96dabde202b6e1613c0b7708910f
5
5
  SHA512:
6
- metadata.gz: 94689790e700a4ef5ef4a6b89433e7901e16f3321a65f4641d9e1be8cec6b2fe4f44a807fe433483d09852826985a95f47dba379cba36a4df8744843f348983f
7
- data.tar.gz: 60ad6be2532af183377e57d85e7edb20700ae85a4d5d1e087a73a8a7f2f57478695172556651fa4bbb7993fcd5313a015586438bf9365d026635e40ecb339980
6
+ metadata.gz: ab10c8a0820d38e14a8b6a0fd543bcbca431cb2a44b6bcc54a12debb13cc9e95d1f9fb688ed867672804deae6a927b6af322bdf7ae45331320e048e989c2871c
7
+ data.tar.gz: 4ee88b2022a1216cca8a3280cd0e5b82530ab4d262f85014a16792e8d465f07d019c9959112f39a4461a4ae72f69143a30a3ab66cc56160bcc0978ea2d8e7169
data/README.md CHANGED
@@ -1,24 +1,72 @@
1
1
  # CustomerServiceIm
2
- Short description and motivation.
2
+ 客服 Engine
3
3
 
4
4
  ## Usage
5
5
  How to use my plugin.
6
6
 
7
7
  ## Installation
8
- Add this line to your application's Gemfile:
9
8
 
9
+ 1. 在`Gemfile`里边添加如下代码
10
10
  ```ruby
11
11
  gem 'customer_service_im'
12
12
  ```
13
13
 
14
- And then execute:
14
+ 2. 安装 gem
15
15
  ```bash
16
- $ bundle
16
+ $ bundle i
17
17
  ```
18
18
 
19
- Or install it yourself as:
19
+ 3. 执行 Engine 安装的命令
20
20
  ```bash
21
- $ gem install customer_service_im
21
+ rails g customer_service_im:install
22
+ ```
23
+
24
+ 4. 修改`config/initializers/customer_service_im.rb`里边的配置信息,小程序配置和腾讯语音识别配置
25
+
26
+ 5. 安装 Engine 迁移
27
+ ```bash
28
+ rails customer_service_im:install:migrations
29
+ ```
30
+
31
+ 6. 安装 `ActiveStorage` ,如果宿主应用已安装则可跳过,操作冪等,可重复执行
32
+ ```bash
33
+ rails active_storage:install
34
+ ```
35
+
36
+ 7. 执行迁移文件
37
+ ```bash
38
+ rails db:migrate
39
+ ```
40
+
41
+ 8. 删除宿主应用的`app/channels`,目前没有好的解决方案,暂时先这样
42
+
43
+ 9. 配置对应环境`websocket`域名白名单,如`config/initializers/development.rb`
44
+ ```ruby
45
+ Rails.application.configure do
46
+ # ...
47
+ # config.action_cable.allowed_request_origins = [/http:\/\/*/, /https:\/\/*/]
48
+ config.action_cable.allowed_request_origins = [/http:\/\/example\.com/, /https:\/\/example\.com/]
49
+ # ...
50
+ end
51
+ ```
52
+
53
+ 10. 挂载 engine ,在`config/routes.rb`中添加
54
+ ```ruby
55
+ mount CustomerServiceIm::Engine => "/customer_service"
56
+ ```
57
+
58
+ 11. 设置对应环境(如:`config/initializers/development.rb`)的默认 host 地址,用于拼接语音识别文件的 url 地址,必须外网能够访问
59
+ ```ruby
60
+ Rails.application.configure do
61
+ # ...
62
+ Rails.application.routes.default_url_options[:host] = ENV.fetch("DEFAULT_HOST", "https://demo.mini-geek.com")
63
+ # ...
64
+ end
65
+ ```
66
+
67
+ 12. 启用服务
68
+ ```bash
69
+ $ rails s -b 0.0.0.0
22
70
  ```
23
71
 
24
72
  ## Contributing
@@ -77,7 +77,6 @@ module CustomerServiceIm::Concerns::Customer
77
77
 
78
78
  User.create_with(
79
79
  email: "#{SecureRandom.uuid}@mp.com",
80
- password: Digest::MD5.hexdigest(open_id)
81
80
  ).find_or_create_by(open_id: open_id)
82
81
  end
83
82
  end
@@ -82,7 +82,7 @@ module CustomerServiceIm
82
82
  else
83
83
  logger = Logger.new Rails.root.join("log/speech_recognition.log")
84
84
  logger.error result.errors
85
- raise TsrRecognizeError.new(result.errors)
85
+ raise CustomerServiceIm::AsrRecognizeError.new(result.errors)
86
86
  end
87
87
  end
88
88
 
@@ -1,12 +1,6 @@
1
1
 
2
2
  TxAsr.setup do |config|
3
3
 
4
- # TODO 需要将 secret_key 和 secret_id 改为你实际项目中的配置
5
- config.secret_key = "JL6amhMkqfDVWGjuoRp1DI8j48wTnunQ"
6
- config.secret_id = "AKIDta1B5i49yXpqb5HCqELBk35qJWS7VcS1"
7
- config.region = "ap-guangzhou"
8
-
9
-
10
4
  # 声音格式: 支持 mp3 和 wav
11
5
  config.voice_format = "mp3"
12
6
 
@@ -0,0 +1,4 @@
1
+
2
+ module CustomerServiceIm
3
+ class AsrRecognizeError < StandardError; end
4
+ end
@@ -1,3 +1,3 @@
1
1
  module CustomerServiceIm
2
- VERSION = '0.10.0'
2
+ VERSION = '0.14.0'
3
3
  end
@@ -1,6 +1,7 @@
1
1
  require "customer_service_im/version"
2
2
  require "customer_service_im/engine"
3
3
  require "customer_service_im/core_ext"
4
+ require "customer_service_im/asr_recognize_error"
4
5
  # require 'shoulda'
5
6
  require "jwt"
6
7
  require 'jbuilder'
@@ -10,11 +11,14 @@ require 'mini_program'
10
11
 
11
12
  module CustomerServiceIm
12
13
  # Your code goes here...
13
- mattr_accessor :appid, :app_secret, :jwt_secret
14
+ mattr_accessor :appid, :app_secret, :jwt_secret, :asr_config
14
15
 
15
16
  def self.setup
16
17
  if block_given?
17
18
  yield self
19
+ TxAsr.secret_key = asr_config&.fetch(:secret_key, :blank_asr_secret_key)
20
+ TxAsr.secret_id = asr_config&.fetch(:secret_id, :blank_asr_secret_id)
21
+ TxAsr.region = asr_config&.fetch(:region, :blank_asr_region)
18
22
  end
19
23
  end
20
24
  end
@@ -3,6 +3,6 @@ class CustomerServiceIm::InstallGenerator < Rails::Generators::Base
3
3
 
4
4
  def copy_initializer
5
5
  copy_file "initializer.rb", "config/initializers/customer_service_im.rb"
6
- rake "g mini_program:install"
6
+ generate "mini_program:install"
7
7
  end
8
8
  end
@@ -3,4 +3,11 @@ CustomerServiceIm.setup do |config|
3
3
  config.jwt_secret = Rails.application.secret_key_base
4
4
  config.appid = "xxx"
5
5
  config.app_secret = "x1x"
6
+
7
+ # tencent asr config
8
+ config.asr_config = {
9
+ secret_key: "tencent asr secret key",
10
+ secret_id: "tencent asr secret id",
11
+ region: "tencent asr "
12
+ }
6
13
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: customer_service_im
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.14.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ian
@@ -189,6 +189,7 @@ files:
189
189
  - db/migrate/20211026062727_add_password_digest_to_customer_service_im_staffs.rb
190
190
  - db/migrate/20211026062951_add_email_to_customer_service_im_staffs.rb
191
191
  - lib/customer_service_im.rb
192
+ - lib/customer_service_im/asr_recognize_error.rb
192
193
  - lib/customer_service_im/core_ext.rb
193
194
  - lib/customer_service_im/engine.rb
194
195
  - lib/customer_service_im/version.rb
@@ -196,7 +197,6 @@ files:
196
197
  - lib/generators/customer_service_im/install/install_generator.rb
197
198
  - lib/generators/customer_service_im/install/templates/initializer.rb
198
199
  - lib/tasks/customer_service_im_tasks.rake
199
- - lib/tsr_recognize_error.rb
200
200
  homepage: https://github.com/bkyz/customer_service_im
201
201
  licenses:
202
202
  - MIT
@@ -1,2 +0,0 @@
1
-
2
- class TsrRecognizeError < StandardError; end