文章分类 -  node实战blog

该文被密码保护。
posted @ 2020-03-30 17:07 剑仙6 阅读(0) 评论(0) 推荐(0) 编辑
摘要:(1)编写路由,获取文章所有评论 (2)接下来当页面加载时,发送ajax请求 刷新页面测试下 控制台和Network返回结果如上所示 (3) . 阅读全文
posted @ 2020-02-17 17:02 剑仙6 阅读(62) 评论(0) 推荐(0) 编辑
摘要:本文介绍下评论功能的实现 (1)首先编写静态模板样式 如下所示 接下来添加判断,如果用户未登录则不显示评论表单,登录后不显示红框提示。分析可知,判断条件和右侧登录框显示一致,修改代码如下 最终效果如下: 1、登录后 2、未登录 接下来做下完善,提交表单时将评论信息添加到数据库,这里便需要用到ajax 阅读全文
posted @ 2020-02-17 11:36 剑仙6 阅读(258) 评论(0) 推荐(0) 编辑
摘要:本文介绍下文章详情页相关 (1)设置a链接跳转地址 (2)添加路由操作 如下所示,先根据文章id获取文章具体内容 在渲染模板之前,还要注意:文章详情的导航处也需要读取文章分类导航,所以这里还需要去数据库文章分类。 与首页类似,所以这里我们封装一个万能中间件来读取文章分类 (3)万能中间件,封装处理处 阅读全文
posted @ 2020-02-17 11:20 剑仙6 阅读(255) 评论(0) 推荐(0) 编辑
摘要:(1)博客分类跳转 查询时加入条件限制where即可 通过get方式传递分类的id,实现联表查询的分类展示 首先需要将分类的id传入,编写如下 效果如下: 此时便可以根据导航进行分类查询了,但还有些问题,即底下的分页是共用的,其他分类无法单独显示自己的分页情况 (2)博客分类的页数限制完善 之前的分 阅读全文
posted @ 2020-02-16 21:34 剑仙6 阅读(104) 评论(0) 推荐(0) 编辑
摘要:接下来将数据库的文章内容展示到前端首页 (1)读取内容,传递给模板 先看下之前的前台路由模块代码 将博客分类传递给前台进行展示,接下来将博客文章列表传递给模板。为了方便维护,我们改用Promise写法 修改遍历模板代码 效果如下所示 (2)分页处理 接下来给前端页面添加分类处理 1、首先编写静态样式 阅读全文
posted @ 2020-02-16 18:10 剑仙6 阅读(84) 评论(0) 推荐(0) 编辑
摘要:接下来开始对博客内容进行扩展,加上阅读量、评论等.. ..,在现有基础上添加即可 (1)设计表结构时,添加几个字段 (2)添加文章时,保存user作者id 因为事件和阅读量是自动生成,所以我们接下来只需要处理作者即可 测试如下 注意:联表查询必须使用自动生成的_id,所以这里需要在cookie里放入 阅读全文
posted @ 2020-02-16 16:23 剑仙6 阅读(82) 评论(0) 推荐(0) 编辑
摘要:(1)联表查询,设置博客对应的分类名 这里用到population方法,具体如下 1、设计博客表结构时在分类处添加索引ref,对应管理分类数据表BlogSort 2、查询时使用populate()方法,里面传入该关联字段对象属性名即可 测试前首先删除篇无用文章 然后输出测试下,服务端输出如下 此时的 阅读全文
posted @ 2020-02-16 14:28 剑仙6 阅读(131) 评论(0) 推荐(0) 编辑
摘要:(1)后台导航添加博客内容管理 (2)内容管理首页路由配置+模板创建渲染 效果如下: (3)添加博客页面路由配置+模板编写渲染 效果如下 (4)编写添加博客页面模板表单 编写静态模板效果如下 接下来将博客分类信息数据传递给模板 1、导入博客分类模型,因为操作数据库都是基于模型 2、查询数据库数据,返 阅读全文
posted @ 2020-02-15 22:27 剑仙6 阅读(100) 评论(0) 推荐(0) 编辑
摘要:(1)分类展示排序 目前为止,后台博客分类的排列顺序还有问题,即之后添加的分类,直接排列到了末尾,不利于编辑和体验。所以接下来对读取显示顺序做下调整 因为MongoDB数据库保存数据时的_id在自动生成时前4个字节是时间戳,所以mongoose有专门语法来排序 sort{_id:}中-1为降序,1为 阅读全文
posted @ 2020-02-15 18:34 剑仙6 阅读(105) 评论(0) 推荐(0) 编辑
摘要:(1)分类渲染 后台博客分类列表的渲染 注意:_id在数据库存储时为字符串对象,MongoDB默认使用_id字段作为主键,类型为ObjectId。ObjectId的生成有一定的,规则取出来后需要通过toString()转为字符串 如果不转换从数据库取出的_id字符类型,则如下所示 会直接按照字符串对 阅读全文
posted @ 2020-02-15 17:27 剑仙6 阅读(134) 评论(0) 推荐(0) 编辑
摘要:本节主要完成博客分类管理功能 (1)添加a链接 (2)路由处理 接下来在服务端的admin模块化路由里,添加博客分类路由 (3)渲染模板并传入数据 效果如下所示 (4)添加分类路由处理+模板展示 效果如下 接下来添加表单操作 如下所示 然后开始添加路由操作,处理提交表单内容 (5)处理表单提交 首先 阅读全文
posted @ 2020-02-15 14:46 剑仙6 阅读(130) 评论(0) 推荐(0) 编辑
摘要:本节介绍下用户列表分页的原理和实现 主要依赖MongoDB的limit和skip方法 (1)先用limit实现分页 语法User,find().limit() 例如想实现每页6条数据,则如下所示 此时结果如下 接下来做下分析 (2)跳跃忽略条数配置 接下来可以修改page当前页,刷新页面,查看数据是 阅读全文
posted @ 2020-02-14 22:07 剑仙6 阅读(191) 评论(0) 推荐(0) 编辑
摘要:需求:点击用户管理时,页面列出当前所有注册用户列表 (1)添加链接地址 (2)设置admin模块路由 (3)编写模板代码 (4)连接数据库,读取用户数据 这里操作数据库要用到用户的数据模型,所以需要引入User,首先输出打印所有用户,测试如下 刷新页面,服务端输出如下 杰西莱将用户信息传递给模板进行 阅读全文
posted @ 2020-02-14 20:50 剑仙6 阅读(68) 评论(0) 推荐(0) 编辑
摘要:前端页面信息栏的展示需要后台发布相关数据到数据库才可以展示,所以接下来开始搭建后台管理界面。 (1)用户身份验证 在进入后台管理界面之前,首先要进行用户身份验证,如下所示 接下来用tony管理员身份下点击按钮,进入后台管理页 此时服务端输出如下 这里可能有人会问,普通用户没有点击链接,为什么要做身份 阅读全文
posted @ 2020-02-14 18:13 剑仙6 阅读(161) 评论(0) 推荐(0) 编辑
摘要:接下来做下普通用户和管理员的区分 (1)设计数据文档结构 接下来先在数据库手动添加一条管理员记录 用户名:tony,密码:123456,isAdmin为true表示管理员 (2)处理管理员验证 注意: 是否是管理员这个信息,最好不要记录在cookie中,因为我们要实时去验证当前用户是否是管理员,不然 阅读全文
posted @ 2020-02-14 17:43 剑仙6 阅读(237) 评论(0) 推荐(0) 编辑
摘要:项目过程里发型一个问题,设置中文cookie无效 ... ... 报错如下 倒腾了半夜也没找到方案,其实是http协议的Header头有字符限制,下图是stackoverflow的解答,http的header字符集支持US-ASCII子集的字符集,故设置中文是'utf8'时就会报上面错误。 这里我将 阅读全文
posted @ 2020-02-14 16:46 剑仙6 阅读(82) 评论(0) 推荐(0) 编辑
摘要:目前为止,已经可以通过AJAX成功登陆,但此时任然存在问题,即刷新页面时,登陆状态消息... ... 刷新页面后,登陆状态消息,此时又会回到登录前状态 原因分析:登陆成功后,并没有相关数据操作去记录登录状态,所以接下来做个操作,登录成功后,将登录状态返回给浏览器客户端。 此时便需要用到一个模块coo 阅读全文
posted @ 2020-02-14 12:12 剑仙6 阅读(310) 评论(0) 推荐(0) 编辑
摘要:本节介绍下登录模块操作 (1)登录框发送ajax请求 这里我们的data可以直接使用序列化表单数据,如下所示 (2)编写模块路由+简单数据验证+返回响应,异步刷新局部页面 首先做下基础数据类型验证,并返回响应到客户端 接下来在客户端做下提示处理 测试如下 (3)数据库数据验证+响应 这里注意:pas 阅读全文
posted @ 2020-02-14 12:10 剑仙6 阅读(91) 评论(0) 推荐(0) 编辑
摘要:接下来链接数据库进行验证,判断用户名是否存在,所以此时需要用到数据库操作 (1)引入之前定义的模型User,引入后通过模型类来操作数据库 该模型返回的是一个构造函数,通过构造函数下的方法来操作数据库 (2)查询数据库是否存在该用户名 参数1为查询条件,后面可以加上回调函数进行监听,但这里我们使用pr 阅读全文
posted @ 2020-02-13 22:11 剑仙6 阅读(91) 评论(0) 推荐(0) 编辑

欢迎访问个人网站www.qingchun.在线
点击右上角即可分享
微信分享提示