更新获取热搜条目
This commit is contained in:
parent
853916895d
commit
16f4fe82cd
89
package-lock.json
generated
89
package-lock.json
generated
@ -15,6 +15,7 @@
|
|||||||
"typeorm": "0.3.17"
|
"typeorm": "0.3.17"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@types/express": "^4.17.17",
|
||||||
"@types/node": "^16.11.10",
|
"@types/node": "^16.11.10",
|
||||||
"ts-node": "10.7.0",
|
"ts-node": "10.7.0",
|
||||||
"typescript": "4.5.2"
|
"typescript": "4.5.2"
|
||||||
@ -81,12 +82,100 @@
|
|||||||
"integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==",
|
"integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==",
|
||||||
"devOptional": true
|
"devOptional": true
|
||||||
},
|
},
|
||||||
|
"node_modules/@types/body-parser": {
|
||||||
|
"version": "1.19.2",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@types/body-parser/-/body-parser-1.19.2.tgz",
|
||||||
|
"integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@types/connect": "*",
|
||||||
|
"@types/node": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@types/connect": {
|
||||||
|
"version": "3.4.35",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@types/connect/-/connect-3.4.35.tgz",
|
||||||
|
"integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@types/node": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@types/express": {
|
||||||
|
"version": "4.17.17",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@types/express/-/express-4.17.17.tgz",
|
||||||
|
"integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@types/body-parser": "*",
|
||||||
|
"@types/express-serve-static-core": "^4.17.33",
|
||||||
|
"@types/qs": "*",
|
||||||
|
"@types/serve-static": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@types/express-serve-static-core": {
|
||||||
|
"version": "4.17.36",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.36.tgz",
|
||||||
|
"integrity": "sha512-zbivROJ0ZqLAtMzgzIUC4oNqDG9iF0lSsAqpOD9kbs5xcIM3dTiyuHvBc7R8MtWBp3AAWGaovJa+wzWPjLYW7Q==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@types/node": "*",
|
||||||
|
"@types/qs": "*",
|
||||||
|
"@types/range-parser": "*",
|
||||||
|
"@types/send": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@types/http-errors": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@types/http-errors/-/http-errors-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/@types/mime": {
|
||||||
|
"version": "1.3.2",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@types/mime/-/mime-1.3.2.tgz",
|
||||||
|
"integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"node_modules/@types/node": {
|
"node_modules/@types/node": {
|
||||||
"version": "16.18.46",
|
"version": "16.18.46",
|
||||||
"resolved": "https://registry.npmmirror.com/@types/node/-/node-16.18.46.tgz",
|
"resolved": "https://registry.npmmirror.com/@types/node/-/node-16.18.46.tgz",
|
||||||
"integrity": "sha512-Mnq3O9Xz52exs3mlxMcQuA7/9VFe/dXcrgAyfjLkABIqxXKOgBRjyazTxUbjsxDa4BP7hhPliyjVTP9RDP14xg==",
|
"integrity": "sha512-Mnq3O9Xz52exs3mlxMcQuA7/9VFe/dXcrgAyfjLkABIqxXKOgBRjyazTxUbjsxDa4BP7hhPliyjVTP9RDP14xg==",
|
||||||
"devOptional": true
|
"devOptional": true
|
||||||
},
|
},
|
||||||
|
"node_modules/@types/qs": {
|
||||||
|
"version": "6.9.8",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@types/qs/-/qs-6.9.8.tgz",
|
||||||
|
"integrity": "sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/@types/range-parser": {
|
||||||
|
"version": "1.2.4",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@types/range-parser/-/range-parser-1.2.4.tgz",
|
||||||
|
"integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/@types/send": {
|
||||||
|
"version": "0.17.1",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@types/send/-/send-0.17.1.tgz",
|
||||||
|
"integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@types/mime": "^1",
|
||||||
|
"@types/node": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@types/serve-static": {
|
||||||
|
"version": "1.15.2",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@types/serve-static/-/serve-static-1.15.2.tgz",
|
||||||
|
"integrity": "sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@types/http-errors": "*",
|
||||||
|
"@types/mime": "*",
|
||||||
|
"@types/node": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/accepts": {
|
"node_modules/accepts": {
|
||||||
"version": "1.3.8",
|
"version": "1.3.8",
|
||||||
"resolved": "https://registry.npmmirror.com/accepts/-/accepts-1.3.8.tgz",
|
"resolved": "https://registry.npmmirror.com/accepts/-/accepts-1.3.8.tgz",
|
||||||
|
13
package.json
13
package.json
@ -4,20 +4,21 @@
|
|||||||
"description": "Awesome project developed with TypeORM.",
|
"description": "Awesome project developed with TypeORM.",
|
||||||
"type": "commonjs",
|
"type": "commonjs",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"ts-node": "10.7.0",
|
"@types/express": "^4.17.17",
|
||||||
"@types/node": "^16.11.10",
|
"@types/node": "^16.11.10",
|
||||||
|
"ts-node": "10.7.0",
|
||||||
"typescript": "4.5.2"
|
"typescript": "4.5.2"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"typeorm": "0.3.17",
|
"body-parser": "^1.19.1",
|
||||||
"reflect-metadata": "^0.1.13",
|
|
||||||
"mysql": "^2.14.1",
|
|
||||||
"express": "^4.17.2",
|
"express": "^4.17.2",
|
||||||
"body-parser": "^1.19.1"
|
"mysql": "^2.14.1",
|
||||||
|
"reflect-metadata": "^0.1.13",
|
||||||
|
"typeorm": "0.3.17"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "ts-node src/index.ts",
|
"start": "ts-node src/index.ts",
|
||||||
"typeorm": "typeorm-ts-node-commonjs",
|
"typeorm": "typeorm-ts-node-commonjs",
|
||||||
"serve": "npm i && npx tsc && node ./build/index.js"
|
"serve": "npm i && npx tsc && node ./build/index.js"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,12 +7,19 @@ export class HotTopController{
|
|||||||
async all(request: Request, response: Response, next: NextFunction){
|
async all(request: Request, response: Response, next: NextFunction){
|
||||||
const nowDate = new Date()
|
const nowDate = new Date()
|
||||||
const yestDay = new Date()
|
const yestDay = new Date()
|
||||||
yestDay.setHours(nowDate.getHours()-3)
|
|
||||||
// console.log(nowDate.toLocaleString())
|
let hours = 1
|
||||||
let num:number
|
let rawHours = parseInt(request.query.hours as unknown as string)
|
||||||
if(request.params.num) num = parseInt(request.params.num)
|
if(request.query.hours && !isNaN(rawHours) && rawHours <=24 && rawHours > 0)
|
||||||
// console.log(id)
|
hours = parseInt(request.query.hours as unknown as string)
|
||||||
if(isNaN(num) || num>50) num = 15
|
|
||||||
|
yestDay.setHours(nowDate.getHours() - hours)
|
||||||
|
// console.log(yestDay.toLocaleString())
|
||||||
|
let limit:number
|
||||||
|
if(request.query.limit) limit = parseInt(request.query.limit as unknown as string)
|
||||||
|
if(isNaN(limit) || limit>50 || limit<1) limit = 10
|
||||||
|
|
||||||
|
// console.log(limit,hours)
|
||||||
// return "OK"
|
// return "OK"
|
||||||
return this.TimesRepository
|
return this.TimesRepository
|
||||||
.createQueryBuilder("time")
|
.createQueryBuilder("time")
|
||||||
@ -24,7 +31,7 @@ export class HotTopController{
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
.addOrderBy('time.times',"DESC")
|
.addOrderBy('time.times',"DESC")
|
||||||
.limit(num)
|
.limit(limit)
|
||||||
.getMany()
|
.getMany()
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -5,7 +5,7 @@ import { HotTopController } from "./controller/HotTopController";
|
|||||||
export const Routes = [
|
export const Routes = [
|
||||||
{
|
{
|
||||||
method: "get",
|
method: "get",
|
||||||
route: "/hot/top/:num",
|
route: "/hot/top/all",
|
||||||
controller: HotTopController,
|
controller: HotTopController,
|
||||||
action: "all"
|
action: "all"
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user