项目
进击的切图仔
天才是百分之一的灵感加上百分之九十九的汗水
展开
-
博客项目——登录功能实现
客户端(login.art)登录功能实现,表单要添加name属性,这样才能向服务器提交数据<div class="login-body"> <div class="login-container"> <h4 class="title">黑马程序员 - 博客管理员登录</h4> <div class="login"> <form action.原创 2021-04-08 10:08:12 · 402 阅读 · 2 评论 -
博客项目——评论功能实现
构造评论集合创建规则// 引入mongoose模块const mongoose = require('mongoose');// 创建评论集合规则const commentSchema = new mongoose.Schema({ // 文章id 这里schema.types用于定义默认路径,ref是要查询的文档,这里是指要获取article id aid: { type: mongoose.Schema.Types.ObjectId, ref: 'Article' }, .原创 2021-03-16 18:34:15 · 1935 阅读 · 3 评论 -
博客项目——用户文章内容展示
客户端呈现页面(default.art 文章列表)这里我们给两个标签添加链接路径,一个是图片链接,另一个是文章标题链接。通过点击链接链接到。点击链接完成两件事,1.链接到文章内容页面(article),2.传递get请求参数id给服务器对应的article.js路由<!-- 文章列表开始 --> <ul class="list w1100"> {{each articles.records}} <li class="{{$index%2 == 0 ?'f原创 2021-03-16 12:51:42 · 361 阅读 · 0 评论 -
博客项目——用户文章列表展示
服务器端添加路由home路由文件(home.js)这里home是一级路由,index.js(用户文章界面展示),article.js(文章详情)是二级路由//引入express服务器const express = require('express');//创建路由对象const home = express.Router();//文章列表封面home.get('/', require('./home/index'));//文章详情封面home.get('/article', requir原创 2021-03-16 09:14:50 · 397 阅读 · 0 评论 -
博客项目——文章管理页面分页
服务器端代码(article.js)通过引入mongoose-sex-page的方式处理文章页面分页下面是引入方式和获得的方法返回数据。//将用户集合构造模板导入const { Article } = require('../../model/article');//导入数据库分页第三方模块const pagination = require('mongoose-sex-page');module.exports =async (req, res) => { //给服务器一个原创 2021-03-15 12:49:48 · 288 阅读 · 0 评论 -
博客项目——用户文章内容提交
创建文章集合规则(model文件夹下的article.js)这里required(这里接收了一个数组) ture表示为必填字段,第二个为错误信息。(这是数据再插入数据库之前数据库对数据的一个判断)作者实际是用户集合中的用户,这里通过ref将作者和用户关联(这里作者存的是用户_id)defult是默认值// 1.引入mongoose模块const mongoose = require('mongoose');// 2.创建文章集合规则const articleSchema = new mong原创 2021-03-14 19:14:56 · 176 阅读 · 2 评论 -
博客项目——文章管理页面
添加文章管理和编辑页面路由客户端核心代码(aside.art):为客户端添加链接(注意这里的链接是相对服务器访问地址localhost:3000所以写服务器对应路由即可)currentLink是实现用户点击哪个就让哪个属性选中。其中选中样式的改变:我们通过给选中的标签加active属性如何判断选中与否?通过客户访问服务器端路由给对应路由添加一个变量用于存储值,根据存储值(currentLink)得不同<div class="aside fl"> <ul class="me原创 2021-03-14 16:50:37 · 505 阅读 · 0 评论 -
博客项目——用户删除功能实现
用户端获取删除用户信息(user.art)在用户管理页面添加隐藏表单获取email值(注意:这里我们通过email传递给服务器,从服务器删除用户,表单提交数据以get形式提交给服务器,服务器通过req.query.(对应提交表单的name)来获取对应项的value值)<!-- 删除确认弹出框 --><div class="modal fade confirm-modal"> <div class="modal-dialog modal-lg"> .原创 2021-03-14 15:46:48 · 437 阅读 · 0 评论 -
博客项目——用户信息修改功能
客户端链接到对应服务器路由(user.art)首先在用户展示页面添加链接(以email参数的有无来区分添加页面和修改页面) {{each users}} <tr> <td>{{@$value._id}}</td> <td>{{$value.username}}</td> <td>{原创 2021-03-13 18:07:12 · 580 阅读 · 0 评论 -
博客项目——分页功能实现
服务器路由代码(userPage.js)将page(客户端以get方式传递的当前页数)和total(服务器从数据库获取并计算出的总页数)数据引入模板//引入用户模板const { User } = require('../../model/user');module.exports = async (req, res) => { //获取用户当前页数page ,用户未窜入page默认显示第一页数据 let page = req.query.page || 1; //原创 2021-03-13 15:16:09 · 286 阅读 · 0 评论