@dofe/infra-shared-services 0.1.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.
- package/dist/email/dto/email.dto.d.ts +70 -0
- package/dist/email/dto/email.dto.d.ts.map +1 -0
- package/dist/email/dto/email.dto.js +58 -0
- package/dist/email/dto/email.dto.js.map +1 -0
- package/dist/email/email.module.d.ts +3 -0
- package/dist/email/email.module.d.ts.map +1 -0
- package/dist/email/email.module.js +38 -0
- package/dist/email/email.module.js.map +1 -0
- package/dist/email/email.service.d.ts +61 -0
- package/dist/email/email.service.d.ts.map +1 -0
- package/dist/email/email.service.js +191 -0
- package/dist/email/email.service.js.map +1 -0
- package/dist/email/index.d.ts +5 -0
- package/dist/email/index.d.ts.map +1 -0
- package/dist/email/index.js +26 -0
- package/dist/email/index.js.map +1 -0
- package/dist/file-storage/bucket-resolver.d.ts +174 -0
- package/dist/file-storage/bucket-resolver.d.ts.map +1 -0
- package/dist/file-storage/bucket-resolver.js +270 -0
- package/dist/file-storage/bucket-resolver.js.map +1 -0
- package/dist/file-storage/file-storage.factory.d.ts +183 -0
- package/dist/file-storage/file-storage.factory.d.ts.map +1 -0
- package/dist/file-storage/file-storage.factory.js +300 -0
- package/dist/file-storage/file-storage.factory.js.map +1 -0
- package/dist/file-storage/file-storage.module.d.ts +49 -0
- package/dist/file-storage/file-storage.module.d.ts.map +1 -0
- package/dist/file-storage/file-storage.module.js +74 -0
- package/dist/file-storage/file-storage.module.js.map +1 -0
- package/dist/file-storage/file-storage.service.d.ts +381 -0
- package/dist/file-storage/file-storage.service.d.ts.map +1 -0
- package/dist/file-storage/file-storage.service.js +598 -0
- package/dist/file-storage/file-storage.service.js.map +1 -0
- package/dist/file-storage/index.d.ts +43 -0
- package/dist/file-storage/index.d.ts.map +1 -0
- package/dist/file-storage/index.js +65 -0
- package/dist/file-storage/index.js.map +1 -0
- package/dist/file-storage/types.d.ts +187 -0
- package/dist/file-storage/types.d.ts.map +1 -0
- package/dist/file-storage/types.js +21 -0
- package/dist/file-storage/types.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +35 -0
- package/dist/index.js.map +1 -0
- package/dist/ip-geo/continent-mapping.d.ts +31 -0
- package/dist/ip-geo/continent-mapping.d.ts.map +1 -0
- package/dist/ip-geo/continent-mapping.js +246 -0
- package/dist/ip-geo/continent-mapping.js.map +1 -0
- package/dist/ip-geo/index.d.ts +33 -0
- package/dist/ip-geo/index.d.ts.map +1 -0
- package/dist/ip-geo/index.js +41 -0
- package/dist/ip-geo/index.js.map +1 -0
- package/dist/ip-geo/ip-geo.module.d.ts +8 -0
- package/dist/ip-geo/ip-geo.module.d.ts.map +1 -0
- package/dist/ip-geo/ip-geo.module.js +34 -0
- package/dist/ip-geo/ip-geo.module.js.map +1 -0
- package/dist/ip-geo/ip-geo.service.d.ts +43 -0
- package/dist/ip-geo/ip-geo.service.d.ts.map +1 -0
- package/dist/ip-geo/ip-geo.service.js +153 -0
- package/dist/ip-geo/ip-geo.service.js.map +1 -0
- package/dist/ip-info/index.d.ts +7 -0
- package/dist/ip-info/index.d.ts.map +1 -0
- package/dist/ip-info/index.js +13 -0
- package/dist/ip-info/index.js.map +1 -0
- package/dist/ip-info/ip-info.client.d.ts +32 -0
- package/dist/ip-info/ip-info.client.d.ts.map +1 -0
- package/dist/ip-info/ip-info.client.js +73 -0
- package/dist/ip-info/ip-info.client.js.map +1 -0
- package/dist/ip-info/ip-info.module.d.ts +3 -0
- package/dist/ip-info/ip-info.module.d.ts.map +1 -0
- package/dist/ip-info/ip-info.module.js +45 -0
- package/dist/ip-info/ip-info.module.js.map +1 -0
- package/dist/ip-info/ip-info.service.d.ts +50 -0
- package/dist/ip-info/ip-info.service.d.ts.map +1 -0
- package/dist/ip-info/ip-info.service.js +177 -0
- package/dist/ip-info/ip-info.service.js.map +1 -0
- package/dist/ocr/index.d.ts +33 -0
- package/dist/ocr/index.d.ts.map +1 -0
- package/dist/ocr/index.js +53 -0
- package/dist/ocr/index.js.map +1 -0
- package/dist/ocr/ocr.module.d.ts +41 -0
- package/dist/ocr/ocr.module.d.ts.map +1 -0
- package/dist/ocr/ocr.module.js +61 -0
- package/dist/ocr/ocr.module.js.map +1 -0
- package/dist/ocr/ocr.service.d.ts +111 -0
- package/dist/ocr/ocr.service.d.ts.map +1 -0
- package/dist/ocr/ocr.service.js +214 -0
- package/dist/ocr/ocr.service.js.map +1 -0
- package/dist/sms/index.d.ts +5 -0
- package/dist/sms/index.d.ts.map +1 -0
- package/dist/sms/index.js +29 -0
- package/dist/sms/index.js.map +1 -0
- package/dist/sms/sms.factory.d.ts +140 -0
- package/dist/sms/sms.factory.d.ts.map +1 -0
- package/dist/sms/sms.factory.js +276 -0
- package/dist/sms/sms.factory.js.map +1 -0
- package/dist/sms/sms.module.d.ts +3 -0
- package/dist/sms/sms.module.d.ts.map +1 -0
- package/dist/sms/sms.module.js +38 -0
- package/dist/sms/sms.module.js.map +1 -0
- package/dist/sms/sms.service.d.ts +139 -0
- package/dist/sms/sms.service.d.ts.map +1 -0
- package/dist/sms/sms.service.js +278 -0
- package/dist/sms/sms.service.js.map +1 -0
- package/dist/sms/types.d.ts +204 -0
- package/dist/sms/types.d.ts.map +1 -0
- package/dist/sms/types.js +44 -0
- package/dist/sms/types.js.map +1 -0
- package/dist/streaming-asr/index.d.ts +45 -0
- package/dist/streaming-asr/index.d.ts.map +1 -0
- package/dist/streaming-asr/index.js +66 -0
- package/dist/streaming-asr/index.js.map +1 -0
- package/dist/streaming-asr/streaming-asr.module.d.ts +37 -0
- package/dist/streaming-asr/streaming-asr.module.d.ts.map +1 -0
- package/dist/streaming-asr/streaming-asr.module.js +59 -0
- package/dist/streaming-asr/streaming-asr.module.js.map +1 -0
- package/dist/streaming-asr/streaming-asr.service.d.ts +276 -0
- package/dist/streaming-asr/streaming-asr.service.d.ts.map +1 -0
- package/dist/streaming-asr/streaming-asr.service.js +1120 -0
- package/dist/streaming-asr/streaming-asr.service.js.map +1 -0
- package/dist/streaming-asr/types.d.ts +194 -0
- package/dist/streaming-asr/types.d.ts.map +1 -0
- package/dist/streaming-asr/types.js +8 -0
- package/dist/streaming-asr/types.js.map +1 -0
- package/dist/system-health/index.d.ts +7 -0
- package/dist/system-health/index.d.ts.map +1 -0
- package/dist/system-health/index.js +25 -0
- package/dist/system-health/index.js.map +1 -0
- package/dist/system-health/system-health.controller.d.ts +43 -0
- package/dist/system-health/system-health.controller.d.ts.map +1 -0
- package/dist/system-health/system-health.controller.js +86 -0
- package/dist/system-health/system-health.controller.js.map +1 -0
- package/dist/system-health/system-health.module.d.ts +3 -0
- package/dist/system-health/system-health.module.d.ts.map +1 -0
- package/dist/system-health/system-health.module.js +29 -0
- package/dist/system-health/system-health.module.js.map +1 -0
- package/dist/system-health/system-health.service.d.ts +14 -0
- package/dist/system-health/system-health.service.d.ts.map +1 -0
- package/dist/system-health/system-health.service.js +87 -0
- package/dist/system-health/system-health.service.js.map +1 -0
- package/dist/uploader/index.d.ts +3 -0
- package/dist/uploader/index.d.ts.map +1 -0
- package/dist/uploader/index.js +8 -0
- package/dist/uploader/index.js.map +1 -0
- package/dist/uploader/uploader.module.d.ts +3 -0
- package/dist/uploader/uploader.module.d.ts.map +1 -0
- package/dist/uploader/uploader.module.js +25 -0
- package/dist/uploader/uploader.module.js.map +1 -0
- package/dist/uploader/uploader.service.d.ts +86 -0
- package/dist/uploader/uploader.service.d.ts.map +1 -0
- package/dist/uploader/uploader.service.js +188 -0
- package/dist/uploader/uploader.service.js.map +1 -0
- package/package.json +51 -0
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview SMS Service Type Definitions
|
|
3
|
+
* @module @app/shared-services/sms/types
|
|
4
|
+
*
|
|
5
|
+
* 定义 SMS 服务的所有类型接口,包括:
|
|
6
|
+
* - 短信客户端接口
|
|
7
|
+
* - 配置类型
|
|
8
|
+
* - 发送选项和结果
|
|
9
|
+
* - 模板管理类型
|
|
10
|
+
*/
|
|
11
|
+
import { Logger } from 'winston';
|
|
12
|
+
import { HttpService } from '@nestjs/axios';
|
|
13
|
+
import { RedisService } from '@dofe/infra-redis';
|
|
14
|
+
import { SmsProviderConfig, SmsDefaultTemplate, SmsHttpTemplate, SmsZxjcTemplate, SmsVolcengineTemplate, VerifyCodeResult } from '@dofe/infra-clients';
|
|
15
|
+
import { MobileAuth } from '@prisma/client';
|
|
16
|
+
import { PardxApp } from '@dofe/infra-common';
|
|
17
|
+
/**
|
|
18
|
+
* 支持的 SMS 供应商
|
|
19
|
+
*/
|
|
20
|
+
export type SmsVendor = 'aliyun' | 'tencent' | 'http' | 'zxjcsms' | 'volcengine';
|
|
21
|
+
/**
|
|
22
|
+
* SMS 供应商显示名称映射
|
|
23
|
+
*/
|
|
24
|
+
export declare const SMS_VENDOR_NAMES: Record<SmsVendor, string>;
|
|
25
|
+
/**
|
|
26
|
+
* 统一的 SMS 模板类型
|
|
27
|
+
*/
|
|
28
|
+
export type SmsTemplate = SmsDefaultTemplate | SmsZxjcTemplate | SmsHttpTemplate | SmsVolcengineTemplate;
|
|
29
|
+
/**
|
|
30
|
+
* 模板元数据接口(所有模板的公共字段)
|
|
31
|
+
*/
|
|
32
|
+
export interface SmsTemplateMeta {
|
|
33
|
+
/** 模板名称/ID */
|
|
34
|
+
name?: string;
|
|
35
|
+
/** 发送频率限制(秒) */
|
|
36
|
+
frequency?: number;
|
|
37
|
+
/** 验证码过期时间(秒) */
|
|
38
|
+
codeExpire?: number;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* 模板存储映射
|
|
42
|
+
*/
|
|
43
|
+
export type SmsTemplateMap = Record<string, SmsTemplate>;
|
|
44
|
+
/**
|
|
45
|
+
* SMS 客户端基础接口
|
|
46
|
+
*
|
|
47
|
+
* 所有 SMS 供应商客户端必须实现此接口
|
|
48
|
+
*/
|
|
49
|
+
export interface ISmsClient {
|
|
50
|
+
/**
|
|
51
|
+
* 发送短信验证码
|
|
52
|
+
*
|
|
53
|
+
* @param phone - 手机号码
|
|
54
|
+
* @param code - 验证码
|
|
55
|
+
* @param template - 短信模板
|
|
56
|
+
* @returns 发送结果(不同供应商返回类型可能不同)
|
|
57
|
+
*/
|
|
58
|
+
sendSmsCode(phone: string, code: string, template: SmsTemplate): Promise<any>;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* 火山引擎专用客户端接口(支持验证码自动生成和校验)
|
|
62
|
+
*/
|
|
63
|
+
export interface IVolcengineSmsClient extends ISmsClient {
|
|
64
|
+
/**
|
|
65
|
+
* 发送验证码(火山引擎自动生成)
|
|
66
|
+
*
|
|
67
|
+
* @param phoneNumber - 手机号码
|
|
68
|
+
* @param template - 火山引擎模板配置
|
|
69
|
+
*/
|
|
70
|
+
sendVerifyCode(phoneNumber: string, template: SmsVolcengineTemplate): Promise<any>;
|
|
71
|
+
/**
|
|
72
|
+
* 校验验证码
|
|
73
|
+
*
|
|
74
|
+
* @param phoneNumber - 手机号码
|
|
75
|
+
* @param code - 验证码
|
|
76
|
+
* @param template - 火山引擎模板配置
|
|
77
|
+
*/
|
|
78
|
+
checkVerifyCode(phoneNumber: string, code: string, template: SmsVolcengineTemplate): Promise<VerifyCodeCheckResult>;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* 统一的短信发送结果
|
|
82
|
+
*/
|
|
83
|
+
export interface SmsSendResult {
|
|
84
|
+
/** HTTP 状态码 */
|
|
85
|
+
statusCode?: number;
|
|
86
|
+
/** 错误码('0' 表示成功) */
|
|
87
|
+
error?: string;
|
|
88
|
+
/** 错误信息 */
|
|
89
|
+
message?: string;
|
|
90
|
+
/** 响应数据 */
|
|
91
|
+
data?: {
|
|
92
|
+
code?: string;
|
|
93
|
+
[key: string]: any;
|
|
94
|
+
};
|
|
95
|
+
/** 请求 ID */
|
|
96
|
+
requestId?: string;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* 验证码校验结果
|
|
100
|
+
*/
|
|
101
|
+
export interface VerifyCodeCheckResult {
|
|
102
|
+
/** 校验是否成功 */
|
|
103
|
+
success: boolean;
|
|
104
|
+
/** 校验结果状态 */
|
|
105
|
+
result: VerifyCodeResult;
|
|
106
|
+
/** 结果消息 */
|
|
107
|
+
message: string;
|
|
108
|
+
/** 附加数据 */
|
|
109
|
+
data?: {
|
|
110
|
+
/** 手机号码 */
|
|
111
|
+
phoneNumber?: string;
|
|
112
|
+
/** 验证通过时间 */
|
|
113
|
+
verifiedAt?: string;
|
|
114
|
+
/** 手机票据(用于后续验证) */
|
|
115
|
+
mobileTicket?: string;
|
|
116
|
+
[key: string]: any;
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* 发送状态(与 Prisma QueueStatus 保持一致)
|
|
121
|
+
*/
|
|
122
|
+
export type SmsSendStatus = 'processing' | 'completed' | 'failed';
|
|
123
|
+
/**
|
|
124
|
+
* 发送验证码选项
|
|
125
|
+
*/
|
|
126
|
+
export interface SendSmsCodeOptions {
|
|
127
|
+
/** 手机号码 */
|
|
128
|
+
mobile: string;
|
|
129
|
+
/** 验证码 */
|
|
130
|
+
code: string;
|
|
131
|
+
/** 模板 ID */
|
|
132
|
+
templateId: string;
|
|
133
|
+
/** 队列任务 ID */
|
|
134
|
+
queueSmsId: string;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* 处理发送验证码选项
|
|
138
|
+
*/
|
|
139
|
+
export interface ProcessSendSmsOptions {
|
|
140
|
+
/** 手机账户信息 */
|
|
141
|
+
mobileAccount: Partial<MobileAuth>;
|
|
142
|
+
/** 设备信息 */
|
|
143
|
+
deviceInfo: PardxApp.HeaderData;
|
|
144
|
+
/** 模板 ID */
|
|
145
|
+
templateId?: string;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* 火山引擎验证码发送选项
|
|
149
|
+
*/
|
|
150
|
+
export interface VolcengineSendOptions {
|
|
151
|
+
/** 手机号码 */
|
|
152
|
+
phoneNumber: string;
|
|
153
|
+
/** 模板 ID */
|
|
154
|
+
templateId?: string;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* 火山引擎验证码校验选项
|
|
158
|
+
*/
|
|
159
|
+
export interface VolcengineCheckOptions {
|
|
160
|
+
/** 手机号码 */
|
|
161
|
+
phoneNumber: string;
|
|
162
|
+
/** 验证码 */
|
|
163
|
+
code: string;
|
|
164
|
+
/** 模板 ID */
|
|
165
|
+
templateId?: string;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* SMS 客户端创建依赖
|
|
169
|
+
*/
|
|
170
|
+
export interface SmsClientDependencies {
|
|
171
|
+
/** Winston 日志器 */
|
|
172
|
+
logger: Logger;
|
|
173
|
+
/** HTTP 服务(HTTP/ZXJC 客户端需要) */
|
|
174
|
+
httpService?: HttpService;
|
|
175
|
+
/** Redis 服务(火山引擎客户端需要) */
|
|
176
|
+
redis?: RedisService;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* SMS 客户端创建函数类型
|
|
180
|
+
*/
|
|
181
|
+
export type SmsClientCreator = (config: SmsProviderConfig, dependencies: SmsClientDependencies) => ISmsClient;
|
|
182
|
+
/**
|
|
183
|
+
* SMS 客户端工厂配置
|
|
184
|
+
*/
|
|
185
|
+
export interface SmsFactoryConfig {
|
|
186
|
+
/** 默认供应商 */
|
|
187
|
+
defaultVendor: SmsVendor;
|
|
188
|
+
/** 供应商配置列表 */
|
|
189
|
+
providers: SmsProviderConfig[];
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* 设备发送日志 Redis Key 前缀
|
|
193
|
+
*/
|
|
194
|
+
export declare const DEVICE_SEND_LOGGER_KEY = "mobileCodeDevice";
|
|
195
|
+
/**
|
|
196
|
+
* 默认发送频率限制(秒)
|
|
197
|
+
*/
|
|
198
|
+
export declare const DEFAULT_SEND_FREQUENCY = 30;
|
|
199
|
+
/**
|
|
200
|
+
* 默认验证码过期时间(秒)
|
|
201
|
+
*/
|
|
202
|
+
export declare const DEFAULT_CODE_EXPIRE = 300;
|
|
203
|
+
export { SmsProviderConfig, SmsDefaultTemplate, SmsHttpTemplate, SmsZxjcTemplate, SmsVolcengineTemplate, VerifyCodeResult, } from '@dofe/infra-clients';
|
|
204
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/sms/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAM9C;;GAEG;AACH,MAAM,MAAM,SAAS,GACjB,QAAQ,GACR,SAAS,GACT,MAAM,GACN,SAAS,GACT,YAAY,CAAC;AAEjB;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAMtD,CAAC;AAMF;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB,kBAAkB,GAClB,eAAe,GACf,eAAe,GACf,qBAAqB,CAAC;AAE1B;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,cAAc;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAMzD;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB;;;;;;;OAOG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CAC/E;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,UAAU;IACtD;;;;;OAKG;IACH,cAAc,CACZ,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,qBAAqB,GAC9B,OAAO,CAAC,GAAG,CAAC,CAAC;IAEhB;;;;;;OAMG;IACH,eAAe,CACb,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,qBAAqB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACnC;AAMD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,eAAe;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW;IACX,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;IACF,YAAY;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,aAAa;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa;IACb,MAAM,EAAE,gBAAgB,CAAC;IACzB,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW;IACX,IAAI,CAAC,EAAE;QACL,WAAW;QACX,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,aAAa;QACb,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,mBAAmB;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAC;AAMlE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,WAAW;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU;IACV,IAAI,EAAE,MAAM,CAAC;IACb,YAAY;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,aAAa;IACb,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACnC,WAAW;IACX,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAChC,YAAY;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,WAAW;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,WAAW;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU;IACV,IAAI,EAAE,MAAM,CAAC;IACb,YAAY;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAMD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,0BAA0B;IAC1B,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAC7B,MAAM,EAAE,iBAAiB,EACzB,YAAY,EAAE,qBAAqB,KAChC,UAAU,CAAC;AAEhB;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,YAAY;IACZ,aAAa,EAAE,SAAS,CAAC;IACzB,cAAc;IACd,SAAS,EAAE,iBAAiB,EAAE,CAAC;CAChC;AAMD;;GAEG;AACH,eAAO,MAAM,sBAAsB,qBAAqB,CAAC;AAEzD;;GAEG;AACH,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC;;GAEG;AACH,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAMvC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview SMS Service Type Definitions
|
|
4
|
+
* @module @app/shared-services/sms/types
|
|
5
|
+
*
|
|
6
|
+
* 定义 SMS 服务的所有类型接口,包括:
|
|
7
|
+
* - 短信客户端接口
|
|
8
|
+
* - 配置类型
|
|
9
|
+
* - 发送选项和结果
|
|
10
|
+
* - 模板管理类型
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.VerifyCodeResult = exports.DEFAULT_CODE_EXPIRE = exports.DEFAULT_SEND_FREQUENCY = exports.DEVICE_SEND_LOGGER_KEY = exports.SMS_VENDOR_NAMES = void 0;
|
|
14
|
+
/**
|
|
15
|
+
* SMS 供应商显示名称映射
|
|
16
|
+
*/
|
|
17
|
+
exports.SMS_VENDOR_NAMES = {
|
|
18
|
+
aliyun: '阿里云',
|
|
19
|
+
tencent: '腾讯云',
|
|
20
|
+
http: 'HTTP接口',
|
|
21
|
+
zxjcsms: '中讯金昌',
|
|
22
|
+
volcengine: '火山引擎',
|
|
23
|
+
};
|
|
24
|
+
// ============================================================================
|
|
25
|
+
// 设备发送日志类型
|
|
26
|
+
// ============================================================================
|
|
27
|
+
/**
|
|
28
|
+
* 设备发送日志 Redis Key 前缀
|
|
29
|
+
*/
|
|
30
|
+
exports.DEVICE_SEND_LOGGER_KEY = 'mobileCodeDevice';
|
|
31
|
+
/**
|
|
32
|
+
* 默认发送频率限制(秒)
|
|
33
|
+
*/
|
|
34
|
+
exports.DEFAULT_SEND_FREQUENCY = 30;
|
|
35
|
+
/**
|
|
36
|
+
* 默认验证码过期时间(秒)
|
|
37
|
+
*/
|
|
38
|
+
exports.DEFAULT_CODE_EXPIRE = 300;
|
|
39
|
+
// ============================================================================
|
|
40
|
+
// Re-exports
|
|
41
|
+
// ============================================================================
|
|
42
|
+
var infra_clients_1 = require("@dofe/infra-clients");
|
|
43
|
+
Object.defineProperty(exports, "VerifyCodeResult", { enumerable: true, get: function () { return infra_clients_1.VerifyCodeResult; } });
|
|
44
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/sms/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AA8BH;;GAEG;AACU,QAAA,gBAAgB,GAA8B;IACzD,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,MAAM;CACnB,CAAC;AA0NF,+EAA+E;AAC/E,WAAW;AACX,+EAA+E;AAE/E;;GAEG;AACU,QAAA,sBAAsB,GAAG,kBAAkB,CAAC;AAEzD;;GAEG;AACU,QAAA,sBAAsB,GAAG,EAAE,CAAC;AAEzC;;GAEG;AACU,QAAA,mBAAmB,GAAG,GAAG,CAAC;AAEvC,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E,qDAO6B;AAD3B,iHAAA,gBAAgB,OAAA"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview 流式语音识别服务导出
|
|
3
|
+
*
|
|
4
|
+
* 本模块提供流式语音识别的业务服务。
|
|
5
|
+
*
|
|
6
|
+
* 核心功能:
|
|
7
|
+
* - 创建和管理流式识别会话
|
|
8
|
+
* - 实时音频数据传输
|
|
9
|
+
* - 实时识别结果处理
|
|
10
|
+
* - 与会议记录的集成
|
|
11
|
+
*
|
|
12
|
+
* @module streaming-asr
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* // 导入模块
|
|
17
|
+
* import {
|
|
18
|
+
* StreamingAsrServiceModule,
|
|
19
|
+
* StreamingAsrService,
|
|
20
|
+
* } from '@app/shared-services/streaming-asr';
|
|
21
|
+
*
|
|
22
|
+
* // 在 NestJS 模块中使用
|
|
23
|
+
* @Module({
|
|
24
|
+
* imports: [StreamingAsrServiceModule],
|
|
25
|
+
* })
|
|
26
|
+
* export class MyModule {}
|
|
27
|
+
*
|
|
28
|
+
* // 在服务中注入使用
|
|
29
|
+
* @Injectable()
|
|
30
|
+
* class MyService {
|
|
31
|
+
* constructor(private readonly streamingAsr: StreamingAsrService) {}
|
|
32
|
+
*
|
|
33
|
+
* async startSession() {
|
|
34
|
+
* const session = await this.streamingAsr.createSession({
|
|
35
|
+
* userId: 'user-uuid',
|
|
36
|
+
* });
|
|
37
|
+
* return session;
|
|
38
|
+
* }
|
|
39
|
+
* }
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
export { StreamingAsrServiceModule } from './streaming-asr.module';
|
|
43
|
+
export * from './streaming-asr.service';
|
|
44
|
+
export * from './types';
|
|
45
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/streaming-asr/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAGH,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAGnE,cAAc,yBAAyB,CAAC;AAGxC,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview 流式语音识别服务导出
|
|
4
|
+
*
|
|
5
|
+
* 本模块提供流式语音识别的业务服务。
|
|
6
|
+
*
|
|
7
|
+
* 核心功能:
|
|
8
|
+
* - 创建和管理流式识别会话
|
|
9
|
+
* - 实时音频数据传输
|
|
10
|
+
* - 实时识别结果处理
|
|
11
|
+
* - 与会议记录的集成
|
|
12
|
+
*
|
|
13
|
+
* @module streaming-asr
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* // 导入模块
|
|
18
|
+
* import {
|
|
19
|
+
* StreamingAsrServiceModule,
|
|
20
|
+
* StreamingAsrService,
|
|
21
|
+
* } from '@app/shared-services/streaming-asr';
|
|
22
|
+
*
|
|
23
|
+
* // 在 NestJS 模块中使用
|
|
24
|
+
* @Module({
|
|
25
|
+
* imports: [StreamingAsrServiceModule],
|
|
26
|
+
* })
|
|
27
|
+
* export class MyModule {}
|
|
28
|
+
*
|
|
29
|
+
* // 在服务中注入使用
|
|
30
|
+
* @Injectable()
|
|
31
|
+
* class MyService {
|
|
32
|
+
* constructor(private readonly streamingAsr: StreamingAsrService) {}
|
|
33
|
+
*
|
|
34
|
+
* async startSession() {
|
|
35
|
+
* const session = await this.streamingAsr.createSession({
|
|
36
|
+
* userId: 'user-uuid',
|
|
37
|
+
* });
|
|
38
|
+
* return session;
|
|
39
|
+
* }
|
|
40
|
+
* }
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
44
|
+
if (k2 === undefined) k2 = k;
|
|
45
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
46
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
47
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
48
|
+
}
|
|
49
|
+
Object.defineProperty(o, k2, desc);
|
|
50
|
+
}) : (function(o, m, k, k2) {
|
|
51
|
+
if (k2 === undefined) k2 = k;
|
|
52
|
+
o[k2] = m[k];
|
|
53
|
+
}));
|
|
54
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
55
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
56
|
+
};
|
|
57
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
58
|
+
exports.StreamingAsrServiceModule = void 0;
|
|
59
|
+
// 模块导出
|
|
60
|
+
var streaming_asr_module_1 = require("./streaming-asr.module");
|
|
61
|
+
Object.defineProperty(exports, "StreamingAsrServiceModule", { enumerable: true, get: function () { return streaming_asr_module_1.StreamingAsrServiceModule; } });
|
|
62
|
+
// 服务导出
|
|
63
|
+
__exportStar(require("./streaming-asr.service"), exports);
|
|
64
|
+
// 类型导出
|
|
65
|
+
__exportStar(require("./types"), exports);
|
|
66
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/streaming-asr/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;;;;;;;;;;;;;;;;;AAEH,OAAO;AACP,+DAAmE;AAA1D,iIAAA,yBAAyB,OAAA;AAElC,OAAO;AACP,0DAAwC;AAExC,OAAO;AACP,0CAAwB"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview 流式语音识别服务模块
|
|
3
|
+
*
|
|
4
|
+
* 本模块提供流式语音识别服务的 NestJS 模块配置。
|
|
5
|
+
*
|
|
6
|
+
* @module streaming-asr/module
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* 流式语音识别服务模块
|
|
10
|
+
*
|
|
11
|
+
* @description 提供流式语音识别服务的依赖注入配置。
|
|
12
|
+
*
|
|
13
|
+
* 导出服务:
|
|
14
|
+
* - `StreamingAsrService`: 流式语音识别服务
|
|
15
|
+
*
|
|
16
|
+
* 依赖模块:
|
|
17
|
+
* - `ConfigModule`: 配置服务
|
|
18
|
+
* - `MeetingServiceModule`: 会议服务(用于保存转写结果)
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* // 在其他模块中导入
|
|
23
|
+
* @Module({
|
|
24
|
+
* imports: [StreamingAsrServiceModule],
|
|
25
|
+
* })
|
|
26
|
+
* export class StreamingAsrApiModule {}
|
|
27
|
+
*
|
|
28
|
+
* // 在服务中使用
|
|
29
|
+
* @Injectable()
|
|
30
|
+
* class StreamingAsrController {
|
|
31
|
+
* constructor(private readonly streamingAsr: StreamingAsrService) {}
|
|
32
|
+
* }
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export declare class StreamingAsrServiceModule {
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=streaming-asr.module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streaming-asr.module.d.ts","sourceRoot":"","sources":["../../src/streaming-asr/streaming-asr.module.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAKa,yBAAyB;CAAG"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview 流式语音识别服务模块
|
|
4
|
+
*
|
|
5
|
+
* 本模块提供流式语音识别服务的 NestJS 模块配置。
|
|
6
|
+
*
|
|
7
|
+
* @module streaming-asr/module
|
|
8
|
+
*/
|
|
9
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
10
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
11
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
12
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
13
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
14
|
+
};
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.StreamingAsrServiceModule = void 0;
|
|
17
|
+
const common_1 = require("@nestjs/common");
|
|
18
|
+
const config_1 = require("@nestjs/config");
|
|
19
|
+
const infra_jwt_1 = require("@dofe/infra-jwt");
|
|
20
|
+
const infra_redis_1 = require("@dofe/infra-redis");
|
|
21
|
+
const streaming_asr_service_1 = require("./streaming-asr.service");
|
|
22
|
+
/**
|
|
23
|
+
* 流式语音识别服务模块
|
|
24
|
+
*
|
|
25
|
+
* @description 提供流式语音识别服务的依赖注入配置。
|
|
26
|
+
*
|
|
27
|
+
* 导出服务:
|
|
28
|
+
* - `StreamingAsrService`: 流式语音识别服务
|
|
29
|
+
*
|
|
30
|
+
* 依赖模块:
|
|
31
|
+
* - `ConfigModule`: 配置服务
|
|
32
|
+
* - `MeetingServiceModule`: 会议服务(用于保存转写结果)
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```typescript
|
|
36
|
+
* // 在其他模块中导入
|
|
37
|
+
* @Module({
|
|
38
|
+
* imports: [StreamingAsrServiceModule],
|
|
39
|
+
* })
|
|
40
|
+
* export class StreamingAsrApiModule {}
|
|
41
|
+
*
|
|
42
|
+
* // 在服务中使用
|
|
43
|
+
* @Injectable()
|
|
44
|
+
* class StreamingAsrController {
|
|
45
|
+
* constructor(private readonly streamingAsr: StreamingAsrService) {}
|
|
46
|
+
* }
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
let StreamingAsrServiceModule = class StreamingAsrServiceModule {
|
|
50
|
+
};
|
|
51
|
+
exports.StreamingAsrServiceModule = StreamingAsrServiceModule;
|
|
52
|
+
exports.StreamingAsrServiceModule = StreamingAsrServiceModule = __decorate([
|
|
53
|
+
(0, common_1.Module)({
|
|
54
|
+
imports: [config_1.ConfigModule, infra_jwt_1.JwtModule, infra_redis_1.RedisModule],
|
|
55
|
+
providers: [streaming_asr_service_1.StreamingAsrService],
|
|
56
|
+
exports: [streaming_asr_service_1.StreamingAsrService],
|
|
57
|
+
})
|
|
58
|
+
], StreamingAsrServiceModule);
|
|
59
|
+
//# sourceMappingURL=streaming-asr.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streaming-asr.module.js","sourceRoot":"","sources":["../../src/streaming-asr/streaming-asr.module.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;AAEH,2CAAwC;AACxC,2CAA8C;AAC9C,+CAA4C;AAC5C,mDAAgD;AAChD,mEAA8D;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAMI,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;CAAG,CAAA;AAA5B,8DAAyB;oCAAzB,yBAAyB;IALrC,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,qBAAY,EAAE,qBAAS,EAAE,yBAAW,CAAC;QAC/C,SAAS,EAAE,CAAC,2CAAmB,CAAC;QAChC,OAAO,EAAE,CAAC,2CAAmB,CAAC;KAC/B,CAAC;GACW,yBAAyB,CAAG"}
|