-
接口列表
+
接口管理(api)
刷新
@@ -451,7 +451,7 @@
@@ -510,8 +510,8 @@
mock/
@@ -877,6 +877,13 @@
routeSearch: function () { this.routePagination.currentPage = 1; },
mockFileSearch: function () { this.mockFilePagination.currentPage = 1; },
mockGroupFilter: function () { this.mockFilePagination.currentPage = 1; },
+ "mockFileDialog.form.alias": function () {
+ if (this.mockFileDialog.mode === "create" || this.mockFileDialog.mode === "copy") {
+ this.mockFileDialog.form.fileName = this.generateMockFileName(
+ this.mockFileDialog.form.alias,
+ );
+ }
+ },
apiSearch: function () { this.apiPagination.currentPage = 1; },
ipRuleSearch: function () { this.ipRulePagination.currentPage = 1; },
},
@@ -1283,9 +1290,20 @@
};
this.routeDialog.visible = true;
},
+ sanitizeMockFileAlias: function (alias) {
+ var text = String(alias || "").trim();
+ text = text.replace(/[\\/:*?"<>|]/g, "_").replace(/\s+/g, "_");
+ text = text.replace(/_+/g, "_").replace(/^_+|_+$/g, "");
+ return text || "mock";
+ },
+ generateMockFileName: function (alias) {
+ var prefix = this.sanitizeMockFileAlias(alias);
+ var random = Math.random().toString(36).slice(2, 10);
+ return prefix + "_" + random + ".json";
+ },
getDefaultMockFileForm: function () {
return {
- fileName: "",
+ fileName: this.generateMockFileName(""),
alias: "",
content: "",
groupId: null,
@@ -1319,12 +1337,21 @@
}
this.openMockFileDialogForEdit(mockFile);
},
+ getMockFileAlias: function (filePath) {
+ var path = filePath || "";
+ var mockFile = this.mockFiles.find(function (f) { return f.filePath === path; });
+ if (mockFile && mockFile.alias) {
+ return mockFile.alias;
+ }
+ return path || "-";
+ },
openMockFileDialogForCopy: function (item) {
+ var alias = String(item.alias || "") + "-副本";
this.mockFileDialog.mode = "copy";
this.mockFileDialog.fullscreen = false;
this.mockFileDialog.form = {
- fileName: "",
- alias: String(item.alias || "") + "-副本",
+ fileName: this.generateMockFileName(alias),
+ alias: alias,
content: String(item.content || ""),
groupId: item.groupId || null,
};
@@ -1346,6 +1373,10 @@
},
submitMockFileDialog: async function () {
var fileName = (this.mockFileDialog.form.fileName || "").trim();
+ if (this.mockFileDialog.mode === "create" || this.mockFileDialog.mode === "copy") {
+ fileName = this.generateMockFileName(this.mockFileDialog.form.alias);
+ this.mockFileDialog.form.fileName = fileName;
+ }
if (!fileName) {
this.$message.error("文件名不能为空");
return;