fix: 修复配额说明重复和undefined问题

- 在editStorageForm中初始化oss_storage_quota_value和oss_quota_unit
- 删除重复的旧配额说明块,保留新的当前配额设置显示

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-22 19:39:53 +08:00
commit 4350113979
7649 changed files with 897277 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
import { Writable } from "stream";
export class Collector extends Writable {
bufferedBytes = [];
_write(chunk, encoding, callback) {
this.bufferedBytes.push(chunk);
callback();
}
}

View File

@@ -0,0 +1,41 @@
import { Collector } from "./collector";
export const streamCollector = (stream) => {
if (isReadableStreamInstance(stream)) {
return collectReadableStream(stream);
}
return new Promise((resolve, reject) => {
const collector = new Collector();
stream.pipe(collector);
stream.on("error", (err) => {
collector.end();
reject(err);
});
collector.on("error", reject);
collector.on("finish", function () {
const bytes = new Uint8Array(Buffer.concat(this.bufferedBytes));
resolve(bytes);
});
});
};
const isReadableStreamInstance = (stream) => typeof ReadableStream === "function" && stream instanceof ReadableStream;
async function collectReadableStream(stream) {
const chunks = [];
const reader = stream.getReader();
let isDone = false;
let length = 0;
while (!isDone) {
const { done, value } = await reader.read();
if (value) {
chunks.push(value);
length += value.length;
}
isDone = done;
}
const collected = new Uint8Array(length);
let offset = 0;
for (const chunk of chunks) {
collected.set(chunk, offset);
offset += chunk.length;
}
return collected;
}

View File

@@ -0,0 +1,21 @@
import { Readable } from "stream";
export class ReadFromBuffers extends Readable {
buffersToRead;
numBuffersRead = 0;
errorAfter;
constructor(options) {
super(options);
this.buffersToRead = options.buffers;
this.errorAfter = typeof options.errorAfter === "number" ? options.errorAfter : -1;
}
_read(size) {
if (this.errorAfter !== -1 && this.errorAfter === this.numBuffersRead) {
this.emit("error", new Error("Mock Error"));
return;
}
if (this.numBuffersRead >= this.buffersToRead.length) {
return this.push(null);
}
return this.push(this.buffersToRead[this.numBuffersRead++]);
}
}