关于node.js:多人后台博客管理DAY06

43次阅读

共计 2030 个字符,预计需要花费 6 分钟才能阅读完成。

(六) 我的项目性能的实现之用户信息删除

BLOG -- 源码目录
  └── model -- 数据库操作
   ├──  public -- 动态资源
   └──  route -- 路由
        └──  admin -- 博客治理              
               └── user-delete.js -- 用户分页性能路由
        └── admin.js -- 博客治理页面路由
 └── views -- 模板
      └── admin -- 博客治理页面 art 模板
          └── user.art -- 用户列表页
 └── app.js -- 创立网站服务 

user.art

  • 对删除框增加暗藏域,type=hidden,为暗藏域也增加 id
  • 找到删除按钮并增加 Id, 为删除标签增加类名,并增加点击事件,次要通过 jquery 中的来捆绑 id 增加点击事件
  • 将要删除的 id 值增加到暗藏域中
  • 为表单增加提交地址 action 到 delete
{{extend './common/layout.art'}}

{{block 'main'}}
    <!-- 子模板的相对路径绝对的就是以后文件 因为它是由模板引擎解析的 而不是浏览器 -->
    {{include './common/header.art'}}
    <!-- 主体内容 -->
    <div class="content">
        {{include './common/aside.art'}}
        <div class="main">
            <!-- 分类题目 -->
     ···
            <!-- / 分类题目 -->
            <!-- 内容列表 -->
            <table class="table table-striped table-bordered table-hover custom-table">
       ···
                            <a href="/admin/user-edit?id={{@$value._id}}" class="glyphicon glyphicon-edit"></a>
                            <i class="glyphicon glyphicon-remove delete" data-toggle="modal" data-target=".confirm-modal" data-id="{{@$value._id}}"></i>
                        </td>
                    </tr>
                    {{/each}}
                </tbody>
            </table>
            <!-- / 内容列表 -->
            <!-- 分页 -->
        ···
            <!-- / 分页 -->
        </div>
    </div>
    <!-- / 主体内容 -->
    <!-- 删除确认弹出框 -->
    <div class="modal fade confirm-modal">
        <div class="modal-dialog modal-lg">
            <form class="modal-content" action="/admin/delete" method="get">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal"><span>&times;</span></button>
                    <h4 class="modal-title"> 请确认 </h4>
                </div>
                <div class="modal-body">
                    <p> 您确定要删除这个用户吗?</p>
                    <input type="hidden" name="id" id="deleteUserId">
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-default" data-dismiss="modal"> 勾销 </button>
                    <input type="submit" class="btn btn-primary">
                </div>
            </form>
        </div>
    </div>
{{/block}}

{{block 'script'}}
    <script type="text/javascript">
        $('.delete').on('click', function () {
            // 获取用户 id
            var id = $(this).attr('data-id');
            // 将要删除的用户 id 存储在暗藏域中
            $('#deleteUserId').val(id);
        })
    </script>
{{/block}}

user-delete.js

  • 获取要删除的用户的 Id
  • 增加用户联合函数
  • 依据 findOneAndDelete 办法来进行用户删除
  • 用户删除胜利后重定向回用户列表页面

    const {User} = require('../../model/user');
    
    module.exports = async (req, res) => {
      // 获取要删除的用户 id
      // res.send(req.query.id)
      // 依据 id 删除用户
      await User.findOneAndDelete({_id: req.query.id});
      // 将页面重定向到用户列表页面
      res.redirect('/admin/user');
    }

    admin.js

    // 用户删除性能路由
    admin.get('/delete', require('./admin/user-delete'));

正文完
 0