多人博客管理系统(完整代码和解析请下载资源)

案例初始化准备

在这里插入图片描述
在这里插入图片描述
npm init -y生成package.json文件。
在这里插入图片描述
node.js安装node modules
node_modules是安装node后用来存放用包管理工具下载安装的包的文件夹。比如webpack、gulp、grunt这些工具。在node.js中模块与文件是一一对应的,也就是说一个node.js文件就是一个模块。

模板中外链的相对路径,相对的是地址栏中的请求路径的。请求路径可能会变来变去,不安全,模板文件中用绝对路径改成相对路径,用 / 即可
解决方式是,把相对路径改成绝对路径

**{{include ‘./common/header.art’}}**调用模板可以用相对路径,因为是模板引擎解析的,上部分讲的外链必须用绝对路径,是因为是浏览器解析的。

项目功能实现

  1. 登陆
    在这里插入图片描述
    在这里插入图片描述
    要获取post从客户端请求的参数用第三方模块,body-parser。

{{extend ‘./common/layout.art’}}
art-template可以方便服务器展示页面给客户端的东西
属于子模版
D

新增用户功能分析

在这里插入图片描述
Joi
JavaScript对象的规则描述语言和验证器。
在这里插入图片描述
在这里插入图片描述
SyntaxError: Unexpected identifer错误
在这里插入图片描述

//1  引入joi模块
const Joi = require('joi');

//2  定义对象的验证规则
const schema = {
	//required方法的作用为是对响应的属性变成必填项
	username: Joi.string().min(2).max(5).required().error(new Error('username属性没有通过验证')),
	birth: Joi.number().min(1900).max(2020).error(new Error('birth没有通过验证'))
};



async function run () {
	//异步函数抛出异常的方法为try catch
	try {
	//3  实施验证 这个方法返回的是一个promiss对象
	await Joi.validate({username: 'ad', birth: 1800}, schema);
	} catch (ex) {
		console.log(ex.message);
		return;
	}
	console.log('验证通过');
	
}
run();

原文输出

在模板引擎中,如果要使用原文输出,只需在模板中数据的前面加上 @ 符号即可

<td>{{@$value._id}}</td>

数据分页

当数据库中的世俗据非常多时,数据需要分批次显示,这时就需要用到数据分页功能。

分页功能核心要素:
在这里插入图片描述
总页数:Math.ceil(总数据条数/每页显示数据条数)

分页功能用到的两个查询方法:
在这里插入图片描述
数据开始的位置=(当前页-1)*每页显示的数据条数

注意:分页操作下一页报错,因为减号会自动将page转换为数值,所以改成以下语法:

用户信息修改

在这里插入图片描述

用户信息删除

在这里插入图片描述
bodyPaser只能接收普通表单传递过来的参数,表单里面的上传文件需要转换成二进制,bodyPaser不能接收二进制参数。
这时需要用到formidable

formidable第三方模板

在这里插入图片描述

文件读取 FileReader

在这里插入图片描述
javascript中异步方法不能通过返回值的方式获取结果,需要监听事件

数据分页mongoose-sex-page

在这里插入图片描述
在这里插入图片描述

文章评论

