Сайт объявлений о работе: Маршрут к странице объявления

Оглавление

Sokhavuth TIN ・ Aug 11 ・ 2 min read

GitHub: https://github.com/Sokhavuth/opine-job
Deno Deploy: https://khmerweb-job.deno.dev/users/post

Мы можем создать маршрут к странице поста в приборной панели как подмаршрут предопределенного основного маршрута «/users». Таким образом, мы можем подключить этот подмаршрут к маршруту «/users» как «/users/post». Следуя шаблону MVC, мы можем создать маршрут «/users/post», который будет связан с методами в папках контроллеров, представлений и моделей, чтобы отобразить страницу поста на приборной панели.

Более того, поскольку маршрут «/users/post» ведет на запрещенную страницу, и только зарегистрированные пользователи могут попасть в эту область, нам нужно использовать сессию приложения, чтобы проверить, аутентифицирован ли пользователь, пытающийся попасть в приборную панель, или нет. Если они аутентифицированы, их пользовательские данные могут быть зарегистрированы в базе данных Redis.

// routes/users.ts

import { Router } from "../deps.ts";
const router = Router();


import login from "./users/login.js";
router.use("/", login);

import post from "./users/post.js";
router.use("/post", post);


export default router;
Вход в полноэкранный режим Выход из полноэкранного режима
// routes/users/post.js

import { Router } from "../../deps.ts";
const router = new Router();

import post from "../../controllers/users/post.js"

router.get("/", async (req, res) => {
    if(await req.mysession.get("user")){
        post.getPage(req, res);
    }else{ 
        res.redirect("/users");
    }
});


export default router;
Вход в полноэкранный режим Выход из полноэкранного режима
// controllers/users/post.js


class Post{
    async getPage(req, res){
        const config = req.mysetting();
        config.page_title = "Post Page";
        config.route = "/users/post";

        const html = "Post page";
        res.send(html);
    }
}


export default new Post();
Войти в полноэкранный режим Выход из полноэкранного режима

Оцените статью
devanswers.ru
Добавить комментарий