1549469775 3 years ago
parent
commit
506f4dea15
  1. 2
      package.json
  2. 25
      pnpm-lock.yaml
  3. 21
      source/route/views/index/index.ts

2
package.json

@ -24,6 +24,7 @@
"@types/hapi__vision": "^5.5.3",
"@types/hapi__yar": "^10.1.1",
"bcrypt": "^5.0.1",
"fs-extra": "^10.1.0",
"hapi-auth-jwt2": "^10.2.0",
"hapi-sequelizejs": "^4.5.0",
"hapi-swagger": "^14.2.0",
@ -39,6 +40,7 @@
"devDependencies": {
"@hapi/vision": "^6.1.0",
"@noderun/hapi-router": "link:packages\\hapi-router",
"@types/fs-extra": "^9.0.13",
"@types/hapi__cookie": "^10.1.4",
"@types/hapi__crumb": "^7.3.3",
"@types/node": "^17.0.21",

25
pnpm-lock.yaml

@ -9,6 +9,7 @@ specifiers:
'@hapi/vision': ^6.1.0
'@hapi/yar': ^10.1.1
'@noderun/hapi-router': link:packages\hapi-router
'@types/fs-extra': ^9.0.13
'@types/hapi__cookie': ^10.1.4
'@types/hapi__crumb': ^7.3.3
'@types/hapi__hapi': ^20.0.10
@ -20,6 +21,7 @@ specifiers:
ejs: ^3.1.6
fast-glob: ^3.2.11
file-type: ^16.5.0
fs-extra: ^10.1.0
hapi-auth-jwt2: ^10.2.0
hapi-sequelizejs: ^4.5.0
hapi-swagger: ^14.2.0
@ -48,6 +50,7 @@ dependencies:
'@types/hapi__vision': 5.5.3
'@types/hapi__yar': 10.1.1
bcrypt: 5.0.1
fs-extra: 10.1.0
hapi-auth-jwt2: 10.2.0
hapi-sequelizejs: 4.5.0_qvf7o3m36i74qppgjxp4amnmp4
hapi-swagger: 14.2.0_7vfmy7cdcj4whrdhceanslo3uq
@ -63,6 +66,7 @@ dependencies:
devDependencies:
'@hapi/vision': 6.1.0
'@noderun/hapi-router': link:packages/hapi-router
'@types/fs-extra': 9.0.13
'@types/hapi__cookie': 10.1.4
'@types/hapi__crumb': 7.3.3
'@types/node': 17.0.21
@ -453,6 +457,12 @@ packages:
resolution: {integrity: sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==}
dev: true
/@types/fs-extra/9.0.13:
resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==}
dependencies:
'@types/node': 17.0.21
dev: true
/@types/hapi__catbox/10.2.4:
resolution: {integrity: sha512-A6ivRrXD5glmnJna1UAGw87QNZRp/vdFO9U4GS+WhOMWzHnw+oTGkMvg0g6y1930CbeheGOCm7A1qHsqH7AXqg==}
@ -1347,14 +1357,13 @@ packages:
resolution: {integrity: sha512-varLbTj0e0yVyRpqQhuWV+8hlePAgaoFRhNFj50BNjEIrw1/DphHSObtqwskVCPWNgzwPoQrZAbfa/SBiicNeg==}
dev: false
/fs-extra/10.0.1:
resolution: {integrity: sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/fs-extra/-/fs-extra-10.0.1.tgz}
/fs-extra/10.1.0:
resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==}
engines: {node: '>=12'}
dependencies:
graceful-fs: 4.2.6
jsonfile: 6.1.0
universalify: 2.0.0
dev: true
/fs-minipass/1.2.7:
resolution: {integrity: sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==}
@ -1483,7 +1492,7 @@ packages:
dev: false
/graceful-fs/4.2.6:
resolution: {integrity: sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/graceful-fs/-/graceful-fs-4.2.6.tgz}
resolution: {integrity: sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==}
/handlebars/4.7.7:
resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/handlebars/-/handlebars-4.7.7.tgz}
@ -1998,12 +2007,11 @@ packages:
dev: true
/jsonfile/6.1.0:
resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/jsonfile/-/jsonfile-6.1.0.tgz}
resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
dependencies:
universalify: 2.0.0
optionalDependencies:
graceful-fs: 4.2.6
dev: true
/jsonwebtoken/8.5.1:
resolution: {integrity: sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==}
@ -3115,7 +3123,7 @@ packages:
dependencies:
date-format: 4.0.3
debug: 4.3.3
fs-extra: 10.0.1
fs-extra: 10.1.0
transitivePeerDependencies:
- supports-color
dev: true
@ -3525,9 +3533,8 @@ packages:
dev: false
/universalify/2.0.0:
resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/universalify/-/universalify-2.0.0.tgz}
resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==}
engines: {node: '>= 10.0.0'}
dev: true
/update-notifier/4.1.3:
resolution: {integrity: sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A==}

21
source/route/views/index/index.ts

@ -11,6 +11,7 @@ import Joi from "joi";
import * as bcrypt from "bcrypt";
import glob from "fast-glob";
import path from "path";
import fs from "fs-extra";
import { baseDir } from "@/util";
export default class Index {
@ -19,7 +20,7 @@ export default class Index {
}
@auth("try")
async index(request: Req, h: Res): ReturnValue {
async index(request: Req, h: Res): ReturnValue {
if (request.auth.isAuthenticated) {
// 登录了
} else {
@ -56,9 +57,13 @@ export default class Index {
// console.log(error);
// }
if (req.path.endsWith(".md")) {
console.log(path.resolve(baseDir, "docs/"+"**/*.md"));
console.log(await glob(path.resolve(baseDir, "docs/"+"**/*.md")));
if (req.params && req.params.path.endsWith(".md")) {
// console.log(path.resolve(baseDir, "docs/"+"*.md"));
// console.log(await glob("docs/"+"*.md"));
const mdPath = path.resolve(baseDir, "docs/"+req.params.path)
if(fs.existsSync(mdPath)){
console.log("哈哈");
}
// 解析文档
return h.view("views/css.pug");
}
@ -67,7 +72,9 @@ export default class Index {
}
@route("/{path*}")
async any(req: Req, h: Res): ReturnValue {
return h.redirect("/404");
console.log(req.raw.req.url);
return h.redirect("/404?r="+encodeURIComponent(req.raw.req.url));
}
@route("/404")
@auth("try")
@ -77,7 +84,9 @@ export default class Index {
} else {
// 未登录
}
// 404页面
if(request.query?.r){
// 可重定向返回
}
return h.view("404.pug");
}
}

Loading…
Cancel
Save