From e128f94ec7a75681efdabf8ca83b476e9db805f4 Mon Sep 17 00:00:00 2001
From: htfc786 <2721672639@qq.com>
Date: Thu, 10 Aug 2023 22:32:06 +0800
Subject: [PATCH 1/2] =?UTF-8?q?fix=20=E4=BF=AE=E5=A4=8DlevelKey=E4=B8=8D?=
=?UTF-8?q?=E5=AD=98=E5=9C=A8=E6=97=B6=E6=98=BE=E7=A4=BAlevel1=E7=9A=84?=
=?UTF-8?q?=E9=A2=98=E7=9B=AEbug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/levels/index.ts | 3 ++-
src/levels/level.d.ts | 3 ++-
src/levels/noLevel.ts | 11 +++++++++++
3 files changed, 15 insertions(+), 2 deletions(-)
create mode 100644 src/levels/noLevel.ts
diff --git a/src/levels/index.ts b/src/levels/index.ts
index 0f90168..c8c54c9 100644
--- a/src/levels/index.ts
+++ b/src/levels/index.ts
@@ -1,5 +1,6 @@
import mainLevels from "./mainLevels";
import customLevels from "./customLevels";
+import noLevel from "./noLevel";
/**
* 全部关卡
@@ -14,7 +15,7 @@ export const getLevelByKey = (levelKey: string) => {
return (
allLevels.find((level) => {
return level.key === levelKey;
- }) || allLevels[0]
+ }) || noLevel
);
};
diff --git a/src/levels/level.d.ts b/src/levels/level.d.ts
index 879f8bd..0bbccad 100644
--- a/src/levels/level.d.ts
+++ b/src/levels/level.d.ts
@@ -17,5 +17,6 @@ interface LevelType {
// 答案 SQL
answer: string;
// 类型(主线或自定义)
- type: "main" | "custom";
+ // nolevel 无关卡404页面
+ type: "main" | "custom" | "nolevel";
}
diff --git a/src/levels/noLevel.ts b/src/levels/noLevel.ts
new file mode 100644
index 0000000..b6d936a
--- /dev/null
+++ b/src/levels/noLevel.ts
@@ -0,0 +1,11 @@
+export default {
+ key: "nolevel",
+ title: "404,没有找到当前关卡",
+ initSQL: "",
+ content:
+ "# 404,没有找到当前关卡\n抱歉,没有找到当前关卡,请您去`关卡`页面看看吧!",
+ defaultSQL: "",
+ answer: "",
+ hint: "无此关卡",
+ type: "nolevel",
+} as LevelType;
From c4afca9b5a393585b6aa56f639354afb645b8019 Mon Sep 17 00:00:00 2001
From: htfc786 <2721672639@qq.com>
Date: Thu, 24 Aug 2023 21:46:06 +0800
Subject: [PATCH 2/2] =?UTF-8?q?add=20404=E9=A1=B5=E9=9D=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/configs/routes.ts | 5 +++++
src/levels/index.ts | 3 +--
src/levels/level.d.ts | 3 +--
src/levels/noLevel.ts | 11 -----------
src/pages/404Page.vue | 27 +++++++++++++++++++++++++++
src/pages/IndexPage.vue | 13 ++++++++++++-
6 files changed, 46 insertions(+), 16 deletions(-)
delete mode 100644 src/levels/noLevel.ts
create mode 100644 src/pages/404Page.vue
diff --git a/src/configs/routes.ts b/src/configs/routes.ts
index f6e04f5..cf5d56e 100644
--- a/src/configs/routes.ts
+++ b/src/configs/routes.ts
@@ -2,6 +2,7 @@ import { RouteRecordRaw } from "vue-router";
import IndexPage from "../pages/IndexPage.vue";
import LevelsPage from "../pages/LevelsPage.vue";
import PlaygroundPage from "../pages/PlaygroundPage.vue";
+import Page404 from "../pages/404Page.vue";
/**
* 路由列表
@@ -26,4 +27,8 @@ export default [
path: "/playground",
component: PlaygroundPage,
},
+ {
+ path: "/404",
+ component: Page404,
+ },
] as RouteRecordRaw[];
diff --git a/src/levels/index.ts b/src/levels/index.ts
index c8c54c9..e1f8af1 100644
--- a/src/levels/index.ts
+++ b/src/levels/index.ts
@@ -1,6 +1,5 @@
import mainLevels from "./mainLevels";
import customLevels from "./customLevels";
-import noLevel from "./noLevel";
/**
* 全部关卡
@@ -15,7 +14,7 @@ export const getLevelByKey = (levelKey: string) => {
return (
allLevels.find((level) => {
return level.key === levelKey;
- }) || noLevel
+ }) || null
);
};
diff --git a/src/levels/level.d.ts b/src/levels/level.d.ts
index 0bbccad..879f8bd 100644
--- a/src/levels/level.d.ts
+++ b/src/levels/level.d.ts
@@ -17,6 +17,5 @@ interface LevelType {
// 答案 SQL
answer: string;
// 类型(主线或自定义)
- // nolevel 无关卡404页面
- type: "main" | "custom" | "nolevel";
+ type: "main" | "custom";
}
diff --git a/src/levels/noLevel.ts b/src/levels/noLevel.ts
deleted file mode 100644
index b6d936a..0000000
--- a/src/levels/noLevel.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-export default {
- key: "nolevel",
- title: "404,没有找到当前关卡",
- initSQL: "",
- content:
- "# 404,没有找到当前关卡\n抱歉,没有找到当前关卡,请您去`关卡`页面看看吧!",
- defaultSQL: "",
- answer: "",
- hint: "无此关卡",
- type: "nolevel",
-} as LevelType;
diff --git a/src/pages/404Page.vue b/src/pages/404Page.vue
new file mode 100644
index 0000000..dbc6776
--- /dev/null
+++ b/src/pages/404Page.vue
@@ -0,0 +1,27 @@
+
+
+
+ 返回首页
+
+
+
+
+
+
+
diff --git a/src/pages/IndexPage.vue b/src/pages/IndexPage.vue
index f764614..e8eb385 100644
--- a/src/pages/IndexPage.vue
+++ b/src/pages/IndexPage.vue
@@ -54,15 +54,26 @@ import { QueryExecResult } from "sql.js";
import { allLevels, getLevelByKey } from "../levels";
import { checkResult } from "../core/result";
import CodeEditor from "../components/CodeEditor.vue";
+import { useRouter } from "vue-router";
interface IndexPageProps {
levelKey?: string;
}
+const router = useRouter();
+
const props = defineProps();
const level = computed(() => {
if (props.levelKey) {
- return getLevelByKey(props.levelKey);
+ const level = getLevelByKey(props.levelKey);
+ if (level) {
+ return level;
+ }
+ // 跳转到404页面
+ router.push({
+ path: "/404",
+ });
+ return allLevels[0]; // 防止报错
}
return allLevels[0];
});