sa2kit 1.6.25 → 1.6.26
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/AliyunOSSProvider-KOVWJQLL.js +15 -0
- package/dist/{AliyunOSSProvider-5RFTMVEB.js.map → AliyunOSSProvider-KOVWJQLL.js.map} +1 -1
- package/dist/AliyunOSSProvider-YKT256D6.mjs +6 -0
- package/dist/{AliyunOSSProvider-FI7XBLWU.mjs.map → AliyunOSSProvider-YKT256D6.mjs.map} +1 -1
- package/dist/{UniversalFileService-CGGzYeeF.d.mts → UniversalFileService-ChicEKg7.d.mts} +12 -0
- package/dist/{UniversalFileService-BuHN-jrR.d.ts → UniversalFileService-Ct4baUMz.d.ts} +12 -0
- package/dist/{chunk-LQ3PBDTK.js → chunk-BLQRF7C7.js} +57 -12
- package/dist/chunk-BLQRF7C7.js.map +1 -0
- package/dist/{chunk-5KG3APXF.mjs → chunk-SWWRT5FN.mjs} +57 -12
- package/dist/chunk-SWWRT5FN.mjs.map +1 -0
- package/dist/mmd/server/index.d.mts +1 -1
- package/dist/mmd/server/index.d.ts +1 -1
- package/dist/universalFile/index.d.mts +1 -1
- package/dist/universalFile/index.d.ts +1 -1
- package/dist/universalFile/server/index.d.mts +2 -2
- package/dist/universalFile/server/index.d.ts +2 -2
- package/dist/universalFile/server/index.js +84 -8
- package/dist/universalFile/server/index.js.map +1 -1
- package/dist/universalFile/server/index.mjs +83 -7
- package/dist/universalFile/server/index.mjs.map +1 -1
- package/package.json +1 -1
- package/dist/AliyunOSSProvider-5RFTMVEB.js +0 -15
- package/dist/AliyunOSSProvider-FI7XBLWU.mjs +0 -6
- package/dist/chunk-5KG3APXF.mjs.map +0 -1
- package/dist/chunk-LQ3PBDTK.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chunkTKCYPDWU_js = require('../../chunk-TKCYPDWU.js');
|
|
4
|
-
var
|
|
4
|
+
var chunkBLQRF7C7_js = require('../../chunk-BLQRF7C7.js');
|
|
5
5
|
var chunkKH6RQ4J5_js = require('../../chunk-KH6RQ4J5.js');
|
|
6
6
|
var chunk6PRFP5EG_js = require('../../chunk-6PRFP5EG.js');
|
|
7
7
|
var chunkZRAW3HXA_js = require('../../chunk-ZRAW3HXA.js');
|
|
@@ -3002,6 +3002,7 @@ var UniversalFileService = class extends events.EventEmitter {
|
|
|
3002
3002
|
async initialize() {
|
|
3003
3003
|
logger6.info("\u{1F680} [UniversalFileService] \u5F00\u59CB\u521D\u59CB\u5316\u6587\u4EF6\u670D\u52A1...");
|
|
3004
3004
|
try {
|
|
3005
|
+
await this.validateConfiguration();
|
|
3005
3006
|
await this.initializeStorageProviders();
|
|
3006
3007
|
await this.initializeCDNProviders();
|
|
3007
3008
|
await this.initializeFileProcessors();
|
|
@@ -3017,9 +3018,21 @@ var UniversalFileService = class extends events.EventEmitter {
|
|
|
3017
3018
|
async reinitializeStorageProviders() {
|
|
3018
3019
|
logger6.info("\u{1F504} [UniversalFileService] \u91CD\u65B0\u521D\u59CB\u5316\u5B58\u50A8\u63D0\u4F9B\u8005...");
|
|
3019
3020
|
try {
|
|
3020
|
-
const
|
|
3021
|
-
|
|
3022
|
-
|
|
3021
|
+
for (const [type, provider] of this.storageProviders) {
|
|
3022
|
+
if ("reinitialize" in provider) {
|
|
3023
|
+
try {
|
|
3024
|
+
logger6.info(`\u{1F504} [UniversalFileService] \u91CD\u65B0\u521D\u59CB\u5316\u5B58\u50A8\u63D0\u4F9B\u8005: ${type}...`);
|
|
3025
|
+
const config = this.config.storageProviders?.[type];
|
|
3026
|
+
if (config) {
|
|
3027
|
+
await provider.reinitialize(config);
|
|
3028
|
+
logger6.info(`\u2705 [UniversalFileService] \u5B58\u50A8\u63D0\u4F9B\u8005\u91CD\u65B0\u521D\u59CB\u5316\u5B8C\u6210: ${type}`);
|
|
3029
|
+
} else {
|
|
3030
|
+
logger6.warn(`\u26A0\uFE0F [UniversalFileService] \u5B58\u50A8\u63D0\u4F9B\u8005\u914D\u7F6E\u4E0D\u5B58\u5728: ${type}`);
|
|
3031
|
+
}
|
|
3032
|
+
} catch (error) {
|
|
3033
|
+
logger6.error(`\u274C [UniversalFileService] \u5B58\u50A8\u63D0\u4F9B\u8005\u91CD\u65B0\u521D\u59CB\u5316\u5931\u8D25: ${type}`, error);
|
|
3034
|
+
}
|
|
3035
|
+
}
|
|
3023
3036
|
}
|
|
3024
3037
|
logger6.info("\u2705 [UniversalFileService] \u5B58\u50A8\u63D0\u4F9B\u8005\u91CD\u65B0\u521D\u59CB\u5316\u5B8C\u6210");
|
|
3025
3038
|
} catch (error) {
|
|
@@ -3336,6 +3349,42 @@ var UniversalFileService = class extends events.EventEmitter {
|
|
|
3336
3349
|
this.off(eventType, listener);
|
|
3337
3350
|
}
|
|
3338
3351
|
// ============= 私有方法 =============
|
|
3352
|
+
/**
|
|
3353
|
+
* 验证配置是否完整
|
|
3354
|
+
*/
|
|
3355
|
+
async validateConfiguration() {
|
|
3356
|
+
logger6.info("\u{1F50D} [UniversalFileService] \u9A8C\u8BC1\u914D\u7F6E\u6587\u4EF6...");
|
|
3357
|
+
if (!this.config) {
|
|
3358
|
+
throw new Error("\u6587\u4EF6\u670D\u52A1\u914D\u7F6E\u4E3A\u7A7A");
|
|
3359
|
+
}
|
|
3360
|
+
if (!this.config.storage) {
|
|
3361
|
+
throw new Error("\u5B58\u50A8\u914D\u7F6E\u4E3A\u7A7A");
|
|
3362
|
+
}
|
|
3363
|
+
if (this.config.storage.type === "aliyun-oss") {
|
|
3364
|
+
const ossConfig = this.config.storage;
|
|
3365
|
+
if (!ossConfig.accessKeyId || !ossConfig.accessKeySecret || !ossConfig.bucket || !ossConfig.region) {
|
|
3366
|
+
logger6.warn("\u26A0\uFE0F [UniversalFileService] OSS\u914D\u7F6E\u4E0D\u5B8C\u6574\uFF0C\u7B49\u5F85\u914D\u7F6E\u52A0\u8F7D...");
|
|
3367
|
+
const maxRetries = 30;
|
|
3368
|
+
const retryInterval = 1e3;
|
|
3369
|
+
for (let i = 0; i < maxRetries; i++) {
|
|
3370
|
+
await new Promise((resolve) => setTimeout(resolve, retryInterval));
|
|
3371
|
+
const updatedConfig = this.config.storage;
|
|
3372
|
+
if (updatedConfig.accessKeyId && updatedConfig.accessKeySecret && updatedConfig.bucket && updatedConfig.region) {
|
|
3373
|
+
logger6.info("\u2705 [UniversalFileService] OSS\u914D\u7F6E\u52A0\u8F7D\u5B8C\u6210");
|
|
3374
|
+
break;
|
|
3375
|
+
}
|
|
3376
|
+
if (i === maxRetries - 1) {
|
|
3377
|
+
throw new Error("OSS\u914D\u7F6E\u52A0\u8F7D\u8D85\u65F6\uFF1A\u7F3A\u5C11\u5FC5\u9700\u7684\u914D\u7F6E\u9879 (accessKeyId, accessKeySecret, bucket, region)");
|
|
3378
|
+
}
|
|
3379
|
+
logger6.debug(`\u7B49\u5F85OSS\u914D\u7F6E\u52A0\u8F7D\u4E2D... (${i + 1}/${maxRetries})`);
|
|
3380
|
+
}
|
|
3381
|
+
}
|
|
3382
|
+
}
|
|
3383
|
+
if (!this.config.defaultStorage) {
|
|
3384
|
+
this.config.defaultStorage = this.config.storage.type;
|
|
3385
|
+
}
|
|
3386
|
+
logger6.info("\u2705 [UniversalFileService] \u914D\u7F6E\u9A8C\u8BC1\u5B8C\u6210");
|
|
3387
|
+
}
|
|
3339
3388
|
async initializeStorageProviders() {
|
|
3340
3389
|
logger6.info("\u{1F4E6} [UniversalFileService] \u5F00\u59CB\u521D\u59CB\u5316\u5B58\u50A8\u63D0\u4F9B\u8005...");
|
|
3341
3390
|
if (this.storageProviders.size === 0) {
|
|
@@ -3364,7 +3413,7 @@ var UniversalFileService = class extends events.EventEmitter {
|
|
|
3364
3413
|
try {
|
|
3365
3414
|
if (this.config.storage) {
|
|
3366
3415
|
if (this.config.storage.type === "aliyun-oss" && this.config.storage.enabled) {
|
|
3367
|
-
const { AliyunOSSProvider: AliyunOSSProvider2 } = await import('../../AliyunOSSProvider-
|
|
3416
|
+
const { AliyunOSSProvider: AliyunOSSProvider2 } = await import('../../AliyunOSSProvider-KOVWJQLL.js');
|
|
3368
3417
|
const ossProvider = new AliyunOSSProvider2();
|
|
3369
3418
|
this.registerStorageProvider(ossProvider);
|
|
3370
3419
|
logger6.info("\u2705 [UniversalFileService] \u963F\u91CC\u4E91OSS\u63D0\u4F9B\u8005\u6CE8\u518C\u6210\u529F");
|
|
@@ -3582,6 +3631,28 @@ var UniversalFileService = class extends events.EventEmitter {
|
|
|
3582
3631
|
throw new chunkZRAW3HXA_js.FileUploadError("\u65E0\u6743\u9650\u5220\u9664\u6B64\u6587\u4EF6");
|
|
3583
3632
|
}
|
|
3584
3633
|
}
|
|
3634
|
+
/**
|
|
3635
|
+
* 检查服务是否完全可用(包括存储提供者)
|
|
3636
|
+
*/
|
|
3637
|
+
isFullyInitialized() {
|
|
3638
|
+
const hasStorageProvider = Array.from(this.storageProviders.values()).some(
|
|
3639
|
+
(provider) => provider.type === "aliyun-oss" || provider.type === "local"
|
|
3640
|
+
);
|
|
3641
|
+
return hasStorageProvider;
|
|
3642
|
+
}
|
|
3643
|
+
/**
|
|
3644
|
+
* 等待服务完全初始化(带超时)
|
|
3645
|
+
*/
|
|
3646
|
+
async waitForInitialization(timeoutMs = 3e4) {
|
|
3647
|
+
const startTime = Date.now();
|
|
3648
|
+
while (!this.isFullyInitialized()) {
|
|
3649
|
+
if (Date.now() - startTime > timeoutMs) {
|
|
3650
|
+
throw new Error(`\u670D\u52A1\u521D\u59CB\u5316\u8D85\u65F6 (${timeoutMs}ms)`);
|
|
3651
|
+
}
|
|
3652
|
+
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
3653
|
+
}
|
|
3654
|
+
logger6.info("\u2705 [UniversalFileService] \u670D\u52A1\u5B8C\u5168\u521D\u59CB\u5316\u5C31\u7EEA");
|
|
3655
|
+
}
|
|
3585
3656
|
};
|
|
3586
3657
|
var logger7 = chunk6PRFP5EG_js.createLogger("CacheManager");
|
|
3587
3658
|
var CacheManager = class {
|
|
@@ -5002,8 +5073,13 @@ async function createFileServiceWithFactory(options = {}) {
|
|
|
5002
5073
|
}
|
|
5003
5074
|
const service = new UniversalFileService(finalConfig);
|
|
5004
5075
|
if (autoInitialize) {
|
|
5005
|
-
|
|
5006
|
-
|
|
5076
|
+
try {
|
|
5077
|
+
await service.initialize();
|
|
5078
|
+
logger10.info("\u2705 \u6587\u4EF6\u670D\u52A1\u521B\u5EFA\u5E76\u521D\u59CB\u5316\u5B8C\u6210");
|
|
5079
|
+
} catch (initError) {
|
|
5080
|
+
logger10.warn("\u26A0\uFE0F \u6587\u4EF6\u670D\u52A1\u521D\u59CB\u5316\u5931\u8D25\uFF0C\u5C06\u63D0\u4F9B\u5EF6\u8FDF\u521D\u59CB\u5316\u7684\u652F\u6301:", initError);
|
|
5081
|
+
logger10.info("\u{1F4A1} \u63D0\u793A\uFF1A\u53EF\u8C03\u7528 service.reinitializeStorageProviders() \u6765\u91CD\u65B0\u521D\u59CB\u5316\u5B58\u50A8\u63D0\u4F9B\u8005");
|
|
5082
|
+
}
|
|
5007
5083
|
} else {
|
|
5008
5084
|
logger10.info("\u2705 \u6587\u4EF6\u670D\u52A1\u521B\u5EFA\u5B8C\u6210");
|
|
5009
5085
|
}
|
|
@@ -5510,7 +5586,7 @@ Object.defineProperty(exports, "LocalStorageProvider", {
|
|
|
5510
5586
|
});
|
|
5511
5587
|
Object.defineProperty(exports, "AliyunOSSProvider", {
|
|
5512
5588
|
enumerable: true,
|
|
5513
|
-
get: function () { return
|
|
5589
|
+
get: function () { return chunkBLQRF7C7_js.AliyunOSSProvider; }
|
|
5514
5590
|
});
|
|
5515
5591
|
exports.AliyunCDNProvider = AliyunCDNProvider;
|
|
5516
5592
|
exports.ApiError = ApiError;
|