koishi-plugin-media-luna 0.0.44 → 0.0.45

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.
@@ -1 +1 @@
1
- {"version":3,"file":"cache-api.d.ts","sourceRoot":"","sources":["../../../src/core/api/cache-api.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AA8BhC;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAsQnD"}
1
+ {"version":3,"file":"cache-api.d.ts","sourceRoot":"","sources":["../../../src/core/api/cache-api.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAEhC;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAgLnD"}
@@ -2,31 +2,6 @@
2
2
  // 缓存管理 API
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.registerCacheApi = registerCacheApi;
5
- const s3_1 = require("../../plugins/cache/utils/s3");
6
- const webdav_1 = require("../../plugins/cache/utils/webdav");
7
- /** S3 配置(从 StorageConfig 转换) */
8
- function toS3Config(config) {
9
- return {
10
- endpoint: config.s3Endpoint,
11
- region: config.s3Region,
12
- accessKeyId: config.s3AccessKeyId,
13
- secretAccessKey: config.s3SecretAccessKey,
14
- bucket: config.s3Bucket,
15
- publicBaseUrl: config.s3PublicBaseUrl,
16
- forcePathStyle: config.s3ForcePathStyle,
17
- acl: config.s3Acl
18
- };
19
- }
20
- /** WebDAV 配置(从 StorageConfig 转换) */
21
- function toWebDavConfig(config) {
22
- return {
23
- endpoint: config.webdavEndpoint,
24
- username: config.webdavUsername,
25
- password: config.webdavPassword,
26
- basePath: config.webdavBasePath,
27
- publicBaseUrl: config.webdavPublicBaseUrl
28
- };
29
- }
30
5
  /**
31
6
  * 注册缓存管理 API
32
7
  */
@@ -174,92 +149,19 @@ function registerCacheApi(ctx) {
174
149
  // 测试存储连接
175
150
  console.addListener('media-luna/cache/test', async () => {
176
151
  try {
177
- // 获取缓存插件配置
178
- const config = ctx.mediaLuna.configService.get('plugin:cache');
179
- if (!config) {
180
- return { success: false, error: '未找到缓存配置' };
181
- }
182
- const backend = config.backend || 'local';
183
- // 如果是 none,直接返回
184
- if (backend === 'none') {
185
- return {
186
- success: true,
187
- data: {
188
- backend: 'none',
189
- message: '存储后端设置为"不使用",无需测试'
190
- }
191
- };
192
- }
193
- // 创建测试数据
194
- const testContent = `Media Luna Storage Test - ${new Date().toISOString()}`;
195
- const testBuffer = Buffer.from(testContent, 'utf-8');
196
- const testFilename = `_test-${Date.now()}.txt`;
197
- const testMime = 'text/plain';
198
- let uploadResult;
199
- const startTime = Date.now();
200
- switch (backend) {
201
- case 'local': {
202
- const { cache, error } = getCacheService();
203
- if (error)
204
- return error;
205
- const cached = await cache.cache(testBuffer, testMime, testFilename);
206
- const url = cache.getUrl(cached.id);
207
- if (!url) {
208
- return { success: false, error: '无法获取缓存 URL,请检查 selfUrl 配置' };
209
- }
210
- uploadResult = { url, key: cached.id };
211
- // 清理测试文件
212
- await cache.delete(cached.id);
213
- break;
214
- }
215
- case 's3': {
216
- const s3Config = toS3Config(config);
217
- if (!s3Config.bucket) {
218
- return { success: false, error: 'S3 缺少 bucket 配置' };
219
- }
220
- if (!s3Config.accessKeyId || !s3Config.secretAccessKey) {
221
- return { success: false, error: 'S3 需提供访问凭证' };
222
- }
223
- uploadResult = await (0, s3_1.uploadToS3)(testBuffer, testFilename, testMime, s3Config);
224
- // 尝试删除测试文件(可选,失败不影响测试结果)
225
- try {
226
- await (0, s3_1.deleteFromS3)(testFilename, s3Config);
227
- }
228
- catch {
229
- // 忽略删除失败
230
- }
231
- break;
232
- }
233
- case 'webdav': {
234
- const webdavConfig = toWebDavConfig(config);
235
- if (!webdavConfig.endpoint) {
236
- return { success: false, error: 'WebDAV 缺少端点配置' };
237
- }
238
- if (!webdavConfig.username || !webdavConfig.password) {
239
- return { success: false, error: 'WebDAV 需提供用户名和密码' };
240
- }
241
- uploadResult = await (0, webdav_1.uploadToWebDav)(testBuffer, testFilename, testMime, webdavConfig);
242
- // 尝试删除测试文件(可选,失败不影响测试结果)
243
- try {
244
- await deleteFromWebDav(testFilename, webdavConfig);
245
- }
246
- catch {
247
- // 忽略删除失败
248
- }
249
- break;
250
- }
251
- default:
252
- return { success: false, error: `未知的存储后端: ${backend}` };
253
- }
254
- const duration = Date.now() - startTime;
152
+ const { cache, error } = getCacheService();
153
+ if (error)
154
+ return error;
155
+ const result = await cache.testConnection();
255
156
  return {
256
- success: true,
257
- data: {
258
- backend,
259
- url: uploadResult.url,
260
- duration,
261
- message: `存储连接测试成功(耗时 ${duration}ms)`
262
- }
157
+ success: result.success,
158
+ data: result.success ? {
159
+ backend: cache.getBackend(),
160
+ url: result.url,
161
+ duration: result.duration,
162
+ message: result.message
163
+ } : undefined,
164
+ error: result.success ? undefined : result.message
263
165
  };
264
166
  }
265
167
  catch (error) {
@@ -267,18 +169,4 @@ function registerCacheApi(ctx) {
267
169
  }
268
170
  });
269
171
  }
270
- /**
271
- * 从 WebDAV 删除文件(用于测试清理)
272
- */
273
- async function deleteFromWebDav(filename, config) {
274
- const remotePath = config.basePath
275
- ? `${config.basePath.replace(/\/+$/, '')}/${filename}`
276
- : filename;
277
- const url = `${config.endpoint.replace(/\/+$/, '')}/${remotePath.split('/').map(encodeURIComponent).join('/')}`;
278
- const auth = Buffer.from(`${config.username}:${config.password}`, 'utf8').toString('base64');
279
- await fetch(url, {
280
- method: 'DELETE',
281
- headers: { Authorization: `Basic ${auth}` }
282
- });
283
- }
284
172
  //# sourceMappingURL=cache-api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache-api.js","sourceRoot":"","sources":["../../../src/core/api/cache-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache-api.js","sourceRoot":"","sources":["../../../src/core/api/cache-api.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/plugins/cache/middleware.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EAIrB,MAAM,YAAY,CAAA;AAgHnB;;;GAGG;AACH,wBAAgB,4BAA4B,IAAI,oBAAoB,CA0EnE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,oBAAoB,CAyF9D"}
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/plugins/cache/middleware.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,oBAAoB,EAIrB,MAAM,YAAY,CAAA;AA2EnB;;;GAGG;AACH,wBAAgB,4BAA4B,IAAI,oBAAoB,CAwEnE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,oBAAoB,CAuF9D"}
@@ -1,31 +1,10 @@
1
1
  "use strict";
2
2
  // 存储中间件 - 将输入文件和生成结果上传到存储后端
3
+ // 统一通过 CacheService 进行存储操作
3
4
  Object.defineProperty(exports, "__esModule", { value: true });
4
5
  exports.createStorageInputMiddleware = createStorageInputMiddleware;
5
6
  exports.createStorageMiddleware = createStorageMiddleware;
6
7
  const utils_1 = require("./utils");
7
- // ============ 配置转换 ============
8
- function toS3Config(config) {
9
- return {
10
- endpoint: config.s3Endpoint,
11
- region: config.s3Region,
12
- accessKeyId: config.s3AccessKeyId,
13
- secretAccessKey: config.s3SecretAccessKey,
14
- bucket: config.s3Bucket,
15
- publicBaseUrl: config.s3PublicBaseUrl,
16
- forcePathStyle: config.s3ForcePathStyle,
17
- acl: config.s3Acl
18
- };
19
- }
20
- function toWebDavConfig(config) {
21
- return {
22
- endpoint: config.webdavEndpoint,
23
- username: config.webdavUsername,
24
- password: config.webdavPassword,
25
- basePath: config.webdavBasePath,
26
- publicBaseUrl: config.webdavPublicBaseUrl
27
- };
28
- }
29
8
  // ============ 工具函数 ============
30
9
  /**
31
10
  * 解析 base64 data URL
@@ -71,29 +50,18 @@ async function downloadAsset(url) {
71
50
  return { buffer: Buffer.from(arrayBuffer), mime };
72
51
  }
73
52
  /**
74
- * 上传文件到指定后端
53
+ * 上传文件到存储后端(通过 CacheService)
75
54
  */
76
- async function uploadToBackend(buffer, filename, mime, config, mctx) {
77
- switch (config.backend) {
78
- case 'local': {
79
- const cacheService = mctx.getService('cache');
80
- if (!cacheService) {
81
- throw new Error('本地缓存服务不可用');
82
- }
83
- const cached = await cacheService.cache(buffer, mime, filename);
84
- const url = cacheService.getUrl(cached.id);
85
- if (!url) {
86
- throw new Error('无法获取缓存 URL,请检查 selfUrl 配置');
87
- }
88
- return { url, key: cached.id };
89
- }
90
- case 's3':
91
- return (0, utils_1.uploadToS3)(buffer, filename, mime, toS3Config(config));
92
- case 'webdav':
93
- return (0, utils_1.uploadToWebDav)(buffer, filename, mime, toWebDavConfig(config));
94
- default:
95
- throw new Error(`未知的存储后端: ${config.backend}`);
55
+ async function uploadToBackend(buffer, filename, mime, mctx) {
56
+ const cacheService = mctx.getService('cache');
57
+ if (!cacheService) {
58
+ throw new Error('缓存服务不可用');
59
+ }
60
+ const cached = await cacheService.cache(buffer, mime, filename);
61
+ if (!cached.url) {
62
+ throw new Error('无法获取缓存 URL,请检查存储配置');
96
63
  }
64
+ return { url: cached.url, key: cached.id };
97
65
  }
98
66
  // ============ 中间件定义 ============
99
67
  /**
@@ -110,21 +78,20 @@ function createStorageInputMiddleware() {
110
78
  phase: 'lifecycle-prepare',
111
79
  // 配置在 cache 插件的"扩展插件"面板中设置
112
80
  async execute(mctx, next) {
113
- // 从中间件配置获取实时配置(而不是 CacheService 的缓存配置)
114
- const config = await mctx.getMiddlewareConfig('cache');
115
- // 没有配置或禁用时跳过
116
- if (!config || !config.enabled) {
81
+ // 获取缓存服务
82
+ const cacheService = mctx.getService('cache');
83
+ if (!cacheService) {
117
84
  return next();
118
85
  }
119
- // 没有文件或配置为 none 时跳过
120
- if (!mctx.files || mctx.files.length === 0 || config.backend === 'none') {
86
+ // 检查服务是否启用
87
+ if (!cacheService.isEnabled()) {
121
88
  return next();
122
89
  }
123
- const cacheService = mctx.getService('cache');
124
- if (!cacheService && config.backend === 'local') {
125
- mctx.setMiddlewareLog('storage-input', { error: '本地缓存服务不可用' });
90
+ // 没有文件时跳过
91
+ if (!mctx.files || mctx.files.length === 0) {
126
92
  return next();
127
93
  }
94
+ const backend = cacheService.getBackend();
128
95
  const uploadLogs = [];
129
96
  const uploadedUrls = [];
130
97
  for (let i = 0; i < mctx.files.length; i++) {
@@ -136,7 +103,7 @@ function createStorageInputMiddleware() {
136
103
  const buffer = Buffer.from(file.data);
137
104
  const ext = (0, utils_1.getExtensionFromMime)(file.mime);
138
105
  const filename = `input-${i}${ext}`;
139
- const result = await uploadToBackend(buffer, filename, file.mime, config, mctx);
106
+ const result = await uploadToBackend(buffer, filename, file.mime, mctx);
140
107
  uploadedUrls.push(result.url);
141
108
  uploadLogs.push({ index: i, filename: file.filename, url: result.url });
142
109
  }
@@ -152,7 +119,7 @@ function createStorageInputMiddleware() {
152
119
  mctx.store.set('inputFileUrls', uploadedUrls);
153
120
  }
154
121
  mctx.setMiddlewareLog('storage-input', {
155
- backend: config.backend,
122
+ backend,
156
123
  total: mctx.files.length,
157
124
  uploaded: uploadLogs.filter(l => l.url).length,
158
125
  failed: uploadLogs.filter(l => l.error).length,
@@ -177,21 +144,20 @@ function createStorageMiddleware() {
177
144
  phase: 'lifecycle-post-request',
178
145
  // 配置在 cache 插件的"扩展插件"面板中设置
179
146
  async execute(mctx, next) {
180
- // 从中间件配置获取实时配置(而不是 CacheService 的缓存配置)
181
- const config = await mctx.getMiddlewareConfig('cache');
182
- // 没有配置或禁用时跳过
183
- if (!config || !config.enabled) {
147
+ // 获取缓存服务
148
+ const cacheService = mctx.getService('cache');
149
+ if (!cacheService) {
184
150
  return next();
185
151
  }
186
- // 没有输出或配置为 none 时跳过
187
- if (!mctx.output || mctx.output.length === 0 || config.backend === 'none') {
152
+ // 检查服务是否启用
153
+ if (!cacheService.isEnabled()) {
188
154
  return next();
189
155
  }
190
- const cacheService = mctx.getService('cache');
191
- if (!cacheService && config.backend === 'local') {
192
- mctx.setMiddlewareLog('storage', { error: '本地缓存服务不可用' });
156
+ // 没有输出时跳过
157
+ if (!mctx.output || mctx.output.length === 0) {
193
158
  return next();
194
159
  }
160
+ const backend = cacheService.getBackend();
195
161
  const uploadedAssets = [];
196
162
  const uploadLogs = [];
197
163
  for (let i = 0; i < mctx.output.length; i++) {
@@ -204,7 +170,7 @@ function createStorageMiddleware() {
204
170
  try {
205
171
  const { buffer, mime } = await downloadAsset(asset.url);
206
172
  const filename = `output-${asset.kind}-${i}`;
207
- const result = await uploadToBackend(buffer, filename, mime, config, mctx);
173
+ const result = await uploadToBackend(buffer, filename, mime, mctx);
208
174
  const isBase64 = asset.url.startsWith('data:');
209
175
  uploadedAssets.push({
210
176
  ...asset,
@@ -213,7 +179,7 @@ function createStorageMiddleware() {
213
179
  ...asset.meta,
214
180
  ...(isBase64 ? {} : { originalUrl: asset.url }),
215
181
  storageKey: result.key,
216
- storageBackend: config.backend
182
+ storageBackend: backend
217
183
  }
218
184
  });
219
185
  uploadLogs.push({
@@ -234,7 +200,7 @@ function createStorageMiddleware() {
234
200
  }
235
201
  mctx.output = uploadedAssets;
236
202
  mctx.setMiddlewareLog('storage', {
237
- backend: config.backend,
203
+ backend,
238
204
  total: mctx.output.length,
239
205
  uploaded: uploadLogs.filter(l => l.newUrl).length,
240
206
  failed: uploadLogs.filter(l => l.error).length,
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/plugins/cache/middleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/plugins/cache/middleware.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Context } from 'koishi';
2
2
  import type { CachePluginConfig } from './config';
3
- /** 缓存文件元数据(兼容旧接口) */
3
+ /** 缓存文件元数据 */
4
4
  export interface CachedFile {
5
5
  id: string;
6
6
  filename: string;
@@ -11,6 +11,8 @@ export interface CachedFile {
11
11
  localPath: string;
12
12
  /** 可访问的 URL */
13
13
  url?: string;
14
+ /** 存储后端 */
15
+ backend?: string;
14
16
  }
15
17
  /** 缓存统计 */
16
18
  export interface CacheStats {
@@ -19,11 +21,11 @@ export interface CacheStats {
19
21
  maxSizeMB: number;
20
22
  oldestAccess: Date | null;
21
23
  newestAccess: Date | null;
24
+ backend: string;
22
25
  }
23
26
  /**
24
- * 本地缓存服务
25
- * 提供文件缓存和 HTTP 访问支持
26
- * 使用数据库存储元数据,支持 sourceHash 和 contentHash 两级去重
27
+ * 统一存储服务
28
+ * 根据配置的 backend 自动选择存储方式(local/s3/webdav)
27
29
  */
28
30
  export declare class CacheService {
29
31
  private logger;
@@ -32,7 +34,7 @@ export declare class CacheService {
32
34
  private publicPath;
33
35
  private publicBaseUrl;
34
36
  private config;
35
- /** 基础URL(从 selfUrl 获取),用于生成访问链接 */
37
+ /** 基础URL(从 selfUrl 获取),用于生成本地访问链接 */
36
38
  private baseUrl;
37
39
  /** 内存缓存(加速查询) */
38
40
  private memoryCache;
@@ -51,55 +53,68 @@ export declare class CacheService {
51
53
  getBaseUrl(): string;
52
54
  /** 检查缓存是否启用 */
53
55
  isEnabled(): boolean;
54
- /** 获取完整配置(供中间件使用) */
56
+ /** 获取当前后端类型 */
57
+ getBackend(): string;
58
+ /** 获取完整配置 */
55
59
  getConfig(): CachePluginConfig;
60
+ /** 转换为 S3 配置 */
61
+ private toS3Config;
62
+ /** 转换为 WebDAV 配置 */
63
+ private toWebDavConfig;
56
64
  /**
57
- * 缓存文件到本地
58
- * @param data 文件数据
59
- * @param mime MIME 类型
60
- * @param filename 文件名
61
- * @param sourceUrl 可选的源 URL(用于 sourceHash 去重)
65
+ * 缓存文件
66
+ * 根据配置的后端自动选择存储方式
62
67
  */
63
68
  cache(data: Buffer | ArrayBuffer, mime: string, filename?: string, sourceUrl?: string): Promise<CachedFile>;
69
+ /** 存储到本地 */
70
+ private storeLocal;
71
+ /** 存储到 S3 */
72
+ private storeS3;
73
+ /** 存储到 WebDAV */
74
+ private storeWebDav;
64
75
  /**
65
76
  * 从 URL 下载并缓存
66
- * 支持 sourceHash 去重:相同 URL 不会重复下载
67
77
  */
68
78
  cacheFromUrl(url: string): Promise<CachedFile>;
69
79
  /** 获取缓存文件的访问URL */
70
80
  getUrl(id: string): string | null;
71
81
  /** 获取缓存文件信息 */
72
82
  get(id: string): Promise<CachedFile | null>;
73
- /** 读取缓存文件内容 */
83
+ /** 读取缓存文件内容(仅本地存储可用) */
74
84
  read(id: string): Promise<Buffer | null>;
75
- /** 读取为 Data URL */
85
+ /** 读取为 Data URL(仅本地存储可用) */
76
86
  readAsDataUrl(id: string): Promise<string | null>;
77
87
  /** 删除缓存文件 */
78
88
  delete(id: string): Promise<boolean>;
89
+ /** 从后端删除文件 */
90
+ private deleteFromBackend;
91
+ /** 从 WebDAV 删除 */
92
+ private deleteFromWebDav;
79
93
  /** 获取统计信息 */
80
94
  getStats(): Promise<CacheStats>;
81
95
  /** 清空所有缓存 */
82
96
  clearAll(): Promise<void>;
83
- /** 通过 sourceHash 查找缓存 */
97
+ /**
98
+ * 测试存储连接
99
+ */
100
+ testConnection(): Promise<{
101
+ success: boolean;
102
+ message: string;
103
+ url?: string;
104
+ duration?: number;
105
+ }>;
84
106
  private findBySourceHash;
85
- /** 通过 contentHash 查找缓存 */
86
107
  private findByContentHash;
87
- /** 更新访问时间 */
88
108
  private updateAccessTime;
89
- /** 从数据库删除 */
90
109
  private deleteFromDatabase;
91
- /** 将数据库记录转换为 CachedFile */
92
110
  private dbRecordToCachedFile;
93
111
  private ensureDir;
94
- /** 生成内容哈希(基于文件内容) */
95
112
  private generateContentHash;
96
- /** 生成源哈希(基于 URL) */
97
113
  private generateSourceHash;
98
114
  private getExtension;
99
- private getExtensionFromMime;
100
115
  private guessMimeFromUrl;
101
- /** 构建访问 URL */
102
- private buildUrl;
116
+ /** 构建本地访问 URL */
117
+ private buildLocalUrl;
103
118
  private ensureCacheSpace;
104
119
  private cleanupExpired;
105
120
  }
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/plugins/cache/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/plugins/cache/service.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
- // 缓存服务 - 本地文件缓存(使用数据库存储元数据)
2
+ // 统一存储服务 - 支持本地/S3/WebDAV 多后端
3
+ // 根据配置的 backend 自动选择存储方式
3
4
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
5
  if (k2 === undefined) k2 = k;
5
6
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -39,10 +40,12 @@ const fs = __importStar(require("fs"));
39
40
  const path = __importStar(require("path"));
40
41
  const crypto = __importStar(require("crypto"));
41
42
  const core_1 = require("../../core");
43
+ const s3_1 = require("./utils/s3");
44
+ const webdav_1 = require("./utils/webdav");
45
+ const mime_1 = require("./utils/mime");
42
46
  /**
43
- * 本地缓存服务
44
- * 提供文件缓存和 HTTP 访问支持
45
- * 使用数据库存储元数据,支持 sourceHash 和 contentHash 两级去重
47
+ * 统一存储服务
48
+ * 根据配置的 backend 自动选择存储方式(local/s3/webdav)
46
49
  */
47
50
  class CacheService {
48
51
  logger;
@@ -51,7 +54,7 @@ class CacheService {
51
54
  publicPath;
52
55
  publicBaseUrl;
53
56
  config;
54
- /** 基础URL(从 selfUrl 获取),用于生成访问链接 */
57
+ /** 基础URL(从 selfUrl 获取),用于生成本地访问链接 */
55
58
  baseUrl = '';
56
59
  /** 内存缓存(加速查询) */
57
60
  memoryCache = new Map();
@@ -61,7 +64,7 @@ class CacheService {
61
64
  this.ctx = ctx;
62
65
  this.logger = (0, core_1.createPluginLogger)(ctx.logger('media-luna'), 'cache');
63
66
  this.config = config;
64
- // 使用配置的目录路径,或默认值
67
+ // 本地缓存目录(即使使用 S3/WebDAV,也可能需要临时存储)
65
68
  this.cacheRoot = path.join(ctx.baseDir, config.cacheDir || 'data/media-luna/cache');
66
69
  this.publicPath = config.publicPath || '/media-luna/cache';
67
70
  this.publicBaseUrl = config.publicBaseUrl?.replace(/\/$/, '') || null;
@@ -70,7 +73,7 @@ class CacheService {
70
73
  this.initialize().catch(e => {
71
74
  this.logger.error('Failed to initialize cache service: %s', e);
72
75
  });
73
- this.logger.info('Cache service initialized at: %s', this.cacheRoot);
76
+ this.logger.info('Cache service initialized, backend: %s', config.backend || 'local');
74
77
  }
75
78
  /** 异步初始化 */
76
79
  async initialize() {
@@ -79,8 +82,10 @@ class CacheService {
79
82
  try {
80
83
  // 从数据库加载到内存缓存
81
84
  await this.loadFromDatabase();
82
- // 清理过期缓存
83
- await this.cleanupExpired();
85
+ // 清理过期缓存(仅本地模式)
86
+ if (this.config.backend === 'local' || !this.config.backend) {
87
+ await this.cleanupExpired();
88
+ }
84
89
  this.initialized = true;
85
90
  }
86
91
  catch (e) {
@@ -92,7 +97,7 @@ class CacheService {
92
97
  try {
93
98
  const records = await this.ctx.database.get('medialuna_asset_cache', {});
94
99
  for (const record of records) {
95
- const localPath = path.join(this.cacheRoot, `${record.contentHash}${this.getExtensionFromMime(record.mimeType)}`);
100
+ const localPath = path.join(this.cacheRoot, record.cachedKey);
96
101
  this.memoryCache.set(record.contentHash, {
97
102
  id: record.contentHash,
98
103
  filename: path.basename(record.cachedKey),
@@ -101,7 +106,8 @@ class CacheService {
101
106
  createdAt: record.createdAt,
102
107
  accessedAt: record.lastAccessedAt,
103
108
  localPath,
104
- url: record.cachedUrl
109
+ url: record.cachedUrl,
110
+ backend: record.backend
105
111
  });
106
112
  }
107
113
  this.logger.debug('Loaded %d cache entries from database', records.length);
@@ -113,6 +119,7 @@ class CacheService {
113
119
  /** 更新配置 */
114
120
  updateConfig(config) {
115
121
  this.config = { ...this.config, ...config };
122
+ this.logger.info('Cache config updated, backend: %s', this.config.backend || 'local');
116
123
  }
117
124
  /** 设置基础URL */
118
125
  setBaseUrl(url) {
@@ -125,57 +132,95 @@ class CacheService {
125
132
  }
126
133
  /** 检查缓存是否启用 */
127
134
  isEnabled() {
128
- return this.config.enabled;
135
+ return this.config.enabled && this.config.backend !== 'none';
136
+ }
137
+ /** 获取当前后端类型 */
138
+ getBackend() {
139
+ return this.config.backend || 'local';
129
140
  }
130
- /** 获取完整配置(供中间件使用) */
141
+ /** 获取完整配置 */
131
142
  getConfig() {
132
143
  return this.config;
133
144
  }
145
+ /** 转换为 S3 配置 */
146
+ toS3Config() {
147
+ return {
148
+ endpoint: this.config.s3Endpoint,
149
+ region: this.config.s3Region,
150
+ accessKeyId: this.config.s3AccessKeyId,
151
+ secretAccessKey: this.config.s3SecretAccessKey,
152
+ bucket: this.config.s3Bucket,
153
+ publicBaseUrl: this.config.s3PublicBaseUrl,
154
+ forcePathStyle: this.config.s3ForcePathStyle,
155
+ acl: this.config.s3Acl
156
+ };
157
+ }
158
+ /** 转换为 WebDAV 配置 */
159
+ toWebDavConfig() {
160
+ return {
161
+ endpoint: this.config.webdavEndpoint,
162
+ username: this.config.webdavUsername,
163
+ password: this.config.webdavPassword,
164
+ basePath: this.config.webdavBasePath,
165
+ publicBaseUrl: this.config.webdavPublicBaseUrl
166
+ };
167
+ }
134
168
  /**
135
- * 缓存文件到本地
136
- * @param data 文件数据
137
- * @param mime MIME 类型
138
- * @param filename 文件名
139
- * @param sourceUrl 可选的源 URL(用于 sourceHash 去重)
169
+ * 缓存文件
170
+ * 根据配置的后端自动选择存储方式
140
171
  */
141
172
  async cache(data, mime, filename, sourceUrl) {
142
173
  if (!this.config.enabled) {
143
174
  throw new Error('Cache is disabled');
144
175
  }
145
176
  const buffer = Buffer.isBuffer(data) ? data : Buffer.from(data);
146
- const sizeMB = buffer.length / (1024 * 1024);
147
- if (sizeMB > this.config.maxFileSize) {
148
- throw new Error(`File too large: ${sizeMB.toFixed(2)}MB > ${this.config.maxFileSize}MB`);
177
+ const backend = this.config.backend || 'local';
178
+ // 检查文件大小(仅本地模式限制)
179
+ if (backend === 'local') {
180
+ const sizeMB = buffer.length / (1024 * 1024);
181
+ if (sizeMB > this.config.maxFileSize) {
182
+ throw new Error(`File too large: ${sizeMB.toFixed(2)}MB > ${this.config.maxFileSize}MB`);
183
+ }
149
184
  }
150
185
  // 计算内容哈希
151
186
  const contentHash = this.generateContentHash(buffer);
152
187
  // 检查是否已有相同内容的缓存
153
188
  const existingByContent = await this.findByContentHash(contentHash);
154
189
  if (existingByContent) {
155
- // 更新访问时间
156
190
  await this.updateAccessTime(existingByContent.contentHash);
157
191
  this.logger.debug('Cache hit by content hash: %s', contentHash);
158
192
  return this.dbRecordToCachedFile(existingByContent);
159
193
  }
160
- // 确保有足够空间
161
- await this.ensureCacheSpace(buffer.length);
162
- // 写入文件
194
+ // 根据后端存储文件
163
195
  const ext = this.getExtension(mime, filename);
164
- const localPath = path.join(this.cacheRoot, `${contentHash}${ext}`);
165
- fs.writeFileSync(localPath, buffer);
196
+ const storageKey = `${contentHash}${ext}`;
197
+ let cachedUrl;
198
+ switch (backend) {
199
+ case 'local':
200
+ cachedUrl = await this.storeLocal(buffer, storageKey, contentHash, ext);
201
+ break;
202
+ case 's3':
203
+ cachedUrl = await this.storeS3(buffer, storageKey, mime);
204
+ break;
205
+ case 'webdav':
206
+ cachedUrl = await this.storeWebDav(buffer, storageKey, mime);
207
+ break;
208
+ case 'none':
209
+ throw new Error('Storage backend is set to none');
210
+ default:
211
+ throw new Error(`Unknown storage backend: ${backend}`);
212
+ }
166
213
  // 计算源哈希(如果有源 URL)
167
214
  const sourceHash = sourceUrl ? this.generateSourceHash(sourceUrl) : contentHash;
168
- // 生成访问 URL
169
- const cachedUrl = this.buildUrl(contentHash, ext);
170
215
  // 保存到数据库
171
216
  const now = new Date();
172
217
  await this.ctx.database.create('medialuna_asset_cache', {
173
218
  sourceUrl: sourceUrl || '',
174
219
  sourceHash,
175
220
  contentHash,
176
- backend: 'local',
221
+ backend,
177
222
  cachedUrl,
178
- cachedKey: `${contentHash}${ext}`,
223
+ cachedKey: storageKey,
179
224
  mimeType: mime,
180
225
  fileSize: buffer.length,
181
226
  createdAt: now,
@@ -188,24 +233,51 @@ class CacheService {
188
233
  size: buffer.length,
189
234
  createdAt: now,
190
235
  accessedAt: now,
191
- localPath,
192
- url: cachedUrl
236
+ localPath: path.join(this.cacheRoot, storageKey),
237
+ url: cachedUrl,
238
+ backend
193
239
  };
194
240
  // 更新内存缓存
195
241
  this.memoryCache.set(contentHash, cached);
196
- this.logger.debug('Cached file: %s (%s, %sMB)', contentHash, cached.filename, sizeMB.toFixed(2));
242
+ this.logger.debug('Cached file to %s: %s', backend, contentHash);
197
243
  return cached;
198
244
  }
245
+ /** 存储到本地 */
246
+ async storeLocal(buffer, storageKey, contentHash, ext) {
247
+ // 确保有足够空间
248
+ await this.ensureCacheSpace(buffer.length);
249
+ const localPath = path.join(this.cacheRoot, storageKey);
250
+ fs.writeFileSync(localPath, buffer);
251
+ return this.buildLocalUrl(contentHash, ext);
252
+ }
253
+ /** 存储到 S3 */
254
+ async storeS3(buffer, storageKey, mime) {
255
+ const s3Config = this.toS3Config();
256
+ if (!s3Config.bucket)
257
+ throw new Error('S3 缺少 bucket 配置');
258
+ if (!s3Config.accessKeyId || !s3Config.secretAccessKey)
259
+ throw new Error('S3 需提供访问凭证');
260
+ const result = await (0, s3_1.uploadToS3)(buffer, storageKey, mime, s3Config);
261
+ return result.url;
262
+ }
263
+ /** 存储到 WebDAV */
264
+ async storeWebDav(buffer, storageKey, mime) {
265
+ const webdavConfig = this.toWebDavConfig();
266
+ if (!webdavConfig.endpoint)
267
+ throw new Error('WebDAV 缺少端点配置');
268
+ if (!webdavConfig.username || !webdavConfig.password)
269
+ throw new Error('WebDAV 需提供用户名和密码');
270
+ const result = await (0, webdav_1.uploadToWebDav)(buffer, storageKey, mime, webdavConfig);
271
+ return result.url;
272
+ }
199
273
  /**
200
274
  * 从 URL 下载并缓存
201
- * 支持 sourceHash 去重:相同 URL 不会重复下载
202
275
  */
203
276
  async cacheFromUrl(url) {
204
277
  // 先检查是否已有相同源 URL 的缓存
205
278
  const sourceHash = this.generateSourceHash(url);
206
279
  const existingBySource = await this.findBySourceHash(sourceHash);
207
280
  if (existingBySource) {
208
- // 更新访问时间
209
281
  await this.updateAccessTime(existingBySource.contentHash);
210
282
  this.logger.debug('Cache hit by source hash: %s -> %s', url, sourceHash);
211
283
  return this.dbRecordToCachedFile(existingBySource);
@@ -216,7 +288,6 @@ class CacheService {
216
288
  });
217
289
  const mime = this.guessMimeFromUrl(url);
218
290
  const filename = url.split('/').pop()?.split('?')[0] || 'downloaded';
219
- // 缓存时传入源 URL
220
291
  return this.cache(response, mime, filename, url);
221
292
  }
222
293
  /** 获取缓存文件的访问URL */
@@ -224,39 +295,40 @@ class CacheService {
224
295
  const cached = this.memoryCache.get(id);
225
296
  if (!cached)
226
297
  return null;
227
- if (cached.url)
228
- return cached.url;
229
- const ext = path.extname(cached.localPath);
230
- return this.buildUrl(id, ext);
298
+ return cached.url || null;
231
299
  }
232
300
  /** 获取缓存文件信息 */
233
301
  async get(id) {
234
- // 先查内存缓存
235
302
  let cached = this.memoryCache.get(id);
236
303
  if (!cached) {
237
- // 查数据库
238
304
  const record = await this.findByContentHash(id);
239
305
  if (!record)
240
306
  return null;
241
307
  cached = this.dbRecordToCachedFile(record);
242
308
  this.memoryCache.set(id, cached);
243
309
  }
244
- // 检查文件是否存在
245
- if (!fs.existsSync(cached.localPath)) {
246
- await this.deleteFromDatabase(id);
247
- this.memoryCache.delete(id);
248
- return null;
310
+ // 如果是本地存储,检查文件是否存在
311
+ if (cached.backend === 'local' || !cached.backend) {
312
+ if (!fs.existsSync(cached.localPath)) {
313
+ await this.deleteFromDatabase(id);
314
+ this.memoryCache.delete(id);
315
+ return null;
316
+ }
249
317
  }
250
- // 更新访问时间
251
318
  await this.updateAccessTime(id);
252
319
  cached.accessedAt = new Date();
253
320
  return cached;
254
321
  }
255
- /** 读取缓存文件内容 */
322
+ /** 读取缓存文件内容(仅本地存储可用) */
256
323
  async read(id) {
257
324
  const cached = await this.get(id);
258
325
  if (!cached)
259
326
  return null;
327
+ // 只有本地存储可以直接读取
328
+ if (cached.backend !== 'local' && cached.backend) {
329
+ this.logger.warn('Cannot read non-local cache: %s (backend: %s)', id, cached.backend);
330
+ return null;
331
+ }
260
332
  try {
261
333
  return fs.readFileSync(cached.localPath);
262
334
  }
@@ -265,7 +337,7 @@ class CacheService {
265
337
  return null;
266
338
  }
267
339
  }
268
- /** 读取为 Data URL */
340
+ /** 读取为 Data URL(仅本地存储可用) */
269
341
  async readAsDataUrl(id) {
270
342
  const cached = await this.get(id);
271
343
  if (!cached)
@@ -278,14 +350,17 @@ class CacheService {
278
350
  /** 删除缓存文件 */
279
351
  async delete(id) {
280
352
  const cached = this.memoryCache.get(id);
281
- try {
282
- // 删除本地文件
283
- if (cached && fs.existsSync(cached.localPath)) {
284
- fs.unlinkSync(cached.localPath);
353
+ if (!cached) {
354
+ const record = await this.findByContentHash(id);
355
+ if (record) {
356
+ await this.deleteFromBackend(record.cachedKey, record.backend);
357
+ await this.deleteFromDatabase(id);
285
358
  }
286
- // 从数据库删除
359
+ return true;
360
+ }
361
+ try {
362
+ await this.deleteFromBackend(cached.filename, cached.backend || 'local');
287
363
  await this.deleteFromDatabase(id);
288
- // 从内存缓存删除
289
364
  this.memoryCache.delete(id);
290
365
  return true;
291
366
  }
@@ -294,6 +369,46 @@ class CacheService {
294
369
  return false;
295
370
  }
296
371
  }
372
+ /** 从后端删除文件 */
373
+ async deleteFromBackend(key, backend) {
374
+ switch (backend) {
375
+ case 'local':
376
+ const localPath = path.join(this.cacheRoot, key);
377
+ if (fs.existsSync(localPath)) {
378
+ fs.unlinkSync(localPath);
379
+ }
380
+ break;
381
+ case 's3':
382
+ try {
383
+ await (0, s3_1.deleteFromS3)(key, this.toS3Config());
384
+ }
385
+ catch (e) {
386
+ this.logger.warn('Failed to delete from S3: %s', e);
387
+ }
388
+ break;
389
+ case 'webdav':
390
+ try {
391
+ await this.deleteFromWebDav(key);
392
+ }
393
+ catch (e) {
394
+ this.logger.warn('Failed to delete from WebDAV: %s', e);
395
+ }
396
+ break;
397
+ }
398
+ }
399
+ /** 从 WebDAV 删除 */
400
+ async deleteFromWebDav(key) {
401
+ const config = this.toWebDavConfig();
402
+ const remotePath = config.basePath
403
+ ? `${config.basePath.replace(/\/+$/, '')}/${key}`
404
+ : key;
405
+ const url = `${config.endpoint.replace(/\/+$/, '')}/${remotePath.split('/').map(encodeURIComponent).join('/')}`;
406
+ const auth = Buffer.from(`${config.username}:${config.password}`, 'utf8').toString('base64');
407
+ await fetch(url, {
408
+ method: 'DELETE',
409
+ headers: { Authorization: `Basic ${auth}` }
410
+ });
411
+ }
297
412
  /** 获取统计信息 */
298
413
  async getStats() {
299
414
  const records = await this.ctx.database.get('medialuna_asset_cache', {});
@@ -312,43 +427,61 @@ class CacheService {
312
427
  totalSizeMB: totalSize / (1024 * 1024),
313
428
  maxSizeMB: this.config.maxCacheSize,
314
429
  oldestAccess: oldest,
315
- newestAccess: newest
430
+ newestAccess: newest,
431
+ backend: this.config.backend || 'local'
316
432
  };
317
433
  }
318
434
  /** 清空所有缓存 */
319
435
  async clearAll() {
320
- // 获取所有缓存记录
321
436
  const records = await this.ctx.database.get('medialuna_asset_cache', {});
322
- // 删除所有本地文件
323
437
  for (const record of records) {
324
- const localPath = path.join(this.cacheRoot, record.cachedKey);
325
- try {
326
- if (fs.existsSync(localPath)) {
327
- fs.unlinkSync(localPath);
328
- }
329
- }
330
- catch (e) {
331
- this.logger.warn('Failed to delete file: %s', localPath);
332
- }
438
+ await this.deleteFromBackend(record.cachedKey, record.backend);
333
439
  }
334
- // 清空数据库
335
440
  await this.ctx.database.remove('medialuna_asset_cache', {});
336
- // 清空内存缓存
337
441
  this.memoryCache.clear();
338
442
  this.logger.info('All cache cleared');
339
443
  }
444
+ /**
445
+ * 测试存储连接
446
+ */
447
+ async testConnection() {
448
+ const backend = this.config.backend || 'local';
449
+ if (backend === 'none') {
450
+ return { success: true, message: '存储后端设置为"不使用",无需测试' };
451
+ }
452
+ const testContent = `Media Luna Storage Test - ${new Date().toISOString()}`;
453
+ const testBuffer = Buffer.from(testContent, 'utf-8');
454
+ const testFilename = `_test-${Date.now()}.txt`;
455
+ const testMime = 'text/plain';
456
+ const startTime = Date.now();
457
+ try {
458
+ const cached = await this.cache(testBuffer, testMime, testFilename);
459
+ const duration = Date.now() - startTime;
460
+ // 清理测试文件
461
+ await this.delete(cached.id);
462
+ return {
463
+ success: true,
464
+ message: `存储连接测试成功(耗时 ${duration}ms)`,
465
+ url: cached.url,
466
+ duration
467
+ };
468
+ }
469
+ catch (error) {
470
+ return {
471
+ success: false,
472
+ message: error instanceof Error ? error.message : 'Unknown error'
473
+ };
474
+ }
475
+ }
340
476
  // ========== 数据库操作方法 ==========
341
- /** 通过 sourceHash 查找缓存 */
342
477
  async findBySourceHash(sourceHash) {
343
478
  const records = await this.ctx.database.get('medialuna_asset_cache', { sourceHash });
344
479
  return records[0] || null;
345
480
  }
346
- /** 通过 contentHash 查找缓存 */
347
481
  async findByContentHash(contentHash) {
348
482
  const records = await this.ctx.database.get('medialuna_asset_cache', { contentHash });
349
483
  return records[0] || null;
350
484
  }
351
- /** 更新访问时间 */
352
485
  async updateAccessTime(contentHash) {
353
486
  try {
354
487
  await this.ctx.database.set('medialuna_asset_cache', { contentHash }, {
@@ -359,11 +492,9 @@ class CacheService {
359
492
  this.logger.warn('Failed to update access time: %s', e);
360
493
  }
361
494
  }
362
- /** 从数据库删除 */
363
495
  async deleteFromDatabase(contentHash) {
364
496
  await this.ctx.database.remove('medialuna_asset_cache', { contentHash });
365
497
  }
366
- /** 将数据库记录转换为 CachedFile */
367
498
  dbRecordToCachedFile(record) {
368
499
  const localPath = path.join(this.cacheRoot, record.cachedKey);
369
500
  return {
@@ -374,7 +505,8 @@ class CacheService {
374
505
  createdAt: record.createdAt,
375
506
  accessedAt: record.lastAccessedAt,
376
507
  localPath,
377
- url: record.cachedUrl
508
+ url: record.cachedUrl,
509
+ backend: record.backend
378
510
  };
379
511
  }
380
512
  // ========== 私有工具方法 ==========
@@ -383,12 +515,10 @@ class CacheService {
383
515
  fs.mkdirSync(dir, { recursive: true });
384
516
  }
385
517
  }
386
- /** 生成内容哈希(基于文件内容) */
387
518
  generateContentHash(data) {
388
519
  const buffer = Buffer.isBuffer(data) ? data : Buffer.from(data);
389
520
  return crypto.createHash('sha256').update(buffer).digest('hex').slice(0, 16);
390
521
  }
391
- /** 生成源哈希(基于 URL) */
392
522
  generateSourceHash(url) {
393
523
  return crypto.createHash('sha256').update(url).digest('hex').slice(0, 16);
394
524
  }
@@ -398,22 +528,7 @@ class CacheService {
398
528
  if (ext)
399
529
  return ext;
400
530
  }
401
- return this.getExtensionFromMime(mime);
402
- }
403
- getExtensionFromMime(mime) {
404
- const mimeMap = {
405
- 'image/jpeg': '.jpg',
406
- 'image/png': '.png',
407
- 'image/gif': '.gif',
408
- 'image/webp': '.webp',
409
- 'image/svg+xml': '.svg',
410
- 'audio/mpeg': '.mp3',
411
- 'audio/wav': '.wav',
412
- 'audio/ogg': '.ogg',
413
- 'video/mp4': '.mp4',
414
- 'video/webm': '.webm'
415
- };
416
- return mimeMap[mime] || '.bin';
531
+ return (0, mime_1.getExtensionFromMime)(mime);
417
532
  }
418
533
  guessMimeFromUrl(url) {
419
534
  const ext = url.split('.').pop()?.toLowerCase()?.split('?')[0];
@@ -432,49 +547,38 @@ class CacheService {
432
547
  };
433
548
  return mimeMap[ext || ''] || 'application/octet-stream';
434
549
  }
435
- /** 构建访问 URL */
436
- buildUrl(id, ext) {
437
- // 优先使用配置的 publicBaseUrl
550
+ /** 构建本地访问 URL */
551
+ buildLocalUrl(id, ext) {
438
552
  if (this.publicBaseUrl) {
439
553
  return `${this.publicBaseUrl}/${id}${ext}`;
440
554
  }
441
- // 否则使用 selfUrl + publicPath
442
555
  if (!this.baseUrl) {
443
556
  try {
444
- // 尝试从 server 服务获取 selfUrl
445
557
  const server = this.ctx.get?.('server');
446
558
  const selfUrl = server?.config?.selfUrl;
447
559
  if (selfUrl) {
448
560
  this.baseUrl = selfUrl.replace(/\/$/, '');
449
- this.logger.debug('Base URL dynamically set to: %s', this.baseUrl);
450
561
  }
451
562
  else {
452
- // 如果没有配置 selfUrl,尝试使用 localhost + 端口
453
563
  const port = server?.config?.port || 5140;
454
564
  this.baseUrl = `http://127.0.0.1:${port}`;
455
- this.logger.debug('Base URL set to localhost: %s', this.baseUrl);
456
565
  }
457
566
  }
458
567
  catch {
459
- // 忽略错误,使用默认值
460
568
  this.baseUrl = 'http://127.0.0.1:5140';
461
569
  }
462
570
  }
463
571
  if (!this.baseUrl) {
464
- // 返回相对路径作为降级
465
- this.logger.debug('Base URL not set, returning relative path for cache: %s', id);
466
572
  return `${this.publicPath}/${id}${ext}`;
467
573
  }
468
574
  return `${this.baseUrl}${this.publicPath}/${id}${ext}`;
469
575
  }
470
576
  async ensureCacheSpace(needed) {
471
577
  const maxBytes = this.config.maxCacheSize * 1024 * 1024;
472
- // 从数据库获取当前缓存大小
473
- const records = await this.ctx.database.get('medialuna_asset_cache', {});
578
+ const records = await this.ctx.database.get('medialuna_asset_cache', { backend: 'local' });
474
579
  let currentSize = records.reduce((sum, r) => sum + r.fileSize, 0);
475
580
  if (currentSize + needed <= maxBytes)
476
581
  return;
477
- // 按访问时间排序,删除最旧的
478
582
  const sorted = [...records].sort((a, b) => a.lastAccessedAt.getTime() - b.lastAccessedAt.getTime());
479
583
  for (const record of sorted) {
480
584
  if (currentSize + needed <= maxBytes)
@@ -489,8 +593,7 @@ class CacheService {
489
593
  const now = new Date();
490
594
  const expireMs = this.config.expireDays * 24 * 60 * 60 * 1000;
491
595
  const expireDate = new Date(now.getTime() - expireMs);
492
- // 查询过期的缓存
493
- const records = await this.ctx.database.get('medialuna_asset_cache', {});
596
+ const records = await this.ctx.database.get('medialuna_asset_cache', { backend: 'local' });
494
597
  const toDelete = records.filter(r => r.lastAccessedAt < expireDate);
495
598
  for (const record of toDelete) {
496
599
  await this.delete(record.contentHash);
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/plugins/cache/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/plugins/cache/service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "koishi-plugin-media-luna",
3
3
  "description": "ai media生成插件",
4
- "version": "0.0.44",
4
+ "version": "0.0.45",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
7
7
  "exports": {