1 Star 1 Fork 0

刘武888/web4-admincms

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
app.js 2.79 KB
一键复制 编辑 原始数据 按行查看 历史
刘武888 提交于 2023-02-15 11:47 . 完成新闻的添加,显示,删除
var createError = require("http-errors");
var express = require("express");
var path = require("path");
var logger = require("morgan");
const _ = require("lodash")
var app = express();
// 设置模板的目录
app.set("views", path.join(__dirname, "views"));
// 设置使用art-template作为模板引擎,html后缀的文件为项目的模板
app.engine("html", require("express-art-template"));
app.use(logger("dev"));
// 注册session中间件
const session = require('express-session'); // 在app.js文件中进行配置
app.use(session({
secret: 'kuaijiancms', //密钥,名字可以自己更改
resave: false, // 默认值,不能更改
saveUninitialized: true // 默认值,不能更改
}));
// 注册cookie中间件
const cookieParser = require("cookie-parser");
app.use(cookieParser());
// 接收post数据
app.use(express.json({
limit: '50mb'
}));
app.use(express.urlencoded({
extended: false,
limit: '50mb'
}));
// 托管静态资源的目录
app.use(express.static(path.join(__dirname, "public")));
// 注册全局中间件:用于返回json数据
app.use(function(req, res, next) {
//封装返回数据的函数
res.cc = function(status = 200, msg = "成功", data = []) {
if (data.length > 0) {
res.json({
status,
msg,
data,
});
} else {
res.json({
status,
msg,
});
}
};
// 成功或者失败时的路由跳转
res.jump = function(message, url, time = 2) {
return res.render('message.html', {
message,
url,
time
})
}
// 判断用户是否登录了,如果登录了就放行,如果没有登录,就跳转到登录页面
// 排除掉路由为login的路由,因为login路由没有设置session和cookie
/* if (req.url !== '/login') {
if (!req.session.is_login && !req.cookies.is_login) {
return res.jump('请先登录', '/login')
}
} */
next()
});
// 路由模块
var loginRouter = require("./routes/login");
var indexRouter = require("./routes/index");
var cateRouter = require("./routes/cate");
var newsRouter = require("./routes/news");
app.use(loginRouter);
app.use(indexRouter);
app.use(cateRouter);
app.use(newsRouter);
// 错误中间件
const joi = require('joi')
app.use(function(err, req, res, next) {
// 未知错误,通常表示服务器端的错误
res.status(err.status || 500)
// 数据验证失败
if (err instanceof joi.ValidationError) {
return res.cc(400, err.message)
}
// 接口异常
res.cc(500, err.message)
// 如果需要返回页面错误的页面信息
res.render('error.html', {
error: err.message
});
});
module.exports = app;
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/lau112233/web4-admincms.git
[email protected]:lau112233/web4-admincms.git
lau112233
web4-admincms
web4-admincms
master

搜索帮助