- 在editStorageForm中初始化oss_storage_quota_value和oss_quota_unit - 删除重复的旧配额说明块,保留新的当前配额设置显示 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
37 lines
1.5 KiB
JavaScript
37 lines
1.5 KiB
JavaScript
import { getAttr } from "../lib";
|
|
export const evaluateTemplate = (template, options) => {
|
|
const evaluatedTemplateArr = [];
|
|
const templateContext = {
|
|
...options.endpointParams,
|
|
...options.referenceRecord,
|
|
};
|
|
let currentIndex = 0;
|
|
while (currentIndex < template.length) {
|
|
const openingBraceIndex = template.indexOf("{", currentIndex);
|
|
if (openingBraceIndex === -1) {
|
|
evaluatedTemplateArr.push(template.slice(currentIndex));
|
|
break;
|
|
}
|
|
evaluatedTemplateArr.push(template.slice(currentIndex, openingBraceIndex));
|
|
const closingBraceIndex = template.indexOf("}", openingBraceIndex);
|
|
if (closingBraceIndex === -1) {
|
|
evaluatedTemplateArr.push(template.slice(openingBraceIndex));
|
|
break;
|
|
}
|
|
if (template[openingBraceIndex + 1] === "{" && template[closingBraceIndex + 1] === "}") {
|
|
evaluatedTemplateArr.push(template.slice(openingBraceIndex + 1, closingBraceIndex));
|
|
currentIndex = closingBraceIndex + 2;
|
|
}
|
|
const parameterName = template.substring(openingBraceIndex + 1, closingBraceIndex);
|
|
if (parameterName.includes("#")) {
|
|
const [refName, attrName] = parameterName.split("#");
|
|
evaluatedTemplateArr.push(getAttr(templateContext[refName], attrName));
|
|
}
|
|
else {
|
|
evaluatedTemplateArr.push(templateContext[parameterName]);
|
|
}
|
|
currentIndex = closingBraceIndex + 1;
|
|
}
|
|
return evaluatedTemplateArr.join("");
|
|
};
|