diff --git a/src/router/index.js b/src/router/index.js index 1db9cd8..f681916 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -1,6 +1,7 @@ import { createRouter, createWebHistory } from 'vue-router' import EditNote from "@/views/EditNote.vue"; import ViewNote from "@/views/ViewNote.vue"; +import ViewMdNote from "@/views/ViewMdNote.vue"; import ErrorRoute from "@/views/ErrorRoute.vue"; import ErrorNote from "@/views/ErrorNote.vue"; import { getNoteMeta } from "@/api/note"; @@ -32,18 +33,25 @@ function getNoteView() { let key = path.substring(1, path.length); - keyMeta = storage.local.getObject(key+".keyMeta"); + let isMd = path.endsWith(".md"); + + if (isMd) { + key = path.substring(1, path.length - 3); + } + + keyMeta = storage.local.getObject(key + ".keyMeta"); if (keyMeta && keyMeta.key) { key = keyMeta.key; } let regKey = /^[abcdefhikmnopqstuvwxyz23456789]{16}$/; + if (!regKey.test(key)) { errorMeta = 100002; return ErrorNote; } - if (keyMeta && keyMeta.key) { + if (keyMeta && keyMeta.key && !isMd) { //firstEdit return EditNote; } @@ -65,7 +73,11 @@ function getNoteView() { //validated state if (1 == noteMeta.state) { - return ViewNote; + if(isMd){ + return ViewMdNote; + }else{ + return ViewNote; + } } //deleted @@ -113,6 +125,12 @@ const routes = [ component: getNoteView(), meta: { keyMeta: getKeyMetaParam(), noteMeta: getNoteMetaParam(), errorMeta: getErrorMetaParam() }, }, + { + path: "/:name([a-z0-9]{10,20}).md", + name: "md", + component: getNoteView(), + meta: { keyMeta: getKeyMetaParam(), noteMeta: getNoteMetaParam(), errorMeta: getErrorMetaParam() }, + }, { path: "/:path(.*)", component: ErrorRoute } ]; diff --git a/src/views/ViewMdNote.vue b/src/views/ViewMdNote.vue new file mode 100644 index 0000000..5402ebc --- /dev/null +++ b/src/views/ViewMdNote.vue @@ -0,0 +1,134 @@ + + + + + + + \ No newline at end of file