用户列表
/routers/admin.js
/**
* 用户管理
*/
router.get('/user',function (req,res) {
/**
* 从数据库读取所有用户数据
*/
User.find().then(function (users) {
res.render('admin/user_index',{
userInfo:req.userInfo,
users:users
});
});
});
/views/admin/user_index.js
{% extends 'layout.html' %}
{% block main %}
<ol class="breadcrumb">
<li><a href="/">管理首页</a></li>
<li><span>用户列表</span></li>
</ol>
<h3>用户列表</h3>
<table class="table table-hover table-striped">
<tr>
<th>ID</th>
<th>用户名</th>
<th>密码</th>
<th>是否管理员</th>
</tr>
{% for user in users %}
<tr>
<td>{{user._id.toString()}}</td>
<td>{{user.username}}</td>
<td>{{user.password}}</td>
<td>
{%if user.isAdmin%}
是
{%endif%}
</td>
</tr>
{% endfor %}
</table>
{% endblock %}
分页展示
/routers/admin.js
router.get('/user',function (req,res) {
/**
* 从数据库读取所有用户数据
* limit(Number):限制获取的数据条数
* skip(Number):忽略数据的条数
* 每页显示两条
* 1:1-2 skip(0)-> 0 =(当前页-1)*limit
* 2:3-4 skip(2)
*/
var page = req.query.page || 1;
var limit = 2;
var skip = (page-1)*limit;
User.find().limit(limit).skip(skip).then(function (users) {
res.render('admin/user_index',{
userInfo:req.userInfo,
users:users,
page:page
});
});
});
分类管理
分类首页
/views/admin/category_index.html
{% extends 'layout.html' %}
{% block main %}
<ol class="breadcrumb">
<li><a href="/">管理首页</a></li>
<li><span>分类列表</span></li>
</ol>
<h3>分类列表</h3>
<table class="table table-hover table-striped">
<tr>
<th>ID</th>
<th>用户名</th>
<th>密码</th>
<th>是否管理员</th>
</tr>
<!--{% for user in users %}
<tr>
<td>{{user._id.toString()}}</td>
<td>{{user.username}}</td>
<td>{{user.password}}</td>
<td>
{%if user.isAdmin%}
是
{%endif%}
</td>
</tr>
{% endfor %}-->
</table>
{%include 'page.html'%}
{% endblock %}
/routers/admin.js
/**
*分类首页
*/
router.get('/category',function (req,res) {
res.render('admin/category_index',{
userInfo:req.userInfo
});
});
添加分类
/views/admin/category_add.html
{% extends 'layout.html' %}
{% block main %}
<ol class="breadcrumb">
<li><a href="/">管理首页</a></li>
<li><span>分类添加</span></li>
</ol>
<h3>分类添加</h3>
<form role="form" method="post">
<div class="form-group">
<label for="name">分类名称:</label>
<input type="text" class="form-control" id="name" placeholder="请输入分类名称" name="name">
</div>
<button type="submit" class="btn btn-default">提交</button>
</form>
{% endblock %}
/routers/admin.js
/**
* 添加分类
*/
router.get('/category/add',function (req,res) {
res.render('admin/category_add',{
userInfo:req.userInfo
});
});
分类保存
/schemas/categories.js
var mongoose = require('mongoose');
//分类数据结构
module.exports = new mongoose.Schema({
//分类名称
name:String
});
/models/Category.js
var mongoose = require('mongoose');
var categoriesSchema = require('../schemas/categories');
module.exports = mongoose.model('Category',categoriesSchema);
/views/admin/error.html
{% extends 'layout.html' %}
{% block main %}
<ol class="breadcrumb">
<li><a href="/">管理首页</a></li>
<li><span>错误提示</span></li>
</ol>
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">错误提示</h3>
</div>
<div class="panel-body">{{message}}</div>
<div class="panel-footer">
{%if url%}
<a href="{{url}}">点击这里跳转</a>
{%else%}
<a href="javascript:window.history.back();">返回上一步</a>
{%endif%}
</div>
</div>
{% endblock %}
/views/admin/success.html
{% extends 'layout.html' %}
{% block main %}
<ol class="breadcrumb">
<li><a href="/">管理首页</a></li>
<li><span>成功提示</span></li>
</ol>
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">成功提示</h3>
</div>
<div class="panel-body">{{message}}</div>
<div class="panel-footer">
{%if url%}
<a href="{{url}}">点击这里跳转</a>
{%else%}
<a href="javascript:window.history.back();">返回上一步</a>
{%endif%}
</div>
</div>
{% endblock %}
/routers/admin.js
var Category = require('../models/Category');
/.../
/**
* 分类保存
*/
router.post('/category/add',function (req,res) {
var name = req.body.name || '';
if(name==''){
res.render('admin/error',{
userInfo:req.userInfo,
message:'名称不能为空'
});
return;
}
//数据库中是否已经存在同名分类
Category.findOne({
name:name
}).then(function (rs) {
if(rs){
//分类已存在
res.render('admin/error',{
userInfo:req.userInfo,
message:'该分类已经存在了'
})
return Promise.reject();
}else {
//分类不存在
return new Category({
name:name
}).save();
}
}).then(function (newCategory) {
res.render('admin/success',{
userInfo:req.userInfo,
message:'分类保存成功',
url:'/admin/category'
});
})
});