From 1ebd5aa4aa8def428de0830fe0bbed3e4d27c9d9 Mon Sep 17 00:00:00 2001 From: juzeon <812312770@qq.com> Date: Sun, 25 Jul 2021 20:49:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=97=E5=87=BA=E6=9C=80=E8=BF=91posts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/models/post-model.ts | 1 + src/routers/post-router.ts | 11 +++++++++-- src/services/post-service.ts | 5 +++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/models/post-model.ts b/src/models/post-model.ts index 314d89a..5e0b5b8 100644 --- a/src/models/post-model.ts +++ b/src/models/post-model.ts @@ -29,4 +29,5 @@ export class PostModel { async setStatusByPostId(id: number, status: TPostStatus) { console.log(await db.query('update posts set status=? where id=?', [status, id])) } + } diff --git a/src/routers/post-router.ts b/src/routers/post-router.ts index 4bad711..66c16a1 100644 --- a/src/routers/post-router.ts +++ b/src/routers/post-router.ts @@ -2,7 +2,7 @@ import 'reflect-metadata' import {Container} from "typedi" import {PostService} from "../services/post-service" import express from "express" -import {body} from "express-validator" +import {body, query} from "express-validator" import * as Validator from "validator" import {hasValidationErrors} from "../includes" import {JWTUserPayload} from "../types" @@ -16,7 +16,14 @@ postRouter.post('/submit', body('image').isURL({host_whitelist: [/.*\.360buyimg\.com/]}).withMessage('仅支援*.360buyimg.com下的图片'), async (req: express.Request, res: express.Response) => { if (hasValidationErrors(req, res)) return - res.json(await postService.submit(req.user as JWTUserPayload,req.body.content, req.body.image)) + res.json(await postService.submit(req.user as JWTUserPayload, req.body.content, req.body.image)) + } +) +postRouter.get('/listPublished', + query('page').default(1).isInt({min: 1}).withMessage('页码必须>=1'), + async (req: express.Request, res: express.Response) => { + if (hasValidationErrors(req, res)) return + res.json(await postService.listPublished(req.query.page as any as number)) } ) diff --git a/src/services/post-service.ts b/src/services/post-service.ts index fed6019..9ec56fb 100644 --- a/src/services/post-service.ts +++ b/src/services/post-service.ts @@ -19,4 +19,9 @@ export class PostService { }) return resultJson.success(packet.insertId) } + + async listPublished(page: number) { + let posts = await this.postModel.findPostsByStatus(2, page) + return resultJson.success(posts) + } }