前置 URL:环境切换自动拼接服务地址(借鉴 Apifox)
- 环境新增「前置 URL」字段;环境管理弹窗独立配置区 + 说明
- URL 输入改为一体胶囊:前缀块(环境徽标 + 域名,点击进环境管理)+ 分隔线 + 相对路径输入
- 路径以 / 开头(或空)自动拼接当前环境前置 URL;完整 https:// 地址不受影响
- 光标 / 全选只作用于路径,不再误编辑 {{baseUrl}} 文本
- 覆盖 HTTP / GraphQL / SSE 编辑器与发送链路(含自动化测试执行器、代码生成用完整地址)
- 存量数据一次性迁移:{{baseUrl}}/path → /path,baseUrl 变量 → 环境字段(启动 / 导入 / 备份恢复均生效)
- 顶栏切换环境即换前缀;docs 06-env 增前置 URL 章节
- 验证:48 前端用例全绿;本地 E2E(迁移/发送 200/环境切换前缀联动/胶囊几何对齐)+ 近景视觉评审通过
This commit is contained in:
1 parent
1bcd7be2ac
commit
ce6d2d1eff
12 files changed
+260
-35
No files matched your search
@@ -39,7 +39,7 @@ export function defaultRequestData(kind: RequestKind) {
|
||||
return {
|
||||
kind,
|
||||
method: "GET",
|
||||
url: "{{baseUrl}}/",
|
||||
url: "/",
|
||||
query: [],
|
||||
headers: [],
|
||||
cookies: [],
|
||||
@@ -51,7 +51,7 @@ export function defaultRequestData(kind: RequestKind) {
|
||||
case "graphql":
|
||||
return {
|
||||
kind,
|
||||
url: "{{baseUrl}}/graphql",
|
||||
url: "/graphql",
|
||||
headers: [kv("Content-Type", "application/json")],
|
||||
auth: { ...noAuth },
|
||||
query: "query {\n \n}",
|
||||
@@ -67,7 +67,7 @@ export function defaultRequestData(kind: RequestKind) {
|
||||
case "sse":
|
||||
return {
|
||||
kind,
|
||||
url: "{{baseUrl}}/events",
|
||||
url: "/events",
|
||||
headers: [kv("Accept", "text/event-stream")],
|
||||
query: [],
|
||||
auth: { ...noAuth },
|
||||
@@ -164,8 +164,9 @@ export function createCollection(
|
||||
export function createEnvironment(
|
||||
name: string,
|
||||
vars: { key: string; value: string }[] = [],
|
||||
baseUrl = "",
|
||||
): Environment {
|
||||
return { id: newId(), name, variables: vars.map((v) => kv(v.key, v.value)) };
|
||||
return { id: newId(), name, baseUrl, variables: vars.map((v) => kv(v.key, v.value)) };
|
||||
}
|
||||
|
||||
/** 首次启动的演示集合:覆盖全部协议,开箱即用 */
|
||||
@@ -253,8 +254,8 @@ export function createSeedWorkspace(): WorkspaceData {
|
||||
]);
|
||||
|
||||
const envs = [
|
||||
createEnvironment("正式", [{ key: "baseUrl", value: "https://httpbin.org" }, { key: "token", value: "demo-token" }]),
|
||||
createEnvironment("本地", [{ key: "baseUrl", value: "http://127.0.0.1:8787" }, { key: "token", value: "dev-token" }]),
|
||||
createEnvironment("正式", [{ key: "token", value: "demo-token" }], "https://httpbin.org"),
|
||||
createEnvironment("本地", [{ key: "token", value: "dev-token" }], "http://127.0.0.1:8787"),
|
||||
];
|
||||
|
||||
return {
|
||||
|
||||
@@ -208,6 +208,8 @@ export type Collection = {
|
||||
export type Environment = {
|
||||
id: string;
|
||||
name: string;
|
||||
/** 前置 URL:请求路径以 / 开头时自动拼接(随环境切换) */
|
||||
baseUrl?: string;
|
||||
variables: KVRow[];
|
||||
};
|
||||
|
||||
|
||||
Reference in new issue
Block a user