在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
★国人的骄傲★国产大型开源多用户博客系统 关于 X3-BLOG X3BLOG: 国内效率最快的AJAX多用户博客系统 国内搜索引擎最强大的多用户博客系统 国内唯一支持所有浏览器的多用户博客系统 国内唯一应用AJAX+XML+XSL三种技术于一体的博客系统 X3-BLOG 是基于XML+XSLT+AJAX技术构建的开源多用户博客门户系统,服务器端采用当前最流行的动态网页开发语 言之一ASP.NET(C#) 2.0编写,支持多种数据库,包括SQLSERVER2000\SQLSERVER2005\ORACLE\MYSQL\DB2等,默认使用 SQLSERVER2000。 X3-BLOG 遵从 GENERAL PUBLIC LICENSE(GPL) 开源协议,这意味着可以修改程序的一个或几个副本或程式的任何 部分,以此形成基於这些程式的衍生作品。必须在修改过的档案中附有明显的说明:您修改了此一档案及任何修改的 日期。 您必须让您发布或出版的作品,包括本程式的全部或一部分,或内含本程式的全部或部分所衍生的作品,允许 第三方在此许可证条款下使用,并且不得因为此项授权行为而收费。 功能与特点 X3-BLOG完美的利用了浏览器的XML解析技术,完全实现数据和界面的分离,使网络传输数据量大大减少,加载速 度远远超过了市面上所有的BLOG产品,有效的减轻了服务器的带宽压力,服务器端使用四大动态网站开发语言中速度 最快的ASP.NET(C#)编写,屏弃了传统的控件开发方式,所有执行过程采用单向流的生成方式,使其对服务器CPU及内 存资源的占用降至最低水平,并通过gzip压缩进一步缩减服务器的网络带宽消耗,提高响应速度 。 无Session设计杜绝了用户会话无故丢失的尴尬,客户端关联的会话加密方式带来了用户数据的高安全性,独特的 XSL结构设计,彻底消除了跨站脚本攻击的隐患,杜绝恶意代码的执行,同时保证了文章内容的完整性。 DIV+CSS布局,交互方式采用当前最流行的AJAX技术,所有操所在一个页面完成,并实现了AJAX的最高应用—— AjaxUpload,所有操作一气呵成,带来前所未有的用户体验。 简洁的主题与皮肤开发技术,更合理的模块化设计,大大减轻了后续开发的难度,使模板开发变得轻而易举。 自主研发的中文分词技术,速度超过3MB/s,准确率达到90%以上,大大超过网上各种开源中文分词技术,几乎可 以和中科院的ICTCLAS相媲美,结合当前最成熟的Lucene的.net版本,实现了功能强大执行快速的全文检索引擎。 兼容性 兼容市面上所有主流浏览器(包括google Chrome浏览器) 演示地址: http://blog.muchool.com 官方下载: http://www.shinechain.com.cn/downloads/software.htm 在线查看完整源代码: http://www.muchool.com/project/X3BLOG_DYHB/1.1.0.beta1.htm 版本更新内容 * 使用开源UrlRewrite筛选器Ionic's Isapi Rewriter替换了商业的ISAPI Rewriter * 修正了一处安装为虚拟目录时的路径指向错误 * 加入了类似QQ空间的相册上下翻页功能 * 加入了大量的服务器端和脚本代码注释 * 实现对最新的Google Chrome浏览器的支持 * 优化了安装程序,杜绝了对安装目标设置ASP.NET版本是导致IIS进程崩溃的现象 * 解决了作为虚拟目录执行时的web.config继承问题 * 修正了多处目录指向错误 * 增加对虚拟目录的支持 * 加入了安装项目 * 修正了后太管理中上传图片不能访问的错误 后台用户名:admin 密码:123456
LxBlog 多用户博客个人主页系统,一套基于php+mysql 数据库平台架构的多用户博客系统,该系统融合了Blog的最新元素,拥有强大的个人主页系统,独立的二级域名功能,灵活的用户模版系统,丰富的朋友圈和个性相册功能。 部分修正改进功能 1.改进个人页面的日志列表页的摘要 2.改进相册个人后台发表方式 3.改进音乐前台列表页为显示歌曲列表,点击试听后弹出播放窗口,取消音乐上传 4.改进个人首页中显示所加入朋友圈的更新信息功能  5.改进最新推送的文章在朋友圈的其他圈友中显示功能  6.改进日志同时推送到多个朋友圈的支持功能 7.改进朋友圈系统页列表、会员排行列表 8.改进朋友圈系统页 9.改进圈主推荐文章列表 10.改进写朋友圈写文章功能,即在圈子中加入"写文章"功能,转入个人后台编写,写文章后默认推送到该圈子 11.改进朋友圈邀功能 12.改进头像大小控制 13.改进书签功能 部分新增功能: 1.增加日志、评论、留言表情 2.增加验证问题 3.增加在article.php页面中和该文章tag相关的文章 4.增加tags广告词锁定 5.增加列表页"隐藏日志","好友可见日志" 链接. 6.增加心情,天气在发表日志页 7.增加"上一篇","下一篇",在文章阅读页 8.增加"转移个人分类"功能,在个人后台日志列表页 9.增加日志管理的搜索功能 10.增加附件批量上传 11.增加文件和商品集成格式在日志发布过程中 12.增加相册前台图片列表页,单个图片显示页面 13.增加相册个人页面单图显示页面功能,增加图片播放器 14.增加短消息功能 15.增加系统首页博客文章、人数、今日文章数、评论数量的显示 16.增加最新博客内容在论坛首页的显示 17.增加个人分类在论坛推送到blog的文章 18.增加推送设定,即当博客向论坛推送时,管理员可以设置只允许推送至哪个或者哪些版块 19.增加随机访问列表 20.增加好友日志更新列表,在个人日志页面 21.增加可视化风格编辑 22.增加论坛文集 23.增加找回密码功能 24.增加好友分类 25.增加摘要分界符 26.增加自定义关键字链接 27.增加博主回复评论 28.增加转载功能
支持二级域名功能,让您拥有属于自己的域名 注册用户可以免费获得以用户名开头的二级域名 使用个人二级域名可以直接访问博客个人主页 使用论坛整合接口,让博客论坛容为一体 在论坛里可以设置用户组权限,让特定的用户组有权限使用博客个人主页系统 用户在论坛里浏览自己的主题时可选择将帖子推送到自己的博客主页中去 在博客用户控制版面里,用户可以使用帖子推送功能,将自己在论坛里发表的优秀文章收藏到自己的博客主页中 实现与论坛数据整合 如果您已经拥有一个论坛帐号或注册了一个论坛帐号,无须再次注册即可登陆博客系统 如果您在博客系统中注册一个博客帐号,无须再次注册即可登陆论系统 功能强大的个人主页系统 拥有二级域名,个人日志,相册系统,播放音乐,放置flash特效等功能 搜索功能 强大博客的搜索功能,让您快速的寻找您要查看的博客和文章 轻松架设博客门户站点 提供便捷的内容调用功能,内容丰富的站点首页和分类页面,文章分类浏览功能 可访问个人主页内容,分享他人的博客主页 朋友圈功能 创建一个朋友圈,邀几个知心朋友,谈天说地,享受网络交流的便捷 可自定义编辑的用户模版系统 功能强大的用户风格定制功能,用户可以通过简单的后台操作制作出多种多样的风格,新的风格定制功能为每个模块提供了背景颜色,背景图片,字体颜色,字体大小,边框样式等属性设置,您还可以为你的博客主页设置个人化的头部logo,所有图片(背景图片,头部logo等)可以选择系统提供的图片或使用自定义图片 论坛文章推送功能 管理自己的发表的文章,可以将优秀的文章加入到自己的博客主页中,永久收藏 您也可以在浏览主题的时候选择将主题推送到您的博客主页中 个人相册系统 支持多相册功能,可将您的相片分类收藏,方便查询和浏览,支持相片上传和使用URL地址两种方式保存相片 统计被博客查看次数 记录博客被查看次数,让您了解您的博客受人关注程度
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值